码迷,mamicode.com
首页 > 其他好文 > 详细

实验三

时间:2018-11-18 16:37:17      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:方法   程序   实验报告   屏幕   class   基础知识   报告   文件   算术   

南京信息工程大学实验报告

实验名称 实验 3 编程、编译、连接、跟踪 实验日期 11.16 得分 

学院 计软院 专业 计科年级 2017 级班次 5班姓名 邱雪文学号 20171308197

 

一、实验目的

  1. 掌握汇编语言源程序(8086 dos 汇编)编写→汇编→链接→调试的方法
  2. 加深对 1-4 章基础知识的理解

    二、实验准备

    1. 结合第 4 章课件和教材,学习/复习完整汇编源程序编写→汇编→连接→运行→调试的方法
      1. 复习第 1-3 章以下基础知识:

    (1) 寄存器用法

    ① 通用寄存器 AX, BX,CX, DX

    ② 段寄存器 CS, DS, SS 和两个特殊寄存器 IP, SP

    (2) 内存访问,特别是多字节数据的存、取

    (3) 汇编指令用法,注意其合法使用形式

    ① 数据传送类指令:mov, push, pop

    ② 算术运算指令:add, sub

    ③ 转移类指令:jmp

    三、实验内容

    1. 练习 1

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

  3. 技术分享图片技术分享图片

    图 1-1 汇编源程序 t1.asm 源代码

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

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

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

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

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

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

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

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

     

    1. 练习 2

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

  4. 技术分享图片

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

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

    (1) 如果(1)结果得到验证,重新打开 t2.asm,尝试将源代码中 line7 的 0433h→0432h,

    line10 的 0436h→0439h, 然后重新汇编、连接,得到可执行文件 t2.exe。使用 cls 命令清屏后,再次观察程序运行结果。

    (2) 如果(1)结果得到验证,重新打开 t2.asm,尝试将源代码中 line7 的 0433h→0333h,

    line10 的 0436h→0336h, 然后重新汇编、连接,得到可执行文件 t2.exe。使用 cls 命令清屏后,再次观察程序运行结果。

    四、实验结论

  5. 对源程序 t1.asm 进行汇编、连接、运行、调试

  6.  技术分享图片

    技术分享图片

      技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

     

  7.  

    (1) 运行程序,程序输出结果是  36

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

  9.  

    我将 line4寄存器 dl 的值改为5,line9寄存器 dl 的值改为5

  10. 技术分享图片
  11. 技术分享图片

  12. 技术分享图片

  13.  

    运行结果是55

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

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

  15. ② PSP(程序段前缀)的头两个字节是CD 20,用debug查看psp的内容,验证是否如此。
  16. 技术分享图片
  17. cs=076A,ds=075A,满足关系。
  18. 是这样的。
  19. ③ 使用u命令对t1.exe进行反汇编得到的源代码。
  20.  

  21. 技术分享图片
  22. ④使用t命令和p命令(遇到int命令时用p命令)单步调试观察结果。
  23.  

  24.  

  25. 技术分享图片

  26.  

    技术分享图片

  27.  

    技术分享图片

 

任务二、

第一步, 编写汇编源程序t2.asm

在屏幕左上方是出现红色数字36。

技术分享图片

技术分享图片

技术分享图片

(2)

技术分享图片

 技术分享图片

技术分享图片

程序运行结果为红色29。

 

(3)

技术分享图片

技术分享图片

技术分享图片

实验结果为蓝色数字36。

 

五、总结与体会

           本次实验,我掌握了汇编语言源程序(8086 dos 汇编)编写→汇编→链接→调试的方法。我知道了exit修改文本这个功能。

 

实验三

标签:方法   程序   实验报告   屏幕   class   基础知识   报告   文件   算术   

原文地址:https://www.cnblogs.com/qiuxuewen/p/9968651.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!