输入的一个班的学生成绩(汇编语言)_第1页
输入的一个班的学生成绩(汇编语言)_第2页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言课程综合性实验报告开课实验室:年月日实验题目显示学生名次表一、实验目的进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序和程序编程方法,巩固提高汇编语言程序设计能力应用水平。二、设备与环境PC兼容机、Windows操作系统、汇编程序masm611三、实验内容编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字节的GRADE数组中,其中GRADE+N呆存学号N+1的学生成绩。然后根据GRADE中的学生成绩,把学生名次填入50字节的RANK数组中,其中RANK+N的内容是学号为N+1学生的名次。再按学号把学生顺序把学生名次显示出来四、实验结果及分析(包括已完成什么功

2、能,如何实现的、遇到的问题和解决办法、流程图和关键代码解释,收获和体会等)(1) 完成的功能:动态输入学生学号和成绩,对学生成绩进行排序并设置名次,再按学号把学生成绩和名次显示出来。(2) 实现办法:充分运用宏汇编实现回车换行、数据的输入和输出,使用过程定义伪操作实现排名次和学生学号、成绩和名次的显示。(3) 流程图:N(4) 关键代码:1、数据段定义:DATASSEGMENTndb0medb50dup(0)cjdb50dup()xhdb50dup()m1db13,10;PleaseinputtheID:,13,10:$m2db13,10;Pleaseinputthemark:,13,10,$

3、m3db13,10;Doyouwanttocontinue,13,10:$sidb13,10,*,13,10,$mark,$rank,13,10,$s2db13,10,IDkonggedbDATASENDS2、数据输入、输出宏定义:shurumacromovah,1int21hsubal,30hcbwmovbl,10mulblmovdl,almovah,1int21hsubal,30hadddl,alendmshuchumacronummoval,numcbwmovbl,10divblmovbl,ahmovdl,aladddl,30hmovah,2int21hmovdl,bladddl,30h

4、movah,2int21hendm3、排序并设置名次:rankprocnearmovah,0moval,1movsi,0movcl,nmovch,0movdl,99movbh,0e1:pushcxe2:movbl,cjsicmpbl,dljnee4addmcsi,aladdbh,1cmpbh,1jee6jmpe4e3:subal,1e4:addsi,1loope2cmpbh,0jnee5popcxmovbh,0subdl,1cmpdl,-1movsi,0jee7jmpe1e5:popaxpopcxmovbh,0subdl,1cmpdl,-1movsi.0jee7jmpele6:addal,1p

5、ushaxjmpe3e7:retrankendp4、按学号显示成绩和名次:printprocnearoutputs1outputs2movcl,nmovch,0movsi,0exit:shuchuxhsioutputkonggeshuchucjsioutputkonggeshuchumcsicrlfaddsi,1loopexitretprintendp(5)运行结果截图:IDrankai870332940133580?9477P60586048005079002388604Pressanjjkeytocontiriue(6)收获和体会:大一学习的是C语言,因此,在学汇编语言之初,面对格式之类的

6、感觉很不适应。C语言用的是一个又一个变量,而汇编语言则是利用一个又一个寄存器来实现。而写代码的时候,经常会因为一些符号,或者字长的失误,完全是无心之失而导致程序无法执行。而回过来找错误的时候,又往往忽略了这些细节而找不到错误的根源。学习汇编是个艰辛的过程,从C语言到汇编的不适,到牢记大量的指令,并熟练应用,都要花费很多时间适应。对有些指令的源操作数和目的操作数,以及操作结果的存放位置都要熟记于心。否则,你将很难应用这些指令,学习汇编的一个重要能力就是能够熟练调试所写程序,当某个程序不能执行时,而又发现不了错误,这就要对程序进行逐步调试了。这样更容易发现错误点并牢记。教师评价评定项目ABCD评定

7、项目ABCD算法正确操作熟练程序结构合理实验结果正确语法、语义正确文字流畅、报告规范其他:评价教师签名:年月曰附代码:crlfmacromovah,2movdl,10int21hmovah,2movdl,13int21hendmoutputmacrostringmovdx,offsetstringmovah,9int21hendmshurumacromovah,1int21hsubal,30hcbwmovbl,10mulblmovdl,almovah,1int21hsubal,30hadddl,alendmshuchumacronummoval,numcbwmovbl,10divblmovbl

8、,ahmovdl,aladddl,30hmovah,2int21hmovdl,bladddl,30hmovah,2int21hendmDATASSEGMENTndb0mcdb50dup(0)cjdb50dup()xhdb50dup()m1db13,10,PleaseinputtheID:,13,10,$m2db13,10,Pleaseinputthemark:,13,10,$m3db13,10,Doyouwanttocontinue,13,10,$s1db13,10,.*.,13,10,$mark,$rank,13,10,$s2db13,10,IDkonggedbDATASENDSSTACKS

9、SEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXagain:callinputaddn,1outputm3movah,1int21hcmpal,yjeagaincallrankcallprintMOVAH,4CHINT21Hinputprocnearoutputm1shurumovbl,nmovbh,0movxhbx,dloutputm2shurumovbl,nmovbh,0movcjbx,dlretinputendprankprocnearmovah,0moval,1movsi,0movcl,nmovch,0movdl,99movbh,0e1:pushcxe2:movbl,cjsicmpbl,dljnee4addmcsi,aladdbh,1cmpbh,1jee6jmpe4e3:subal,1e4:addsi,1loope2cmpbh,0jnee5popcxmovbh,0subdl,1cmpdl,-1movsi,0jee7jmpe1e5:popaxpopcxmovbh,0subdl,1cmpdl,-1movsi,0jee7jmpe1e6:addal,1pushaxjmpe3e7:retrankendpp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论