《汇编语言》第二章debug的使用知识(第一阶段)
如何进入debug?一、在开始菜单运行处输入cmd
二、在命令行窗口输入debug即可进行debug
1、查看、修改CPU中寄存器的内容:R命令
如查看寄存器的内容”r“:
-r
如修改某一寄存器的内容”r 某一寄存器“
-r cs
将CS寄存器原来的数据是1000改为2000
2、查看内存中的内存:D命令
如查看内存中的内容”d 段地址:偏移地址“
-d 1000:0
最左边那一列为每行内存物理地址。中间那一列是从指定的地址开始的128个字节的内存单元的内容,一行的中间”-“是表示将一行分成两半。最右边那一列是每一行对应的ASCII码字符,没有可对应显示的debug用”.“来代替。
继续查看接下来的内容,可以在使用了“d 段地址:偏移地址”后继续按d
-d 1000:0
接着继续按d
可以指定d命令的查找范围,采用”d 段地址:偏移地址 结尾偏移地址“
-d 1000:0 9
这样便可以查看从10000到10009内存中的内容
修改内存中的内容:E命令(可以写入数据、指令在内容中)
方式一 ”e 起始地址 数据 数据.......“
-e 1000:0 0 1 2 3 4 5 6 7 8 9
先用e命令修改了前10个字节的内容
最后查看从1000:0开始的16个字节的内容
方式二 ”e 段地址:偏移地址“
-e 1000:10
先用e 1000:10一个一个的修改了内容,注意按空格是跳到下一个字节修改,按enter表示结束输入
然后用d命令查看了内容
另外可以用e命令可以写入字符
-e 1000:0 1 ’a‘ 2 ’b‘ 3 ’d‘ 4
先用e命令写入了字符
然后在查看内容,debug会将其字符转化为ASCII码对应的数值
用e命令可以写入机器码
例如有如下的一段机器码和对应的汇编指令
机器码 对应的汇编指令
b80100 mov ax,0001
b90200 mov cx,0002
01c8 add ax,cx
用e命令写入机器码
-e 1000:0 b8 01 00 b9 02 00 01 c8
先用e命令写入了机器码
然后用d命令查看内容
将内存中的内容解释为机器指令和对应的汇编指令 :U命令
u 段地址:偏移地址
-u 1000:0
执行CS:IP指向的内存单元处的指令:T命令
按t即执行CS:IP中的内容
-t
先用r命令查看寄存器的内容
然后修改CS和IP中的内容
最后执行CS:IP所指向的指令
以汇编的形式向内存写入命令:A命令
a 段地址:偏移地址
-a 1000:0
先用a命令写入汇编指令
然后用U命令查看对应的机器指令和汇编指令
总结:
在debug中用R命令查看或修改寄存器的内容,
用d命令查看内存中的内容
用e命令修改内存中的内容,也可以写入机器指令
用u命令查看对应的机器指令和汇编指令
用t命令执行CS:IP指向的单元处的指令
用a命令写入汇编指令
页:
[1]