汇编与接口:熟悉debug工具以及基本的指令

以下实验在Win98虚拟机上完成:

1)进入与退出

debug和q指令


2)显示寄存器

R,结果:

汇编与接口:熟悉debug工具以及基本的指令

AX,BX,CX,DX是通用寄存器,SP,BP,SI,DI是地址寄存器,DS,ES,SS,CS是段寄存器,IP是指令指针。

使用这个指令还可以修改寄存器的值,例如:

R CX,回车,显示CX 0000

输入0009,回车

再R CX查看,发现CX寄存器的值已经被改成了0009(显示CX 0009)


3)A

从指定的偏移开始写汇编,例如A 100就是从段地址+100的地方开始编程,例如:

汇编与接口:熟悉debug工具以及基本的指令

这样就输入了4条指令


4)U

查看响应地址的汇编代码,如:

U 100 L1

U 100 103等


5)GO

执行所给出的两个地址之间的指令,例如:

G=100 108

就会执行这两个地址之间的代码,然后显示出寄存器的结果:

汇编与接口:熟悉debug工具以及基本的指令

可以看见AX变成了3,BX变成了2,CX之前就修改过了,是9。


6)Trace

例如T=100 2就是从100这个地方开始往后追踪2条指令,下图是T=100 4的执行结果:

汇编与接口:熟悉debug工具以及基本的指令


7)Dump

查看内存内容



8)Fill

填充内存


9)Enter

修改内存


上面三个指令的效果展示:

汇编与接口:熟悉debug工具以及基本的指令


10)N和L

N(name)指定一个程序的路径,L(load)用来加载,老师的课件:

Loadingprograms from a specific file requires two commands, the Name command, N, andthe Load command, L.

-N A:\PROG1.EXE

-L

Loadingprograms upon entering Debug.

C:\DEBUG A:\PROG1.EXE