DOSBox-8086Assembly

最近我们学校在上8086汇编课程,需要写汇编程序。而Masm套件自带的debug调试程序是命令行的,不很好用。于是我在网上搜索了一下好用的8086汇编调试器,搜到了Turbo Debugger,经过试用。发现非常好用,带有GUI界面,非常人性化。于是就想把它和DOSBox集成到一起,制作一个输入源代码文件,即可自动开始调试的程序。经过努力,我做出了这个套件。我把它称作:DOSBox-8086Assembly。

DOSBox-8086Assembly

DOSBox-8086Assembly是一个将8086汇编源码自动编译、链接并使用td调试器开始调试的套件。

DOSBox-8086Assembly的组成

DOSBox-8086Assembly主要由3部分组成,一是DOSBox,负责模拟MS-DOS环境,在根目录下。二是微软公司的汇编、链接程序套件Masm与Borland公司开发的Turbo Debugger。放置在bin文件夹下。三是我制作的一些bat脚本,是根目录下的Start.batmoveFile.bat。使用者主要使用这两个批处理文件进行调试操作。下面会单独有一节讲述如何使用该软件。如果只想了解软件的使用请直接向后看使用说明,如果想要对软件进行进一步自定制,可查看自定制一节。

DOSBox-8086Assembly的自定制

注意:如果你看不懂下面说的是什么,就不要对这些文件进行编辑操作,以免导致本程序无法正常工作。

1、可在dosbox.conf中修改DOSBox屏幕的分辨率,在sdi节中的windowresolution处更换你想要的分辨率。默认配置文件为1024×768。应该能够满足大部分人的需要。

2、可在dosbox.conf中修改DOSBox的启动初始化命令,在autoexec节中增减内容即可,其中包含对obj文件的链接操作。若不想对本程序做任何功能上的更改请勿修改本节的命令,以免导致程序无法正常工作。

3、可在Start.cmd中修改汇编文件的复制及编译命令、DOSBox的启动命令。本脚本默认从program\main.asm中读取汇编程序源码,在本脚本中存在对asm文件的汇编操作。若不想对本程序做任何功能上的更改请勿修改本节的命令,以免导致程序无法正常工作。

4、moveFile.bat实现了对向其中拖入的文件自动复制到program\main.asm的功能。若不想对本程序做任何功能上的更改请勿修改本节的命令,以免导致程序无法正常工作。

DOSBox-8086Assembly的使用说明

一、将汇编文件存储到本程序中

本程序默认会从program文件夹中读取main.asm文件进行汇编链接调试操作。

1、你可以将你的汇编文件放置到program文件夹下并改名为main.asm。

2、也可以将你的待调试汇编文件拖放到moveFile.bat上,那么这个脚本就会自动替你完成汇编文件的复制和改名操作。

建议使用第1种方法。并且使用你的汇编IDE打开program\main.asm进行编辑。这样你在IDE中保存后就可立即执行Start.bat文件进行调试操作。避免再次拷贝的麻烦。

二、使用DOSBox-8086Assembly进行调试

点击Start.bat,本程序会自动进行初始化操作。

等到程序打开如下界面后,程序已初始化完毕并进入调试器。你可以使用鼠标操作,但建议使用键盘。如果出现了鼠标点进去出不来的情况,请按Alt+X退出调试器就可出现鼠标。

在本界面按Enter键,可进入调试界面。

接下来请参看Turbo Debugger的使用说明。

Turbo Debugger的使用说明

界面介绍

这是一个示例汇编程序,程序非常简单。将数据段基址设置为48AFH并调用系统中断退出。我们借助这个示例程序来简要说明这个调试器的用法。

1、汇编代码区:显示汇编代码。注意cs:0000后面有个小箭头。这表示CPU将要执行的下一条语句是该条语句。

2、寄存器区:显示各个寄存器的值。

3、标志寄存器:显示各个标志寄存器的值。

注意,对于寄存器,上一条语句使得哪一个寄存器发生变化,那么哪一个寄存器的颜色就会由黑色变为白色。如下图所示。这里面就是:向AX中存入了48AFH,因此AX变了。下一条要执行的指令是cs:0003,因此ip变了。

4、数据段数据:显示数据段中的数据。可以使用Tab键切换到该区域,并使用上下方向键调整地址,查看该段中不同地址处的数据。也可以用鼠标点击右键打开右键菜单,具体功能请自己摸索。

5、栈上数据:显示栈顶处的数据信息。也可以使用Tab键切换到该区域,并使用上下方向键调整地址,查看栈中不同地址处的数据。

调试功能的说明

1、F9:Run,运行,使程序运行直到断点。如果你没有设置断点就直到运行结束。

2、F8:Step(Step Over),步过,单步向前执行,注意:当遇到call指令时,调试器会自动进入call指令中的函数并把里面的指令全部执行完毕再返回,停到当前函数的下一条指令处。也就是说,步过不会进入一个函数进行调试。

3、F7:Trace(Step In),步入,也是单步执行。注意:当遇到call指令时,调试器会进入到函数中并且每一条指令也都要求你进行单步,调试器会停到你调用的函数的第一条指令处。也就是说,步入指令会进入函数进行调试。

4、F2:Bkpt(BreakPoint),下断点。用方向键调整你要下断点的代码。按下F2就会切换是否下断点。下断点的指令处会显示红色。如下图所示:

其他常用功能的说明

如果你想查看你的汇编程序的界面,进行输入操作并且查看输出,可以按Alt+F5键进入查看汇编程序的界面。再按Alt+F5返回调试器界面。

在调试器界面按Alt+X可退出调试器。整个程序即关闭。

按F10切换到上层菜单。可自行浏览其中具有的功能。

DOSBox-8086Assembly下载地址

DOSBox-8086Assembly v1: https://pan.renjikai.com/Softwares/IDE/DOSBox-8086Assembly.zip
DOSBox-8086Assembly v1.1: https://pan.renjikai.com/Softwares/IDE/DOSBox-8086AssemblyV1.1.zip

更新日志

v1.1版中更新了MASM到6.11,并且安装了Borland C++系列套件。可以用edit/bcc/td全套流程命令进行DOS下C++/C程序的编写。

Masm for Windows 集成TD调试器且DosBox分辨率为1024×768版

使用方法:首先安装Masm for windows官方安装包,就安装到默认路径C:\JMSOFT\Masm。之后将C盘下的JMSOFT目录删除。用本压缩包中的JMSOFT.zip解压到C盘中即可。
下载地址:https://pan.renjikai.com/Softwares/IDE/MasmForWindows.zip

声明

本程序可随意修改。本程序不包含病毒,请使用杀毒软件杀毒后再使用。如果害怕本软件有毒,请不要使用本软件。

DOSBox-8086Assembly》有4个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注