资源描述:
《汇编语言综合实验报》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、华北科技学院综合性实验报告课程名称汇编语言实验学期2011至2012学年第1学期学生所在系部计算机学院网络工程系年级2009级专业班级网络B091学生姓名侯杰学号200907024121任课教师李冬艳实验成绩计算机学院制实验题目显示学生名次表一、实验目的进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序和子程序编程方法,巩固提高汇编语言程序设计能力应用水平。二、设备与环境PC兼容机、Windows操作系统>MasmforWindows集成实验环境2010三、实验内容编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字节的GRADE数组中,其中GRAD
2、E+N保存学号N+1的学生成绩。然后根据GRADE中的学牛成绩,把学生名次填入50字节的RANK数组中,其中RANK+N的内容是学号为N+1学生的名次。再按学号顺序和学生名次顺序把学生成绩显示出来。四、实验结果及分析(1)该程序完成了对学生成绩的管理功能,对学生成绩进行了排序,并分别按学生成绩名次顺序和学号顺序显示学生成绩。(2)该程序中,学生的学号和成绩的输入以及对学生成绩的排名都是通过设计子程序来实现的,定义了lferk_remking、Getdata两个子程序,其中用冒泡法对成绩进行排序,对学生成绩、名次的输出则用了宏汇编技术,定义了一个PEnt宏。数字在寄存器中是以
3、16进制存储的,所以输入十进制学生编号和成绩后,都要转换为十六进制存储,显示成绩和学生编号时,则要转换为十进制。(3)流程图如下:子程序流程图:
4、Make-ranking!〔子程序结束;显不如下:ffZVX/fc■J输入学号成绩结果如下图:D:^^@^MasmbinDWTemp.exeocS9990089867MU1214?N10230HHffTherankaboutscoreofthestudentis:hhhNUMRankScore*******020199110289210389070470340560ttttttTherankaboutnunbei*ofth
5、estudentNUMRankScore*******0201990?0470110289210389340560Puessar^ykeytocontinue玄戻键代码:①定义数据段:此部分分配存储了空间,并确定输岀学生个数为50。DATASSEGMENTGradedb36dup(?);分配存储空间Messagedb36dup(?)Message3db36dup(?)Message1db36dup(?)Message2db36dup(?)stringdb10,13/$'inputdb'*****Pleaseinputthenumberandthescore:*****$*s
6、tring1db'###Therankaboutscoreofthestudentis:###$'string2db'###Therankaboutnumberofthestudentis:###$rstring3dbNUMScore*******$'string4db'NUMRankScore*******$'tdb10mequ50nequ2*mDATASENDS;输出的学生个数;分配存储学牛个数的空间①宏定义:主要是关于输出的宏定义。此部分是主程序部分,进行宏定义Printmacroopr,Printmacrooprlocalamovax,0movcx,mmovsi,0
7、movah,0宏定义;宏标号;循环III次;输出学号moval,opr[si]divtmovbx,axmovdl,aladddl,30h;数字转化为asscll码movah,2int21hmovdl,bhadddl,30hmovah,2int21hmovdl;'movah,2int21hmovah,0;输出名次moval,opr[si+l];把opr地址里的值放到AL存储器里divtmovbx,axmovdl.aladddl,30hmovah,2int21hmovdl,bhadddl,30hmovah,2int21hmovdl「movah,2int21h;输出成绩movah
8、,0moval,opr[si+2]divtmovbx.axmovdl,aladddl,30hmovah,2int21hmovdl,bhadddl,30hmovah,2int21hmovdl,'*movah,2int21haddsi,3;地址加3leadx,string;回车换行movah,9;显示字符串int21hloopaEndm②输入学生学号和成绩的子程序定义:此部分将学生学号输入并转化为16进制存储下来。Getdataprocleadx,inputmovah,9int21hleadx,stringmovah,