目录
1.dosbox的简介
(1)DOSBox是一个软件。它是当前在 Windows、Linux,macOS,Android系统运行 DOS 游戏的较为完美的解决方案,该软件不仅能支持相当多的游戏实现正常运行,而且能将声音完美表现出来。
(2)由于DOSBOX采用的是 SDL 库,所以可以很方便的移植到其他的平台。DOSBox的最新版本已经支持在 Windows、Linux、Mac OS X、BeOS 、palmOS、Android 、webOS、os/2等系统中运行。(转载百度)
*声明:文章中出现的红色/蓝色文字皆为链接
2.dosbox的安装
(1)下载DOSBOX 百度网盘:链接 提取码:1213
(2)软件DOSBox-0.74的安装十分简单,默认安装就行(不建议大家安装在系统C盘里)
(3)将Masm文件夹放入某个磁盘根目录下 Masm文件里有编译所需的必要文件(debug、link、masm),这三个必须有!!!
3.dosbox的使用
(1)打开DOSBox-0.74,出现如下界面
(2)我已将Masm文件放在E盘根目录下,在命令窗口输入:mount c e:\masm[回车],
创建虚拟磁盘C(将E盘中的masm文件夹虚拟为C盘) ,如下图所示创建成功
(3)在命令窗口输入:c:[回车],进入虚拟磁盘C
(4)在命令窗口输入:dir[回车],显示Masm中的文件
(5)在命令窗口输入:cd asm[回车],打开并进入masm文件下所属文件asm如下图步骤1;再输入命令dir,显示asm中的文件,如下图步骤2
(6)上图有3、4、5、6、7四个asm文件,我以文件5-hello.asm为大家演示。在命令窗口输入:masm ****(为所建文件名).asm[回车],进入编译(0错误 0警告),成功即可生成****.obj文件
(7)在命令窗口输入:link/co hello.obj[回车],进入链接,按4次回车,成功即可生成hello.exe文件
(8)在命令窗口输入:hello[回车],命令窗口输出“Hello World!”
4.dosbox-debug调试
这部分内容本人学的浅显,详细内容大家可以参考这位博主的debug讲解
(1)在命令窗口输入:debug hello[回车],就进入debug调试阶段
(2)在命令窗口输入指令: t[回车],单步执行程序;再输入 d[回车],查看内存内容,结果显示如下
(3)在命令窗口输入指令: u[回车],反汇编内存中的指令,结果显示如下
(4)在命令窗口输入指令: q[回车],结束debug调试,结果显示如下
*常见debug指令
命令 | 含义 | 用法 |
A | assemble | 在内存中直接编写代码 |
C | Compare | 比较内存 |
D | Dump | 查看内存内容 |
E | Enter | 修改内存内容 |
F | Full | 填充内存 |
G | Go | 执行代码 |
H | Hexarithmetic | 以16进制进行数学运算 |
I | Input | 从某个端口输入一个16进制并显示 |
L | load | 把文件或者绝对扇区内容读入内存 |
M | move | 数据传递(不同于汇编的move) |
N | name | 为读写磁盘文件定义文件名 |
O | output | 把指定字节发送到制定端口 |
Q | quit | 结束debug程序 |
R | Register | 寄存器命令 |
S | Search | 按照list清单查找内存range范围 |
T | track | 单步执行文件(追踪) |
U | UNassemble | 反汇编内存中的指令 |
W | write | 把调试过的信息写到磁盘上 |
? | Help | 获取帮助信息,即现实所有支持的命令 |
5.dosbox-asm文件创建
在Masm文件目录新建一个文件夹ASM(英文名任取),此文件里必须有debug.exe、link.exe、masm.exe三个执行程序文件,然后再新建文本文档(用于编写我们的汇编程序),最后将文件后缀名由txt→asm,这样一个可执行文件就生成了。
6.dosbox的快捷键
ALT+ENTER | 切换/解除全屏模式 |
CTRL+F10 | 把鼠标从窗口中释放 |
CTRL+F9/指令exit | 关闭DOSBox |