Es kommt noch mehr dazu. Ein ISR-Prolog/Epilog ist wesentlich länger, als ein normaler Funktions-Prolog, zumal wenn in der ISR eine Funktion aufgerufen wird.

Ursprünglich geplant war so was:
Code:
void __attribute__ ((naked))
SIG_INTERRUPT0()
{
   // fallthru
}

SIGNAL (SIG_INTERRUPT1)
{
   // serve ISR
}
Aber in INT1 sehe ich nicht, ob ich von 0 oder von 1 komme. Ich hatte geplant, das USR-Bit zu verwenden, aber das geht auch nicht, weil die ISRs selbst in einer ISR "scharf gemacht werden", und im Epilog natürlich wieder das SREG hergestellt wird.