“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 SWWeN#Q
<A`zK
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 o@47WD'm
J[ 7Sf^r
以下是用不同语言写成的Hello World程序的几个例子: p38RgEf
Ada UsQh+W"?
with Ada.Text_Io; use Ada.Text_Io; UrJrvx
procedure Hello is PyQ
P K,
begin /k O
<o&
Put_Line ("Hello, world!"); p%ZOLoc)Y
end Hello; % db
V3v/hV:
m:x<maP#E
汇编语言 mP[Z lS~"
/JbO $A
x86 CPU,DOS,TASM q)rxv7Iu\
MODEL SMALL ]7DS>%mY(
IDEAL Yx"un4
STACK 100H ]b'"l
Bb9/nsbE
DATASEG #L`'<ge'g*
HW DB 'Hello, world!$' P5Is#7udN8
m4~>n(
CODESEG u #Y#,:{
MOV AX, @data dk>qTY+j5
MOV DS, AX `*-rz<G
MOV DX, OFFSET HW mGP&NOR0^y
MOV AH, 09H >\4"k4d}
INT 21H R8N*. [
MOV AX, 4C00H Of.%rpgy
INT 21H bBg=X}9
END 7Q>bJ Ek7
!si}m~K!_
Q.i_?a
x86 CPU,GNU/Linux,NASM @aY>pr5!
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). HyGu3
;Enter this into "hello.asm" then type: A(6n- zL
;"nasm -f elf hello.asm" Pe?=M[u2
;"ld hello.o -o hello" fb|%)A=
;"./hello" /0z#0gNp
y*H rv
section .data ;data section declaration HVH <S
msg db 'Hello World!',0AH 7v]9) W=y
len equ $-msg ;string length 8d1r#sILI
,
G9{:
section .text ;code section declaration >eM>Y@8=
global _start ;entry point (start of execution) N.F//n
_start: mov edx,len ;string length ]o2 jS D
mov ecx,msg ;string start RcpKv;= iB
mov ebx,1 ;file handle: stdout ,,+iPGa<
mov eax,4 ;sys_write /v8yE9N_
int 80h ;kernel system call oxZXY]$y
P TMJ.;
mov ebx,0 ;return value s~>0<3{5
mov eax,1 ;sys_exit D/&nEMp6
int 80h ;kernel system call
`BzjDI:a
eJ+@<+vr;x
QA=mD^A
x86 CPU,Windows,MASM32 }UX0 eI4
.386 |f{(MMlj
.model flat,stdcall u{8:VX
option casemap:none Bv{DZ?{s
;Include 文件定义 Gy6PS{yY6t
include windows.inc &ieb6@RO`Q
include user32.inc " 3tk"#.#
includelib user32.lib e+O502]
include kernel32.inc :R1F\FT*
includelib kernel32.lib J. $U_k
;数据段 nxhn|v
.data ^?R8>97_?
szCaption db 'A MessageBox!',0 a?1Ml>R6P
szText db 'Hello,world!',0 'bn$"A"{o
;代码段 p-f"4vH
.code 'n/L1Fn
start: `EWQ>m+
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK ]US
invoke ExitProcess,NULL h[>Puoz
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nA#N ,^Rr
end start }s@vN8C
A;Av0@w
#u/5
nm
AWK oef]
BEGIN { print "Hello, world!" } <~}NxY\5
R
"qt}4m
cm17hPe`}n
BASIC |"aop|
传统版BASIC(例如GWBASIC): Ef\&