Vielen Dank für Deine ausführliche Antwort. Diese hat Licht ins Dunkle gebracht

Eine Frage habe ich noch:

Warum funktioniert folgender Code

Code:
mainloop:
in tmp,PINA
mov save,tmp

mov tmp,save
andi tmp,2
breq taste1

mov tmp,save
andi tmp,1
breq taste0

rjmp mainloop
anstatt
Code:
mainloop:
		
in tmp,PINA
mov save,tmp

andi tmp,2
breq taste1

andi tmp,1
breq taste0

rjmp mainloop
Wieso muss ich erst tmp in ein weiteres Register kopieren um es anschließend wieder zurück zu kopieren?



Gruß und danke