


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书课程名称:汇编诺吉班级:姓名:学号:设计题目:学生成绩管理设计时间:2014.5.25至2014.5.27一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言'程序的水平*。二、课程设计要求1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。2. 遵循模块化、结构化的程序设计方法。3. 要求程序必须正确。4. 程序简明易懂,多运用输入输出提示,出错信息及必要的注释。5. 要求程序结构合理,语句使用得当。6. 适当
2、追求编程技巧和程序运行效率。三、课程设计题目:学生成绩管理四、课题分析学生成绩管理的一下几个功能:1, 数据输入功能。在输入成绩时,特地加了一个判断功能,在输入不合理的成绩时,程序将提示出错,并要求重新输入。在输入学生学号的时候,程序首先会判断此学生的成绩是否存在,如果新输入。Youareuirong>Tryaigaint*4*InSCFtdddtH*«*<itmtmtxktime<j>xxxxxxxxxxxxwxxFfodifyadat&Nxxxxxxxxxxxxrx同rn>KXXitliiMitJiKMtltMiitltJtDE仁七已fitd
3、eltd*HXJ*iMifXiMitJt;MitJiKifME<KJtfXKJHJ<F1ndaddf,镇曜祺淳参区我峰剪学参区较董具Sh(jutherainkwxxxxxkxxxxx村xx.xxx<s>X:MM:i(*M:i<:MM:i<*M:itlfM:Sh(JliJ"theCUUlIlt*><*<HHHHH>uiththekeyboardofESC*<ESC>P1easechoosetheFunctionPleaseinputthesclioolnumber10Pleaseinputthreescores(9
4、-120)Chineseenglishindtlis100030110Youaresuccessful,pressanykeytocontinue?2, 修改功能。考虑到会存在在输入成绩时,容易输入错误,或者发生个别学生的试卷被误判需修改成绩等情况,所以加了此功能,在发生以上情况时可以调用此功能,修改指定学生的成绩。hJUkJUJkJUhJfcgfcJFJ-fc,W*"Vh.jf1!,IlII3IJfcJfc!'rJR.EKfflEHEJR.KtHiEEE!|T2j.L|qj|q_LiWUUWXMrUUtffTTJMTtfTtf|T4In£*>jj.JXJkJ
5、UMkJlkJUkJHJkJUhJVLb.I+1n,jJji.|.ndataxxxxxxxxxxwMxxxxxx>c<mddtdX*XXM;K*M?JfKKWXXKM;X*<d>dfll七fititMiKKJCit*MH疏XXUK>CX萸<f>Fftllk*女*>«健女饵*<*美*XK*<£CQSUTlt城XNKKXHXJ-tKXlitHJ-lKXXVcuiththekeyboardofESC*«#<ESC>IPlease*XXMXMXM>t"XHX>«Exit
6、choosetheFunctionnPleaseinputtheschoolnumber1GPleaseinputthreescoresCO-120)Chineseenglishmaths090119100Vbuaresuccessfu1jpressanykeytocontinue!3, 删除学生信息的功能。如果输入的学生信息根本不存在,或者发生其它情况需删除一个无意义的学生信息时,可以调用此功能。信息查找功能。显示排名信息功能。此功能会将学生成绩自动相加,得到每位学生的总成绩及平均成绩,然后进行排名,得到每个学生的名词,最后按照输入顺序将所有学生的学号,语文成绩,英语成绩,数学成绩,平均成绩
7、,总成绩,名次依次输出。IMM,M,MW:M-M-hrfM'W:MMWM1.JTV|*=Wq*n+dIII11fjlJliJi|,T-fyj.-T,7rITj-i,IgxgtpwwwwwwwwwwTwwwwwjjjiujcn.,aIwm:m:fcJiwwwhawytaTJteJ=.口',VS.d7j“*0*11>1.jaBi.+1-n.pc:r"WTc-p|.IJLJ|.二MMMMAM.RMHMflJtMMMJj|_JLU)CnfMjJiiriwiirfAi-rTirfaMriwrBJirfiwwwr,)、Jf鼻f,fcJ3J%JJ23J3J23,7W»
8、;JU373,BUL、Ulcij,|f|Ul。Ur*uL、(J_,/JtlrhBiHiHT-fHHLTHWIII'T-TWHT-T/、Uk_、.J33J%JJ21J3J23,7W»JU373、l-Sirjrj-X.LULIIILM.M-M-n-n-H-nM.HMMMM.HM.MMMU/IxMMMwifjtMx*j(,j(ExitwiththekeyboardofESC*<ESC>leasechoosetheFunctionleaseiputtheschoolnumber10Youaresuccessfu1fpressanykeytocontimief课程成绩分析功
9、能。此功能实现在屏幕上显示三门课程的各个分数段的学生人数,以表格的形式在屏幕上显示。(分数段为:>=90;8089;7079;6069;<=59)IV*h<t*r-fa,-ux-l-»>11%,_:工L>T":U_>JMU_X_>fUUU_MlhJfl1*11.IrLIB.7jjjji_rjjn_rji_it_gi_ri_ijTll_1M.e|-,乏Wkr_irrrrrrrrrh./|2!1,17*Q,rt-j,xjfTi-riT-y-xj-i*iirjrxjtLqi"h-Tkjn1»tjm一:u_>jh:
10、u_>rm_m廿m:farg_"w1、r*4"11i-jII1HJ,g737J3JJifaJJJ7JJ。Jat、fKif*l-kA、r*«»=,»«i«j-fcr*.|1JMilJ.rMxHxxK/itiiKitif/itExitwiththekeyboardofESC*<ESC>PleasechoosetheFunctionIPleaseinputP?|Thedatayoutheschoo1numberinputisnotexistjinputagainlrleaseinputtheschoo1numbe
11、rmathaveragesumrank4, InumberchiengDivideerrorPressanykeytocont1nue文件写入及退出功能。此功能实现将学生的信息保存在一个文件里。此程序默认将文件放在C盘下,名称为:score,届性为txt格式的文本文档。写入文件完毕后,关闭文件,并退出程序五、流程图:主程序流程图(1)子程序insert流程图(2)子程序modify流程图调用宏shuru,输入学号调用宏shuru,输入学号(3)子程序del流程图(4)子程序find流程图(6)子程序showw流程图(5)子程序show流程图(7)子程序exit流程图六、程序源代码clearMA
12、CRO滞屏MOVAH,2MOVDH,0MOVDL,0INT10HMOVAH,6MOVAL,0MOVBH,7MOVCH,0MOVCL,0MOVDH,24MOVDL,79INT10HENDMkongmacro;回车换行movah,2movdl,0ahint21hendmoutputmacrop;字符申输出movdx,offsetpmovah,9int21hendmshurumacro;二位数数据输入movah,01int21hsubal,30hcbwmovbl,10mulblmovdl,almovah,01hint21hsubal,30hadddl,alendmzszhuanemacroe,b将二
13、位数转换成对应两个字符,并将其存入缓冲区pushbxmovsi,bmoval,ecbwmovbl,10divbladdah,30haddal,30hmovzssi,aladdsi,1movzssi,ahaddsi,1popbxendmzhuanssmacroj,t;将三位数的数据转换成为三个对应的字符,并将其存入缓冲区zs中pushbxmovsi,tmovax,jmovbl,100divbladdal,30hmovzssi,aladdsi,1moval,ahcbwmovbl,10divbladdal,30haddah,30hmovzssi,aladdsi,1movzssi,ahaddsi,1p
14、opbxendmzhuansmacrof,s;将三位数成绩转换成为对应的三个字符,并存入缓冲区zs中pushbxmovsi,smoval,fcbwmovbl,100divbladdal,30hmovzssi,aladdsi,1moval,ahcbwmovbl,10divbladdal,30haddah,30hmovzssi,aladdsi,1movzssi,ahaddsi,1popbxendmshuzimacror;二位数据输出moval,rcbwmovbl,10divblmovbl,ahmovdl,aladddl,30hmovah,2int21hmovdl,bladddl,30hmovah,
15、2int21hendmshuruumacro;三位数数据输入shurumoval,dlmovdl,10muldlmovdx,axmovah,1int21hsubal,30hcbwadddx,axendmshuziimacrou;三位数数据输出movax,umovbl,100divblmovbl,ahmovdl,aladddl,30hmovah,2int21hshuziblendmDATASSEGMENTmdw0;移动文件指针时,选择绝对移动方式,则m代表指针偏移量zsdb18dup(?);缓冲区用来存放单个学生信息的字符handledw?bufdb3dupzcdw100dup(?)pjdb10
16、0dup(?)ndb0gs0db5dup(0)gs1db5dup(0)gs2db5dup(0)mcdb100dupchidb100dup(?)engdb100dup(?)matdb100dup(?)xhdb100dup(?)pathnamdb'C:score.txt',00h;建立目录项;文件句柄;输入缓冲区;存放总成绩的数组;存放平均成绩数组;存放输入的学生信息的个数;存放学生的名次的数组;存放学生成绩的数组;记录所查询科目分数段的;存放学生学好的数组cour0db'chinese''$'cour1db'english',
17、9;$'cour2db'maths','$'tsdb13,10,'Youaresuccessful,pressanykeytocontinue!'3,10,'$'ts1db13,10,'Youarewrong,Tryagain!',13,10,'$'ts3db13,10,'Thescoreyouinputisbiggerthan127,inputagianJ13,10,'$'ts4db13,10,'Theschoolnumberyouinputisexist,
18、pleasetryagain,!13,10,'$'caidb'*Insertadata*<i>',13,10,'$'cai1db'*Modifyadata*<m>',13,10,'$'cai2cai3db'*Deleteadata*<d>'db'*Findadata*<f>'cai4dbI*Showtherank*<s>cai6db*Showthecount*k'k'k'k'k'k
19、39;k'k'k'k'k'k'k'k'k'k<c>cai5db'*ExitwiththekeyboardofESC*<ESC>'ts2db'PleasechoosetheFunction13,10,'$'messdb13,10,'Thedatayouinputisnotexist,input,13,10,'$',13,10,'$',13,10,'$',13,10,'$',13,10,
20、9;$'again',13,10,'$'mess1db13,10,'Pleaseinputtheschoolnumber,13,10,'$'mess2db13,10,'Pleaseinputthreescores(0-12Q)13,10,'$'mess4db'chineseenglishmaths',13,10,'$'mess3db'AothorbyXuHengpeng',13,10,'$'strr1DB,*sc°reandrank='
21、;,13,10,'$'strr2DB13,10,'numberchieng',13,10,'$'mathaveragesumrankstrr3db13,10,'course>=90>=80>=70>=60<60',13,10,'$'bgdb'','$'DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATA
22、SMOVDS,AXmoves,axmovah,3ch;请求创建文件movcx,00;默认届性leadx,pathnam;装入pathnam的地址int21hmovhandle,ax;保存文件句柄main:;主菜单显示outputcaioutputcai1outputcai2outputcai3outputcai4outputcai6outputcai5outputts2movah,1;输入字符,选择功能键int21hcmpal,'i'jnen1callinsert;调用insert子程序,输入学生学号,成绩jmprkn1:cmpal,'m'jnen2callmo
23、dify;调用modify子程序,修改指定学生的成绩jmprkn2:cmpal,'d'调用de?程序,删除制定学生的成绩jnen3calldejmprkn3:cmpal,'f;调用find子程序,显示指定学生的成绩及名次jnen4callfindjmprkn4:cmpal,'s'调用show子程序,显示所有学生的各科成绩,平均成绩,总成绩及名次jnen5callshowjmprkn5:cmpal,'c'调用showw子程序,显示各科各分数段的学生数量jnen6callshowwjmprkn6:cmpal,1bh;调用exit子程序,将数据
24、保存到score.txt文件中,并退出程序jnen7callexitn7:clearoutputts1jmpmainrk:outputtsmovah,1int21hclearjmpmain*;exitprocnear;退出movcl,n;写入文件的次数cbwmovbx,0movdi,0zh:pushdipushbxpushcxmovsi,0zhuanexhbx,si存放到zs®冲区中zhuanschibx,si;保存di,cx,bx中的内容;调用宏zhuanR务两位数的学号转换为对应的二个字符,并;调用宏zhuanSB三位数的语文成绩转换为对应的三个字符,符,符,符,符,并存放到zs
25、§l冲区中zhuansengbx,si;调用宏zhuans三位数的英语成绩转换为对应的三个字并存放到zs§l冲区中zhuansmatbx,si;调用宏zhuans务三位数的数学成绩转换为对应的三个字并存放到zs§l冲区中zhuanspjbx,si;调用宏zhuansl务三位数的平均成绩转换为对应的三个字并存放到zs§l冲区中zhuansszcdi,si;调用宏zhuanssl务三位数的总成绩成绩转换为对应的三个字并存放到zsgg冲区中zhuanemcbx,si;调用宏zhuane将两位数的名词,转换为对应的二个字符,并存放到zs®冲区中mova
26、h,42hmoval,00movbx,handlemovcx,00movdx,mint21haddm,20movah,40hmovbx,handlemovcx,19leadx,zsint21hpopcxpopbxpopdiadddi,2addbx,1subcx,1cmpcx,0jgzhmovbx,handlemovah,3ehint21hclear;移动读写指针;移动方式为绝对移动方式;调用40h功能,请求写文件;获取文件句柄;写入长度为19个字节;将缓冲区zs中的内容写入文件score.txt;判断写入是否完毕;写入完毕,关闭文件outputmess3MOVAH,4CH;退出程序INT21H
27、retexitendp*;sumprocnear;求学生的总成绩movcl,nmovch,0movsi,0movbx,0sssmoval,chisi;将三科成绩相加,将总成绩传给数组zcmovah,0movdl,matsimovdh,0addax,dxmovdl,engsimovdh,0addax,dxmovzcbx,axaddbx,2addsi,1loopsssretsumendp*;pingprocnear;求学生的平均成绩movcl,ncbwmovsi,0movbx,0p_p:movax,zcbx;将总成绩除以三,获取的数据传送给数组pjmovdl,3divdlmovpjsi,aladd
28、si,1addbx,2loopp_pretpingendp;修改学生学号,成绩.*;不相等继续输入学号;先查找输入的学生是否存在;查到的话,就跳转到qq1_1输入修改的值,也就是重新输入modifyprocnearmd1:outputmesslshurumovbl,nmovbh,0moval,dlmovsi,0md:cmpal,xhsijeqq1_1addsi,1cmpsi,bxjbemdoutputmessjmpmd1qq1_1:movdi,sioutputmess2outputmess4movsi,0movcx,3qq3_1:shuruu;分别输入语文,英语,数学成绩,并将其放在缓冲区bu
29、f中cmpdx,78h;比较输入的成绩是否大丁120,如果大丁120的话,那么重新输入成绩jbeqq2_1outputts3jmpqq1_1qq2_1:movbufsi,dloutputbgaddsi,1loopqq3_1moval,buf0;将存入buf中的成绩,分别赋值给存放对应科目的成绩的数组movchidi,almoval,buf1movengdi,almoval,buf2movmatdi,alretmodifyendp.*counttprocnear;统计各科各个分数段学生的个数movcx,5movsi,0zl:movgs0si,0addsi,1loopzlmovcl,nmovch,
30、0movsi,0c11:moval,chisicmpal,90jlcc1addgs00,1jmpcc8cc1:cmpal,80jlcc2addgs01,1jmpcc8cc2:cmpal,70jlcc3addgs02,1jmpcc8cc3:cmpal,60jlcc4addgs03,1jmpcc8cc4:addgs04,1cc8:addsi,1loopc11leasi,gs0leadi,gs1movcx,5cldrepmovsbmovcx,5movsi,0cc9:movgs0si,0addsi,1loopcc9movcl,nmovch,0movsi,0movcl,nmovch,0movsi,0c1
31、11moval,engsicmpal,90jlcc15addgs00,1jmpcc88cc15:cmpal,80jlcc22addgs01,1jmpcc88cc22:cmpal,70jlcc33addgs02,1jmpcc88cc33:cmpal,60jlcc44addgs03,1jmpcc88cc44:addgs04,1cc88:addsi,1loopc111leasi,gs0leadi,gs2movcx,5cldrepmovsbmovcx,5movsi,0ct:movgs0si,0addsi,1loopctmovcl,nmovch,0movsi,0c13:moval,matsicmpal,
32、90jlcc1_2addgs00,1jmpcc8_2cc1_2:cmpal,80jlcc2_2addgs01,1jmpcc8_2cc2_2:cmpal,70jlcc3_2addgs02,1jmpcc8_2cc3_2:cmpal,60jlcc4_2addgs03,1jmpcc8_2cc4_2:addgs04,1cc8_2:addsi,1loopc13retcounttendp.*;查找学生成绩;将输入的学号与输入的学号相比,;存在的话,将此学生的成绩输出findprocnearcallsumcallpingbj1:outputmess1shurumovbl,nmovbh,0moval,dlmov
33、si,0bj:cmpal,xhsijeiaddsi,1cmpsi,bxjbebjoutputmessjmpbj1i:outputstrr2shuzixhsioutputbgmoval,chisicbwshuziiaxoutputbgmoval,engsicbwshuziiaxoutputbgmoval,matsicbwshuziiaxoutputbg;输出空格的字符申,用丁与标题栏对齐moval,pjsicbwshuziiaxoutputbgmovax,simovbl,2mulblmovbx,axshuziizcbxoutputbgshuzimcsiretfindendp*;insertpro
34、cnear;插入学生,学号及成绩callinputaddn,1retinsertendp*;showprocnear;显示结果排名callsumcallpingcallrankcallshuchuretshowendp*;showwprocnear;显示各个学科各分数段的人数callcounttoutputstrr3outputcour0outputbgshuzigs10outputbgshuzigs11outputbgshuzigs12outputbgshuzigs13outputbgshuzigs14kongoutputcourloutputbgshuzigs20outputbgshuzi
35、gs21outputbgshuzigs22outputbgshuzigs23outputbgshuzigs24kongoutputcour2outputbgshuzigs00outputbgshuzigs01outputbgshuzigs02outputbgshuzigs03outputbgshuzigs04retshowwendp.*deprocnearsc1:outputmess1shurumovbl,nmovbh,0moval,dlmovsi,0sc:cmpal,xhsi重新输入学号jesc2addsi,1cmpsi,bxjbescoutputmessjmpsc1sc2:;删除某个学生的
36、记录;调用宏shuru,接受输入的学号;查询输入学号的学生信息是否存在,不存在的话,subbx,sicmpbx,0jesc3movcx,bxsc4:movdl,chisi+1movchisi,dlmovdl,engsi+1movengsi,dlmovdl,matsi+1movmatsi,dlmovdl,xhsi+1movxhsi,dladdsi,1loopsc4subn,1sc3:retdeendp*;inputprocnear;输入学生学号,成绩e6:outputmess1shurumovbl,nmovbh,0movxhbx,dlcmpbx,0;判断是不是第一次输入,如果是,则跳过比较程序jeqq1;继续输入成绩movcl,n;如果不是第一次输入则要将输入的学号与以前输入的比较c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班组长自我总结模版
- 全铝家居合同范例
- 医疗信息化背景下的电子健康记录培训教育
- 年度个人思想总结模版
- 医疗大数据分析在药物研发中的价值
- 供应部采购合同范例
- 医疗设备租赁服务的供应链优化
- 上海商场绿植租赁合同范例
- 业主别墅出售合同范例
- 一年级上册语文《四季》教学设计
- 残值车辆收购合同协议
- 2025年全国防灾减灾日主题教育班会课件
- 2025儿童服装购销合同模板
- 2025年全国高压电工证(复审)理论考试试题(1000题)附答案
- 2025西安数字城市科技运营有限公司招聘(9人)笔试参考题库附带答案详解
- 2025-2030地铁交通行业市场发展分析及前景趋势与投资研究报告
- 北京2025年生态环境部卫星环境应用中心上半年招聘笔试历年参考题库附带答案详解
- 电动车采购合同协议书模板
- GB/T 45399-2025信息技术云计算超融合系统通用技术要求
- 台球助教培训流程
- 湖南能源集团有限公司招聘笔试题库2025
评论
0/150
提交评论