# `frflags`

[RISC-V Documentation](https://asm-editor.specy.app/documentation/risc-v.md) › [Instructions](https://asm-editor.specy.app/documentation/risc-v/instruction.md)

Web page: https://asm-editor.specy.app/documentation/risc-v/instruction/frflags

**Read FP exception flags** · Pseudo-instruction

Category: Floating point

Reads the FP exception flags into a register.

[RISC-V manual: csrrs](https://docs.riscv.org/reference/isa/v20260120/unpriv/zicsr.html#norm:csrrs_op)

Used in: [Floating point and the F and D extensions](https://asm-editor.specy.app/learn/courses/risc-v/think-in-assembly/floating-point-and-the-f-and-d-extensions.md) (RISC-V assembly)

## Forms

- `frflags t1`
  - `frflags t1` → `csrrs t1, fflags, zero`

## Operands

- `t1`: Any integer register, `x0` to `x31`, or its named alias, such as `zero`, `t0` or `t6`.

## Example

```riscv
# Initialize fflags, then use frflags to read its old value or update it.
.text
li t3, 0
csrw t3, fflags
frflags t1
# t1=0 because fflags was cleared immediately above.
```
