 
        
        Описание блоков программы:
- БЛОК №1 (строки 25-27) 
Запись регистров DS и AX в стек.
- БЛОК №2 (строки 29-30) 
Настройка сегментного регистра данных DS.
- БЛОК №3 (строки 32-34) 
Вывод на экран сообщения MES1 по функции 09H прерывания 21H (регистр DX – адрес выводимой строки с символом '$' на конце).
- БЛОК №4 (строки 36-38) 
Вывод на экран сообщения MES2 по функции 09H прерывания 21H (регистр DX – адрес выводимой строки с символом '$' на конце).
- БЛОК №5 (строки 40-42) 
Ввод с клавиатуры строки tabs из 20 символов (10 слов) по функции 0AH прерывания 21H. Регистр DX – буфер для вводимой строки, содержащий следующие байты:
1-й байт – размер буфера для ввода (формирует пользователь);
2-й байт – число фактически введенных символов (без учета символа 0DH);
3-й байт и далее – введенная строка с символом 0DH на конце.
- БЛОК №6 (строки 44-46) 
Вывод на экран сообщения MES3 по функции 09H прерывания 21H (DX – адрес выводимой строки с символом '$' на конце).
- БЛОК №7 (строки 48-50) 
Ввод с клавиатуры строки FAM из 20 символов (10 слов) по функции 0AH прерывания 21H.
- БЛОК №8 (строки 52-54) 
Подготовка регистров к проведению цикла сравнения строк FAM и TABS (сравнение ASCII-кодов символов) и записи результата в строку DIM.
- БЛОК №9 (строки 56-66) 
Проведение цикла сравнения строк FAM и TABS: строки сравниваются по словам (по 2 символа) и в случае совпадения ASCII-коды этих символов записываются в строку DIM. Если пары символов отличаются, то в строку DIM записывается 3030H (30H – код нуля).
- БЛОК №10 (строки 68-75) 
Очистка экрана путем его прокрутки вверх по функции 06H прерывания 10H
(CX=0000 – левый верхний угол экрана, DX=2580 – правый нижний угол экрана).
БЛОК №11 (строки 77-80)
Установка курсора в позицию 00:00 по функции 02H прерывания 10H (BH –страница, DH – строка, DL – столбец).БЛОК №12 (строки 82-84)
Вывод на экран сообщения MES4 по функции 09H прерывания 21H (DX – адрес выводимой строки с символом '$' на конце).
БЛОК №13 (строки 86-98)
Вывод строки DIM на экран с использованием процедуры PRINT, в которую передаются 2 параметра: регистр AX содержит ASCII-коды 2 символов, регистр BL – цветовой байт. Формат цветового байта (байт-атрибут):
Действие Мигание R G B Яркость R G B
Н омер
бита	   7		6	5	4	   3 	2	1	0
  
омер
бита	   7		6	5	4	   3 	2	1	0
Фон Символ
Символы выводятся на экран парами, причем пары с нечетными номерами выделяются красным цветом, а пары с четными номерами отображаются на синем фоне.
БЛОК №14 (строка 105)
Запись регистра AX в стек.
- БЛОК №15 (строки 107-110) 
Вывод на экран символа по функции 09H прерывания 10H (ASCII-код символа хранится в AL, BH – номер страницы, CX – число повторений символа).
- БЛОК №16 (строки 112-114) 
Определение положения курсора по функции 03H прерывания 10H (результат записывается в регистр DX: DH – строка, DL – столбец).
- БЛОК №17 (строки 116-119) 
Сдвиг курсора на 1 позицию по функции 02H прерывания 10H (BH –страница, DH – строка, DL – столбец).
- БЛОК №18 (строки 121-122) 
Восстановление регистра AX из стека; обмен AH и AL для вывода на экран второго символа из AX.
- БЛОК №19 (строки 124-126) 
Вывод на экран символа по функции 09H прерывания 10H (ASCII-код символа хранится в AL, BH – номер страницы, CX – число повторений символа).
- БЛОК №20 (строки 128-130) 
Определение положения курсора по функции 03H прерывания 10H (результат записывается в регистр DX: DH – строка, DL – столбец).
- БЛОК №21 (строки 132-135) 
Сдвиг курсора на 2 позиции по функции 02H прерывания 10H (разделение пар символов 1 пробелом).
Вывод
Научились анализировать ход выполнения программы на языке Ассемблера при помощи отладчика TurboDebugger.
