新计算机硬件技术基础(第三版) 艾德才 电子教案 第4章 指令系统.pptVIP

新计算机硬件技术基础(第三版) 艾德才 电子教案 第4章 指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 4 章 4.1 指令格式 4.1.1 指令格式 指令是由许多部分组成的,在构成指令的这几部分中,只有操作码部分是必需存在的。其余各部分则要根据指令操作所涉及的操作数类型、以及操作数存放在何处等因素决定取舍。 任何一条机器指令都是由一组二进制代码构成,通常又被进一步分成操作码部分和地址码部分,一般的指令格式如图所示。 8086~80286是16位的微处理器, 16位的指令格式如图所示。 Pentium(32位)指令的一般格式如图所示; 。 由图可知,一条指令是由可任选的指令前缀(可以以任何的次序)、一个或两个原操作码字节、有可能要用的地址说明符(由ModR/M字节和按比例变址基地址SIB字节构成)、一个位移量(根据需要)和一个立即操作数数据字段(如果需要的话)等元素组成的。 Pentium的所有指令都是如图所示的指令格式的子集 1.指令前缀 指令前缀是置于指令前面的一个或多个字节,它的作用是用来修改指令的操作。下面所列出的这四个指令前缀就是供应用程序使用的。 (1)指令前缀: (2)段的超前前缀: (3) 操作数大小前缀: (4)地址大小前缀: 2.指令中各字段意义 (1)操作码字段 (2)Mod R/M字段 (3)SIB字段 (4)偏移量 (5)立即数 4.2 寻址方式 寻址方式是指微处理器获取操作数的方式。一条指令必须说明两个问题;一是要说明这条指令要进行什么操作,二是要说明这条指令的操作数位于何地。一条指令可以对零个或多个操作数操作。零个操作数的指令的例子是NOP指令(即没有数)。操作数可以位于下列位置处: (1)指令本身有操作数;即立即操作数 (2)操作数在寄存器中; (3)操作数在存储器中 (4)操作数在I/O端口 4.2.1 常用寻址方式 1.立即操作数寻址 是说指令本身带的数据作为一个操作数用,即指令所用的操作数是指令自身所拥有的,像单操作数指令或两操作数指令即是这类指令。凡指令本身所拥有的操作数就称之为立即操作数。 例如, MOV AX,1999H ;这条指令的功能是将16进制的立即操作数1999传送到AX寄存器。由于立即操作数1999是16位的,其中存放在代码段的高地址字节中的内容被传送到AH寄存器,低地址字节中的内容被传送到AL寄存器,如图所示。 2.寄存器操作数寻址 将操作数存放在32位通用寄存器中,或存放在16位通用寄存器中,或存放在8位通用寄存器中,并对操作数进行访问操作,称之为寄存器操作数寻址。指令 MOV EDX,EAX ; 3 存储器操作数寻址 (1)直接寻址 直接寻址是一种很简单的寻址方式,虽然操作数存放在存储器内,但在这种直接寻址方式下,操作数的有效地址是由指令直接给出。例如: MOV EAX, LISTT 这条指令的功能是,将地址LISTT处4个连续字节地址中的32位操作数传送到寄存器EAX内。LISTT 是存储器中存储单元的符号地址,LISTT的实际地址是1230H这个十六进制地址 (2)寄存器间接寻址 寄存器间接寻址这种寻址方式,可以对存储器内的任何存储单元的数据进行寻址,只是要借助于在BP,BX,DI和SI这些寄存器内保存的偏移地址。 例,如果寄存器BX的内容是1000H,在执行MOV AX,[BX]指令之后,地址1000H处的字内容被传送到AX寄存器中,如图所示。 (3)基地址加变址寻址 所谓基地址加变址寻址,就是操作数位于所选的存储器段内,操作数的有效地址由一个基地址寄存器的内容再加上一个变址寄存器的内容构成。 通常,在基地址寄存器内保存的是位于存储器内数组的起始地址,而在变址寄存器内保存的是数组元素的相对位置。每次BP寄存器在对存储器内的数组进行寻址时,由BP寄存器和堆栈段寄存器两者生成有效地址。 例如:MOV EDX ,[EAX + EBX] (4)寄存器相对寻址 寄存器相对寻址类似于基址加变址寻址,只不过是在寄存器相对寻址方式下,在变址寄存器或基地址寄存器的内容中,加上了一个位移量,而形成了操作数的有效地址的值,然后是

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档