“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 V)?x*R*T)
cVP49r}}v
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 qI V`zZc
!3X%5=#L4
以下是用不同语言写成的Hello World程序的几个例子: (PT?h>|St
Ada /bNVgK`L5
with Ada.Text_Io; use Ada.Text_Io; rfZj8R&
procedure Hello is ?w5nKpG#RI
begin P+zI9~N[
Put_Line ("Hello, world!"); q2j}64o_S
end Hello; C"m0"O>
k`4\.m"&
}Bod#|`
汇编语言 -Bwu$$0
KJvJUq
x86 CPU,DOS,TASM 3sg)]3jm2
MODEL SMALL 4Igs\x{i
IDEAL ;~1/eF
STACK 100H \%4+mgiD
^J5V!i$
DATASEG 2S10j%EeI
HW DB 'Hello, world!$' ``YL]
<<
$d??(
CODESEG YDzF( ']o:
MOV AX, @data HS&uQc a
MOV DS, AX !#|fuOWe
MOV DX, OFFSET HW T I7Ty+s
MOV AH, 09H g7Q*KA+
INT 21H 0Eg r
Q
MOV AX, 4C00H vM3|Ti>a'
INT 21H `_{'?II
END Vqp.jF1|
zl8\jP
+MoxvW6
x86 CPU,GNU/Linux,NASM q2U"k
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). <n~g+ps
;Enter this into "hello.asm" then type: 7Caap/L:
;"nasm -f elf hello.asm" Zz*mf+
;"ld hello.o -o hello" PQ#-.K
;"./hello" ]A<u eM
{8p?we3l1
section .data ;data section declaration d@`:9
G3
msg db 'Hello World!',0AH om39;nk!}
len equ $-msg ;string length =/'*(\C2
Pg8=
section .text ;code section declaration iuk8c.TAR
global _start ;entry point (start of execution) *M!YQ<7G^d
_start: mov edx,len ;string length \C\y'H5
mov ecx,msg ;string start C%o/
mov ebx,1 ;file handle: stdout <W|{)U?p
mov eax,4 ;sys_write }~,cCtg:o
int 80h ;kernel system call UHl/AM>!
o|n0?bThS-
mov ebx,0 ;return value a|{<#<6n(
mov eax,1 ;sys_exit (2\ekct ^
int 80h ;kernel system call UlZ)|Ya<M
Tu#k+f*s
1ZW'PXUZ
x86 CPU,Windows,MASM32 mb6?$1j
.386 l fhKZX
.model flat,stdcall ' g!_Flk
option casemap:none qvE[_1QCc
;Include 文件定义 <;Z~ vZ]
include windows.inc %.gjBI=
include user32.inc ~(P\F&A(&
includelib user32.lib %z_b/yG
include kernel32.inc Kyiez]T6%q
includelib kernel32.lib KFG^vmrn
;数据段 A/6nVn
.data EGO@`<"h
szCaption db 'A MessageBox!',0 uXa}<=O
szText db 'Hello,world!',0 S5vMP
N
;代码段 . ihn@eg
.code 4tu>~ vOE
start: AQGE(%X
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK BrmFwXLP"
invoke ExitProcess,NULL qiJ;v1
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> A+*(Pds
end start lFt{:HfX-
D"aQbQP
UsKn4Kh
AWK Q#bo!]H{t
BEGIN { print "Hello, world!" } itMc!bUQ
iJ#oI@s
Rzj!~`&N
BASIC I=I%e3GEm
传统版BASIC(例如GWBASIC): 3+PM_c)Y
z1A-EeT
10 PRINT "Hello, world!" .b)(_*
20 END )Em,3I/.l
FJ.
:*K[
或在提示符输入: A|nU
_*
\"j1fAD!
?"Hello, world!":END @&>
+`kgU-
h"m7r4f
现代版BASIC(例如Quick BASIC): 'm((G4
3Or3@e5r
Print "Hello, world!" ~<R~Q:T
c(JO;=,@9
以下的语句在Quick BASIC中同样有效: 2M`Ni&v
^<b.j.$<z
? "Hello,world!" .6(i5K
Z)4P>{
y5
+&