基于80X86汇编语言的动画图形设计_微机原理课程设计报告.doc

基于80X86汇编语言的动画图形设计_微机原理课程设计报告.doc

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于80X86汇编语言的动画图形设计 微机原理与接口技术 一、课题名称 基于80X86汇编语言的动画图形设计 二、设计任务书 课 程 设 计 任 务 书 1 课题名称:基于80X86汇编语言的动画图形设计 2 课程设计目的   通过本课程设计,初步掌握《微机原理及接口技术》这门课程课堂所学的理论知识具体运用到实践中去的基本方法。掌握利用BIOS实现微型计算机显示器和键盘接口程序设计的方法;掌握利用CPU汇编语言设计较大程序的一般方法;进一步加深对学习过程中的基本知识、基本理论、基本方法的理解;从而为今后从事微型计算机软硬件的设计、维护、调试和应用等打下良好的基础。 3内容简述 利用汇编语言设计一动画图形,具体内容由学生自己确定,原则上应为以下形式之一: ⑴图形按照一定规律自行运动且由键盘控制图形的起、停; ⑵键盘作为功能键,控制图形的过程运动和功能变化; ⑶交互式动画图形,既通过按下键盘上不同的按键后,能使图形按照不同的方向运动和静止。 5设计方案提示 ⑴利用DOS系统功能调用和BIOS的INT16H实现按键的识别。 ⑵利用BIOS的INT10H完成图形绘制。 ⑶CRT工作方式04H为:320×200(彩色); CRT工作方式10H为:640×350(16色); CRT工作方式12H为:640×480(16色)(推荐); 三、内容提要 摘要:本实验主要讲述了基于80X86汇编语言动画的设计。主要采用了两种BIOS调用:INT 10H(显示中断)和INT 16H(键盘中断)。在与CPU和其各寄存器的配合工作下,完成动画图形。 关键字:BIOS中断 子程序 宏调用 字符图形 Abstract: The present work describes the animation design based on 80X86 assembly language. It mainly uses two BIOS calls: INT 10H (show interrupts) and the INT 16H (keyboard interrupt). With the cooperating of CPU and its various registers, the animation graphics work can be completed. Keywords: BIOS interrupts; subroutine; macro; call; Character Graphics 四、目录 1、概述所作题目的意义、系统的主要功能、及使用方法; 2、硬件电路设计及描述; 3、软件设计流程及描述; 4、源程序代码(要有注释)。 六、课程设计体会 七、参考文献 八、谢词 九、附录 五、 1、概述所作题目的意义、系统的主要功能、及使用方法; 2、硬件电路设计及描述; 3、软件设计流程及描述; 开始 开始 AX清零,入栈 设置320*200彩色图形方式 清屏、宏调用CLEAR 显示提示信息 AL?键盘输入字符 结束 (AL)=’1’? (AL)=’2’ (AL)=’3’ 清屏CLEAR 调用小鸟子程序 清屏CLEAR 调用汽车子程序 Yy Ny Yy Ny Ny Yy 小鸟汽车动画 总程序流程图 开始 开始 将寄存器压栈 设置显示器显示方式 AL=3,80*25(彩色) 设置彩色组颜色为绿、红、黄 调用清屏宏 选择开始显示汽车的位置 5行0列 调用move_shape子程序 结束 汽车子程序 move_shap子程序 move_shap子程序 开始 将寄存器压栈 取当前显示方式 给变量赋值,di指向字符图形表中的第一个字符 行列坐标相对移动 显示汽车的字符CX=汽车的字符数 结束 CX=CX-1 出屏否? 将寄存器出栈 Yy Ny 调用dly子程序 使di指向汽车下一个字符 CX=0? Ny 调用erase子程序 Y 暂停和返回功能 dly子程序 dly子程序 开始 将cx、dx寄存器压栈 DX=1000 CX=6801 CX=CX-1 CX=0? Y N N DX=DX-1 DX=0? Y 将cx、dx寄存器出栈 结束 erase子程序 erase子程序 CX=汽车字符的个数; DX=汽车的相对坐标; di指向汽车字符 行列坐标相对移动 清除汽车的字符 CX=CX-1 CX初值为汽车字符数 使di指向汽车下一个字符 CX=0? 设置光标的位置 开始 Y N CX=汽车字符的个数; DH=汽车的行坐标; DL=DL+1汽车的列坐标加1; di指向汽车字符 结束 小鸟 小鸟子程序 开始 小鸟列坐标加1 设置显示器显示方式 AL=3,80*25(彩色) 设置彩色组颜色为绿、红、黄 调用清屏宏

文档评论(0)

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

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

1亿VIP精品文档

相关文档