我在Visual Studio 2012如何調用匯編
我試圖從彙編程序調用printf編程x86彙編C函數,但只要我包括EXTERN行拋出一個錯誤。這可能是一些非常愚蠢的事情,比如包含C函數庫,但是我找不到任何在線資源來告訴我如何正確執行它。
這裏是我的代碼:
.model flat
EXTERN _printf
.data
digits byte "0" dup (10), 0
.code
main proc
lea eax, digits
push eax
call _printf
add esp, 4
main endp
END
而拋出的錯誤是:
error A2008: syntax error : in directive
第3行(用EXTERN行)
編輯:添加有關環境(第一線)。
這是編譯器和彙編具體,但看起來國外這麼說,唯一的一點是'EXTERN',而不是'extern'和一些彙編程序是挑剔'printf',而不是'_printf'但大部分同時處理。你是如何編譯的?組裝,鏈接'ld'(手動)或調用'gcc'兩者? –
我已經嘗試過所有這些。我正在使用Visual Studio 2012.我不確定它是如何組裝的,但它是一個x86控制檯應用程序。 – DroidFreak36
['EXTERN _printf:proc'](https://msdn.microsoft.com/en-us/library/vstudio/7cycf5bc.aspx) – rkhb