Hi!
Im AVR-Studio siehst du nir den Stack-Pointer, beobachte einmal welchen Wert dieser beim Simulieren hat wenn der Fehler auftritt (Auch den Wert notieren wenn ein Sprung in einen Interrupt auftritt). Der Wert nach der Initialisierung (0x00DF) wird kleiner sobald du etwas auf den Stack legst.

Kontrolliere die Anzahl deiner Pop's und Push's, dort liegt meistens der Fehler. Zuviel vom Stack genommen (ein pop mehr als push's) und dein Proz. verabschiedet sich zur Adresse 0x0000

Gruß, olfi