8086寻址方式总结(7种)

在这里插入图片描述
思维导图: https://pan.baidu.com/s/1fkikTHx-C0TcVlmafzofAg 提取码:java

8086寻址方式

立即寻址

立即寻址

  • 解释

    • 操作操作数在指令中,跟在操作码后面,8或16位
    • 常用来给寄存器赋初值
  • 注意

    • 可以送到存储单元(8位)或两个连续的存储单元中
    • 只能做源操作数, 不能做目的操作数
    • A-F开头应该加0,比如 0A234H
  • 举例

    • MOV AL,03H
    • MOV BX,2432H

寄存器寻址

寄存器寻址

  • 解释

    • 操作数在寄存器中,指令指定寄存器名称
  • 注意

    • 源操作数长度必须和目的操作数一致
  • 举例

    • MOV DX,BX
    • MOV AL,BH

存储器寻址

直接寻址

  • 解释

    • 操作数的偏移地址在代码段中指令的操作码之后
  • 注意

    • 操作数物理地址 = 10H * DS + EA(有效地址)
    • 默认使用DS作为数据段寄存器
  • 举例

    • MOV AX,[2000H]
      MOV AX,ES:[1200H] (物理地址为 10H * ES + 1200H)

寄存器间接寻址

  • 解释

    • 指令中给出的寄存器中的值为操作数的有效地址
  • 注意

    • 常用寄存器 BX、BP、DI、SI
    • 物理地址 = 16 * DS + BX/SI/DI
      物理地址 = 16 * SS + BP
  • 举例

    • MOV AX,[BP]
    • MOV BX,[SI]

寄存器相对寻址

  • 解释

    • 操作数的有效地址是基址或变址的内容+指令中指定的8/16位位移量之和
  • 注意

    • 就比寄存器间接寻址多了个位移量
    • 常用寄存器 BX、BP、DI、SI
    • 物理地址 = 16 * DS + BX/SI/DI + 位移量
      物理地址 = 16 * SS + BP + 位移量
  • 举例

    • MOV BX,COUNT[SI]
    • MOV BX,[SI+COUNT]

COUNT 为地址,比如 2000H

基址变址寻址

  • 解释

    • 有效地址 = 基址寄存器(BX/BP) + 变址寄存器(SI/DI)
  • 注意

    • 物理地址 = 16 * DS + BX + SI/DI
      物理地址 = 16 * SS + BP + SI/DI
  • 举例

    • MOV AX,[BX][SI]
    • MOV AX,[BX+SI]

相对基址变址寻址

  • 解释

    • 有效地址 = 基址+变址+8/16位位移量
  • 注意

    • 就是基址变址寻址多了个位移量
    • 物理地址 = 16 * DS + BX + SI/DI + 位移量
      物理地址 = 16 * SS + BP + SI/DI + 位移量
  • 举例

    • MOV AX,COUNT[BX][SI]
    • MOV AX,[BX][COUNT + SI]

参考资料: 微型计算机原理与接口技术(第6版).周荷琴 冯焕清.中国科学技术大学出版社

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值