第10讲11讲12讲综合指令.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文档。上传文档
查看更多
第10讲11讲12讲综合指令

问题的提出 复习地址的概念: 1、取指: 程序(指令的系列)放在存储器的代码段(CS)中,CUP到存储器CS 中取指令时,指令的有效地址放在? 2、执行: (1)、指令执行时,CPU取存储器操作(DS,SS)时,存储器操作数的有效地 址 放在哪些寄存器中?有几种存储器操作数寻址方法? (2)、遇到CALL指令时, 断点的地址进栈,栈顶地址放在哪个寄存器里? (3)、和接口交换信息时,接口的地址放在哪个寄存器中? 3、符号地址: (1)、变量代表什么的地址? (2)、标号代表什么地址? (3)、段名代表什么的地址? (4)、子程序名代表什么的地址? 指令地址的寻址方式 1、存储器寻址? 寻找存储器操作数的有效地址,有五种寻址方法。 2、指令地址寻址? 寻找下一条要执行的指令的地址。E物=(cs)*16+(ip) IP 的功能:唯一地存放下一条要执行的指令的有效地址。 (1)指令顺序执行: CUP取走一条指令后,IP自动增量,生成下一条指令的有效地址。也就是 说,顺序执行时,下一条指令的有效地址自动生成。 (2)控制转移指令改变程序执行流程: 下一条指令的地址怎样生成? 3、与控制转移指令有关的指令地址寻址方法: 1、段内直接寻址(1) 段内直接寻址: 段内直接寻址(2) 段内直接寻址2: 2、段内间接寻址 例1:JMP BX 转移地址的有效地址:(IP)←(BX) 如:指令执行前(BX)=2052H(IP)=2100H 指令执行后(BX)=2052H(IP)=2052H 程序转移到2052H处继续执行。 3、段间直接寻址 段间直接寻址: 在指令中直接提供了转向的段地址和偏移地址。 转向的地址是: 用指令中指定的偏移地址取代IP内容,用指令中指定的段地址取代CS的内容,完成从一个代码段到另一个代码段的转移操作。 例如:JMP FAR PTR LAB FAR PTR 表示为段间转移,LAB为标号(符号地址) 4、段间间接寻址 段间间接寻址:用存储器寻址方式来得到程序转移的目的 地址。 转移的地址是: 用存储器中两个相继字的内容来取代IP和CS寄存器中的内容,以达到段间转移的目的。 例如:JMP DWORD PTR [BX] DWORD PTR 表示存储器操作数为双字。 也就是说把有效地址EA存储器中四个连续存放的字节中:1、两个低位字节的内容是目的地址的IP的值。2、两个高位字节的内容是目的地址CS的值 执行:(IP)←(EA)(CS) ← (EA+2) 由于是间接获得程序转移的目的地址,所以叫间接寻址。 机器码: 指令寻址方式的总结1 1、按转移的情况分: (1)、指令段内寻址: 由于是同一代码段内进行的转移, 只需改变IP的内容 (2)、指令段间寻址:由于是不同代码段进行的转移, 不仅要改变IP的内容,还需要修改CS段寄存器的内容。 2、按获得转移指令地址的方法分: (1)、指令直接寻址: 汇编格式中:转移指令后跟有标号 转移地址直接给出(段间直接寻址),或给出其相对当前IP 值的偏移量(段内直接寻址,又叫相对寻址)。 (2)、指令间接寻址: 汇编格式中:转移指令后跟寄存器或存储器 转移地址放在寄存器或存储器中,间接获得。 指令寻址方式总结2 控制转移指令 1、控制转移指令的功能: JMP无条件转移指令 1、JMP无条件转移指令: 功能:无条件地转移到指令指定的地址去执行从该地址开始的指令。 无条件转移指令分为: 段内转移和段间转移两类。 2、JMP指令的格式: 段内直接短转移 格式:JMP SHORT LBA 执行: (IP)←(IP)+DISP(8) 段内直接近转移 格式:JMP NEAR PTR LAB 执行: (IP) ← (IP)+DISP(16) 段内间接转移 格式:JMP WORD PTR [BX] , JMP BX 执行: (IP) ← (EA),(IP) ←(BX) 段间直接转移 格式:JMP FAR PTR LAB 执行:(IP) ←2,3偏移地址(CS) ←4,5段地直址。 段间间接转移 格式:JMP DWORD PTR [BX] 执行: (IP) ← (EA)(CS) ← (EA+2) 条件转移指令 1、条件转移指令: 功能: 根据上一条指令运算结果所设置的状态标志位,来判断测试 条件。 条件转移指令都有它的测试条件 条件满足时: 转移到由指令所指定的转移地址去执行

文档评论(0)

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

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

1亿VIP精品文档

相关文档