电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2024年微机原理实验报告十一月整理

2024年微机原理实验报告十一月整理_第1页
1/17
2024年微机原理实验报告十一月整理_第2页
2/17
2024年微机原理实验报告十一月整理_第3页
3/17
1 微机原理实验报告 实验名称 MIPS 汇编程序设计 院系电信学院 班级 姓名 指导老师 实验目的 熟悉 MIPS 汇编程序开发环境,学习使用 Qtstim 工具。知道如何查看内存空间分配。 了解 C 语言语句与汇编指令之间的关系。 掌握 MIPS 汇编程序设计,掌握 QTSPIM 的调试技术。 了解 MIPS 汇编语言与机器语言之间的对应关系。 熟悉常见的 MIPS 汇编指令掌握程序的内存映像。 二、实验内容 用汇编程序实现以下伪代码要求使用移位指令实现乘除法运算。 Intmain() { IntK,Y; IntZ[5]; Y=56; For(k=;k<5;K++)Z[k]=Y-16*(k/4+21); } 三、程序设计及分析 C 语言分析 有两个变量是 int 型,一个数组型;还有一个循环执行过程。 汇编程序实现分析 首先需要定义用户数据段,获得一个内存空间作为数组空间。再选定几个寄存器作为K,Y 以及输出,其中输出输出和 Y 可以合用一个寄存器。 设计思路 分配完空间地址后,最重要的是完成循环控制。循环控制有两个思路可以是先推断后循环;或者是先循环后推断 即如图 开始开始 开始 开始 赋值 int K, Y ;int Z[5] ;K=; 赋值 int K, Y ;int Z[5] ;K=;Y=56; 赋值 赋值 int K, Y ;int Z[5] ;K=;Y=56; 计算 Z[K]=Y - 16 * ( K / 4 + 21) ; 计算 Z[K]=Y - 16 * ( K / 4 + 21) ; K<5 K<5 计算 Z[K]=Y - 16 * ( K / 4 + 21) ;K= 计算 Z[K]=Y - 16 * ( K / 4 + 21) ; K=k+1 K<5 K<5 K=k+1 结束 K=k+1 结束 是 slti $t2,$t,5 #推断 slti $t2,$t,5 #推断 k 是否小于 5, beq $t2,$,#是则结束 #否,循环 结束 slti$t2,$t,5#推断 k 是否于 5 beq$t2,$t3($t2=1 循环,否则结束。) 四、程序实现及调试分析 汇编程序代码实现 方法一 .data#定义用户数据段 z:.space2#数组为 int 型,大小为 5,所以占内存 4*5 str:.asciiz""#输出结果之间的空隙 .text main: la$s,z#$s#为数组在 z[] li$t,#$s1#代表 k 计数,初始值为 li$t1,56#$t2#代表 Y,初值为 56 loop: slti$t2,$t,5#推断 k 是否于 5 beq$t2,$,done#当 k 大于等于 5,跳转结束 srl$t3,$t,2#k/4 addi$t3,$t3,21#k/4+21 sll$t3,$t3,4#16*(k/4+21) sub$t3,$t1,$t3#y-16*(k/4+21) sw$t3,($s)#写进 z[k] li$v,1#输出 addi$a,$s, syscall li$v,4#输出间隔 la$a,str syscall addi$s,$...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2024年微机原理实验报告十一月整理

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部