微机实验心得体会

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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比较,看是否向左,依次

类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位

置进行与上下左右键的输入相应的移动。

最后编写好退出语句。

相关文档
最新文档