riscv指令

各个寄存器

寄存器 ABI名字 注释 Saver
x0 zero Hard-wired zero,常数0
x1 ra Return address caller,调用函数的指令pc
x2 sp Stack pointer callee,被调用的函数指令pc
x3 gp Global pointer
x4 tp Thread pointer
x5 t0 Temporary/alternate link register caller
x6 t1 Temporaries caller
x7 t2 Temporaries caller
x8 s0/fp Saved register/frame pointer caller
x9 s1 Saved register caller
x10 a0 Function arguments/return values caller
x11 a1 Function arguments/return values caller
x12 a2 Function arguments caller
x13 a3 Function arguments caller
x14 a4 Function arguments caller
x15 a5 Function arguments caller
x16 a6 Function arguments caller
x17 a7 Function arguments caller
x18 s2 Saved registers caller
x19 s3 Saved registers caller
x20 s4 Saved registers caller
x21 s5 Saved registers caller
x22 s6 Saved registers caller
x23 s7 Saved registers caller
x24 s8 Saved registers caller
x25 s9 Saved registers caller
x26 s10 Saved registers caller
x27 s11 Saved registers caller
x28 t3 Temporaries caller
x29 t4 Temporaries caller
x30 t5 Temporaries caller
x31 t6 Temporaries caller

指令类型

常见指令

li

r[rd]=immediate,U型指令
例:00000413 解析为li s0,0,s0(r[8])

auipc

r[rd]=immediate<<12+pc,U型指令
例:00009117 解析为auipc sp,0x9,sp(r[2])

addi

r[rd]=immediate+r[rs1],I型指令,immediate带符号位扩展
例:ffc10113 解析为addi sp,sp,-4 sp(r[2])

jal

r[rd] = pc+4; pc += sext(offset),J型指令,sext表符号位扩展
例:00c000ef 解析为jal ra,pc加完后的值
参考手册中英文

posted @   心比天高xzh  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示