四.实验结论
实验任务
(1)使用Debug,观察每条指令执行后CPU中相关寄存器中内容的变化
1.输入指令:
2.由于初始的CS:IP是073F:0100,而自己写入的地址为1000:0,于是用r命令先修改CS和IP的值,再用t命令单步执行
CS:IP由1000:00→1000:03→1000:06继续t命令单步执行,发现变化的只有IP的值,由0006→009→000B→000D→000F→0012→0015→0017→0019→001B→001D→001F
(2)利用以下三条指令计算2的8次方
具体操作过程如下:
(3)查看内存中的生产日期
可以看出生产日期是1992年1月1日
接着尝试修改:
可以发现无法修改
(4)向内存的单元中填写数据
输入书本中所给的内存地址和数据
同一内存地址存放不同数据:
不同内存地址存放相同的数据:
五.总结与体会
在第一个任务中,我是用a命令将指令写入内存,并用t命令进行单步执行,并关注每一次执行时ax与bx的变化,只能说掌握了相关命令的使用。
在第二个任务中, 第一次是2,二三次是4,第五六次是8 ,然后居然变成了10,当时一直想不通为什么会这样,理论上应该是16的,然而在看了论坛以后,发现 结果10是对的 这里的10是十六进制形式表示的 10h的十进制是32,也就是2的5此方。 当程序执行结果为100H时 也就是我们要得结果了2的8此方等于256 ,用十六进制表示是 100H。
在第三个任务中 ,找到生产日期,阅读了书的1.15节之后明白C0000——FFFFF表示各类ROM地址空间,而在这些内存单元中写入数据是无效的。
在第四个任务中,发现相同的数据填写在不同的内存地址中会显示在不同的地方,而相同的内存地址中填写不同的数据则会显示不同的内容。