1、vs新建空项目
2、右键项目-生成依赖项-生成自定义,勾上masm...那个
3、新建源文件,.cpp改成.asm
4、右键文件(vs的解决方案资源管理器里)-常规-项类型,设置为Microsoft Macro Assembler
5、在项目属性-链接器-高级-入口点,设置程序入口,比如main
问题汇总:
我找了网上很多资料,我这里都没弄成,发现了好多问题
- vs自带masm汇编器好像查的比较严,代码段必须加.code,结束必须加end,否则报错,下面这段代码是可以通过的
.code
main proc
ret
main endp
end
- 如果生成失败,vs的输出窗口总是:masm.targets(69,5): error MSB3721: 命令“ml64.exe /c /nologo /Zi /Fo"x64\Debug\source.obj" /I /W3 /errorReport:prompt /Tasource.asm”已退出,返回代码为 1。
1>已完成生成项目“<项目>.vcxproj”的操作 - 失败。但是如果使用纯英文作为.asm文件的名称,还会详细输出A...那样的详细错误,有利于查错;具体原因不清楚,但是我发现命令的有一部分是不同的:source.asm->/Tasource.asm,源.asm->/Ta"源.asm" - 网上有的方法还说要安装masm32并在项目属性-链接器-附加库目录和项目属性-Microsoft Macro Assembler-Include Paths(第二个要在设置文件属性后才会出现)中添加masm32安装后的lib文件夹目录。我发现好像不需要,如果上面的方法不行可以试试。
- 注意选择的解决方案平台,有时只有一种可以(新手初学,不知道怎么回事)
- 安装AsmDude插件可以语法高亮