我在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