Page 309 - ARM 64 Bit Assembly Language
P. 309

298 Chapter 9















                                               Figure 9.4: Bits in the FPSR.



                  C The Carry flag is set by vcmp if the processor is running in AArch32 mode. AArch64 com-
                       parisons set the PSTATE.N flag directly.
                  V The oVerflow flag is set by vcmp if the processor is running in AArch32 mode. AArch64
                       comparisons set the PSTATE.N flag directly.
                  QC The saturation cumulative flag is set to one by saturating instructions if saturation has
                       occurred. This will be explained with more detail in Chapter 10.
                  IDC The Input Subnormal Cumulative flag is set to one when an IDE condition has oc-
                       curred.
                  IXC The IneXact Cumulative flag is set to one when an IXE condition has occurred.
                  UFC The UnderFlow Cumulative flag is set to one when a UFE condition has occurred.
                  OFC The OverFlow Cumulative flag is set to one when an OFE condition has occurred.
                  DZC The Division by Zero Cumulative flag is set to one when an DZE condition has oc-
                       curred.
                  IOC The Invalid Operation Cumulative flag is set to one when an OFE condition has oc-
                       curred.

                  The FPSR can be read into an AArch64 system register and examined. The instruction for
                  reading the FPSR is as follows:

                1         MRS     Xt, FPSR // Read FPCR into Xt


                  The FPSR bits can also be set by moving data from an integer register to the FPSR. This allows
                  the programmer to clear the exception bits. The instruction is as follows:

                1         MSR     FPSR, Xt // Write Xt to FPSR
   304   305   306   307   308   309   310   311   312   313   314