赵亮_汽车小鸟只改stack

上传人:飞*** 文档编号:7798609 上传时间:2017-09-23 格式:DOC 页数:17 大小:383.50KB
返回 下载 相关 举报
赵亮_汽车小鸟只改stack_第1页
第1页 / 共17页
赵亮_汽车小鸟只改stack_第2页
第2页 / 共17页
赵亮_汽车小鸟只改stack_第3页
第3页 / 共17页
赵亮_汽车小鸟只改stack_第4页
第4页 / 共17页
赵亮_汽车小鸟只改stack_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《赵亮_汽车小鸟只改stack》由会员分享,可在线阅读,更多相关《赵亮_汽车小鸟只改stack(17页珍藏版)》请在金锄头文库上搜索。

1、 郑州航空工业管理学院微机原理课程设计说明书2010 级 电气工程及其自动化 专业 1006971 班级题 目 汽车小鸟动画 姓 名 赵 亮 学 号 100697138 指导教师 张 臻 职 称 讲 师 二 0 一 0 年 十二 月 三十 日 目 录第一章 微机应用系统课程设计的目的意义1.1 设计目的1.2 课程在教学计划中的地位和作用第二章 摘要简介第三章 设计方案及原理介绍3.1 汽车小鸟动画的基本原理3.2 设计方案3.3 软件设计第四章 程序设计4.1 运用的子程序4.2 小鸟动画程序设计第五章 调试与运行第六章 参考文献第七章 感想体会第一章 微机应用系统课程设计的目的意义1.1

2、设计目的通过课程设计进一步锻炼同学们在微型计算机应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。1.2 课程在教学计划中的地位和作用微机应用系统设计与综合实验课程是自动化专业本科生必修的一门技术基础课程。通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。为了使我们微机应用课程设计目标更明确,要求更具体,学生收获更大,我们特编写课程设计任务书,学生可根据本人的爱好任选其中一个课题,要求独立完成课题,写出课程设计说明书,设计出电路原理图,说明

3、工作原理,画出电路板图,编写程序及程序流程图。希望同学认真阅读本任务书,认真查阅资料与上机调试,圆满完成课程设计。第二章 摘要简介随着计算机的快速发展,用汇编语言来实现动画更简单,直接和便捷,它的目标代码简短,占用内存较少,执行速度较快,是高效的程序设计语言。本文主要对汽车小鸟动画进行程序设计,并通过 masm 软件进行运行,通过输入不同的数字对程序的控制,采用段内调用子程序的方法来实现,使用了堆栈技术和中断技术,来实现按下数字 1,小鸟飞过,按 2,汽车开过,按 3,退出程序,同时对汇编语言的基本原理解析。本程序可在 windows 2000,windows xp 上运行。所需要的工具软件为

4、MASM2.0 及以上版本,先生成.asm 文件,再生成.exe 的文件,然后运行。关键词:汽车小鸟动画,masm 软件,中断技术,堆栈,子程序调用第三章 设计方案及原理介绍一、汽车小鸟动画的基本原理此程序主要是利用 BIOS 功能调用的 10H 中断类型实现的。先利用其功能设置显示方式为 320*200 彩色图形方式,由于程序中没有做好的汽车小鸟图形,需要先编写小鸟和汽车的字符图形的子程序,采用段内调用子程序的方法来实现,使用了堆栈技术。设计两个画面,按 1,小鸟飞过,按 2,汽车开过,按 3,退出程序。二、设计方案根据基本原理设计思路拟定出设计方案。先编写好小鸟和汽车的图形显示的子程序,以

5、供之后段内调用子程序。之后再编写小鸟飞过的子程序和汽车开过的子程序,利用转移指令,调用子程序以及中断程序和堆栈等功能来实现设计的功能。三、软件设计3.1 汽车小鸟动画总体结构图开始设计为 320*200彩色图形清屏提示语设计背景色设置彩色组设置光标位置显示小鸟字符图形延时设置彩色颜色为绿红黄设置汽车开始显示位显示汽车字符图形出屏延时出屏321从键盘读取字符1 或 2 或 3结束程序流程图如下图所示从键盘读取 1 或 2 或 3延时按键 2,实行汽车程序从第 5 行第 5 列位置开始显示汽车设计为 320*200 彩色图形清屏结束第四章 程序设计4.1 编写汽车小鸟图形的子程序BIRD DB 7

6、6H,10,0,0 ;小鸟的字符图形表DB 0C4H,07,0,1DB 76H,10,-2,2DB 0C4H,07,0,1DB 76H,10,-2,2DB 0C4H,07,0,1DB 76H,10,-2,2DB 0C4H,07,0,1DB 76H,10,2,-2DB 0C4H,07,0,1DB 76H,10,2,-2DB 0C4H,07,0,1DB 76H,10,2,-2DB 0C4H,07,0,1CAR DB 7 ;汽车的字符图形表DB 52H,7,0,0DB 0B1H,7,0,1DB 0DBH,7,0,1DB 0DBH,7,0,1DB 4FH,7,1,0DB 4FH,7,0,-3DB 2,

7、7,-2,1编写小鸟飞过和汽车开过的子程序(1)小鸟飞过的子程序:DISP: CMP DL,80JAE exit1MOV AH,2 ;设置光标位置INT 10HMOV AH,9 ;显示小鸟字符图形MOV AL,DIMOV BL,DI+1INT 10HCALL DLY ;延时MOV AH,9MOV AL, MOV BL,04INT 10HINC DLADD DI,2DEC SI JNZ DISPJMP BEGINexit1: RET(2)汽车开过的子程序QICHE PROC near ;汽车子程序 PUSH AXPUSH BXPUSH CXPUSH DX MOV AH,0MOV AL,4INT

8、10HMOV AH,0BH ;设置彩色组颜色为绿、红、黄MOV BH,01MOV BL,00INT 10HCLEAR 0,0,24,79,7 ;清屏宏调用LEA DI,CAR ;DI 指向字符图形表MOV DH,5 ;从第 5 行 5 列位置开始显示汽车MOV DL,0CALL MOVE_SHAPERET4.2 汽车小鸟动画程序运行可执行程序 CAR.exe,选择 1,小鸟飞过;选择 2,汽车开过;选择 3,退出。DATA SEGMENTINFO1 DB 0DH,0AH,INPUT 1,2,OR 3:(1:bird,2:car,3:exit) $BUFA DB 200DB ?DB 200 DU

9、P(0)BUFB DB 200 DUP(?)BIRD DB 76H,10,0,0 ;小鸟的字符图形表DB 0C4H,07,0,1DB 76H,10,-2,2DB 0C4H,07,0,1DB 76H,10,-2,2DB 0C4H,07,0,1DB 76H,10,-2,2DB 0C4H,07,0,1DB 76H,10,2,-2DB 0C4H,07,0,1 DB 76H,10,2,-2DB 0C4H,07,0,1DB 76H,10,2,-2DB 0C4H,07,0,1CAR DB 7 ;小汽车的字符图形表DB 52H,7,0,0DB 0B1H,7,0,1DB 0DBH,7,0,1DB 0DBH,7,

10、0,1DB 4FH,7,1,0DB 4FH,7,0,-3DB 2,7,-2,1CHAR_CNT DW ?POINTER DW ?LINE_ON DB ?COL_ON DB ?DATA ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AH,0 ;设置显示方式为 320*200 彩色图形方式MOV AL,4INT 10HLEA DX,INFO1 ;在显示器上显示字符串提示信息MOV AH,9INT 21HMO

11、V AH,0 ;从键盘读取字符到 AL 寄存器INT 16HCMP AL,31H ;比较 AL 是否等于 1JNE ACALL XIAOA: CMP AL,32H ;比较 AL 是否等于 2JNE BCALL QICHEB: CMP AL,33H ;比较 AL 是否等于 3JNE STARTMOV AH,4CH ;终止当前程序并返回调用程序INT 21HCLEAR MACRO PCH,PCL,PDH,PDL,PBH ;清屏宏定义MOV AH,0 MOV AL,4INT 10HMOV AH,6 ;调用 6 号功能MOV AL,0 ;设置整个屏幕为空白MOV CH,PCHMOV CL,PCL ;窗

12、口左上角(0 行,0 列)MOV DH,PDHMOV DL,PDL ;窗口右下角(24 行,79 列)MOV BH,PBH ;正常属性显示INT 10HENDMXIAO PROC ;小鸟子程序PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV AH,0MOV AL,4INT 10HMOV AH,0BH ;设置背景色MOV BH,0MOV BL,1INT 10HMOV AH,0BH ;设置彩色组MOV BH,1MOV BL,1INT 10HCLEAR 0,0,24,79,7MOV AH,0FH ;读当前显示状态INT 10HMOV DH,10MOV DL,0BEGIN: MOV SI,2MOV CX,1LEA DI,BIRD ;DI 指向小鸟字符表的首字母DISP: CMP DL,80JAE EXIT1MOV AH,2 ;设置光标位置INT 10HMOV AH,9 ;显示小鸟字符图形MOV AL,DIMOV BL,DI+1INT 10H CALL DLY ;延时MOV AH,9MOV AL, MOV BL,04INT 10HINC DLADD DI,2DEC SIJNZ DISPJ

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号