8086/88 Assembler Befehlsreferenz LOOP

Loop if CX not zero.

Führe eine Schleife aus, wenn das CX-Register [Schleifenzähler) ungleich 0 ist.

Syntax:

LOOP <Sprungziel>

Mit dem LOOP-Befehl wird veranlasst, dass zunächst das CX-Register um eins dekrementiert (heruntergezählt) wird. Falls es dann noch nicht den Wert Null besitzt, wird die Bearbeitung des Programms an der Marke <Sprungziel> fortgesetzt, ansonsten der nächste Befehl hinter dem LOOP-Kommando ausgeführt. Das LOOP-Kommando wird verwendet, um auf einfache Art und Weise Schleifen zu programmieren. Dazu wird der Maximalwert der Schleife in das CX-Register geladen und führen am Endes des Programmblocks innerhalb der Schleife ein LOOP-Kommando aus. Weil <Sprungziel> im Maschinenbefehl als 8-Bit-Entfernungswert codiert ist, darf es nur maximal 126 Byte vor oder 127 Byte hinter dem LOOP-Befehl liegen.

Beispiel:

LMOV CX,100 ;übertrage 100 nach CX
XOR AL,AL ;lösche AL
MARKE MOV ES:[CX],AL ;lösche indiziertes Byte
LOOP MARKE ;und bleibe in Schleife

Anzeige:

Anzeigen: