“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 H'2Un(#Al
n%%u0a%
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 4K<T_B/
?6>rQ6tBv
以下是用不同语言写成的Hello World程序的几个例子: `mo>~c7
Ada mj^]e/s%
with Ada.Text_Io; use Ada.Text_Io; w@Gk#
procedure Hello is :d`8:gv?
begin 6H:'_|G
Put_Line ("Hello, world!"); P6([[mmG
end Hello; h8-'I=~
{S=gXIh(y
$0wF4$)
汇编语言 |vf /M|
t1%<l
x86 CPU,DOS,TASM Q"QL#<N
MODEL SMALL .!`v2_
IDEAL z ;KUIWg
STACK 100H v:w $l{7
;DN:AgXP
DATASEG OK1f Y`$z
HW DB 'Hello, world!$' /&Vgo~.J
a"|\n_
CODESEG F?!
MOV AX, @data `<x|<ey
MOV DS, AX VjhwafYC
MOV DX, OFFSET HW AQe~F
MOV AH, 09H H,5##@X
INT 21H
?ybX&V
MOV AX, 4C00H GP._C=] ?c
INT 21H j9IeqlL
END b/Q\
.!
WKB@9Vfju
y+ZCuX
x86 CPU,GNU/Linux,NASM q=|0lZ$`V_
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). R404\XGL
;Enter this into "hello.asm" then type: sxBRg=
;"nasm -f elf hello.asm" Hz]
p]
;"ld hello.o -o hello" DJ#z0)3<p
;"./hello" {Vj25Gt
q7'[II;
section .data ;data section declaration 0Fi&7%
msg db 'Hello World!',0AH W2([vRT
len equ $-msg ;string length ok+-#~VTn
avI
section .text ;code section declaration &ivPY
global _start ;entry point (start of execution) }bxx]rDl
_start: mov edx,len ;string length `+go|
5N2
mov ecx,msg ;string start bAl0z)p
mov ebx,1 ;file handle: stdout 3ZKaqwK
mov eax,4 ;sys_write 9X2l H~C
int 80h ;kernel system call `'^&*
7,
/|.
|y
S9
mov ebx,0 ;return value wcI4Y0+J
mov eax,1 ;sys_exit WP-'gC6K=
int 80h ;kernel system call $3C$])k
UIl^s8/
F< #!83*%
x86 CPU,Windows,MASM32 =*u:@T=d5
.386 Gr
a(DGX
.model flat,stdcall ~"ij,Op,3
option casemap:none 3M&IMf,/@
;Include 文件定义 <(%cb.^c=N
include windows.inc w'b|*_Q4Q
include user32.inc |UO&18Y7-
includelib user32.lib h c9?z}
include kernel32.inc RL;>1Q,H
includelib kernel32.lib _Di}={1[.
;数据段 ]&D;'),
.data Q hHexr6
szCaption db 'A MessageBox!',0 ;%R+]&J
szText db 'Hello,world!',0 G2x5% `
;代码段 6c/Tm0[
.code #(`@D7S"
start: h""a#n)q}`
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK @e/40l|X
invoke ExitProcess,NULL t/baze;V
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> m ) 2t<
end start #VwA?$4g`
q;kN+NK64
Wo^r#iRko
AWK vG<JOxP
BEGIN { print "Hello, world!" } >iCkvQ
sO!YM5v8
Bi+a)_K
BASIC W,^(FR.
传统版BASIC(例如GWBASIC): uW,L<