8086/88 Assembler Befehlsreferenz SCASW

Scan string word.

Vergleiche ein Wort eines Strings mit dem Inhalt des AX-Registers.

Syntax:

SCASW

Dieses Kommando ist einer der Befehle, in die der SCAS-Befehl vom Assembler übersetzt wird. SCASW vergleicht ein Wort des mit ES:DI adressierten Strings mit dem Inhalt des AX-Registers. Dazu subtrahiert der Prozessor den Inhalt des Strings an der Position ES:DI von AX und setzt die Kennzeichenbits entsprechend dem Ergebnis. ES und AX werden dabei nicht verändert. Nach dem Vergleich wird das DI-Register je nach Zustand des Richtungs-Flags um 2 erhöht oder vermindert. Der SCASB-Befehl wird meist in REP-Schleifen verwendet, um in einem String ein bestimmtes Wort (zwei 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 Worte lang
MOV AX,OF23h ;Vergleichswert ist die Zahl OF23hex
REPNZ SCASW ;durchsuche String
JCXZ NICHTDA ;wenn jetzt GX = 0 ist, dann wurde die Zahl nicht gefunden. Gehe zum Label NICHTDA
... ;Zahl ist enthalten
NICHTDA: ... ;Zahl ist nicht enthalten

Anzeige:

Anzeigen: