华中科技大学汇编实验报告3

华中科技大学汇编实验报告3

ID:2261117

大小:159.54 KB

页数:17页

时间:2017-11-15

华中科技大学汇编实验报告3_第1页
华中科技大学汇编实验报告3_第2页
华中科技大学汇编实验报告3_第3页
华中科技大学汇编实验报告3_第4页
华中科技大学汇编实验报告3_第5页
资源描述:

《华中科技大学汇编实验报告3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程实验报告课程名称:汇编语言程序设计实验实验名称:实验三程序执行时间与代码长度优化实验时间:2016-4-5,14:00-17:30实验地点:南一楼804室55号实验台指导教师:张勇专业班级:计算机科学与技术201409班学号:U201414813姓名:唐礼威同组学生:无报告日期:2016年4月6日原创性声明 本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行

2、为。特此声明!学生签名:日期:成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:                    日期:汇编语言程序设计实验报告目录1实验目的与要求12实验内容13实验过程23.1任务123.1.1设计思想及存储单元分配23.1.2流程图33.1.3源程序33.1.4实验步骤73.1.5实验记录83.2任务283.2.1设计思想及存储单元分配83.2.2流程图83.

3、2.3源程序83.2.4实验步骤123.2.5实验记录123.3任务3133.3.1设计思想及存储单元分配133.3.2流程图133.3.3源程序143.3.4实验步骤143.3.5实验记录144体会14参考文献1515汇编语言程序设计实验报告实验目的与要求(1)熟悉汇编语言指令的特点,掌握代码优化的基本方法;(2)理解高级语言程序与汇编语言程序之间的对应关系。1实验内容任务1.观察多重循环对CPU计算能力消耗的影响若有m个用户在同一台电脑上排队使用实验二的程序,想要查询“wangwu”这个学生的平均成

4、绩,那就相当于将实验二的程序执行了m次。为了观察从第一个用户开始进入查询至第m个用户查到结果之间到底延迟了多少时间,我们让实验二的功能二和功能三的代码重复执行m次,通过计算这m次循环执行前和执行后的时间差,来感受其影响。由于功能一和功能四需要输入、输出,速度本来就较慢,所以,没有纳入到这m次循环体内(但可以保留不变)。请按照上述设想修改实验二的程序,并将m值尽量取大(建议m>=1000),以得到较明显的效果。提示:在进入功能二之前增加m次循环的初始化工作,在功能三结束之后增加m次循环的条件判断和转移语句

5、。学校汇编教学网站的软件下载中提供了显示当前时间“秒和百分秒”的子程序。若在m次循环前调用一下该子程序,m次循环执行完之后再调用一下该子程序,就能在屏幕上观察并感受到执行循环前后的时间差(时间差值需要自行手工计算)。注意,由于虚拟机环境下CPU会被分时调度,故该时间差值会因计算机运行环境与状态的不同而不同。任务2.对任务1中的汇编源程序进行优化优化工作包括代码长度的优化和执行效率的优化,本次优化的重点是执行效率的优化。请通过优化m次循环体内的程序,使程序的执行时间减少10%以上。减少的越多,评价越高!优

6、化方法提示:首先是通过选择执行速度较快的指令来提高性能,比如,把乘除指令转换成移位指令、加法指令等;其次,内循环体中每减少一条指令,就相当于减少了m*n条指令的执行时间,需要仔细斟酌;第三,尽量采用32位寄存器寻址,能有更多的机会提高指令执行效率。15汇编语言程序设计实验报告任务3.观察用C语言实现的任务1的程序与汇编语言实现的程序的差异首先确定自己实现的任务1程序中的m与n的值与老师提供的C语言程序中的对应值是一样的【老师提供的C语言源程序ex3.c仅仅实现了功能二和三,其对应的执行程序是ex3D.e

7、xe(缺省设置版)和ex3F.exe(执行速度优化版),在学校汇编教学网站的实验指导中下载】,然后对比两种语言实现的程序的执行效率和代码长度。通过用TD等工具反汇编执行程序ex3D.exe和ex3F.exe,观察和总结C语言编写程序和自己的汇编语言程序的对应关系及差异,总结其中可以简化的地方,以优化代码长度和执行效率。提示:采用反汇编方法观察C语言编写生成的执行程序时,首先观察程序的整体结构特点,然后重点分析、比较计算平均成绩的程序代码Average()。若你的计算机执行速度很快,需要加大程序中的循环次

8、数m的值,则除了可采用修改源程序,然后再编译连接的方法实现外,还可以使用TD直接在内存中去修改执行程序中的m值的方法实现1实验过程1.1任务11.1.1设计思想及存储单元分配查找和计算成绩的功能与第二次实验相同。循环是通过定义一个双字类型的COUNT,每查找和计算一次后减一,COUNT等于0时退出。寄存器分配:BP:用来存储输入字符串的地址BX:用来存储BUF段的首地址SI:查找字符时实现递增到下一字符DX:字符串缓冲区地址,也用来计算成绩

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。