2024年6月8日发(作者:)
DEBUG使用方法
启动DEBUG程序,DEBUG程序用于调试可执行文件。
格式:
DEBUG[[drive:][path]filename[testfile-parameters]]
参数:[drive:][path]filename
指定待调试可执行文件的所在位置及文件名。
testfile-parameters
指定待设计可执行文件需要的命令参数。
相关命令
A(汇编,Assemble)
C(比较,Compare)
D(卸出,Dump)
E(输入数据,Enter))
F(填充,Fill)
G(执行,Go)
H(十六进行运算,Hex)
I(读输入口,Input)
L(装入,Load)
M(移动,MOVE)
N(命令,NAME)
O(写输出口,OUTPUT)
P(调试循环程序,PROCEED)
Q(退出,QUIT)
R(寄存器,REGISTER)
S(找寻,SEARCH)
T(跟踪,TRACE)
U(反汇编,UNASSEMBLE)
W(写盘,WRITE)
XA(分配扩充内存,ALLOCATE EM)
XD(释放分配的扩充内存,DEALLOCATE EM)
XM(扩展内存页影像,MAP EXM PAGES)
XS(显示扩充内存状态,DISPLAY EM STATUS)
二、注意事项
不指定调试文件名时DEBUG命令的使用。
使用DEBUG命令时,如果未指定调试文件的所在位置及名子,DEBUG执行时将显示
符(-)。这时,用户可输入任何一个DEBUG调试命令。
DEBUG命令
以下为DEBUG使用的调试命令及其简介:
?显示所有的调试命令
A汇编8086/8087/8088汇编语言源程序。
C比较两块内存的内容。
D显示部分内存的内容。
E人指定的地址开始把数据送入内存。
F将指一值填进某一范围的内存。
G运行内存中的程序。
H执行十六进制算术运算。
I从指定输入口输入一道字节值。
L把文件或磁盘扇区内容装入内存。
M拷贝某块内存的内容。
N指定文件名,以便L或W命令读写该文件;指定正调试文件所需的参数。
O发送一字节值至指定输出口。
P执行循环程序,重复字符串指令,软中断,或子程序。
Q结束DEBUG命令执行。
R显示或修改一个或数个寄存器内容。
S在内存指定范围内找寻指定的值。
T执行一条指令,然后显示所有寄存器的内容,所有标志状态,以及下一条要执行的指
令(汇编语言格式)。
U反汇编某一范围内的字节,显示其相应汇编语言源语名。
W把正调试文件写入磁盘。
XA分配扩充内存
XD释放分配的扩充内存。
XM作扩充内存页的影像。
XS显示扩充内存的状态。
命令参数间的隔离
除命令Q外,所有的调试命令都可使用参数。参数间可用逗号或空格隔开,但只是在
十六进制数之间才要求必须隔开。因此,下列命令是等价的:
dcs: 100 110
D CS: 100 110
D,CS:100,110
指定有效地址
调试命令中的addres(地址)参数指定内存中的地址。地址分两部分,一部分是段寄存器
字母或4位的段地址,另一部分为偏移地址。其中,段寄存器或段地址可以省略。
对命令A,G,L,T,U,W,默认段为CS,对所有其余命令,默认段为DS。所有数值都为十六进
制。
以下为有效地址:
CS:0100
04BA:0100
注意,在段名和偏移值之间要加冒号。
指定有效地址范围。
调试命令中的range(范围)参数指定内存中的地址范围。地址范围有两种格式:开始地
址和结束地址;开始地址和范围长度(由L指定)。
例如:从CS:100开始,到10F结束,共16字节范围,可使用两种格式说明:
CS:100 10F
CS:100 1 10


发布评论