汇编试验报告-学生信息管理系统Word文档下载推荐.doc
- 文档编号:14567690
- 上传时间:2022-10-23
- 格式:DOC
- 页数:18
- 大小:146.50KB
汇编试验报告-学生信息管理系统Word文档下载推荐.doc
《汇编试验报告-学生信息管理系统Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《汇编试验报告-学生信息管理系统Word文档下载推荐.doc(18页珍藏版)》请在冰豆网上搜索。
然后再对每个人员成绩进行遍历,统计各个数据层次中人员数,然后再成绩遍历的同时,将平均成绩也同时求出,在求平时成绩的时候,首先先将整数部分乘10然后再加上小数部分,以便于后续的输出。
将排序后的人员信息及成绩显示出来,然后将平均成绩也同时打印出来,还有各个分数层次中的人员数也都一并显示出来。
下面是一些主要代码来实现上述过程:
;
数据部分
NUMBERDB3DUP(0);
第一个存个/十位(ASCII码),第二个存个位(ASCII码),第三个存学生数(二进制)
;
用20字节单元表示学生信息,0-19中:
0对应最大字符,1对应实际输入,2-18对应输入信息,19对应'
$'
INFORMATIONDB99DUP(20DUP(0))
用7字节单元来存分数,0-6中,0-4对应输入字符,5对应输入整数部分的二进制数,6对应于小数部分的二进制数
GRADEDB99DUP(7DUP(0))
AVERAGE_GRADE_BUFFERDB2DUP(0);
第一个存整数部分(二进制形式),
STORE_STUDENT_NUM;
存储学生总数,结果送cx中
STORE_STUDENT_INFORMATION;
存储学生信息
STORE_STUDENT_GRADE;
存储每个学生成绩
SORT;
采用冒泡排序
_DISPLAY;
显示结果
FIND_RESULT;
显示平均成绩和分段人数
关键算法的流程图:
关于分段人数与总成绩的计算冒泡排序算法:
处理计算
计算总成绩
<60?
<70?
<80?
<90?
<
=100
错误
返回
N
A++
B++
C++
D++
E++
Y
处理排序冒泡
i=0
交换
i++
Ki<
=Ki+1
i=counter?
5.效果图
输入三人信息,班级学好姓名,然后输入此人成绩。
可以看到三人的按成绩排序,然后将平均值输出,而且统计了各个分数区间的人数。
输入5人信息,并将其打印出来。
6.实验心得
通过编写学生管理系统的汇编实验,让我对汇编语言有了很深的了解,对于语言的熟悉度也提高了很多。
在编写的过程中遇到了很多的问题,由于汇编语言使用起来比较繁琐(个人感觉),很多内部运行的数据不能很好的呈现出来,所以对数据的保存,处理等方面出现了很大的错误,主要是在字符的输入与二进制的转换,还有就是在数据处理的时候会出现很多标志位,这些标准为对于处理后数据的保存有很大的影响,但是通过课本上的实验例子,对于这些问题基本上都能得到一定的解决。
还有就是在需要跳转的时候,由于跳转指令使用对标志位或者条件使用比较灵活,有很多种的跳转指令,这些指令在使用起来是很方便但是由于判断条件很多,可能不小心就出现了跳转出错。
还有就是,跳转不到想要跳转的地方。
这些问题需要在编写的过程中非常的小心,同时也能将这些指令得使用规则得到一个很好的理解与记忆。
总之,在此次的汇编实验的编写过程中,理解了很多在课堂上学习到的知识,也同时记忆了这些指令的使用规则与方法。
对于汇编语言有了一定程度的理解与掌握。
源程序:
DATASSEGMENT;
此处输入数据段代码
;
输入输出提示字符
STUDENT_NUMDB'
Pleaseinputthenumberofstudents(1-99):
'
'
STUDENT_INFORMATIONDB0DH,0AH,'
Pleaseinputthestudentinformation(classidname):
0DH,0AH,'
STUDENT_GRADEDB0DH,0AH,'
Pleaseinputthestudentgrade(0.0-100.0):
AVERAGE_GRADEDB0DH,0AH,'
Theaveragegradeis:
RESULT1DB0DH,0AH,'
Thenumberofstudentin[>
=90]is:
;
各分数段人数
RESULT2DB0DH,0AH,'
Thenumberofstudentin[80-90]is:
RESULT3DB0DH,0AH,'
Thenumberofstudentin[70-80]is:
RESULT4DB0DH,0AH,'
Thenumberofstudentin[60-70]is:
RESULT5DB0DH,0AH,'
Thenumberofstudentin[<
=60]is:
GRADE_RANKDB0DH,0AH,'
Thegradelist(hightolow)is:
;
打印排名
BLANKDB'
'
HUANHANGDB0DH,0AH,'
KAISHISHUCHUDB0DH,0AH,'
***********************************'
数据
第一个存整数部分(二进制形式),第二个存小数部分(二进制形式)
N0DB0;
各分数段人数存储区(二进制形式)
N1DB0
N2DB0
N3DB0
N4DB0
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS
START:
;
此处输入代码段代码
MOVAX,DATAS
MOVDS,AX
MOVSI,0;
指向每个学生信息
MOVDI,0;
指向每个学生成绩
MOVCX,100;
初始化学生数
MOVDX,OFFSETSTUDENT_NUM;
请求输入学生总数
MOVAH,09
INT21H
CALLSTORE_STUDENT_NUM;
CMPCX,0;
输入为0退出
JLEOUTTODOS
CMPCX,100;
学生数超出本程序范围,退出
JGEOUTTODOS
INPUT:
MOVDX,OFFSETSTUDENT_INFORMATION;
请求输入学生信息
CALLSTORE_STUDENT_INFORMATION;
ADDSI,20;
指向下一个学生信息
MOVDX,OFFSETSTUDENT_GRADE;
请求输入学生成绩
CALLSTORE_STUDENT_GRADE;
ADDDI,7;
指向下一个学生
LOOPINPUT;
循环,直到输入所有学生成绩
CALLSORT;
排序
CALL_DISPLAY;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 试验报告 学生 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)