7

有没有办法获取寄存器的地址?例如,eax 寄存器的地址(不是它的内容)。

4

3 回答 3

7

有些架构使用低地址来指定 CPU 寄存器,例如 Univac 1100 系列计算机。

http://en.wikipedia.org/wiki/UNIVAC_1100/2200_series

当前的 x86 硬件无法以这种方式工作,因此您无法获得 EAX 寄存器的地址——它只是没有。

于 2011-03-14T22:32:32.847 回答
6

寄存器是内部处理器存储。它们没有内存地址,因为它们不驻留在内存中。您可以通过它们的名称来识别它们:例如 EAX。

也就是说,内存映射寄存器确实存在,但在任何现代处理器中,它们属于其他设备,而不是 CPU。为方便起见,它们被分配了“假”内存地址。请参阅内存映射 I/O

于 2011-03-14T16:16:34.767 回答
4

寄存器是 CPU 电路内部的物理电子元件。它们不在 RAM 中,因此没有地址。要访问它的内容,请使用mov说明。

于 2011-03-14T16:19:48.850 回答