RISC-V常用汇编指令

RISC-V寄存器表:

RISC-V和常用的x86汇编语言存在许多的不同之处,下面将列出其中部分指令作用:

指令 语法 描述
addi addi rd,rs1,imm 将寄存器rs1的值与立即数imm相加并存入寄存器rd
ld ld t0, 0(t1) 将t1的值加上0,将这个值作为地址,取出这个地址所对应的内存中的值,将这个值赋值给t0
sd sd t0, 0(t1) 将t1的值加上0,将这个值作为地址,将t0的值存储到上述地址所对应的内存中去
li li rd, imm rd = imm(32bit)直接加载32位立即数
auipc auipc rd, imm rd = (imm << 12) + pc(相对pc的偏移量)
jalr jalr rd,offset(rs) 可用于函数返回,把下一条指令的地址存到rd中,然后跳转到rs+offset地址处的指令继续执行。若rd=x0就是单纯的跳转(x0不能被修改)
la la rd,symbol(non-PIC) 伪指令,等价于auipc rd, delta[31:12] + delta[11] 和 addi rd,rd,delta[11:0],其中delta=symbol-pc
csrr a0, base csrr a0, base 将base的值读到a0中
相关推荐
无小道2 小时前
c++--typedef和#define的用法及区别
c语言·开发语言·汇编·c++
GateWorld18 小时前
RISC-V:开源芯浪潮下的技术突围与职业新赛道 (二) RISC-V架构深度解剖(上)
架构·risc-v·指令集精简·寄存器设计·特权架构·模块化扩展
代码改变世界ctw2 天前
ARM汇编编程(AArch64架构)课程 - 第5章函数调用规范
汇编·arm开发·架构
liulilittle2 天前
C/C++ inline-hook(x86)高级函数内联钩子
c语言·开发语言·汇编·c++·hook·底层·钩子
inquisiter2 天前
在RISC-V开发板上更换SBI
risc-v
GateWorld2 天前
RISC-V:开源芯浪潮下的技术突围与职业新赛道 (一)为什么RISC-V是颠覆性创新?
开源·risc-v
OpenAnolis小助手2 天前
Anolis OS 23 架构支持家族新成员:Anolis OS 23.3 版本及 RISC-V 预览版发布
开源·操作系统·龙蜥社区·risc-v·anolis os·龙蜥操作系统
代码改变世界ctw2 天前
ARM汇编编程(AArch64架构)课程 - 第8章:控制流与循环
汇编·arm开发
Jacen.L2 天前
【汇编逆向系列】九、函数传参之结构体 - SHL、SHR指令,小型结构体参数和返回值
汇编
天高云淡ylz2 天前
各类电子设备镜像格式及文件系统统计
linux·windows·risc-v