实验内容:
基于RV32汇编,设计冒泡排序程序,并用Ripes工具调试执行。Ripes于“参考书及工具”页提供下载链接(完成实验只需要RIPES软件)
实验要求:
1、需要实现Ripes控制台Console输出
2、待排序数据可以直接定义在数据段
3、不少于10个正整数
4、前两个数据为学号前两位和后两位。如PB12345678,前两个数据需为12,78
5、结果降序排列
6、
(选做,替换3、4)待排序元素为学号大写+姓名全拼小写。例如PB12345678张三,排序元素为'P','B','1'···'z',···,'s','a','n'
实验报告要求:
1、阐述实现思路
2、解释核心部分汇编代码
3、展示内存
数据段映像(截图)判断一下哪里是数据段,不要截代码段
4、使用Ripes内系统调用在控制台打印排序前后的数组(截图)
5、出现的典型问题以及解决过程/方法
6、完整代码(贴pdf上,不要截图)
7、
(选做)测量程序执行时间(利用Ripes的
定时执行功能选一个你认为合适的时钟周期,计算运行时间。
提交方式:
在BB系统的作业提交入口上提交,附件名格式:“学号_姓名_RV排序”
布置日期:
第二周周五(2024.03.08)
提交日期及时间:
第四周周日(2024.03.24) 23:59 前
TIPS:
1、参考RV手册中文版第1章、第2章、第51页(基础指令表)、第101页(伪指令)
2、Ripes软件左上角File->LoadExample->Assembly下有例程
3、Ripes跳转指令支持label寻址,参考例程
4、# 为注释符
5、Ripes支持伪指令,伪指令是一系列基础指令之和
6、无法运行Rips可以用MARS替代