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

第四章指令系统(白中英第五版)概论.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3指令和数据的寻址方式 [例3] 一种二地址RS型指令的结构如下所示:    6位     4位   1位 2位   16位 其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。 请写出六种寻址方式的名称。 * 操作码 ------- 通用寄存器 1 X D 4.3指令和数据的寻址方式 寻址方式 I X 有效地址E算法  说明 (1)  0 00  E=D  (2) 0 01  E=(PC)+D PC为程序计数器  (3)  0 10  E=(R2)+D R2为变址寄存器  (4)  1 11  E=(R3)  (5)  1 00  E=(D)  (6) 0 11  E=(R1)+D R1为基址寄存器 * 4.3指令和数据的寻址方式 [解]:⑴直接寻址   ⑵相对寻址   ⑶变址寻址 ⑷寄存器间接寻址    ⑸间接寻址   ⑹基址寻址 * 4.3指令和数据的寻址方式 [例4]?某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H ,STA(OP)=(1B)H ,LDA(OP)=(3C)H。MOV是传送指令,STA为写数指令,LDA为读数指令。 * 4.3指令和数据的寻址方式 要求: ⑴分析三种指令的指令格式与寻址方式特点。 ⑵CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? ⑶下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? ①(F0F1)H (3CD2)H   ②(2856)H   ③(6FD6)H  ④(1C2)H * 4.3指令和数据的寻址方式 [解]: ⑴第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。   * 4.3指令和数据的寻址方式 ⑵处理机完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。 * 4.3指令和数据的寻址方式 ⑶根据已知条件:MOV(OP)=001010,STA(OP)=011011,LDA(OP)=111100,将指令的十六进制格式转换成二进制代码且比较后可知: ①(F0F1)H (3CD2)H 指令代表LDA指令,编码正确,其含义是把主存(13CD2)H 地址单元的内容取至15号寄存器。 ②(2856)H 指令代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。 * 4.3指令和数据的寻址方式 ③(6FD6)H 是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H ④(1C2)H 是单字长指令,代表MOV指令,但编码错误,可改正为(28C2)H 。 * 4.4典型指令 一、指令的分类 1.数据传送指令 数据传送指令主要包括取数指令、存数指令、传送指令、成组传送指令、字节交换指令、清累加器指令、堆栈操作指令等等。这类指令主要用来实现主存和寄存器之间,或寄存器和寄存器之间的数据传送。 * 4.4典型指令 2.算术运算指令 这类指令包括二进制定点加、减、乘、除指令,浮点加、减、乘、除指令,求反、求补指令,算术移位指令,算术比较指令,十进制加、减运算指令等。这类指令主要用于定点或浮点的算术运算,大型机中有向量运算指令,直接对整个向量或矩阵进行求和、求积运算。 * 4.4典型指令 3.逻辑运算指令 这类指令包括逻辑加、逻辑乘、按位加、逻辑移位等指令,主要用于无符号数的位操作、代码的转换、判断及运算。 移位指令用来对寄存器的内容实现左移、右移或循环移位。 * 4.4典型指令 4.程序控制指令 程序控制指令也称转移指令。执行程序时,有时机器执行到某条指令时,出现了几种不同结果,这时机器必须执行一条转移指令,根据不同结果进行转移,从而改变程序原来执行的顺序。这种转移指令称为条件转移指令。除各种条件转移指令外,还有无条件转移指令、转子程序指令、返回主程序指令、中断返回

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档