华科汇编语言程序设计实验2.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华科汇编语言程序设计实验2

课 程 实 验 报 告课程名称:汇编语言程序设计实验实验名称: 实验二程序执行时间与代码长度优化实验时间:2017-3-29,14:30-17:30 实验地点:南一楼804室78号实验台指导教师:班鹏新专业班级:计算机科学与技术201503班学号:U201514558姓名:刘伟光同组学生:无报告日期: 2017年3月29日原创性声明? 本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。特此声明!学生签名:日期:2017.3.29成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:????????????????????日期:目录1实验目的与要求12实验内容13实验过程13.1任务113.1.1设计思想及存储单元分配13.1.2流程图23.13源程序23.1.2实验步骤23.1.3实验记录与分析23.2任务233.2.1设计思想及存储单元分配33.2.2源程序33.2.3实验步骤33.2.4实验记录与分析43.3任务343.3.1设计思想及存储单元分配43.3.2源程序43.3.3实验步骤53.3.4实验记录与分析54总结与体会9实验目的与要求熟悉汇编语言指令的特点,掌握代码优化的基本方法;理解高级语言程序与汇编语言程序之间的对应关系。实验内容任务1. 观察多重循环对CPU计算能力消耗的影响若有m个用户在同一台电脑上排队使用实验一任务四的程序,想要查询成绩列表中最后一个学生“wangwu”的平均成绩,那就相当于将实验一任务四的程序执行了m次。为了观察从第一个用户开始进入查询至第m个用户查到结果之间到底延迟了多少时间,我们让实验一任务四的功能二和功能三的代码重复执行m次,通过计算这m次循环执行前和执行后的时间差,来感受其影响。由于功能一和功能四需要输入、输出,速度本来就较慢,所以,没有纳入到这m次循环体内(但可以保留不变)。请按照上述设想修改实验一任务四的程序,并将m值尽量取大(建议m=1000,具体数值依据实验效果来改变,逐步增加到比较明显的程度,比如秒级延迟),以得到较明显的效果。任务2. 对任务1中的汇编源程序进行优化优化工作包括代码长度的优化和执行效率的优化,本次优化的重点是执行效率的优化。请通过优化m次循环体内的程序,使程序的执行时间尽可能减少10%以上。减少的越多,评价越高!任务3.观察用C语言实现的实验一任务四中功能一的程序与汇编语言实现的程序的差异用汇编语言和C语言分别实现实验一任务四中功能一的功能(对汇编语言而言,就是把实验一中相关程序摘取出来成为独立的程序),对比两种语言实现的程序的代码情况,观察和总结C语言编写程序和自己的汇编语言程序的对应关系及差异,总结其中可以简化的地方。实验过程任务1设计思想及存储单元分配第二次的实验是在第一次实验的基础上进行的,设计思想大致与第一次的实验的任务四相同,更改的方面有在任务四的功能二和功能三中添加了长达100000次的循环,新增的j作为计数器,其类型为DD双字类型。,同时也减少了部分的寄存器以加快程序的运行时间。3.1.2流程图流程图如图3.1.1所示。3.1.1任务一的程序流程图3.13源程序┇JDD 0┇cmp j,word ptr 1000000jne axb┇实验步骤准备上机环境,编辑、汇编、连接文件4。按F9来执行程序文件。进行功能一的测试,窗口提示输入要查找的学生的姓名,在窗口中输入姓名。成功后,再直接敲入回车,测试功能。查看查询最后一位学生所需要的查询时间差,决定选取1000000级时会影响到秒级。实验记录与分析1.实验环境条件:P3 1GHz,256M内存;WINDOWS XP下DOSBox0.72;EDIT.EXE 2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。2.程序中按下回车重新提示输入姓名,如图3.1.1所示:图3.1.1循环1000000的时间差3.改变程序的循环次数,查看时间差,如图3.1.2所示:图3.1.2循环600000的时间差任务2设计思想及存储单元分配在第一次的基础上修改一些寄存器以加快程序的运行速度。源程序┇mov ax,0mov dx,0mov bp,offset BUFadd bp,bxadd bp,10add al,byte ptr ds:[bp]add al,almov dl,ds:[bp+1]add ax,dxmov dl,ds:[bp+2]sar dl,1add ax,dx┇实验步骤1.准备上机环境,编辑、汇编、连接文件

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档