RISCV--汇编指令

la a0, _start //把 _start地址放到a0

li a1, 1 // 把立即数1 放到a1

slli a1, a1, 29 //这里的值是 a1的值<<29 值放到a1

bleu a1, a0, _start0800 // a1 < a0,跳转到_start0800

srli a1, a1, 2 // a1 >>2 a1的值 右移2 后值放到a1

lw: 从数据存储器中取数据写进寄存器

sw:将寄存器中的值写入数据存储器

*********************************************************************************

csrr rd,csr 读一个csr中的值到rd中,相当于  csrrs rd,csr,zero

csrw csr ,rs1 写rs1寄存器的值到csr中,相当于csrrw zero,csr,rs1

csrc csr, rs1 根据rs1中的值按位对csr的值清0,相当于csrrc zero,csr,rs1

csrs csr, rs1 根据rs1的值按位对csr的值置1,相当于csrrs zero,csr,rs1

以 i 结尾的伪指令,都是立即数指令,用立即数替换了rs1,操作是一致的。

Control and Status Register Instructions (CSR)

CSR Instructions

CSRRW (Atomic Read/Write CSR) :CSRRW reads the old value of the CSR, zero-extends the value to XLEN bits, then writes it to integer register rd

The initial value in rs1 is written to the CSR

 

CSRRS (Atomic Read and Set Bits in CSR)

The initial value in integer register rs1 is treated as a bit mask that specifies bit positions to be set in the CSR

Any bit that is high in rs1 will cause the corresponding bit to be set in the CSR

 

CSRRC (Atomic Read and Clear Bits in CSR) :

The initial value in integer register rs1 is treated as a bit mask that specifies bit positions to be cleared in the CSR .

high in rs1 will cause the corresponding bit to be cleared in the CSR

CSRR rd, csr, is encoded as CSRRS rd, csr, x0

CSRW csr, rs1, is encoded as CSRRW x0, csr,rs1

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RISC-V汇编指令手册是用于指导RISC-V指令集编程的参考文档。它详细描述了RISC-V指令集的不同格式和编码,以及每个指令的操作和用法。在手册中,你可以找到每个指令的语法、操作码、功能、寄存器约束、指令格式等信息。 具体来说,根据引用,RV32I指令集中的HINT指令被保留了大量的编码空间,用于向微体系结构传递性能提示。这些指令类似于NOP指令,不会改变任何可见状态,只会增加指令计数器和性能计数器。大多数RV32I HINT指令被编码为rd=x0的整数计算指令,其他一些HINT指令被编码为FENCE指令。 根据引用,返回地址预测堆栈是高性能指令预取单元的常见特性。在RISC-V中,用于过程调用和返回的指令会隐式编码提示。只有当rd=x1/x5时,JAL指令才会将返回地址压入返回地址堆栈(RAS)。而JALR指令按照表2.1中的规定压入/弹出RAS。 根据引用,基本RV32I ISA有四种核心指令格式(R/I/S/U),长度固定为32位。基本ISA要求指令在内存中必须对齐到四字节边界上,如果目标地址未对齐,则在产生分支或无条件跳转时会引发指令地址未对齐异常。该异常会在分支或跳转指令上报告,而不是在目标指令上报告。对于未发生的条件分支,不会生成指令地址未对齐异常。 以上是关于RISC-V汇编指令手册的一些引用和解释。希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值