Visual Studio 2015 汇编语言项目语法错误

Visual Studio 2015 Assembly Language Project Syntax Error

我正在尝试与 Visual Studio 2015 一起工作,这是我正在参加的 class。我已经使用了几个不同的教程并重新下载 visual studio 多次,但仍然遇到同样的问题。

顶部(前 2 行)的注释带有红色下划线,错误消息显示 "this declaration has no storage class or type specifier." 我假设我开始弄乱 Visual Studio 时在设置中搞砸了,但整个周末都没有找到解决方案。有没有人看到这个或对可能发生的事情有任何想法?

这里是我使用的示例代码的副本:

; AddTwo.asm - adds two 32 - bit integers.
; Chapter 3 example

.386
.model flat,stdcall
.stack 4096

ExitProcess proto,dwExitCode:dword
.code

main proc
    mov eax,5
    add eax,6               
    invoke ExitProcess,0
main endp
end main

将文件类型更改为.asm,例如example.asm。创建一个空项目并将 .asm 文件添加到项目中。在项目 window 中,右键单击 .asm 文件名,然后单击属性,然后添加这些自定义构建步骤:

调试构建命令行:

ml /c /Zi /Fo$(OutDir)\example.obj example.asm

发布构建命令行:

ml /c /Fo$(OutDir)\example.obj example.asm

调试和发布构建输出文件:

$(OutDir)\example.obj

示例 asm 文件:

        .586p
        .model  flat,c
        .data           ;  initialized data
        .data?          ;uninitialized data
        .stack  4096
        .code
main    proc    near
        mov     eax,5
        add     eax,6
        xor     eax,eax
        ret
main    endp
        end

注意 - 如果您使用的是 Visual Studio 2015,printf 现在是包含文件的一部分,并且有效地内联在 C / C++ 文件中。这使得从 asm 调用 printf 有问题。一种解决方案是创建一个同时包含 C/C++ 和 asm 文件的项目,使用 C/C++ 文件生成 printf.