Intel 80C186XL Computer Hardware User Manual


 
INSTRUCTION SET DESCRIPTIONS
C-42
SCAS Scan String:
SCAS
dest-string
Subtracts the destination string
element (byte or word) addressed by
DI from the content of AL (byte string)
or AX (word string) and updates the
flags, but does not alter the destination
string or the accumulator. SCAS also
updates DI to point to the next string
element and AF, CF, OF, PF, SF and
ZF to reflect the relationship of the
scan value in AL/AX to the string
element. If SCAS is prefixed with
REPE or REPZ, the operation is
interpreted as "scan while not end-of-
string (CX not 0) and string-element =
scan-value (ZF = 1)." This form may be
used to scan for departure from a
given value. If SCAS is prefixed with
REPNE or REPNZ, the operation is
interpreted as "scan while not end-of-
string (CX not 0) and string-element is
not equal to scan-value (ZF = 0)."
Instruction Operands:
SCAS dest-string
SCAS (repeat) dest-string
When Source Operand is a Byte:
(AL) – (byte-string)
if
(DF) = 0
then
(DI) (DI) + DELTA
else
(DI) (DI) – DELTA
When Source Operand is a Word:
(AX) – (word-string)
if
(DF) = 0
then
(DI) (DI) + DELTA
else
(DI) (DI) – DELTA
AF
CF
DF
IF
OF
PF
SF
TF
ZF
Table C-4. Instruction Set (Continued)
Name Description Operation
Flags
Affected
NOTE: The three symbols used in the Flags Affected column are defined as follows:
– the contents of the flag remain unchanged after the instruction is executed
? the contents of the flag is undefined after the instruction is executed
the flag is updated after the instruction is executed