四、实验结论
任务一:使用debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。
法一:
1.使用e命令将指令写入内存,并使用u命令进行反汇编。
(此处▲为截图快捷键误按)
2.使用t指令单步执行。
(此处▲为截图快捷键误按)
(此处a为截图快捷键误按)
(此处aa为截图快捷键误按)
汇编指令结束后,再进行单步执行,令人玩味。
法二:
1.使用a命令将指令写入内存。
(此处a为截图快捷键误按)
注:
1.输入数字时,后面不要加H或h,8086默认16进制的数字。
2.add al,bh 不是add al bh 中间是“,” 不是空格。
2.使用t命令单步执行。
同上
任务二:将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。
mov ax,1
add ax,ax
jmp 2000:0003
1.使用a命令将指令写入内存单元。
(此处▲为截图快捷键误按)
2.使用t指令单步执行。
(此处▲为截图快捷键误按)
(此处▲为截图快捷键误按)
(此处▲为截图快捷键误按)
(此处▲为截图快捷键误按)
任务三:查看内存中的内容。
PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。
1.使用d命令查看内存FFF00H~FFFFFH的内容
(此处▲为截图快捷键误按)
2.使用e命令修改,并使用d命令查看修改后的内容。
结论:并没有达到修改的目的。
解释:ROM(read-only memory),“只读存储器”;存储器的任何单元只能随机地读出信息,而不能写入新信息,称为只读存储器ROM,其信息通常是厂家制造时在脱机情况或者非正常情况下写入的。
任务四:向内存从B8100H开始的单元中填写数据,如:
-e B810:0000 01 01 02 02 03 03 04 04
**使用e命令修改此段内存内容,再使用d命令查看此段内存内容,前面的 “.” 变得更密了。
但是,在修改后,上图的位置出现了这个图案,很奇怪。
结合老师上课演示的内容,初步推断,这段图案应该出现在查看内存 “.” 比较密的位置,偏移的具体原因暂不知晓。
注:修改其他段的内存并没有什么现象产生。
五、总结与体会
通过本次实验,我学会了各种命令的使用:r命令,e命令,d命令,t命令等,稍后总结在下一篇博客里(https://www.cnblogs.com/Master-Sun/p/9845895.html)
同时也发现了许多小细节,比如,1.输入数字时,后面不需要加H, 2 .ROM中的内容不能修改,一些语法的细节等。深刻认识到汇编语言的重要性及其难度,一改之前轻浮的态度。之后的学习里,我将努力刻苦,砥砺前行。