“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 "`ftcJUd
v82wnP-~7
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 FGi7KV=N
n1PptR
以下是用不同语言写成的Hello World程序的几个例子: 94-BcN
Ada +4-T_m/W/
with Ada.Text_Io; use Ada.Text_Io; U,P>P+\@
procedure Hello is o,WjM[e
begin ,40OCd!
Put_Line ("Hello, world!"); '?Dxe
B
end Hello; f(pq`v^-n
[XY%<P3D
J-
S.m(
汇编语言 ;(?tlFc
Dsm1@/"i|7
x86 CPU,DOS,TASM s21}
a,eB
MODEL SMALL 67iI wY*8'
IDEAL xuvW6Q;
STACK 100H G{!er:Vwdh
jTR?!Mt0
DATASEG D#LV&4e>.E
HW DB 'Hello, world!$' r>fGj\#R =
{]+t<
CODESEG Sy VGm@
MOV AX, @data Y]SF0:v!n
MOV DS, AX o*H U^
MOV DX, OFFSET HW esJ7#Gxt
MOV AH, 09H 1*=ev,Z
INT 21H j"nOxs
MOV AX, 4C00H s A,bR|
INT 21H bvtpqI QZ
END &MSU<S?1
lBbb7*Ljt<
P)K$+oo
x86 CPU,GNU/Linux,NASM nq{/fD(2
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). dO82T3T
;Enter this into "hello.asm" then type: ^+76^*0
;"nasm -f elf hello.asm" e>z"{ u(F0
;"ld hello.o -o hello" :rL%,o"
;"./hello" 2#7|zhgb
Zkd{EMW
section .data ;data section declaration \o!3TK"N
msg db 'Hello World!',0AH Q7uJ9Y{X
len equ $-msg ;string length 96^aI1:
lndz
section .text ;code section declaration /i"hViCrlG
global _start ;entry point (start of execution) &q>8D'
_start: mov edx,len ;string length e\C-a4[C8P
mov ecx,msg ;string start $/M-@3wro
mov ebx,1 ;file handle: stdout Z
i6s0Uck
mov eax,4 ;sys_write hty'L61\z
int 80h ;kernel system call fLe~X!#HF
ZoXz@/T
mov ebx,0 ;return value z&gmaYwq
mov eax,1 ;sys_exit (S!UnBb&
int 80h ;kernel system call kxhsDD$@p
59oTU
K[y")ooE<j
x86 CPU,Windows,MASM32 vR\E;V
.386 w||t3!M+n
.model flat,stdcall D<J'\mo
option casemap:none 8lV:-"+5
;Include 文件定义 t.ulG
*
include windows.inc K+`GVmD
include user32.inc NTt4sWP!I
includelib user32.lib bJ_rU35s>
include kernel32.inc hH`x*:Qja
includelib kernel32.lib iI<c
;数据段 tL OGj?/r
.data Gk~aTO
szCaption db 'A MessageBox!',0 r)|~Rs!y,
szText db 'Hello,world!',0 2uEI@B
;代码段 T!H(Y4A
.code .h W>#
start: XN<!.RCw
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK Z^V;B _
invoke ExitProcess,NULL h*VDd3[#
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> j~N*T XkC
end start H=BI%Z
9:{<