“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 Y5mk*Q#q
h{ EnS5~
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 !}"P Hby5N
2kFP;7FO
以下是用不同语言写成的Hello World程序的几个例子: `]/0&S
Ada ' |yBz1uL
with Ada.Text_Io; use Ada.Text_Io; j4(f1
procedure Hello is
G98f Bw
begin *E/CNMn=E
Put_Line ("Hello, world!"); EPEn"{;U
end Hello; Z/e[$xT <
`TDS4Y
_G^ 4KwYp
汇编语言 -x>2Wb~%
RAxp2uif
x86 CPU,DOS,TASM CL!s #w1I\
MODEL SMALL 0y;1Dk!
IDEAL S\2@~*{-8
STACK 100H qcBamf
AnBD~h h
DATASEG z{U^j:A
HW DB 'Hello, world!$' |7miT!y8
4tp}
CODESEG ~=$d>ZNQ
MOV AX, @data c 1{nOx
MOV DS, AX #b;TjnC5{$
MOV DX, OFFSET HW i%r+/D)KvG
MOV AH, 09H Z4T{CwD`D
INT 21H L5]uT`Twa
MOV AX, 4C00H qI2&a$Zb$
INT 21H `k9a$@Xg
END )6U^!95
$
3.Y2&$T
Y0o{@)Y:
x86 CPU,GNU/Linux,NASM }};AV)}J
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). R, UYwI
;Enter this into "hello.asm" then type: ebf/cCh
;"nasm -f elf hello.asm" F||oSJrI
;"ld hello.o -o hello" !z+'mF?V+X
;"./hello" -&LF`V&3w
x0dBg~I
section .data ;data section declaration .JWN\\
msg db 'Hello World!',0AH 6{[ uCxxl
len equ $-msg ;string length KzZRFEA_
x 4`RKv2m
section .text ;code section declaration Mg\8m-L^
global _start ;entry point (start of execution) rJCu6
_start: mov edx,len ;string length \~>7n'd ]
mov ecx,msg ;string start kcl Z+E
mov ebx,1 ;file handle: stdout iGIry^D
mov eax,4 ;sys_write ?Pt*4NaT;
int 80h ;kernel system call (ZD~Q_O-
~Z;.np(T
mov ebx,0 ;return value p3cb_
mov eax,1 ;sys_exit 1Zgv+.
int 80h ;kernel system call %Lfy!]Ru
yO J|t#
F%:o6mT
x86 CPU,Windows,MASM32 6LzN#g
.386 ])Z p|?Y
.model flat,stdcall W!b'nRkq
option casemap:none |k/;1.b!9(
;Include 文件定义 -^$IjK-N
include windows.inc sbq:8P#
include user32.inc ?#/~BZR!
includelib user32.lib tr%VYc|}
include kernel32.inc "0?"
E\
includelib kernel32.lib xbZR/!?
;数据段 T2ZN=)xZ1
.data s[u*~A
szCaption db 'A MessageBox!',0 f/^T:F6
szText db 'Hello,world!',0 -nGLmMvd
;代码段 d{c06(#_
.code #9]O92t2UV
start: J L2g!n=
K
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK 'LLpP#(
invoke ExitProcess,NULL $8NM[R.8^4
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> `Wp& 'X
end start aj$&~-/
R
D4U<Rn6N_5
|DXi~
AWK )3)fq:[
BEGIN { print "Hello, world!" } 9_J'P2e
d@+u&xrd
*XluVochrb
BASIC NV;T*I8O
传统版BASIC(例如GWBASIC): A=BT2j'l)
$`"$ZI6[
10 PRINT "Hello, world!" 8:"s3xaO3
20 END NxN~"bfh
Z"
dU$,n
或在提示符输入: YZ/2:[b
'F Cmbry
?"Hello, world!":END )bK3%>H#
}ykc
AK3U
现代版BASIC(例如Quick BASIC): Y?JB%%WWI
X"Q\MLy
Print "Hello, world!" $&.
rS.*
p!+bn,?G
以下的语句在Quick BASIC中同样有效: W$Z8AZ{E
Ca#T?HL
? "Hello,world!" &