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

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

ID:12775412

大小:238.88 KB

页数:18页

时间:2018-07-19

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

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

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

2、分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:                    日期:汇编语言程序设计实验报告目录1实验目的与要求12实验内容13实验过程23.1任务123.1.1设计思想及存储单元分配23.1.2流程图33.1.3源程序43.1.4实验步骤123.1.5实验记录124体会14参考文献1516汇编语言程序设计实验报告实验目的与要求(1)掌握子程序设计的方法与技巧,熟悉子程序的参数传递方法和调用原理;(2)掌握宏指令、模块化程序的设计方法;(3)掌握

3、较大规模程序的合作开发与调试方法。1实验内容进一步修改与增强实验二的学生成绩查询程序的功能,具体要求如下:(1)程序执行时首先显示一个功能菜单:选择1=录入学生姓名和各科考试成绩,2=计算平均分,3=成绩排序,4=输出成绩单,5=程序退出。提示:由于学生姓名和成绩是通过程序录入的,因此,定义学生成绩表缓冲区时,初始值都可以置零。为避免录入成绩的时间过程太长,假定学生人数在5人左右,具体人数自行决定。(2)2人一组,一人负责包括菜单显示、程序退出在内的主程序,以及菜单中的功能1和2;另一人负责菜单中的功能3和4。各自汇编自己的模块,然后连接生成一个程序。注意,在每个模块

4、的开始,注明编写者的名字以及同组同学的名字。(3)录入学生姓名和各科考试成绩时,首先显示录入的是第几个学生的信息,然后分别在提示之后输入姓名和各科成绩(可以借鉴书上十进制转二进制的子程序F10T2)。所有学生信息录入完毕后回到菜单显示的位置。姓名及考试成绩的存放、平均分的计算,按照实验二的要求。(4)排序的基本要求是按照平均成绩从高到低排序,也可以考虑按照指定课程的成绩排序。输出成绩单的基本要求是按照排序的结果依次显示每个学生的姓名和平均成绩,也可以考虑按照指定课程、指定进制的形式显示(可以借鉴书上二进制转十进制的子程序F2T10)。提示:可以采用一个一维数组记录每个

5、学生成绩的排序名次,这样就可以避免在排序算法里交换成绩表中的具体信息了。16汇编语言程序设计实验报告(1)将9号和10号DOS系统功能调用定义成宏指令并调用。上述任务中,重要操作环节(纳入到学生自己写的实验步骤中)提示:本次实验中需要学生尝试体会的操作可分为以下几种:1.在TD中跟踪到子程序内部有几种方法?在TD中观察子程序调用和返回时堆栈的变化。2.注意观察FAR、NEAR类型子程序的RET指令的机器码有何不同?观察FAR类型子程序被调用时堆栈的变化情况。3.通过把一个模块拆成多个模块或反之,体会子程序和模块化程序设计的方法,体会模块调用关系图、子程序功能说明、输入

6、/输出说明在程序设计中的作用。4.观察不同模块的可合并段合并后变量偏移地址的变化情况。观察不同段在内存里的放置次序。体会模块间段的定义及其对应的装配方法。5.在编程中使用不同的子程序参数传递方法来编写同一个子程序。6.观察模块间的参数的传递方法,包括公共符号的定义和外部符号的引用,若符号名不一致或类型不一致会有什么现象发生?7.通过TD观察宏指令在执行程序中的替换和扩展,解释宏和子程序的调用有何不同。8.如何使菜单和成绩单显示得更漂亮一点?1实验过程1.1任务11.1.1设计思想及存储单元分配任务主要是实现主菜单和功能一、功能二。主菜单很简单,就是重复多次使用9号调用

7、输出菜单栏,然后1号调用输入1、2、3、4、5,选择要实现的功能。子程序1:寄存器分配:CL:输入姓名字符串长度CH:计数:每个学生3次输入成绩16汇编语言程序设计实验报告SI:循环录入姓名和成绩时SI每+1实现BUF段14个字节的跳跃BX:计数:+1在INPUT_N和INPUT_S和BUF段中实现后移AX:存放姓名的字符和成绩的字符DX:在将输入成绩字符转换为实际成绩时存放成绩子程序2:寄存器分配:BX:+1实现寻找成绩所在的字节SI:每+1实现一个学生到另一个学生的跳跃AX:存放3门课相加后的成绩CX:CL:3门课成绩CX:4个学生1.1.1流程

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

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

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