Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаб13

.docx
Скачиваний:
0
Добавлен:
26.03.2021
Размер:
46.03 Кб
Скачать

ЛАБОРАТОРНА РОБОТА №13

Тема: Програмування з використанням команд обробки рядків.

Мета: Вивчення принципу дії та способів ефективного використання команд обробки послідовностей.

Завдання:

  1. Визначити кількість слів у тексті, що збігаються з заданим словом (між

словами – пробіли).

Лістинг програми:

data segment

msg1 DB "Enter string: $"

msg2 DB 0Ah, 0Dh, "Enter substring to find: $"

msg3 DB 0Ah, 0Dh, "rez: $"

str1ml DB 200

str1l DB '$'

str1 DB 200 dup('$')

str2ml DB 200

str2l DB '$'

str2 DB 200 dup('$')

ends

stack segment

dw 128 dup(0)

ends

code segment

start:

mov ax, @data

mov ds, ax

mov es,ax

xor ax,ax

lea dx, msg1

mov ah, 09h

int 21h

lea dx, str1ml

mov ah, 0Ah

int 21h

lea dx, msg2

mov ah, 09h

int 21h

lea dx, str2ml

mov ah, 0Ah

int 21h

xor cx, cx

mov cl, str1l

sub cl, str2l

inc cl

cld

lea di, str2

lea si, str1

xor ax, ax

all_string:

push cx

push di

push si

mov bx, si

mov cl, str2l

repe cmpsb

je eq

jne neq

eq:

inc al

jmp neq

neq:

pop si

pop di

pop cx

inc si

loop all_string

mov cl,al

add cl, 30h

lea dx, msg3

mov ah, 09h

int 21h

mov dl, cl

mov ah, 2

int 21h

mov ax, 4c00h

int 21h

ends

end start

Рисунок 1 – Результат виконання

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]