#117: à nuancer: ce n'est plus efficace qu'en vitesse (et encore, pas pour ton exemple), et moins efficace en taille, d'autant plus qu'il y a des trous dans la table. J'ai optimisé des bouts de code dans TICT-Explorer et TI-Chess en enlevant les switches et/ou en resserant les valeurs.
> "move.w #9984,sr"
Tiens, du SMC non voulu: tu écris par-dessus ton code, là...
La taille n'est pas forcément le seul intérêt: compare FastDrawLine dans ExtGraph <= 1.02 et dans ExtGraph > 1.02. Mais Genlib utilise beaucoup de SMC, surtout pour la taille.
PpHd Le 05/08/2005 à 08:36 Attention l'afficheur de sprite de graphlib n'est pas clippe.
Lionel Debroux Le 05/08/2005 à 10:05Edité par Lionel Debroux le 05/08/2005 à 10:26 Si, trap #1 suit d0-d2/a0-a1.
[EDIT: corrigé faute de frappe]
PpHd Le 05/08/2005 à 10:33 Je dirais meme que le trap #1 ne detruit que d0.
Il ne détruit en effet pas tous les registres parmi d0, d1, d2, a0, a1, mais il ne faut pas s'y fier...
PpHd Le 05/08/2005 à 12:02 Oue, sauf que s'ils trouvent le moyen de detruire un autre registre dans cette routine, je leur tire mon chapeau !
N'empêche qu'il ne faut pas compter dessus. Dans une liste de compatibilité des programmes, tu avais posté qu'il y a du code dans PedroM qui n'est destiné qu'à faire fonctionner correctement des programmes qui s'attendent à ce que d1 ou d2 ait une certaine valeur / ne soit pas détruit.
??? Y a un truc, là...
OSSetSR:
move.w 4(%sp),%d0
trap #1
rts