奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 397 页

PDF 物理页索引 413 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
397
PDF 物理页
413(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
ece17455ca0ab289efbd9b4f2cf318e8d1da5654124ba8454f5e6fefc4d973b6

i++;

在16位或32位微处理器中,i++这种语句仅需要一条机器码指令就可以执行。

在本章的前面曾讲过,很多高级语言都不支持移位操作和按位布尔运算操作,而许多处理器其实支持这类操作,C语言打破了这种局限,它广泛地支持这类运算。除此之外,C语言的另一重要特征是对于指针(pointer)的支持,指针本质是数字化描述的内存地址。C 语言中的很多操作与通用处理器的指令非常相似,因此C也被称为高级汇编语言(high-level assembly language)。与类 ALGOL语言相比,C的操作集与通用处理器的指令集接近程度更高,或者说远胜过它们。

但是,所有的类ALGOL语言——即大多数常用程序设计语言———其设计模式都是基于冯·诺依曼计算机体系的。设计一种非冯·诺依曼体系的程序设计语言并非易事,而让人们接受并使用这种语言则更加困难。LISP(List Processing)是一种非冯·诺依曼体系程序设计语言,它主要应用于人工智能领域,由约翰·麦卡锡(JohnMcCarthy)在20世纪 50年代末期开发完成。APL(A Programming Language)是另一种全新的语言,与LISP完全不同,它同样完成于20世纪50年代末期,由肯尼斯·艾佛森(KennethIverson)开发。APL的特殊之处在于,它使用一个特殊的符号集,利用其中的符号可以一次性对整个数组里的数字完成操作。

类ALGOL语言一直在程序语言领域占据着重要地位,而且近年来,此类语言在一些方面进行了改进,导致面向对象程序设计语言(object-orientedlanguage)的产生。面向对象语言主要应用在图形化操作系统中,我们将会在下一章(也是最后一章)介绍这种操作系统。

24 高级语言与低级语言

397