У меня как-то так получилось:
58 тактов / байт
Стековый вариант 57,5 тактов на байтКод:LD HL,#401F DUP 32 ; SCROLL 3 LD C,(HL) RL C EX AF,AF' RL C EX AF,AF' RLA RL C RRA LD (HL),C DEC L EDUP
Если использовать прямую адресацию LD HL,(nn) / LD (nn),HL — получим 56 тактов на байт.
Если пишем стеком LD HL,(nn) / PUSH HL немного быстрее будет — 53,5 такта на байт.Код:LD (STACK+1),SP LD HL,#401E DUP 16 ; SCROLL 3 LD SP,HL DEC L DEC L POP DE RL D EX AF,AF' RL D EX AF,AF' RLA RL D RRA RL E EX AF,AF' RL E EX AF,AF' RLA RL E RRA PUSH DE EDUP STACK: LD SP,#0000
Вариант без EX AF,AF', по скорости одинаково.Код:ADR=#401E LD (STACK+1),SP LD SP,#4020 DUP 16 ; SCROLL 3 LD HL,(ADR) RL H EX AF,AF' RL H EX AF,AF' RLA RL H RRA RL L EX AF,AF' RL L EX AF,AF' RLA RL L RRA PUSH HL ADR=ADR-2 EDUP STACK LD SP,#0000
Код:ADR=#401E LD (STACK+1),SP LD SP,#4020 DUP 16 ; SCROLL 3 LD HL,(ADR) RL H RLA RL H RLA RL H RRA RRA RL L RLA RL L RLA RL L RRA RRA PUSH HL ADR=ADR-2 EDUP STACK LD SP,#0000





Ответить с цитированием