ify"> DeleteSign macroStart, beg, end, m0, m1, m2 si, Mystring; Завантаження строкіcl, byte ptr [si]; Кількість букв в рядку p>
inc cl; інкр.т.к.добавім один символ
mov byte ptr [si], cl; di, si; рядок-пріемнікch, ch;
add di, cx; На кінець предложеніяbyte ptr [di-1], ','; запис в кінець пропозиції ',' byte ptr [di], '$'; та ознаки кінця предложеніяsi; на початок строкіdi, si; ds; Суміщення регістровes;
; Видалення знаків пунктуації якщо:; немає першого слова; завантаження символу строкіal, ''; Пошук розділових знаків
je m0; al, '.' ; M0; al, ','; m0; cx; di;
dec si; поправкаmovsb; "Видалення" символів
pop dicxdi
jmp Beg: loop Start
; Видалення знаки після першого і:; наступних словsi, didial, ''; Пошук розділових знаків
je m1al, '.' m1al, ',' m1BegEnd:
lodsbal, ''; Пошук розділових знаків
je m2al, '.' m2al, ',' m2cxdibyte ptr [di-1], ','; запис в кінець слова ','
dec si; поправкаmovsb; "Видалення" знаки
pop dicxbeg: loop m1: popreg
; ****** Порівняння слів ********************************* *********** macro FirstWord, SecondWord si, Mystring; Завантаження строкіdi, sidsesch, ch
mov cl, FirstWord; Обчислення початку первогоsi, cx; іch, ch; другого
mov cl, SecondWord; словdi, cx; ch, chcl, R0; довжина цепочкіcmpsb; просуваємося по ланцюжку
; ***** Обміняти слова ********************************** ********** macro First, SecondmLoop si, MyString; завантаження строкіdi, si;
xor ch, ch; cl, First; обчислення первогоsi, cx; іch, ch; другого
mov cl, Second; словdi, cx;
xor ch, ch; cl, R0; довжина слів: al, byte ptr [si]; завантаження обмінюваних символів
mov ah, byte ptr [di]; al, ah; обменbyte ptr [si], al;
mov byte ptr [di], ah; збереження обменяних сімволовsi; di; mLoop; продовжуємо поки не кінець слів
popreg
EndM
; ***** Cчітиваніе рядка з клавіатури ****************************** p>
ReadString macro RdStrm1dx, RdStr; адреса рядка DS: DXbx, dxbyte ptr [bx], 250; MAX число символів, що вводять
mov ah, 0ah; фукций DOS введення строкі21h; виклик переривання
; пропуск 1-го байта і запис в кінець
; пропозиці...