汇编语言相对基址变址寻址方式

本文内容

操作数的有效地址是一个基址寄存器和一个变址寄存器以及一个位移量之和,这种寻址方式称为相对基址变址寻址。它所允许使用的基址寄存器为 BX 和 BP,变址寄存器为 SI 和 DI。默认段寄存器的规定与寄存器间接寻址方式中一样。位移量可以是常量,也可以是符号地址。

操作数的物理地址=(DS)×10H+(BX)+(DI)+8位(16位)位移量

操作数的物理地址=(DS)×10H+(BX)+(SI)+8位(16位)位移量

操作数的物理地址=(SS)×10H+(BP)+(SI)+8位(16位)位移量

操作数的物理地址=(SS)×10H+(BP)+(DI)+8位(16位)位移量

例 16

1
2
3
4
5
MOV AX,MASK[BX][SI]  ; 默认DS寄存器作段地址

MOV AX,[MASK+BX+SI]  ; 默认DS寄存器作段地址

MOV AX,[BX+SI].MASK  ; 默认DS寄存器作段地址

以上 3 种表示形式实现的功能是一样的。其有效地址 EA=MASK+(BX)+(SI);物理地址=(DS)×10H+EA。

这种寻址方式可用于二维数组的处理,数组的首地址为 ARRY,基址寄存器指向数组的行,变址寄存器指向该行的某个元素。利用修改基址寄存器和变址寄存器的内容可以方便地访问数组中的各个元素。

请参阅

(完)

comments powered by Disqus

本文内容