寻址

  • 意义
    • 指令中用于说明操作数所在的方式称作立即寻址。
    • 汇编中整数常量称作立即数。
    • 立即数可以是8位数,也可以是16位数。
  1. 立即寻址
  • 示例
    • mov al,80h ;将8位立即数80h送入al寄存器
    • mov ax,1234h ;将16立即数1234h送入ax寄存器

image.png

  • 说明
    • 操作数的值存储在寄存器的寻址方式称作寄存器寻址。
    • 寄存器包括通用寄存器,段寄存器。
  1. 寄存器寻址

image.png

  • 注意
    • 段寄存器之间不能赋值
    • 指令指针寄存器不能用作寻址。
  1. 直接寻址
  • 说明
    • 操作数值在内存中,机器码中存储16为段内偏移的寻址方式称作直接寻址
  • 示例image.png
  1. 寄存器间接寻址
  • 说明
    • a. 操作数值在内存中,段内偏移存储在寄存器中的寻址方式称作寄存器间接寻址。
    • b. 间接寻址的寄存器有BX,BP,SI,DI。

image.png
image.png

  1. 寄存器相对寻址
  • 说明
    • 操作数值在内存中,段内偏移存储由[寄存器+立即数]计算得来的寻址方式称作寄存器相对寻址。
    • 寄存器相对寻址的寄存器有BX,BP,SI,DI.
    • 寄存器相对寻址的立即数可以是8位,可以是16位的。

image.png
image.png

  1. 基址变址寻址
    1. 操作数值在内存中,段内偏移由[寄存器+寄存器]计算得来的寻址方式称作基址变址寻址。
    2. 可用做基址的寄存器有BX,BP。
    3. BX默认DS段,BP默认SS段。
    4. 可用作变址的寄存器有SI,DI。

image.png
image.png

  1. 基址变址相对寻址
  • 说明
    1. 操作数值在内存中,段内偏移由[基址寄存器+变址寄存器+偏移常量]计算得来的寻址方式称作基址编制寻址。
    2. 可用做基址的寄存器有BX,BP。
    3. BX默认DS段,BP默认SS段。
    4. 可用做变址的寄存器有SI,DI。
    5. 可用做常量的数值可以是8位,可以是16位。

image.png

  • 以下操作不存在
    • 内存到内存
    • 段寄存器到内存
    • 内存到段寄存器