2013-04-09 57 views
1

我有这样获得从联汇编代码

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

一个联汇编代码我想在得到的值的值[ESP + 4]在一个单独的可变12345678H被写入那里之前,这是我可以在我的C++代码中进一步使用。

+0

1.'__asm'是一个非标准的,不可移植的C++扩展。你正在使用哪种编译器? 2.您的研究中使用了哪种编译器手册? – Sebivor 2013-04-09 06:59:42

+0

我正在使用Visual C++ 2005 – Faheem 2013-04-09 07:01:45

回答

0

根据我在不到5分钟内找到的this manual,变量标识符在__asm块内有效。然后我点击下的“Accessing C or C++ data in __asm blocks”的链接找到了一个相关的例子在“你想知道更多关于什么办法呢?”该手册的部分:

内联汇编了极大的便利是指能力到C或 按名称的C++变量。 __asm块可以引用包含变量名称的任何符号,即 ,它们在该块出现的范围内。 例如,如果C变量var是在范围内,指令

__asm mov eax, var

存储变种在EAX值。

+0

找到我的答案。谢谢 – Faheem 2013-04-09 07:17:38