本文主要说明 NASM 与 MASM 的搭建以及简单的编译使用(操作系统环境为 Win11)
nasm 与 masm 主要的区别(除语法外)
NASM | MASM | |
---|---|---|
平台 | Linux、Mac、Windows | Windows |
实验所需要相关软件,及其下载地址
| 软件名称 | 版本号 | 用途 | 下载地址 |
| MinGW | | 用于在 Windows上安装 GCC | http://sourceforge.net/projects/mingw/files/ |
| MASM32 | 11 | masm 编译工具 | http://www.masm32.com/download.htm |
| NASM2.15 | | nasm 编译工具 | https://www.nasm.us/ |
| NASM | | nasm 在线文档 | https://www.wikihow.com/Run-NASM-on-Windows |
1. 安装 MinGW
1.1 下载 MinGW 安装包 并 安装 MinGW (默认安装目录为你选定磁盘的 根下面的 MinGw )
1.2 配置 MinGW 系统环境变量
1.3 确认 MinGW 是否安装成功
进入 CMD 命令行输入
1 | mingw-get |
1.4 安装 GCC、G++、GDB(本文只需要安装 GCC)
1 | mingw-get install gcc |
1.5 查看 gcc 是否安装成功
1 | gcc -v |
2. 安装 NASM
2.1 下载 NASM 并安装
2.2 配置对应的 PATH 变量
2.3 查看是否安装成功
1 | nasm -v |
3. MASM 安装
3.1 下载 MASM 并安装 (安装完成后默认路径:C:\masm32)
3.2 配置环境变量
3.3 查看 masm 是否安装成功
4. nasm 与 masm 的简单编译操作案例
**obj 后缀的文件说明:**源程序经过编译程序编译后生成的,它不能直接执行,需要连接程序连接后才能生成可执行文件,这样就能值行了。
4.1 nasm 编译案例
源码案例
1 | ; Hello World Program |
命令行编译操作
1 | # 编译成二进制文件, -f win32 代表的是操作系统模式,自动会生成 test1.obj 文件 |
4.2 masn 编译案例
源码案例
1 | .586 |
命令行编译操作 (之前版本的命令为 masm 命令,现在更改为了 ml 和 ml64 命令)
1 | # 编译成二进制文件,自动会生成 test2.obj 文件 |