Is the address register an FP register?
No. The base rs1 is an integer register; only the data source/destination is an FP register.
Load a 32-bit single-precision floating-point value from memory into an f register.
FLW uses opcode 0000111 (0x07), funct3 010. The rs1 field selects the source register, the 12-bit immediate provides the second operand, and rd selects the destination.
FLW loads a single-precision floating-point value from memory into floating-point register rd using base+offset addressing mode. The effective address is the base address in rs1 plus a 12-bit signed byte offset. FLW is only guaranteed to execute atomically if the effective address is naturally aligned. Bits are not modified in the transfer; in particular, non-canonical NaN payloads are preserved.
FLW is a floating-point load/store instruction. It forms the effective address from integer register rs1 plus a signed 12-bit offset and transfers the bit pattern between memory and an FP register.
Understand this scenario with real code like «flw f0, 0(x10)».
No. The base rs1 is an integer register; only the data source/destination is an FP register.
The offset is a signed 12-bit immediate, encoding -2048 to 2047 bytes.