「原创声明:保留所有权利,禁止转载」
RSIC-V function
流程:
调用返回参数:
caller/callee
s0-s11(storage registers) callee save
t0-t6 (temporary registers) caller save
函数内部用 t0 有时可以不用做 s0-s11 写 sp 的操作,节省时间
RSIC-V 指令
R 指令
没什么特殊的。
I 指令
注意移位指令 imm 的占用位,用的 rs2,只有 5 位,因为 32 位 RSIC-V 只有 32 个寄存器
注意 Load 的 width
S 指令
存储指令
sw 等没有 rd。用 rd 表示立即数最后 5 位。
SB 指令
判断跳转指令
PC 是 2 字节对齐的。。。不是 4 字节对齐的。
因为 RISC-V 允许代码压缩到 2 字节。
U 指令
需要注意的是因为 imm 会进行符号扩展,所以在进行 32 位操作时,可能会有问题
UJ 指令
但是 jalr 是 I 指令,且 imm 的操作方式也和 jal 不同
jalr 的用法
PS:自己好菜,看还好,一写就凉凉。。。哎。。。做题不易啊。。。
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
暂无回复。