Цитата(Taradov Alexander @ Jan 8 2007, 15:23)

Если я правильно понял инструкция по записи LR_mode в PC с любым смещением будет знаком выхода.
Это не совсем так - выйти из исключения и восстановить CPSR можно двумя способами:
1. Загрузить PC при помощи data-processing команды с установленным битом S (пример: SUBS PC, LR, #0x04).
2. Загрузить PC при помощи LDM with Restore (пример: LDMFD SP!, {..., PC}^).
Цитата(Taradov Alexander @ Jan 8 2007, 15:23)

То-есть если просто в обработчике изменить режим на USR или записать значение LR в PC другим способом, то прерывния останутся заблокироваными насегда?
Да, останутся заблокированными. Однако, менять режим в обработчике никто не запрещает, если он потом будет корректно восстановлен. Этот прием используется при организации вложенных прерываний.