在彙編編程中完成堆棧操作(如push和pop)後,是否可以獲得堆棧的有效起始地址?在彙編編程中獲取堆棧的起始地址
2
A
回答
1
約定是在函數的開頭將(E)SP保存到(E)BP,並使用(E)BP作爲局部變量尋址。
0
最簡單的情況就是將初始堆棧指針保存到某些需要時訪問它的變量。如果不是這種情況,請使用特定於平臺的API,例如Windows上的VirtualQuery,使用當前的SP值作爲第一個參數。基地址將在MEMORY_BASIC_INFORMATION結構的BaseAddress字段中。使用pthread函數可以完成posix任務
+0
請編輯並清理Windows與Posix。我解決了第一個問題... – bmargulies 2010-03-01 14:08:48
+0
請你解釋一下如何在MASM上完成... – 2010-03-01 16:26:02
相關問題
- 1. 彙編堆棧索引地址
- 2. 堆棧在NASM彙編
- 3. 獲取彙編64的argv [2]地址
- 4. 彙編堆棧指針AVR
- 5. 彙編語言 - 堆棧機
- 6. 彙編堆棧持久性
- 7. 獲取當前進程的堆的起始地址?
- 8. 內聯彙編程序獲取指針Visual Studio的地址
- 9. 獲取線程起始地址
- 10. 在MIPS彙編中獲取地址超出範圍?
- 11. 如何以編程方式獲取Linux上堆的地址
- 12. ARM彙編 - 監視器堆棧指針
- 13. 瞭解彙編堆棧操作
- 14. 彙編堆棧管理通過%esp
- 15. MC68k彙編程序地址語法
- 16. GNU彙編:獲取標籤/變量的地址[Intel語法]
- 17. 關於堆棧指針的簡單彙編程序問題
- 18. 如何獲取C++中的進程的起始/基地址?
- 19. 在x86彙編代碼中追蹤堆棧
- 20. 彙編代碼中可能的堆棧溢出
- 21. 中毒內核堆棧的彙編代碼
- 22. 開始彙編
- 23. 堆棧參數從堆棧中的錯誤內存地址讀取
- 24. 「彙編」與「彙編程序」
- 25. 我可以從pthread_self()獲得一個線程的堆棧地址()
- 26. 查詢在彙編語言堆棧指針使用
- 27. 如何獲取當前進程的起始地址--- Linux
- 28. 線程起始地址
- 29. 彙編程序:獲得的Win32的WinMain函數的棧參數
- 30. x86彙編寄存器地址
你的意思是起始地址(即基地址,它沒有改變),還是你真的指棧頂的地址,即堆棧指針的當前值? – 2010-03-01 13:54:27
的起始基地址...甚至堆棧的頂部將盡...但最好基地址 – 2010-03-01 13:55:20
基地址不會改變 - 這是堆棧指針開始在你的程序開始。堆棧地址的頂部是按下/彈出時會發生什麼變化。你究竟想要哪一個? – 2010-03-01 13:57:33