Цитата(Troll @ Jul 8 2009, 13:34)

Команда "В" изменяет регистр LR (адрес текущей команды)
Команда B не изменяет LR, изменяет BL.
Цитата(Bulat @ Jul 8 2009, 13:48)

Так вот, после обработки прерывания светодиод загорается, если нет дерективы __irq перед обработчиком.
С таким стартапом __irq не нужен.
Но я бы рекомендовал выкинуть IRQ_Handler_Entry, а вместо
Код
B IRQ_Handler_Entry ; 0x18 IRQ
поставить
Код
ldr pc, [pc, #-0xf20] ; IRQ
И вернуть __irq обработчикам.
Цитата(Bulat @ Jul 8 2009, 13:48)

Но, даже когда загорается диод, то есть программа возвращается в основной цикл, повторно перейти к обработчику она не может, хотя прерывание вызывается также, как и в первом случае.
Выложите полностью основную программу и обработчик в текущем состоянии. А то совершенно непонятно, как получаются такие выводы.