quinta-feira, 23 de abril de 2020

Optimizações Z80

A programar em Z80, existem vários caminhos para chegar ao mesmo resultado, como sempre em programação.

Numa listagem de  optimizações mais conhecidas:

ADD      HL,1       ->   INC          HL

LD          A,0          ->  XOR        A              (menos 1 byte / cerca de metade do tempo)

CALL nnn              -> JP             nnn
RET

CP           0             ->  OR            A
JR            Z/NZ,

Subtrair HL de um valor, 2 por exemplo; Adicionar valor em complemento para 2

ADD         HL,$FFFE

Verificar se um valor de 16 bits é zero (DEC de 16 bits não afecta flags):

LD             A,H
OR             L
JR              Z,nn

Para uma lista mais exaustiva de optimizações, veja os seguintes artigos:

http://z80-heaven.wikidot.com/optimization
https://wikiti.brandonw.net/index.php?title=Z80_Optimization
http://shiar.nl/calc/z80/optimize

Sem comentários:

Publicar um comentário