Ну вложенные прерывания аппаратно не поддерживаются, один из костылей приведен в книги Тревора Мартина.
Макросы аля
Код
#define IENABLE __asm { MRS sysreg, SPSR; MSR CPSR_c, #SYS32Mode }
#define IDISABLE __asm { MSR CPSR_c, #(IRQ32Mode|I_Bit); MSR SPSR_cxsf, sysreg }
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.