“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 ( #Z`
B`$L'
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 f-2$
L
8_H=^a>2
以下是用不同语言写成的Hello World程序的几个例子: _)$PKOzbb
Ada A\Txb_x
with Ada.Text_Io; use Ada.Text_Io; @^ ik[9^H
procedure Hello is Ovw[b2ii
begin QO{y/{
Put_Line ("Hello, world!"); MYe
HS
end Hello; 2eQdQwX
?y XAu0
%OcGdbs
汇编语言 Oq(VvS/
he+#Q6
x86 CPU,DOS,TASM (IbW;bV
MODEL SMALL [O
",
IDEAL vQ@2FZzu>
STACK 100H 8iC:xcN3
2WvN2"f3
DATASEG w'7R4
HW DB 'Hello, world!$' m+$ @'TbP
?v}Bd!'+P
CODESEG Uf*EJ1Ei
MOV AX, @data n,M)oo1G
MOV DS, AX ^4v*W;Q
MOV DX, OFFSET HW O(H1 P[
MOV AH, 09H H/~?@CE(YC
INT 21H mV9A{h
MOV AX, 4C00H K,xW6DiH
INT 21H w-N1.^
END @LD6:gy
[LM^),J?
>n.z)ZJ
x86 CPU,GNU/Linux,NASM m:Go-tk
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). >x:EJV
;Enter this into "hello.asm" then type: fvo<(c#Y#
;"nasm -f elf hello.asm" gd@p|PsS^
;"ld hello.o -o hello" J?:[$ C5
;"./hello" |f2A89
YJ7V`Np
section .data ;data section declaration !$XHQLqF2
msg db 'Hello World!',0AH dpN@#w
len equ $-msg ;string length }b["Jk\2
x4a:PuqmGG
section .text ;code section declaration 6er(% 4!
global _start ;entry point (start of execution) )E7 FA|
_start: mov edx,len ;string length ?T:
jk4+
mov ecx,msg ;string start zjX7C~h^Q
mov ebx,1 ;file handle: stdout ^DAa%u
mov eax,4 ;sys_write +zOOdSFk.
int 80h ;kernel system call zxZtz
zz$q5[n
mov ebx,0 ;return value &;q<M_<
mov eax,1 ;sys_exit `m%dX'0E
int 80h ;kernel system call GSVdb/+
`QP
~
{M~lbU
x86 CPU,Windows,MASM32 V`a+Hi<P\
.386 2C+(":=}
.model flat,stdcall OjnJV
option casemap:none R 4EEelSZu
;Include 文件定义 uf) Oy7FQ
include windows.inc JSMPyj
include user32.inc h%#_~IA:|
includelib user32.lib 4,eQW[;kk
include kernel32.inc CVKnTEs
includelib kernel32.lib E%k7wM {
;数据段 U
:9=3A2$x
.data j=sBq.S
szCaption db 'A MessageBox!',0 )GB`*M[
szText db 'Hello,world!',0 1IA5.@G:
;代码段 \MYU<6{u
.code KHj6Tg;)
start: 6!7Pm>ml
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK Y\t_&