网站大量收购独家精品文档,联系QQ:2885784924

[工学]第2章 指令系统与汇编语言基础21--24.ppt

[工学]第2章 指令系统与汇编语言基础21--24.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第2章 指令系统与汇编语言基础21--24

第2章 指令系统与汇编语言基础 2.1 指令系统 一台计算机(属于某一体系结构的,例如IA-32)中所有机器指令的集合,称为这台计算机(这一体系结构)的指令系统。它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。 2.1.1 通用计算机对指令系统的基本要求 完备性:用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。 有效性:利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据存贮空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。 规整性: 兼容性:只能做到“向上兼容”。 2.1.2 指令集结构 1.ISA的主要持征 ① 提供了程序员(此处,程序员是指汇编语言或机器语言的程序员,并非高级语言程序员)需要知道的细节(“细节”如加法指令的符号用“ADD”等,当然也可以用别的符号,但需要修改相应的汇编程序),据此程序员可以为处理器编写程序。 ② 提供了编译器需要细节,以便可以编译由C 、VC++或其他高级语言编写的程序, 让这些程序可被处理器运行(“细节”如高级语言的其中一条语句用那一串指令实现等,参见【例2.1】)。 2.ISA的定义 ISA应包括如下内容: ① 指令集(CPU能直接执行的所有最基本的算术或逻辑操作) ② 汇编语言或机器语言的程序员可直接访问的所有寄存器(如非常简单CPU中的AC详见图4.14和相对简单CPU中的 R、累加寄存器AC详见图4.23),统称为“通用寄存器” 。 ③ 访问存贮器所需的信息 ④ 现代CPU还包括有能响应中断的功能,但如何识别外部中断是否已经发生所必需的物理操作就不属于ISA的一部分。 把不属于ISA的寄存器统称为“专用寄存器” 2.2 程序设计语言的级别 人们与计算机交换信息只能通过计算机语言,如果说今天有各种各样计算机语言的话,归纳起来只有以下三大类: 1. 机器语言(又称二进制机器语言、二进制数字化语言、无符号计算机语言等) 2. 汇编语言:属于计算机最低级的符号语言,因为每一条汇编语言指令(汇编语言伪指令除外)对应一条二进制机器语言指令(又称机器指令)。具有平台专用性。 3. 高级语言:诸如VC++、Java、SQL和Fortran 之类的语言都是高级语言,这类语言的特点是几乎每一条语句都需要用一串的机器指令才能实现。这也可以说是“语句”与“指令”的区别所在。具有平台无关性 以上三类计算机语言统称为程序设计语言。 2.2.2 编译和汇编程序 通用计算机的程序员通常是用高级语言或汇编语言编写程序的。 1.问题:CPU 只能识别二进制的机器语言,而高级语言和汇编语言都是符号语言,CPU不能直接识别,也就无法直接执行用这两类语言编写的程序。 2.解决办法:把高级语言或汇编语言编写的程序转换成能让CPU识别的二进制机器语言(机器代码)。 其中,高级语言程序应进行编译,而汇编语言程序应进行汇编。 3.实现的方法和步骤 1)编译 高级语言编写的程序送入编译器后: ① 编译器对高级语言编写的程序进行语法检查(主要检查致命的语法错误)。 ② 程序没有语法错误时,编译器完成了程序的编译(即中间代码)。 ③ 优化调整中间代码程序,目的提高程序运行效率,节省程序运行时间等。 ④ 把优化后的代码转换成目标代码文件(目标代码是等价于源代码的机器语言)。一般来说:目标代码还不能执行,因为一些程序除了用其自身的目标代码外,还要用到别的程序的目标代码。 ⑤ 连接器,把编译好的目标代码和所需的别的目标代码连接起来,连接后的代 码作为“可执行”― EXE文件存贮起来便可运行,这就是软件。 2)汇编程序 由于汇编语句指令与机器语言指令有一 一对应的关系(伪指令除外),所以汇编语言比编译简单了很多。但也需把汇编好的目标代码和所需的别的目标 代码(当需要实现模拟时,可能是不同体系结构的CPU)连接起来,连接后的 代码作为“可执行”― EXE文件。 综上所述,严格定义软件的概念是很有必要的。 2.2.3 Java 程序设计语言的特征 Java 程序设计语言是目前十分流行的一种计算机网络编程语言,可以肯定的是在Internet互联网上的所有电子计算机不是同构(相同体系结构)的。换句话说,Java 程序设计语言必须满足平台无关这一特征。而Java语言的这一特征又区别于上述所有高级语言。或者具有特征中的特征。 1.Java 程序设计语言的特征

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档