Debug的使用
1、debug的功能
R命令:查看、改变CPU寄存器的内容
格式:r——查看各个寄存器的内容;r+寄存器名称——修改寄存器的内容
D命令:查看内存中的内容
格式:d 段地址+偏移地址——查看以此内存单元开始的128个内存单元内容
d ——查看Debug预设地址的内容
E命令:改写内存中的内容
格式:e 起始地址 数据 数据......——修改从起始地址开始的内存单元的内容
e 起始地址——逐个修改输入从起始地址开始的内存单元的内容
U命令:将内存中的机器指令翻译成汇编指令
格式:U 起始地址——翻译起始地址开始的内存单元的内容并翻译为汇编语言
T命令:执行一条机器指令
格式:t——执行CS:IP指向的指令,IP会随之改变
A命令:以汇编语言指令的格式在内存中写入一条机器指令
格式:a 起始地址——从起始地址开始写入命令
2、实验任务(1)
挂载文件夹到虚拟目录并切换到对应盘符,打开debug程序
用e命令将指令写入以1000:0为起始地址的内存
将1000:0开始的内存单元的内容并翻译为汇编语言
修改CS:IP的指向,使其指向起始地址1000:0
执行从1000:0开始的指令
3、实验任务(2)
使用a命令输入指令,修改CS:IP指向2000:0
不断执行指令即可得到2的8次方
4、实验任务(3)
使用D命令查看FFF00-FFFFF内存单元的内容,发现生产日期存在于FFFF0-FFFFF中
用e命令修改FFFF0-FFFFF中的内容,用d命令查看,发现其不变!
因为在8086PC机中,内存单元C0000-FFFFF是只读储存器ROM的地址空间,而ROM只能读出而不能写入数据,所以我们对ROM的地址空间写入的数据都是无效的。
5、实验任务(4)
由于A0000-BFFFF是显存储存器的地址空间,可以发现,地址空间的数据不会被改变,且输入的数据会直接显示在显示器上 ,且输入第一个01时,图案会出现,输入第二个时颜色会改变,此后都是。
第一篇笔记,记录一下学习汇编语言的过程,巩固一下知识~