“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 9*S9~
.1:B\R((
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 ig ^x%!;
! JauMR
以下是用不同语言写成的Hello World程序的几个例子: Zg3
/,:1
Ada eWr2UXv$
with Ada.Text_Io; use Ada.Text_Io; hO2W!68
procedure Hello is BU O8Z]
begin "..I$R
Put_Line ("Hello, world!"); Ae*
6&R4
end Hello; {Fvl7Sh
!l$k6,WJi
<C_FRpR<f
汇编语言 q4SEvP}fLx
LaYd7Oyf]
x86 CPU,DOS,TASM p^s:s-"f\
MODEL SMALL ZKJhmk
IDEAL l\37/Z
STACK 100H MxqIB(5k
y9~:[ jB
DATASEG ~Kt2g\BSok
HW DB 'Hello, world!$' 9vBW CCf
GsoD^mjY
CODESEG V*W H
MOV AX, @data [$@EQ]tt/
MOV DS, AX M9.FtQhK/
MOV DX, OFFSET HW i,mZg+;w
MOV AH, 09H 'yR\%#s6
INT 21H qb$M.-\ne
MOV AX, 4C00H $U"pdf
INT 21H GC[Ot~*_
END &hJQHlyJM0
_q}^#-
K.Y.K$NjP{
x86 CPU,GNU/Linux,NASM ]4B&8n!
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). mM'uRhO+
;Enter this into "hello.asm" then type: mZ g'
;"nasm -f elf hello.asm" i.gagb
;"ld hello.o -o hello" A+KpECP
;"./hello" -ZoAbp$
=vsvx{o?
section .data ;data section declaration a>&dAo}
msg db 'Hello World!',0AH Zd]ua_)I%[
len equ $-msg ;string length q}C;~nMD
23X-h#w
section .text ;code section declaration NbK67p:
global _start ;entry point (start of execution) I:M15
_start: mov edx,len ;string length ir~4\G!
mov ecx,msg ;string start |(=b
mov ebx,1 ;file handle: stdout $XcuU
sG
mov eax,4 ;sys_write "}b/[U@>
int 80h ;kernel system call sC_doh_M
h7PIF*7m
e
mov ebx,0 ;return value zh5ovA%
mov eax,1 ;sys_exit F.AP)`6+*
int 80h ;kernel system call P:UR:y([
NCVhWD21|
ywj'O
e41
x86 CPU,Windows,MASM32 ~<"{u-q#K
.386 7*r!-$
.model flat,stdcall 0GQKM~|H
option casemap:none nnTiu,2R
;Include 文件定义 A3|X`X
include windows.inc %<1_\N7
include user32.inc WH<\f|xR
includelib user32.lib f%yNq6l
include kernel32.inc (8(P12l
includelib kernel32.lib <m*j1|^{t
;数据段 >6|Xvtf
.data %?J-0
szCaption db 'A MessageBox!',0 &X,6v
szText db 'Hello,world!',0 B;t{IYhq{
;代码段 l4y>uZ>a
.code (Ft#6oK"
start: U%)*I~9
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK #'I<q
invoke ExitProcess,NULL >vDi,qmZ
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ]) #?rRw
end start s6!! ty;Y
ITZ}$=
{5(M
AWK }^`5$HEi
BEGIN { print "Hello, world!" } EJ(z]M`f
NW`Mc&
M&KJZ
BASIC /}S1e P6
传统版BASIC(例如GWBASIC): V]/$ dJ
:/6u*HwZh
10 PRINT "Hello, world!" T/tC X[}
20 END R#Z
m[S
6%&DJBU!
或在提示符输入: }x:}9iphF
J!H)[~2/
?"Hello, world!":END Q
822 #
5s<.qDc
现代版BASIC(例如Quick BASIC): N~DO_^
C\*0621
Print "Hello, world!" OKnpG*)u=g
&