“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 !5}l&7:(MN
CY?G*nS?iK
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 z5Qs@dG
]+DI.%
以下是用不同语言写成的Hello World程序的几个例子: ExHAY|UA
Ada wyxGe<1
with Ada.Text_Io; use Ada.Text_Io; qJR!$?
procedure Hello is s,*c@1f?
begin ]J2:194
Put_Line ("Hello, world!");
,%#
end Hello; t j Vh^
T:asm1BC[
T_<BVM
汇编语言 t@?u
7yI@"c#O
x86 CPU,DOS,TASM 4YU/uQm
MODEL SMALL ALd;$fd qf
IDEAL VY 1vXM3y
STACK 100H _'x8M
24\gbv<
DATASEG O,V9R
rG
HW DB 'Hello, world!$' !$XHQLqF2
ekf$dgoR
CODESEG $<?X7n^
MOV AX, @data Vs0 SXj
MOV DS, AX K=u0nrG*
MOV DX, OFFSET HW ^DAa%u
MOV AH, 09H +zOOdSFk.
INT 21H GtI6[ :1t
MOV AX, 4C00H ^gro=Bp(
INT 21H iT)WR90
END W,hWOO
*8g<R
=F%RLpNU4
x86 CPU,GNU/Linux,NASM T>]sQPg
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). 1|y$~R.H
;Enter this into "hello.asm" then type: p_terD:
;"nasm -f elf hello.asm" _ptP[SV^j
;"ld hello.o -o hello" Fq,N
;"./hello" aSnp/g
*crw^e
section .data ;data section declaration Zy]s`aa
msg db 'Hello World!',0AH ]YD(`42 x
len equ $-msg ;string length 2g`[u|
M[Y4_$k<-
section .text ;code section declaration _3^y|_!
global _start ;entry point (start of execution) %JoxYy-
_start: mov edx,len ;string length .5hp0L}
mov ecx,msg ;string start JAb$M{t
mov ebx,1 ;file handle: stdout [Z}B"
mov eax,4 ;sys_write 2)LX^?7R
int 80h ;kernel system call 2>y:N.
t3F?>G#y
mov ebx,0 ;return value {/UhUG
mov eax,1 ;sys_exit @&R1wr1>I5
int 80h ;kernel system call af>3V( 7
)bW<8f2
_`aR_%Gx
x86 CPU,Windows,MASM32 Ee?;i<u
.386 5Hle-FDn9
.model flat,stdcall Y1r,2 k
option casemap:none i:Mc(mW
;Include 文件定义 p?Sl}A@`
include windows.inc $N\+,?
include user32.inc %h* 5xB]Tt
includelib user32.lib fPE ?hG<x
include kernel32.inc mU]s7` %<>
includelib kernel32.lib m`9^.>]P
;数据段 eY3=|RR
.data <d!6[,W;
szCaption db 'A MessageBox!',0 <9 },M
szText db 'Hello,world!',0 !GN Xt4D
;代码段 a/e\vwHLv
.code Jk*QcEE=
start: u9}!Gq
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK 7|~:P$M
invoke ExitProcess,NULL 3:" &Z6t#
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cs5ix"1A
end start \\iK'|5YG
(w2(qT&