IP寻址方式三

5、寄存器相对寻址方式:

  操作数在存储器中,操作数的有效地址是一个基址寄存器(BX、BP)

  或变址寄存器(SI、DI)的内容加上指令中给定的8位或16位位移量之和

  BX 8位 位移量

  EA(有效地址) = BP +

  SI 16位 位移量

  DI

  在一般情况下,如果SI、DI、或BX中的内容作为有效地址的一部分,那么

  引用的段寄存器是DS;如果BP中的内容作为有效地址的一部分,那么引用的

  段寄存器是SS。

  物理地址 = 16d × (DS) + (BX) + 8

  或(SI)或16位位移量

  或(DI)

  物理地址 = 16d × (SS) + (BP) + 8位位移量

  或16位位移量

  在指令中给定的8位或16位位移量采用补码形式表示。在计算有效地址时,如

  位移量是8位,则被带符号扩展成16位。

  例如:

  MOV AX,[DI+1223H]

  假设,(DS) = 5000H,(DI) = 3678H

  则物理地址 = 50000 + 3678 + 1233 = 5489BH

  5489BH地址中的内容:55AAH

  执行该指令后AX = 55AAH

  下面指令中,源操作数采用寄存器相对寻址,引用的段寄存器是SS: MOV BX,[BP-4]

  下面指令中,目的操作数采用寄存器相对寻址,引用的段寄存器是ES: MOV ES:[BX+5],AL

  指令:MOV AX,[SI+3]与MOV AX,3[SI]是等价的

猜你喜欢

转载自www.cnblogs.com/123zhangyue/p/11954941.html