8086/88 Assembler Befehlsreferenz LOOPE

Loop while equal.

Führe Schleife aus, solange CX ungleich Null und das Zero-Flag gesetzt ist.

Syntax:

LOOPE <Sprungziel>

Mit dem LOOPE-Befehl wird der Prozessor veranlasst, zunächst das CX-Register um eins zu dekrementieren. Falls es dann noch nicht den Wert Null besitzt, wird die Bearbeitung des Programms an der Marke <Sprungziel> fortgesetzt, wenn zusätzlich das Nullkennzeichen (Zero-Flag) gesetzt ist. Ansonsten wird der nächste Befehl hinter dem LOOPE-Kommando ausgeführt. Das LOOPE-Kommando wird normalerweise eingesetzt, um in Schleifen nach Werten ungleich Null zu suchen. Der Maximalwert der Schleife wird in das CX-Register geladen und führt den Programmblock dann innerhalb eines LOOPE-Kommandos aus. Weil <Sprungziel> im Maschinenbefehl als 8-Bit-Entfernungswert codiert ist, darf es nur maximal 126 Byte vor oder 127 Byte nach dem LOOPE-Befehl liegen.

Beispiel:

MOV CX,100 ;lade 100 nach CX
MARKE MOV AL, ES: [CX] ;lade indiziertes Byte
LOOP MARKE ;und bleibe in Schleife, solange Byte = 0 und CX > 0

Anzeige:

Anzeigen: