编程世界:语言的演变、分类与设计艺术
1 编程的起源与语言演变
早期的电子计算机体型庞大、耗电量高且价格昂贵,但其计算能力却远不及如今最简单的手机。当时的程序员认为计算机的时间更为宝贵,因此采用机器语言进行编程。机器语言是直接控制处理器的二进制序列,能让处理器在适当的时候进行加法、比较、数据移动等操作。不过,用这种方式编写程序极为繁琐。以下是用 x86 机器语言(以十六进制表示)编写的计算两个整数最大公约数(GCD)的程序:
55 89 e5 53
83 ec 04 83
e4 f0 e8 31
00 00 00 89
c3 e8 2a 00
00 00 39 c3
74 10 8d b6
00 00 00 00
39 c3 7e 13
29 c3 39 c3
75 f6 89 1c
24 e8 6e 00
00 00 8b 5d
fc c9 c3 29
d8 eb eb 90
随着程序规模的增大,人们意识到需要一种更不易出错的表示方法,于是汇编语言应运而生。汇编语言允许用助记符缩写来表达操作,同样的 GCD 程序用 x86 汇编语言编写如下:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $4, %esp
andl $-16, %esp
call getint
movl %eax, %ebx
call getint
cmpl %eax, %ebx
je C
A:
cmpl %eax, %ebx
jle D
subl %eax, %ebx
B:
cmpl %eax, %
超级会员免费看
订阅专栏 解锁全文
7987

被折叠的 条评论
为什么被折叠?



