需要进入 debug 调试模式下学习汇编语言时,会出现类似以下的错误提示:
这是因为他们使用的是 64 位的 Windows 系统(Win 7,Win 8 以及 Win 10 等),而 64 位 Windows 系统不再支持在命令提示符窗口下进入 debug 调试模式。那么对于使用 64 位 Windows 系统的用户来说,该怎样才能够顺利进入 debug 模式呢?有三个解决方法:
1、安装双系统,装多一个 32 位的 Windows 操作系统
2、在虚拟机中安装 32 位的 Windows 操作系统
3、在 64 位系统上安装配置 DOSBox 以及 debug.exe(本教程)
首先,准备好材料 DOSBox.exe 以及 debug.exe(如下)
链接: https://pan.baidu.com/s/1to2-nRWTpHxBu6wFzwgPvg 提取码: ft2p
其默认安装在 C:\Program Files (x86) 目录下,我们也可以选择安装到其它自定义目录(建议:整个路径名称不要有中文!)
为了方便管理,可以把 debug.exe 放在 DOSBox 的安装根目录下
如下图所示,我又在C盘新建了一个Dosbox文件夹
关于我为啥有两个在不同路径下的Dosbox文件夹(其实不必这么做,只要没有中文名,放一个文件夹就行):
1、第一个用来挂载
我新建了一个文件夹Dosbox用来挂载debug.exe,这个Dosbox文件夹直接放在了C盘(我记得是因为dosbox挂载debug的时候不能输入中文和空格,而我的安装目录输入了空格,所以必须新建一个)里面存着debug.exe。其他文件不用管,后面的步骤才放进去。
2、第二个是真正的安装目录
另一个文件夹放在了C/应用程序/文件夹下,是dosbox真正的安装目录
然后我们打开 DOSBox,初始界面如下所示:
这个时候直接输入 debug 命令是不行的,我们还要做一些配置工作。那该怎么做?在 DOSBox 安装根目录下的 DOSBox 0.74 Manual.txt 文件中可以找到答案,我们打开该文件,找到以下帮助文字
这段帮助文字的意思是说:
我们必须使用类似示例 “mount C D:\GAMES” 的命令来将我们本地的一个目录挂载为 DOSBox 的一个驱动器之后,才能够正常使用 DOSBox。
在示例命令 “mount C D:\GAMES” 中,C 表示我们需要在 DOSBox 中创建的驱动器,(个人认为这是虚拟的,可以随意定义,即使本电脑不存在这个磁盘。不过保险起见,我写的C)
D:\GAMES 表示我们需要被挂载为驱动器的本地目录。挂载成功之后,我们输入在命令中自定义的驱动器盘符,如 C: ,便可以进入到 DOSBox 中的该分区内。
因为我们需要进入 debug 调试模式,而 debug.exe 此时被我放在了 C:\Dosbox 目录下,所以我们需要输入以下指令:MOUNT C C:\Dosbox
(我的自定义盘符同样是 C)
↓自己懒得重新装了,借用一下别人的图,路径有些不同
回车后会提示驱动器 C 已经被成功挂载为本地目录 C:\Dosbox。此时我们需要进入 C 盘,需要明白此时这个 C 盘是 MOUNT 命令后 DOSBox 中创建的 C 盘,它映射着我们本地的 C:\Dosbox 目录,但并不是我们电脑本地的 C 盘。输入命令 C: 然后回车,如下所示
↓借用一下别人的图,路径有些不同
进入 C 盘后,便可正常输入 debug 命令进入调试模式了
↓借用一下别人的图,路径有些不同
通过上面的方法的确可以进入 debug 模式,但是,每一次重新打开 DOSBox 的时候都需要重新输入以上命令,十分不便。我们可以通过修改配置文件,让 DOSBox 打开时自动输入以上命令。那怎么修改配置文件呢?
同样在 DOSBox 0.74 Manual.txt 文件中可以找到答案,我们打开文件,可以看到帮助文字
大意如下:
在 DOSBox 的配置文件中有一个 [autoexec] 区段,在这个区段中的命令会在 DOSBox 每一次启动时自动运行,我们可以在这里写入 MOUNT 命令。
在 DOSBos 安装根目录下,有一个名为 DOSBox 0.74 Options.bat 的脚本文件,我们双击它便可以打开配置文件了。
打开配置文件后,拉到最底下,可以看见 [autoexec] 区段
在最下面加上这两行:
MOUNT C C:\Dosbox
C:
之后重新打开 DOSBox,此时已经自动挂载并进入 C 盘,等待我们输入 debug 命令。
至此,dosbox安装成功,可以使用debug模式了
链接: https://pan.baidu.com/s/1n_EoICJKI3sY_MreRqiUeA 提取码: 9368
解压之后文件如下:
下载解压之后,将里面的文件全复制到刚才Dosbox挂载的debug.exe所在路径下
如下图
然后将写好的1.asm(汇编源代码)也放在这个路径下
在dosbox里直接输入:
masm 1.asm;
(分号可写可不写,加分号可以更快速编译,不需要输入一堆回车)
再输入link 1.obj;
即可生成1.exe
教程结束~