通用寄存器:AX BX CX DX
基址指针:BP 堆栈指针:SP DI SI
IP Flag
CS DS SS ES
[…] BX,BP,SI,DI
BX ---DS
SI ---DS
DI ---DS
SP ---SS
BP ---SS
IP ---CS
R:查看、改变CPU寄存器的内容
D:查看内存中的内容
E:改写内存中的内容
U:将内存中的机器指令翻译成汇编指令
T:执行一条机器指令
A:以汇编指令的格式在内存中写入一条机器指令
来源:http://www.cnblogs.com/fantasy12436109/p/3970096.html
注意:以上的单字命令同样可以
OF(ov/nv):Over 溢出 标志位 溢出 OV(overflow溢出) NV(no overflow未溢出)
DF(dn/up):Direction 方向 标志位 方向 DN(Down减少) UP(UP增加)
IF(ei/di):Enable 允许中断 标志位 中断 EI(enable interrupt许可) DI(disable interrupt 禁止)
SF(ng/pl):Symbol 符号 标志位 符号位 NG(negative)负 PL(plus 正)
ZF(zr/nz):Zero 零 标志位 零位 ZF(zero等于零) NZ(no zero不等于零)
AF(ac/na):Auxiliary 辅助进位 标志位 辅助进位 AC(assistant carry进位) NA(no assistant carry 无进位)
PF(pe/po):Parity 奇偶 标志位 奇偶标志 PE(parity even偶) PO(parity odd奇)
CF(cy/nc):Carry 进位 标志位 进位 CY(carry Yes进位) NC(No carry无进位)
TF ( Trap Flag ) 追踪标志: 当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值
汇编
DEBUG的主要常用命令
1、
-Q 退出运行程序命令
2、
-U 反汇编显示命令
-U CS:100 从指定位置开始反汇编
-U 100 等效于U CS:100 ,CS是默认的段寄存器
-U CS:100 130 对指定范围反汇编
-U CS:100 L10 对指定长度反汇编
3、
-D 显示内存单元的内容的命令
-D DS:10 显示从指定位置上开始内存区的存储单元内容
-D CS;100 显示当前段的内存区
4、
-G 从当前CS:IP的位置执行程序
-G=CS:100 从指定位置招待程序
-G=100 等效于G=CS:100,CS是默认值
-G 200 从当前位置执行,设200为断点
-G=0 10 20 从CS:0起执行,10,20是两个断点
5、
-T 从当前CS:IP处执行一条指令
-T 3从当前CS:IP起执行3条指令
-T=CS:10 从CS:10起执行1条指令
-T=10 等同于T=CS:10,CS是默认值
6、
-P,-P3,-P=CS:10,-P=10 类似于T命令,但是把子程序当做一条指令,在子程序
执行完毕后停下
7、
-A 汇编命令,从指定地址开始输入汇编语句,把它们汇编成机器代码相继存放
在指定开始的存储器中
-A 从当前CS:IP处开始汇编
-A 10,-A CS:10从CS:10处开始汇编
8、
-I 读指定端口的内容
-I 21 读出并显示21H号端口的内容
9、
-O 向指定的端口写数据
-O 21 00 向21H号端口写入00H
10、
-? 显示DEBUG命令格式