[理学]第三章 34 8086-8088指令系统_2011.pptVIP

  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文档。上传文档
查看更多
[理学]第三章 34 8086-8088指令系统_2011

3.4 8086/8088指令系统 一、8086/8088指令系统的特点 8086与8088的指令系统由8位的8080/8085指 令系统扩展而来的,同时又能在其后续的80x86 系列的CPU上正确运行。其主要特点是: (1) 采用可变长指令,指令格式比较复杂。 (2) 寻址方式多样灵活,处理数据的能力比较 强,可处理字节或字、带符号或无符号的 二进制数据以及压缩型/非压缩型的十进 制数据。 4、存储器寻址 指令系统中采用的复杂的“寻址方式”主要是针对存储器操作数而言。 CPU寻找存储器操作数,必须经总线控制逻辑电路进行存取。 当执行单元EU需要读/写位于存储器的操作数时,应根据指令给出的寻址方式,由EU先计算出操作数的有效地址EA,并将它送给BIU; 同时请求BIU执行一个总线周期,BIU将某个段寄存器的内容左移4位,加上EU送来的有效地址EA形成20位的物理地址,然后执行总线周期,读/写指令所需的操作数。 (1)基址寻址方式 基址寻址是指操作数的有效地址由基址寄存器(BX或BP)的内容和指令中给出的地址位移量(0位、8位或16位)之和来确定。 有效地址EA的具体计算方法取决于指令中MOD(≠11)和R/M字段的不同取值。 (2)变址寻址方式 变址寻址是指操作数的有效地址由变址寄存器(SI或DI)的内容与指令中给出的地址位移量(0位、8位或16位)之和来确定。有效地址EA的具体计算方法取决于指令中MOD(≠11)和R/M字段的不同取值。 (3)基址加变址寻址方式 基址加变址寻址是指操作数的有效地址EA由基址寄存器(BX或BP)的内容与变址寄存器(SI或DI)的内容以及指令中的地址位移量(0位、8位或16位)三者之和来确定。 有效地址EA的具体计算方法取决于指令中MOD(≠11)和R/M字段的不同取值,见图3.15。注意,由于指令中的位移量也可以看成是一个相对值,因此,有时又把带位移量的寄存器间接寻址叫做寄存器相对间接寻址。 5、其他寻址方式 1)串操作指令寻址方式 数据串(或称字符串)指令不能使用正常的存储器寻址方式来存取数据串指令中使用的操作数。 执行数据串指令时,源串操作数第1个字节或字的有效地址应存放在源变址寄存器SI中(不允许修改),目标串操作数第1个字节或字的有效地址应存放在目标变址寄存器DI中(不允许修改)。 在重复串操作时,8086/8088能自动修改SI和DI的内容,以使它们能指向后面的字节或字。因指令中不必给出SI或DI的编码,故串操作指令采用的是隐含寻址方式。 3)转移类指令的寻址方式 在8086/8088系统中,由于存储器采用分段结构,所以转移类指令有段内转移和段间转移之分。 所有的条件转移指令只允许实现段内转移,而且是段内短转移,即只允许转移的地址范围在-128~+127字节内,由指令中直接给出8位地址位移量。 共有5种寻址方式:段内短转移、段内直接转移、段内间接转移、段间直接转移、段间间接转移。 四、8086/8088指令的分类 8086/8088的指令按功能可分为6类:数据传送、算术运算、逻辑运算、串操作、程序控制和CPU控制。 (二)算术运算指令 (2)AAS AAS是减法的ASCII码调整指令,也必须跟在SUB或SBB后使用。 调整步骤与AAA相对应3步: ① AL的低4位在0~9之间,AF=0,执行③ ② AL的低4位在A~F之间,或AF=1, 则 AL ← AL- 6 ,AH -1 ,CF← 1 ③ AL高4位清零 (三)逻辑运算和移位循环指令 移位指令示意图 乘法和除法可用移位指令实现,移位指 令执行的时间(2T)比乘法和除法执行的时 间(70T)短。 思考:如何用移位指令实现 “×10” ? (四)串操作指令 (五)程序控制指令 CALL N_PROC(子程序名) 段内直接近调用 执行操作: ① (SP) ← (SP)-2,((SP)) ← (IP)当前(保存断点)        ② (IP) ← (IP)当前+16位位移量(在指令的第2、3个字节中 ) 例:CALL SUB1 CALL DESTIN 段内间接近调用 执行操作: ① (SP) ← (SP)-2,((SP)) ← (IP)当前 ② (IP) ← (EA) ; (EA)为指令寻址方式所确定的 有效地址 例:CALL BX CALL FAR PTR SUBROUT 段间直接远调用

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档