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

《 微机原理课件-第3章指令系统.pptx

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

第3章指令系统1

2№2概述寻址方式指令系统第3章指令系统

33.1概述3.1.1指令的格式图3-180x86指令的格式

43.1概述3.1.2指令的编码格式图3-28086指令的编码格式

53.2寻址方式3.2.1指令的寻址方式顺序寻址顺序结构的程序,执行时按照其代码编写顺序(内存存储顺序)执行。CPU根据IP指向的地址取出指令,分析该指令的长度,将IP的值加上指令的长度,形成下一条指令的地址,这种寻找下一条指令的方法称为指令的顺序寻址。转移寻址遇到除顺序结构外的其他结构时,下一条指令的地址本条指令(转移指令,过程调用指令,返回指令等)给出的,本条指令执行时,由CPU将下一条指令的地址传送至CS和IP,实现程序的转移,这种寻找下一条指令地址的方法称为指令的转移寻址。

63.2.1操作数的寻址方式1.操作数分类。源操作数在指令中只参与运算,指令执行后源操作数不发生改变。目的操作数在指令中既要参见运算,一般还用于保存运算的结果,指令执行后目的操作数的值通常会发生改变。

72.操作数的寻址方式1)立即寻址:操作数存放在指令的地址码字段,即操作数是指令的一部分,操作数存放在存储器的代码段,取指令的同时连同操作数一起取至CPU。操作数可以是8位,16位,存放时高位存放在高地址存储单元,低位存放在低地址存储单元。例:MOVAX,1A2BH

82)寄存器寻址(RegisterAddressing)操作数存放在CPU内部的寄存器中,则操作数的寻址方式称为寄存器寻址。可以存放操作数的寄存器包括8位寄存器AL,AH,BL,BH,CL,CH,DL,DH,16位通用寄存器AX,BX,CX,DX,SI,DI,SP,BP或16位段寄存器CS,SS,DS,ES。例:MOVAX,BX

93)直接寻址(DirectAddressing)指令的地址码字段给出的是操作数在存储器中的16位偏移地址,这个偏移地址也被称为有效地址EA(EffectiveAddress)。如果指令前没有加操作数限制前缀,则操作数默认存放在存储器的数据段,操作数的段地址为DS的值,如果指令前有操作数限制前缀,则操作数的段地址由操作数限制前缀中给定的段寄存器确定。这种操作数寻址方式称为直接寻址。

10例:MOVAX,[2000H]假设指令执行前(DS)=1000H,(12000H)=12H,(12001H)=34H。源操作数的物理地址1000H×10H+2000H=12000H

11例:MOVBX,ES:[1000H]源操作数的物理地址=1200H×10H+1000H=13000H

124)寄存器间接寻址(RegisterIndirectAddressing)操作数存放在存储器中,其偏移地址存放在16位寄存器中,可以存放操作数偏移地址的寄存器有4个,BX,BP,SI和DI。当操作数的偏移地址存放于BX,SI或DI寄存器中时,其默认的段为数据段,即段地址是DS的值,当操作数的偏移地址存放在BP中时,其默认的段为堆栈段,即段地址是SS的值。

13例:MOV[BX],AX假设(DS)=1000H,(BX)=1100H。目的操作数的物理地址=1000H×10H+1100H=11100H

14例:MOV[BP],AX假设(SS)=2000H,(BP)=6100H。目的操作数的偏移地址是6100H,段地址是2000H,物理地址=2000H×10H+6100H=26100H

155)寄存器相对寻址方式(RegisterRelativeAddressing)操作数存放在存储器中,操作数的偏移地址是基址寄存器或者变址寄存器的内容加上8位或者16位的位移量。即操作数的有效地址EA=SIDI+8位disp16位dispBXBP

16例MOV[BX+100H],AX假设(DS)=1000H,(BX)=1100H,目的操作数采用寄存器相对寻址方式,目的操作数的偏移地址=(BX)+100H=1200H,目的操作数的段地址为DS的内容1000H,目的操作数的物理地址=(DS)×10H+(BX)+100H=11200H

17例MOVAX,[BP+100H]假设(SS)=2000H,(BP)=6100H,源操作数采用了寄存器相对寻址方式,源操作数的偏移地址=(BP)+10H=6110H,目的操作数的段地址为SS的内容2000H,目的操作数的物理地址=(SS)×10H+(BP)+100H=26110H

186)基址变址寻址(BasedIndexedAddressing)操作数存放在存储器中,操作数的偏移地址是一个基址寄存器的内容和一个变址寄存器的内容之和,即有效地址EA=(SI)(DI)+(BX)(BP)

19例MOVA

文档评论(0)

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

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

1亿VIP精品文档

相关文档