Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具,使用它可以查看CPU各种寄存器的内容、内存的情况和在机器码级跟踪程序的运行
Debug功能:
1)R:查看、改变CPU寄存器的内容
2)D:查看内存中的内容
3)E:改写内存中的内容
4)U:将内存中的机器指令翻译成汇编指令
5)T:执行一条机器指令
6)A:以汇编指令的格式在内存中写入一条机器指令
1)使用R命令查看、修改CPU中各个寄存器的内容:
2)用Debug的D命令查看内存中的内容
a.中间是从指定地址开始的128个内存单元的内容,用十六进制的格式输出,每行的输出从16的整数倍的地址开始,最多输出16个单元的内容
b.左边是每行的起始地址
c.右边是每个内存单元中的数据对应的可显示的ASCII码字符
直接使用D命令,将列出Debug预设的地址处的内容
在使用“d 段地址:偏移地址”之后,接着使用D命令,可列出后续的内容
也可以指定D命令的查看范围:“d 段地址:起始偏移地址 结尾偏移地址”
只想查看内存单元10000H中的内容:
3)用Debug的E命令改写内存中的内容
也可以采用提问的方式一个一个的改写内存中的内容:
可以用E命令向内存中写入字符、字符串
4)用E命令向内存中写入机器码,用U命令查看内存中机器码的含义,用T命令执行内存中的机器码
向内存中写入机器码:
查看写入的或内存中原有的机器码所对应的汇编指令:
U命令的显示输出分为3部分:每一条机器指令的地址、机器指令、机器指令所对应的汇编指令
T命令可以执行一条或多条指令,简单的使用T命令,可以执行CS:IP指向的指令
若要用T命令控制CPU执行我们写到1000:0的指令,必须先让CS:IP指向1000:0
5)用Debug的A命令以汇编指令的形式在内存中写入机器指令
简单的使用A命令,可以从一个预设的地址开始输入指令