“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 o?>)CAo
^VQiq7 xm
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 U1Oq"Ij~
|kn}iA@72p
以下是用不同语言写成的Hello World程序的几个例子: Z(s}
#-
Ada
J0`?g6aY
with Ada.Text_Io; use Ada.Text_Io; 1{*x+GC^/
procedure Hello is _Uq'eZol
begin u[% #/
Put_Line ("Hello, world!"); j2z$kw%
end Hello; wBf
bpoE7
-M4#dHR_!
E?-K_p
汇编语言 :?,&u,8
{VFpfo
x86 CPU,DOS,TASM #Xc~3rg9
MODEL SMALL }v:h EMO
IDEAL WJ%b9{<
STACK 100H R$\ieNb
^m~=<4eX
DATASEG C]k\GlhB
HW DB 'Hello, world!$' [4gv_g
8/=2N
CODESEG L.5GX 29
MOV AX, @data c;WS !.
MOV DS, AX ?FLjvmE9
MOV DX, OFFSET HW =y<Fz*aA
MOV AH, 09H !j(R_wOq
INT 21H m+L:\mvA
MOV AX, 4C00H ;,<s'5icyg
INT 21H B::vOg77
END TZ/u"' ZS
"/q6E
wL{Qni3A
x86 CPU,GNU/Linux,NASM BjShK+Y
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). )_BteLo-
;Enter this into "hello.asm" then type: + 7Z%N9
;"nasm -f elf hello.asm" NIgt"o[I
;"ld hello.o -o hello" S+He
;"./hello" SXhJz=h
3TJNlS
section .data ;data section declaration ^t| %!r
G
msg db 'Hello World!',0AH cD 1p5U
len equ $-msg ;string length !({[^[!
WA<~M)rb
section .text ;code section declaration aW"BN 5eM>
global _start ;entry point (start of execution) F/&&VSv>LO
_start: mov edx,len ;string length KMZ% 1=a
mov ecx,msg ;string start S_)va#b#
mov ebx,1 ;file handle: stdout Dx8^V%b
mov eax,4 ;sys_write y(%6?a @
int 80h ;kernel system call )t|M)z J
].$N@tC
mov ebx,0 ;return value ]WS 7l@
mov eax,1 ;sys_exit {P*RA'H3G
int 80h ;kernel system call 6pH.sX$!_
2nf{2edC
6(eyUgnb
x86 CPU,Windows,MASM32 )!0>2,R1
.386 U+\\#5$
.model flat,stdcall ZqSczS7uf
option casemap:none i6[Hu8
;Include 文件定义 ~; MRQE
include windows.inc lwV#j}G
include user32.inc n|8fdiK#}
includelib user32.lib /m%;wH|6%
include kernel32.inc +Ix;~
includelib kernel32.lib
G=wJz
;数据段 1vX97n<}
.data YM5;mPR
szCaption db 'A MessageBox!',0 w|N LK
szText db 'Hello,world!',0 WXJ%bH
;代码段 se_1wCYz
.code 1"i/*}M
start: H=*;3gM,'
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK iZ&