Im unterschied von jmp und Rjmp liegt dein Problem, klar kannst du mit beidem springen, aber ein jmp ist größer (32 Bit befehl) als ein rjmp (16 Bit Befehl). Wenn du jetzt ohne .org rjmps hinter einander hängst, dann verschiebt sich dein ganzer code um zwei byte.
sprich durch dein rjmp init ist dein darauf folgendes reti an Adresse 0x02h und nicht and 0x04h wo es sein sollte. deswegen .org vorne dran dann passieren solche fehler nicht, oder eben jmp verwenden wenn du mehr als 8k flash hast.
Lesezeichen