3.1.1.6 基址变址寻址方式 (Based indexed addressing)
这是一种基址加变址来定位操作数地址的方式,也就是说,操作数的有效地址是一个基址寄存器(BP或BX)和一个变址寄存器(SI或DI)的内容之和。如基址寄存器为BX时,与DS形成的物理地址指向数据段;如基址寄存器为BP时,与SS形成的物理地址指向堆栈段。如左图所示。
此种寻址方式也可使用段跨越前缀。
例如:MOV AX, ES:[BX][SI]
注意:一条指令中同时使用基址寄存器或变址寄存器是错误的。
例如:MOV CL, [BX+BP] 或 MOV AX, [SI+DI] 均为非法指令。
这种寻址方式同样适用于数组或表格处理。
首地址可存放在基址寄存器中,而用变址寄存器来访问数组中的各个元素。由于两个寄存器的值都可以修改,所以它比寄存器相对寻址方式更加灵活。
|