显示学生名次表-汇编语言程序设计

显示学生名次表-汇编语言程序设计

ID:13494082

大小:127.00 KB

页数:10页

时间:2018-07-22

显示学生名次表-汇编语言程序设计_第1页
显示学生名次表-汇编语言程序设计_第2页
显示学生名次表-汇编语言程序设计_第3页
显示学生名次表-汇编语言程序设计_第4页
显示学生名次表-汇编语言程序设计_第5页
资源描述:

《显示学生名次表-汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告须知1、学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、教师应该填写的内容包括:实验成绩、教师评价等。4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、未尽事宜,请参考该课程的实验大纲和教学大纲。第9页《汇编语言》课程综合性实验报告开课实验室:软件

2、实验室一2021-06-22实验题目显示学生名次表一、实验目的进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序、子程序、宏指令编程方法,提高汇编语言程序设计能力的应用水平。二、设备与环境PC兼容机、Windows操作系统、汇编程序masmforwindows2012三、实验内容实验内容:编制一程序,要求接收从键盘输入的一个班的学生的学号、姓名、成绩,对学生的成绩进行排序,再按学号顺序和学生名次顺序分别把学生成绩显示出来。实验要求:1.必须画流程图。2.本程序要求要有多重循环和子程序及宏,其中成绩输入、计算学生名次、显示学生名次都分别用子程序,也可用宏处理。3.要求用菜单

3、选择,输入1时按学号顺序输出成绩(包括姓名、学号、成绩、名次),输入2时按成绩排名顺序输出成绩(包括姓名、学号、成绩、名次)。第9页四.实验结果及分析:实验完成的功能是从键盘输入学生的姓名,按成绩升序排序,并显示出排序结果。这是较大的程序,采用模块化结构将功能分解,用子程序调用嵌套实现。程序的关键之处在于从键盘输入的姓名和成绩都是ASCII码,排序时成绩要变成二进制数或BCD码。另外在排序的时候成绩的顺序和姓名的顺序都要随之改变,这样才能在比较之后显示正确的结果。本程序主要使用了主程序和5个子程序。子程序分别是input键盘输入,copy数据转存,change十进制数ASCII码转换

4、为二进制,sort按成绩排序和print打印排序名单。输入的人数用变量P来控制,在本程序中,P=3,即表示输入三名学生的姓名和成绩。姓名和成绩的输入分别用DOS中断调用的10号功能实现字串输入。由于10号功能可以设定输入的字符个数和获得实际输入个数,使用方便。但输入最后字符之后,回车符ODH也被保存了;需要将其改为0,便于输出时直接调用9号功能显示姓名和成绩。创建缓冲区buffer1和buffer2,将姓名和成绩保存在缓冲区中,然后将所有人的姓名和成绩用串传送指令转存到sname和score1中保存,打印输出时可以利用。将score1中成绩的十进制数ASCII码转换为二进制数scor

5、e2.然后将score2中的成绩排序,同时将保存在mingci中的输入次序号也一起交换,以次序号作为排序指针,在sname和score1中查找相应的人名和成绩。打印排序名单是,从mingci中取出次序号作为位移量,到sname和score1中取出姓名和对应的成绩用9号功能显示。排序后mingci中线取出的次序号一定是成绩最高的人的,其他的以此类推。第9页程序流程图:第9页第9页代码解释:;子程序1,输入姓名,成绩inputprocincbx;输入次数统计cmpbx,p;输入次数>p?jaexit;高于则转移到exit处leadx,infor1;显示提示1movah,9int21hle

6、adx,buff1;输入姓名movah,10int21hmoval,buff1+1;实际输入个数-->aladdal,2;+2,包含buffer1的0,1号单元movah,0movsi,ax;回车0d所在的位置,跟在最后一个字符后movbuff1[si],0;将0d换为0,便于输出显示leadx,infor2;显示提示2movah,9int21hleadx,buff2;输入成绩第9页movah,10int21hmoval,buff2+1;实际输入个数addal,2;个数+2,包含0,1单元,为找到0dmovah,0movsi,axmovbuff2[si],0;将0d换为0,便于输出显

7、示movmingci[bx-1],bl;bx为输入次数,保存输入的次序cmpbx,1;第一次输入转let1jzlet1addsign1,n+1;姓名间隔为n+1addsign2,q;成绩间隔为qlet1:callcopy;子程序嵌套jmpinputexit:retinputendp;子程序2,数据转存copyprocmovcx,n+1;姓名长度+1(包含$)leasi,buff1+2leadi,sname;姓名传到snameadddi,sign1;加上间隔

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

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

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