Does it use integer or floating-point registers?
rd, rs1, and rs2 are floating-point register fields. Integer registers interact with FP data through conversion, move, or load/store instructions.
Performs single-precision floating-point subtraction: rd = rs1 - rs2, rounded by the rm field or dynamic frm.
FSUB.S subtracts single-precision value in rs2 from rs1; result to rd. R-type. Rounding by rm.
Shows the F-extension single-precision OP-FP flow: decode fields, read FP operands, perform FSUB semantics, then write rd.
The word is split as an R-type OP-FP instruction; single-precision OP-FP instructions use opcode 1010011.
The animation displays a teaching result from editable example values; final rounding and fflags follow the official RISC-V F rules.
The animation displays a teaching result from editable example values; final rounding and fflags follow the official RISC-V F rules.
This animation shows only F-extension ISA-visible OP-FP encoding, example numeric results, and fflags relationship; it does not model FPU pipelines, latency, every IEEE 754 corner case, or microarchitecture.
FSUB.S is an OP-FP arithmetic instruction from the RISC-V F extension. It reads two single-precision FP registers, rounds rs1-rs2 by rm/frm, and writes the result to FP register rd.
Understand this scenario with real code like «fsub.s f0, f1, f2 # f0 = f1-f2 (RNE)».
Understand this scenario with real code like «fsub.s f0, f1, f2 # f0 = f1-f2 (RNE)».
rd, rs1, and rs2 are floating-point register fields. Integer registers interact with FP data through conversion, move, or load/store instructions.
rm selects the rounding mode, or uses frm for the dyn encoding. For inexact results, the rounding mode affects the written value and may set fflags.
The F extension records floating-point exception flags in fflags; this page does not describe them as integer condition codes or integer overflow traps.