我有一個應用程序,我用C編寫的,我真的需要在調用函數之前修改其中一個處理器寄存器的值。通常我會用內聯彙編來做到這一點,但是我們都知道已經刪除了64位應用程序。由於某些項目限制,我也無法在單獨使用ml64編譯的.asm文件中執行此操作。所以基本上我需要執行下面的代碼內嵌相當於:Visual Studio 2010 x64 __setReg等價編譯器固有
_asm mov r10d, 0xDEADBEEF
有誰知道一個創意方法或一些其他編譯器的內部針對x64,這將允許你修改寄存器內聯的價值?
*爲什麼*你需要更改註冊?哪個註冊? – 2013-02-11 17:08:58
這是不可能的。你已經消除了另一種選擇。 – 2013-02-11 17:50:30
您仍然可以將機器代碼放入數組中,使底層內存可執行並執行它。那對創意來說如何? – 2013-02-11 18:23:00