RISC-V执行后x12和x13的位值+ RISC-V编译器?



我正在努力理解RISC-V是如何工作的,所以我想知道如果1。有一个易于使用的RISC-V编译器和2。如果有人能帮助我完成这段代码:

(假设x5在堆栈的某个位置)

addi x11, x0, -1261
sw x11, 0(x5)
sw x11, 2(x5)
lb x12, 1(x5)
lbu x13, 2(x5)

有一个易于使用的RISC V汇编器和模拟器称为RARS。它是一个java程序,集成了IDE、汇编器和带有调试器的模拟器。因此,您可以输入这段代码,然后单步查看它的执行情况。

如果您的计算机自动启动.jar文件,那么双击它,否则命令行java -jar RARSxxx.jar将工作。

但是,您显示的代码序列是不完整的:x5需要在运行之前用一些值初始化,否则第一个sw将失败。这样的初始化可能需要一些数据内存也作为程序片段的一部分。

像其他的risc机器一样,risc V需要对齐内存访问。0(x5)2(x5)不能像sw所要求的那样都对齐到单词边界。所以,这个代码序列有问题。

最新更新