实验三

练习1:

一:用记事本编写文件1.asm

二:对文件1.asm 进行汇编,连接,运行,调试

发现运行出来的结果是36。

三:将 line4和line9中dl 的值分别修改为 0~9 中任何一个数字,重新汇编, 连接,运行,观察结果的变化。

此处改的数值分别为1,1

象上面一样进行汇编, 连接,运行,发现结果确实为11。

四:用debug对生成的可执行文件 1.exe 进行调试

1.使用r命令查看寄存器中cs和ds的值为多少,它们之间是否满足关系cs=ds+10H? 

发现cs=15D9,ds=19C9,满足cs=ds+10H。

2.PSP(程序段前缀)的头两个字节是CD 20, 用debug查看PSP的内容,验证是否如此。

发现确实为CD 20。

3.使用u命令对1.exe进行反汇编,观察反汇编得到的源代码。

4.使用 t 命令和 p 命令(遇到 int 命令时,用 p 命令)单步调试,观察结果

发现在-p后面出现了3,6,即之前运行程序所出现的结果。

 

练习2:

一:按照实验要求编写源代码2.asm。

二:对源程序2.asm进行汇编,连接,运行,调试,观察程序运行结果,验证是否在屏幕左上方出现红色的数值36

编译过程与上面一致,不截图显示了

清屏之后发现确实显示了红色的36。

三:将源代码中line7的0433h→0432h, line10 的 0436h→0439h, 然后重新汇编、连接,得到可执行文件2.exe。使用cls命令清屏后,再次观察程序运行结果

发现数字变成了红色的29。

四:将源代码中line7的0433h→0333h, line10 的 0436h→0336h, 然后重新汇编、连接,得到可执行文件2.exe。使用 cls 命令清 屏后,再次观察程序运行结果

发现数字变成了蓝绿色的36。

 

实验总结与体会:

通过这两个实验的实践过程,我学会了如何编写,编译,连接一个程序以及使用dosbox运行这个程序,并且我学会了使用debug逐步调试程序中的每一步。还有,在mov中不同的数值代表着不同的颜色和数字,这在以后的学习中我还要深入研究。

 

posted @ 2018-11-17 13:51  戴阳  阅读(115)  评论(0)    收藏  举报