>STACKPOINTER erst AB RAMEND-0x05 abwärts

...grins.... so gehts natürlich auch, ist nur etwas sehr ungewöhnlich, den STACK mitten in den SRAM zu plazieren

ABER: Der Stack ist nicht richtig initialisiert

ldi temp1,low(ramend-0x05)
out spl,temp1

es fehlt:
ldi temp1,high(ramend-0x05)
out sph,temp1

Kann sogar sein, dass dadurch Daten an eine sehr ungünstige Stelle geschrieben worden sind.

Hab hier so ein paar kleine Sachen veröffentlicht:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=18336

Einfach mal schauen, wie manches initialisiert wird.

Noch was, bei einem Interrupt sollten durch push und pop,
verschiedene Register und Zustände gesichert werden