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:
Enviar um comentário