|
Программа очистки экрана
Перед Вами программа очистки
экрана, написаная на языке
АССЕМБЛЕР. Эту программу можно
использовать как для
использования в ВаШих
программах, так и для тренировки
в практическом программировании
на АССЕМБЛЕРЕ.
Кратко описать работу
программы можно так:
1. Каждый байт из первых
Шести килобайтов экранной
области (дисплейный файл без
атрибутов) подвергается сдвигу
влево, при этом старШий бит
байта записывается во флаг
переноса 'С', а затем теряется.
Эффект, возникаЮЩий при
выполнении этой программы я
пожалуй описывать не буду, т.к.
Вы сами сможете за ним
проследить после запуска
программы.
2. Вторая часть программы
выполняет очистку атрибутов с
экрана. Экран будет заполнен
текуЩими атрибутами
содержаЩимися в системной
переменной 'ATTR_P'.
10 ENT $ ;определяем адрес
запуска командой 'R'
20 DI ;запрет маскируемых
прерывани
30 LD B,8 ;счетчик цикла-8
сдвигов байта
40 MOVE
50 LD HL,16384 ;в HL -
начало экранной области. 60 LD
DE,6144 ;ее длина без атрибутов
70 ADD
80 RL (HL) ;сдвиг влево
байта адрес к-го в 'HL'
90 INC HL ;'HL'- увеличить
на единицу
100 DEC DE ;УменьШение 'DE'
на единицу
110 LD A,D ;Проверка
счетчика в 'DE'
120 OR E ;на ноль
130 JR NZ,ADD ;если не ноль
то не конец
140 DJNZ MOVE ;весь экран
сместился на 1,и так 8 раз
;здесь начинается вторая
часть программы
150 LD HL,22528 ;начало
области атрибутов
160 LD DE,22529;плЮс один
байт
170 LD BC,768 ;длина области
атрибутов
180 LD A,(23693);загрузить
текуЩее значение
190 LD (HL),A ;в первый байт
атрибутов
200 LDIR ;и в остальные
210 EI ;разреШение
прерываний
220 RET ;возврат
Other articles:
|
|
|
Similar articles:
В этот день... 21 November