Search code examples
assemblyarmarmv7

Current Program Status Register exception modes


I'm working with code that has the following four assembly instructions:

CPSR_cxsf
SPSR_cxsf

CPSR_c
SPSR_c

I've been having a hard time trying to figure out what the difference between these exception modes is. Can anyone advice?


Solution

  • c, x, s and f refers to the different parts of the status registers:

    c = Control
    x = eXtension
    s = Status
    f = Flags

    The purpose of using e.g. CPSR_c is that it allows you to update only parts of the status register (in this case the control bits) without affecting the other parts.