Since M-profile has discarded IRQ and FIQ exceptions and also execution modes, these bits in PSR are unnecessary. So, M-profile adopts new PSR format and registers.

CPSR in non M-profile processors

Mode, I and F bits are meaningless in M-profile micro-controllers. Instead of them, M-profile adds other bits like ISR number, IT/ICI, etc.

PSR in non M-profile processors

It can be read in assembly using the following code:

mrs <rd>, PSR

These bits can also be accessed separately:

  1. APSR: Application Program Status Register
    • ALU flags
    • N, Z, C, C flags
    • mrs <rd>, APSR
  2. IPSR: Interrupt Program Status Register
    • Interrupt/Exception number
    • mrs <rd>, IPSR
  3. EPSR: Exception Program Status Register
    • IT, ICI, T bits
    • mrs <rd>, EPSR