计算机的寻址方式(8086下汇编的表示方法)

  1. 立即寻址(Immediate Addressing)

    • 操作数直接包含在指令中。

      MOV AH, 5 ; 将立即数5赋值给寄存器AH

  2. 直接寻址(Direct Addressing)

    • 指令中包含的是操作数的确切内存地址。

      MOV AL, [0x8000] ; 将地址0x8000处的数据移动到AL寄存器

  3. 寄存器寻址(Register Addressing)

    • 操作数存储在CPU的寄存器中。

      ADD BX, CX ; 将CX寄存器的值加到BX寄存器中

  4. 寄存器间接寻址(Register Indirect Addressing)

    • 指令中包含一个寄存器的编号,该寄存器包含一个地址,该地址指向操作数的内存位置。

      MOV AX, [BX] ; 将BX寄存器指向的内存地址处的数据移动到AX寄存器

  5. 基址寻址(Base Addressing)

    • 使用基址寄存器(如BX或BP)的内容加上指令中指定的偏移量来形成操作数的地址。

      MOV AX, [BX + 10] ; 将BX寄存器的值加上10后,从该地址处获取数据到AX寄存器

  6. 变址寻址(Indexed Addressing)

    • 类似于基址寻址,但使用变址寄存器(如SI或DI)的内容加上指令中指定的偏移量来形成地址。

      MOV AX, [SI + 20] ; 将SI寄存器的值加上20后,从该地址处获取数据到AX寄存器

  7. 基址变址寻址(Base Indexed Addressing)

    • 结合基址寄存器和变址寄存器,加上指令中指定的偏移量来形成地址。

      MOV AX, [BX + SI + 30] ; 将BX和SI寄存器的值相加后再加上30,从该地址处获取数据到AX寄存器

  8. 相对寻址(Relative Addressing)

    • 指令中包含一个偏移量,该偏移量相对于当前指令的地址来计算目标地址。

      JMP +5 ; 跳转到当前指令地址加上5的位置

  9. 堆栈寻址(Stack Addressing)

    • 操作数位于堆栈中,指令通过堆栈指针(SP)加上或减去一个偏移量来访问堆栈中的元素。

      PUSH AX ; 将AX寄存器的值压入堆栈
      POP BX ; 从堆栈中弹出值到BX寄存器

  10. 段内偏移寻址(Offset Addressing within a Segment)

    • 使用段内偏移量来访问同一代码或数据段内的地址。

      MOV AX, [100] ; 将当前段内偏移量为100处的数据移动到AX寄存器

  11. 段间寻址(Inter-Segment Addressing)

    • 通过段寄存器和偏移量来访问不同段中的地址。

      MOV AX, ES:[200] ; 从ES段寄存器指定的段中,偏移量为200处获取数据到AX寄存器

相关推荐
极客互动API4 天前
企业微信 iPad 协议服务搭建与 AI 回调实战
网络·汇编·人工智能·微信·企业微信·ipad
wechatbot88810 天前
极客互动企业微信 SCRM 私域运营实战效果全景
大数据·汇编·微信·自动化·企业微信·rpa
祈禾15 天前
计算机组成原理之编译、汇编、链接、解释
开发语言·汇编·笔记·学习
水饺编程17 天前
AT&T 汇编语言学习笔记开篇语
c语言·汇编·c++
iCxhust17 天前
8088单板机VScode集成开发环境使用方法二(汇编版)
汇编·单片机·微机原理·8088单板机
·薯条大王17 天前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
txg66618 天前
VULOC:基于汇编切片的漏洞定位框架,精准锁定二进制中的危险代码
汇编·人工智能·深度学习·安全·网络安全
sunburn-19 天前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea
wechatbot8881 个月前
企业微信API开发:登录-联系人查询-消息发送完整开发流程分享
汇编·微信·自动化·企业微信·ai编程·rpa
00后程序员张1 个月前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势
android·汇编·ios·小程序·uni-app·cocoa·iphone