|
Debug 是DOS、Windows 都提供的实模式(8086模式)程序的调试程序。使用它,可以查看CPU各种寄存器中的内容、内存的情况和机器码级跟踪程序的运行。
常用到的 Debug 功能:
1、R 命令:查看、改变CPU寄存器的内容。
2、D 命令:查看内存中的内容。
3、E 命令:改写内存中的内容。
4、U 命令:将内存中的机器指令翻译成汇编指令。
5、T 命令:执行一条机器指令。
6、A 命令:以汇编的格式在内存中写入一条机器指令。
7、G 命令:直接运行到指定的地址
--------------------------------------------------------------------
-r (列出所有的寄存器值)
-r ss (查看ss段寄存器中的内容,其它类似)
---------------------------------------------------------------------
-d ds:0 (设ds:1000,则命令表示,查看从 1000:0 开始的内存区间的内容)
-d ds:10 18 (查看 1000:10~~1000:18 中的内容)
-d cs:0 (查看当前代码段的内容)
-d ss:0 (查看当前栈段中的内容)
-----------------------------------------------------------------------
T 命令在执行修改寄存器SS的指令时,下一条也会紧接着被执行。(由于中断机制)
像 mov ss,ax mov ss, bx mov ss,[0] pop ss 等这些指令都是修改SS的指令,那么紧跟着它们下面的那条指令会被紧接着执行,而不会在 t 命令执行一条时会停下来(看上去就是一下子执行了两条指令)。
-----------------------------------------------------------------------
G 命令可以让程序直接运行到指定的指令所在地址处
假设程序从 0B3D:0000 开始到 0B3D:001E 结束,中间有一条语句在 0B3D:0B3D:000F处,那么可以使用
g 000F
------------------------------------------------------------------------
P指令 可以用来一次性结束循环的执行(循环自动运行到结束)
如:
mov cx,0010h
loop_1: add ax,0001h
loop loop_1
nop
在运行到 loop_1 这里时,使用 p 指令将会结束这个循环的运行而到达nop指令处。
|
|