Hallo
Ich möchte ein Macro aufrufen, dem ich sagen kann, wie oft es wiederholt
werden muß. Bei mir sieht es so aus:
1 | .macro schieben
|
2 |
|
3 | ldi temp1, @0
|
4 | mov rl_reg, temp1
|
5 | ldi temp1, @1
|
6 | push temp1
|
7 | rcall same
|
8 | rcall schub
|
9 | pop temp1
|
10 | dec temp1
|
11 | brne pc-5
|
12 |
|
13 | .endmacro
|
14 |
|
15 | ;und hier der Befehl:
|
16 |
|
17 | schieben 0b00111000,5
|
Mit 0b00111000 sage ich, in welche Richtung geschoben wird, hat aber
nichts mit meinem Problem zu tun.
Also ich lade den Wert 5 in temp1, pushe ihn, da ich temp1 in rcall same
und rcall schub für andere Berechnungen brauche, danach pope ich temp1
wieder und dekerementiere temp1. Wenn nicht null, dann springe 5
Schritte zurück. Bei mir wiederholt sich dann aber die Routine nicht
5mal sondern 50mal oder so.
Was hab ich da falsch gemacht. Wer kann mir da bitte weiterhelfen?