Debug使用:
1.r命令:查看,修改CPU寄存器的内容
2.d命令:查看内存中的内容
3.e命令:改写内存中的内容
4.u命令:将内存中的机器码翻译成汇编指令
5.t命令:执行一条机器指令
6.a命令:以汇编指令的格式在内存中写入一条机器指令
执行r命令显示寄存器的状态上篇已经介绍
r命令修改ax寄存器的内容:
-r ax
:1111
执行这两个语句的命令之后查看寄存器的内容r变为1111
同理修改cs为:1400 ip为1111
实验任务:使用debug后将下面的程序段写入内存中,逐条执行,观察每条指令执行后,cpu的相关寄存器的内存变化
机器码: 汇编指令
b8 20 4e mov ax 4e20H
05 16 14 add ax 1416H
bb 00 20 mov bx 2000H
01 d8 add ax bx
89 c3 mov bx ax
01 d8 add ax bx
b8 1a 00 mov ax 001aH
bb 26 00 mov bx 0026H
00 d8 add al bl
00 dc add ah bl
00 c7 add ah al
b4 00 mov ah 0
00 d8 add al bl
04 9c add al 9ch
注意:可用E命令和A命令以两种方式将指令写入内存,注意用T指令执行时,cs:ip的指向
实验操作步骤:
1.图1表示debug下输入a命名然后开始输入汇编指令,左边是内存地址右边是指令;
2.输入完毕后使用d 073f:0100查看内存中的机器码指令,使用u 073f:0100查看内存中的汇编指令;
3.分别使用r cs修改cs地址,r ip修改ip地址,修改为内存命令首地址;
4.使用t命令执行一条汇编指令,指令后寄存器状态如图2,可以看到ax为4e20 cs:ip变为:073f:0103
5.继续执行t命令,直到命令执行完毕