在汇编语言中MOV AX,3[BX]是什么寻址

2024-12-16 15:50:35
推荐回答(3个)
回答1:

这是 寄存器相对寻址方式。
操作数的有效地址是一个基址或变址寄存器的内容和指令中指定的8位或16位
位移量(displacement)之和。
除有段跨越前缀者外,对于寄存器为BX,SI,DI的情况,段寄存器用DS,而寄存器BP则使用SS段寄存器的内容作为段地址。
物理地址=16D*(DS)+ (BX)或(SI)或(DI + 8位位移量或16位位移量

或 物理地址=16D*(SS)+ (BP) + 8位位移量或16位位移量

例:MOV AX,COUNT[SI]
其中COUNT 为16位位移量的符号地址。
如果(DS)=3000H,(SI)=2000H,COUNT=3000H
则物理地址=30000+2000+3000=35000H
执行结果是(AX)=1234H
这种寻址方式同样可用于表格处理,表格的首地址可设置为COUNT,利用修改基址或变址寄存器的内容来取得表格中的值。
直接变址寻址方式也可以使用段跨越前缀。
例如:MOV DL,ES:STRING[SI]

回答2:

相对基址寻址,这是它的另一种写法,BX是基址寄存器,3是偏移量
另一种表达式: MOV AX,[BX+3H]

回答3:

源操作数是加偏移量的寄存器间接寻址