Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:techinf:assembler:sprungbefehle:start [20.09.2021 20:01] – [Verzweigungen und Schleifen] sbel | faecher:informatik:oberstufe:techinf:assembler:sprungbefehle:start [27.09.2021 16:27] (aktuell) – [Verzweigungen und (Sprung-)Schleifen] sbel | ||
---|---|---|---|
Zeile 57: | Zeile 57: | ||
Namen der Marken sind natürlich frei wählbar): | Namen der Marken sind natürlich frei wählbar): | ||
- | < | + | < |
cmp Operand1, Operand2 | cmp Operand1, Operand2 | ||
jxxx Wahr-Zweig ; Bedingter Sprungbefehl, | jxxx Wahr-Zweig ; Bedingter Sprungbefehl, | ||
Zeile 76: | Zeile 76: | ||
- | ===== Schleifen ===== | + | ===== (Sprung-)Schleifen ===== |
Die Abbruchbedingungen der Schleifen können das Erreichen eines bestimmten Zählwertes sein (Zählschleifen) oder datenabhängig formuliert werden. Die Grundkonstruktion einer (nicht abweisenden) Schleife kann folgendermaßen aussehen: | Die Abbruchbedingungen der Schleifen können das Erreichen eines bestimmten Zählwertes sein (Zählschleifen) oder datenabhängig formuliert werden. Die Grundkonstruktion einer (nicht abweisenden) Schleife kann folgendermaßen aussehen: | ||
Zeile 88: | Zeile 88: | ||
| | ||
</ | </ | ||
+ | |||
+ | ===== Schleifen mit Loop Befehlen===== | ||
+ | |||
+ | Der Loop-Befehl ist ein Spezialbefehl für die Programmierung von Schleifen (engl. Loop = Schleife). Der Loop-Befehl erniedrigt CX bzw. in 32-Bit-Segmenten ECX und springt anschließend zu einem als Operanden angegebenen Sprungziel, falls CX bzw. ECX nicht 0 ist. | ||
+ | |||
+ | Damit lassen sich sehr einfach Zählschleifen programmieren, |