mips微机原理实验报告.docx

mips微机原理实验报告.docx

ID:31830854

大小:37.05 KB

页数:13页

时间:2019-01-20

mips微机原理实验报告.docx_第1页
mips微机原理实验报告.docx_第2页
mips微机原理实验报告.docx_第3页
mips微机原理实验报告.docx_第4页
mips微机原理实验报告.docx_第5页
资源描述:

《mips微机原理实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、实验目的1.掌握QTSPIM的调试技术2.了解MIPS汇编语言与机器语言之间的对应关系3.掌握MIPS汇编程序设计4.了解C语言语句与汇编指令之间的关系5.熟悉常见的MIPS汇编指令6.掌握程序的内存映像二、实验任务用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。intmain(){intK,Y;intZ[50];Y=56;for(k=0;k<50;k++)Z[K]=Y-16*(K/4+210);}三、实验要求1.完成汇编语言程序设计、调试、测试全过程2.指出用户程序的内存映像,包括代码段和数据段3.完成软件实验报告四,实验思路初始化:在.data

2、里声明一个长度为200的空间勇于存储Z数组,取得Z数组的地址,认为寄存器$s1,$s2分别存储k的值和y的值,对k和y的操作直接改变寄存器的值,$s0存储Z数组的地址。计算:根据题目所提供的算式一步一步计算,所得中间结果寄存在寄存器$t0中。针对乘除法由于乘数和除数都是2的整数指数幂函数倍,所以分别采用左移(sll)和右移(srl)来计算。存储:每次计算完算式的答案后用sw命令将答案存储在内存中的对应地址处自增:每一次计算后k自动增1,$s0寄存器存储的相应Z数组地址加4跳转判断:如果k大于等于50,则跳到exit处结束程序,如果k小于50则利用j命令重新开始一

3、轮计算退出:利用li$v0,10和syscall结束整个程序五、实验过程程序源代码:.data#定义用户数据段z:.space200.textmain:la$s0,z#$s0=addrzli$t0,0#$s1=k=0li$t1,56#$s2=y=56loop:slti$t2,$t0,50#判断k是否小于50beq$t2,$0,done#当k大于等于50时跳转srl$t3,$t0,2#k/4addi$t3,$t3,210#k/4+210sll$t3,$t3,4#16*(k/4+210)sub$t3,$t1,$t3#y-16*(k/4+210)sw$t3,0($s0

4、)#写进z[k]addi$s0,$s0,4#地址移一位addi$t0,$t0,1#k加1jloop#循环done:li$v010syscall调试过程:1.装载程序,选择file,reinitializeandloadfile2.运行程序:选择runandcontinue2.观察程序运行结果六.代码段内存映像[00400024]3c101001  lui$16,4097[z]        ;5:la$s0,z[00400028]34080000  ori$8,$0,0            ;6:li$t0,0[0040002c]34090038  ori$9

5、,$0,56           ;7:li$t1,56[00400030]290a0032  slti$10,$8,50         ;9:slti$t2,$t0,50[00400034]11400009  beq$10,$0,36[done-0x00400034][00400038]00085882  srl$11,$8,2           ;11:srl$t3,$t0,2[0040003c]216b00d2  addi$11,$11,210       ;12:addi$t3,$t3,210[00400040]000b5900  sll$11,$1

6、1,4          ;13:sll$t3,$t3,4[00400044]012b5822  sub$11,$9,$11         ;14:sub$t3,$t1,$t3[00400048]ae0b0000  sw$11,0($16)           ;15:sw$t3,0($s0)[0040004c]22100004  addi$16,$16,4         ;16:addi$s0,$s0,4[00400050]21080001  addi$8,$8,1           ;17:addi$t0,$t0,1[00400054]0810000c

7、  j0x00400030[loop]      ;18:jloop[00400058]3402000a  ori$2,$0,10           ;20:li$v010[0040005c]0000000c  syscall                  ;21:syscall七.数据段内存映像[10010000]fffff318fffff318fffff318fffff318[10010010]fffff308fffff308fffff308fffff308[10010020]fffff2f8fffff2f8fffff2f8fffff2f8[10010

8、030]fffff2e8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。