se me ocurre esto,porque no creo que sea posible lo de la variable
directamente:
; SET (var),A
; var=[0,7]
PUSH AF
LD A,[VAR]
LD B,A
LD A,0
SCF
NBIT:
RLA
DJNZ NBIT
LD B,A
POP AF
OR B
En lugar de usar el push af y pop af usa un ex af,af' al principio y otro
al final. En lugar de usar ld a,0 usa xor a o sub a, ocupan 1 solo byte y
son mas rapidas. En este casi si puedes usar RLCA sin problemas, como a es
0 no va a afectar los bits superiores.
Yakumo: tienes razon sobre lo de la sobreoptimizacion, muchas veces st
pones a optimizar y no avanzas nada por optimizar las cosas al maximo, y
normalmente es en sitios donde no afecta a la velocidad final del
programa, pero hay una serie de habitos que hay que usar siempre de manera
automatica como el xor a, y aquellas rutinas criticas hay que optimizarlas
en cuanto se escriben, porque en caso contrario no realizaran su trabajo
de manera correcta.
Roberto.