跳转至

内存操作数寻址方式

直接寻址方式

  • 内存操作数的偏移地址由指令直接给出
  • DS:[2000H]单元的内容传送至ax寄存器
    mov ax, [2000H];    
    
    • 高字节内容送至AH寄存器,低字节送至AL寄存器

寄存器间接寻址方式

  • 指定某个地址寄存器(SI,DI,BX,BP)的内容作为内存操作数的偏移地址
    mov ax, [bx];
    
  • 使用场合:表格、字符串、缓冲区处理

寄存器相对寻址方式

  • 指令中指定地址寄存器(SI,DI,BX,BP)与一个位移量相加作为内存操作数的偏移地址
    mov ax, [si + 2]
    
  • 使用场合:表格、字符串、缓冲区的处理、一维数组(DATA[DI]=[DATA+DI]

基址变址寻址方式

  • 指定基址寄存器(BX,BP)、变址寄存器(SI,DI)内容相加作为内存操作数的地址
    mov [bx+di],dx;
    mov al, [bp+si];
    
  • 使用场合:数组、字符串、表格
  • 注:必须为一个基址寄存器和一个变址寄存器的组合

相对基址变址方式

  • 指定基址寄存器(BX,BP)、变址寄存器(SI,DI)、位移之和作为内存操作数的地址
    mov al, [si+bx+2]
    
  • 使用场合:适用于二维数组的寻址(Buffer[BX][SI]=[BUFFER+BX+SI])