Инструкция SCAS вычитает элемент строки-приемник (байт или слово в зависимости от типа операнда), адресуемый регистром DI, из содержимого регистра AL или AX соответственно и модифицирует флаги, но не меняет ни строку, ни содержимое аккумулятора. После SCAS регистр DI указывает на следующий элемент строки, а флаги AF, CF, OF, PF, SF и ZF отражают отношение содержимого аккумулятора к элементу строки. Если присутствует префикс REPE или REPZ, выполняется операция "сканирование до конца строки (пока в CX не 0) и пока элемент строки равен содержимому аккумулятора (ZF=1)".
Если присутствует префикс REPNE или REPNZ, выполняется операция "сканирование до конца строки (пока в CX не 0) и пока элемент строки не равен содержимому аккумулятора (ZF=0)". Этот способ может использоваться для поиска значения в строке.
SCASB/SCASW - сканирование строки байтов или слов
Работа этих инструкций аналогична SCAS с той лишь разницей, что здесь длина элемента строки задана явно: 1 байт для SCASB и 2 байта для SCASW.
АРИФМЕТИЧЕСКИЕ КОМАНДЫ
Арифметические операции выполняются над целыми числами четырех типов:
- без знаковыми двоичными;
- знаковыми двоичными;
- упакованными десятичными;
- неупакованными десятичными;
КОМАНДЫ СЛОЖЕНИЯ