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?