环境搭建
本笔记基于王爽老师的《汇编语言(第三版)》,在 8086 CPU 模型下进行学习。
现代 Intel/AMD CPU 仍保持与 8086 的向下兼容,可以用 DOSBox 模拟 8086 运行环境。
核心工具
| 工具 | 用途 |
|---|---|
MASM 5.0 | 微软汇编编译器,将 .asm 源文件编译为 .obj |
LINK 3.6 | 连接器,将 .obj 链接为可执行 .exe |
DEBUG | 调试器,可查看/修改寄存器、内存,单步执行 |
DOSBox | DOS 模拟器,在现代系统上运行 8086 程序 |
Windows 环境配置
新版 Windows 已不内置 debug.exe,参考以下步骤:
- 下载汇编工具包(包含
debug.exe、masm.exe、link.exe、lib.exe) - 安装 DOSBox
- 在 DOSBox 配置文件中挂载工具包目录:
mount c C:\asm-env\masm5
c:假如工具包放在
C:\asm-env\masm5目录下。
macOS / Linux 环境配置
- 下载 DOSBox 并安装
- 下载汇编工具包,放至某目录(如
~/projects/asm-env/masm5) - 编辑 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;
helloDebug 常用命令速查
| 命令 | 说明 | 示例 |
|---|---|---|
-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 挂载目录下即可直接编译。