计算机系统结构实验一MIPS指令系统和MIPS体系结构_第1页
计算机系统结构实验一MIPS指令系统和MIPS体系结构_第2页
计算机系统结构实验一MIPS指令系统和MIPS体系结构_第3页
计算机系统结构实验一MIPS指令系统和MIPS体系结构_第4页
计算机系统结构实验一MIPS指令系统和MIPS体系结构_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机系统结构实验报告班级计算机2班实验日期2016.2.24实验成绩姓名殷凤学号22920132203917实验名称MIPS指令系统和MIPS体系结构实验目的要求实验目的及要求:了解和熟悉指令级模拟器;熟练掌握MIPSsim模拟器的操作和使用方法;熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解;熟悉MIPS体系结构。实验器材:实验平台采用指令级和流水线操作级模拟器MIPSsim;计算机一台。实验内容、步骤及结果1. 阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统和汇编语言;2. 对照实验教程启动、配置MIPSsim.exe,参照使用说明,载入程序,多种执

2、行方式查看结果;3. 补充实验的完成:a. 求阶乘问题:解决方法:在代码最后加一句指令TEQ r0,r0思路:将自定义的整数存入一个整数寄存器r1,r2,“1”的值存入寄存器r3作为求阶乘时减一的用处,r2减一,与原值r1相乘结果存入r1,判断r2值是否已经减到0,是就运行结束,否则跳转继续r2减一与r1相乘,最后r1的内容就是最终结果。结果截图:b. ALU运算求(X-Y)*2-(X+Y)/8问题:无思路:题目要求不可以使用乘除指令,则利用逻辑左移(SLL)一位实现乘2,利用逻辑右移(SRL)3实现除以8。r1 r2中存放自定义的x y,r3中存放x-y的值,r4存放x+y的值,最后结果放在

3、r5中。结果截图:c. 求补码问题:解决方法:把高32位和低32位之间base的差值4个字节事先存进寄存器r6问题:解决方法:改成LABLE1问题:如果是正数的话结果总是错误的解决方法:刚开始忘记判断正负了,如果是正数就直接存回存储器原来的位置,判断正负通过高32位(存在r2中)和十六进制数0x000080000000(寄存器r9)进行AND,如果结果等于0(与$r0比较),就为正数,否则就是负数。思路:r1中放取字指令LW的base值,根据内存中的数据来决定,存储器中高32位数据取出来放进r2,低32位数据放进r3。如果判断是正数,则直接再存回去,如果是负数,按位取反再加一得到补码。按位取反

4、通过r2 r3中的值都分别和-1(存进r5)进行异或,再加1,如果r3中有进位,那么r2的值也要加1,然后存入存储器原位置,如果r3中无进位就可以直接存入原位置,是否有进位通过r3与-1异或结果和-1比较,如果等于-1(1111),就会有进位,如果不等就没有进位。结果截图:(8c22000024060004) (73ddffffdbf9fffc)(002608228c220000) (002608228c220000)总结1. 在使用指令时,一定要事先弄清楚指令的适用范围和参数的本质;2. 有符号数和无符号数要分辨清楚;3. 程序安全退出:TEQ $r0,$r04. 标号必须全部大写。附录#

5、test1 - yf 求阶乘.textmain:ADDIU $r1, $r0, 5 #r1中存自定义整数,也存最后结果ADDIU $r2, $r0, 5 #r2用作每次减一与r1相乘一步步求阶乘ADDIU $r3, $r0, 1 #r3用作减“1”LABEL1:SUB $r2, $r2, $r3BLEZ $r2, LABLE2MUL $r1,$r1,$r2BGTZ $r2,LABLE1 #减到0就运行结束NOPLABLE2:NOPTEQ $r0, $r0# test2 - yf 求(X-Y)*2-(X+Y)/8.textmain:ADDIU $r1, $r0, 7 #x的值ADDIU $r2,

6、 $r0, 1 #y的值SUB $r3,$r1,$r2 #r3中是x-y的值 ADD $r4,$r1,$r2 #r4是x+y的值 SLL $r3,$r3,1 #逻辑左移1位实现乘2SRL $r4,$r4,3 #逻辑右移3位实现除以8SUB $r5,$r3,$r4 #r5存最后结果NOPTEQ $r0,$r0# test3 - yf 求补码.textmain:ADDIU $r6,$r0,4 #地址4个字节LW $r2,0($r1) #取高32位SUB $r1,$r1,$r6 #变更地址LW $r3,0($r1) #取低32位AND $r8,$r2,$r9 #判断正负 BEQ $r8,$r0,LABLE2 #正数直接存回原位置ADDI $r5,$r0,-1 #“-1”的用处 XOR $r2,$r2,$r5 #按位取反XOR $r3,$r3,$r5BNE $r3,$r5,LABLE1 #判断低32位是否有进位ADDI $r2,$r2,1 #有则高位加1LABLE1

温馨提示

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

评论

0/150

提交评论