通用寄存器问题!

AX不能存储地址吗?BX只存储地址吗?还是8086的8个通用寄存器通都可用于传送和暂存数据?
2026年09月27日 03:51
有3个网友回答
网友(1):

实际上所有的通用寄存器都可以传送、暂存地址和数据,也可以保存运算结果。关键要看作什么用途,在程序中起什么作用。

你问的可能是一些更加细节化的东西,比如作存储器间接寻址的寄存器时,8086只有4个:BX、BP、SI和DI。在这种情况下,这四个寄存器存储的是地址。其它的就不能存地址吗?——也不对,因为它们虽不能用作间接寻址,但同样也可以作为一个中间变量保存地址,只不过在写代码时要走一个弯路。

至于数据的处理,如数据传送指令、算数和运算指令、栈处理指令等等对这些通用寄存器都有效。非通用寄存器,比如:IP、FR以及段寄存器在使用这些指令时会受到严格的限制,比如这些寄存器不能直接赋予一个立即数改变其值。

网友(2):

AX可以存地址啊,地址也是数据。BX也可以存其他东西的。可以,你随便mov下试试就知道了。 只是有的指令会隐式的用到有的寄存器,所以数据存放自己要清楚就可以了

网友(3):

都可以,在电脑上自己做做就明白了