2013-04-09 60 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