breq + rjmp funktioniert nicht

OP #2249331
Lesenswert?

Hi

Lange habe ich nach einem blöden Fehler gesucht, den ich nun durch 
Zufall gefunden habe.
Eingebaut habe ich ihn, nachdem breq nicht mehr zum Springen gereicht 
hat. Also nahm ich ein 2. Label in der Nähe und setze ein rjmp dahinter:
1
cpi YL, LOW(OSCEND)
2
breq JPut
3
rjmp Loop
4

5
Jput:
6
rjmp Put
Dieses Codestück hat mich Stunden gekostet.

Bei der Fehlersuche habe ich abundzu manche Codestücke verbessert - 
zufällig auch das obere, da mir eingefallen ist, dass Loop näher an der 
Codestelle liegt:
1
cpi YL, LOW(OSCEND)
2
brne Loop
3
rjmp Put

Und plötzlich funktionierte das Programm einwandfrei. Ich habe es 
nochmals rückgängig gemacht, aber es ist genau dieses Codestück.

Für mich wären beide richtig. Was ist nun der Unterschied zwischen den 
beiden?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren