Язык программирования "Турбо Ассемблер", помочь найти ошибку:
TITLE Laba5; Заголовок
STAK SEGMENT PARA STACK 'STACK'; Заполнение стекового сегмента
DB 64 DUP('STACK ');
STAK ENDS;
DSEG SEGMENT PARA PUBLIC 'DATA'; Заполнение сегмента данных
MY_LABEL DB 'AAI EM-16';
DSEG ENDS;
CSEG SEGMENT PARA PUBLIC 'CODE'; Открытие кодового сегмента
PG PROC FAR; Программа сделана в виде процедуры
ASSUME CS:CSEG,DS:DSEG,SS:STAK; Присваим имена к сегментам
PUSH DS; Необходимые команды для работы отладчика
MOV AX,0;
PUSH AX;
MOV AX, DSEG;
MOV DS, AX;
MOV AX,STAK;
MOV SS,AX;
MOV AH,3
INT 10H
MOV AX, 0B878H; Загрузка в аккумулятор сегмента видеобуфера (передача данных в регистр)
MOV ES, AX; Помещаем этот адрес в сегментный регистр
MOV CX, 9000; Задаем число повторений цикла LOOP, равное числу необходимых строк
MOV BX, 02; Задаем смещение первого символа
MOV AX, 0B878H; Загрузка в аккумулятор сегмента видеобуфера (передача данных в регистр)
MOV ES, AX; Помещаем этот адрес в сегментный регистр
MOV CX, 1; Задаем число повторений цикла LOOP, равное числу необходимых строк
MOV BX, 02; Задаем смещение первого символа
NEXT:
MOV AX, 04541H; Передача данных в регистр. Задаем букву и цвета: фон и сама буква
MOV ES:BX, AX; Размещение данных в видеобуфер
ADD BX, 2; Сложение данных с регистром. Задаем смещение следующего символа
MOV AX, 04541H;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 04549H;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 04520H;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 04545H;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 0454DH;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 0452DH;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 04531H;
MOV ES:BX, AX;
ADD BX, 2;
MOV AX, 04536H;
MOV ES:BX, AX;
ADD BX, 2;
ADD BX, 142;
LOOP NEXT; Повторение цикла СХ раз
RET; Выход из подпрограммы
PG ENDP; Конец текста подпрограммы
CSEG ENDS; Закрытие кодового сегмента
END PG; Конец всей программы