Из БКшного опыта известно, что IRQ1 не стремится сохранить адрес следующей инструкции.
Блокировку клавиши СТОП на БК10 делали так:
Т.е. возврат из прерывания по вектору 4 при нажатии на кнопу СТОП приходил на начало той же инструкции, во время исполнения которой и произошло прерывание.Код:V4: SUB (PC),(SP)
RTI
Для двухсловных и трёхсловных команд адрес возврата из IRQ1 приходился на второе слово поэтому и вычитали 2 из адреса возврата, но для трёхсловных в очень редких случаях адрес возврата приходился и на третье слово. Так что если достаточно упорно и быстро долбить по клавише СТОП - то БК10 рано или поздно зависала при такой блокировке клавиши СТОП.
А какие ещё исключения сохраняли адрес текущей инструкции? Обращение по несуществующему адресу?

