8086/88 Assembler Befehlsreferenz SCASB

Scan string byte.

Vergleiche ein Byte eines Strings mit dem Inhalt des AL-Registers.

Syntax:

SCASB

Dieses Kommando ist einer der Befehle, in die der SCAS-Befehl vom Assembler übersetzt wird. SCASB vergleicht ein Byte des über ES:DI adressierten Strings mit dem Inhalt des AL-Registers. Dazu subtrahiert der Prozessor den Inhalt des Strings an der Stelle ES:DI v-an AL und setzt die Kennzeichenbits entsprechend dem Ergebnis. ES und AL werden dabei nicht verändert. Nach dem Vergleich wird das DI-Register je nach Zustand des Richtungs-Flags um 1 erhöht oder vermindert. Der SCASB-Befehl wird meist in REP-Schleifen verwendet, um in einem String ein bestimmtes Byte zu suchen.

Beispiel:

;ES muss bereits auf das Extrasegment zeigen
LEA DI,ES:STRING ;lade Offset eines Strings
MOV CX,500 ;String ist 500 Bytes lang
MOV AL,42h ;Vergleichswert ist der Buchstaben B
REPNZ SCASB ;durchsuche String
JCXZ NICHTDA ;wenn jetzt CX = 0 ist, dann wurde der Buchstabe nicht gefunden - gehe zum Label NICHTDA
... ;Buchstabe ist enthalten
NICHTDA: ... ;Buchstabe ist nicht enthalten

Anzeige:

Anzeigen: