C.SD 能用于 RV32 吗?
需 Zclsd;源只能为 x8/x10/x12/x14 的偶奇对,奇数源编码保留。
RV64C:从 rs2 压缩存储 64 位双字;RV32 Zclsd:从偶数 rs2 和 rs2+1 寄存器对存储 64 位值。
C.SD 使用 CS 格式,基址和源字段限 x8–x15,字节偏移 0–248、步长 8。RV64 C/Zca 存储一个 64 位寄存器;RV32 Zclsd 存储偶数 rs2' 的低 32 位和 rs2'+1 的高 32 位。Zclsd 依赖 Zilsd、Zca,与 Zcf 不兼容。
仅显示 ISA 可见的 16 位编码、操作数和状态,不表示流水线、缓存或时序。
本动画展示 RV64C 形式;静态说明保留 RV32 Zclsd 的寄存器对条件。偏移已是字节数。8 字节自然对齐不产生地址未对齐异常;未对齐结果由 EEI 决定。mem64 表示完整值,不指定字节序。
继续到“提交结果”以显示架构状态。
RV64 C/Zca 的 C.SD 使用两个 x8–x15 字段和零扩展字节偏移(0–248、步长 8);RV32 Zclsd 使用偶/奇寄存器对。
RV64 C/Zca,x10=0x2000、x8=0x0123456789abcdef:c.sd x8, 0(x10) 成功时写 mem64[0x2000]。RV32 Zclsd 同值需 x8=0x89abcdef、x9=0x01234567。
需 Zclsd;源只能为 x8/x10/x12/x14 的偶奇对,奇数源编码保留。
不保证。基址仍可能未对齐;EEI 决定结果。异常不保证未写任何字节,RV32 寄存器对也不保证整体原子。