Лабораторная работа №4. Часть2. Вариант1
.docЛабораторная работа №4. «Строковые команды». Вариант 1.
Задание: Программа вводит число или символ с клавиатуры и сканирует строку в соответствии с условием. Строку описать в сегменте данных.
Вариант 1: Сколько раз введенный код совпадает с элементом строки.
Программа:
.data
input db "Insert symbol",0ah,0dh,'$'
string db "String2compare-159887wd$" ;Строка для сравнения
strlen = ($-string)-1
msg db "There are "
k db '0'
db " coincidences with string $"
.stack
dw 128 dup(0)
.code
start:
mov ax, data
mov ds, ax
mov es, ax
xor bx,bx
xor dx,dx
mov ah,09h ;Выводим сообщение
mov dx, offset input
int 21h
mov ah,7h ;Вводим символ
int 21h
lea di,string ;Смещение строки
mov cx,strlen ;Количество элементов строки
label: scasb ;Сканируем строку на совпадение с содержимым al
jz increment
continue:
loop label
add dl,30h
mov k,dl
mov dx, offset msg ;Вывод результатов
mov ah,9
int 21h
mov ax, 4c00h
int 21h
increment: inc dx
jmp continue
end start