“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 rW)h?, b
%"0, o$
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 xvV";o
TI'v /=;)
以下是用不同语言写成的Hello World程序的几个例子: =#2c
r:1
Ada ;cXw;$&D
with Ada.Text_Io; use Ada.Text_Io; Bn7uKa{P
procedure Hello is J?9jD:x
begin Ipk;Nq
Put_Line ("Hello, world!"); S MWXP
end Hello; KLyRb0V
5MVa;m
R9U{r.AA
汇编语言 3>KEl^1DB
p?i.<Z
x86 CPU,DOS,TASM fOV_ >]u
MODEL SMALL } ?j5V
IDEAL B?! L~J@p
STACK 100H 6Ijt2c'A}
W:_-I4q~
DATASEG ISGw}# }]?
HW DB 'Hello, world!$' Vh^y6U<
^ Oh
CODESEG k7^hcth
MOV AX, @data \rS*\g:i
MOV DS, AX 4j#y?^s
MOV DX, OFFSET HW N1$u@P{
MOV AH, 09H ,^:{!?v
INT 21H n93q8U6m/U
MOV AX, 4C00H d=D-s
INT 21H k,:W]KD
END =Kd'(ct
tm+*ik=x|
pey=zR!
x86 CPU,GNU/Linux,NASM G?s9c0f
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). o;$xN3f,
;Enter this into "hello.asm" then type: $G".PWc
;"nasm -f elf hello.asm" Q;]JVT1
;"ld hello.o -o hello" KqK]R6>
;"./hello" UzxL" `^7
YzESVTh
section .data ;data section declaration GbSCk}>
msg db 'Hello World!',0AH P8eCaZg?(3
len equ $-msg ;string length }bb,Iib
gXxi; g
section .text ;code section declaration <Ht"t]u*Bn
global _start ;entry point (start of execution)
?9`j1[0
_start: mov edx,len ;string length 1Gsh%0r3
mov ecx,msg ;string start /eV)5`V
mov ebx,1 ;file handle: stdout V$?6%\M^*
mov eax,4 ;sys_write W/qXQORv
int 80h ;kernel system call [d`E9&Hv3
KN}#8.'>3
mov ebx,0 ;return value E_
wVAz3
mov eax,1 ;sys_exit `
,\b_SFg
int 80h ;kernel system call ("8 Hku?
!"N,w9MbD
/6')B !&
x86 CPU,Windows,MASM32 ,"EaZ/Bl/
.386 2lTt
.model flat,stdcall (!*
l+}
option casemap:none *ERV\/
;Include 文件定义 "t0^4=c+7
include windows.inc J :O!4gI
include user32.inc _%e8GWf
includelib user32.lib Xdn&%5rI
include kernel32.inc B4y_{V
includelib kernel32.lib ZC?~RXL(
;数据段 t<45[~[
.data \n{#r`T
szCaption db 'A MessageBox!',0 &<t%u[3
szText db 'Hello,world!',0 0>28o.
;代码段 ;/Hr ZhOE
.code $gl|^c\
start: zG9FO/@av
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK cXq9k!I%
invoke ExitProcess,NULL %g9ym@s
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0z>IYw|UB
end start `=(<!nXJx
C~ &E7w