Hi,

du hast den Stackpointer nicht initialisiert. Daher kann der AVR nicht mehr aus dem Unterprogramm zurückspringen. Füg mal folgendes vor deinen Code ein :

ldi r16, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse
out SPL, r16
ldi r16, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse
out SPH, r16

( siehe auch das Tutorial auf http://www.mikrocontroller.net/tutorial/stack.htm )

MfG Kjion