EXTERN int0_ISR_slow COMMON INTVEC:CODE:ROOT(1) ORG 4 sbi 0x18,0x00 jmp int0_ISR_slow END
Теперь прыгает в диапазоне 1.1 ... 1.5мкс. Т.е. от 8 до 11 тактов.
Sleep mode нигде не используется. Только железные 4 такта на сохранение PC в стеке и 2 такта на sbi. Судя по всему это какие-то особенности реализации асинхронности этих фронтовых прерываний в меге сжирают еще 1-2 такта.
Зная особенности задачи (прерывания приходят стабильно с известной частотой ) можно еще пошаманить - например задействовать таймер для прекращения активности контроллера за несколько микросекунд до события. Таким образом гарантированно в момент прихода фронта будут обрабатываться исключительно однотактные команды.
Но мне этих полутора микросекунд вполне достаточно. Просто хотелось докопаться до сути. Вам огромное спасибо за помощь и моральную поддержку!