SCAS (Scan string)

PRÍZNAKY:

O

D

I

T

S

Z

A

P

C

*

-

-

-

*

*

*

*

*


PRÍKLADY:
SCAS operand1
SCASB
SCASW

OPIS: Inštrukcia sa používa k vyhľadávaniu bajtu, slova uloženého v registri AL, alebo AX v bloku dát uloženom v pamäti na adrese určenej dvojicou registrov ES:DI. Po porovnaní obsahu pamäti s príslušním registrom sa obsah registru DI zväčší resp. zmenší (podľa príznaku Direction flag) o 1 alebo 2, v závislosti na tom aké veľké dáta sa vyhľadávajú.

Vyhľadávanie prebieha buď:

po 8-bitoch SCASB DI, SI <- DI, SI +/- 1

alebo

po 16-bitoch SCASW DI, SI <- DI, SI +/- 2

Maximálný počet vyhľadávaných položiek určuje register CX. Ak použijeme pred inštrukciou prefix REPE (opakuj, pokiaľ je rovné), vyhľadávanie sa ukončí buď pri nájdení prvého rozdielu medzi blokom dát a registrom AL, prípadne AX alebo po vyhľadaní takého množstva položiek, aké udáva register CX. Môžeme tiež pred inštrukciou použiť prefix REPNE (opakuj, pokiaľ je rôzne), v tom prípade sa vyhľadávanie ukončí buď pri nájdení prvej zhody s registrom AL, AX s blokom dát, alebo po vyhľadaní takého množstva položiek, aké udáva register CX. Ak nepoužijeme žiadny prefix, uskutoční sa vyhľadanie iba prvej položky bloku dát s registrom AL, AX bez ohľadu na výsledok vyhľadávania.