Does FSW take the address from an FP register?
No. The address base comes from integer register rs1; FP register rs2 only supplies the data bit pattern to store.
Store a 32-bit single-precision floating-point value from an f register to memory.
FSW uses the S-type STORE-FP encoding to store the 32-bit single-precision floating-point bit pattern from f[rs2] to the effective address x[rs1] plus a signed 12-bit byte offset. The transfer performs no FP rounding and does not modify or canonicalize NaN payloads. Atomicity of naturally aligned access follows the official F-extension rule, while misaligned access is constrained by the execution environment.
Shows the F-extension FP store flow: decode the S-type encoding, form the address from an integer base plus a 12-bit offset, and transfer a 32-bit FP bit pattern.
The word is split as a S-type instruction; FP memory access is not an OP-FP arithmetic encoding.
FSW stores a 32-bit single-precision bit pattern, does not write an FP register, and performs no rounding or NaN canonicalization.
This animation shows only F-extension FP load/store ISA-visible address calculation and bit-pattern transfer; it does not model caches, buses, trap handlers, FPU pipelines, or microarchitectural timing.
FSW is the F-extension single-precision floating-point store. It computes the address from an integer base and a 12-bit byte offset, then writes the 32-bit single-precision bit pattern from f[rs2] to memory; it is not an FP operation and has no rm rounding step.
Understand this scenario with real code like «fsw f0, 0(x10)».
No. The address base comes from integer register rs1; FP register rs2 only supplies the data bit pattern to store.
No. FSW is a bit-pattern store and performs no FP arithmetic or rounding; by ISA-visible semantics it does not set floating-point exception flags, and the animation shows fflags unchanged.