:: СОДЕРЖАНИЕ НОМЕРА
:: Газетные рубрики
:: АВТОРЫ
:: Поиск
:: Поддержка проекта
Webmoney:
|
:: №5 (27.04.2001) Просмотров: 4635
Рубрика: Этюды. Номер: №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-Ревю и собственные наработки. |