- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学士学位论文—-汇编语言课程设计dos下屏保程序设计实现
成绩
中国农业大学
课程设计报告
(2015-2016学年夏季学期)
设计题目: DOS下屏保程序设计实现
课程名称: 汇编语言课程设计
任课教师:
班 级: 计算机141
学 号:
姓 名:
目 录
一、 要求与需求分析 1
1. 题目重述: 1
2. 需求分析: 1
二、 程序设计分析: 1
1. 屏保绘制模块 1
1.1、 图形录入: 1
1.2、 动画绘制: 2
2. 非工作状态计时模块 2
2.1、 计时功能: 2
2.2、 判断是否处于工作状态 2
3. 检测键盘输入模块 3
4. 中断设置及内存驻留程序 3
三、 程序流程图 3
1. 装载程序: 3
2. 定时器中断处理程序: 4
3. 键盘中断处理程序: 4
4. 屏幕保护程序: 5
四、 核心模块功能介绍 5
1. 装载程序(INSTALL): 5
2. 更改后的计时器中断(FUNCTIMER): 5
3. 更改后的键盘中断(INT9): 6
4. 屏保程序(SCREENSAVER): 6
5. 屏保绘制模块(PRINT): 6
6. 贴图函数(ONEBITMAP/ZEROBITMAP): 6
7. 延时处理函数(ONEBITMAP/ZEROBITMAP): 6
8. 清屏宏(CLRSCREEN): 6
五、 程序运行步骤 6
六、 设计过程中遇到的主要技术难点及解决方案 7
1. 中断设置及驻留: 7
2. 工作状态的判断: 7
3. 动画的绘制: 7
4. 恢复原本工作状态: 7
七、 个人体会 7
八、 参考文献 8
九、 程序清单 8
DOS下屏幕保护程序的设计与实现
要求与需求分析
题目重述:
编写一个DOS下的屏幕保护程序(也可以是windows下的屏保)。该程序具有以下功能:在一段时间内(如1分钟)没有任何键键入时,程序自动进入屏保(一个图画一直在不断的移动显示,图案任意),直到按任意键结束。
需求分析:
在未启动屏幕保护程序的情况下,当长时间不使用电脑的时显示器屏幕的显示换面长时间不变,这将使屏幕发光器件疲劳、变色、甚至烧毁,最终使屏幕某个区域偏色或变暗。因此一个合格的屏幕保护程序应满足条件:
图案动态且在屏幕上的分布尽量均匀
当停止工作后一段时间内才进入屏保
一旦按键后结束屏幕保护程序的绘制并恢复之前工作的内容
程序设计分析:
针对上述对于需求的分析,可将目标程序分为三个功能模块,即:屏保绘制模块、非工作状态计时模块、检测键盘输入模块。同时为了各个模块正常工作,还需使用DOS功能设置中断及将各功能模块在内存中驻留。
屏保绘制模块
图形录入:
ROM BIOS显示例程支持多种文本方式和图形方式。在不同的显示方式下屏幕显示的像素分辨率、字符分辨率、颜色数等都不同。为更细致的展现动画细节,本程序调用INT10的0号子功能,选择320*200分别率图形16色显示模式;并基于此模式将要显示的像素图转化为相应的显存矩阵,每个像素点占用一个字节存储颜色及亮度信息,存储图片共占用27*35 Byte。在图形显示时调用INT10的5号子功能将图片置入显存的相应内存区间。
动画绘制:
本程序在绘制动画时考虑到动画的连贯性,使用了两个显存页。一个显存页作为显示页,另一个显存页作为后台页,绘制图像时仅仅对后台页执行像素操作,显示显存页。动画通过改变图案的绘制位置实现,当图案绘制触及屏幕边缘时改变绘图方向,且绘制图案鹿的方向与动画运动方向同向。动画绘制过程涉及以下变量作为参数:当前绘制页数(后台页)RECENTPAGE、上一次绘制页数(显示页)LASTPAGE、当前绘图的顶点坐标CURSORX, CURSORY;上一次的绘制坐标LASTX,LASTY;横向绘图方向DIRECX;纵向绘图方向DIRECY;常量的水平绘制速度和垂直绘制速度VX,VY。下面将详细介绍动画绘制的过程。
通过交换RECENTPAGE与LASTPAGE的值,完成对后台页与显示页的页码的交换;
根据DIRECX判断绘图方向,选择调用贴图函数ONEBITMAP或ZEROBITMAP在后台页上以CURSORX, CURSORY为顶点绘制图案。其中ONEBITMAP为每列从左到右向显存录入像素,ZEROBITMAP为每列从右到左向显存录入数据;
显示绘制完成的后台页并将调用宏CLRSCREEN把原显示页清屏;
保存绘制坐标CURSORX, CURSORY到LASTX,LASTY,判断图片是否绘制到屏幕边缘。如是,改变绘图方向DIRECX、DIRECY;
计算下次绘图的坐标,根据方向选择顶点坐标加绘制速度V
您可能关注的文档
- 学士学位论文—-海口市琼山区妇幼保健院现状评估报告.doc
- 学士学位论文—-海口市琼山区妇幼保健院现状评估报告副本公示.doc
- 学士学位论文—-海绵公园顶管施工及道路翻新、河道整治、排水工程施工组织设计.doc
- 学士学位论文—-海南棋子湾高尔夫球场施工组织设计终.doc
- 学士学位论文—-海藻酸钠淀粉保鲜膜的制备及其性能研究高分子材料与工程本科.doc
- 学士学位论文—-海藻酸钠羧甲基纤维素钠保鲜膜的制备及其性能研究高分子材料与工程本科.doc
- 学士学位论文—-邯钢260t锅炉项目1#脱硫综合楼工程施工组织设计工程管理.doc
- 学士学位论文—-行车闭塞的使用与分析论文.doc
- 学士学位论文—-焊接架传送装置及控制系统.doc
- 学士学位论文—-行政管理论微博对公民参与政治的影响.doc
文档评论(0)