汽车小鸟动画汇编程序开发课程设计(可编辑).doc

汽车小鸟动画汇编程序开发课程设计(可编辑).doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汽车小鸟动画汇编程序开发课程设计(可编辑)

汽车小鸟动画汇编程序开发课程设计 一 概述 1.1 课程设计题目 汽车小鸟动画汇编程序开发 1.2 课程设计目的 熟练掌握汇编语言程序的设计、调试方法,熟悉字符图形的显示原理和动画程序的开发。 1.3 课程设计要求 要求完成一个在屏幕上显示一个开动的小车或者移动的小鸟。 小组各成员应分工明确,通过查阅相关资料和请教老师、同学,认真完成各自任务。能采用结构化、模块化程序设计方法,写出相应的源程序代码。所设计的系统原则上要能够运行无误,结果准确。最后经验收合格后,按要求写出课程设计报告,并于设计结束后1周内提交。 1.4 汽车小鸟程序工作原理 动画显示的基础: 设置光标的位置。(利用BIOS中断调用) 在屏幕上显示图形(单字符或多字符图形, 利用BIOS中断调用) 延迟一个时间周期,这样图形更清晰 清除图形,(在原位置显示空格字符或黑色字符来实现,空字符的ASCII码为0) 改变图形的行列坐标 返回第二步,重复以上过程。 二 总体方案设计 2.1 主程序设计思想: 此动画程序要求结构化的显示两个动画效果:小鸟飞过和小车开过。要 能多次执行以上两种动画并有退出选项。则我们可以设计三个选项以供用户选择:1-小鸟、2-小车和q-退出程序。每个过程 都有一个独立的子程序来完成,在显示小车小鸟时要设置延迟一个时间周期,这样图形更清晰。动画的原理实质上是在屏幕上连续的间隔较小的地方显示相同的图案。由于人眼具有视觉暂留的特性,我们就会看到“运动”的画面。 2.2 小鸟图案设计思想: 小鸟图形是由小写字母v来模拟的,其ASCII码值为76H。让该字符显示在屏幕的左边,即第0列第8行,然后移动到屏幕的最后一列,即第79列第8行。 如小鸟图形字符表 BIRDDB 76H,10 ;字符V的ASCII码,及字符属性值为10 2.3 汽车图案设计思想: 汽车图形由7个文本字符组成,从左到右,车体是由字母R(ASCII码为52H),1/2阴影符(ASCII码为B1H),和两个实心方块(ASCII码为DBH)组成,两个车轮是字母O(ASCII码为4FH),和笑脸符号(ASCII码为02H),以上七个文本字符都是以正常属性显示。 开始显示车体,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,0 DB 0B1H,7,0,1;阴影符的ASCII码,字符属性值为7,相对位移量为0,1 DB 0DBH,7,0,1;实心方块的ASCII码,字符属性值为7,相对位移量为0,1 DB 0DBH,7,0,1;实心方块的ASCII码,字符属性值为7,相对位移量为0,1 DB 4FH,7,1,0;大写字母O的ASCII码,字符属性值为7,相对位移量为1,0 DB 4FH,7,0,-3;大写字母O的ASCII码,字符属性值为7,相对位移量为0,-3 DB 02H,7,-2,1 2.4 我的任务模块: 其中主要对汽车子程序进行了设计和编码,下面将对汽车子进行简要说明。 汽车程序: QICHE? 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列位置开始显示汽车? MOV DL,0? CALL MOVE_SHAPE? RET QICHE? ENDP MOVE_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指向字符图形表中的

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档