微机实验心得体会

上传人:豆*** 文档编号:122026037 上传时间:2022-07-20 格式:DOCX 页数:15 大小:14.15KB
收藏 版权申诉 举报 下载
微机实验心得体会_第1页
第1页 / 共15页
微机实验心得体会_第2页
第2页 / 共15页
微机实验心得体会_第3页
第3页 / 共15页
资源描述:

《微机实验心得体会》由会员分享,可在线阅读,更多相关《微机实验心得体会(15页珍藏版)》请在装配图网上搜索。

1、微机实验心得体会【篇一:微机原理实验报告】 一、实验目的 1.掌握qtspim的调试技术 2.理解mips汇编语言与机器语言之间的相应关系 3.掌握mips汇编程序设计 4.理解c语言语句与汇编指令之间的关系 5.熟悉常用的mips汇编指令 6.掌握程序的内存映像 二、实验任务 用汇编程序实现如下伪代码:规定采用移位指令实现乘除法运算。 int main() int k, y ; int z50 ; y = 56; for(k=0;k50;k+) zk = y - 16 * ( k / 4 + 210) ; 三、实验规定 1.完毕汇编语言程序设计、调试、测试全过程 2.指出顾客程序的内存映像,

2、涉及代码段和数据段 3.完毕软件实验报告 四、实验过程 程序源代码: .data #定义顾客数据段 z:.space 200 .text main: la $s0,z #$s0=addrz li $t0,0 #$s1=k=0 li $t1,56 #$s2=y=56 loop: slti $t2,$t0,50 #判断k与否不不小于50 beq $t2,$0,done #当k不小于等于50时跳转 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210 sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+21

3、0) sw $t3,0($s0) #写进zk addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环done: li $v0 10 syscall 五、实验总结 通过这次实验,加深了我对理论学习的代码书写规范的理解,练习了qtspim软件的使用,对后来的学习有很大的协助。这次实验的内容相对比较简朴,原理容易理解,编译的过程中遇到了一点困难,但是在同窗的协助下顺利解决了。【篇二:微机原理与接口技术实验总结】 微机原理与接口技术实验总结 11107108徐寒黎 一、 实验内容以及设计思路 1、试编写一程序,比较两个字符串string1、 strin

4、g2 所含字符与否相似,若相似输出“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 若字符串

5、长度不等,则直接跳转,输出输出 “no match”; 若长度相等再逐个比较 lea si,string1+2 lea di,string2+2 mov cl,string1+1 mov ch,0 cld repe cmpsb jcxz match,意思是所有相似就跳转match,输出“match”;否则进入下面的nomatch。退出。 试编写求级数13+23 +33 .前几项和刚不小于10000的程序。 设计思路:原先编写的程序,设定和为10000,成果是14。但规定高一点的话,可以自己设立,实现用键盘输入和的值。 一种难点是将输入的ascii码字符串,转换成与之相似的十进制数的数值。 核心

6、的思路部分是:从1开始求级数,将和的值存在ax里,要加下一项级数前,例如这时已经加到4,push一下ax,然后将5乘三遍,将乘积mov到bx里,再pop ax,然后将bx的值加到ax里,然后将ax与n比较,如果比n小就继续上述环节,懂得刚比n大就输出数字。 试编写一程序,完毕字符串中各字符浮现频度的记录,记录成果在屏幕上输出。 设计思路:由于这个程序需要记录所有的字符,因此一方面要定义一种存储区,用来寄存26个字符以及每个字符浮现的个数。用键盘控制输入字符串后来,将字符串的第一种字符与这二十六个字符逐个比较,若有相似,在寄存相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里

7、的字符所有比较完。将个数不小于1的字符以及字符的个数都输出到屏幕上。退出语句。 缺陷和局限性:这样需要定义一种非常繁的存储区。可以根据输入的字符,然后进行比较和记录。 设计一种动画程序。 设计思路:这个程序参照了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。 环节:一方面设立堆栈段,数据段,代码段,设立显示方式等某些属性,设立背景色,设立小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一种输入,将其与1bh比较,用jz语句跳转到退出。若不是便与48h比较,看与否为向上,是则跳转到相应语句,不是则继续与50h比较;,看与否向下,是则跳转到有关向下

8、移动的有关语句,否则再与4bh比较,看与否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。 最后编写好退出语句。 2、硬件接口重要是理解8255与8253的功能,以及控制字。 i/o地址译码 只要对硬件概念清晰,很简朴的。基本上没有什么发明性。 收获:熟悉实验箱构造,理解每部分元件和标注的意义。 掌握i/o地址译码电路的工作原理。 可编程定期器8253 1,对照实验电路图,将计数器0设立为方式0,即数初值设为n(n0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观测out0点平变化。 2,将计数器0、计数器1分别设立为

9、方式3,计数初值设为1000用逻辑笔观测out1输出电平的变化。 收获:掌握8253的基本工作原理和编程措施 并行接口8255 1,实验电路如图所示,8255c口接逻辑电平开关k0k7,a口接led显示电路l0l7。 3,数码管静态显示:按下图接好电路,将8255a口pa0pa6分别与七段数码管的段码驱动输入端ag相连,位码驱动输入端s1接5v(选中),s0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。 4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端s1、s0接8255 c口的pc1和pc0。编程在两个数码管上显示“56”。 动态显示时

10、,先送“5”的段码送a口,再送02h到c口为位码;经一定延时后,送“6”的段码送a口,再送01h到c口为位码。循环完毕,可以显示数码。 5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。 只要弄清晰各个口的地址,以及选择合适的控制字,其实很简朴的。 收获:掌握8255的基本工作原理和编程措施,对方式0的结识加深了。 二、 实验中遇到的问题1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要弄清晰,y和n不能搞反了,否则就错了。 2实验2,里面波及的寄存器诸多,很容易就会用乱了,还是很需要注意的。 3例如那个小鸟动画的题目,当时在控制左右

11、移动的时候,选择的起始位置的语句没写对位置,每次按一种移位的键后来,都从最初的初始位置向某个方向移动。 4硬件方面的,一开始没搞懂地址什么意思,因此连线时很懵懂,后来清晰了,发现就没什么了。 三、心得感受 微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运营程序,不仅可以巩固了此前所学过的知识,并且学到了诸多在课本上所没有学到过的知识。此前对于编程工具的使用还处在一知半解的状态上,但是通过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运营成果,怎么去理解每个寄存器的内容以保证程序的对的性上均有了很大限度的提高。 前四个简朴程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,

12、汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解多种软件系统的原理,打下技术理论基本;向下为掌握硬件系统的原理,打下实践应用基本。不仅巩固了课本所学的知识,还具有一定的灵活性,发挥了我们的发明才干。 背面几种实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥发明才干。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才干真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一

13、次做的,难免会遇到过多种各样的问题,同步在设计的过程中发现了自己的局限性之处,对此前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完毕了,在设计中遇到了诸多编程问题,最后在自己的思考以及和同窗的讨论中,终于迎刃而解。【篇三:汇编语言实验心得】 一实验内容 1.debug的启动及其基本命令的使用 2.内存操作数与寻址方式 1)运用debug程序中的“e”命令,将两个多字节数“12345678h”和“fedcba98h”分别送入起始地址为ds:0200h和ds:0204h两个单元中。 2)分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将ds:0200h单元和ds:0204

14、h单元中的数据相加,并将运算成果寄存在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单元中的一位十六进制数(09,af),转换为相应的ascii码值存入asc单元。 3)已知字节变量x,编程求下列体现式 即:当x0 当x=0 当x0 5.循环程序设计 1)定义10个字节型带符号数,求其和。 2)在

15、内存单元data中定义一种16位数,记录其16位中1的个数,存入内 存的字单元count。 3)定义10个字型无符号数,编写程序求其最小值。 6.子程序设计 1)设计一种子程序,计算1+2+?+n,其中n为给定的正整数,且n不不小于100。 2)定义10个字型带符号数,编写子程序求其最大值和记录正数的个数。3)从键盘接受4位十进制数,将其转换为十六进制数并显示。 二.实验心得 上学期学习计算机构成原理的时候就对汇编有所理解,但通过这学期的学习,使我更加进一步理解了其知识体系和计算机构成及内部程序执行的原理。对于各命令的纯熟掌握后,自己亲自动手实验更是体会到了各命令的用途及执行的措施。通过各个基

16、本命令可以轻松更改计算机内部寄存器的值和读写内存,磁盘,i/o端口的值,通过更改观测其对计算机的影响变化。 对于汇编语言的寻址方式,更是多种多样,通过对各寻址方式的比较,可以感受到各寻址方式的局限性与好处,尚有是对各寻址方式的注意事项,有的寻址方式需专用的寄存器,有的寄存器是严禁使用的,然而有的就开放的多,对寄存器没有特殊规定,然而在编程过程中使用较为合适的寻址方式是提高程序运营效率的保障,在对寄存器中的值做运算时要对的书写各值,在x86中只支持十六进制数,在运算结束后值得保存也是很重要的,不能随意保存。写数据传送指令时,目的操作数和源操作数的类型一定要匹配,cs不能作为目的操作数。 在学习完汇编语言程序格式和构造后就可以完整的编写汇编语言程序了,在编程中多种构造的选择是对程序效率的保障,在顺序构造中就不需要多种选择分支构造,顺序构造适合某些较简朴按顺序执行的程序,然而复杂程序的编写就需要用到选择构造和分支构造了。此外,我们还应当掌握dos系统功能调用,宏汇编等知识。 目前课程已结束一段时间,虽然不是完全掌握,但是还是理解了某些基本操作,可以解决某些基本问题,想要学好汇编,还需花更多时间去学习。在此后的学习过程中尽量完善自己。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!