“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 JWv{=_2w
En6H%^d2
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 1u|V`J)0
t*G/]
以下是用不同语言写成的Hello World程序的几个例子: ka"337H
Ada ~rD={&0
with Ada.Text_Io; use Ada.Text_Io; 8X$LC
procedure Hello is C/=XuKE-t
begin e`K)_>^n#
Put_Line ("Hello, world!"); LD>\#q8a*
end Hello; *Dmx&F=3,5
yxt[=
C
yX!HZu;j
汇编语言 C&~1M}I
=1p8i
x86 CPU,DOS,TASM Rp9fO?ZjHt
MODEL SMALL &?,6~qm[
IDEAL ?GA&f2]a
STACK 100H ORN6vX(1
"LhvzM-<8
DATASEG "O[j!fG8,
HW DB 'Hello, world!$' N587(wZ
o>Er_r
CODESEG 6w[}&pX"z
MOV AX, @data j*v40mXl`2
MOV DS, AX ? "/ fPV-
MOV DX, OFFSET HW Iu@y(wyg
MOV AH, 09H -r7]S
INT 21H SqA
J-_~
MOV AX, 4C00H A{ eL l
INT 21H +rXF{@
l
END E
Y<8B3y
sP@X g;]
b5G}3)'w
x86 CPU,GNU/Linux,NASM 6K`c/)
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). `d]IX^;
;Enter this into "hello.asm" then type: |RkcDrB~
;"nasm -f elf hello.asm" Q/ms]Du
;"ld hello.o -o hello" N6OMYP1
;"./hello" /93l74.w
wC_l@7t
section .data ;data section declaration epHJ@ W@#
msg db 'Hello World!',0AH j@gMbiu
len equ $-msg ;string length >'uU)Y{
}A=y=+4j
section .text ;code section declaration 4+$b~u
global _start ;entry point (start of execution) #oeG!<Mn
_start: mov edx,len ;string length {6 6sB{P
mov ecx,msg ;string start a ]Eg!Q
mov ebx,1 ;file handle: stdout A>`945|
mov eax,4 ;sys_write 51C2u)HE
int 80h ;kernel system call GNf 482
fWc|gq
mov ebx,0 ;return value ;22l"-F
mov eax,1 ;sys_exit l>gI&1)%
int 80h ;kernel system call LVJI_ O{fH
7hW+T7u?
._w8J"E5
x86 CPU,Windows,MASM32 :<Y}l-x
.386 [D-Q'"'A
.model flat,stdcall 9^"b*&>P
option casemap:none g"s$}5{8:
;Include 文件定义 C?ib_K*
include windows.inc 1"7Sy3
include user32.inc i,A#&YDl
includelib user32.lib {Gq*e/
include kernel32.inc <ljI;xE
includelib kernel32.lib %CwL:.|
;数据段 n% 'tKU\q
.data \Ng\B.IQ
szCaption db 'A MessageBox!',0 ?"#%SKm
szText db 'Hello,world!',0 QxuhGA
;代码段 0~wF3BgV
.code 9SlNq05G7
start: eI.2`)>
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK -9
!.m
invoke ExitProcess,NULL RIu~ @
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> EN{]Qb06A
end start !Cgx.
" 96yp4v@
%*aJLn+]_R
AWK CQ`=V2:"ON
BEGIN { print "Hello, world!" } LE5.b]tv2
~R$~&x