从内联汇编代码中获取值

时间:2013-04-09 06:57:25

标签: visual-c++ x86 inline-assembly

我有像这样的内联汇编代码

__asm
{
    MOV dword ptr [esp+4], 12345678h
}

我想在12345678h写入之前在[esp + 4]中获取单独变量的值,我可以在我的c ++代码中进一步使用。

1 个答案:

答案 0 :(得分:0)

根据我在不到五分钟内发现的this manual,变量标识符在__asm块内有效。然后,我点击了该手册中“您想了解更多信息?”部分下的“Accessing C or C++ data in __asm blocks”链接,找到相关示例:

  

内联汇编的一个很大的便利是能够引用C或   C ++变量的名称。 __asm块可以引用任何符号,   包括变量名称,它们在块出现的范围内。   例如,如果C变量var在范围内,则指令

     

__asm mov eax, var

     

将var的值存储在EAX中。