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