常用DEBUG命令.doc
文本预览下载声明
常用DEBUG命令
DEBUG命令是在命令提示符“_”下由键盘键入的。每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键(ENTER)。命令及参数的输入可以是大小写的结合。Crtl+Break键可中止命令的执行。Crtl+NumLock键可暂停屏幕卷动,按任一键继续。所用的操作数均为十六进制数,不必写H。
1.汇编命令A
格式: (1)A 段寄存器名:偏移地址
(2)A 段地址:偏移地址
(3)A 偏移地址
(4)A
功能:汇编命令是将用户输入的汇编语言指令,汇编为可执行的机器指令。键人该命令后显示段地址和偏移地址并等待用户从键盘逐条键入汇编语言指令。每当输入一行语句后按“ENTER”键,输入的语句有效。若输入的语句中有错,DEBUG会显示“^ Error”,要求用户重新输入,直到显示下一地址时用户直接键入回车键返回到提示符“_”。
其中(1)用指定段寄存器内容作段地址;(3)用CS内容作段地址;(4)以CS:100作地址。以后命令中提及的各种‘地址’形式,均指(1)、(2)、(3)中A命令后的地址形式。
2.比较命令C
格式:C 源地址范围,目标地址
其中范围是由起始地址终止地址指出的一片连续单元,或由起始地址 L 长度指定的。
功能:从源地址范围的起始地址单元起逐个与目标起始地址以后的单元顺序比较单元的内容,直至源终止地址为止。遇有不一致时,以源地址源内容目标内容目标地址的形式显示失配单元及内容。
3.显示内存单元命令D
格式: (1)D 地址
(2)D 地址范围
(3)D
其中(1)以CS为段寄存器;(3)显示CS:100为起始地址的一片内存单元内容。
功能:该命令将显示一片内存单元的内容,左边显示行首字节的段地址:偏移地址,中间是以十六进制形式显示的指定范围的内存单元内容,右边是与十六进制数相对应字节的ASCII码字符,对不可见字符以‘·’代替。
4.修改内存单元命令E
格式: (1)E 地址单元内容
(2)E 地址单元内容表
其中单元内容是一个十六进制数,或是用引号’(或”)括起来的字符串;单元内容表是以逗号分隔的十六进制数,或是用’或”括起来的字符串,或者是二者的组合。
功能:(1)将指定内容写入指定单元后显示下一地址,以代替原来内容。可连续键入修改内容,直至新地址出现后键入回车ENTER为止;(2)将单元内容表逐一写入由地址开始的一片单元中,该功能可以将由指定地址开始的连续内存单元中的内容,修改为单元内容表中的内容。
例如:_E DS:30 F8,AB,”AB”
该命令执行后,从DS:30到DS:33的连续4个存储单元底内容将被修改为F8H,ABH,41H,42H。
5.填充内存命令F
格式:F 范围单元内容表
功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。
例如:F 05BC:200 L 10 B2,‘XYZ’,3C
该命令将由地址05BC:200开始的10H(16)个存储单元顺序填充“B2,58,59,5A,3C,B2,58,59,5A,3C,B2,58,59,5A,3C,B2”
6.连续执行命令G
格式: (1)G
(2)G=地址
(3)G=地址,断点
其中(2)、(3)中的“=”是不可缺省的。
功能:
默认程序从CS:IP开始执行。
程序从当前的指定偏移地址开始执行。
从指定地址开始执行,到断点自动停止并显示当前所有寄存器、状态标志位的内容和下一条要执行的指令。DEBUG调试程序最多允许设置10个断点。
7.跟踪命令T
格式:T [=地址][条数]
功能:如果键入T命令后直接按“ENTER”键,则默认从CS:IP开始执行程序,且每执行一条指令后要停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令。用户也可以指定程序开始执行的起始地址。条数的缺省值是一条,也可以由条数指定执行若干条命令后停下来。
例如:T
该命令执行当前指令并显示所有寄存器、状态标志位的内容和下一条要执行的指令。
又例如:T 10
该命令从当前指令开始执行10H条指令后停下来,所有寄存器、状态标志位的内容和下一条要执行的指令。
8.反汇编命令U
格式: (1)U 地址
(2)U 地址范围
功能:反汇编命令是将机器指令翻译成符号形式的汇编语言指令。该命令将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次U指令后下一地址的值。这样可以连续反汇编。
9.执行过程命令P
格式:P
功能:执行一条指令或一个过程(子程序),然后显示各寄存器的状态。
说明:该命令主要用于调试程序
显示全部