Помимо регистрового банка процессор имеет дополнительный 32-битный регистр, называемый регистром текущего состояния программы (Current Program Status Register – CPSR). В данном регистре содержится набор флагов, управляющих функционированием ЦПУ ARM7 и отображающих его состояние.
Суммарное количество доступных процессору физических регистров состояния равно 6, так как при переключении между режимами текущее содержимое регистра состояния CPSR автоматически переписывается в один из специальных регистров сохранения состояния программы SPSR_xxx (Saved Program Status Registr), соответствующий новому режиму, и, помимо этого, сохраняется в теневом регистре. При возврате в прежний режим содержимое CPSR автоматически восстанавливается из сохраненной копии в соответствии с таблицей 5.1.
Формат регистра CPSR приведен на рисунке 5.2.

Рисунок 5.2 – Битовая структура регистра состояния CPSR.
Регистр CPSR недоступен для записи в режиме User. Он содержит флаги условий, отображающие результат выполнения команд обработки данных, а также набор пользовательских флагов, определяющих режим работы процессора и управляющих прерываниями.
CPSR содержит следующие биты:
М4 – М0 – определяют режим работы процессора в соответствии с таблицей 2.2;
Т – определяет состояние процессора: ARM (T=0) или Thumb (Т=1);
I, F – маскируют обработку прерываний IRQ и FIQ соответственно. Все периферийные устройства микроконтроллера, способные формировать сигнал прерывания, подключены к этим флагам. Запрет прерывания осуществляется записью в соответствующий разряд 1, а разрешение - 0;
N, Z, C, V – содержат флаги состояния процессора: N – признак отрицательного результата, Z – признак нуля, C – признак переноса, V – признак переполнения.