“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 Al 1BnFB
BiI}JEp4o
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 ,oS<9kC68
2\, h "W(
以下是用不同语言写成的Hello World程序的几个例子: w=MiJr#3^
Ada %tC3@S
with Ada.Text_Io; use Ada.Text_Io; i<uWLhgh1$
procedure Hello is SB}0u=5
begin N@>o:(08
Put_Line ("Hello, world!"); w,qYT-R
end Hello; k6mC_
g Xi&
S
^KO=8m( )J
汇编语言 k),!%6\(
N5Rda2m
x86 CPU,DOS,TASM =SqI#v
MODEL SMALL HJ+I;OJ
IDEAL vE=)qn= a
STACK 100H f~{@(g&Gl
y%4G[Dz
DATASEG ^N`bA8
HW DB 'Hello, world!$' ZlxJY%oeu
s1| +LT,D
CODESEG 3duWk sERC
MOV AX, @data Z+ ?V10$
MOV DS, AX cm!|A)~
MOV DX, OFFSET HW V( A p|I:G
MOV AH, 09H yw3E$~ k
INT 21H }jWZqIqj
MOV AX, 4C00H S85}&\m&4
INT 21H Ebk_(Py\
END 5l
ioL)
FsdxLMwk1
*'&mcEpg
x86 CPU,GNU/Linux,NASM u(92y]3,
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). `+>'18F
;Enter this into "hello.asm" then type:
S_EN,2'e
;"nasm -f elf hello.asm" L@t}UC
;"ld hello.o -o hello" n fU\l<
;"./hello" Kf!8PR$
~=xS\@UY =
section .data ;data section declaration ?!$uMKyt
msg db 'Hello World!',0AH 1tMs\e-
len equ $-msg ;string length ,&X7D]
}&I^1BHZs
section .text ;code section declaration yu>DVD
global _start ;entry point (start of execution) @=kDaPme92
_start: mov edx,len ;string length /^F$cQX(
mov ecx,msg ;string start ]IZn#gnM
mov ebx,1 ;file handle: stdout M]JD(
mov eax,4 ;sys_write zLB7'7oP
int 80h ;kernel system call X\dPQwasM
~c*$w O\
mov ebx,0 ;return value 8ezdU"
mov eax,1 ;sys_exit G6?+Qzr
int 80h ;kernel system call 28N
v'
3TS(il9A
;E{k+vkqy
x86 CPU,Windows,MASM32 j>KJgSs]&\
.386 ]*M-8_D
.model flat,stdcall qbwX*E~;
option casemap:none ZI8*PX%2
;Include 文件定义 J4Tc q
include windows.inc B9glPcy}SS
include user32.inc }h PFd
includelib user32.lib $B3<"
include kernel32.inc |9X$@R
includelib kernel32.lib I2R"
Y<
;数据段 G?t<4MTv
.data yK #9)W-
szCaption db 'A MessageBox!',0 |_7AN!7j
szText db 'Hello,world!',0 ;>z.wol
;代码段 >%o\Ue
.code et$VR:
start: kkz{;OW
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK [-$ :XOO
invoke ExitProcess,NULL 37SbF,G
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 'p{N5eM
end start fA k]]PU
#_b
U/rk)*
nhm)P_p
AWK ? V0!N;
BEGIN { print "Hello, world!" } mEUdJvSG(
0L5n<<