“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 VZhHO
d
0%W0vTvL
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 Q>%{Dn\?
PLV-De
以下是用不同语言写成的Hello World程序的几个例子: $2kZM4
Ada ;YfKG8(0
with Ada.Text_Io; use Ada.Text_Io; ?D\6@G:,#@
procedure Hello is q{c/TRp7
begin }hm"49,O
Put_Line ("Hello, world!"); X2PyFe
end Hello; +";<Kd -
pXE'5IIN
!GAU?J;<#2
汇编语言 (O(X k+L
KAFx^JLo
x86 CPU,DOS,TASM :TZ</3Sw
MODEL SMALL dlf nhf
IDEAL _rN1(=J
STACK 100H <N~&Leh
-W\1n#J
DATASEG [_X.Equ
HW DB 'Hello, world!$' (K74Qg
s(?A=JJ
CODESEG 4nz$Ja)
MOV AX, @data {F'~1qf
MOV DS, AX 5ns.||%k
MOV DX, OFFSET HW jE#&u DfI
MOV AH, 09H YCBcyE}p
INT 21H GV"X) tGo
MOV AX, 4C00H (Qp53g
INT 21H ,|7!/]0&
END gm1 7VrC
N
t-8[J
!A|ayYBb\
x86 CPU,GNU/Linux,NASM
%&81xAt
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). 8Buus
;Enter this into "hello.asm" then type: `,7;2ZG~O
;"nasm -f elf hello.asm" vNn$dc
;"ld hello.o -o hello" dBeZx1Dy
;"./hello" aGx[?}=
}rKKIF^f\S
section .data ;data section declaration g.:b\JE `
msg db 'Hello World!',0AH kw$*o
k
len equ $-msg ;string length 9^zA(
oScKL#Hu
section .text ;code section declaration tB<2mjg
global _start ;entry point (start of execution) v-MrurQ4
_start: mov edx,len ;string length vK7J;U+cJ
mov ecx,msg ;string start },& =r= B
mov ebx,1 ;file handle: stdout SmMJ%lgA6
mov eax,4 ;sys_write bkSI1m3
int 80h ;kernel system call D:I6nSoC
\)/dFo\l
mov ebx,0 ;return value RLE6=#4
mov eax,1 ;sys_exit Eo@b)h
int 80h ;kernel system call -udKGrT+
Gc0/*8u/
uupfL>h
x86 CPU,Windows,MASM32 sI% =G3o=
.386 ?>}&,:U}
.model flat,stdcall MVYf-'\^
option casemap:none Pf?zszvs
;Include 文件定义 h;RKF\U:"
include windows.inc E!6 Nf[
include user32.inc M!Wjfq
^~
includelib user32.lib a(|,KWHn
include kernel32.inc 92pl#Igt
includelib kernel32.lib qCUn.
mI
;数据段 F8En)#
.data rd0[(-
szCaption db 'A MessageBox!',0 t)n}S;iD
szText db 'Hello,world!',0 [Fo"MeH?R
;代码段 5a^b{=#Y
.code --'!5)U
start: bKb}VP
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK ><