这三个数字组成的二进制文件长仅为ฦ6字节:
485abf7810f5
假定你正在用汇编语言设计程序,程序中使用了寄存器a、b和c。但在编程过程中,你
现此程序需要去做另一件事—一个小的计算,其中也要使用寄存器a,、bຘ、cນ。而你最终
load10h
store11้h
011
1้10
术展的结果。19世纪早期,你可以即时通信和远距离通信,但不能同时达到两个ฐ要求。即
时通信只能限制在你的声音能达到เ没有扩音器可用或是你的眼睛能看到也许得用望远
begin
print'thisismyfistalgolprogram!';
ende
可以用algol编译程序来编译firstalg程序,操作如下:
algolfirstalg
algol编译程序的响应可能是显示类似于下面的内容:
line3:unre9de'
algol对拼写的挑剔不亚于传统的英语教师。在输入程序时若拼错了单词end,编译程
序则会告知程序有一个语法错误。当它碰到ende时,它希望那是它可以识别的关键字。
修改了错误以后,可以再运行algol编译程序。有时,编译程序会直接生成一个可执行
文件名为firstcນom,或者是ms-dos下的firstexe;有时,还需要进行另一个步骤。
无论怎样,你都可以从命令行运行first程序:
第2๐4章高级语言和低级语言25๓5
下载
first
first程序的响应是显示:
thisismyfistalgolprogram!ำ
糟糕!还有一个拼写错误。这是一个编译程序不能ม现的错误,因此,称为运行时错误
run-timeerror—即只在运行程序时才出现的错误。
可以看出,在该aທlgol程序中,print语句在屏幕上显示一些内容,本例是一行文本因
此,这个ฐalgol程序等效于本章前面9t语句实际上并不是algol
语言正式定义的一部ຖ分,这里只假设正在用的这个algol编译程序包含有这样一个实用工ื具,
有时称作内部函数。print语句—就像许多aທlgol语句除begin和end外一样—后面必
须跟引号。print语句向里缩进不是必须ี的,只不过使得程序结构更清晰。
假设要编写一个程序计算两个数的乘๖法。每一个程序设计语言都有变量这个概念。在程
序中,变量名可以为一个字母、一个短的字母序列,甚至为一个短词。实际上,变量对应于
一个内存单元,但在程序中是通过名字来引用的,并不是通过内存地址。下面这个程序有3个
变量,名为a、b和c:
begin
reala,bຘ,c;
aທ:=53543๑;
b:=9๗771;๙
c:๘=axbຘ;
print'ูtheprodu9d',b,'ูis',c;
end
reaທl语句是说明语句,用来表明程序中ณ要说明的变量。本例中ณ,变量a、bຘ、c是实数或浮
点数algol也支持关键字integer,用来说明整型变量。通常,程序设计语言要求变量名
以字母开头。只要第一个字符是字母,变量名可以包含数字,但不能包含空格及许多其他字
符。通常编译程序要限制变量名的长度。本章的例子都采用一个字母作为变量名。
如果使用的algol编译程序支持ieee浮ด点数标准,则程序中的3个ฐ变量都需要4个ฐ字节的
存储空间对单精度数或8个ฐ字节的存储空间对双精度数。
接下来的三个语句是赋值语句。在algol中ณ,赋值语句定义为冒号后紧跟等号。在许
多计算机语言中,赋值语句只需用等号。赋值语句的左边是变量,右边是表达式。前两个ฐ赋
值语句是给a和b赋给一个值,第三个赋值语句中ณ变量c的值由变量a和b产生。
今天,在程序设计语言中,大家熟ງ悉的x乘号通常不允许使用,因为它不属于ascii
码和ebcdic的字符集。许