计算机组成原理(蒋本珊)第3章-出版社_精品.ppt

计算机组成原理(蒋本珊)第3章-出版社_精品.ppt

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

2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 (5)判符合 若两数相符合,其异或之后的结果必定为“0”。 (6)清0 XOR AL,AL 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 3.移位指令 分为算术移位、逻辑移位和循环移位3类,它们又可分为左移和右移两种。 算术移位的对象是带符号数,算术移位过程中必须保持操作数的符号不变,左移一位,数值?2,右移一位,数值?2。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 逻辑移位的对象是没有数值含义的二进制代码,因此移位时不必考虑符号问题。 循环移位又按进位位是否一起循环分为两类: ? 小循环(不带进位循环) ? 大循环(带进位循环) 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 3.4.3 程序控制类指令 程序控制类指令用于控制程序的执行方向,并使程序具有测试、分析与判断的能力。 1.转移指令 在程序执行过程中,通常采用转移指令来改变程序的执行方向。转移指令又分无条件转移和条件转移两种。 无条件转移指令(JMP)不受任何条件的约束,直接把程序转向新的位置执行。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 条件转移指令必须受到条件的约束,若条件满足时才转向新的位置执行,否则程序仍顺序执行。 无论是条件转移还是无条件转移都需要给出转移地址。若采用相对寻址方式,转移地址为当前指令地址(即PC的值)和指令中给出的位移量之和,即:(PC)+位移量→PC;若采用绝对寻址方式,转移地址由指令的地址码直接给出,即:A→PC。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 2.子程序调用指令 子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。 从主程序转向子程序的指令称为子程序调用指令(CALL);而从子程序转向主程序的指令称为返回指令(RET)。 主程序 CALL A 子程序 RET A: 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 主程序和子程序是相对的概念,调用其它程序的程序是主程序;被其它程序调用的程序是子程序。 转子指令安排在主程序中需要调用子程序的地方,转子指令是一地址指令。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 子程序调用指令和转移指令都可以改变程序的执行顺序,但两者存在着很大的差别: ? 转移指令转移到指令中给出的转移地址处执行指令,不存在返回要求,没有返回地址问题;而子程序调用指令必须以某种方式保存返回地址,以便返回时能找到原来的位置。 ? 转移指令用于实现同一程序内的转移;而子程序调用指令转去执行一段子程序,实现的是程序与程序之间的转移。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 保存返回地址的方法除去堆栈以外还有: ⑴ 用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间接地址,采用间址方式返回主程序。这种方法可以实现多重转子,但不能实现递归循环,Cyber70采用的就是这种方法。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 ⑵ 用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方,比如存储器的某个区域。这是一种较为安全的方法,可以实现子程序的递归循环。IBM370采用这种方法,这种方法相对增加了子程序的复杂程度。 2008.10 北京理工大学计算机科学技术学院 3.4 指令类型 3.返回指令 从子程序转向主程序的指令称为返回指令,其助记符一般为RET,子程序的最后一条指令一定是返回指令。 返回地址存放的位置决定了返回指令的格式,如果返回地址保存在堆栈中,则返回指令是零地址指令,如果返回地址保存在某个主存单元中,则返回指令中必须

文档评论(0)

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

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

1亿VIP精品文档

相关文档