学生成绩录入系统_第1页
学生成绩录入系统_第2页
学生成绩录入系统_第3页
学生成绩录入系统_第4页
学生成绩录入系统_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

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

文档简介

接口试验报告〔2023/2023〕题目: 学生成绩录入系统专业计算机网工班级09211314学生姓名李小明学生学号09211524日期2023-12-19-1-一、试验目的1、生疏汇编语言编程,BIOSDOS系统功能调用等2、通过本次编程,理解汇编与构造化语言的差异与优点3后的学习和系统开发奠定良好的根底。二、试验内容与要求

一个学生的信息系统包括姓名、班级、学号、成绩,编写程序实现以下、可以录入学生成绩(十进制形式);、可以按要求(如学号或者成绩)进展排序显示、70~80、80~90、90~100三、需求分析1、首先,对录入的学生信息进展录入,所以需要一构造存储学生信息。将学生信息存储在一段连续个内存空间里。2、录入学生信息可以做成宏,格式化输入.3sort,当比较的某学生成绩比其后的成绩小时,交换两学生的信息块。4、统计:将学生成绩除以10,然后通过除数的大小查找跳转表进展跳转,对其进展统计。四、程序流程图-2-输入将要的操作0~4输入将要的操作0~4switchcase0case1case2case3case4jmpcaseed输入学生信息按成绩从大到小排序依据成绩进行跳转统计显示学生信息N姓名为’$’Y五、数据构造设计与算法实现inforstrucstuname db20dup(”$”)stuid db20dup(”$”)stuclass db20dup(”$”)stuscore dw0inforends62字节大小的一个构造伪指令,用于存放一个学生成绩。-3-stuinfor200hdup(<>) 信息table dwcase0,case1,case2,case3,case4,case11dwdefault跳转表,用于选择所要进展的操作,具体流程见流程图table2dwcaseE,caseE,caseE,caseE,caseE,caseEdwcaseD,caseC,caseB,caseA,caseA,default2以及countEdw0countDdw0countCdw0countBdw0countAdw010,用其商选择countE1操作,其它的类似。numdw0记录学生人数,num=学生人数*62num2dw0关心记录用,主要用在输出学生信息是计数gradedb010bufferdw0以及子函数decout 子函数decout将buffer的信息除以100时,信息出栈,依次打印,则将buffer的二进制转换为十进制输出。子函数stuadd 中其中学生成绩以十进制输入,将其转换为二进制存入成绩中子函数crlf 打印回车换行stringmacroopr1 movah,09hmovdx,offsetopr1int21hendminputmacroopr ;宏,用于输入字符串,并存在[opr]中movdx,offsetopradddx,nummovah,0ahint21hcallcrlfendm六、程序代码;学生成绩录入系统inforstrucstuname db20dup(”$”)stuid db20dup(”$”)stuclass db20dup(”$”)stuscore dw0-4-inforendsstringmacroopr1 movah,09hmovdx,offsetopr1int21hendminputmacroopr ;宏,用于输入字符串,并存在[opr]中movdx,offsetopradddx,nummovah,0ahint21hcallcrlfendmdatasegmentstuinfor200hdup(<>)msgdb”whatareyougoingtodo:”,0dh,0ah,”0toexittheprogram”,0dh,0ah,”1tothestudentsscore”,0dh,0ah,”2tosortthescores”,0dh,0ah,”3tostaticsgrade”,0dh,0ah,”$”xmsgdb”4showtheinformation”,0dh,0ah,”$”msg1 db”Pleaseinputstudentsinfotmation;andendwithdollars”,0dh,0ah,”$”names db”name:”,0dh,0ah,”$”classesdb”class:”,0dh,0ah,”$”ids db ”id:”,0dh,0ah,”$”scores db”scores(0to100):”,0dh,0ah,”$”sorts db”sortedbygrade”,0dh,0ah,”$”err db”Error.”,0dh,0ah,”$”exit db”exit.”,0dh,0ah,”$”E db”0to59”,0dh,0ah,”$”D db”60to69”,0dh,0ah,”$”C db ”70to79”,0dh,0ah,”$”B db”80to89”,0dh,0ah,”$”A db”90to100”,0dh,0ah,”$”table dwcase0,case1,case2,case3,case4,case11dwdefaulttable2dwcaseE,caseE,caseE,caseE,caseE,caseEdwcaseD,caseC,caseB,caseA,caseA,default2cr=0dhlf=0ahnum dw0num2 dw0-5-grade db0bufferdw0count dw0countEdw0countDdw0countCdw0countBdw0countAdw0dataendsstacksegmentstackdw100hdup(?)stackendscodesegmentassumeds:data,ss:stack,cs:codestart:

movax,datamovds,axstringmsgstringxmsgmovah,1int21hcallcrlfsubal,30hcmpal,5jbecase11movbx,5case11:cbwmovbx,axshlbx,1jmptable[bx]case0:jmpcaseedcase1:;callcrlfstringmsg1callstuaddjmpcaseed-6-case2:stringsorts;callsortmovax,numxordx,dxmovbx,62divbxdecaxmovcx,axloop1:movdi,cxmovbx,60loop2:movax,wordptrstu[bx]cmpax,wordptrstu[bx+62]jaecont1movcount,0movsi,bxsubsi,60loop3:mov ax,wordptrstu[si]xchgax,wordptrstu[si+62]mov wordptrstu[si],axaddsi,2inccountcmpcount,31jnzloop3cont1:addbx,62looploop2movcx,dilooploop1jmpstartcase3:staic:

movcountE,0movcountD,0movcountC,0movcountB,0movcountA,0movax,numxordx,dxmovbx,62divbxmovcx,axmovbx,60movax,wordptrstu[bx]-7-movdl,10divdlcmpal,10jbecase10movsi,11case10:cbwmovsi,axshlsi,1jmptable2[si]caseE:movax,countEincaxmovcountE,axjmpcaseed2caseD:movax,countDincaxmovcountD,axjmpcaseed2caseC:movax,countCincaxmovcountC,axjmpcaseed2caseB:movax,countBincaxmovcountB,axjmpcaseed2caseA:movax,countAincaxmovcountA,axjmpcaseed2default2:stringerrjmpstartcaseed2:addbx,62loopstaicstringEmovax,countEmovbuffer,ax-8-case4:next:

calldecoutstringDmovax,countDmovbuffer,axcalldecoutstringCmovax,countCmovbuffer,axcalldecoutstringBmovax,countBmovbuffer,axcalldecoutstringAmovax,countAmovbuffer,axcalldecoutjmpstartmovcx,numstringnamesmovah,09hmovdx,offsetstu.stuname+2adddx,num2int21hcallcrlfstringidsmovah,09hmovdx,offsetstu.stuid+2adddx,num2int21hcallcrlfstringclassesmovah,09hmovdx,offsetstu.stuclass+2adddx,num2int21hcallcrlfstringscoresmovdx,offsetstu.stuscoreadddx,num2movsi,dxmovax,[si]-9-movbuffer,axcalldecoutaddnum2,62subcx,62callcrlfjnznextjmplp2default:stringerrlp2:jmpstartcaseed:stringexitmovax,4c00hint21hstuaddprocnearpushaxpushdxpushbxpushsipushcxlp: stringnamesinputstu.stunamemovsi,dxcmpbyteptr[si+2],”$”jzlp2stringidsinputstu.stuidstringclassesinputstu.stuclassstringscoresmovgrade,0lp4:

movbl,10movah,01hint21hcmpal,0dhjzlp3subal,30h-10-movbh,almoval,grademulbladdal,bhmovgrade,aljmplp4lp3:

moval,gradeandax,00ffhmovdx,offsetstu.stuscoreadddx,nummovsi,dxmov[si],axmovbuffer,axcalldecoutaddnum,62jmplppopcxpopsipopbxpopdxpopaxretstuaddendpcrlfprocnearpushaxpushdxmovdl,crmovah,2int21hmovdl,lfmovah,2int21hpopdxpopaxretcrlfendpdecoutprocnearpushaxpushbx-11-pushcxpushdxpushsimovbl,10movax,bufferxorcx,cxlp5: divblmovdx,axcbwpushdxinccxoral,aljnzlp5sb: popbxmovdl,bhadddl,30hmovah,2int21

温馨提示

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

评论

0/150

提交评论