
Сообщение от
GM BIT
Помогите с оптимизацией построения вертикальной линии. То, что надумал я не устраивает по скорости
Дело в том, что на входе желательно только иметь адрес и кол-во точек
До начала построения основного экрана строится линия примерно из 350 точек, хочется выйти на 700

Код:
/// вход hl,adr, b - длина
line ld hl,16384 ;начало линии
ld b,85
ld a,h
and 7
sub 8
neg
ld c,a
///
sc0 set 2,(hl) ;рисуем в одном знакоместе
inc h ;
dec c ;
jr z,sc1 ;
djnz sc0 ;
ret
sc1 ;переходим на знакоместо ниже
ld a,l
add a,32
ld l,a
jr c,sc3
ld a,h
sub 8
ld h,a
sc3 ld c,8
djnz sc0
ret
но это все медленно
Код:
быстро так
на входе
sp адрес таблицы адресов экрана
b количество точек
loop
pop hl
add hl,de
set 2,(hl)
djnz loop