c.fld 的 offset 如何填写?
填写 0–248 的字节偏移,且必须为 8 的倍数。例如 offset=16 表示地址加 16 字节。
RV32DC/RV64DC 压缩64位浮点加载;基址 x8–x15,目标 f8–f15。
fd′ 的3位字段选择 f8–f15;rs1′ 的3位字段选择 x8–x15,二者属于不同寄存器文件。
offset 已是无符号字节偏移:0–248,必须为8的倍数;编码隐含低3位为零。
RV32DC/RV64DC,启用浮点状态;成功访问加载64位原始位模式,FLEN更宽时高位全1。
有效地址为基址加 offset;自然对齐不会产生地址未对齐异常,非对齐结果由EEI定义,故障不提交普通浮点目标写回。
RV32DC/RV64DC 的 16 位CL 格式:地址为 x[rs1'] 加无符号字节偏移(0–248,8 的倍数),访问成功后将 64 位内存位模式原样加载到 fd'。
只展示手册定义的 16 位字段、操作数和 ISA 可见结果;不模拟流水线、缓存、时序或实现的内存异常处理。
RV32DC/RV64DC;浮点状态已启用,普通地址计算环境(无地址变换扩展),内存位模式已按环境字节序组装。
本加载教学环境固定 FLEN=64。若 FLEN 更宽,64 位传输会将目标 f 寄存器高位写为全 1,形成有效 NaN-boxed 值。
自然对齐访问不会引发 address-misaligned exception;非自然对齐访问是否完成或发生 address-misaligned/access-fault exception 由 EEI 定义。此控件只显示所选结果分支。
rs1'=010 -> x10; fd'=000 -> f8; uimm=2 × 8 = 16 字节(汇编 offset)
RV32DC/RV64DC 的 16 位CL 格式:地址为 x[rs1'] 加无符号字节偏移(0–248,8 的倍数),访问成功后将 64 位内存位模式原样加载到 fd'。
RV64DC、FLEN=64、浮点状态启用,x10=0x1000,内存已组装64位模式为0x7ff0000000000001,访问成功:c.fld f8, 0(x10) 将该模式原样写 f8,不做浮点运算。
填写 0–248 的字节偏移,且必须为 8 的倍数。例如 offset=16 表示地址加 16 字节。
本页采用 RV32DC/RV64DC 配置。还须启用浮点状态并满足内存访问条件;访问异常时不进行普通浮点目标写回。