.l dn,(a0)
faire ça : move.l (a0),dn and.l [masque],dn or.l [sprite],dn move(masque et sprite sont dans des registres de données)
En supposant que ça irait peut-être plus vite, ce qui s'est confirmé lors des benchs. Le code est en effet légèrement plus rapide. À peine.
Puis, j'ai voulu compter les cycles quand même pour savoir combien de cycles je gagnais à faire cette méthode.
J'ai donc par ligne pour la première version : 20 + 20 = 40 cycles.
Et pour la deuxième version : 12 + 8 + 8 + 12 = 40 cycles.
Or, la deuxième version est plus rapide (très légèrement, 2-3

Savez vous m'expliquer pourquoi ?