计算机组成原理第3章指令系统介绍.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 一台计算机的指令系统可以有上百条指令,这些指令按其功能可以分成几种类型。 3.4 指令类型 * 1.一般传送指令 一般传送指令具有数据复制的性质,即数据从源地址传送到目的地址,而源地址中的内容保持不变。一般传送类指令常用助记符MOV表示,根据数据传送的源和目的的不同,又可分为: ⑴ 主存单元之间的传送。 ⑵ 从主存单元传送到寄存器。在有些计算机中,该指令用助记符LOAD表示。 ⑶ 从寄存器传送到主存单元。在有些计算机里,该指令用助记符STORE表示。 ⑷ 寄存器之间的传送。 3.4.1 数据传送类指令 * 2.堆栈操作指令 堆栈指令实际上是一种特殊的数据传送指令,分为进栈(PUSH)和出栈(POP)两种,在程序中它们往往是成对出现的。 如果堆栈是主存的一个特定区域,那么对堆栈的操作也就是对存储器的操作。 3.数据交换指令 前述的传送都是单方向的。然而,数据传送也可以是双方向的,即将源操作数与目的操作数(一个字节或一个字)相互交换位置。 * 1.算术运算类指令 算术运算指令主要用于定点和浮点运算。这类运算包括定点加、减、乘、除指令,浮点加、减、乘、除指令以及加1、减1、比较等,有些机器还有十进制算术运算指令。 绝大多数算术运算指令都会影响到状态标志位,通常的标志位有进位、溢出、全零、正负和奇偶等。 3.4.2 运算类指令 * 计算机都具有与、或、非、异或等逻辑运算指令。这类指令在没有设置专门的位操作指令的计算机中常用于对数据字(字节)中某些位(一位或多位)进行操作,常见的应用有: ⑴按位测(位检查) 利用“与”指令可以屏蔽掉数据字(字节)中的某些位。通常让被检查数作为目的操作数,屏蔽字作为源操作数,要检测某些位,可使屏蔽字的相应位为“1”,其余位为“0”,然后执行“与”指令,则可取出所要检查的位来。 2.逻辑运算类指令 * ⑵按位清(位清除) 利用“与”指令还可以使目的操作数的某些位置“0”。只要源操作数的相应位为“0”,其余位为“1”,然后执行“与”指令即可。 ⑶按位置(位设置) 利用“或”指令可以使目的操作数的某些位置“1”。只要源操作数的相应位为“1”,其余位为“0”,然后执行“或”指令即可。 2.逻辑运算类指令(续) * ⑷按位修改 利用“异或”指令可以修改目的操作数的某些位,只要源操作数的相应位为“1”,其余位为“0”,异或之后就达到了修改这些位的目的(因为A⊕1= ,A⊕0=A)。 ⑸判符合 若两数相符合,其异或之后的结果必定为“0”。 2.逻辑运算类指令(续) * 移位指令分为算术移位、逻辑移位和循环移位三类,它们又可分为左移和右移两种。 ⑴算术移位 算术移位的对象是带符号数,在移位过程中必须保持操作数的符号不变。当左移一位时,如不产生溢出,则数值×2;而右移一位时,如不考虑因移出舍去的末位尾数,则数值÷2。 3.移位类指令 * ⑵逻辑移位 逻辑移位的对象是无符号数,因此移位时不必考虑符号问题。 ⑶循环移位 循环移位按是否与进位位一起循环又分为两种: 小循环(不带进位循环) 大循环(带进位循环) 3.移位类指令(续) * 1.转移指令 在程序执行过程中,通常采用转移指令来改变程序的执行顺序。转移指令又分无条件转移和条件转移两种: ⑴ 无条件转移又称必转,它在执行时将改变程序的常规执行顺序,不受任何条件的约束,直接把程序转向该指令指出的新的位置执行,其助记符一般为JMP。 ⑵ 条件转移必须受到条件的约束,若条件满足时才执行转移,否则程序仍顺序执行。条件转移指令主要用于程序的分支,当程序执行到某处时,要在两个分支中选择一支,这就需要根据某些测试条件作出判断。 3.4.3 程序控制类指令 * 无论是条件转移还是无条件转移都需要给出转移地址。若采用相对寻址方式,转移地址为当前指令地址(即PC的值)和指令中给出的位移量之和,即(PC)+位移量→PC;若采用绝对寻址方式,转移地址由指令的地址码字段直接给出,即A→PC。 1.转移指令(续) * 子程序是一组可以

文档评论(0)

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

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

1亿VIP精品文档

相关文档