有沒有辦法得到寄存器的地址?例如,eax寄存器的地址(不是它的內容)。有沒有辦法得到寄存器的地址?
回答
寄存器是內部處理器存儲。 他們沒有內存地址,因爲他們不駐留在內存。例如,您可以通過它們的名稱來識別它們:EAX。這就是說,內存映射寄存器確實存在,但是在任何現代處理器中,它們都屬於其他設備,從來都不是CPU。爲方便起見,它們被分配了「假」內存地址。見memory-mapped I/O。
我會補充說,他們也沒有映射到RAM。由於映射正在進行,因此許多硬件設備的寄存器都具有「地址」。這裏唯一的一點是x86不會使這些寄存器變爲可映射的。 – 2012-05-20 06:29:10
好點!和更多的字符 – slezica 2012-05-20 08:39:50
@ MahmoudAl-Qudsi:64位版本的架構也是如此嗎? – user2284570 2016-09-05 20:57:04
寄存器是CPU電路內的物理電子組件。他們不在RAM中,所以沒有地址。要訪問它的內容,請使用mov
指令。
很好,很感謝這些答案 – jerome 2011-03-14 17:39:17
'寄存器是CPU電路內部的物理電子組件。對於case情況下的ʀᴀᴍ也是如此。 – user2284570 2016-09-05 20:58:28
已有架構使用低地址來指定CPU寄存器,如Univac 1100系列計算機。
http://en.wikipedia.org/wiki/UNIVAC_1100/2200_series
當前的x86硬件不工作的方式,這樣你就不能獲得EAX寄存器的地址 - 它只是沒有一個。
一些微控制器仍然有內存映射寄存器,例如AVR(具有32個GP寄存器的8位RISC):http://www.avr-tutorials.com/general/avr-memory-map。 – 2017-09-19 02:38:15
- 1. 有沒有辦法獲得CDT中的PC寄存器值?Eclipse
- 2. 有沒有辦法利用所有的XMM寄存器?
- 3. 有沒有辦法讓sbcl打印出CPU寄存器的值?
- 4. 有沒有辦法在vim中區分兩個寄存器?
- 5. x386,有沒有辦法使用另一個寄存器PUSH?
- 6. 有沒有辦法獲得參考地址?
- 7. 有沒有辦法告訴瀏覽器加入地址欄以外的地址?
- 8. MIPS:將寄存器地址複製到另一個寄存器
- 9. 有沒有辦法在GDB中查看所有寄存器的特定值?
- 10. 68k寄存器地址
- 11. PCIe MSI地址寄存器
- 12. 從寄存器移動到有效地址
- 13. 有沒有辦法間接輸入文本到地址欄?
- 14. Netsuite:有沒有辦法擁有專門的裝運地址和帳單地址?
- 15. $ ESP寄存器沒有找到
- 16. 有沒有辦法直接將一個寄存器的值寫入文件?
- 17. 沒有得到codeigniter的IP地址
- 18. 有沒有辦法獲得維基百科網址的最終目的地?
- 19. 有沒有辦法讓一個字大小在32位寄存器指令
- 20. 有沒有辦法獲得與Windows Live ID關聯的電子郵件地址?
- 21. 有沒有什麼辦法可以在Rust中獲得`struct`的地址?
- 22. 有沒有辦法得到沒有CONNECTION變量的mysqli_error?
- 23. 有沒有辦法得到沒有文本的UIDatePickerView?
- 24. getaddrinfo沒有得到ipv6地址
- 25. 有沒有辦法獲得連接到交換機的每個路由器的mac地址和ip?
- 26. 有沒有辦法找到我局域網內所有用戶的IP地址?
- 27. 有沒有辦法根據地址生成位置的座標?
- 28. 有沒有辦法用C ping特定的IP地址?
- 29. 有沒有辦法找到最近的交叉街道的地址?
- 30. 有沒有辦法從Bing SOAP Search Service獲取地址?
你的意思是「寄存器的地址」是什麼意思? – 2011-03-14 16:17:49