电子科技大学 汇编 验报告.docVIP

  • 592
  • 0
  • 约7.3千字
  • 约 27页
  • 2016-11-28 发布于贵州
  • 举报
电子科技大学 汇编 验报告

计算机专业类课程 实验报告 课程名称:汇编语言程序设计 学  院:计算机科学与工程 专  业:计算机科学与技术 学生姓名:郭小明 学  号:2011060100010 日  期:2013年12月24日 电 子 科 技 大 学 实 验 报 告 实验一 学生姓名:郭小明 学 号:2011060100010 一、实验室名称: 主楼A2-412 二、实验项目名称:汇编源程序的上机调试操作基础训练 三、实验原理: DEBUG 的基本调试命令;汇编数据传送和算术运算指令 MASM宏汇编开发环境使用调试方法 四、实验目的: 1. 掌握DEBUG 的基本命令及其功能 2. 学习数据传送和算术运算指令的用法 3.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程 实验内容: 编写程序计算以下表达式: Z=(5X+2Y-7)/2 设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。 1.编辑源程序,建立一个以后缀为.ASM的文件. 2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。 3.连接目标程序,产生可执行程序。 4.用DEBUG程序调试可执行程序,记录数据段的内容。 VARX VARY VARZ 5 4 10 5 20 20 六、实验器材(设备、元器件): PC机 ,MASM软件平台。 七、实验数据及结果分析: 程序说明: 功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。其中X 与Y是已知量,Z是待求量。 结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。 详细内容见程序注释。 程序清单: 调试说明: 将汇编语言(.asm文件)翻译为目标代码程序(.obj文件)(MASM.exe); 没有出现错误或者警告,下一步进行链接,连接目标代码程序和库函数代码生成可执行程序文件(.exe文件),(LINK.exe); 我们成功生成了test1.exe. 然后输入Debug命令进入调试环境,-是debug命令提示符。 我们执行-n test1.exe -l 装入我们的test1.exe 然后我们-u反汇编程序, 得到程序的反汇编。 1485显然是我们的数据段逻辑地址 我们来查看一下1485::0000 到 1485:1111 这16个字节的内容,理论上应该是05,04,00.……00 05正是VARX 04 正是VARY 00 正是VARZ 正如我们所料 下面是单步调试逐条执行汇编指令的操作。 现在我们执行程序(-g),然后再次查看数据段里面的内容 VARZ的内容变成了0D 事实上(5*5+4*2-7)/ 2 = 13 就是0D 程序框图: VARX VARY VARZ 5 4 13 10 5 26 20 20 66 实验结论: 通过本次实验,我们学习了解掌握了DEBUG 的基本命令及其功能,学习了数据传送和算术运算指令的用法,熟悉了在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。完成了Z = (5*X + 2*Y - 7)/ 2 算术式的编程计算,使用到了以上学习到的知识,并且利用了顺序程序设计的思想。通过本次实验,大大提升了对汇编程序设计这门课实践意义的理解,提高了编程能力和设计水平。 另外在此感谢指导老师的辛勤工作! 电 子 科 技 大 学 实 验 报 告 实验 二、实验项目名称:分支程序与循环程序设计 三、实验原理: 分支程序设计基本规范与调试方法, 循环程序设计与调试方法;分配与使用寄存器的相关方法 实验目的: 掌握分支程序的结构。 掌握分支程序的设计与调试方法。 掌握循环程序设计与调试方法 掌握正确分配与使用寄存器。 实验内容: 编程实现:分别统计下列20个数中大于5、小于零和大于等于零且小于等于5的数据个数,分别存入字节单元RES1、RES2和RES3中。 BUFF DB -1, 20, 3, 30, -5, 15, 100, -54, 0, 4, 78

文档评论(0)

1亿VIP精品文档

相关文档