操作数的寻址方式.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文档。上传文档
查看更多
寻址方式应用举例 相对基址加变址寻址: 设EBX=0158H,BX=0158H,DI=10A5H, EDI=10A5H,位移量=1B57H,DS=2100H 1B57H[BX][DI] 有效地址=0158H+10A5H+1B57H=2D54H 物理地址=2100H×10H+2D54H=23D54H 操作数的寻址方式 寄存器 1)通用寄存器 8个32位寄存器: EAX、EBX、ECX、EDX、ESP、EBP、ESI和EDI 8个16位寄存器: AX、BX、CX、DX、SP、BP、SI和DI 8个8位寄存器: AH、BH、CH、DH、AL、BL、CL和DL 2)段寄存器:CS、DS、ES、SS、FS和GS 3)指令指针寄存器:EIP(32位)和IP(16位) 4)FLAGS(标志)寄存器:EFR(32位)和FR(16位) 标志寄存器 常用标志的分类 6个状态标志:CF,ZF,SF,PF,OF,AF 3个控制标志:DF,IF,TF 默认16位段+偏移寻址组合 段 偏移地址 主要用途 CS IP 指令地址 SS SP或BP 堆栈地址 DS BX,SI,DI,变量名,8或16位数 数据地址 ES DI(目的串偏移地址) 目的串地址 默认32位段+偏移寻址组合 段 偏移地址 主要用途 CS EIP 指令地址 SS ESP或EBP 堆栈地址 DS EAX,EBX,ECX,EDX,ESI,EDI,变量名,8或32位数 数据地址 ES EDI(目的串偏移地址) 目的串地址 FS/GS 无默认 一般地址 32位微处理器的工作方式 实地址方式 虚拟地址方式(保护方式) 虚拟8086方式 操作数类型 立即数(常数,常量):im 寄存器操作数:r 内存操作数:m 目的操作数 源操作数 r m im r m im r 操作数寻址方式 微机指令系统使用3种来源的操作数 寻址(addressing):指出指令中数值型操作数的位置或地址型操作数的形成方式 寻址方式(addressing mode):寻找操作数的不同方法 说明: 操作数采取不同寻址方式会影响指令运行速度 熟悉寻找操作数的方法对汇编程序设计至关重要 立即数寻址(Immediate Addressing) 定义:操作数在指令中 寻址过程:指令→立即数 用途:给寄存器/内存单元赋值 特点: 取立即数不需占用总线周期,快 程序执行过程中数值不改变,常数 例: MOV AX,1234H 低地址 高地址 CS …… 操作码 34H 12H 34H 12H AX 寄存器寻址(Register Addressing) 定义:操作数在CPU内部寄存器中 寻址过程:指令→寄存器→数 书写:寄存器名 例:已知:BX=1234H,MOV AX, BX 优点:在CPU内寻找操作数,存取速度快 34H 12H BX AX 12H 34H 存储器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址加变址寻址 相对基址加变址寻址 相对比例变址寻址 基址加比例变址寻址 相对基址加比例变址寻址 直接寻址(Direct Addressing) 定义:内存操作数的偏移地址在指令中 寻址过程: 有效地址形成: 书写: 变量名 例:MOV AL, a 将DS:a为地址的内存单元的数据送AL( a事先已定义) 数值(无符号整数) 例:MOV AL, DS:[1100H] 注意:在宏汇编程序中段寄存器名不能缺省 与段r合成 指令 偏移地址 物理地址 数 寄存器间接寻址 (Register Indirect Addressing) 定义:寄存器的内容是要寻找的内存操作数的偏移地址 寻址过程: 书写:[寄存器名] 间址寄存器: 16位机: BX、BP、SI和DI 32位机: EAX、EBX、ECX、EDX、ESP、EBP、ESI和EDI 与段r合成 指令 偏移地址 物理地址 数 寄存器 寄存器间接寻址 (Register Indirect Addressing) 说明: 若以BX,SI,DI(16位机)或EAX,EBX,ECX,EDX,ESI和EDI (32位机)之一作间址寄存器,默认与DS合成物理地址 若以BP和EBP作为间址寄存器,默认与SS合成物理地址 若将间址寄存器内容作为其它段偏移地址,需加段超越符号。例:ES:[SI] 特点:在程序运行时修改寄存器内容,可用同一条指令对不同内存单元的数据进行操作 低地址 高地址 CS段 操作码 34H 12H 34H 12H AX DS段 20000H 21100H DS 2000 0 1100 21100H + 例1:DS=200

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档