通过配置VSCode的自定义任务来实现调用dosbox模拟16位系统实现,一键编译运行MASM/TASM代码的VSCode。已经包含需要的MASM/TASM工具集和windows下的dosbox软件。这意味着windows下只要安装了VSCode并克隆本仓库就可以实现一键编译运行等功能了。
按下Ctrl+Shift+B或者点击终端、运行生成任务。会提供以下四个选项。可以通过修改tasks.json增加热键、修改功能,重新分组等等。
MASM代码文件选择MASM CurrentFile
、TASM代码文件选择TASM CurrentFile
。如果编译成功,将在终端中显示结果;编译有误,则会在终端显示结果的同时,标注问题所在行。如果只是想要打开dosbox,可以点击Open Dosbox with TASM/MASM tools added to path
,这样在dosbox中输入相关指令了。对于程序有特殊需求,比如调试等,点击ASM CurrentFile
会有多种选择
例如一个简单的TASM代码hello tasm在tasm中汇编可以成功实现,在masm中汇编就会报错。如下图所示
使用TASM编译成功 | 使用MASM会报错 |
---|---|
打开DOSBox后手动输入命令调试 | 使用选项7来操作 |
---|---|
如果安装了Code Runner插件可以,点击右上角三角形,或者使用Ctrl+Alt+N.相关设置位于.vscode/settings.json。
"code-runner.executorMapByGlob": {
//windows用户使用TASM
"*.{ASM,asm}":"$workspaceRoot\\tools\\ASMit.bat $fullFileName A $workspaceRoot\\tools $workspaceRoot\\tools\\work",
//linux用户使用TASM
"*.{ASM,asm}":"$workspaceRoot/tools/asmit.sh $fullFileName -mA -d $workspaceRoot/tools"
//windows用户使用MASM
"*.{ASM,asm}":"$workspaceRoot\\tools\\ASMit.bat $fullFileName B $workspaceRoot\\tools $workspaceRoot\\tools\\work",
//linux用户使用MASM
"*.{ASM,asm}":"$workspaceRoot/tools/asmit.sh $fullFileName -mB -d $workspaceRoot/tools"
},
linux用户需要先安装dosbox,如使用sudo apt install dosbox
等命令,并给脚本授权,如 chmod u+x asmit.sh
。github仓库用户可以使用该仓库作为模板创建仓库,点击use this template
学习南邮《微型计算机原理与接口技术》的时候正好刚刚接触了git和VSCode,苦于DOSBox的“专注于游戏”,编辑代码种种不爽。所以尝试通过脚本和VSCode的终端任务来简化编译过程,实现一键编译运行ASM文件
.vscode
:为了在VSCode中实现汇编语言的编辑运行调试等工作增加的配置文件
还有很多问题没有解决,欢迎发issue和PR。
参考以下代码使用notepad++实现一键编译运行TASM/MASM代码文件
d:dos\asm\tasm\
汇编工具文件夹D:\DOS\DOSBox.exe
dosbox路径cmd /c del d:dos\asm\tasm\t.* & copy "$(FULL_CURRENT_PATH)" "d:dos\asm\tasm\t.asm" & D:\DOS\DOSBox.exe -noautoexec -c "mount c d:dos\asm\tasm" -c "c:" -c "tasm/t/zi t.asm" -c "tlink/v/3 t.obj" -c "t.exe" -c "pause" -c "exit"
Git 新手 大家多指导呀
[^task]: 或者点击终端、运行默认生成任务(Terminal>Run Build Task)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型