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]是等价的

posted @ 2019-11-28 23:50  lalalallala  阅读(328)  评论(0编辑  收藏  举报