c.fsdsp 的 offset 如何填写?
填写 0–504 的字节偏移且为 8 的倍数。offset=16 表示基址加 16 字节;它不会修改基址。
RV32DC/RV64DC 的 16 位 CSS 浮点存储,传输 64 位;基址固定为 x2/sp。
fs2 的5位字段选择 f0–f31,基址固定 x2/sp;f0 不是整数零寄存器。
offset 已是无符号字节偏移:0–504,必须为 8 的倍数;编码隐含低 3 位为零,不再次缩放。
RV32DC/RV64DC,浮点状态启用,访问获准;存储源的低64位且保留NaN载荷,不改变源和基址。
地址为基址加 offset(按 XLEN 回绕)。自然对齐不会引发地址未对齐异常;非对齐结果由 EEI 定义,异常不显示完整访问成功。
RV32DC/RV64DC:有效地址为 x2/sp 加无符号字节偏移(0–504,8 的倍数)。访问成功时将 fs2 的低 64 位原样存入内存;不改变源寄存器和基址。
只展示手册定义的 16 位字段、操作数和 ISA 可见结果;不模拟流水线、缓存、时序或实现的内存异常处理。
RV32DC/RV64DC;浮点状态已启用,普通地址计算环境(无地址变换扩展),内存位模式已按环境字节序组装。
存储传输 64 位;若 FLEN 更宽,FSW 会忽略 f 寄存器高位并传输低 32 位,FSD 传输低 64 位。传输不修改 NaN 载荷。
自然对齐访问不会引发 address-misaligned exception;非自然对齐访问是否完成或发生 address-misaligned/access-fault exception 由 EEI 定义。此控件只显示所选结果分支。
base = x2/sp; fs2=00000 -> f0; uimm=2 × 8 = 16 字节(汇编 offset)
RV32DC/RV64DC:有效地址为 x2/sp 加无符号字节偏移(0–504,8 的倍数)。访问成功时将 fs2 的低 64 位原样存入内存;不改变源寄存器和基址。
RV64DC、浮点状态启用,sp=0x1000,f0低64位=0x3ff0000000000000,访问成功:c.fsdsp f0, 16(sp) 写 mem64[0x1010] 为该模式,f0 和 sp 不变。
填写 0–504 的字节偏移且为 8 的倍数。offset=16 表示基址加 16 字节;它不会修改基址。
本页采用 RV32DC/RV64DC 配置,并要求浮点状态启用且内存访问获准。C+D 蕴含 Zcd;Zcd 依赖 Zca 和 D,D 还依赖 F。