求debug命令详解

DEBUG的常用命令

(1)汇编命令 A

格式:A[起始地址]

功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省

起始地址,则从当前CS:100 地址开始存放。A 命令按行汇编,主要是用于小段

程序的汇编或对目标程序的修改。

(2)反汇编命令 U

格式1:U[起始地址]

格式2:U[起始地址][结束地址|字节数]

功能:格式1 从指定起始地址处开始将32 个字节的目标代码转换成汇编指令形

式,缺省起始地址,则从当前地址CS:IP 开始。

格式2 将指定范围的内存单元中的目标代码转换成汇编指令。

(3)显示、修改寄存器命令 R

格式:R[寄存器名]

功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,

则按以下格式显示所有寄存器的内容及当前值(不能修改)。

AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000

DI=0000 DS=3000 ES=23A0 CS=138E IP=0000

NV UP DI PL NZ NA PO NC

138E:0000 MOV AX,1234

-R AX ;输入命令

AX 0014 ;显示AX 的内容

: ;供修改,不修改按回车。

若对标志寄存器进行修改,输入:-RF

屏幕显示如下信息,分别表示OF、DF、IF、SF、ZF、AF、PF、CF 的状态。

NV UP DI PL NZ NA PO NC

不修改按回车键。要修改需个别输入一个或多个此标志的相反值,再按回车键。

R 命令只能显示、修改16 位寄存器。

(4)显示存储单元命令 D

格式1:D[起始地址]

格式2:D[起始地址][结束地址|字节数]

功能:格式1 从起始地址开始按十六进制显示80H 个单元的内容,每行16 个单

元,***8 行,每行右边显示16 个单元的ASCII 码,不可显示的ASCII 码则显示

“·”。格式2 显示指定范围内存储单元的内容,其他显示方式与格式1 一样。

如果缺省起始地址或地址范围,则从当前的地址开始按格式1 显示。

例如: -D 200 ;表示从DS:0200H 开始显示128 个单元内容

-D 100 120 ;表示显示DS:0100-DS:0120 单元的内容

说明:在DEBUG 中,地址表示方式有如下形式:

段寄存器名:相对地址,如:DS:100

段基值:偏移地址(相对地址),如:23A0:1500

(5)修改存储单元命令 E

格式1:E[起始地址] [内容表]

格式2:E[地址]

功能:格式1 按内容表的内容修改从起始地址开始的多个存储单元内容,即用内

容表指定的内容来代替存储单元当前内容。

例如:—E DS:0100 'VAR' 12 34

表示从DS:0100 为起始单元的连续五个字节单元内容依次被修改为

'V'、'A'、'R'、12H、34H。

格式2 是逐个修改指定地址单元的当前内容。

如:—E DS:0010

156F:0010 41.5F

其中156F:0010 单元原来的值是41H,5FH 为输入的修改值。若只修改一个单元

的内容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,

就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此

重复直到修改完毕,按回车键返回DEBUG“-”提示符。如果在修改过程中,将

空格键换成按“-”键,则表示可以修改前一个单元的内容。

(6)运行命令 G

格式:G[=起始地址][第一断点地址[第二断点地址……]]

功能:CPU 从指定起始地址开始执行,依次在第一、第二等断点处中断。若缺省

起始地址,则从当前CS:IP 指示地址开始执行一条指令。最多可设置10 个断点。

(7)跟踪命令 T

格式:T[起始地址][正整数]

功能:从指定地址开始执行‘正整数’条指令,若缺省‘正整数’,表示执行一

条指令,若两项都缺省,表示从当前CS:IP 指示地址开始执行一条指令。

(8)指定文件命令 N

格式:N<文件名或扩展名>

功能:指定即将调入内存或从内存写入磁盘的文件名。该命令应该用在L 命令和

W 命令之前。

(9)装入命令 L

格式1:L[起始地址][盘符号][扇区号][扇区数]

格式2:L[起始地址]

功能:格式1 根据盘符号,将指定扇区的内容装入到指定起始地址的存储区中。

格式2 将N 命令指出的文件装入到指定起始地址的存储区中,若省略起始地址,

则装入到CS:100 处或按原来文件定位约定装入到相应位置。

(10)写磁盘命令 W

格式1:W<起始地址>[驱动器号]<起始扇区><扇区数>

格式2:W[起始地址]

功能:格式1 把指定地址开始的内容数据写到磁盘上指定的扇区中。

格式2 将起始地址的BX×10000H+CX 个字节内容存放到由N 命令指定的文件中。

在格式2 的W 命令之前,除用N 命令指定存盘的文件名外,还必须将要写的字节

数用R 命令送入BX 和CX 中。

(11)退出命令 Q

格式:Q

功能:退出DEBUG,返回到操作系统。

以上介绍的是DEBUG 常用命令,其他命令请参考有关书籍。