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.
我正在尝试与 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.