你怎么能从寄存器中提取一个值?

h43*_*344 2 c++ x86 assembly

我试图弄清楚如何从ASM指令中提取寄存器值并将其转换为C++中的变量.

例如:MOV DWORD PTR DS:[ESI],EDI

(假设EDI值为int)int value = EDI;

Dwe*_*rly 5

取决于您的编译器.搜索"内联汇编"和您使用的编译器.例如使用VC++

   int32_t x;
   _asm mov x, eax;
Run Code Online (Sandbox Code Playgroud)

(可能是__asm).GNU使用不同的语法