微机原理课程设计说明书Word格式.docx
- 文档编号:22509231
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:340.65KB
微机原理课程设计说明书Word格式.docx
《微机原理课程设计说明书Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计说明书Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
BIRD
DB76H,10,0,0
;
小鸟的字符图形表
DB0C4H,07,0,1
DB76H,10,-2,2
DB76H,10,2,-2
CAR
DB7
汽车的字符图形表
DB52H,7,0,0
DB0B1H,7,0,1
DB0DBH,7,0,1
DB4FH,7,1,0
DB4FH,7,0,-3
DB2,7,-2,1
3.3编写小鸟飞过和汽车开过的子程序
(1)小鸟飞过的子程序:
DISP:
CMPDL,80
JAEexit1
MOVAH,2
设置光标位置
INT10H
MOVAH,9
显示小鸟字符图形
MOVAL,[DI]
MOVBL,[DI+1]
CALLDLY
延时
MOVAH,9
MOVAL,'
'
MOVBL,04
INCDL
ADDDI,2
DECSI
JNZDISP
JMPBEGIN
exit1:
RET
(2)汽车开过的子程序
QICHE
PROCnear
汽车子程序
PUSHAX
PUSHBX
PUSHCX
PUSHDX
MOVAH,0
MOVAL,4
MOVAH,0BH
设置彩色组颜色为绿、红、黄
MOVBH,01
MOVBL,00
CLEAR0,0,24,79,7
清屏宏调用
LEADI,CAR
DI指向字符图形表
MOVDH,5
从第5行5列位置开始显示汽车
MOVDL,0
CALLMOVE_SHAPE
3.4汽车小鸟动画程序
运行可执行程序CAR.exe,选择1,小鸟飞过;
选择2,汽车开过;
选择3,退出。
DATA
SEGMENT
INFO1
DB0DH,0AH,'
INPUT1,2,OR3:
(1:
bird,2:
car,3:
exit)$'
BUFA
DB200
DB?
DB200DUP(0)
BUFB
DB200DUP(?
)
小汽车的字符图形表
CHAR_CNTDW?
POINTERDW?
LINE_ONDB?
COL_ONDB?
ENDS
STACK
SEGMENTstack
CODE
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
start:
movax,data
movds,ax
movah,0
设置显示方式为320*200彩色图形方式
moval,4
int10h
leadx,info1
在显示器上显示字符串提示信息
movah,9
int21h
从键盘读取字符到AL寄存器
int16h
CMPAL,31H
比较AL是否等于1
JNE
A
CALLXIAO
A:
CMPAL,32H
比较AL是否等于2
B
CALLQICHE
B:
CMPAL,33H
比较AL是否等于3
JNESTART
MOVAH,4CH
终止当前程序并返回调用程序
INT21H
CLEAR
MACROpch,pcl,pdh,pdl,pbh;
清屏宏定义
MOVAH,6
调用6号功能
MOVAL,0
设置整个屏幕为空白
MOVCH,pch
MOVCL,pcl
窗口左上角(0行,0列)
MOVDH,pdh
MOVDL,pdl
窗口右下角(24行,79列)
MOVBH,pbh
正常属性显示
ENDM
xiao
proc
小鸟子程序
PUSH
DS
MOVAX,0
MOVAX,DATA
MOVDS,AX
设置背景色
MOVBH,0
MOVBL,1
设置彩色组
MOVBH,1
CLEAR0,0,24,79,7
MOVAH,0FH
读当前显示状态
MOVDH,10
BEGIN:
MOVSI,2
MOVCX,1
LEADI,BIRD
DI指向小鸟字符表的首字母
xiaoendp
DLYPROCNEAR
延时子程序
PUSHDX
MOV
DX,10000
DL1:
CX,6801
DL2:
LOOPDL2
DEC
DX
JNZ
DL1
POP
CX
DLY
ENDP
MOVE_SHAPEPROCNEAR
PUSHDI
取当前显示方式
SUBCH,CH
MOVCL,[DI]
CL放字符个数
INCDI
DI指向字符图形表中的第一个字符
MOVCHAR_CNT,CX
MOVPOINTER,DI
MOVLINE_ON,DH
MOVCOL_ON,DL
PLOT_NEXT:
ADDDH,[DI+2]
改变行列坐标
ADDDL,[DI+3]
CMPDL,80
出屏否?
JBMOV_CRSR
PopDI
PopDX
PopCX
PopBX
PopAX
jmpexit2
MOV_CRSR:
MOVAL,[DI]
取字符值
MOVBL,[DI+1]
取字符属性
MOVAH,09
显示字符
POPCX
ADDDI,4
DI指向下一个字符
LOOPPLOT_NEXT
CALLDLY
CALLERASE
JMPSHORTPLOT_NEXT
exit2:
ret
MOVE_SHAPEENDP
ERASE
PROCNEAR
MOVCX,CHAR_CNT
MOVDI,POINTER
MOVDH,LINE_ON
MOVDL,COL_ON
ERASE_NEXT:
ADDDH,[DI+2]
MOVAH,2
MOVBL,0
ADDDI,4
LOOPERASE_NEXT
INCCOL_ON
CODEENDS
ENDstart
调试与运行
1.打开MASM软件,对代码进行粘贴保存
2.运行程序
当按1时,小鸟飞过
当按2时,汽车开过
按3时,退出程序
四、结论
在调试程序时,要注意每一个小细节,如注释忘加分号,指令书写错误等问题,有时会运行不了,要仔细检查错误。
另外,由于动画为全屏显示,无法截图,只好照下来进行截图,图片可能会不太清晰。
通过改变指令,也可以改变汽车和小鸟开始的位置。
这次课程设计让我们巩固和加深了对微机原理与接口技术的理解,提高综合运用本课程所学知识的能力。
通过实际分析设计,调试程序,也掌握了微机原理与接口技术的基本规程和各个指令的使用。
参考文献:
1.钱晓捷主编:
《微机原理与接口技术》,第4版,机械工业出版社,2008年1月出版;
2.沈美明等编著:
《80X86汇编语言程序设计》,清华大学出版社,2001年9月出版;
3.杨素行等编著:
《微型计算机系统原理及应用》,第2版,清华大学出版社,2004年2月出版;
4.WWW.UT365.COM。
设计总结:
这次课程设计对我来说,确实是一项不简单的任务。
经过几天的努力,不断地翻书查资料,向老师同学请教,对汇编语言也有了进一步的认识和掌握,进一步理解了各个指令的功能,特别是转向指令和中断指令,也熟悉了子程序的定义和调用。
通过这次亲自动手认真做课程设计,我进一步熟悉了汇编语音的结构和使用方法,以前学习时不太懂的地方,有了更深刻的认识,基本达到了能读懂汇编语言理解其功能的水平。
这次课程设计也让我获得了宝贵的经验,为以后的毕业设计打下了良好的基础,培养了自己选用参考书,查阅文献资料的能力,提高独立思考,深入研究,分析问题解决问题的能力,知道了理论和实践相结合的重要性。
学习就是不断地发现问题解决问题的过程,在这期间我们会学会很多东西,要注意多动脑子勤思考,不懂得地方要向老师请教,争取能够明白。
指导教师评语:
课程设计成绩:
指导教师签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)