版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
接口试验报告〔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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 反诈防骗 青春无诈-反诈知识教育主题班会
- 5-Amino-1-1-3-1-terphenyl-3-3-5-5-tetracarboxylicacid-生命科学试剂-MCE
- 信阳高二数学试题及答案
- 2026年金融行业双重预防机制与安全生产标准化研究报告
- 2026年保险行业报告:行业供应链多元化与备选供应商策略研究
- 2026年家电行业节能减排报告
- 2026年互联网广告行业发展趋势与市场潜力报告
- 2026年铝压延加工材行业技术创新与发展前景分析报告001
- 2026年环保产业政策解读与市场机会研究报告
- 2026年餐饮行业餐饮连锁经营模式研究报告
- 《股票价值评估用》课件
- 梗阻性肾病护理查房
- 2025年泰州市税务系统遴选面试真题带详解含答案
- 高岭土合作协议书
- 2021-2022学年天津市河东区高二上学期期中质量检测语文试题(解析版)
- 《思想道德与法治》课件-第四章 明确价值要求 践行价值准则
- 2026浙江省高校招生职业技能考试大纲(理论)-农艺类
- 住宅小区消防工程施工流程规划
- 2024中国近海生态分区
- 模塑聚苯板薄抹灰外保温技术与标准解析
- QC/T 1210-2024汽车防夹系统
评论
0/150
提交评论