“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 #zc$cr
.la_u8A]
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 o%$R`;
p`'3Il3
以下是用不同语言写成的Hello World程序的几个例子: `mquGk|)
Ada ]zI*}(adu
with Ada.Text_Io; use Ada.Text_Io; ;NGSJfn
procedure Hello is 66po SZR@
begin k?_uv
Put_Line ("Hello, world!"); k:&B
b"
end Hello; ]'z 5%'
`a@YbuLd
];QX&";Z
汇编语言 +t(Gt0+
{$C"yksr
x86 CPU,DOS,TASM l4^MYwFR{O
MODEL SMALL :6Gf@Z&+
IDEAL iq5-eJmq
STACK 100H W QeQ`pM
~le:4qaX
DATASEG 880T'5}S
:
HW DB 'Hello, world!$' %~N| RSec
\M*c3\&~,e
CODESEG gi8f)MNP?~
MOV AX, @data f;bfR&v
MOV DS, AX 5+/XO>P1m|
MOV DX, OFFSET HW #_: %Yd
MOV AH, 09H A!a.,{fZ
INT 21H Xzqx8Kd
MOV AX, 4C00H mC'<Ov<eJ
INT 21H v/,,z+%-
END "[CR5q9Pr
gc W'
YOY2K%o
x86 CPU,GNU/Linux,NASM @680.+Kw
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). T~d_?UAw$
;Enter this into "hello.asm" then type: UvL=^*tm
;"nasm -f elf hello.asm" 2hb>6Z;r]K
;"ld hello.o -o hello" 2Xv$
;"./hello" 6<YAoo
t]ID
section .data ;data section declaration 0 l+Jq
msg db 'Hello World!',0AH k
jx<;##R8
len equ $-msg ;string length :79u2wSh
{7EpljH@
section .text ;code section declaration w%%*3[--X
global _start ;entry point (start of execution) J #;|P-pt
_start: mov edx,len ;string length @$;I%
mov ecx,msg ;string start 0fN;
L;v
mov ebx,1 ;file handle: stdout h<g2aL21?F
mov eax,4 ;sys_write n_6#Df*
int 80h ;kernel system call 7_L$ XIa
+O7GgySx
mov ebx,0 ;return value HzAw
rC
mov eax,1 ;sys_exit g!`^!Q/($
int 80h ;kernel system call sLc,Dx"+
$IJ"fs
v
`;Hd8
x86 CPU,Windows,MASM32 H^jcWwy:
.386 Lv>O BHD
.model flat,stdcall ~b6c:db3
option casemap:none ].@8/. rg
;Include 文件定义 </2Cn@
include windows.inc @CKMJ^#|
include user32.inc q( %)^C
includelib user32.lib $,nidK!"
include kernel32.inc HgTBON(
includelib kernel32.lib
zw0u|q;#
;数据段 B3E}fQm )
.data yB4eUa!1
szCaption db 'A MessageBox!',0 GGsAisF"N
szText db 'Hello,world!',0 MKX58y{+
;代码段
4G j
.code `X(H,Q}*;
start: )c<[@::i
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK QvlVjDIy
invoke ExitProcess,NULL * b"aJ<+
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> V%voe
end start z -'e<v;w
/lc4oXG8
t V2o9!N4
AWK /#[mV(k
BEGIN { print "Hello, world!" } (Y
RAA,%rRhu(
AH^ud*3F
BASIC IB^vEY!`6_
传统版BASIC(例如GWBASIC): S) `@)sr
qCm8R@
10 PRINT "Hello, world!" Tz7|OV_W$
20 END i4)]lWnd
D&D-