DOSBOX中debug常用指令的使用

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

在这里插入图片描述
进入虚拟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命令的使用)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值