Программы - Программа очистки экрана.
Программирование2640, Графика1888, Ассемблер1600, Z801317, Алгоритмы373, Обучение192, Экран123, Атрибуты41, Исходный код14, Примеры7, Дисплейный файл5, Тренировка3
Программа очистки экрана
Перед Вами программа очистки
экрана, написаная на языке
АССЕМБЛЕР. Эту программу можно
использовать как для
использования в ВаШих
программах, так и для тренировки
в практическом программировании
на АССЕМБЛЕРЕ.
Кратко описать работу
программы можно так:
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 ;возврат
Другие статьи номера:
|
|
|
|
Программы - Программа очистки экрана.
|