汇编语言实现动态图形.doc
文本预览下载声明
PAGE \* MERGEFORMAT - 7 -
华 北 科 技 学 院
课程设计说明书
课程名称: 汇编语言
设计题目: 动态图形设计
设计时间: 6/20/ 2010 至 7/1/2010
指导教师:_ _ 杜杏箐
评 语:________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:__ _ 评阅教师:____
一、课程设计目的
使用所学过的汇编语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。
二、课程设计要求
1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。
2.遵循模块化、结构化的程序设计方法。
3. 要求程序必须正确。
4. 程序简明易懂,多运用输入输出提示,出错信息及必要的注释。
5. 要求程序结构合理,语句使用得当。
6. 适当追求编程技巧和程序运行效率。
三、课程设计题目:
动态图形设计
要求:小车在公路上行驶,从屏幕左侧驶向右侧。在到达屏幕右侧 ,公路下降一段距离并改变颜色,然后小车继续由左向右行驶驶。当下降到屏幕底部时,又返回到屏幕顶部重复上述过程,直到有键按下。公路和小车的颜色不样,要用到INT 10H功能。
四、课题分析
汇编动态图形设计没怎么学,书上只是提供它的原理,生疏无法理解,从图书馆借书看到一个例程,因此问题迎刃而解。
具体设计有以下几个步聚:
1.小车是如何用汇编语言设计出来的?字符组合
2. 如何让它动起来?设计延迟程序,使小车的现实出现时间间隔,改变小车的显示列数,出现向左或向右的动态效果
3.公路如何和小车一起显示?公路也用字符的形式显示,调用时不用加延迟。
4.小车在公路上行驶,从屏幕左侧驶向右侧。在到达屏幕右侧 ,公路下降一段距离并改变颜色,然后小车继续由左向右行驶驶。当下降到屏幕底部时,又返回到屏幕顶部重复上述过程?这几个循环的过程只需要设计循环程序,具体设计如流程图。
5.有按键时结束程序?用到读键盘状态,此处要用到“int 16H”的01号功能
五、流程图
显示小车的提示语
置小车显
示的列,行
调用 MOVECAR程序
置显示格式,清除之前画的小车
行数减1,
判断行是否显示到底
是
否
主程序:
设置显示方式,清屏
调用路的
子程序
置小车工作模式
MODE = 1
调用画小车子程序,延时子程序
判断显示列
是否到达边
缘
结束
置MODE = 0
调用画小车子程序
显示列加1
小车程序:
六、程序源代码
SETMODE MACRO MODE1
MOV AH,0
MOV AL,MODE1
INT 10H
ENDM
DATAS SEGMENT
CAR DW 8 ;小车由6个字符组成
DB 0,1,0DBH,9 ;第一,二字节是字符坐标位移量
DB 0,1,0DBH,7,0,1,0DBH,9 ;三四字节是字符与字符属性
DB 1,0,4FH,8,0,-2,4FH,8
DB -2,2,3,13,0,-2,3,10
DB 0,1,3,4
DRAWLU DB 0DBH ;画路的字符
ROW DB ? ;显示小车的行坐标
COLUMN DB ? ;显示小车的列坐标
MODE DB ? ;控制画小车的变量
显示全部