“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 _4g}kL02.
"%Lmgy:~
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 1gL8$.B?
)/i4YLO
以下是用不同语言写成的Hello World程序的几个例子: CVi<~7Am\
Ada 79y'Ja+`j
with Ada.Text_Io; use Ada.Text_Io; I *1#
procedure Hello is wN$uX#W|
begin KS8\F0q
Put_Line ("Hello, world!"); _GRv
end Hello; 7?*~oVZW
wP+'04H0
r]xdhR5
汇编语言 s'_$j$1
"F04c|oR<X
x86 CPU,DOS,TASM FUH*]U
MODEL SMALL Pm'.,?"
IDEAL sCuQB Z h
STACK 100H a'c9XG}
\"{/yjO|4
DATASEG H74NU_
HW DB 'Hello, world!$' &Qz"nCvJ
48W:4B'l9
CODESEG /o~
@VF:
MOV AX, @data Di]Iy
MOV DS, AX I]s:Ev[~
MOV DX, OFFSET HW t,UW&iLK
MOV AH, 09H cC*zj\O
INT 21H O7E;W| ]
MOV AX, 4C00H (%=lq#,
INT 21H {"Y]/6
END <%T%NjNPQ
>!CH7wX
mOgx&ns;j
x86 CPU,GNU/Linux,NASM >0[qi1
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). &L2`L)
;Enter this into "hello.asm" then type: T749@! v`z
;"nasm -f elf hello.asm" v#zfs'
;"ld hello.o -o hello" p=je"{
;"./hello" 47$-5k30
w4>:uyE
section .data ;data section declaration C _k_D
msg db 'Hello World!',0AH im_0ur&'
len equ $-msg ;string length -uS7~Ww.a
ZzwZ,(
section .text ;code section declaration 9~*_(yjF
global _start ;entry point (start of execution) r5<e}t-
_start: mov edx,len ;string length rGP?
E3
mov ecx,msg ;string start 4p0IBfVG
mov ebx,1 ;file handle: stdout xX[{E x
mov eax,4 ;sys_write LKoM\g(
int 80h ;kernel system call K'ed5J
u^;sx/
mov ebx,0 ;return value "y3dwSS
mov eax,1 ;sys_exit P<g|y4h
int 80h ;kernel system call _~(MA-l
kY0g}o'<
y^vfgP<@
x86 CPU,Windows,MASM32 S<)RVm,!e
.386 CgaB) `.
.model flat,stdcall 6-Vl#Lyb
option casemap:none Ra*k
;Include 文件定义 S@l
a.0HDA
include windows.inc %u<&^8EL+#
include user32.inc AX^3uRQJ
includelib user32.lib U{.+*e18
include kernel32.inc 'R-JQE-]
includelib kernel32.lib ;FIMCJS
;数据段 FlM.D u
.data ?`BED6$`G9
szCaption db 'A MessageBox!',0 Yn?2,^?N
szText db 'Hello,world!',0 3w6J V+?
;代码段 `"1{Sx.
.code zS>:7eG
start: lu9Ir>c
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK J_)z:`[yE
invoke ExitProcess,NULL Mf,Mcvs
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> }r\SP3
end start J,&