微机实验心得体会
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机实验心得体会
【篇一:微机原理实验报告】
一、实验目的
1.掌握qtspim的调试技术
2.了解mips汇编语言与机器语言之间的对应关系
3.掌握mips汇编程序设计
4.了解c语言语句与汇编指令之间的关系
5.熟悉常见的mips汇编指令
6.掌握程序的内存映像
二、实验任务
用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。 int main()
{ int k, y ;
int z[50] ;
y = 56;
for(k=0;k50;k++)
z[k] = y - 16 * ( k / 4 + 210) ;
}
三、实验要求
1.完成汇编语言程序设计、调试、测试全过程
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+210)
sw $t3,0($s0) #写进z[k]
addi $s0,$s0,4 #地址移一位
addi $t0,$t0,1 #k加1
j loop #循环
done:
li $v0 10
syscall
五、实验总结
通过这次实验,加深了我对理论学习的代码书写规范的理解,练习
了qtspim软件的使用,对以后的学习有很大的帮助。这次实验的内
容相对比较简单,原理容易理解,编译的过程中遇到了一点困难,
不过在同学的帮助下顺利解决了。
【篇二:微机原理与接口技术实验总结】
微机原理与接口技术实验总结
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
cld
repe 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比较,看是否向左,依次
类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位
置进行与上下左右键的输入相应的移动。
最后编写好退出语句。