立即数是零扩展吗?
XORI 的立即数形式使用 12 位有符号立即数,先符号扩展到 XLEN。
将rs1与12位有符号立即数按位异或,结果写入rd
XORI 指令采用 I 型格式。它将 rs1 与符号扩展到 XLEN 的 12 位立即数逐 bit 异或,并将结果写入 rd。XORI rd, rs1, -1 会翻转 rs1 的全部 XLEN 位,可作为 NOT rd, rs1 的汇编伪指令展开。
从机器码字段解析开始,依次展示操作数读取、该指令专属语义计算和 ISA 可见状态更新。
机器码按当前指令格式切成字段,动画从 encoding/decode 开始。
该动画展示 ISA 可见的解码和状态变化,不表示任何特定 CPU 的流水线、缓存、预测或时序实现。
XORI 属于 RV32I/RV64I OP-IMM 逻辑立即数指令:先把 imm[11:0] 符号扩展到 XLEN,再与 rs1 逐 bit XOR,结果写入 rd。imm=-1 时会翻转 rs1 的所有 XLEN 位。
结合 «xori x5, x6, -1 # x5 = ~x6 (bitwise NOT)» 等实际代码理解该场景。
结合 «xori x5, x6, -1 # x5 = ~x6 (bitwise NOT)» 等实际代码理解该场景。
XORI 的立即数形式使用 12 位有符号立即数,先符号扩展到 XLEN。
-1 编码为 12 位全 1,符号扩展到 XLEN 后仍是全 1;任意 bit 与 1 XOR 都会翻转。