“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 4ew#@
a/p
/<
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。
Wwo`R5
uF\f>E)/N%
以下是用不同语言写成的Hello World程序的几个例子: l#%G~c8x
Ada %KmhR2v
with Ada.Text_Io; use Ada.Text_Io; )u_[cEJHO
procedure Hello is *[wj )
begin L@LT *M
Put_Line ("Hello, world!"); 83YQ c
end Hello; V]A*' ke/
1ba* U~OEg
&<S]=\
汇编语言 hvU\l`m
$3 ~/H"K
x86 CPU,DOS,TASM }VXZM7@u
MODEL SMALL /7XVr"R
IDEAL D,;6$Pvg^
STACK 100H G_n~1?
yM*<BV
DATASEG $iAd)2LT
HW DB 'Hello, world!$' W2j@Q=YDS
C*,PH!$k
CODESEG a'A'%+2
MOV AX, @data $ &fm^1
MOV DS, AX ;CdxKr-d
MOV DX, OFFSET HW M/a5o|>8
MOV AH, 09H fIg~[VN"
INT 21H Av^<_`L:
MOV AX, 4C00H k8ej.
INT 21H A**PGy.Ni
END I=Xj;\b
\{M/Do:
5Gsjt+
o
x86 CPU,GNU/Linux,NASM [+Y;w`;Fq
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). Nc[V kJ]
;Enter this into "hello.asm" then type: ` z!?!"=
;"nasm -f elf hello.asm" 5!^DKyw:
;"ld hello.o -o hello" ,Taq~
;"./hello" -axV;+"b
?513A>U
section .data ;data section declaration rpO>l
msg db 'Hello World!',0AH F
{T\UX
len equ $-msg ;string length Gf1O7L1rX
DFFB:<
section .text ;code section declaration B(|dT66K
global _start ;entry point (start of execution) hO}nc$S
_start: mov edx,len ;string length nvnJVkL9s
mov ecx,msg ;string start ,}_uk]AQ
mov ebx,1 ;file handle: stdout \Z ms
mov eax,4 ;sys_write #mcU);s
int 80h ;kernel system call Kf-rthO
maTZNzy
mov ebx,0 ;return value TdH~sz
mov eax,1 ;sys_exit gdfG3d$4
int 80h ;kernel system call *Me{G y
bv8GJ #
T hLR<\
x86 CPU,Windows,MASM32 !`F^LXGA
.386 f'3sT(1&
.model flat,stdcall Kw^tvRt'*
option casemap:none f.y~ Sew
;Include 文件定义 `T;Y%"X!
include windows.inc -S %)2(f^
include user32.inc *<nfA}
includelib user32.lib v\?J$Hdd
include kernel32.inc K~JXP5`(
includelib kernel32.lib MW6KEiQ"
;数据段 fKZgAISF
.data koAM",5D
szCaption db 'A MessageBox!',0 jIs2R3B
szText db 'Hello,world!',0 #[{xEVf
;代码段 mjz<,s`D
.code bP ,_H
start: %!e;sL~&
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK PC}m.tE
invoke ExitProcess,NULL ;BMm47<
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rCa2$#Z
end start Vz,2_QJ
hu+% X.F4
lm;G8IP`
AWK ~
U,a?LR/
BEGIN { print "Hello, world!" } CAD:ifV
X@n\~[.B
{b6g!sE
BASIC vz_ZXy9Z
传统版BASIC(例如GWBASIC): kbkq.fYr
?nAKB5=
10 PRINT "Hello, world!" 3qc o2{nz
20 END P7iU_CgyW
gwepaW
或在提示符输入: eZWR)+aq
I^z$0
?"Hello, world!":END "gPAxt
`i)&nW)R
现代版BASIC(例如Quick BASIC): |ozlaj
TGJ\f
Print "Hello, world!" zUhJr$N$
WrGz`
以下的语句在Quick BASIC中同样有效: f{Dc R"
MYb^ILz H3
? "Hello,world!" aab?hR
HKdR?HM1
yNb
:zoT
BCPL sC .R.
GET "LIBHDR" D<