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中
相关推荐
西西弗Sisyphus9 小时前
读第三方程序的变量的原理
汇编
西西弗Sisyphus12 小时前
一个程序点击事件的汇编指令与解析 - 目标变量的真实虚拟地址 = 逐级解引用并叠加偏移后的结果
汇编
2501_918126911 天前
nes游戏语言是6502,有没有一种方法可以实现,开发另一种更高效的汇编语言,替代6052,并本土化,弯道超过nes的底层语言?
汇编·硬件工程·个人开发
啊森要自信1 天前
【C语言】 C语言文件操作
c语言·开发语言·汇编·stm32·单片机
云qq2 天前
x86操作系统19——键盘驱动
linux·c语言·汇编
_Voosk2 天前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
MounRiver_Studio2 天前
RISC-V IDE MRS2使用笔记(七):书签与笔记功能
ide·嵌入式·risc-v
MounRiver_Studio2 天前
RISC-V IDE MRS2使用笔记(六):自定义代码格式化
ide·risc-v·嵌入式开发
天途小编2 天前
融合空域相关法规核心条款汇编
汇编·无人机
天途小编2 天前
无人机相关国家根本条例核心汇编
汇编·无人机