@picknick. LatürnichIch Depp.
@Sprinter: Mit dem Push meinte ich die Parameterübergabe über den Stack. R24 kann ja beliebig verwendet werden.
Was ist denn an meinem Vorschlag
auszusetzen? Kleiner ist der Assembler Code kaum zu bekommen.Code:void _VECTOR(2)( void ) __attribute__ ((naked)); void _VECTOR(2)( void ) { foo(2); __asm__ __volatile__ ("reti" ::); }
Das funktioniert auch für mehr als zwei ISRs und die aufgerufene Funktion foo() weiss, von welcher ISR der Aufruf stammt.
BTW. RJUMP wird, da die maximale Sprunglänge begrenzt ist, nicht immer funktionieren.







Zitieren
Lesezeichen