DOSBOX中debug常用指令的使用

it2026-08-18  5

仅作为个人学习笔记 挂在文件这些操作就不说了吧,一张图就够了

进入虚拟c盘,输入debug。 接下来先了解一下常用的一些debug中的命令。(命令不区分大小写) 一、查看、修改CPU中寄存器的内容:R命令。 1.直接输入r,查看寄存器中的内容: 2.改变寄存器中的内容: 可以观察到ax中的内容由0000改变成了ab23。

二、查看内存中的内容:D命令。 1.直接输入d,可以查看预设地址内存处的128个字节的内容: 输入r查看的内容中最下面一行就是当前所在的地址,即073f:0100,再输入d查看的就是起始地址为073f:0100的128个字节的内容,继续输入d,会列出挨着的地址(073f:0170)后的128个字节的内容。

2.列出指定地址的内容: 3.列出指定地址内容和范围:

三、修改内存中的内容:E命令。(可以写入数据、指令,内存中,数据和指令都是机器码,没什么区别) 1.写入数据(需指明地址,和要写入的数据): 我试过了,每个字节间的数据要加空格,不然就像图片里一样报错了。 2.逐个询问修改数据: 输入这个地址,他会告诉你这个地址的内容(上面第一步,我在2000:0000中写入了12)是什么,然后输入数据进行修改,修改之后若是想对下一个字节的内容进行修改,敲空格就好了 可以看到原来的2000:0000的内容是12 ab 79,修改了前两个字节的内容,结果变成了f3 c5 79。

四、将内存中的机器指令翻译成汇编指令:U命令。 步骤: e地址输入数据 d地址查看 u地址查看机器码翻译的汇编指令 汇编指令

mov ax,0123H mov bx,0003H mov ax,bx add ax,bx

对应的机器码

B8 23 01 BB 03 00 89 D8 01 D8

实验效果 ` `` 在内存中输入的机器码,变成了汇编指令!!!

五、以汇编指令的格式在内存中写入机器指令:A命令。 步骤: a地址写入汇编指令 d地址查看数据 u地址查看代码 汇编指令

mov ax,0123H mov bx,0003H mov ax,bx add ax,bx

对应的机器码

B8 23 01 BB 03 00 89 D8 01 D8

实验效果 073f:0100是CS:IP的地址(CS是代码寄存器,IP是指针偏移地址寄存器) 可以看到,通过U命令可以看到汇编指令被写进去了,汇编写入内存仍然是以机器码的形式保存。

六、执行CS:IP处的指令:T命令。 注意观察每次输入t指令后,ax,bx的值变化。可以观察出t命令是使用一次执行一次汇编指令。 七、退出debug,直接输入q指令。

后续再更新其他指令。 后续更新 1.P命令,用于debug中自动重复执行循环中的指令。 2.G命令,g 偏移地址 程序自动执行到输入的偏移地址处的程序(DOSBOX系统的编译连接的那片文章末尾有讲到g命令的使用)。

最新回复(0)