寄存器速记

通用寄存器: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寄存器的内容

clipboard

D:查看内存中的内容

E:改写内存中的内容

clipboard[1]

U:将内存中的机器指令翻译成汇编指令

T:执行一条机器指令

A:以汇编指令的格式在内存中写入一条机器指令

clipboard[2]

来源: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命令格式

原文地址:https://www.cnblogs.com/thaughtZhao/p/4187563.html