Так в чем проблема? яндекс бы те помог найдется все 
| Цитата | SCAS/SCASB/SCASW: Поиск байта или слова в строке -------------------------------------------------- О п е р а ц и я: Выполняет поиск определенного байта или слова в строке. Для команды SCASB необходимое значение загружается в регистр AL, а для команды SCASW - в регистр AX. Регистровая пара ES:DI указывает на строку в памяти, которая должна быть сканирована. Данные команды обычно используются с префиксом REPE или REPNE. Если флаг DF равен нулю, то операция сканирует память слева направо и увеличивает регистр DI. Если флаг DF равен единице, то операция сканирует память справа налево и уменьшает регистр DI.
Ф л а г и: Команда воздействует на флаги AF, CF, OF, PF, SF и ZF.
О б ъ е к т н ы й к о д: 1010111w (без операндов).
|
| Цитата | СКАНИРОВАНИЕ И ЗАМЕНА ------------------------------------------------------------ В процессе обработки текстовой информации может возникнуть необходимость замены определенных символов в тексте на другие, например, подстановка пробелов вместо различных редактирующих символов. В приведенном ниже фрагменте программы осуществляется сканирование cтроки STRING и замена символа амперсанд (&) на символ пробела. Когда команда SCASB обнаружит символ & (в примере это будет позиция STRING+8), то операция сканирования прекратит ся и регистр DI будет содержать aдрес STRING+9. Для получе ния адреса символа & необходимо уменьшить содержимое DI на единицу и записать по полученному адресу символ пробела. STRLEN EQU 15 ;Длина поля STRING STRING DB 'The time&is now' ... CLD MOV AL,'&' ;Искомый символ MOV CX,STRLEN ;Длина поля STRING LEA DI,STRING ;Адрес поля STRING REPNE SCASB ;Сканировать
Ассемблер для IBM PC. Глава 11 248
JNZ K20 ;Символ найден? DEC DI ;Да - уменьшить адрес MOV BYTE PTR[DI],20H ;Подставить пробел K20: RET
| |