|      
       操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量之和。其有效地址的计算公式如右式所示。 
  |     
        
       
  |     
  
指令中给出的8位/16位偏移量用补码表示。在计算有效地址时,如果偏移量是8位,则进行符号扩展成16位。当所得的有效地址超过0FFFFH,则取其64K的模。
例3.3 假设指令:MOV BX, [SI+100H],在执行它时,(DS)=1000H,(SI)=2345H,内存单元12445H的内容为2715H,问该指令执行后,BX的值是什么?
|     
       解:根据寄存器相对寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:  |    
                             
 
 图3.5 寄存器相对寻址方式的执行过程示意图  |      
  
|      
       EA=(SI)+100H=2345H+100H=2445H  |     
  |
|     
       该操作数的物理地址应由DS和EA的值形成,即:  |    
  |
|    
       PA=(DS)*16+EA=1000H*16+2445H=12445H。 所以,该指令的执行效果是:把从物理地址为12445H开始的一个字的值传送给BX。 其执行过程如图3.5所示。  |