1

Peut-on encore optimiser cette routine ?
sachant que le addq.w d3,a0 est nécessaire pour avoir 8 cycles d'attente

BIT macro
clr.b (a1) ;CK<-1
adda.w d3,a0 ;ne fait rien, remplace 2 nop -> 8 cycles
move.b d5,(a1) ;CK<-0
move.b (a1),d1
lsr.b #3,d1
roxr.b #1,d4
endm

;d0.w nombre d'octets à recevoir
;(a0) buffer
Receive:
lea $60000E,a1
moveq #%10,d5
moveq #0,d3

\wait btst #2,(a1) ;attend D=1 (PIC prêt)
bne \wait

\byte BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT

not.b d4
move.b d4,(a0)+
dbra d0,\byte

rts

2

Je pense qu'en transformant ta macro en sous programme tu gagnerais de la mémoire mais en vitesse tu en perderais donc si tu recherche la vitesse ce que je pense ta routine est optimisé, pour moi. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.