链接见本文底部

看的懂就按需设置,看不懂的不动就行了。一路确认下去。
我这里走了弯路。一开始默认装了最新版,编译时报错。
 网上查了是版本不匹配造成的:MASM32 SDK Version 11 需要 MSVC v14.26.x
 然后再次运行 Visual Studio Installer 修改:



在创建和配置项目前,我们先安装 MASM32 SDK
到这里下载安装即可 http://www.masm32.com/download.htm
 也可以见本文底部
 我安装在了 C:\masm32

也可以直接热键 Ctrl + Shift + N




热键:Ctrl + Shift + A
注意:要创建 asm文件后,项目配置中才会显示Microsoft Macro Assembler
.386                         ; 指定目标架构为 x86 .model flat, stdcall         ; 使用平坦内存模型和平坦调用约定 (stdcall)  option casemap: none         ; 开启大小写敏感模式,标识符将区分大小写  include windows.inc          ; 包含 Windows API 头文件,定义了 API 函数原型和常量 include kernel32.inc         ; 包含 Kernel32 API 的头文件 include user32.inc           ; 包含 User32 API 的头文件  includelib kernel32.lib      ; 链接 Kernel32 库,提供 Kernel32 API 函数的实际代码 includelib user32.lib        ; 链接 User32 库,提供 User32 API 函数的实际代码  .data                        ; 数据段开始 szCaption   db  "Hello World", 0	                    			; 弹窗标题 szText      db  "大家好,我是笨笨,笨笨的笨,笨笨的笨,谢谢!", 0		; 弹窗内容  .code                        ; 代码段开始 main PROC                 	 ; 定义一个过程,名为 main     INVOKE MessageBox, NULL, addr szText, addr szCaption, MB_OK		; 调用 MessageBox 函数     INVOKE ExitProcess, 0    ; 调用 ExitProcess 函数,结束进程,参数为进程的退出码,这里是0 main ENDP                    ; main 过程结束 END main                     ; 指定 main 为程序的入口点  MessageBox 函数
参数一:NULL,表示没有父窗口句柄
参数二:szText,指向显示文本的地址
参数三:szCaption,指向窗口标题的地址
参数四:MB_OK,表示这是一个只包含确定按钮的消息框
项目右键 > 属性 (Alt + F7) > 链接器 > 常规 > 附加库目录
 = C:\masm32\lib;%(AdditionalLibraryDirectories)
项目属性 (Alt + F7) > Microsoft Macro Assembler > General > Include Paths
 = C:\masm32\include;%(IncludePaths)
注意:要创建了 HelloWorld.asm 后,项目属性中才会出现 Microsoft Macro Assembler
 如果没显示Microsoft Macro Assembly 可以先移除 我们创建的 asm 文件,再重新添加 试试。
$(ProjectName).lst
 输出了列表文件,调试分析时有用
项目右键 > 属性 > 属性配置 > 高级 > MSVC 工具集版本
主菜单 > 调试 >开始执行(不调试)(H)
 热键:Ctrl+F5

下载:Visual Studio 2019 Installer + MSAM32v11r
Getting Started with MASM and Visual Studio 2019