中山大学计算机组成原理实验:MIPS程序设计与调试

需积分: 0 0 下载量 197 浏览量 更新于2024-08-04 收藏 267KB DOCX 举报
这篇实验报告是中山大学数据科学与计算机学院本科生进行的一次计算机组成原理实验,旨在让学生熟悉MARS MIPS(Microprocessor Architecture, Simulation, and Assembly System)仿真器的使用,学习如何运行和调试MIPS汇编语言程序。实验包含了两个部分:练习2和练习3。 **实验内容详解** **练习2:编写MIPS程序** 这个练习要求学生编写一个简单的MIPS程序,无需在代码中设定$s0和$s1的初始值,而是通过MARS仿真器手动设置。程序的目标是将$s0和$s1的值分别赋给$t0和$t1,然后计算$t2=$t0+$t1,$t3=$t1+$t2,并以此类推,将结果保存在$t2到$t7中。例如,如果$s0=1,$s1=1,则$t2=2,$t3=3。学生的代码应该保存在lab4_ex2.s文件中供老师检查。 **练习3:调试MIPS程序** 在这一部分,学生需要分析并调试名为lab4_ex3.s的程序。这个程序有一个循环,从内存地址$a0开始,将整数复制到$a1指定的地址,直到遇到零值为止,同时计数器$v0应记录复制的非零整数的数量。学生需要找出程序中的错误,描述这些错误,并在lab4_ex3.txt文件中记录。然后,修正后的代码应保存在lab4_ex3_ok.s文件中提交给老师。 **实验原理** 虽然没有详细展开,但可以推测实验原理涉及到MIPS架构的基础知识,包括MIPS指令集的使用、内存访问以及程序的执行流程。MIPS是一种精简指令集计算机(RISC)架构,其指令集设计简洁,易于理解和实现。 **实验结果** 在练习2中,如果$s0和$s1设为1,那么计算出的$t2和$t3符合斐波那契数列的规律,即$t2=1+$s0,$t3=1+$s1+$s0。而练习3的结果未给出,通常会包括调试过程的发现、错误修复以及正确运行的验证。 **实验感想** 学生认为MIPS指令集的语法直观易懂,赞赏其作为RISC架构的简洁性。 **附录** 附录可能包含了练习2的流程图和代码注释,帮助理解程序的执行流程和每条指令的作用。 通过这个实验,学生不仅学习了MIPS汇编语言的基本操作,还锻炼了程序调试技巧,对计算机硬件和指令执行有了更深入的理解。