2
我想弄清楚如何從ASM指令中拉出一個寄存器值並將其轉換爲C++中的變量。如何從寄存器中提取值?
例如:MOV DWORD PTR DS:[ESI],EDI
(假設值EDI保持是一個int)int值= EDI;
我想弄清楚如何從ASM指令中拉出一個寄存器值並將其轉換爲C++中的變量。如何從寄存器中提取值?
例如:MOV DWORD PTR DS:[ESI],EDI
(假設值EDI保持是一個int)int值= EDI;
取決於你的編譯器。搜索「內聯彙編」和您使用的編譯器。例如用VC++
int32_t x;
_asm mov x, eax;
(可能是__asm)。 GNU使用不同的語法
當然,在代碼執行時,寄存器中的值可能已經改變。你真的想做什麼?也許你應該從上下文記錄中獲得它。 –