2024年6月8日发(作者:)

DOS下DEBUG教程

DEBUG 教程(主要命令)

显示存储单元内容 修改存储单元内容 检查和修改寄存器的内容

汇编命令

退出 DEBUG

反汇编命令

DEBUG命令格式

命名命令

DEBUG命令集

运行命令

装入命令

跟踪命令

写命令

调试程序DEBUG的特点:

1. 在受控环境中测试程序;

2. 装入,显示或修改任何文件;

3. 执行DOS程序;

4. 完成磁盘实际读/写操作;

5. 建立或汇编汇编语言程序。

DEBUG的命令格式:

[drive:][path] DEBUG [d:][p][filename][.ext][]

其中: drive: 是指定DEBUG文件的磁盘驱动器标识符,DEBUG是外部DO

S命令,所以必须把它从磁盘读入内存。若未指定,DOS将使用当前默认磁盘

驱动器。

path: 是DOS查找DEBUG文件的一个子目录串表示的路径。若未指定,DO

S将使用当前工作目录。

d: 是DEBUG将要调试的文件所在的磁盘驱动器。

p: 是查找DEBUG将要调试的文件所需的子目录路径,若未指定,DOS使用

当前目录。

filename[.ext] 是DEBUG将要调试的文件名。

param 是将被调试的程序(或文件)的命令行参数。

附:DEBUG所完成的初始化动作,假定文件名没有,启动DEBUG:

段寄存器CS、DS、ES和SS置为DEBUG程序后的第一个段。

指令指针寄存器IP置为100H(程序段前缀PSP后的第一个语句)。

堆栈指针SP置为段末或暂驻部分的结束地址(其

中较小的那个地址)。

其余通用寄存器均置为0,标志寄存器置为下述状态。

NV UP EI PL NE NA PO NC

如果DEBUG命令行含有文件名,段寄存器DS和ES指向PSP。寄存器B

X和CX含有程序长度。

DEBUG使用单字符命令:

格式

A [地址]

C [范围]

D [范围]或[地址]

E 地址[表]

F 范围表

G [=地址][地址[地址...]]

H 值 值

I 口地址

L [地址][设备扇区,扇区]]

M 范围 地址

命令

命名

输出

继续执行

退出

寄存器

搜索

跟踪

反汇编

格式

N [设备:][路径]文件名[.扩展

名]

O 口地址

P [=地址][值]

Q

R [寄存器]

S 范围表

T [=地址]或[范围]

U [地址]或[范围]

W [地址[设备扇区,扇区]]

命令

汇编

比较

转出

键入

填入

执行

十六进制

输入

装入

移动

这些DEBUG命令主要参考清华大学计算机系列教材《IBM-C汇编语言程序设

计》一书。

☆ 显示存储单元的命令D(DEBUG),格式为:

-D[address]或

- D[range]

例如,按指定范围显示存储单元内容的方法为:

-D 100 120

067C:0100 C7 D7 0D 0A 32 33 33 34 - D5 C5 B4 C6 30 10 42 0C ....0.B.

067C:0110 03 41 42 43 44 45 46 47 - 48 49 4A 4B 4C 4D 4E 4F .ABCDEFGHIJKLMNO

067C:0120 8B

其中0100至0120是DEBUG显示的单元内容。 左边用十六进制H表示每

个字节,右边用ASCII字符表示每个字节,“.”表示不可显示的字符。这里没有指

定段地址, D命令自动显示DS段的内容。如果只指定首地址,则显示从首地

址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令的最

后一个单元的内容。