实验三
Posted daiyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验三相关的知识,希望对你有一定的参考价值。
练习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中不同的数值代表着不同的颜色和数字,这在以后的学习中我还要深入研究。
以上是关于实验三的主要内容,如果未能解决你的问题,请参考以下文章