欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    汇编语言课程设计论文动画程序设计.doc

    • 资源ID:855867       资源大小:152.04KB        全文页数:18页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言课程设计论文动画程序设计.doc

    1、 目 录一 概述2二 总体方案设计3三 详细设计7四 程序的调试与运行结果说明13五 课程设计总结15参考文献16一 概述1. 课程设计的目的对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。培养学生综合运用所学知识独立完成汇编程序课题的能力。使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言

    2、程序的设计和调试。提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。2. 课程设计的要求动画程序设计要求完成一个在显示器上显示一个图形动画设计,即当程序运行时可看到移动的图形或图像。(比如:在出现的提示信息中输入某一个字母,即可让一个图形或图像出现在在屏幕的左边,然后移动到屏幕的右边。)此程序涉及到宏和I/O中断的调用,要求学生掌握对宏的定义和使用

    3、,使用汇编语言对I/O中断的使用。小组成员分工协作完成。要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。学生查阅相关资料,自学具体课题中涉及到的新知识,能够按照老师的要求对待设计的系统的程序流程图进行正确地绘制。学生在老师的指导下,能够写出相应的源程序代码,采用结构化、模块化程序设计方法,功能要完善,界面要美观。所设计的系统原则上要能够运行无误,结果准确。 在条件允许的情况下,学生能够最终将系统所要实现的功能演示出来。最后经验收合格后,按要求写出课程设计报告,并于设计结束后1周内提交。总体设计应配合软件总体模块结构图来说明软件应具有的功能。详细设计应用传统或N-S流程图和屏幕抓

    4、图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。二 总体方案设计1. 主程序设计思想:此动画程序要求结构化的显示两个动画效果:小鸟飞过和小车开过。程序要求能多次执行以上两种动画并有退出选项。则我们可以设计三个选项以供用户选择:1-小鸟、2-小车和q-退出程序。三个选项分别可以用三个过程实现其功能。动画的原理实质上是在屏幕上连续的间隔较小的地方显示相同的图案。由于人眼具有视觉暂留的特性,我们就会看到“运动”的画面。2. 小鸟及汽车图案设计思想:小鸟图形是由小写字母v来模拟的,其ASCII码值为76H;小鸟飞过的动画效果,实质上是在不同的位置上显示字母v,从而完成视觉上的动

    5、画效果。(设置光标位置,写字母,延迟,重新设置光标位置,写空格,延迟,重复下去。)汽车图形由7个文本字符组成,从左到右,车体是由字母R(ASCII码为52H),1/2阴影符(ASCII码为B1H),和两个实心方块(ASCII码为DBH)组成,两个车轮是字母O(ASCII码为4FH),和笑脸符号(ASCII码为02H),以上七个文本字符都是以正常属性显示。汽车各字符的相对位移量如图2.2:R(0,0)(0,-3)(0, 1) (0, 1)(1, 0)(0,1)(-2, 1)图2.2 汽车字符表开始显示车体,R是显示的第一个字符,其相对位移量定为(0,0),第二个阴影符号在R的右边一列,所以相对R

    6、的位移量为(0,1),两个实心方块都是在前一个字符的同一行的右边一列,所以位移量都为(0,1)。前轮比最后一个方块符号的行数加1,但仍在同一列上,所以它的位移量为(1,0),后轮相对前轮行数不变,但列数减了3,所以位移量应是(0,-3)。最后显示出笑脸,是相对于后轮位移量是(-2,1)。如汽车图形可定义变量定义如下:CAR DB 7 DB 52H,7,0,0 ;字符R的ASCII码,及字符属性值为7,相对位移量为0,0DB 0B1H,7,0,1 ;阴影符的ASCII码,及字符属性值为7,相对位移量为0,1DB 0DBH,7,0,1 ;实心方块的ASCII码,及字符属性值为7,相对位移量为0,1

    7、DB 0DBH,7,0,1 ;实心方块的ASCII码,及字符属性值为7,相对位移量为0,1DB 4FH,7,1,0 ;大写字母O的ASCII码,及字符属性值为7,相对位移量为1,0DB 4FH,7,0,-3 ;大写字母O的ASCII码,及字符属性值为7,相对位移量为0,-3DB 02H,7,-2,13. 我完成部分模块说明1) 其中主要对主程序和宏清屏命令进行了设计和编码即红色代码部分,下面将分别对它们进行简要说明。主程序:CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX,DATA MOV DS,AX MOV AH,0MO

    8、V AL,4 ;设置显示方式为320*200彩色图形方式 INT 10H LEA DX,STRING MOV AH,9 ;在显示器上显示字符串提示信息 INT 21H MOV AH,1 INT 21H ;从键盘读取字符到AL寄存器 CMP AL,1 ;比较AL是否等于1 JNE A ; 不相等则转移到A CALL xiao ;相等则调用xiao子程序 A: CMP AL,32H ;比较AL是否等于2 JNE B ; 不相等则转移到B CALL qiche ; 相等则调用qiche子程序 B: CMP AL,q ;比较AL是否等于q JNE START ; 不相等则转移到START,重新输入字符

    9、 MOV AH,4CH ; 相等则终止当前程序。 INT 21H主程序主要实现与用户的交互,首先程序会提示用户想要进行什么操作。是显示小鸟动画、汽车动画还是退出。这里对应的给用户提供的选项是“1”、“2”和“q”。当用户输入他们的选项之后,主程序要判断用户的输入调用相应的功能模块来满足用户的要求。我们假设用户输入字符为X,那么首先我们将X与“1”比较。如果相同则程序调用小鸟动画模块为用户显示动画。若不为“1”则要继续与“2”想比较。相等则调用汽车动画,不等则继续与“q”想比较。相等则正常退出,不等则说明用户输入非法字符主程序返回到选择界面用户可以继续选择。特别说明:汇编语言的选择结构不同于C语

    10、言的选择结构,程序设计过程中要特别小心。避免将造成潜在的BUG.2) 清屏宏定义CLEAR MACRO pch,pcl,pdh,pdl,pbh ;清屏宏定义 MOV AH,0 MOV AL,4 INT 10H MOV AH,6 ;调用6号功能 MOV AL,0 ;设置整个屏幕为空白 MOV CH,pch MOV CL,pcl ;窗口左上角(0行,0列) MOV DH,pdh MOV DL,pdl ;窗口右下角(24行,79列) MOV BH,pbh ;正常属性显示 INT 10HENDM宏定义分为带参宏定义与无参宏定义。宏定义的功能旨在减少代码量和提高程序的结构化程度。一个定义好的宏可以在程序

    11、中被多次调用,从而增加了程序员和程序本身的效率。其中,无参宏定义的格式为:宏名 MACRO 宏体 ENDM带参宏定义的格式为:宏名 MACRO 形参1,形参2 宏体 ENDM它们的调用格式为:宏名 实参清屏宏为一个带有五个参数的带参宏。它的功能是将屏幕中一定区域的内容清楚,为接下的显示提供屏幕空间。要想进行显示操作就要了解BIOS(INT 10H)调用。清屏宏中用到了六号功能调用:6号功能:初始窗口或向上滚动入口参数:AH=6,AL=上滚行数(AL=0时,整个屏幕为空白) CX=上滚窗口左上角的行、列号 DX=上滚窗口右下角的行、列号 BH=空白行的属性出口参数:无在清屏宏的五个参数中,pch

    12、和pcl的值分别赋给CH和CL寄存器,这样所要清屏区域的左上角的坐标就设置好了。同样,将pdh和pdl的值赋给DH和DL寄存器,设置好右下角的坐标。BH寄存器取得pbh的值设置空白行的属性。最后INT 10h,调用BIOS显示设置实现清屏功能。三 详细设计1. 主程序流程图 如图3.1:图3.1 主程序流程图t图2. 源程序代码源代码:DATA SEGMENTINFO1 DB 0DH,0AH,INPUT 1,2,OR q:(1:bird,2:car,q:exit) $BUFA DB 200 DB ? DB 200 DUP(0)BUFB DB 200 DUP(?)BIRD DB 76H,10,0

    13、,0 ;小鸟的字符图形表 DB 0C4H,07,0,1 DB 76H,10,-2,2 DB 0C4H,07,0,1 DB 76H,10,-2,2 DB 0C4H,07,0,1 DB 76H,10,-2,2 DB 0C4H,07,0,1 DB 76H,10,2,-2 DB 0C4H,07,0,1 DB 76H,10,2,-2 DB 0C4H,07,0,1 DB 76H,10,2,-2 DB 0C4H,07,0,1CAR DB 7 ;小汽车的字符图形表 DB 52H,7,0,0 DB 0B1H,7,0,1 DB 0DBH,7,0,1 DB 0DBH,7,0,1 DB 4FH,7,1,0 DB 4F

    14、H,7,0,-3 DB 2,7,-2,1 CHAR_CNT DW ? POINTER DW ? LINE_ON DB ? COL_ON DB ?DATA ENDSSTACK SEGMENT stack DB 200 DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKstart:mov ax,data mov ds,ax mov ah,0 ;设置显示方式为320*200彩色图形方式 mov al,4 int 10h lea dx,info1 ;在显示器上显示字符串提示信息 mov ah,9 int 21h mov ah,0 ;

    15、从键盘读取字符到AL寄存器 int 16h CMP AL,31H ;比较AL是否等于1 JNE A CALL XIAO A: CMP AL,32H ;比较AL是否等于2 JNE B CALL QICHE B: CMP AL,71H ;比较AL是否等于q JNE START MOV AH,4CH ;终止当前程序并返回调用程序 INT 21HCLEAR MACRO pch,pcl,pdh,pdl,pbh ;清屏宏定义 MOV AH,0 MOV AL,4 INT 10H MOV AH,6 ;调用6号功能 MOV AL,0 ;设置整个屏幕为空白 MOV CH,pch MOV CL,pcl ;窗口左上角

    16、(0行,0列) MOV DH,pdh MOV DL,pdl ;窗口右下角(24行,79列) MOV BH,pbh ;正常属性显示 INT 10HENDMxiao proc ;小鸟子程序 PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV AH,0 MOV AL,4 INT 10H MOV AH,0BH ;设置背景色 MOV BH,0 MOV BL,1 INT 10H MOV AH,0BH ;设置彩色组 MOV BH,1 MOV BL,1 INT 10H CLEAR 0,0,24,79,7 MOV AH,0FH ;读当前显示状态 INT 10H

    17、MOV DH,10 MOV DL,0BEGIN: MOV SI,2 MOV CX,1 LEA DI,BIRD ;DI指向小鸟字符表的首字母DISP: CMP DL,80 JAE exit1 MOV AH,2 ;设置光标位置 INT 10H MOV AH,9 ;显示小鸟字符图形 MOV AL,DI MOV BL,DI+1 INT 10H CALL DLY ;延时 MOV AH,9 MOV AL, MOV BL,04 INT 10H INC DL ADD DI,2 DEC SI JNZ DISP JMP BEGINexit1: RETxiao endpDLY PROC NEAR ;延时子程序 PU

    18、SH CX PUSH DX MOV DX,10000DL1: MOV CX,6801DL2: LOOP DL2 DEC DX JNZ DL1 POP DX POP CX RETDLY ENDPQICHE PROC near ;汽车子程序 PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,0 MOV AL,4 INT 10H MOV AH,0BH ;设置彩色组颜色为绿、红、黄 MOV BH,01 MOV BL,00 INT 10H CLEAR 0,0,24,79,7 ;清屏宏调用 LEA DI,CAR ;DI指向字符图形表 MOV DH,5 ;从第5行5列位置开始显示

    19、汽车 MOV DL,0 CALL MOVE_SHAPE RETQICHE ENDPMOVE_SHAPE PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI MOV AH,0FH ;取当前显示方式 INT 10H SUB CH,CH MOV CL,DI ;CL放字符个数 INC DI ;DI指向字符图形表中的第一个字符 MOV CHAR_CNT,CX MOV POINTER,DI MOV LINE_ON,DH MOV COL_ON,DLPLOT_NEXT: ADD DH,DI+2 ;改变行列坐标 ADD DL,DI+3 CMP DL,80 ;出屏否

    20、? JB MOV_CRSR Pop DI Pop DX Pop CX Pop BX Pop AX jmp exit2MOV_CRSR: MOV AH,2 INT 10H MOV AL,DI ;取字符值 MOV BL,DI+1 ;取字符属性 PUSH CX MOV CX,1 MOV AH,09 ;显示字符 INT 10H POP CX ADD DI,4 ;DI指向下一个字符 LOOP PLOT_NEXT CALL DLY CALL ERASE JMP SHORT PLOT_NEXTexit2: ret MOVE_SHAPE ENDPERASE PROC NEAR MOV CX,CHAR_CNT

    21、MOV DI,POINTER MOV DH,LINE_ON MOV DL,COL_ONERASE_NEXT: ADD DH,DI+2;修正光标的行坐标 ADD DL,DI+3;修正光标的列坐标 MOV AH,2 INT 10H;设置光标位置 MOV AL,DI;以黑色的相同字符覆盖原有的图案实现擦除图案的功能 MOV BL,0;设置字符属性为0,黑色 PUSH CX MOV CX,1;设置显示字符次数为1 MOV AH,9 INT 10H;9号调用,显示黑色字符,擦除字符 POP CXADD DI,4;指向下一个要用来擦除的字符 LOOP ERASE_NEXTLOOP ERASE_NEXT M

    22、OV CX,CHAR_CNT MOV DI,POINTER MOV DH,LINE_ON INC COL_ON MOV DL,COL_ON RETERASE ENDPCODE ENDS END start运行可执行程序CAR.exe,选择1,小鸟飞过;选择2,汽车开过;选择q,退出。四 程序的调试与运行结果说明1. 程序调试如下 如图4.1:图4.1 调试图2. 程序运行首先进入用户选择界面,如图4.2:图4.2 选择界面3. 选择“1”观看小鸟动画,如图4.3:图4.3 小鸟动画图 4. 选择“2”观看汽车动画,如图4.4:图4.4 小车动画图5. 选择“q”退出程序,如图4.5:图4.5

    23、退出程序五 课程设计总结5.1设计的特点、不足在动画程序中,XOR操作提供了一种连续显示图形和擦除图形的方法,XOR方法的优点是简单,快速,而且当多个显示物体在同一屏幕位置上重叠时特别有用。XOR方法的缺点是显示物体的颜色有时要受到背景色的影响,但在动画显示中,有时它反而会产生一种很有趣的效果。计算机动画的显示操作和擦除操作是在一定速率下进行的,理想的重画速率应不小于每秒24幅图像,每秒15幅图像是动画显示的临界速率,小于这个临界速率,画面就会产生抖动现象。5.2收获与体会在这次的课程设计中,通过实践操作,加深了对汇编语言的了解,增强了汇编的使用能力,有了整体的了解和把握。汇编语言虽然是门低级

    24、语言,解决问题的难度有限,但是它的与计算机硬件的紧密关系使的它有着独特的优点。汇编语言程序设计虽然是一门低级语言的程序设计,但是它的学习和我们以往所学习的高级语言程序设计又有相通之处:算法是程序设计的灵魂,而计算机的硬件条件又决定了程序设计的环境。因此在实践程序设计的过程中,要坚持软件与硬件相结合的原则,多探究计算机的内部构造及执行和相应程序的原理。 课程设计是个小工程,需要从多方面考虑用户的要求,即完善功能又要用户使用起来比较方便,当然也要考虑时间和效率。参考文献【1】沈美明,IBM-PC汇编语言程序设计清华大学出版 【2】魏长华,宏汇编语言程序设计华中师范大学出版社 【3】王元珍,IBM-PC宏汇编语言程序设计华中理工大学出版社 【4】张怀莲,宏汇编语言程序设计 张怀莲 电子工业出版社汇编语言课程设计成绩评定答辩质疑记录指导老师评语 综合评定成绩:指导老师签名: 年 月 日忽略此处. 17


    注意事项

    本文(汇编语言课程设计论文动画程序设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922