第三章 80x86的寻址方式与指令系统 微机基础与接口技术 教学课件.pptVIP

第三章 80x86的寻址方式与指令系统 微机基础与接口技术 教学课件.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 80x86的寻址方式与指令系统 微机基础与接口技术 教学课件

第三章 80x86的寻址方式 与指令系统 3.3 4. 子程序调用指令CALL和返回指令RET CS:IP的入栈保存和出栈恢复 5. 中断指令INT和中断返回指令IRET INT n 可以利用系统提供的资源——中断服务程序 也可自行编写中断服务程序 ,末尾使用IRET 返回 CS:IP 3.3 五、处理器控制指令 可以对处理器本身进行控制和设定, 包括标志设置指令和以处理器为操作对象的控制指令。 1. 标志设置指令 对标志寄存器的CF、DF、IF标志置位/复位的功能,从而实现间接控制处理器执行的功能。 CLC ;0→CF STC ;1→CF CMC ; →CF CLD ;0→DF STD ;1→DF CLI ;0→IF STI ;1→IF * * 3.1 指令系统概述 3.2 80x86的寻址方式 3.3 80x86的指令系统 3.1 指令系统概述 计算机的指令系统是计算机指令的集合,是计算机硬件的语言系统,程序员通过计算机指令使用计算机的硬件,按指令系统提供的指令有序地组成程序,完成特定的功能。 指令包括操作码和操作数两大部分 ,源操作数(地址) 目的操作数(地址) 操作码 如:MOV AX, 012FDH 3.1 用符号化的汇编语言指令编写的程序输入计算机后,由“汇编程序”把它翻译成二进制机器语言形式,才能在机器上执行。 机器语言指令格式 如下: DATA(高) DATA(低) DISP(高) DISP(低) MOD OP OP代表操作码, MOD表示寻址方式, DISP代表位移量,DATA代表数据。 3.1 OP字段的具体信息: w d/s OP d/s位使用在双操作数指令中,因为80x86/88规定双操作数指令的两个操作数必须有一个操作数放在寄存器中: d位指定所用寄存器用于目的操作数(d=1)还是源操作数(d=0);对于指令中有立即数, s=1表示把8位立即数扩展为16位 。 w位用于表示指令对字(w=1)还是字节(w=0)操作。 OP字段是指令的第一个字节,8位不够时, 还可占用第二个字节的3位,除指定操作功能外,还包含操作对象的特征信息。 3.1 MOD字段表示指令寻址方式,占1个字节。 MOD字段的具体信息: R/M REG MOD MOD占2位,用于区分寄存器寻址和存储器寻址, 以及使用多少字节的偏移量。 00=存储器寻址方式,无偏移量; 01=存储器寻址方式,使用1个字节偏移量 (-128≤DISP≤127); 10=存储器寻址方式,使用2个字节偏移量 (0≤DISP≤65535); 11=寄存器寻址方式, 3.1 R/M表示寄存器,并与OP字段的w位一起决定寄存器是8位还是16位。 REG用于选择寄存器,并与OP字段的w位一起决定寄存器是8位还是16位。 MOD中寄存器的选择: DI BH 111 SI DH 110 BP CH 101 SP AH 100 BX BL 011 DX DL 010 CX CL 001 AX AL 000 w=1 w=0 REG或MOD=11的R/M 3.1 R/M对有效地址形成的规定 DS DI BH (BX)+DISP16 (BX)+DISP8 (BX) 111 SS SI DH (SP)+DISP16 (SP)+DISP8 直接地址 110 DS BP CH (DI)+DISP16 (DI)+DISP8 (DI) 101 DS SP AH (SI)+DISP16 (SI)+DISP8 (SI) 100 SS BX BL (BX)+(DI)+DISP16 (BX)+(DI)+DISP8 (BX)+(DI) 011 SS DX DL (BX)+(SI)+DISP16 (BX)+(SI)+DISP8 (BX)+(SI) 010 DS CX CL (BX)+(DI)+DISP16 (BX)+(DI)+DISP8 (BX)+(DI) 001 DS AX AL (BX)+(SI)+DISP16 (BX)+(SI)+DISP8 (BX)+(SI) 000 w=1 w=0 默认段寄存器 11 10 01 00 MOD R/M 3.1 默认段寄存器是没有段跨越前缀时隐含的段寄存器, 但如果在指令前指定了段跨越前缀,则使用指定段寄存器。 段跨越前缀的格式: 110 SEG 001 其中001和110是标志位,SEG的2位信息用于指定段寄存器。 DS 11 SS 10 CS 01 ES 00 段寄存器 SEG 注意:段跨越前缀只能用于代码段的指令中,对堆栈指令不能使用,对串操作指令使用的目的寄存器DI只能使用ES而不能段跨越。 3.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档