for Schleife in Assembler
Assembler im Simulator
Hallo Leute!
Wir haben in der Schule kurz das Thema Assembler gestreift und sonst aber leider nichts weiter mehr dazu gemacht.
Also hab ich mir nen CPU Simulator besorgt und will da jetzt versuchen "einfaches" Assembler zu lernen.
Und da würde mich interessieren wie ich z.B mit einfachen Befehlen eine for-SChleife programmieren kann.
Der Simulator kann nur wenige Befehle:
LOAD, STORE, JUMP, JUMPZ, AND, ADD, COMP, RSHIFT
und mit denen möchte ich eben eine for-Schleife basteln. Dass sie z.B einfach Zahlen von Startwert (zB 0) bis Endwert(zB 10) durchzählt.
Ich würd also den Start- und Endwert Laden (LOAD) aber dann die Frage- wie die Schleife?
Eigentlich also eine leere for-SChleife aber eben die Laufvariable immer um eins erhöhen und vergleichen ob der Endwert erreicht ist. Das wäre mal mein Gedanke. Den Zwischenraum kann ich dann ja noch füllen. Mir wärs jetzt in erster Linie mal wichtig zu wissen wie ich mit diesen Befehlen eine Schleife hinbekomme.
Danke schon mal für eure Hilfe
Chibi-Fighter
Hallo Leute!
Wir haben in der Schule kurz das Thema Assembler gestreift und sonst aber leider nichts weiter mehr dazu gemacht.
Also hab ich mir nen CPU Simulator besorgt und will da jetzt versuchen "einfaches" Assembler zu lernen.
Und da würde mich interessieren wie ich z.B mit einfachen Befehlen eine for-SChleife programmieren kann.
Der Simulator kann nur wenige Befehle:
LOAD, STORE, JUMP, JUMPZ, AND, ADD, COMP, RSHIFT
und mit denen möchte ich eben eine for-Schleife basteln. Dass sie z.B einfach Zahlen von Startwert (zB 0) bis Endwert(zB 10) durchzählt.
Ich würd also den Start- und Endwert Laden (LOAD) aber dann die Frage- wie die Schleife?
Eigentlich also eine leere for-SChleife aber eben die Laufvariable immer um eins erhöhen und vergleichen ob der Endwert erreicht ist. Das wäre mal mein Gedanke. Den Zwischenraum kann ich dann ja noch füllen. Mir wärs jetzt in erster Linie mal wichtig zu wissen wie ich mit diesen Befehlen eine Schleife hinbekomme.
Danke schon mal für eure Hilfe
Chibi-Fighter
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98249
Url: https://administrator.de/contentid/98249
Ausgedruckt am: 14.11.2024 um 13:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo
bin gad durch stöbern auf nen crash kurs gestoßen
http://ivs.cs.uni-magdeburg.de/bs/lehre/sose99/bs1/seminare/assembler.s ...
dort wird auch die FOR - Schleife behandelt,
bin gad durch stöbern auf nen crash kurs gestoßen
http://ivs.cs.uni-magdeburg.de/bs/lehre/sose99/bs1/seminare/assembler.s ...
dort wird auch die FOR - Schleife behandelt,
mov ecx,100
schleife: add eax,[a] ; das hier ist der Abarbeitungsteil
loop schleife
Ich würde den Zähler mit COMP prüfen (sollte wie eine Subtraktion funktionieren wobei nur Flags gesetzt werden) dann mit JUMPZ aus der Schleife rausspringen (wenn das Zero Flag gesetzt wurde) und danach an den Anfang der Schleife zurückspringen.
(hoffe das entspricht etwa deinem Syntax ...)
LOAD AC 0
...
ADD AC 1
COMP AC 10
JUMPZ *Raus aus der Schleife*
JUMP *An den Anfang der Schleife*
(hoffe das entspricht etwa deinem Syntax ...)