实验三

一.实验结论

 练习1

1.编写源程序t1.asm

2.程序 t1.asm 进行汇编、连接、运行、调试。

汇编:

连接:

 

(1)运行程序,观察程序输出结果。

 

显然,结果为36

(2)将line4中dl值改为二,将line9中dl值改为九,重新汇编、连接、运行。

结果变为29

(3)用debug对生成的可执行文件t1.exe进行调试。

①使用r命令查看,观察cx值为0016,ds和cs的值分别为15c9和15d9,满足关系(cs)=(ds)+10h。

 

②用debug查看PSP内容,头两个字节是CD 20。

 

③用u命令对t1进行反汇编

 

④使用u命令和p命令单独调试,观察结果。

 

练习2

1.编写汇编源程t2.asm

 

2. 对源程序 t2.asm 进行汇编、连接、运行、调试。

(1) 对 t2.asm 进行汇编、连接后,得到可执行文件 t2.exe。运行 t2.exe,观察程序运行
结果,验证是否在屏幕左上方出现红色的数值 36。

汇编:

 

连接:

 

运行:

 

出现红色36

(2)重新打开 t2.asm,尝试将源代码中 line7 0433h→0432h,line10 0436h→0439h, 然后重新汇编、连接,得到可执行文件 t2.exe。

 

使用 cls 命令清屏后,再次观察程序运行结果

 

结果:左上角红色36变为29

(3)重新打开 t2.asm,尝试将源代码中 line7 的 0433h→0333h,line10 0436h→0336h, 然后重新汇编、连接.

 

使用 cls 命令清屏后,再次观察程序运行结果

 

结果:左上角红色36变为蓝色36.

二.总结与体会

练习一中感觉代码比较容易打错,而且汇编时几乎没有debug功能,显示错误后需要自己重新逐个查找错误,在dos中进行编译和运行真的比较麻烦。另外在机房实验时发现.asm文件是可以直接用c++打开的。程序地址比psp内容多10h,与书中描述相同。

练习二在代码中有些决定颜色,有些决定数字内容,修改不同的数字会导致不同的结果,在运行exe文件之前先使用cls直接清屏,避免不必要的影响。

posted @ 2018-11-18 14:58  他是本人  阅读(107)  评论(1)    收藏  举报