“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 mr.DP~O:9p
rNp#5[e
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 6>J#M
2wvDC@
以下是用不同语言写成的Hello World程序的几个例子: eQj/)@B:V
Ada gu&oCT
with Ada.Text_Io; use Ada.Text_Io; net9KX4\
procedure Hello is $vz%
begin ^Yz05\
Put_Line ("Hello, world!"); ZZ7U^#RT
end Hello; e vuP4-[y
=<xbE;,0
k=_@1b-
汇编语言 DcHMiiVM
z& jDO ex
x86 CPU,DOS,TASM \$"Xr
MODEL SMALL CVp<SS(
IDEAL F{tSfKy2
STACK 100H L~~Yh{<
cw{[B%vw
DATASEG Y?cw9uYB
HW DB 'Hello, world!$' v^'~-^s
iSHl_/I<
CODESEG nrBitu,
MOV AX, @data !f6
MOV DS, AX :DJ@HY
MOV DX, OFFSET HW w4a7c
MOV AH, 09H v(~m!8!TI
INT 21H *E'K{?-K
MOV AX, 4C00H wt;aO_l
INT 21H UtN>6$u
END Y[4B{
ow"Xv
RUKSGj_NJ
x86 CPU,GNU/Linux,NASM FO$Tn+\ 6
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). -&}E:zoe
;Enter this into "hello.asm" then type: ,vPF=wq
;"nasm -f elf hello.asm" qzz'v
;"ld hello.o -o hello" M5uN1*
;"./hello" !4:,,!T
oDa{HP\O]W
section .data ;data section declaration TZg7BLfy
msg db 'Hello World!',0AH _!7o
len equ $-msg ;string length u7d]%<~'$F
605|*(
section .text ;code section declaration KJ_R@,v\
global _start ;entry point (start of execution) l.$#IE
_start: mov edx,len ;string length T!bu}KO
mov ecx,msg ;string start se[};t:
mov ebx,1 ;file handle: stdout [eRMlSXA
mov eax,4 ;sys_write Ay]5GA!W+
int 80h ;kernel system call "RLb wm~
>Fz$DKr[
mov ebx,0 ;return value HV@:!zM
mov eax,1 ;sys_exit {QID @
int 80h ;kernel system call P>|2~YxjU
hh9{md\
Cx[4
/~_<
x86 CPU,Windows,MASM32 iq$/6!t
.386 /eQn$ZRP,
.model flat,stdcall %L3]l
option casemap:none Pp2)P7
;Include 文件定义 "dOzQz*E
include windows.inc eAMT7 2_
include user32.inc zKNk(/y
includelib user32.lib *rLs!/[Z_
include kernel32.inc )T?ryp3ev
includelib kernel32.lib lS^0*(Y
;数据段 @zbXG_J
.data }8HLyK,4
szCaption db 'A MessageBox!',0 AM>:AtY
szText db 'Hello,world!',0 JFZ p^{
;代码段 bb{+
.code 8{C3ijR
start: mX89^
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK fvDwg
invoke ExitProcess,NULL *M:Bhw
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DN+`Q{KS
end start n[@Ur2&