- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
下载
第8章 高 级 论 题
有些运行时系统—如J a v a虚拟机—是以一种程序设计语言为目标而实现出来的。我没有
追随这股潮流,我设计的 H E C虚拟机没有偏向于任何一种程序设计语言。如果你想为 H E C虚拟
机提供一种结构化的程序设计语言,那需要知道的东西我都已经在第 7 章里讲过了。如果你想为
H E C虚拟机提供一种面向对象的程序设计语言,那就得掌握这一章的内容。本章内容可以分为
三大部分。首先,为了在 H E C 虚拟机上实现各种面向对象的程序功能,我们需要有一个基本的
思路,本章第一部分内容的侧重点就是向大家介绍这种思路。
本章第二部分内容的侧重点是 H E C虚拟机的移植和建造。既然一直在强调可移植性,我至
少要搞出个 L i n u x 移植版本才能问心无愧地面对自己。为了帮助大家看懂源代码,我将把在
L i n u x和W i n d o w s 上实现H E C运行时系统的必要步骤向大家做一个解释。
最后,如果你觉得 H E C虚拟机达不到你的预期目标,可以参考本章最后一个部分的内容去
建立你自己的虚拟机。建立一台虚拟机与建立一个操作系统有一定的共通之处,有些步骤是这
两项工作都必须经历的。因此,我想干脆把操作系统的实现方法向大家做一个简单的介绍,也
许你正想自己编写一个操作系统呢。从无到有地建立一个操作系统一直是我的一个梦想,但我
以前并不知道该从什么地方开始入手,直到结识了几位曾经在 Control Data 公司就职的资深工程
师以后我才算开了窍。而我将在这里把他们告诉我的基本思路和方法分享给大家。
8.1 HEC虚拟机与高级语言:编译器设计
8.1.1 复杂性管理
如果你仔细研究过这本书中所有的汇编源代码示例,就应该有得出这样一个结论:用汇编
语言来写程序是一项极其枯燥的工作,你的大部分精力都消耗在各种琐碎的细节上。总而言之,
用汇编语言来设计程序是一种时间和精力的浪费,用汇编语言写出来的程序在可维护性和可移
植性方面有着天生的不足,长期使用汇编语言甚至会对你的思维产生负面影响。
既然汇编语言有这么多的缺点,我们为什么还要用这本书几乎全部的内容来讨论它呢?我
是不是在故意浪费大家的时间和精力呢?
不是,我从没想过要欺骗大家。要知道,学习汇编语言和计算机体系结构是掌握计算机科
学的必经之路,是学习其他东西的基础。要想编写出更有用的高水平开发工具,就必须对最基
本的程序设计元素有一个了解—至少要看得懂这些工具所生成的输出结果吧。如果不花时间
去打好基础、不花时间去搭造脚手架,就不可能建立起坚固而又实用的大厦。
程序设计并不是非得用汇编语言才行。但要想编写出具有实用价值的高水平工具,就必须
掌握汇编语言程序设计技术。
复杂性是人们在软件工程项目上必然会遇到的最基本、最核心的问题。程序设计语言就是
第8章第高 级 论 题工具5 9 3
下载
因为人们在控制和管理复杂性方面的需求而不断地发展和进化的。
Howard Aiken (荷华德·艾肯)在1 9 4 4年制造出了MARK I机器,当时的程序都是些硬编码
形式的二进制数字。随着时间的推移,程序的规模越来越大,使用二进制数字来编写程序的做
法不再适应形势的发展。在 1 9 4 9年,人们为UNIVAC I机器开发出了第一个汇编语言。汇编语言
用简炼的符号化助记符代替了纯粹的二进制数字,使程序设计工作的复杂程度大大降低。早期
的程序员必须亲手写出下面这样的东西:
10101110
有了汇编语言之后,这条二进制指令就可以被写为:
INC AR 0x6B
这种符号化的记号虽然很原始,却实实在在地简化了程序设计工作。但程序规模及其复杂
性很快就增加到必须用一些新东西来管理和控制的程度了。到了 5 0年代,随着集成电路的出现,
各种高级程序设计语言也渐渐地露出了头角。 C O B O L和F O R T R A N就是这一时期的代表性程序
设计语言。所有这些早期的程序设计语言都是基于代码块的,如果你想从一个代码块移动到另
一个代码块,就必须使用G O T O语句或与它类似的东西。
基于代码块的程序设计语言导致了结构化程序设计技
您可能关注的文档
最近下载
- 2024年云南大理州州级机关统一公开遴选公务员16名高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 满堂红脚手架专项施工方案(1).pdf
- 沪教版八年级数学上册讲义暑假班学案.pdf VIP
- 数字电路分析与设计(浙大)中国大学MOOC慕课 章节测验期末考试客观题答案.docx
- 中国农技推广APP使用方法.ppt
- 大型民用飞机涡扇发动机采购成本研究.pdf
- 身份证翻译模板.doc
- 教育数字化转型背景下中小学教师素养的“变”与“不变”.docx
- (高清版)ZT 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼.pdf VIP
- 公路施工组织与概预算课程设计.docx VIP
文档评论(0)