DEBUG的主要命令:
0、退出Debug界面
Q
1、汇编命令 (assemble)
A
A [address]; 从当前地址开始汇编
A 0100;从DS:100开始汇编
A 1000:0;从1000:0开始汇编指令
2、显示内存命令 (dump)
D
D [range];显示从当前起80H
D 0100;显示从DS:0100起长80H长的内存
D 1000:0;显示从1000:0开始长80H的内存
D 1000:0 9;查看1000:0~1000:9的内容
3、修改存储单元内容命令 (enter)
E
E address [list]; 编辑当前地址内存
E 0100;编辑DS:0100
E 1000:10;光标停在‘ . ’的后面提示输入想要写入的数据。 空格键表示单元修改结束(可不修改当前单元,跳到下一单元),enter键表示E命令结束
E 1000:10 b8 01 00 b9 02 00 01 c8;从1000:10开始的内存单元写入8个字节机器码
4、填充内存命令(fill)
F
Frange list; 把指定内容送到指定地址中(慎用)
F0100 L10 90;把DS:0100开始的10字节内容改为90
5、内存搬家命令(move)
M
Maddress range;顺序不确定。。。
6、比较命令 (complare)
C
C range address; 比较DS:100和DS:200开始的20H长内容的异同
C 100 L20 200
7、搜索指定内容命令(search)
S
S range list;range指定要搜索范围的开始和结束地址。
list指定一个或多个字节值的模式,或要搜索的字符串。用空格或逗号分隔每个字节值和下一个字节值。将字符串值包括在引号中。
scs:100 110 41 ;查找包含值 41 并且范围从 CS:100 到 CS:110 的所有地址
8、检查、修改寄存器内容命令(register)
R
R ax;R命令后加寄存器名可修改寄存器内容,包括CS和IP
9、追踪与显示命令(trace)
T
T;从当前的CS:IP开始,执行一条指令后停下来
T [=address];从指定的地址起执行一条指令后停下来
T [=address][value];从指定的地址起执行n条指令后停下来,n由value指定
10、反汇编命令(unassemble)
U
U [address];从指定地址开始,反汇编32个字节。查看内存中机器码的含义
如果地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示反汇编32个字节
U [range];对指定范围内的存储单元进行反汇编
11、命名命令(name)
N
N filespecs[filespecs];命令把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,
以便在其后用L或W命令把文件装入存盘.filespecs的格式可以是: [d:][path] filename[.ext]
12、读盘命令(load)
L
L [address[drive sector sector];把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中
L[address] ;装入指定文件,此命令装入已在CS:5CH中格式化了文件控制块所指定的文件。
L;如未指定地址,则装入CS:0100开始的存储区中
13、写盘命令(write)
W
W address drive sector sector ;把数据写入磁盘的指定扇区
W[address] ;把数据写入指定的文件中.此命令把指定的存储区中的数据写入由CS:5CH处的文件控制块所指定的文件中
W ;如未指定地址则数据从CS:0100开始。要写入文件的字节数应先放入BX和CX中
14、输入命令(input)
I
I port; 将某文件或某驱动器,某磁道,某扇区装入内存
15、输出命令(output)
O
16、运行命令(go)
G
G [=address][addresses] ; 执行程序的全部或部分
G = 0100 ;从DS:0100执行到程序结束
G 0100 ;从当前地址执行到 0100
17、十六进制数运算命令(hex)
H
18、xa
19、xd
20、xm
21、xs