denkst "Wie kann man nur so blöd sein"
Na ja jetzt übertreibst Du aber.
aber mit ret hollt der sich zwei Bytes vom Stack und versucht zu dieser Adresse hinzuspringen....
und was liegt ganz oben auf dem Stack?
Abbild von SREG und darunter abbild von tmp
Welche Rücksprungadresse errechnet er sich wohl daraus ?
Lass das mit dem ret sein, versuche lieber tonPruefen: und ende_ton: in die Routine mit reinzunehmen (über reti) und springe da nicht so einfach hin, wozu (ich sehe du hast in C Programmiert bis jetzt hä?)

Gruß Sebastian