“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 qGuz`&i
Ziuf<X{
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 z{pNQ[t1Z
4A^hP![c#]
以下是用不同语言写成的Hello World程序的几个例子: 7{RI`Er`
Ada Ev0GAc1
with Ada.Text_Io; use Ada.Text_Io; p^Ca-+R3
procedure Hello is EJjTf:
begin ;38W41d{
Put_Line ("Hello, world!"); :^0g}8$<
end Hello; y$r^UjJEO
MG>g?s'!
t;Jt+k~
汇编语言 IJ!]1fXy+
|xZDc6HDW
x86 CPU,DOS,TASM 33J}AK^FE
MODEL SMALL 9-o{[
IDEAL )b
m|],'
STACK 100H auAST;"Z8
0(|R NV_
DATASEG F+*>q
HW DB 'Hello, world!$' )wP0U{7?v
}r]WB)_w
CODESEG r/HKxXT
MOV AX, @data @I\Z2-J
MOV DS, AX SW(7!`
MOV DX, OFFSET HW t!c8c^HR
MOV AH, 09H aQCbRS6
INT 21H vY *p][$
MOV AX, 4C00H r=n|MT^O
INT 21H ?)<zrE5p
END aw/Y#
4D"IAI
|}^[f]
x86 CPU,GNU/Linux,NASM h#zx^F1
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). EAF<PMb
;Enter this into "hello.asm" then type: |.=Ee+HZ
;"nasm -f elf hello.asm" FRF3V>
;"ld hello.o -o hello" )~_!u}+:(
;"./hello" Tr)a6Cf
UYW%%5p?
section .data ;data section declaration v!t*Ng
msg db 'Hello World!',0AH Q}^
n
len equ $-msg ;string length (sS[F-2R7
C@pDX>~2=b
section .text ;code section declaration -4,qAnuMx
global _start ;entry point (start of execution) nuw90=qj!]
_start: mov edx,len ;string length q\O'r[&V
mov ecx,msg ;string start E?y0UD[8J
mov ebx,1 ;file handle: stdout NhCO C
mov eax,4 ;sys_write <3P?rcd,5K
int 80h ;kernel system call &|%z!x6 f
h?.6e9Y4
mov ebx,0 ;return value m{mK;D
mov eax,1 ;sys_exit +
h`:qB
int 80h ;kernel system call yZxgUF&`
wz.Il-sm
]O<Yr'
x86 CPU,Windows,MASM32 ]SBv3Q0D7
.386 3Aaj+=]W
.model flat,stdcall NTXT0:
option casemap:none ;&WN%L*
;Include 文件定义 }tft@,dIC
include windows.inc q]<Xx{_
include user32.inc ~Az20RrK)
includelib user32.lib dLD"Cx
include kernel32.inc aZ=WK4
includelib kernel32.lib 1)#<nk)I
;数据段 >G'
NI?$
.data o|]xj'
szCaption db 'A MessageBox!',0 j2qDRI
szText db 'Hello,world!',0 9`dQ7z.8t
;代码段 =)Ew6}
W6
.code >gFF>L>
start: _ H$Cm
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK T
fzad2}^
invoke ExitProcess,NULL i.cSD%*
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> uFSgjWJ#~
end start Xe=@I*
7Yk6C5C
L$ ]D&f8:
AWK X-Xf6&U