szanowni koledzy, proszę o optymalizację tej procedury:
ld a,($ffff) ;13
and %11000000 ;7
ld c,a ; ;4
ld a,($ffff) ;13
and %00110000 ;7
ld d,a ;4
ld a,($ffff) ;13
and %00001100 ;7
ld e,a ;4
ld a,($ffff) ;13
and b ;4
add1
add a,c ;4
add2
add a,d ;4
add3
add a,e ;4
ld l,a ;4
ld a,(hl) ;7
ld ($ffff),a ;13
inc h ;4
ld a,(hl) ;7
ld ($ffff),a ;13
dec h ;4
Procedura ma na celu postawienie 2 bajtów (jeden pod drugim) i jest rozpętlona. Rozmiar pixela- 2 x 2. Procedura generująca hektar kodu podstawia na sztywno miejsca w tablicy z których ma się brać pixel (każdy pixel zajmuje 2 bity i jest powtórzony 4 razy w bajcie) - to rozkazy
ld a,($ffff)
rejestry c,d i e służą do przechowywania wartości danych pixli do późniejszego dodawania, rejestr b przechowuje wartość "%00000011" dla oszczędzenia 3 cykli przy rozkazie "and".
Algorytm wykonuje się w 153 T stanach, nie za bardzo mam pomysł jak to dalej optymalizować.