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

上传人:s9****2 文档编号:464466967 上传时间:2023-10-18 格式:DOC 页数:18 大小:952.52KB
返回 下载 相关 举报
汇编语言课程设计论文动画程序设计_第1页
第1页 / 共18页
汇编语言课程设计论文动画程序设计_第2页
第2页 / 共18页
汇编语言课程设计论文动画程序设计_第3页
第3页 / 共18页
汇编语言课程设计论文动画程序设计_第4页
第4页 / 共18页
汇编语言课程设计论文动画程序设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《汇编语言课程设计论文动画程序设计》由会员分享,可在线阅读,更多相关《汇编语言课程设计论文动画程序设计(18页珍藏版)》请在金锄头文库上搜索。

1、学 号: 课 程 设 计题 目动画程序设计教 学 院计算机学院专 业计算机科学与技术班 级姓 名指导教师2008年1月18日目 录一 概述2二 总体方案设计3三 详细设计7四 程序的调试与运行结果说明13五 课程设计总结15参考文献16一 概述1. 课程设计的目的对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。培养学生综合运用所

2、学知识独立完成汇编程序课题的能力。使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。2. 课程设计的要求动画程序设计要求完成一个在显示器上显示一个图形动画设计,即当程序运行时可看到移动的图形或图像。(比如:在出现的提示信息中输入某一个字母,即可

3、让一个图形或图像出现在在屏幕的左边,然后移动到屏幕的右边。)此程序涉及到宏和I/O中断的调用,要求学生掌握对宏的定义和使用,使用汇编语言对I/O中断的使用。小组成员分工协作完成。要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。学生查阅相关资料,自学具体课题中涉及到的新知识,能够按照老师的要求对待设计的系统的程序流程图进行正确地绘制。学生在老师的指导下,能够写出相应的源程序代码,采用结构化、模块化程序设计方法,功能要完善,界面要美观。所设计的系统原则上要能够运行无误,结果准确。 在条件允许的情况下,学生能够最终将系统所要实现的功能演示出来。最后经验收合格后,按要求写出课程设计报告

4、,并于设计结束后1周内提交。总体设计应配合软件总体模块结构图来说明软件应具有的功能。详细设计应用传统或N-S流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。二 总体方案设计1. 主程序设计思想:此动画程序要求结构化的显示两个动画效果:小鸟飞过和小车开过。程序要求能多次执行以上两种动画并有退出选项。则我们可以设计三个选项以供用户选择:1-小鸟、2-小车和q-退出程序。三个选项分别可以用三个过程实现其功能。动画的原理实质上是在屏幕上连续的间隔较小的地方显示相同的图案。由于人眼具有视觉暂留的特性,我们就会看到“运动”的画面。2. 小鸟及汽车图案设计思想:小鸟图形

5、是由小写字母v来模拟的,其ASCII码值为76H;小鸟飞过的动画效果,实质上是在不同的位置上显示字母v,从而完成视觉上的动画效果。(设置光标位置,写字母,延迟,重新设置光标位置,写空格,延迟,重复下去。)汽车图形由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)图

6、2.2 汽车字符表开始显示车体,R是显示的第一个字符,其相对位移量定为(0,0),第二个阴影符号在R的右边一列,所以相对R的位移量为(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、符属性值为7,相对位移量为0,1DB 0DBH,7,0,1 ;实心方块的ASCII码,及字符属性值为7,相对位移量为0,1DB 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:CO

8、DE, DS:DATA, SS:STACK START: MOV AX,DATA MOV DS,AX MOV AH,0MOV 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 ; 相等则调用qi

9、che子程序 B: CMP AL,q ;比较AL是否等于q JNE START ; 不相等则转移到START,重新输入字符 MOV AH,4CH ; 相等则终止当前程序。 INT 21H主程序主要实现与用户的交互,首先程序会提示用户想要进行什么操作。是显示小鸟动画、汽车动画还是退出。这里对应的给用户提供的选项是“1”、“2”和“q”。当用户输入他们的选项之后,主程序要判断用户的输入调用相应的功能模块来满足用户的要求。我们假设用户输入字符为X,那么首先我们将X与“1”比较。如果相同则程序调用小鸟动画模块为用户显示动画。若不为“1”则要继续与“2”想比较。相等则调用汽车动画,不等则继续与“q”想比

10、较。相等则正常退出,不等则说明用户输入非法字符主程序返回到选择界面用户可以继续选择。特别说明:汇编语言的选择结构不同于C语言的选择结构,程序设计过程中要特别小心。避免将造成潜在的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

11、10HENDM宏定义分为带参宏定义与无参宏定义。宏定义的功能旨在减少代码量和提高程序的结构化程度。一个定义好的宏可以在程序中被多次调用,从而增加了程序员和程序本身的效率。其中,无参宏定义的格式为:宏名 MACRO 宏体 ENDM带参宏定义的格式为:宏名 MACRO 形参1,形参2 宏体 ENDM它们的调用格式为:宏名 实参清屏宏为一个带有五个参数的带参宏。它的功能是将屏幕中一定区域的内容清楚,为接下的显示提供屏幕空间。要想进行显示操作就要了解BIOS(INT 10H)调用。清屏宏中用到了六号功能调用:6号功能:初始窗口或向上滚动入口参数:AH=6,AL=上滚行数(AL=0时,整个屏幕为空白)

12、CX=上滚窗口左上角的行、列号 DX=上滚窗口右下角的行、列号 BH=空白行的属性出口参数:无在清屏宏的五个参数中,pch和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,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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号