[工学]第4章 80868088CPU指令系统1.ppt

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

* 第4章 8086/8088CPU指令系统 4.1操作数寻址方式 4.2指令系统 4.1操作数寻址方式 4.1.1 8086CPU指令格式 指令由操作码和操作数两部分构成。操作码表明指令要进行什么样的操作;操作数是参加本指令操作的数据。操作数的表现形式比较复杂,可以是参与操作的数值,也可以是参与操作的数值的“地址”,需要通过寻址方式来体现。 操作码 操作数 介绍操作数之前,首先要清楚计算机中的数据可以存放在哪里呢? 在计算机运行过程中大量的数据存储器中(MEM),这部分数据处理时需要给出操作数所在存储单元的地址; 少量数据可以放在寄存器中,使用时也需要给出其地址; 接口中也有寄存器,对其访问需给出其端口地址(第7章介绍)。 4.1.2 操作数的类型 1.存储器操作数 存放在代码段中的数据是指令格式编码的一部分,在取指令是就随指令被取到CPU,直接可以参加指令操作,通常称为立即数。 存储器分为代码段、数据段、附加段和堆栈段,存放在数据段、附加段和堆栈段中的数据即存储器操作数,其地址表示比较复杂,将在寻址方式中做详细介绍; 存放在外设端口中的数据称为端口操作数,CPU使用专用的IN、OUT指令来对端口进行访问。 2.立即操作数 3.寄存器操作数 存放在寄存器中的数据称为寄存器操作数。 4.端口操作数 4.1操作数寻址方式 4.1.3 8086/8088指令格式 8086/8088机器指令格式通常1-6个字节组成。典型的指令格式由2个字节组成,如下图所示。 操作码 MOD REG R/M 第一字节操作码字段表明该指令要完成什么操作。 第二字节表明参加操作数据的地址,用来表明参加本次操作的数据及其类型,双操作数不能同为存储器操作数。其中: ◆MOD段(2Bit):表示操作数的类型 ◆REG段(3Bit):表示其中一个操作数为寄存器操作数 ◆R/M段(3Bit):表示另外一个操作数为寄存器或存储器操作数 4.1操作数寻址方式 4.1.4 操作数寻址方式 所谓操作数的寻址方式,是在指令格式中怎样有效的表示出操作数的存放位置,CPU在执行该指令时,按照指令格式中的表示找到并对数据进行存取。 1.立即寻址(Immediate Addressing) 立即寻址中的操作数作为指令的一部分存放在代码段中,在取指阶段数据随指令一起被取到CPU,这种数据在指令格式中的直接表现为常数。 如:MOV AL,34H 代码段 1000H:0000H 1000H:0100H 操作码 34H AH AL 注:立即数可理解为常数,在指令中只能作为源操作数 4.1操作数寻址方式 4.1.4 操作数寻址方式 2.寄存器寻址(Register Addressing) 寄存器寻址是指操作数存放在规定的寄存器中。 例如:MOV AX,BX AH AL 16位寄存器:AX、BX、CX、DX、 SP、BP、DI、SI; 8位寄存器:AH、BH、CH、DH、 AL、BL、CL、DL; 16位段寄存器:CS、DS、ES、SS。 SS、DS、ES既可以作为源操作数,也可以作为目的操作数,但不能互为目的操作数。作为目的操作数时,源操作数不能是立即数,CS只能作为源操作数。 BH BL 4.1操作数寻址方式 4.1.4 操作数寻址方式 存储器操作数的寻址方式中,数据都存放于存储单元中,指令操作过程中需要BIU通过一个总线周期的访问,才能获取操作数。存储器操作数的寻址方式是怎么计算出操作数的有效地址EA(Effective Address)。有效地址EA是三个地址量因子一个以上组合,由CPU执行单元EU计算出来。 3.存储器寻址(Memory Addressing) ◆位移量因子(Displacement):位移量是指令中直接给出的一个8/16位数; ◆基址量因子(Base):由基址寄存器BX或BP提供的内容; ◆变址量因子(Index):由变址寄存器SI或DI提供的内容。 注:3个地址量因子组合有7种方式。根据组合后地址量因子的特点,最终合并成5种寻址方式。 4.1操作数寻址方式 4.1.4 操作数寻址方式 ●存储器寻址之直接寻址(Direct Addressing) 在指令格式中直接给出操作数的有效地址,指令执行时CPU根据给出的有效地址,在相应存储单元存取数据。 有效地址EA=位移量(只取位移量因子) MOV AX,[2000H] 操作如图所示: 数据段 3000H:0000H 3000H:2000H 34H 12H AH AL 注: ◆存储器操作数都是给出其首地址 ◆双操作数指令中,两个操作数不能都是存储器操作数 ◆存储器操作数无超越前缀时,默认段地址为

文档评论(0)

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

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

1亿VIP精品文档

相关文档