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

本文内容

操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和,这种寻址方式称为基址变址寻址。允许使用的基址寄存器为 BX 和 BP,变址寄存器为 SI 和 DI。默认段寄存器的规定与寄存器间接寻址方式中一样。

操作数的物理地址=(DS)×10H+(BX)+(DI)

操作数的物理地址=(DS)×10H+(BX)+(SI)

操作数的物理地址=(SS)×10H+(BP)+(SI)

操作数的物理地址=(SS)×10H+(BP)+(DI)

例 14 MOV AX,[BX+DI]

执行前:已知(DS)=2100H,(BX)=0158H,(DI)=10A5H,(221FD)=34H,(221FE)=95H,(AX)=0FFFFH。则

有效地址EA=(BX)+(DI)=0158H+10A5H=11FDH

物理地址=(DS)×10H+EA=21000H+11FDH=221FDH

执行后,(AX)=9534H

例 15

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
MOV AX,[BX][SI]    ; 默认DS寄存器作段地址

MOV AX,[BP][DI]    ; 默认SS寄存器作段地址

MOV AX,ES:[BX][DI]   ; 指定ES寄存器作段地址

MOV DX,[BP][SI]    ; 默认SS寄存器作段地址

MOV [BX+DI],CX     ; 默认DS寄存器作段地址

MOV [BP+SI],AL     ; 默认SS寄存器作段地址

这种寻址方式可用于一维数组的处理,数组的首地址可放在基址寄存器,利用修改变址寄存器的内容来定位数组中的各元素。由于基址寄存器和变址寄存器都可以修改,所以访问数组中的各个元素更加灵活。

请参阅

(完)

comments powered by Disqus

本文内容