首页 理论教育 寄存器相对寻址方式

寄存器相对寻址方式

时间:2023-02-28 理论教育 版权反馈
【摘要】:操作数的有效地址是一个基址或变址寄存器的内容和指令中给定的一个位移量之和。与段寄存器的配合情况同寄存器间接寻址方式,即若指令中寄存器相对寻址方式使用BP、SP,则默认与SS段寄存器配合;使用其他通用寄存器,则默认与DS段寄存器配合。这两种情况都允许使用段超越前缀。使用寄存器相对寻址方式可以访问一维数组,其中TABLE是数组起始地址的偏移量,寄存器中存放第i个元素距离数组起始地址的位移,下标i从0开始计数。

2.2.5 寄存器相对寻址方式

操作数的有效地址是一个基址(BX、BP)或变址寄存器(SI、DI)的内容和指令中给定的一个位移量(DISP)之和。位移量可以是1个字节、1个字的带符号数。与段寄存器的配合情况同寄存器间接寻址方式,即若指令中寄存器相对寻址方式使用BP、SP,则默认与SS段寄存器配合;使用其他通用寄存器,则默认与DS段寄存器配合。这两种情况都允许使用段超越前缀。即:

img32

【例2-11】 MOV AL,8[BX]

也可以表示为:

MOV AL,[BX+8]

指令中源操作数的寻址方式为寄存器相对寻址方式,其中8是位移量。

若(DS)=3000H,(BX)=0070H,(30078H)=12H,则

物理地址=(DS)×16d+(BX)+8=30078H,指令的执行结果是(AL)=12H,指令执行情况如图2-6所示。

img33

图2-6 例2-11执行情况

【例2-12】 MOV AL,DISP[BX]

也可以表示为:

MOV AL,[BX+DISP]

其中DISP为位移量的符号表示,这种表示形式更普遍,执行结果为(DS:[BX+DISP])→AL。

使用寄存器相对寻址方式可以访问一维数组,其中TABLE是数组起始地址的偏移量,寄存器中存放第i个元素距离数组起始地址的位移(i乘以元素的长度(一个元素占用的字节数)),下标i从0开始计数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈