Skip to content

环境搭建

本笔记基于王爽老师的《汇编语言(第三版)》,在 8086 CPU 模型下进行学习。

现代 Intel/AMD CPU 仍保持与 8086 的向下兼容,可以用 DOSBox 模拟 8086 运行环境。

核心工具

工具用途
MASM 5.0微软汇编编译器,将 .asm 源文件编译为 .obj
LINK 3.6连接器,将 .obj 链接为可执行 .exe
DEBUG调试器,可查看/修改寄存器、内存,单步执行
DOSBoxDOS 模拟器,在现代系统上运行 8086 程序

Windows 环境配置

新版 Windows 已不内置 debug.exe,参考以下步骤:

  1. 下载汇编工具包(包含 debug.exemasm.exelink.exelib.exe
  2. 安装 DOSBox
  3. 在 DOSBox 配置文件中挂载工具包目录:
mount c C:\asm-env\masm5
c:

假如工具包放在 C:\asm-env\masm5 目录下。

macOS / Linux 环境配置

  1. 下载 DOSBox 并安装
  2. 下载汇编工具包,放至某目录(如 ~/projects/asm-env/masm5
  3. 编辑 DOSBox 偏好设置文件(macOS 路径示例):
shell
vim ~/Library/Preferences/"DOSBox 0.74-3-1 Preferences"

在末尾 [autoexec] 块后加入:

mount c ~/projects/asm-env/masm5
c:

工作流程

编写 .asm 源文件

masm 源文件;          → 生成 .obj 目标文件

link 目标文件;        → 生成 .exe 可执行文件

直接运行 / 用 debug 加载跟踪

快速编译+连接命令(忽略中间文件提示,直接回车):

shell
masm hello;
link hello;
hello

Debug 常用命令速查

命令说明示例
-r查看/修改寄存器-r ax
-d查看内存内容(默认 128 字节)-d 1000:0
-e写入内存-e 1000:0 11 22 33
-u反汇编(机器码→汇编)-u cs:0
-t单步执行一条指令-t
-a以汇编格式写入指令-a 1000:0
-g运行到指定地址(断点)-g 0012
-q退出 debug-q

在 debug 中,地址格式为 段地址:偏移地址,数字默认十六进制。

详细命令说明见 Debug 命令详解 章节。

目录结构建议

asm-env/
├── masm5/          ← 编译器、连接器、debug 工具
└── projects/
    ├── hello.asm
    ├── hello.obj   ← 编译产物
    └── hello.exe   ← 最终可执行文件

.asm 源文件和工具放在同一 DOSBox 挂载目录下即可直接编译。