这是我的(非常简单的)程序。当函数在我自己的 .cpp 文件中时,它可以完美运行,function
但是当我将它链接到另一个.asm
文件时,我会得到错误。我正在使用 Visual C++ 2010 Express 进行编译,我相信这是我正在使用的 32 位程序集。
#include <iostream>
extern "C" int function();
int main() {
std::cout << function();
std::cin.get();
}
function
定义为:
.code
function proc
mov eax, 50
ret
function endp
end
我得到了错误:
error A2013: .MODEL must precede this directive
error A2034: must be in segment block : function
error A2034: must be in segment block
error A2034: must be in segment block
fatal error A1010: unmatched block nesting : function
这是我第一次使用 Assembly,所以我不熟悉这些错误。它们是什么意思,我如何让这个程序发挥作用?