网站大量收购独家精品文档,联系QQ:2885784924

学士学位论文—-汇编语言课程设计dos下屏保程序设计实现.doc

学士学位论文—-汇编语言课程设计dos下屏保程序设计实现.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

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

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

1亿VIP精品文档

相关文档