Does FSH 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 16-bit half-precision bit pattern from an FP register to memory.
FSH uses the S-type STORE-FP encoding to store the low 16 half-precision floating-point bits from floating-point register f[rs2] to the effective address x[rs1] plus a signed 12-bit byte offset. The store writes the format-width bits and performs no FP rounding, format conversion, or NaN payload canonicalization. Atomicity of naturally aligned access follows the official Zfh rule, while misaligned access is constrained by the execution environment.
Shows the Zfh/Zfhmin-extension FP store flow: decode the S-type encoding, form the address from an integer base plus a 12-bit offset, and transfer a 16-bit FP bit pattern.
The word is split as a S-type instruction; FP memory access is not an OP-FP arithmetic encoding.
FSH stores only the low 16 half-precision bits from rs2 and performs no rounding, format conversion, or NaN canonicalization. The current effective address is naturally aligned, so FSH has the official atomic-execution guarantee. This example is naturally aligned and cannot raise address-misaligned.
Assumes the extension and FS are enabled and the address is accessible. Shows the selected EEI branch without modeling protection or translation. The source input supplies the low bits; stores ignore higher bits without checking NaN-boxing. Steps are teaching views.
This animation shows only Zfh/Zfhmin-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.
FSH is the Zfh/Zfhmin half-precision floating-point store. It computes the address from an integer base and a 12-bit byte offset, then writes the 16-bit half-precision bit pattern from f[rs2] to memory; it performs no FP arithmetic and has no rm rounding field.
Assume RV32/RV64 Zfhmin (or Zfh), enabled FP state, x10=0x1000, low f11 bits=0x3E00, writable memory and successful access: fsh f11, 2(x10) stores 0x3E00 unchanged to mem16[0x1002], leaving source, base and fflags unchanged without checking upper NaN-box bits.
Assume RV32/RV64 Zfhmin (or Zfh), enabled FP state, x10=0x1000, low f11 bits=0x3E00, writable memory and successful access: fsh f11, 2(x10) stores 0x3E00 unchanged to mem16[0x1002], leaving source, base and fflags unchanged without checking upper NaN-box bits.
No. The address base comes from integer register rs1; FP register rs2 only supplies the data bit pattern to store.
No. FSH is a bit-pattern store and performs no FP arithmetic or rounding, so it does not set floating-point exception flags by ISA-visible semantics.