大家好,我是小新,我来为大家解答以上问题。寄存器寻址的寻址范围,寄存器寻址很多人还不知道,现在让我们一起来看看吧!
1、
1、寄存器(直接)寻址:指令中指出暂存操作数的寄存器。寄存器的内容就是操作数。如:AX里放1,BX里放2,ADD AX,BX结果为AX=3。
2、寄存器间接寻址,指令中指明存放操作数偏移地址的寄存器。即操作数放在内存空间的某个地方,这个地方的地址由段地址和寄存器所指出的偏移量进行计算得出。段地址按照一定的约定给出。若指令中指出的是BX,SI或DI寄存器(未定义附加段)时,说明操作数在数据段中,先用DS的值与寄存器的内容合成物理地址;若指令中指出BP,说明操作数在堆栈段,选用SS的值与寄存器的内容合成物理地址;若定义了附加段,且指令中指出了DI寄存器,那么选用ES与DI合成物理地址;若在指令中有超越段前缀,则选用指令中指出的段寄存器值与寄存器的内容合成物理地址。
3、如:MOV AX,[BX]
4、操作数[BX]为寄存器间接寻址方式。
5、若DS=4000H,BX=100H,存储单元(40100H)=3256H
6、物理地址=16*DS+BX=40000H+100H=40100H
7、执行后AX=3256H
8、简单地说,直接寻址,操作数在寄存器中;间接寻址,操作数在某存储单元中,该存储单元地址由段地址寄存器和偏移地址寄存器决定。
本文到此讲解完毕了,希望对大家有帮助。