я набросал, но получилось 95 тактов. оптимизировать можно, но получатся те же 77 тактов, в лучшем случае. Вместо двубайтовых сложений в лоб - использовать однобайтовые (вместо 22528 добавлять только #58 к старшему байту и т.п.)
upd. чуть оптимизировал, вышло 80, без инициализаци (пару регистров надо занулить). у тебя 77 с инициализацией? Тогда сяду #58(00) делить на 4, чтобы потом умножить на 4 и сэкономить
upd2:
вот что вышло, может и заработает
;вход: a=X , l=Y
rra:rra:rra;12
and 224;7 смещение по х
ld h,#58/4 ;7
add hl,hl:add hl,hl;30
add a,l: ld l,a :adc a,h: ld h,a ;16
;/72
upd.3 - выше косяк - не обрезал Y три младших бита, был взволнован
;вход: a=X , l=Y
rra:rra:rra;12
and 224;7 смещение по х
ld h,#58/4 ;7
add hl,hl:add hl,hl;30
add a,l: and 31: ld l,a :adc a,h: ld h,a ;23
;/79
показывай свою![]()





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

