8086/88 Assembler Befehlsreferenz REP

Repeat.

Wiederhole eine String-Anweisung.

Syntax:

REP <String-Befehl> <Parameter>

Der REP-Befehl ist kein eigenständiger Maschinenbefehl, sondern ein sogenanntes Wiederholungspräfix. REP steht vor einen beliebigen String-Befehl, der je nach Syntax einige Parameter hat. Der Befehl hinter dem REP-Präfix wird dann so lange wiederholt, bis das CX-Register den Wert 0 besitzt. Wenn der String-Befehl eine der beiden Vergleichsoperationen CMPS oder SCAS ist, so bricht der Prozessor die Schleife auch dann ab, wenn das Zero-Flag gelöscht wird, er also eine Differenz bei den zu vergleichenden Strings findet. Nach jeder Ausführung des jeweiligen String-Befehls zählt der Prozessor das CX-Register um 1 herab. Der Befehl wird in Schleifen genutzt, die ganze Zeichenketten verarbeiten sollen, zum Beispiel beim MOVS-Kommando. Bei diesen Befehlen wird zuerst in das CX-Register die Länge des Strings eingetragen und dann wird mit dem REP-Präfix der kompletten String verarbeitet.

Beispiel:

MOV CX,100 ;der String ist 100 Worte lang
LEA SI,STRING1 ;lade Adresse des ersten Strings
LEA DI, ES: STRING2 ;lade Adresse des zweiten Strings
REP MOVSW ; übertrage einzelnes String-Wort in einer Schleife

Anzeige:

Anzeigen: