“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 l*\~ew
YyJ{
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 #DK3p0d
ZecvjbnVY
以下是用不同语言写成的Hello World程序的几个例子: zIm_7\e
Ada +5t
bK
with Ada.Text_Io; use Ada.Text_Io; H9san5{
procedure Hello is u|OzW}xb7j
begin it\DZGsg
Put_Line ("Hello, world!"); ^2C /!Y<
end Hello; 4`U0">gY
!H1tBg]5
M9s43XL(&
汇编语言 BF@5&>E
<{cNgKd9
x86 CPU,DOS,TASM 7{An@hNh
MODEL SMALL :`Uyn!w
IDEAL .-KtB(t
STACK 100H p>:ef<.i
[l':G ]
DATASEG 8@%mnyQ
HW DB 'Hello, world!$' R{)
Q1~H=q
a%T -Z.rd
CODESEG *m$PH"
MOV AX, @data %/y`<lJz(
MOV DS, AX rXY;m-
MOV DX, OFFSET HW 9:%n=U Rd
MOV AH, 09H !0ce kSesr
INT 21H }{5mH:
MOV AX, 4C00H UK6xkra?#
INT 21H iIsEQh
END p"[O#*p
Ts(t:^
yOWOU`y?
x86 CPU,GNU/Linux,NASM /Fe:h>6
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). ^Ue0mC7m
;Enter this into "hello.asm" then type: @n7t?9Bx
;"nasm -f elf hello.asm" (S
k#x
;"ld hello.o -o hello" U!c]_q
;"./hello" ,\o<y|+`S
tx0Go'{
section .data ;data section declaration .!(,$'(@=
msg db 'Hello World!',0AH mG831v?
len equ $-msg ;string length [IX*sr
k]?z~ p
section .text ;code section declaration gEv-> pc
global _start ;entry point (start of execution) Mlv<r=E
_start: mov edx,len ;string length LY-lTr@A^
mov ecx,msg ;string start 2yN%~C?$
mov ebx,1 ;file handle: stdout a`H\-G
mov eax,4 ;sys_write _+twqi
int 80h ;kernel system call hCzjC|EO~
{r={#mO;p
mov ebx,0 ;return value iOT)0@f'
mov eax,1 ;sys_exit $ph0ag+
int 80h ;kernel system call CQdBf3q
x*.Ye5Jb
aSOU#Csx
x86 CPU,Windows,MASM32 \\jIl3Z
.386 ?ork^4 $s
.model flat,stdcall 9~@<-6jE3b
option casemap:none &*B>P>x
;Include 文件定义 fNkuX-om
include windows.inc 8q?;2w\l
include user32.inc )`w=qCn1 Y
includelib user32.lib GDF{Lf)/v
include kernel32.inc 9Z&?R++?
includelib kernel32.lib xXF2"+
;数据段 h4f~5- Y
.data ~32Pjk~
szCaption db 'A MessageBox!',0 vXephR'
szText db 'Hello,world!',0
Dk6?Nwy"
;代码段 eY
T8$
.code ?^|QiuU:n
start: O -G1})$
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK TfJL+a0
invoke ExitProcess,NULL 1e/L\Y=m
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /I`3dWL
end start [*<.?9n)or
XdpF&B&K7Q
Zvxp%dES
AWK `)6>nPr7P
BEGIN { print "Hello, world!" } q0Xoj__c!A
!Cw!+fZ\l
RU6KIg{H
BASIC <"?*zx&