Vous connaissez quoi comme astuce pour améliorer la vitesse de votre code?
Par exemple xor d0,d0, c'est plus rapide que clr.l d0?
Cherche un peu, le même topic a déjà été créé 50.000 fois...
Et pour ton exemple: non, le plus rapide est moveq.l #0,d0 (d'autant pls que xor d0,d0 == xor.W d0,d0 ...)

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
euh, dis moveq.l #0, %d0 c'est pas plus rapide que clr.l %d0 aussi ?
EDIT: post croisé
D'accord, je vais rechercher dans les autres topics, je voulais juste mettre dans celui-ci une petite liste de routines ou d'instructions optimisé.
Il y a un fichier là-dessus sur ticalc. Il s'appelle [google]68k_optimize.txt[/google] je crois.
Et puis sinon, il te suffit de regarder la vitesse des instructions.
Puisque ça parle de rapidité ici, quelqu'un pourrait me donner un lien vers le document le plus fiable en ce qui concerne le nombre de cycles des instructions du M68000 ?
[google]68000UM.pdf[/google]
Il faut juste regarder : 16 Bits intructions execution time
D'ailleurs, l'instruction xor n'existe pas. C'est eor.
La manière plus rapide pour effacer (sous réserve d'erreurs, évidemment):
* registre de données (octet): clr.b %dn ou sf.b %dn
* registre de données (mot): clr.w %dn
* registre de données (long): moveq.l #0,%dn
* registre d'adresses (mot): suba.w %an,%an
* registre d'adresses (long): suba.l %an,%an
* mémoire (octet) (octet): clr.b ea ou sf.b ea
* mémoire (octet) (word): clr.w ea
* mémoire (octet) (long): clr.l ea
Pour effacer en mémoire, on peut faire mieux en vitesse (moveq #0,dn; move.l dn,ea). C'est assez sensible, surtout dans une boucle. Il y a un document que je ne sais plus qui m'avait pointé, peut-être Franceso Orabona, sur Programmers' Heaven, qui le disait clairement. Je n'ai plus le lien, désolé... C'est un fichier petit, 2K environ.