码迷,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  0433h0432h,

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

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

    line10 0436h0336h, 然后重新汇编、连接,得到可执行文件 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
迷上了代码!