实验报告:实验一
实验结论
1.使用debug将程序段写入内存,逐条执行,观察每条指令执行后CPU相关寄存器中内容的变化
用a命令写入汇编指令,然后用t指令逐条查看相关寄存器中的内容。
下面是用e指令写入机器码,并和上方的a指令汇编指令相互验证
如下图,使用-u反汇编查看汇编指令同上图a中输入的指令一致。
然后用t命令逐条执行,经过验证同上方a命令运行结果一致。
ip值每次增加3与a、e中每道命令6字节一致。(1个空位两字节)
2.计算2的8次方
如下图,输入命令后用r命令修改cs和ip的值到所写命令的所在地址。
用t命令逐条执行,执行8个循环后(8x3)所得值为100h(16的平方)即为2的八次方。
3.查看内存中的内容
用d命令查看发现日期为01/01/92
然后如下图尝试用e修改,并用d查看内存(好像并没有改变)。这部分的数据是改写制度存储器的内容,是不被允许的。
4.向内存B8100H中填写数据
填写书上的数据,发现出现了4个图案。(如下图)
改写不同的数据,会出现不同种类不同颜色的图案。
修改填写的地址(一开始改的多了,没反应),经过测试发现好像只能改变后三位才能显示出图案,并且图案会出现在不同的位置。
总结和体会
通过本次试验,我初步熟练了debug调试中的各种指令。(-d,-e,-g,-a,-u,-r等等)
感想很多,对于第一题有很大的怨念:每次都手残输不对,导致输了好几遍,光第一题就做了一个小时多。(没有那种输错了不用重新输入,只改部分数据的命令呢?)一开始也没注意cs和ip的值,导致执行命令的地方不对。只读存储器的数据不给修改。第四题修改了显存地址空间,可以控制界面的图案输出的类型位置和颜色。