“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 |Rk9W
)lB 3U
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 E$!0h_.(
6_xPk`m
以下是用不同语言写成的Hello World程序的几个例子: qI (<5Wxl
Ada :K
J#_y\rt
with Ada.Text_Io; use Ada.Text_Io; )> >Tj7
procedure Hello is phk fPvL{
begin W>[0u3
Put_Line ("Hello, world!"); ;J<K/YdI
end Hello; 4I&e_b< 30
.%Pt[VQ
a@+n
汇编语言 W`auQO
cPu<:<F[
x86 CPU,DOS,TASM 0i%r+_E_
MODEL SMALL ).IB{+
IDEAL NmbA~i
STACK 100H vxN,oa{hf
G!Gbg3:4e5
DATASEG P[Q3z$I}
HW DB 'Hello, world!$' ~\uI&S5
S:b-+w|*
CODESEG ]dvNUD
MOV AX, @data m[l[yUw#
MOV DS, AX _4+'@u
#
MOV DX, OFFSET HW E+'P|~>oX
MOV AH, 09H /<"<N<X
INT 21H xcf`i:\
MOV AX, 4C00H _6O\*|'6
INT 21H $eqwn&$n
END p>9-Ga
acG4u+[ ]
s1"dd7&g'
x86 CPU,GNU/Linux,NASM `?M?WaP
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). p1}m_
;Enter this into "hello.asm" then type: quky m3F
;"nasm -f elf hello.asm" <,:p?36
;"ld hello.o -o hello" "CH3\O\
;"./hello" L_ &`
',>Pz+XKc
section .data ;data section declaration jPu m2U_
msg db 'Hello World!',0AH YoU|)6Of
len equ $-msg ;string length ],.1=iY
DAvF ND$=
section .text ;code section declaration +c&oF,=}!P
global _start ;entry point (start of execution) ?^f=7e8]
_start: mov edx,len ;string length '=eG[#gy
mov ecx,msg ;string start
lxVA:tz0
mov ebx,1 ;file handle: stdout APR"%(xD#
mov eax,4 ;sys_write n\/ JNzd3
int 80h ;kernel system call 6$.I>8n
(-e*xM m
mov ebx,0 ;return value tV'>9YVdG
mov eax,1 ;sys_exit F0i`HO{
int 80h ;kernel system call 1ha
8)L
*PSUB{i(
~d.Z.AD
x86 CPU,Windows,MASM32 =eHoJq
.386 =PQMd
.model flat,stdcall 8(jUCD
option casemap:none \7\7i-Vo
;Include 文件定义 !Au@\/}
include windows.inc bx XNv^
include user32.inc s+omCr|H;A
includelib user32.lib igGg[I1?
include kernel32.inc %k+G-oT5
includelib kernel32.lib W08rGY
;数据段 RkMs!M
.data z\F#td{ r
szCaption db 'A MessageBox!',0 $F#eD0|
szText db 'Hello,world!',0 #uc9eh}CWO
;代码段 ORdS|y;:
.code 26K sP .-
start: e]!`Cl-f80
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK 9P7^*f:E
invoke ExitProcess,NULL AJJa<c+j
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> P #PRzt
end start 7kT&}`g.
}M0GPpv
g]mR;T3
AWK rYn)E=FG/
BEGIN { print "Hello, world!" } *ydh.R<hb
C)z?-f
J^y}3ON
BASIC D\@)*"
传统版BASIC(例如GWBASIC): zn3]vU!
]iq2_{q
10 PRINT "Hello, world!" ag*5fBF
20 END Y<WA-dYoF
.{8?eze[m
或在提示符输入: Xus TU
T=W;k<P\k
?"Hello, world!":END s`$YY_
'<R::M,
现代版BASIC(例如Quick BASIC): <