有关寄存器寻址与寄存器间接寻址的区别,寄存器的内容就是操作数,寄存器(直接)寻址:指令中指出暂存操作数的寄存器,一起来了解下。
当操作数地址在寄存器中,应该采用寄存器间接寻址;当操作数在寄存器中,应该采用寄存器寻址。
寄存器(直接)寻址:指令中指出暂存操作数的寄存器。
1、寄存器的内容就是操作数。
例如:AX里放1,BX里放2,ADD AX,BX结果为AX=3。寄存器间接寻址,指令中指明存放操作数偏移地址的寄存器。即操作数放在内存空间的某个地方,这个地方的地址由段地址和寄存器所指出的偏移量进行计算得出。
段地址按照一定的约定给出。若指令中指出的是BX,SI或DI寄存器(未定义附加... 全部 寄存器(直接)寻址:指令中指出暂存操作数的寄存器。
2、寄存器的内容就是操作数。
例如:AX里放1,BX里放2,ADD AX,BX结果为AX=3。寄存器间接寻址,指令中指明存放操作数偏移地址的寄存器。即操作数放在内存空间的某个地方,这个地方的地址由段地址和寄存器所指出的偏移量进行计算得出。段地址按照一定的约定给出。来自:电工技术之家
若指令中指出的是BX,SI或DI寄存器(未定义附加段)时,说明操作数在数据段中,先用DS的值与寄存器的内容合成物理地址;若指令中指出BP,说明操作数在堆栈段,选用SS的值与寄存器的内容合成物理地址;
若定义了附加段,且指令中指出了DI寄存器,那么选用ES与DI合成物理地址;若在指令中有超越段前缀,则选用指令中指出的段寄存器值与寄存器的内容合成物理地址。如:MOV AX,[BX]操作数[BX]为寄存器间接寻址方式。