0

这是我的(非常简单的)程序。当函数在我自己的 .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,所以我不熟悉这些错误。它们是什么意思,我如何让这个程序发挥作用?

4

1 回答 1

0

您应该有一个 .model 和一个 cpu 声明,通常还有一个堆栈声明。看看这里: http ://www.talreg.com/?cat=58

于 2013-02-23T16:36:44.320 回答