“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 biTET|U`$
tDF=Iqu)a
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 fAHK<G4
@D<q=:k
以下是用不同语言写成的Hello World程序的几个例子: mJBvhK9%
Ada s68&AB
with Ada.Text_Io; use Ada.Text_Io; %E\&9,
procedure Hello is L0\97AF
begin
0G-M.s}A
Put_Line ("Hello, world!"); Jx#r
end Hello; `Zn2Vx
9[<,49
6#egy|("nF
汇编语言 5^"T`,${
}!tJ3G
x86 CPU,DOS,TASM CRK%%;=>
MODEL SMALL A#:5b5R
IDEAL %y(oY
STACK 100H m&EJ@,H
';g]!XsY)
DATASEG PP\nR
@
HW DB 'Hello, world!$' *\9JIi 2
dgb#PxOMH
CODESEG b2x8t7%O
MOV AX, @data *h=|KOS
MOV DS, AX Ep/kb-~-
MOV DX, OFFSET HW [nQ<pTg~r
MOV AH, 09H N1dp%b9W(
INT 21H 9cJzL"yi
MOV AX, 4C00H ]s3U +t?
INT 21H u="VJ3
END 9EryHV|
y/!h.[
a@[y)xa$Z
x86 CPU,GNU/Linux,NASM EAVB:gE
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). O gQE1{C
;Enter this into "hello.asm" then type: Y9h~ hD
;"nasm -f elf hello.asm" x1\a_Kt
;"ld hello.o -o hello" <S*o}:iB
;"./hello" GEr]zMYG[A
'g<0MOq{
section .data ;data section declaration seT?:PCA
msg db 'Hello World!',0AH `^t0379e
len equ $-msg ;string length m"MTw@}SJ;
v!oXcHK/
section .text ;code section declaration Dps0$fc
global _start ;entry point (start of execution) J1,\Q<
_start: mov edx,len ;string length TCW[;d
mov ecx,msg ;string start m791w8Vr
mov ebx,1 ;file handle: stdout 9UD~$_<\
mov eax,4 ;sys_write SKx&t-
int 80h ;kernel system call B>dXyo
CO25
mov ebx,0 ;return value XdKhT61 8G
mov eax,1 ;sys_exit 2jQ|4$9j
int 80h ;kernel system call h= uv4&
OidF{I*O
wyqXD.of
x86 CPU,Windows,MASM32 3Lx]-0h
.386 S|U/m m
.model flat,stdcall bL`O k
option casemap:none p4k*vuu>
;Include 文件定义 ISy\g`d`C
include windows.inc &5fM8Opkd
include user32.inc vi+k#KE
includelib user32.lib 92}UP=RW!
include kernel32.inc a0y7a/@c
includelib kernel32.lib >3HLm3 T
;数据段 6 /T_+K.k
.data YN
Lc )
szCaption db 'A MessageBox!',0 '5V2{k$4U
szText db 'Hello,world!',0 qq0bIfF\4
;代码段 tlo"tl_]
.code =;(w Bj
start: pgg4<j_mn
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK _h#SP+>
invoke ExitProcess,NULL !o.l:Mr
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *M*:3v
0
end start vO#4$,
!MNo
8dC;
86J7%;^Xa
AWK E}S)uI,gn
BEGIN { print "Hello, world!" } I 2JE@?
?(Dk{-:T'
RC5b'+E