用汇编对学生学号成绩排序Word文档下载推荐.docx
- 文档编号:6445738
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:11
- 大小:142.95KB
用汇编对学生学号成绩排序Word文档下载推荐.docx
《用汇编对学生学号成绩排序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《用汇编对学生学号成绩排序Word文档下载推荐.docx(11页珍藏版)》请在冰点文库上搜索。
《汇编语言》课程综合性实验报告
开课实验室:
基础实验室二日期:
XXXXXXXX
实验题目
学生成绩排序
一、实验目的
进行汇编语言程序设计应用的综合性训练。
综合运用汇编语言循环程序、子程序、宏指令编程方法,提高汇编语言程序设计能力的应用水平。
二、设备与环境
PC兼容机、Windows操作系统、汇编程序masmforwindows2012
三、实验内容
编制一程序,要求接收从键盘输入的一个班的学生的学号、姓名、成绩,对学生的成绩进行排序,最后把学号、姓名、学生成绩、名次显示出来。
实验要求:
1.必须画流程图。
2.本程序涉及汇编语言的多重循环、子程序及宏,其中成绩输入、计算学生名次、显示学生名次都分别用子程序,也可用宏处理。
3.要求用菜单选择。
具体要求:
输入序号1是数据录入并输出(包括姓名、学号、成绩);
输入序号2是排序后的数据输出(包括姓名、学号、成绩、名次);
输入序号3(选做)是可以按学号查找某学生,并输出其成绩,选择修改或不改成绩。
注意:
所有数据录入必须有合法性判断。
四、实验结果及分析
(一)、程序实现的功能。
1.本程序较为简单录入成绩,成绩间用空格隔开。
程序会根据程序录入的顺序自动安排学号并根据成绩由大到小进行排序,输出名次。
2.程序自带报错功能,提示输入正确的数据,使数据录入有合法性判断。
(二)、程序的分析:
1、本程序中分别运用了宏,子程序、定义提示符等,来简化程序,让程序更容易的看清楚。
①:
宏定义的举例:
DISPMACROSTRING
PUSHDX
LEADX,STRING
MOVAH,09H
INT21H
POPDX
ENDM
②:
子程序定义的举例:
STOREPROCNEAR
PUSHBX
MOV[DI],BH;
(DI目的变址寄存器,用于存放目的缓冲区的偏移地址)
INCDI;
偏移地址自加一
MOV[DI],BL
INCDI
POPBX
RET
STOREENDP
NEXTPROCNEAR
PUSHCX
PUSHCOUNT
MOVCX,COUNT
LEADI,BUFF;
BUFF地址传送给DI
P2:
CMPCX,0;
比较Cx与0
JZDONE;
结果为0则转移到DONE
DI自加一
CMPBH,[DI]
JABIG
JBSMALL
2、程序的设计:
流程图
提示所有数据录入必须有合法性判断。
键盘输入录入数据,根据录入数据满足以下要求,一是,必须是数字,二是,不能为0,小于9,这里是当一个数字为一个来处理的。
宏定义:
宏定义主要用于将字符串进栈这一重复的过程中。
排序:
三、实验心得体会:
本学期开设了汇编语言这门课程。
在课程的最后,我们迎来了汇编大实验。
在本学期的学习和做综合实验的过程中。
这学期通过学习汇编程序设计,是我认识到它是计算机语言里的第一个语言。
它有优点也有缺点,优点是它实际上是你计算机处理器实际运行的指令的命令形式表示法。
这意味着你将与处理器的底层打交道,比如寄存器和堆栈,能编写出比任何其他语言能实现的快得多的程序。
缺点是难学、语法晦涩、坚持效率,造成大量额外代码,移植性:
接近零。
因为这门语言是为一种单独的处理器设计的,根本没移植性可言。
通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。
通过查阅以下资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。
这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。
但这次是一个综合的程序,平时的很多程序都用到了。
很多子程序的设计是固定的,因此可以直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。
在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。
不可否认,本程序存在不少缺点和不足,但通过这次课程设计的却找出了自己在学习上的不足,对以后的工作也有指导作用。
我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的!
我对按成绩排序这一块,有点不是很熟悉,在做实验的时候,卡在了这个环节。
老师在上机课的时候,把同学的代码拿出来给我讲解的时候,自己跟的太慢,还是没懂。
对于冒泡排序,我在之前的作业中,用到过,但是,我在本次实验中,知道具体该怎么操作,但是对于代码的写作,还是不太熟悉。
总会在这样那样的问题中卡住。
在同学讲解过后,我依旧存在着一些问题,这些问题有些都是书上有的,还有就是老师在上课举例的时候,给我们讲解的知识点,通过翻书,翻笔记我明白了那些问题的答案。
出现这些问题的原因就在于我上课听课的认真程度,以及下来做实验不爱自己翻书看看,只是会问问,这样就导致了我在知识点上面的熟悉程度不够,用的时候就记不清楚,导致程序出错。
在老师帮我改过程序之后,我完成了第二个功能。
在第三个功能里面,之前的录入和比较在第二功能里面都用过,所以写起来应该没什么问题。
但是在我写完这个功能的时候,运行程序得到的不是准确的结果。
自己调了很久,确定某个地方有问题,但就是找不出来问题在哪里。
只能把问题注释出来,把代码发给老师帮我调试。
在老师花费了不少的时间,断定代码的问题在前面,而不在标注的那。
果然,老师一次看出了我的问题,就是上课时候老师讲的内容,我自己把错的记下来了,然后导致程序出错,浪费了老师大量的时间。
在本次实验中,自己在学习中存在的问题很明显,就是在老师讲课的时候,自己听课的认真程度,和下来在课后有没有多看看书的这一方面。
由于自己的懒惰,让这次的实验也变得难了起来。
能在课下多看看书,对自己的帮助是无限大的。
总的来说,在这次的实验中,我看到了自己的问题,同学的帮助和老师耐心的帮我们调程序,给我们答疑。
之后会有一个汇编的课程设计,我相信,多看看书,我在课程设计上面不会像这次这样问题很多。
教师评价
评定项目
A
B
C
D
算法正确
操作熟练
程序结构合理
实验结果正确
功能完善
文字流畅、报告规范
其他:
评价教师签名:
李冬艳
XXXX年X月X日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 学生 学号 成绩 排序