计算比赛成绩-汇编语言课程设计报告书_第1页
计算比赛成绩-汇编语言课程设计报告书_第2页
计算比赛成绩-汇编语言课程设计报告书_第3页
计算比赛成绩-汇编语言课程设计报告书_第4页
计算比赛成绩-汇编语言课程设计报告书_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

一、设计内容与设计要求1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。1、编制一计算比赛成绩的程序,要求完成以下功能:(1)9名评委,每个评委给分范围为0~10(整数);(2)9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);(3)将得分在光标位置处显示出来。2、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30字的grade数组中,各数据的格式为:学号,成绩1,成绩2,…,成绩5然后根据grade中的学生成绩,把学生名次填入rank数据组中,并显示出来,格式为:学号,名次3、利用INT1CH(大约每秒中断18.2次)编写一个中断驻留程序,要求在屏幕的右上角显示计算机中当前系统时间,显示格式为时:分:秒:1/100秒4、输入一个菱形的两条对角线长,在屏幕上用‘*’号画出一个彩色的菱形。5、设置图形方式并显示彩条,要求:选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条2.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。设计正确,方案合理。界面友好,使用方便。程序精炼,结构清晰。设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。上机演示。按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编写、调整和运行。源程序及编译生成各文件均保存在软盘中;按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。并用A4的复印纸打印并装订;二、进度安排第1周:星期1星期2星期3星期4附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。程序设计框图开始开始输入9个分数输入9个分数按大小重排分数按大小重排分数求中间7个数的和求中间7个数的和总分>=70?总分>=70? YES NO 平均分=10.00平均分=总分/7平均分=10.00平均分=总分/7输出平均分输出平均分改变光标位置改变光标位置结束结束源程序清单DATASEGMENTBUFDB10DUP(0)STRING1DB'Pleaseenterthescore'NUMBERDB31H,':','$'STRING2DB0AH,'Therangedscoresare:','$'STRING3DB'Afterremovingthehighestandlowestscore,theaveragescoreis:','$'ERRORDB'ERROR',0AH,0DH,'$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXXORSI,SI;SI置0MOVCX,9;9个数INPUT:LEADX,STRING1MOVAH,9INT21HMOVAH,1INT21H;输入得分的十位到ALCMPAL,'0'JBER;AL<0小于则跳到ERCMPAL,'1'JAER;AL>1则跳到ERSUBAL,30HMOVDL,10MULDL;十位乘以10MOVDX,AX;DX存十位数MOVAH,1INT21H;输入得分的个位到ALCMPAL,'0'JBER;AL<0小于则跳到ERCMPAL,'9'JAER;AL>10则跳到ERSUBAL,30HADDAL,DL;个位十位相加到ALMOVBUF[SI],ALINCSIINCNUMBERMOVDL,0AH;换行MOVAH,2INT21HMOVDL,0DH;回车INT21HLOOPINPUT;循环输入9次JMPRANGE_0;转入排序ER:;输入错误后返回重新输入 LEADX,ERRORMOVAH,9INT21HJMPINPUTRANGE_0:MOVBX,1MOVCX,9XORDI,DIRANGE:MOVAL,BUF[DI]CMPAL,BUF[DI+1]JAENEXT_1XCHGBUF[DI+1],ALMOVBUF[DI],ALMOVBX,0NEXT_1:INCDILOOPRANGECMPBX,0JERANGE_0;冒泡法排列得分LEADX,STRING2MOVAH,9INT21HMOVCX,9XORSI,SI;SI清零MOVAH,2RANGE_OUTPUT:;输出排序后的得分MOVDL,BUF[SI]ADDDL,30HCMPDL,39H;判断是否是10分JATENS_1JBETENS_0TENS_1:;十位数为1,则输出'10' MOVBX,1 MOVDL,'1' INT21H MOVDL,'0' INT21HINCSIMOVDL,','INT21HJMPNEXT_2TENS_0:;十位数为0,则按原得分输出INT21HINCSIMOVDL,','INT21HNEXT_2:LOOPRANGE_OUTPUTMOVAH,2MOVDL,0AH;换行INT21HMOVDL,0AH;换行INT21HMOVDL,0DH;回车INT21HLEADX,STRING3 MOVAH,9HINT21HMOVCX,7;累加中间7个数字XORAX,AXDECSISUM:;求7个分数的和 DECSIADDAL,BUF[SI]LOOPSUM CMPAL,46H JAEFULL_MARK JMPN_FULL_MARKFULL_MARK:;满分时 MOVAH,2H MOVDL,'1' INT21H MOVDL,'0' INT21H MOVDL,'.' INT21H MOVDL,'0' INT21H MOVDL,'0' INT21H JMPENDINGN_FULL_MARK:;非满分时 MOVCX,2 MOVBH,1;小数点只出现1次DIVISION:MOVBL,7DIVBL;除以7PUSHAXADDAL,30HMOVDL,ALMOVAH,2INT21HCMPBH,0JEDOTMOVDL,'.'MOVBX,0DOT:INT21HPOPAXMOVAL,AH;余数存入ALMOVDL,10MULDL;余数乘以10,结果存入AX LOOPDIVISIONENDING: MOVAH,02 MOVBH,0 MOVDX,0C46H INT10H;设置光标位置 MOVAH,1 INT21HCODEENDSENDSTART程序调试结果设计总结通过课程几天的课程设计,学到了诸多上课学不到的知识,特别是体会到了汇编语言与高级程序语言编程的不同,起初非常不适宜汇编语言的编程,高级程序语言中的基本功能,入多重循环和套嵌,在汇编语言看来缺是相当复杂的,还有数字的输入和输出都要经过ASCII码与二进制的转换,数据的定义少得可怜,这些特性都让起初的我感到寸步难行。但是进过进一步的上机操作和学习,汇编语言开始变得明朗起来。此次程序设计虽然收获不小,也留有许多遗憾,如程序没有能够对输入得分大于10分的错误操作做出提示,结果的平均分的百分位在某些时候存在误差,有可能是因为程序中数据是以字节形式存储的,字符长度太短导致误差,也有可能是因为求小数的方法导致的。总的来说这次课程设计虽然遇到了一些比较麻烦的问题,但还算比较顺利,经过一些讨论和修改,一个完整并且能达到要求的程序总算是写好了,过程虽然有点坎坷,可是收获也颇丰,通过这次课设让我对课本基础知识有了一个系统的掌握,而且对课题设计的思路也有了比较清晰的认识,让我对汇编的了解更加深刻。计算机科学与技术系课程设计评分表课程名称:项目

温馨提示

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

评论

0/150

提交评论