魏亚明微机原理课程设计.docx
《魏亚明微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《魏亚明微机原理课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
![魏亚明微机原理课程设计.docx](https://file1.bdocx.com/fileroot1/2023-4/17/287835f3-f386-4388-864c-d1758d27b804/287835f3-f386-4388-864c-d1758d27b8041.gif)
魏亚明微机原理课程设计
1课程设计的目的与要求
1.1设计目的
本课程的课程设计是信息学院学生学习完《微机原理与接口技术》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。
本课程设计的目的在于加深对微机原理基本知识的理解;掌握汇编语言程序设计的基本方法;掌握微机原理开发系统的基本方法。
1.2设计要求
从课程设计的目的出发,通过设计工作的各个环节达到以下要求:
1)掌握汇编语言程序设计的基本方法。
2)进一步理解汇编语言设计的各种程序结构。
3)学会利用PC机进行键盘录入转换程序设计。
1.3主要技术指标
编写程序
1)通过键盘连续录入可显示多个字符,遇“.”时终止。
2)字符串以空格和“.”分隔,输入完成后,空格前的字符串以正向在屏幕上显示,“.”前的字符串以反向在屏幕上显示。
2总体方案
1.程序分为主程序和子程序。
主程序主要用于从键盘录入字符串;而子程序则是实现所要设计的母的要求。
2.先输入主程序。
输入字符串以ASCII码形式存储在内存单元中。
3.主程序中,分别建立两个能够达到要求的子程序调用过程,即一方面,通过键盘连续输入多个字符时遇“.”;另一方面既能使空格前的字符串能够正向在屏幕上显示,又能使“.”后的以反向在屏幕上显示。
4.子程序judge中,实现的是第一个要求。
5.子程序change中实现的是另一个要求。
3原理框图
图一程序流程图
4课程设计结果
1.实验代码
datasegment
strdb'pleaseinputthestring:
',10,13,'$'
str1db'theresultis:
',10,13,'$'
stringdb200dup(?
)
dataends
stacksegment
db200dup(?
)
stackends
codesegment
assumecs:
code,ds:
data,ss:
stack
start:
movax,data
movds,ax
movax,stack
movss,ax
movsi,0
movah,9
leadx,str
int21h
xordh,dh
top:
movah,1
int21h
calljudge
jcdown
incsi
jmptop
down:
cmpdh,1
jenex
decdi
nex:
mov[string+si+1],'$'
callchange
movah,2
movdl,13
int21h
movdl,10
int21h
movah,9
leadx,str1
int21h
movah,9
leadx,string
int21h
movah,1
int21h
movah,4ch
int21h
;===================================
judgeproc
cmpal,20h
jnznext1
movdi,si
movdh,1
next1:
cmpal,2eh
jnznext2
stc
jmpnext3
next2:
clc
next3:
mov[string+si],al
ret
judgeendp
;=====================================
changeproc
pushax
pushbx
pushcx
pushsi
pushdi
movax,si
subax,di
decax
movbl,2
divbl
movcl,al
xorch,ch
subsi,cx
adddi,cx
ag:
moval,[string+si]
xchg[string+di],al
mov[string+si],al
decdi
incsi
loopag
popdi
popsi
popcx
popbx
popax
ret
changeendp
;================================
codeends
endstart
5调试过程及测试结果
1、程序调试过程
启动全屏幕编辑软件MF2KI,输入源程序。
输入完毕后,按Ctrl+S保存程序,规定扩展名为*.ASM。
对源程序进行汇编。
源程序进行汇编有三个步骤:
第一个是汇编生成OBJ文件,即二进制目标文件,这是汇编的主要目的。
第二个是连接。
第三个是运行。
汇编过程中,如果源程序有语法错误,则汇编结束后,会指出源程序中的错误,这时可以通过修改源程序中的错误,最后,得到没有语法错误的OBJ文件。
当没有语法错误而又无法得到正确结果时,可用调试来进行验证。
它通过单步、设置断点等多种方式为我们提供非常有效的调试手段。
2、进入DOS界面后进行汇编连接并生成可执行文件.exe,如图二所示:
图二可执行文件
3、生成可执行文件后即可进行操作,在操作时只要输入字符串,遇到“.”时即停止,并且以空格和“.”为分隔,在空格前的字符串在屏幕上以正向显示,在“.”前的字符串以反向在屏幕上显示。
如图三所示:
图三测试结果
心得体会
本次课程设计对点阵显示电路认真的学习以及对数字电子技术有了更进一步的熟悉,实际操作和课本上的知识有很大联系,但又高于课本,一个看似很简单的电路,要动手把它设计出来就比较困难了,因为是设计要求我们在以后的学习中注意这一点,要把课本上所学到的知识和实际联系起来,同时通过本次电路的设计,不但巩固了所学知识,也是我们把理论与实践从真正意义上结合起来,增强了学习的综合能力。
通过这次设计不仅锻炼了我们的团队协作精神,而且提高了创新能力。
在这几周的试验中,在收获知识的同时,还收获了阅历,收获了成熟。
在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力。
在各种其他方面的能力上也都有了提高,而且在与老师和同学的交流过程中,互动学习,将知识融会贯通。
更重要的是我们学会了很多学习的方法,而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断学习、实践、再学习、再实践。
不管怎样,这些都是一种锻炼,一种知识的完全积累,可以把这个当做基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。
参考文献
[1]楼顺天,周佳社.微机原理与接口技术[M].北京:
科学出版社,2006
[2]周明德.微机原理与接口技术.北京:
人民邮电出版社,2009.5
[3]马维华.微机原理与接口技术.北京:
科学出版社,2005
[4]马瑞芳,王会燃等.微机原理与接口技术要点与解题.西安:
西安交通大学出版社,2006
[5]牟琦,聂建平等.微机原理与接口技术.北京:
清华大学出版社,2006