C.SWSP 的偏移为何必须是 4 的倍数?
其压缩偏移以字为单位缩放,形成零扩展且按 4 缩放的字节偏移。
C.SWSP 使用 CSS 格式,将 rs2 的低 32 位存储到 sp(x2) 加零扩展且按 4 缩放的偏移所形成的地址。它展开为 sw rs2, offset(x2);rs2 可以是任意通用寄存器。偏移范围为 0-252 字节。
假设普通内存可读/写且无额外权限故障。EEI 选项仅用于非 4 字节自然对齐地址;不建模端序字节、一般权限、设备副作用或陷入后状态。
尚未提交;寄存器、内存与 PC 保持初始状态。
教学步骤展示 ISA 可见效果,不表示特定 CPU 的流水线、缓存或时序。
C.SWSP 以 x2/sp 为固定基址,使用 0-252 的 4 字节倍数偏移,并存储 rs2 的低 32 位。
结合 «c.swsp x10, 16(sp) # sp=0x2000, x10=0x12345678 -> word at 0x2010=0x12345678» 等实际代码理解该场景。
其压缩偏移以字为单位缩放,形成零扩展且按 4 缩放的字节偏移。