微机原理实习报告.docx
- 文档编号:26062828
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:12
- 大小:98.01KB
微机原理实习报告.docx
《微机原理实习报告.docx》由会员分享,可在线阅读,更多相关《微机原理实习报告.docx(12页珍藏版)》请在冰豆网上搜索。
微机原理实习报告
微机原理与接口技术
课程设计报告
吃豆子程序设计
班级:
****
姓名:
***
学号:
****
指导老师:
****
2012年6月15日
吃豆子程序设计
[摘要]本微机课程设计一种简便的编写“吃豆子”汇编程序。
在屏幕上显示多行“豆子”(用“.”表示),“豆子”随机分布,用一个“嘴巴”(用字符“C”表示)吃“豆子”,程序运行时,单击上下左右键,“嘴巴”开始逐个“吃豆子”,一直到“豆子”被吃完停止或者单击P键暂停;按Q键退出程序。
通过设计该课程设计熟练掌握流程图的绘制,熟悉汇编语言特别是相关中断的调用以及掌握调试程序等相关知识。
其中源程序主要分为主程序、延时子程序、暂停子程序、方向键子程序等主要部分。
[关键词]吃豆子汇编微机原理课程设计
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。
高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。
在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。
现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。
汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。
一、设计内容
设计要求:
在屏幕上显示多行“豆子”(用“.”表示),用一个“嘴巴”(用字符“C”表示),程序运行时,单击空格,“嘴巴”开始从左到右逐行或者在键盘控制下开始“吃豆子”,一直到“豆子”被吃完停止或者单击空格暂停。
主要功能:
在屏幕上显示10行60列的豆子(用“.”表示),用一个嘴巴(用字符“C”表示),程序运行时,单击空格键准备吃豆,按下方向键即向该方向吃豆子,单击空格键暂停,按下Q键退出程序。
二、设计原理及方案
1、显示豆子
在程序数据段定义一段再调用DOS中断显示豆子;
2、显示嘴吃豆子
在光标所在位置显示C嘴,在将DL(DH)加一(减一),再将光标位置显示成空格,表示成豆子被“吃”了;
3、单击方向键开始吃豆子
取光标键的扫描码,判断输入方向然后分别向不同方向吃豆子,即调用2;
4、单击空格暂停
读取键盘的是否有P输入,有则然后执行暂停子程序;
5、单击Q退出程序
读取键盘的是否有Q输入,有则退出程序;
6、方案结构图
三、汇编源程序代码
DATASEGMENT
STR1DB'pressspacekeytobegain$';定义显示数据段
STR2DB'pressdirectionkeytostart$'
STR3DB'pressQtoquit$'
STR4DB'............................................................$';显示豆子
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAH,0
MOVAL,2
INT10H
XIANMACROSTR;定义宏XIAN显示STR的内容
LEADX,STR
MOVAH,9
INT21H
MOVDL,10
MOVAH,2
INT21H
MOVDL,13
MOVAH,2
INT21H
ENDM
XIANSTR1;利用宏显示字符串
XIANSTR2
XIANSTR3
MOVCX,10
AGAIN:
XIANSTR4
LOOPAGAIN
MOVAH,15
INT10H
MOVCX,1
MOVDX,0710H;起始时在第5行17列出显示C
A11:
MOVAH,0
INT16H
CMPAL,20H
JEL0
JNEA11
L0:
CALLCONTINUE
CONTINUEPROC;延时子函数
NEXT:
MOVAH,2
INT10H
MOVAL,63H
MOVAH,10
INT10H
CALLDELAY
M:
MOVAH,0
INT16H
CMPAH,4BH;判断按键
JEM1
CMPAH,4DH
JEM2
CMPAH,48H
JEM3
CMPAH,50H
JEM4
CMPAL,51H
JEA
CMPAL,20H
JEA1
JMPA12
M1:
CALLDIRL;左键
JMPA12
M2:
CALLDIRR;右键
JMPA12
M3:
CALLDIRU;上键
JMPA12
M4:
CALLDIRD;下键
JMPA12
A12:
MOVAH,10
MOVAL,0
INT10H
CMPDL,59;移动后判断是否换行
JALR
CMPDL,1
JBLL
CMPDH,3
JBLU
CMPDH,12
JALD
JMPNEXT
LR:
INCDH;移动后换行显示C
MOVDL,0
JMPNEXT
LL:
DECDH
MOVDL,59
JMPNEXT
LU:
INCDL
MOVDH,12
JMPNEXT
LD:
INCDL
MOVDH,3
JMPNEXT
RET
CONTINUEENDP
A1:
CALLPAUSES
A2:
MOVAH,0
INT16H
CMPAL,51H
JNEA2
A:
MOVAH,4CH;结束程序
INT21H
DELAYPROC;延时子函数
PUSHCX
PUSHDX
MOVDX,9999
DL500:
MOVCX,9999
DL10MS:
LOOPDL10MS
DECDX
JNZDL500
POPDX
POPCX
RET
DELAYENDP
PAUSESPROC;暂停子函数
MOVAH,2
INT10H
MOVAL,50H
MOVAH,10
INT10H
P:
MOVAH,0
INT16H
CMPAH,4BH;判断按键
JZP1
CMPAH,4DH
JZP1
CMPAH,50H
JZP1
CMPAH,48H
JZP1
CMPAL,''
JZP1
CMPAL,'Q'
JZA
JMPP
P1:
CALLCONTINUE
RET
PAUSESENDP
DIRLPROC;C左移函数
MOVAH,10
MOVAL,'C'
INT10H
DECDL
MOVAH,10
MOVAL,0
INT10H
RET
DIRLENDP
DIRRPROC;C右移函数
MOVAH,10
MOVAL,'C'
INT10H
INCDL
MOVAH,10
MOVAL,0
INT10H
RET
DIRRENDP
DIRUPROC;C上移函数
MOVAH,10
MOVAL,'C'
INT10H
DECDH
MOVAH,10
MOVAL,0
INT10H
RET
DIRUENDP
DIRDPROC;C下移函数
MOVAH,10
MOVAL,'C'
INT10H
INCDH
MOVAH,10
MOVAL,0
INT10H
RET
DIRDENDP
CODEENDS
ENDSTART
四、实验结果
在调试完全后程序得到了相应的结果,主要能实现的功能有如下几点:
1、编译程序后得到了界面显示分布的豆子;
2、按下空格键开始表示开始吃豆子可以吃豆子,在设定的光标位置显示嘴巴C,“等待”吃豆子的方向键键入;
3、按下方向键可以显示向各个方向吃豆子;
4、按下Q键后程序退出程序;
5、按下空格键后界面显示P表示暂停。
五、课程设计体会
为期一个星期课程设计对自己来说,真可谓受益匪浅,体会颇深。
从最开始查找资料,到设计思路的比较,流程图的绘制,编写相关的程序,运行、调试程序。
这也让我体会到了课程设计的任何环节无论大小,都需要有我们一个认真严谨的求知态度。
这次的课程设计,我的课设题目是吃豆子程序,起初选择这个题目感觉这个题目比较有意思,想着应该比较简单,但是自己真正开始动手开始做的时候,才发现有很多问题,比如怎样上下左右键的输入,由于这样的键没有对应的ASCII码,只能运用其中的扫描码才能得到,所以我就开始查询相应的书籍,得到了它们的扫描码,再后来,在运行程序时候得到的程序不能满足要求,但是经过自己仔细的检查后发现了问题,并按照流程图得到了相应的程序,这也要从中吸取教训和总结经验,对待任何事物都必须认真、耐心,特别是自己没有掌握的知识,不能看到难处就放弃,应该有一种迎难而上的勇气和毅力,在以后的工作当中肯定会遇到很多的难题,到时候我们能不能够从容应对非常关键,而作为一名大三的学生个人觉得这方面的素质很重要,在自己以后的学习中也很值得注意。
经过这次课程设计,我发现现在学习的知识远远不够,需要通过自学以及向同学们学习好的编程思想和习惯才得以完成这次课程设计。
另外,我懂得了,编写一个好的程序并不是注重怎样写代码,而是要注重编程思想,还有就是团队合作精神,个人的力量毕竟是有限的。
这点在将来的工作中尤其重要。
总之,多多实践,多多交流才是提升自己能力的最好办法。
参考文献:
[1]沈美明,温冬婵.IBM-PC汇编语言程序设计.北京:
清华大学出版社,2001
[2]周佩玲,彭虎,傅忠谦.微机原理与接口技术.北京:
电子工业出版社,2007
[3]王玉良,吴晓非.微机原理与接口技术(第2版).北京:
北京邮电大学出版,2009
[4]王晓虹,毕于深.汇编语言.北京:
清华大学出版社,2006
[5]刘丽莉.汇编语言程序设计.北京:
北京大学出版社,2010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实习 报告