“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 >4TO=i
MgZ/(X E
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 "oyo#-5z
VY-EmbkG-t
以下是用不同语言写成的Hello World程序的几个例子: \bXa&Lq
Ada yi[x}ffdE
with Ada.Text_Io; use Ada.Text_Io; 2?C)&
procedure Hello is E.h*g8bXe
begin b%+Xy8a
Put_Line ("Hello, world!"); zLQx%Yg!
end Hello; UMi~14& ;
+ {]j]OP
@7}W=HB
汇编语言 4g/dP^
F4QVAOM]U
x86 CPU,DOS,TASM F|8&
MODEL SMALL jXJyc'm7
IDEAL vN $s|R'@
STACK 100H T{"(\X$
+@UV?"d
DATASEG k6^Z~5
Sy
HW DB 'Hello, world!$' }p
V:M{Nu&
hH.G#-JO
CODESEG ceA9){
MOV AX, @data SbZ6t$"
MOV DS, AX crCJrN=
MOV DX, OFFSET HW z?zL9 7H
MOV AH, 09H 4-w{BZuS
INT 21H 2wn2.\v M
MOV AX, 4C00H 6!o1XQr=Z
INT 21H xw%0>K[
END <@}9Bid!o
:UdF
,4rPg]r@
x86 CPU,GNU/Linux,NASM 2%1hdA<
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). PF2nLb2-
;Enter this into "hello.asm" then type: *Ex|9FCt$
;"nasm -f elf hello.asm" =Qq+4F)MD
;"ld hello.o -o hello" '-6~tWC~7
;"./hello" E`q_bn
9mgIUjz
section .data ;data section declaration Tw%
3p=
msg db 'Hello World!',0AH E^PB)D(.
len equ $-msg ;string length a.'*G6~Qgw
|qLh5Ty
section .text ;code section declaration }G=M2V<L
global _start ;entry point (start of execution) /?!u{(h }
_start: mov edx,len ;string length `/g
UV
mov ecx,msg ;string start VQI3G
mov ebx,1 ;file handle: stdout c,22*.V/
mov eax,4 ;sys_write g`^x@rj`E
int 80h ;kernel system call _@g;8CA
zT/\Cj68
mov ebx,0 ;return value l2d{ 73h
mov eax,1 ;sys_exit d _
e WcI
int 80h ;kernel system call DlT{`
Q?T]MUY(L
E4!Fupkpf
x86 CPU,Windows,MASM32 Al'3?
.386 'S~5"6r
.model flat,stdcall \9d$@V
option casemap:none Q&&@v4L
;Include 文件定义 WHI`/FM
include windows.inc 4YHY7J
include user32.inc p'fYULYE
includelib user32.lib Je@v8{][|
include kernel32.inc 07)yG:q*x
includelib kernel32.lib '|4!5)/K
;数据段 8Y3I0S
.data F/Pep?'
szCaption db 'A MessageBox!',0 :EH=_"
szText db 'Hello,world!',0 t
Pf40`@
;代码段 6RM/GM
.code HThcn1u~^b
start: {|\.i
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK 0ksa
invoke ExitProcess,NULL Th[dW<