这篇文章上次修改于 374 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
2025-05-05-80x86 汇编语言环境配置
参考博客
在 VScode 配置汇编语言环境_vscode asm-CSDN 博客
使用 VSCode 学习汇编语言-CSDN 博客
VSCode 搭建汇编环境-CSDN 博客
安装 MASM/TASM 插件

配置 .vscode/setting.json
{
"masmtasm.ASM.emulator": "msdos player",
"masmtasm.dosbox.run": "exit",
"masmtasm.ASM.assembler": "MASM-v5.00",
"masmtasm.ASM.actions": {
"TASM": {
"baseBundle": "<built-in>/TASM.jsdos",
"before": [
"set PATH=C:\\TASM"
],
"run": [
"TASM ${file}",
"TLINK ${filename}",
">${filename}"
],
"debug": [
"TASM /zi ${file}",
"TLINK /v/3 ${filename}.obj",
"TD ${filename}.exe"
]
},
"MASM-v6.11": {
"baseBundle": "<built-in>/MASM-v6.11.jsdos",
"before": [
"set PATH=C:\\MASM"
],
"run": [
"masm ${file};",
"link ${filename};",
">${filename}"
],
"debug": [
"masm ${file};",
"link ${filename}.OBJ;",
">debug ${filename}.exe"
]
},
"MASM-v5.00": {
"baseBundle": "<built-in>/MASM-v5.00.jsdos",
"before": [
"set PATH=C:\\MASM"
],
"run": [
"masm ${file};",
"link ${filename};",
">${filename}"
],
"debug": [
"masm ${file};",
"link ${filename}.OBJ;",
">debug ${filename}.exe"
],
"support": [
"jsdos",
"dosbox",
"dosboxX",
"msdos player"
]
}
}
}
测试配置环境
创建以.asm 为后缀的文件,将下面的代码复制上去,运行程序
.MODEL SMALL
.STACK 100h
.DATA
message DB 'Hello, Assembly! Environment test successful!$'
.CODE
MAIN PROC
; 设置数据段地址
MOV AX, @DATA
MOV DS, AX
; 显示消息
MOV AH, 09h ; DOS功能:显示字符串
LEA DX, message ; 加载消息地址
INT 21h ; 调用DOS中断
; 返回DOS
MOV AH, 4Ch ; DOS功能:结束程序
INT 21h ; 调用DOS中断
MAIN ENDP
END MAIN
注意:
- 路径中最好不要有中文,如果有中文的话可以将项目路径设置为没有中文的路径中再运行
- 程序如果要调试的话,需要先调试
- 如果运行报错的话一般都是因为路径的问题,可以使用,先启动dox环境再自己编译,链接和运行,完成以后再使用调试的功能
eg:
编译:masm E1.asm;链接:link E1.obj;
运行:E1.exe
然后才能debug

出现上面的信息说明基础环境配置成功!
Extension Settings 拓展设置说明
要实现完整的功能,需要在拓展中进行设置,同时”设置(首选项)”中还有一些其他选项,以提供更大的灵活性。
汇编工具选择
- 选择使用 MASM 还是 TASM
16 位模拟器选择
DOSBox:(默认模式)更加完善
msdos-player:可以在 cmd 中运行,不会弹出窗口,但对 TD 等图形化界面的处理效果不好
auto:(推荐,但是有时无法工作)根据情况选择模拟工具:
- 汇编链接使用 msdos-player 模拟,会比较安静
- 运行使用 DOSBox,更加直观稳定
- 调试中 MASM(debug)使用 msdos-palyer 在 windows 集成终端中显示(更加美观一些)
- 调试中 TASM(TD)在 DOSBox 中运行(目前只能这样)
其他配置选项
- 调整 dosbox 窗口大小
- 规定 dosbox 运行程序之后进行什么操作(是否直接退出程序,还是等待)
- 启动相关功能之前是否先保存文件(不保存的话,只能操作之前保存的版本,建议保存)
- 设置自定义汇编工具路径
