![]() |
|
:: СОДЕРЖАНИЕ НОМЕРА
:: Газетные рубрики
:: АВТОРЫ
:: Поиск
:: Поддержка проекта
Webmoney:
|
:: №5 (27.04.2001) Просмотров: 4953
Рубрика: Этюды. Номер: №5 (27.04.2001). ЭтюдыНа этот раз мы сделали подборку различных подпрограммок по работе с адресами в экранной области. Конечно же асам программирования все это давно известно, но вот начинающим наверняка будет полезно.Процедура расчета адреса в файле атрибутов из координат: На входе: D-X, E-Y ATR_1 LD A,E
ADD A,A
ADD A,A
ADD A,A
LD L,A
LD H,#16
ADD HL,HL
ADD HL,HL
LD A,L
OR A
LD L,A
RETВторой вариант: На входе: H-X, L-Y ATR_2 LD A,H
ADD HL,HL
ADD HL,HL
ADD HL,HL
LD H,#16
ADD HL,HL
ADD HL,HL
ADD A,L
LD L,A
RETНа выходе обеих процедур в HL будет содержаться адрес файла атрибутов. Решить противоположную задачу можно так: На входе: HL-адрес CRDS LD A,L
AND #1F
ADD HL,HL
ADD HL,HL
ADD HL,HL
LD L,H
LD H,A
LD A,L
AND #1F
LD L,A
RETНа выходе: H-X, L-Y. И еще одна простенькая процедура для расчета адреса в экранном файле из адреса в файле атрибутов: На входе: HL-адрес в файле атрибутов. ATR_SCR LD A,H
ADD A,A
ADD A,A
ADD A,A
AND #7F
LD H,A
RETНа выходе: HL-адрес экранного файла. Процедура для расчета адреса в экранном файле из координат. На входе: HL-координаты в знакоместах. SCR_ADR LD A,L
AND 7
RRCA
RRCA
RRCA
ADD A,H
LD H,L
LD L,A
LD A,H
AND #18
OR #40
LD H,A
RETНа выходе: HL-адрес в экранном файле. Процедура для расчета адреса в экранном файле из координат. Часто применяется при выводе спрайтв. На входе: D-X (в знакоместах), E-Y (в пикселях). SCRadr2 LD A,E
AND 7
LD C,A
LD A,E
AND 192
RRCA
RRCA
RRCA
OR #40
OR C
LD H,A
LD A,E
AND 56
RLCA
RLCA
OR D
LD L,A
RETНа выходе: HL-адрес в экранном файле. Процедура для перехода на одну пиксельную линию в экране ниже. Так же, как и предыдущая процедура, часто применяется при выводе спрайтов. На входе: HL-адрес в экранном файле. LINE_HL INC H
LD A,H
AND 7
RET NZ
LD A,L
ADD A,32
LD L,A
RET C
LD A,H
SUB 8
LD H,A
RETНа выходе: HL-адрес в экранном файле ниже на пиксель от исходного. При подготовке рубрики были использованы материалы журнала ZX-Ревю и собственные наработки. |