实验三 编程编译连接跟踪

Posted jywe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验三 编程编译连接跟踪相关的知识,希望对你有一定的参考价值。

学号:20171308150 姓名:江漪雯 班级:17计科4班

实验结论

  一、练习1

  第一步,编写汇编源程序 t1.asm,源程序代码如图 1-1 所示。

技术分享图片

第二步,对源程序 t1.asm 进行汇编、连接、运行、调试

首先打开DOSBOX界面,输入如下指令,进入edit界面。

技术分享图片

然后会出现以下界面,点击Enter进入。

技术分享图片

输入指定代码,并保存为t1.asm。

技术分享图片

技术分享图片

然后进行编译

技术分享图片

连接

 技术分享图片

运行

技术分享图片

1)运行程序,观察程序输出结果是什么?

         36

2)将 line4 和 line9 种寄存器 dl 的值分别修改为 0~9 中任何一个数字,重新汇编->连接->运行,观察结果的变化。

         我改为了 4和8。

技术分享图片

然后分别进行汇编,连接和运行。

技术分享图片

技术分享图片

得到运行结果为48。

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

① 使用r命令查看,观察寄存器cx的值是多少;观察寄存器ds和cs的值是多少,他们之间是否满足关系(cs)=(ds)+10H?

技术分享图片

CS=076A,DS=075A.CS=DS+10.故满足。

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

技术分享图片

可得知确实如此。

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

技术分享图片

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

技术分享图片

技术分享图片

可得知我的运行结果一个为4,一个为8。

   二、练习 2

       第一步,编写汇编源程序 t2.asm,源程序代码如图 1-2 所示。

技术分享图片

将其命名为t2.asm。

技术分享图片

第二步,对源程序 t2.asm 进行汇编、连接、运行、调试

技术分享图片

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

我的电脑直接运行显示不出,在执行前需要进行一次清屏操作,即cls命令。

技术分享图片

2)如果(1)结果得到验证,重新打开 t2.asm,尝试将源代码中 line7 的 0433h->0432h,line10 的 0436h->0439h,然后重新汇编、连接,可得到执行文件 t2.exe。使用cls命令清屏后,再次观察程序运行结果。

技术分享图片

技术分享图片

将源代码中 line7 的 0433h->0432h,line10 的 0436h->0439h,然后重新汇编、连接,可得到执行文件 t2.exe,出现红色数字29。

技术分享图片

使用cls命令清屏后,出现蓝色字母36。

技术分享图片

总结与体会

     本章需要熟练掌握一个汇编程序从写出到最终执行的简要过程。第一步,编写汇编源程序;第二步,对源程序进行编译连接;第三步执行文件中的程序。这三个步骤必须按照顺序来。在编写源程序的时候,如果程序没有返回,在编译的时候是不能表现出来的,被编译器发现的错误只能是语法错误。

    通过查询网络,我了解到mov [bx],XXXXh是指向内存单元为ds:[bx]写入xxxxxh的数据。这个实验通过改变数据的值能够变化输出的数字和数字的颜色。

 

以上是关于实验三 编程编译连接跟踪的主要内容,如果未能解决你的问题,请参考以下文章

实验三 编程编译连接跟踪

实验三 编程,编译,连接,跟踪

实验三 编程编译连接跟踪

实验三 编程编译连接跟踪

汇编语言_实验三_编程编译连接跟踪

实验3 编程编译连接跟踪