2.2.6 基址变址寻址方式

2.2.6 基址变址寻址方式

操作数的有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。因此这种寻址方式只有四种组合,两种寄存器均由指令指定。默认使用段寄存器的情况由所选用的基址寄存器决定。若使用BP,则默认与SS配合;若使用BX,则默认与DS配合。允许使用段超越前缀,即:

img34

【例2-13】 MOV AL,[BX][SI]

该指令也可以表示为:MOV AL,[BX+SI]

执行结果为:(DS:[BX+SI])→AL

若(DS)=3000H,(BX)=6780H,(SI)=0041H,(367C1H)=12H,则

物理地址=(DS)×16d+(BX)+(SI)=367C1H

该指令的执行结果是(AL)=12H,指令执行情况如图2-7所示。

img35

图2-7 例2-13执行情况

使用这种寻址方式可以访问一维数组,其中BX存放数组起始地址的偏移量,SI存放第i个元素距离数组起始地址的位移,下标i从0开始计数。