shamt=0 会怎样?
它是指定给 custom use 的 HINT;除 PC 推进和适用性能计数器外不改变架构状态。
对rd'进行逻辑右移。CB格式。
扩展条件:RV32/RV64;需要 C 或 Zca。
C.SRLI 使用 CB 格式,将 x8-x15 中的 rd' 逻辑右移 shamt 位,高位补零并写回同一寄存器;普通形式展开为 srli rd', rd', shamt。普通移位量在 RV32 为 1-31、RV64 为 1-63。shamt=0 是 HINT;RV32 的 shamt[5]=1 指定给 custom extensions。
只显示官方定义的 16 位字段、条件与架构可见状态;不模拟流水线、缓存或时序。
RV32/RV64;需要 C 或 Zca;重叠操作数读取同一旧值。
C.SRLI 将 x8-x15 中的 rd' 逻辑右移 shamt 位并写回同一寄存器;shamt=0 是 HINT。
RV32 C/Zca,x8=0x80000010:c.srli x8, 2 得到 x8=0x20000004,高位补零。
它是指定给 custom use 的 HINT;除 PC 推进和适用性能计数器外不改变架构状态。
RV32 的 shamt[5]=1 指定给 custom extensions;RV64 普通移位可用 1-63。