C.SW 会写入整个 RV64 寄存器吗?
不会。它与 sw 一样,只存储 rs2' 的低 32 位。
将32位字存储到内存。CS格式。
C.SW 使用 CS 格式;rs1' 和 rs2' 都只能编码 x8-x15。它将 rs2' 的低 32 位存储到 rs1' 加零扩展且按 4 缩放的偏移所形成的地址,展开为 sw rs2', offset(rs1')。
只展示 RISC-V ISA 可见的 16 位编码、操作数和状态;不模拟流水线、缓存、端序实现或时序。
仅当有效地址不是 4 的倍数时,此 EEI 选项才影响结果;自然对齐访问不得引发地址未对齐异常。
mem[0x0000000000002010] <- 0x12345678
C.SW 的三个压缩寄存器位字段映射到 x8-x15;它只把 rs2' 的低 32 位写入 rs1' 加按 4 缩放偏移的地址。
结合 «c.sw x8, 0(x10)» 等实际代码理解该场景。
不会。它与 sw 一样,只存储 rs2' 的低 32 位。