Hallo Ich möchte in ASM eine Schleife mehrfach durchlaufen. In der schleife wird ein byte mehrfach hoch gezählt 0x00- 0xFF und wieder von vorn. Nur diese Schleife soll nun nach ca 30 mal verlassen werden. Wie kann man eine Zweite Zählschleife nicht in ein Byte sondern in z.b. in ein Word zählen lassen, damit sie die Schleife nach ca. 30 Durchläufen verlässt. Habe micht hoffentlich verständlich ausgedrückt. Bin noch Newbie!
Hallo! Wär hilfreich, wenn du sagen würdest, um welche Architektur es geht. Wenns um 8051er geht, dann schau dir mal die djnz istruction an. mfg Reinhard
Welcher Prozessor? Dieser Hinweis ist wichtig, da jede Prozessorarchitektur mit ihrem eigenen zu anderen völlig inkompatiblen Asseblerdialekt daherkommt. Wenn ich Dir beispielsweise Deine Zählschleifen in 6809-Assembler angeben würde, würde Dich das höchstwahrscheinlich nicht wirklich weiterbringen ...
hier auch noch die Schleife die so endlos läuft. Das ganze ist eine Interupt der eine LED dimmt. Ich habe das ganze in AVR Studio simuliert. Er fängt immer wieder die Register an zu Inc. Also Endlos. Er soll nach X Durchläufen zurück zu main springen.
wt_30x255: ; 30malbis255zählen ldi tmp1, 30 LP0: ldi tmp2, 255 LP1: dec tmp2 brne LP1 dec tmp1 brne LP0 ret ; wieder zurück
@Frank: Ich hoffe, dir ist bewusst, dass du im source ein oush ohne pop hast und kein ret (und was das für den stack pointer bedeutet). Reinhard
danke für die Antwort! Nur diese Schleife müsste ja auf 30 mal abgefragt werden sonst springt er ja nicht aus meiner eigentlichen Schleidfe raus oder???
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.