How is the offset written for c.fld?
Use a byte offset from 0 through 248, in multiples of 8. For example, offset=16 adds 16 bytes to the address.
RV32DC/RV64DC compressed 64-bit floating-point load; base=x8–x15, destination=f8–f15.
The 3-bit fd′ field selects f8–f15; the 3-bit rs1′ field selects x8–x15 in a separate register file.
offset is already an unsigned byte offset: 0–248, in multiples of 8; the encoding implies 3 zero low bits.
RV32DC/RV64DC, with floating-point state enabled; a completed access loads 64 raw bits and sets upper bits to ones when FLEN is wider.
The effective address is base plus offset. Natural alignment raises no address-misaligned exception; misaligned outcomes are EEI-defined, and faults do not commit ordinary floating-point destination writeback.
A 16-bit RV32DC/RV64DC CL load: add an unsigned byte offset (0–248, multiples of 8) to x[rs1']; on completion, load the 64-bit memory pattern into fd'.
Shows only manual-defined 16-bit fields, operands, and ISA-visible results; it does not model a pipeline, cache, timing, or an implementation's memory-fault handling.
RV32DC/RV64DC; floating-point state enabled, ordinary address calculation (no address-transforming extensions), and memory bits already assembled using the environment's byte order.
This load teaching environment fixes FLEN=64. With a wider FLEN, the 64-bit transfer writes ones to the upper f-register bits, creating a valid NaN-boxed value.
Naturally aligned accesses do not raise an address-misaligned exception; whether a misaligned access completes or raises an address-misaligned/access-fault exception is EEI-defined. This control displays only the selected outcome branch.
rs1'=010 -> x10; fd'=000 -> f8; uimm=2 × 8 = 16 bytes (assembly offset)
A 16-bit RV32DC/RV64DC CL load: add an unsigned byte offset (0–248, multiples of 8) to x[rs1']; on completion, load the 64-bit memory pattern into fd'.
RV64DC, FLEN=64, floating-point state enabled, x10=0x1000, assembled memory bits=0x7ff0000000000001, access completes: c.fld f8, 0(x10) writes those bits unchanged to f8 without floating-point arithmetic.
Use a byte offset from 0 through 248, in multiples of 8. For example, offset=16 adds 16 bytes to the address.
This page uses RV32DC/RV64DC. Floating-point state must also be enabled and memory access permitted; an access exception does not commit an ordinary floating-point destination writeback.