本文利用MASM32 SDK中的编译器和链接器编译汇编语言,适用于单文件的情况。
准备环境
本文介绍的方法仅在以下环境测试过:
Windows 11 22H2,MASM32 SDK version 11,GNU Make 3.81
配置步骤
- 将Make与MASM32的二进制文件目录都添加到系统环境变量
Path
中。例如可能添加的是D:\GnuWin32\bin;D:\masm32\bin;
。 - 在汇编源文件所在目录创建
makefile
文件,源码见下文。 make
,程序会自动编译运行。- 如果需要重新编译,先
make clean
,再重新make
即可。
makefile文件源码
以下makefile文件假定MASM32的目录为D:\masm32
,要编译的文件名为test.asm
,并引用了位于D:\irvine
的库文件[1],可以根据需要自行修改其中的变量。
|
|
需要特别注意的是makefile文件仅允许使用Tab来缩进,空格缩进会报错。
运行效果
以一个在终端打印Hello, World!
的简单80386汇编程序为例。通过make
直接编译运行的效果如下:
其他
- 可以安装VS Code的Makefile Tools扩展,以便直接在VS Code内打开侧边栏生成和运行汇编。
- 如果需要带命令行参数,可以加到第二十四行后面,或自行在终端中运行。
注释
- ↑基普·R.欧文所著《汇编语言:基于x86处理器》一书中所用的库。如不引用这些库,删掉第六行中的
/ID:/irvine
与第七行中的/LIBPATH:D:/Irvine
。