Schleifen



  • Hi!

    Wie kann ich eine Schleife in Assembler realisieren?

    Ich arbeite auf einem Board mit 8-bit-Prozessor. Also von 255 auf 0 runterzählen ist kein Problem.
    Wenn ich aber z.b. 300 Durchläufe will?

    Entweder kleine Schleifen hintereinanderschalten oder ineinanderschachteln.
    Das eine mal addieren sich die Schleifendurchläufe, das andere mal werden sie multipliziert.
    Beide Male aber recht kompliziert und unflexibel.

    Gibt es noch eine schönere Variante für z.b. 500, 5000, 50000 Durchläufe?



  • Du kannst dir doch einfach eine 16bit Zahl "basteln". Du brauchst einfach 2 Register oder Bytes im Speicher. Dort legst du Hi und Low Byte der Schleifendurchläufe ab. Jetzt immer vom Low-Byte abziehen, und wenn es einen Überlauf gibt, dann auch vom Hi Byte. Gibts hier auch ein Überlauf => fertig!

    Bye, TGGC



  • Öhh, mache 8-Bit Proz haben auch 16 Bit register und Befehle. z.B. der 6809



  • der vorschlag von TGGC läuft im endeffekt auch darauf hinaus, dass man zwei schleifen ineinander verschachtelt.
    dadurch wird es dann möglich maximal 255*255=65025 durchläufe zu haben.

    soweit vielen dank!


Anmelden zum Antworten