assembly 有没有办法拿到登记处的地址?

o2rvlv0m  于 2023-11-19  发布在  其他
关注(0)|答案(3)|浏览(103)

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

g0czyy6m

g0czyy6m1#

寄存器是处理器的内部存储器。它们没有内存地址,因为它们不驻留在内存中。您可以通过它们的名称来识别它们:例如EAX。
也就是说,内存Map寄存器确实存在,但在任何现代处理器中,它们都属于其他设备,而不是CPU。为了方便起见,它们被分配了“假”内存地址。参见memory-mapped I/O

c9qzyr3d

c9qzyr3d2#

有些架构使用低地址来指定CPU寄存器,如Univac 1100系列计算机。
http://en.wikipedia.org/wiki/UNIVAC_1100/2200_series
当前的x86硬件不能以这种方式工作,因此您无法获得EAX寄存器的地址-它没有一个。

hjqgdpho

hjqgdpho3#

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

相关问题