汇编与接口:熟悉debug工具以及基本的指令
以下实验在Win98虚拟机上完成:
1)进入与退出
debug和q指令
2)显示寄存器
R,结果:
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的地方开始编程,例如:
这样就输入了4条指令
4)U
查看响应地址的汇编代码,如:
U 100 L1
U 100 103等
5)GO
执行所给出的两个地址之间的指令,例如:
G=100 108
就会执行这两个地址之间的代码,然后显示出寄存器的结果:
可以看见AX变成了3,BX变成了2,CX之前就修改过了,是9。
6)Trace
例如T=100 2就是从100这个地方开始往后追踪2条指令,下图是T=100 4的执行结果:
7)Dump
查看内存内容
8)Fill
填充内存
9)Enter
修改内存
上面三个指令的效果展示:
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