湖南工程学院汇编语言程序设计报告_第1页
湖南工程学院汇编语言程序设计报告_第2页
湖南工程学院汇编语言程序设计报告_第3页
湖南工程学院汇编语言程序设计报告_第4页
湖南工程学院汇编语言程序设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告课程名称汇编语言程序设计课题名称1.比赛成绩计算程序2.显示彩条程序专业计算机科学与技术班级计算机1001学号201003010125姓名张庆华指导教师唐北平2013年1月10日湖南工程学院课程设计任务书课程名称汇编语言程序设计课题1.比赛成绩计算程序2.显示彩条程序专业班级计算机1001学生姓名张庆华学号201003010125指导老师唐北平审批唐北平任务下达日期2013年1月5日任务完成日期2013年1月10日一、设计内容与设计要求1 设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计

2、其它应用软件提供帮助,进而提高学生的软件设计能力。(1) 、编制一计算比赛成绩的程序,要求完成以下功能:a、9名评委,每个评委给分范围为0100(整数);b、9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);c、将得分在光标位置处显示出来。(2) 、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30字的grade数组中,各数据的格式为:学号,成绩1,成绩2,,成绩5然后根据grade中的学生成绩,把学生名次填入rank数据组中,并显示出来,格式为:学号,名次(3)、利用INT1CH(大约每秒中断18.2次)编写一个中断驻留程序,要

3、求在屏幕的右上角显示计算机中当前系统时间,显示格式为时:分:秒:1/100秒(4) 、输入一个菱形的两条对角线长,在屏幕上用*号画出一个彩色的菱形。(5) 、设置图形方式并显示彩条,要求:选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条2设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。( 1) 、设计正确,方案合理。( 2) 、界面友好,使用方便。( 3) 、程序精炼,结构清晰。( 4) 、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图

4、。( 5) 、上机演示。( 6) 、按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编写、调整和运行。源程序及编译生成各文件均保存在软盘中;( 7) 、按本任务书的要求,按附录的要求编写课程设计报告(Word文档格式)并用A4的复印纸打印并装订;(6) 进度安排第19周:星期1星期2星期3星期4附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主

5、要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)正文总字数要求在5000字以上(不含程序原代码)11. 主要功能12. 功能模块13. 详细设计24. 系统调试45. 总结56. 源程序代码6显示彩条程序91. 主要功能92. 功能模块93. 详细设计104. 系统调试115. 总结126. 源程序代码13、比赛成绩计算程序1 .主要功能9名评委,每个评委给分范围为0100 (整数);9名评委给分中,去掉一个最高分 和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);将得 分在光标位置处显示出来。2 .功能模块r9个评委分别输

6、入分开始去掉一个最低分与一个最高系统功能模块9JE A9A1:MOVAH,Y MOVAL,Z MOVA,AX JMP ONEA2:MOVAH,Y MOVAL,ZMOV B,AXJMP ONEA3:MOV AH,Y MOVAL,ZMOV J,AXJMP ONEA4:MOV AH,Y MOVAL,ZMOV D,AXJMP ONEA5:MOVAH,Y MOVAL,ZMOV E,AXJMP ONEA6:MOVAH,Y MOVAL,Z MOVF,AX JMP ONEA7:MOVAH,Y MOVAL,ZMOV G,AXJMP ONEA8:MOVAH,Y3.详细设计部分功能如下:9个评委分别输入分数,代码如

7、下ONE:LEADX,STR1MOVAH,09HINT21HMOVAH,01HINT21HSUBAL,30HMOVY,ALMOVAH,01HINT21HSUBAL,30HMOVZ,ALMOVAH,02H;设置光标位置MOVBH,0;设置页MOVDH,X;设置行位置MOVDL,0;设置列位置INT10HMOVDL,0AHMOVAH,02HINT21HINCXCMPX,01HJEA1CMPX,02HJEA2CMPX,03HJEA3CMPX,04HJEA4CMPX,05HJEA5CMPX,06HJEA6CMP<,07HJEA7CMPX,08HJEA8CMPX,09HMOVAL,ZMOVH,AX

8、JMPONEA9:MOVAH,Y MOV AL,Z MOV I,AXLEA DI,A MOVBX,DI MOVZ,00HNEXT1:ADD DI,02H INC Z CMPZ,09H JE NEXT2 CMPBX,DI JBE NEXT1 MOVBX,DI JMP NEXT1NEXT2: MOVM,BX;取偏移地址;比较大小;将最小的数放入BL;将最小的数放入MMOV Z,00HLEA DI,A ;取偏移地址MOVCX,DINEXT3:ADD DI,02HINC ZCMPZ,09HJE NEXT4CMPCX,DI JAE NEXT3 MOVCX,DI JMP NEXT3 NEXT4:MOVN,

9、CX;将最大的数放入CL;将最大的数放入N找出最高分与最低分,代码如下4 .系统调试此次实验中,我遇到了很多不懂的问题,不过通过老师和同学的帮助跟上网查找资料,最终了解并掌握了改程序设计的方法。首先是循环输入分数的问题,再就是设置显示方式;由于对指令的不熟悉翻过课本之后才知道。程序运行结果如下图:cCE=KASIFObin、D,Te/p.已xeeeceeeeee5 hhhhhhhhh0 000 0 0 0 0 1234567-9Pleaseentct*Pleaseenterflca&centerPleaseenterPleaseenter1?leas:eenter*?leas:eent

10、erPleaseenter*Pleaseenteu*fhesc»r*IsPressanukeytocontinue图2程序运行结果5 .总结首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。课设虽然有些疲劳和困倦,但带给我很多的收获。汇编已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码,但到了实际

11、操作,却是行不通的。这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避过这些方法,换方法实现。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。6 .源程序代码;设置光标位置 设置页 设置

12、行位置 设置列位置DATASSEGMENTMDW0NDW0LDB0QDB0RDB0SDB0UDW0WDB0XDB0YDB0ZDB0ADW?BDW?JDW?DDW?EDW?FDW?GDW?HDW?IDW?STR1DB'Pleaseenterthescores$'STR2DB'Thescoreis:$'DATASENDSCODESSEGMENTASSUMES:CODES,DS:DATASSTARTMOVAX,DATASMOVDS,AXONE:LEADX,STR1MOVAH,09HINT21HMOVAH,01HINT21HSUBAL,30HMOVY,ALMOVAH,0

13、1HINT21HSUBAL,30HMOVZ,ALMOVAH,02HMOVBH,0MOVDH,XMOVDL,0INT10HMOVDL,0AHMOVAH,02HINT21HINCXCMPX,01HJEA1CMPX,02HJEA2CMPX,03HJEA3CMPX,04HJEA4CMPX,05HJEA5CMPX,06HJEA6CMPX,07HJEA7CMPX,08HJEA8CMPX,09HJEA9A1:MOVAH,YMOVAL,ZMOVA,AXJMPONEA2:MOVAH,YMOVAL,ZMOVB,AXJMPONEA3:MOVAH,YMOVAL,ZMOVJ,AXJMPONEA4:MOVAH,YMOVA

14、L,ZMOVD,AXJMPONEA5:MOVAH,YMOVAL,ZMOVE,AXJMPONEA6:MOVAH,YMOVAL,ZMOVF,AXJMPONEA7:MOVAH,YMOVAL,ZMOVG,AXJMPONEA8:MOVAH,YMOVAL,ZMOVH,AXJMPONEA9:MOVAH,YMOVAL,ZMOVI,AXLEADI,A;取偏移地址MOVBX,DIMOVZ,00HNEXT1:ADDDI,02HINCZCMPZ,09HJENEXT2CMPBX,DI;比较大小JBENEXT1MOVBX,DI;将最小的数放入BLJMPNEXT1NEXT2:MOVM,BX;将最小的数放入MMOVZ,00H

15、LEADI,A;取偏移地址MOVCX,DINEXT3:ADDDI,02HINCZCMPZ,09HJENEXT4CMPCX,DIJAENEXT3MOVCX,DI;将最大的数放入CLJMPNEXT3NEXT4:MOVN,CX;将最大的数放入NMOVAX,A;求总分ADDAX,BADDAX,JADDAX,DADDAX,EADDAX,FADDAX,GADDAX,HADDAX,ISUBAX,N;去掉最高分SUBAX,M;去掉最低分MOVQ,AHMOVR,ALMOVDL,RMOVDH,00HMOVAX,DXMOVL,0AHDIVLMOVS,AHMOVAH,QADDAH,ALMOVAL,AHMOVAH,00

16、HMOVU,07HDIVUMOVW,ALADDS,AHMOVAH,02HINT 21HMOVAH,4CHINT 21HCODES ENDSEND STARTLEADX,STR2MOVAH,09HINT21HMOVDL,WADDDL,30HMOVAH,02HINT21HMOVDL,SMOVDH,00HMOVAX,DXDIVUMOVW,ALMOVS,AHMOVDL,WADDDL,30HMOVAH,02HINT21HMOVDL,'.'MOVAH,02HINT21HMOVAL,SMULLMOVS,ALMOVDL,SMOVDH,00HMOVAX,DXDIVUMOVW,ALMOVS,AHM

17、OVDL,WADDDL,30HMOVAH,02HINT21HMOVAL,SMULLMOVS,ALMOVDL,SMOVDH,00HMOVAX,DXDIVUMOVW,ALMOVS,AHMOVDL,WADDDL,30H3. 详细设计部分功能模块如下:设置显示方式的功能代码如下MOVAH,00H;设置显示方式MOVAL,10H;选择显示方式10h(16色图形)INT10H设置调色板及背景颜色的功能代码如下MOVAH,10H;显示寄存器控制MOVAL,00H;设置调色板寄存器MOVBH,01H;背景颜色设置为蓝色MOVBL,00H;选择0号调色板INT10H设置显示位置、彩条宽度及彩条颜色的功能代码如下

18、MOVBH,00H;显存的第0页MOVCX,00H;起始列号为0列MOVDX,00H;起始行号为0行MOVDI,00H;设置彩条的宽度ONE:MOVBL,02H;第一条彩条的颜色设为绿色TWO:MOVDI,00HADDBL,01H;设置彩条的颜色CMPBL,07H;设置彩条颜色种类,每四行循环一次JEONE104.系统调试在这个课题中,我也遇到了很多不懂的问题,最终通过上网查找资料后,了解并掌握了彩条图形设计的方法。第一个问题就是是像素设置问题,要用到调色板,判断是否达到极值。第二个问题就是设置显示方式,很多的指令书上都没有详细说明使用的条件4种不同颜色显示;最及方法,在网上查找资料之后才知道

19、。最后就是彩条颜色,要用终经过不断的调试和修改,使题目中所有要求都得到满足。115. 总结这个课程设计是利用我们平时所学的汇编知识编写一个彩条图形,刚拿到题目的时候觉得这个课题好容易。但是随着编写程序的过程,我逐渐觉得,这个课题并不像我刚开始想的那样简单。因为平时汇编语言的知识掌握的并不牢固,并且也没有过像这次做课设一样用汇编语言做过系统的编程实践。不过,通过不断的查找资料,翻看课本,最终还是把这个程序给做好了。这次课程设计让我更加懂得以后在面临困难与挫折的时候要有平和的心态,要有冷静的头脑,坦然的面对,这样才能解决问题。有了整体思路后,编写程序就变得简单的多了。通过本次数据结构的课程设计,我学会了怎样去借鉴别人的方法和经验,知道了如何整合资料和处理这些资料的能力,这位以后做毕设的论文打下了基础,使我感觉比较好的是有一种成功的喜悦,虽然在编译的时候会经常因为一些小的错误而心烦意乱,但是也不失为一件好事,失败的越多积累的经验越丰富,对人的考验也比较多,那么在最后编译成功时的喜悦就越浓烈,也是自己的能力有了进一步的提高。由于知识和经验的不足,所以在以后还是需要较多的

温馨提示

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

评论

0/150

提交评论