调试工具DEBUG

DEBUG的提示符是小短线- ,在其后输入命令。

R(Register)命令——查看和修改寄存器

R命令有两种用法:

  • 直接键入R,将显示CPU所有的寄存器和标志位;
  • 修改寄存器:在R后跟写寄存器名,则先显示寄存器的内容,在冒号后可键入新的值 。

D(Dump)命令——查看内存单元

用D命令可以查看存储单元的地址和内容。

例如:
D DS:0 查看数据段,从0号单元开始
D ES:0 查看附加段,从0号单元开始
D DS:100 查看数据段,从100H号单元开始
D 0200:5 15 查看0200H段的5号单元到15H号单元

E(Enter)命令——修改内存单元

用E命令可以改写多个存储单元的内容。格式为:E 起始地址 修改值 修改值 …

例如:将数据段中的0B05:3 ~0B05:5 三个单元的内容修改为14、15、16。命令为
E DS:3 14 15 16
再如:
E 10 修改当前数据段10H号单元内容
E ES:100 修改附加段100H号单元内容

U(Unassemble)命令 ——反汇编

多次键入U,可连续显示后面的程序部分。
U后跟偏移地址,则从该地址开始反汇编。如:
U 0 从代码段0号单元开始反汇编
U100 从代码段100H号单元开始反汇编

A (Assemble)命令——输入汇编指令

在DEBUG中,使用A命令可以输入汇编指令,系统自动地将键入的汇编指令翻译成机器代码,并相继地存放在从指定地址开始的存储区中。

由于DEBUG下的数值默认为十六进制数,因此先要将十进制数转换成十六进制数。

T/P(Trace/Proceed)命令——单步执行

先查看指令指针寄存器IP的值是否为0100,如果不是,用R IP命令修改为0100。表示现在要从CS:0100单元开始执行指令 。
-T
T命令还可以连续执行多条指令。如上例中连续执行3条指令,可用如下T命令:
-T 3
T命令也可以设置开始地址和执行条数。如上例中从0100H开始连续执行3条指令,可用如下T命令:
-T =0100 3

G(Go)命令——连续执行程序

Q(Quit)命令 ——退出DEBUG

键入Q,回车后退出DEBUG,返回到DOS下。