




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告课程名称汇编语言程序设计课题名称1、显示彩色菱形2、显示系统当前时间专业班级学 号姓 名指导教师年 月 日课程设计任务书课程名称汇编语言程序设计rJW.专业班级学生姓名学 号指导老师审 批任务书下达日期年 月 日 任务完成日期年 月 日、设计内容与设计要求1设计内 容:通过本周得课程设计,学生能够巩固所学得基础知识,并能够使 学生更加熟练运用汇编程序设讣语言来掌握综合汇编程序设讣得方法与过程,以及为设 计其它应用软件提供帮助,进而提高学生得软件设汁能力。(1) 、编制一计算比赛成绩得程序,要求完成以下功能:a、9名评委,每个评委给分范围为010 0 (整数);b、9名评委给分中,去
2、掉一个最高分与一个最低分,剩余7名评委得平均分即为参 赛者得得分(精确到小数点二位);c、将得分在光标位置处显示出来。(2) 、编制一程序,要求接收从键盘输入得一个班得学生成绩,并存放于30字得grade 数组中,各数据得格式为:学号,成绩1,成绩2,成绩5然后根据gra d e中得学生成绩,把学生名次填入r ank数据组中,并显示出来,格式为: 学号,名次(3) 、利用INT 1CH (大约每秒中断18、2次)编写一个中断驻留程序,要求在屏幕得右 上角显示计算机中当前系统时间,显示格式为时:分:秒:1/10 0秒(4) 、输入一个菱形得两条对角线长,在屏幕上用号画出一个彩色得菱形。(5) 、
3、设置图形方式并显示彩条,要求:选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一 直到整个屏幕都显示出彩条2 设计要求:掌握结构化程序设计得主体思想,以自顶向下逐步求精得方法编制程序解决一些实际得问题,为将来编写软件积累一些典型得案例处理经验。(1) 、设计正确,方案合理。(2) 、界面友好,使用方便。(3) 、程序精炼,结构清晰。(4) 、设计报告5 0 0 0字以上,含程序设计说明,用户使用说明,源程序清单及程序 框图。(5) 、上机演示。(6) 、按学号顺序选课题号,并在规定得时间内独自完成相关课题得汇编源程序编写、调整与运行。源程序及编译生成各文件均保存在软盘中:(
4、7)、按本任务书得要求,按附录得要求编写课程设计报告(W。r d文档格式)。 并用A4得复印纸打印并装订;二、进度安排第1 8周:星期1下午2:00-5: 3 0星期2下午2:00-5: 3 0星期4下午2:00-5: 3 0附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小得图纸及程序清单)。正文得格式:一级标题用3号黑体二级标题用四号宋体加粗,正文用小四号宋体:行距为22正文得内容:一、课题得主要功能:二、课题得功能模块得划分(要求画出模块图);三、主要功能得实现(至少要有 一个主要模块得流程图):四、程序调试:五、总结:六、附件(所有程序得原代码要求对程序写出必要得
5、注释)。 正文总字数要求在5 000字以上(不含程序原代码)o目录课题一:画出一个彩色得菱形1一、课题得主要功能1。二、课题得功能模块得划分2三、主要功能得实现4四、程序调试5。五、总结6。课题二:显示计算机中当前系统时间。7一、课题得主要功能7二、课题得功能模块得划分。7三、主要功能得实现。9四、程序调试五、总结。1 1附件(源代码)1 21、画出一个彩色得菱形122、显示计算机中当前系统时间1。7课题一:画出一个彩色得菱形一、课题得主要功能输入一个菱形得两条对角线长,在屏幕上用号画出一个彩色得菱形。程序运行时会有提示要求用户输入菱形得对角线长。在界面上用户须分别输入菱形 得横向与竖向对角线
6、长。程序会跟据输入得对角线长度计算出菱形所在得一个矩形区域(设置双重循环得参 数),然后以(0,0)为原点横向为X轴,竖向为Y轴,建立坐标系。先确定菱形得左顶点坐 标为(0,10),然后根据对角线长计算下顶点得坐标(L/2, 10+W/2),再将菱形分成四 个区域,在左下角得区域内判断要显示得,再根据对称得关系将其她三个区域填 满。左下角区域得判断就是根据那两个点得坐标建立得一次不等式,满足条件得显示。 用BIOS得02 H功能来设置光标位置,用0 9 H功能来设置光标得位置显示字符及其属性, 属性即为显示字符得颜色,每显示一个颜色就换一种。二、课题得功能模块得划分本课题共分为五个模块,即输入
7、对角线模块,讣算参数模块,设置光标模块,判断模块, 显示图形模块。输入模块:MOV AH,0 1 HINT21H分为四个字符输入,第一,二个字符为横向长L,先将第一个字符转化 为数值SUB AL,30H MUL N两位数,再加上第二个字符得数值个位数变为一个 两位数,第二个两位数同理得竖向长Wo计算参数模块:本程序包括A,B,E, X,Y,I,O L D,NE I ,WAI参数需要计算,A = W/2 , B = L/2,E=B,X = DL,Y=DH,I 控制字符颜色 07 循环,LEA OLDATRI, NEI=B+ 1 , WA1 = A + 1 o设置光标模块:将光标移至(0,10+A
8、),并从这点,逐行遍历完左下角得矩形区域。其她三 个区域根据对称得关系移动。判断模块:根据DX中得内容取出火=。1, Y = DH,代入不等式BYv二AX+10,满足条 件得点就显示出来。显示图形模块:若此点满足条件就显示出来,每显示一次颜色就变一次,然后将光标移至 其她三个区域对称得点显示,其她三个区域得坐标为(2E-X, Y) ( 2 E-X, 20-Y)(X,2 0 - Y)o三、主要功能得实现本程序主要功能就是两层循环中得判断与显示部分POP CX INC DL DEC CX四. 程序调试、输入横向长度与竖向长度Jnlx2? 13PresaniMjconunie图3彩色菱形賦 D: l
9、asIasiLbin.DVT&Bp. exe2、输入横向长度与竖向长度五、总结课程设讣就是培养学生综合运用所学知识,发现,提出,分析与解决实际问题,锻炼实 践能力得重要环节,就是对我们得实际工作能力得具体训练与考察过程。通过儿天得课程设讣使我们懂得了理论与实际相结合就是很重要得,只有理论知识 就是远远不够得,只有把所学得理论知识与实践相结合起来,从理论中得出结论。在设计 得过程中遇到问题,可以说得就是困难重重,所以在设计得过程中发现了自己得不足之处, 对一些前面学过得知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把 前面所学过得知识乂重新温故了一遍。在课程设计过程中,收获知识,
10、提高能力,懂得怎么样去制定计划,怎么样去实现这个 计划。不畏艰难,勇往直前!课题二:显示计算机中当前系统时间一、课题得主要功能本课题得主要功能就是利用INT 1CH(大约每秒中断1 8、2次)编写一个中断驻留程序,要求在屏幕得右上角显示计算机中当前系统时间,显示格式为时:分:秒:1/1 0 0秒完成该课题得系统时间功能,需要不断地同步显示当前系统时间,这里我们需要用到I N T 1CH,平均每秒中断18、2次,以这样得频率同步显示系统时间以满足人们得视觉效 果。完成系统时间同步得前提下还要读取系统时间与显示系统时间。二、课题得功能模块得划分2、1功能模块解释课题得功能模板就就是在定义好数据之后
11、,完成读取当前系统时间与显示当前系统 时间两大模块。包括获取原终端类型、保存原中断类型、设置新得中断类型、执行中断 处理程序、应用堆栈保护现场、读取系统时间,然后分别将时间得BCD码转换为字符, 在制定内存位置写入时间然后显示时间,最后恢复现场,中断返回。该课题采用了调用子程序得思想来完成,主体功能都通过子程序来完成,中断模块、 读取系统时间模块、显示系统模块、现场保护模块及现场恢复模块。通过调用子程序得 办法使本程序更加具有条理性,其中现场保护就是为了使寄存器中有用得数据保存起来, 让寄存器进行其她运算,现场恢复就是使原来保存起来得有用得数据进行恢复,读取系统 当前时间并使屏幕显示得时间与系
12、统当前时间同步变化,这就不得不使用中断模块,运用 I NT 1 CH,可以每秒中断1 8、2次,足以满足视觉上得同步。2、2功能模块流程图主程序显示当前系统时间子程序模块显 示 当 前 系 统 时 间现场恢三、主要功能得实现及系统时间砺怯调用护实现W1步骤-:魁好数据之后,社als环境下,用2 C尊取系址时间得功能澀吐赋1 将分赋值磨弋士将秒赋值给DH,将1 / 100赋值给DL。j前系统时眉读取系统当前图1功能模粋流隹图中断模块值给CH,系统时间显示子函数IN T 1C来具体实现当前系统时间,将从系统中读取得时、分、秒分别送入 内存T到T7,然后块装入指令把SI指向得存储单元读入累加器。.保
13、护现场 开始 读取系统时间获取原中断类型1CHJ 分别将时间得BCD码转换为字符保存原中断类型在指定得位置写入时间并显示时间设置新得匚】断类型执行中断夂卜理程序恢复$1场 中断遞回 图2时间显耒流 一 四、程序调试程序运行显示出前系统时间五、总结本文得主要内容就是介绍用汇编语言(8086/DOS)实现一个显示系统时间得程序,在界显示系统时间,在设计过程中,首先就是按照题U所给得具体要求,根据自己得设计 思路,画出流程图,然后查阅相关资料,写出流程图中得各段子程序,把子程序放在Ma sm fo r Windows集成环境中进行调试,找出程序中得错误,并进行修改与不断完 善,以得到符合要求得程序。
14、有了这些子程序后,我们就可以根据要求写出源程序,但在 写源程序得过程中遇到了很多困难,经过反复调试跟修改,最终得到了符合要求得源程 序。一周得汇编语言课程设计结束了,我得收获很大。通过课程设汁得编程与对编程过 程中遇到得问题得思考,有效得提高了我对汇编得认识与理解,切实得提高了我得编程 能力,补全了我得不足。通过这次课程设计,我巩固所了学过得知识,能用汇编语言熟练 地运用顺序、选择、循环三大结构,进一步掌握了各个指令得功能,特别就是转向指令, 掌握了子程序得定义及调用,以及正确地运用DEBUG指令。在整个程序得编写中,调试占 了很大部分得时间。要想写好汇编语言得程序,必须认真对待代码得每一个细
15、节,还必 须熟练得掌握debu g命令,这对程序得调试就是非常重要得。通过这次实际动手能力得 培养,我进一步熟悉了汇编语言得结构与使用方法,基本达到了能独立阅读、编制与调试 一定规模得汇编语言程序得水平。另外,就就是我对这门课内容得学习感受。要学好这门课,以我愚见无非有以下三 占八、1)课本上应该记住得东西一定要记住,记不住就没法做题,(例如指令,寻址方式 等等)若记住您做题就会做,瞧程序也就能瞧懂,记不住见了它就会对它不知所措,一脸 茫然。2)预习很重要,这一点不仅适用于这一科得学习,确切得说它适用于任何一科,有得 同学这一点作得不好,上课只知道竖着两个耳朵傻傻得听老师讲课,也不注意动动脑子
16、 随时思考,延续以前填鸭式得学习方式,想让老师讲给所有得东西,殊不知很多东西还要 自己从书本获得。这就难免出现听不懂得悄况,这好比让一个不懂外语得人听外语录音, 在她得心里,听外语就像听天书一般,所以说您要学一点新东西,前提就是您对它要有 一点了解,不然得话您所作得一切只不过就是在浪费时间,浪费金钱,浪费生命。3)理论与实践相结合,不懂得地方应勤问老师勤问同学,直到把它搞懂为止。总乙这学期得课程设计,让我们学到了很多,受益匪浅。附件(源代码)1画出一个彩色得菱形DATAS SEGMENT;此处输入数据段代码A TRI DB OAH, OBH, OCH, 09H, ODH, 08H, OEH L
17、 DW ?W DW ?N DB 10A DB ?B DB ?E DB ?DDB?X DB ?Y DB ?I DB 0OL D DW ?NEI DW ?WAI DW ?DATAS ENDSSTACKS SEGMENT PARA STACK z STACK ;此处输入堆栈段代码S TACKS ENDSCODES SEGM ENTASSUME CS:CODES, DS: DAT AS , SS: S TACKSSTAR T :MOV AX, DAT A SMOV DS, AXMO V AH, 0MOV AL, 3I NT 10HMOV AH, 01HI NT 2 1HPUSH BXSUB AL, 3
18、 OHMUL NMOV L,AXMOV AH, 01HI NT 21HSUB AL, 30HMOV CX, LMOV AH, 0ADD CX, AXMO V L, CXMOV AH, 0 1H ;空格INT 21HMOV AH, 0 I H ;宽INT 2 1 HSUB AL, 30HMUL NMOV W,AXMOV AH, 0 1 HINT 21HSUB AL, 30HMOV BX,WMOV AH, 0A DD BX, AXMOV W, BXLEA S I , ATRIMOV OLD, SIMOV BL, 2M OV AX, WD IV BLMOV A,AL :AMOV AX,LDIV BL
19、MOV E, ALMOV B,AL ;BMOV BL, EMOV AL, 2MUL BLMO V E,ALMOV BL, 2MOV AX, WDIV BLINC ALMOV AH,0MOV W A I, AX ;外循环MOV BL, 2MOV AX,LDIV BLINC ALMOV AH, 0MOV NEI,AX;光标位置MOV BL, 2MOV AX, WDIV BLADD AL, 10MOV DH, AL MOV DL, 0P OP BXMOV AH,02HINT 10HMOV CX, WA ILOOP1:PUS H CX;外循环MOV CX,NEI ;内循环CX ;:;LOOP2:PUS
20、H BXPUSH CX;内循环MOV AH, 0 2H INT 1 OHMOV X, DL;X坐标MOV Y, DH; Y 坐标MOV AL,BMUL YMOV BX, AX ;不等式左边BXMOV AL, AMUL XMOV CX,AXMOV AL, 1 0MUL BADD CX, AX ;不等式右边CXCMP B X,CXJA NEXT;显示程序MOV AX, 092AI-IMOV BL, SI ;S I 为颜色值MOV CX, 1INT 1 OHMOV BL,XMOV BH, 0PUSH DXPU S H BXMOV AL, ESUB AL,XMOV DL, A L ; I _XMOV
21、AH, 02HINT 10HMOV AX, 0 9 2AHMOV BL, S I ;SI为颜色值MOV CX, 1INT 10H;显示1号点MOV AL, 2 0SUB AL,YMOV DH,AL ;2. YMOV AH,02HINT 10 FIMOV AX, 0 92AHMOV BL, SI ;SI为颜色值MOV C X, 1INT 1 OH;显示2号点POP BXMOV DL,BLMOV AH, 0 2HINT I OHMOV A X, 092AHMOV BL, SI ; SI为颜色值MOV CX, IIN T 10H;显示3号点INC IINC SICMP 1,7JNE BLAG 4MO
22、V I, 0MOV S I , OLDBLAG4:POP DXNEXT:PO P CXPO P BXINC DLDEC C XJNZ LOOP2DEC DHMOV DL, 0POP CXDEC CXJNZ LOO PlMOV DX, 1 3 1 OHMOV AH, 0 2HINT 1 OHMOV AH,4CHINT 21HCODES ENDSEND START;不显示跳得这;内循环结束;外循环结束2、显示计算机中当前系统时间DAT AS S EGMEN Tc u r s or e qu 45hattrib eq u 2 f h;此处输入数据段代码DATAS ENDSST A CKS SEGME
23、NT;此处输入堆栈段代码STAC KS ENDSCODES SEGMENTASSUME CS:CODES,DS: DATAS, SS: STAC KS STAR T:MOV AX, DATASMOV DS, AXjmp goold c ur d w ?oldie dw 2 d u p (?)new inti c :pu s hfc al 1 dword p t r c s : old 1 cpush a xp u sh bxpush c xpus h dxxo r bh, b hmov ah, 3int lOhmov cs:oldcur, dxmov a h, 2xor b h , bhmov
24、 dx, 012 FHint lOhmov ah, 2c hint 2 1h;ch=h our;cl=min u te;dh=se c ond;d 1 =1/100 sec o ndpush d x pu s h ex ;s h ow hour po p b x pu s h bx call s ho wh o urcal 1 show c ol o n;s h ow minutepop b xca 11s ho wminca 11sh ow c olon:sh o wsec o n dpop bxp us hb xcall sh o ws e cc al 1 show c o 1 on;sh
25、o w 10 msecpopb xc al1 sh o wminmovdx, c s: oldcu rmova h, 2xo rbh, bhi n t1 Ohpo p dxpo p c xpop bxp o p a xi r etnearsh o wh o u r proc pus h b xpop axmov cl, 8sh r ax, c 1mov b 1, 1 0div bladd al, 30 hc all showcall c u rmovemov c 1, 8shr ax, c 1add al, 3 0 hcall showca 1 1 c u rmoveretshowhou r
26、e n d ps h o wmin proc n eapush bxP opaxmo vc 1, 8s h1 ax, cl5 h rax, clmo vbl, 10d i vblad dal, 30hca 1 1 showcall curmovemo v cl, 8s h r a x , cl add al, 3 0 h call s h ow ca 1 1 curm o veretretshowmi n endpshowse c p r oc nea r pus h b xpop axmov cl, 8sh r a x , c 1mov b 1 ,1 0 div b 1add al, 3 Ohcall show6c a 1 1 c u rm o vemov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士资格考试相关试题及答案发掘
- 护理学理论课程试题及答案路径
- 2025年经济法复习备忘录试题及答案
- 家庭护理课件
- 行政管理学员备考的试题与答案整合
- 应用心理学在医疗中的试题及答案
- 新高考区域地理复习课件整体解析
- 线性代数中的向量空间概念课件
- 课堂互动课件:试卷解析与点评
- 好书分享班会课件视频
- 校车驾驶员交通安全培训
- 飞机维修员入门教程
- 超声引导下神经阻滞下肢篇
- 2024届高三英语二轮专题复习:关于水中或雨中脱困脱险的读后续写练习写作素材
- 《如何处理人际关系》课件
- 中国带状疱疹诊疗专家共识2023版
- Part6 Unit1 Travel 课件-【中职专用】高一英语同步 课堂(高教版2021·基础模块2)(2023修订版)
- 《旋转变压器 》课件
- 个人信息保护与隐私权益
- 皮下脂肪瘤学习课件
- 装修常用数据手册(空间布局和尺寸)
评论
0/150
提交评论