微机实验心得体会

发布 2023-09-21 14:08:18 阅读 6775

【篇二:微机原理与接**术实验总结】

微机原理与接**术实验总结。

11107108徐寒黎。

一、 实验内容以及设计思路。

1、①试编写一程序,比较两个字符串string1、 string2 所含字符是否相同,若相同输出“match”,若不相同输出 “no match”。

设计思路:定义一个数据段,在数据段中定义两个字符串作为string1、 string2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义**段。关键步骤以及少量语句:

第一步将string1和string2都实现用键盘输入,方法是。

mov dx,offset string2

mov ah,0ah

并且显示在显示器上,显示方法将0ah改成09h,语句与上面类似。 然后进行比较第一个单元,mov al,[string1+1]

cmp al,[string2+1]

jnz nomatch

若字符串长度不等,则直接跳转,输出输出 “no match”;

若长度相等再逐个比较。

lea si,[string1+2]

lea di,[string2+2]

mov cl,[string1+1]

mov ch,0

cldrepe cmpsb

jcxz match,意思是全部相同就跳转match,输出“match”;不然进入下面的nomatch。退出。

②试编写求级数1^3+2^3 +3^3 ….前几项和刚大于10000的程序。

设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。

一个难点是将输入的ascii码字符串,转换成与之相同的十进制数的数值。 关键的思路部分是:从1开始求级数,将和的值存在ax里,要加下一项级数前,比如这时已经加到4,push一下ax,然后将5乘三遍,将乘积mov到bx里,再pop ax,然后将bx的值加到ax里,然后将ax与n比较,如果比n小就继续上述步骤,知道刚比n大就输出数字。

③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。

设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。

然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。

缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。

④设计一个动画程序。

设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。

步骤:首先设置堆栈段,数据段,**段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用jz语句跳转到退出。

若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。

最后编写好退出语句。

2、硬件接口主要是了解8255与8253的功能,以及控制字。

①i/o地址译码。

只要对硬件概念清晰,很简单的。基本上没有什么创造性。

收获:熟悉实验箱结构,了解每部分元件和标注的意义。

掌握i/o地址译码电路的工作原理。

②可编程定时器8253

1,对照实验电路图,将计数器0设置为方式0,即数初值设为n(n0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察out0点平变化。

2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。

收获:掌握8253的基本工作原理和编程方法。

③并行接口8255

1,试验电路如图所示,8255c口接逻辑电平开关k0~k7,a口接led显示电路l0~l7。 3,数码管静态显示:按下图接好电路,将8255a口pa0~pa6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端s1接5v(选中),s0和dp接地(关闭)。

编程从键盘输入一位十进制数(0-9),在七段数码管上显示。

4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端s1、s0接8255 c口的pc1和pc0。编程在两个数码管上显示“56”。

动态显示时,先送“5”的段码送a口,再送02h到c口为位码;经一定延时后,送“6”的段码送a口,再送01h到c口为位码。循环完成,可以显示数码。

5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。 只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。

收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。

二、 试验中遇到的问题。

1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,y和n不能搞反了,否则就错了。

2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。 3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。

4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。

三、心得感受。

微机原理与接**术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。

后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。

篇三:汇编语言实验心得】

一.实验内容。

的启动及其基本命令的使用。

2.内存操作数与寻址方式。

1)利用debug程序中的“e”命令,将两个多字节数“12345678h”和“fedcba98h”分别送入起始地址为ds:0200h和ds:0204h两个单元中。

2)分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将ds:0200h单元和ds:0204h单元中的数据相加,并将运算结果存放在ds:0208h单元中。

3.顺序程序设计。

x、y、z、v均为字变量,在x、y、z、v字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:

①计算表达式值(v–(x*y+z-720))/x;

②将上述表达式运算结果整数放在sum1单元,余数放在sum2单元。

4.分支程序设计。

1)设x,y为字变量,假定不溢出,计算x=|x-y|。

2)将num单元中的一位十六进制数(0~9,a~f),转换为对应的ascii码值存入asc单元。

3)已知字节变量x,编程求下列表达式。

即:当x0当x=0

当x05.循环程序设计。

1)定义10个字节型带符号数,求其和。

2)在内存单元data中定义一个16位数,统计其16位中1的个数,存入内。

存的字单元count。

3)定义10个字型无符号数,编写程序求其最小值。

6.子程序设计。

1)设计一个子程序,计算1+2+?+n,其中n为给定的正整数,且n小于100。

2)定义10个字型带符号数,编写子程序求其最大值和统计正数的个数。

3)从键盘接收4位十进制数,将其转换为十六进制数并显示。

二。实验心得。

上学期学习计算机组成原理的时候就对汇编有所了解,但通过这学期的学习,使我更加深入了解了其知识体系和计算机组成及内部程序执行的原理。对于各命令的熟练掌握后,自己亲自动手实验更是体会到了各命令的用途及执行的方法。通过各个基本命令可以轻松更改计算机内部寄存器的值和读写内存,磁盘,i/o端口的值,通过更改观察其对计算机的影响变化。

对于汇编语言的寻址方式,更是多种多样,通过对各寻址方式的比较,可以感受到各寻址方式的不足与好处,还有是对各寻址方式的注意事项,有的寻址方式需专用的寄存器,有的寄存器是禁止使用的,然而有的就开放的多,对寄存器没有特殊要求,然而在编程过程中使用较为合适的寻址方式是提高程序运行效率的保障,在对寄存器中的值做运算时要正确书写各值,在x86中只支持十六进制数,在运算结束后值得保存也是很重要的,不能随意保存。写数据传送指令时,目的操作数和源操作数的类型一定要匹配,cs不能作为目的操作数。

在学习完汇编语言程序格式和结构后就可以完整的编写汇编语言程序了,在编程中各种结构的选择是对程序效率的保障,在顺序结构中就不需要各种选择分支结构,顺序结构适合一些较简单按顺序执行的程序,然而复杂程序的编写就需要用到选择结构和分支结构了。另外,我们还应该掌握dos系统功能调用,宏汇编等知识。

微机 心得体会

微机原理课程收获及心得。微机原理课程收获及心得。经过几个月的忙碌和学习,微机原理课程已经接近尾声。回想起刚开学时在教室看见罗教师时的情形现在也感觉很温馨。原本以为教我们微机课的是一位很严厉的,应该是那种 面无表情 不爱和学生多说话的教师,等见面后才发现出乎意料。罗教师不仅和蔼可亲 幽默风雅而且也很容...

微机培训心得体会

短短的六天微机培训就要结束了,很感谢昌图教师进修学校的老师对我们的认真讲解,对老师印象很好,对本次培训工作很满意,这次微机培训给我最大的感受就是 学到了很多理论知识,回去之后我要争取理论应用于实践。一 认真学习教育观点 理论,参悟其中的内涵。本次培训中,我们是借助网络平台进行学习的。觉得网络平台和教...

培训心得体会 微机培训心得

随着科学技术的高速发展,信息技术的提高,给人们的生活带来了很大的方便。比如通过网络,人们不用出门便可以了解世界各地的情况,还可以通过网络交朋友,新闻 电影 听 精美的 制作课件等等。由于条件的限制和对信息技术认识不高的缘故,致使我对信息技术了解不深,对现代远程教育和 教学感到有些陌生,因此,我在实际...