RORI 会访问内存吗?
不会。它只读写整数寄存器;任何内存访问都必须由单独的 load/store 指令完成。
RORI 使用 opcode 0010011(0x13)、funct3 101、funct7 0110000。rs1 字段选择源寄存器,12 位立即数提供第二操作数,rd 选择目标寄存器。
将rs1循环右移shamt位(立即数)。RV32中shamt范围0-31,RV64中0-63。属于Zbb和Zbkb。
RORI 是 B/Zbb 指令,立即数循环右移。页面内容按官方 B 扩展语义校对,重点区分 XLEN、W 后缀、.uw 后缀和按位/循环操作的边界。
结合 «rori x10, x11, 16 ; x10 = rotr(x11, 16)» 等实际代码理解该场景。
结合 «rori x10, x11, 16 ; x10 = rotr(x11, 16)» 等实际代码理解该场景。
不会。它只读写整数寄存器;任何内存访问都必须由单独的 load/store 指令完成。
除 W 后缀先形成 32 位结果再符号扩展、.uw 先提取 32 位无符号操作数外,结果按 XLEN 写入 rd。