GT Turbo -> C'est mieux comme ça ?

(merci Zerosquare \o/)
Et sinon, si, tu peux lire mon code, où est le problème ?

Brunni -> je sais, je sais. Je connais bien ça. Tout ton poste tourne autour d'une seule instruction : bsr. Sauf que là, il ne s'agit pas d'une question d'assemblage mais de linking. L'assembleur est là pour créer un fichier objet, pas un binaire. Que le linker résolve les sauts ne me pose aucun problème, c'est d'ailleurs étudié pour comme dirait Fernand Reynaud. Sauf que si j'ai impérativement besoin d'un bsr.s, je lui dirai. Et si ça ne peut plus linker, il me le fera savoir. Si à l'inverse je veux un bsr.w, je lui dirai également, et ma volonté sera exécutée. Si enfin je m'en fous, je lui laisse faire au mieux.
Mais l'assembleur, lui, n'a à toucher à strictement rien.
Si j'écris un clr.l dn, c'est pas pour avoir un moveq #0,dn. Si j'écris un adda.l #x,an, c'est pas pour avoir un lea x(an),an. Etc... Et j'entends que l'assembleur respecte ça à la lettre.
A noter d'ailleurs que le code de ld-tigcc n'est pas optimal au niveau des bsr, et ne produira pas toujours des références courtes, même si c'est possible, par exemple dans le cas de références croisées. Une solution pour linker au mieux est de tenter de tout coder en références courtes, et d'étendre au fur et à mesure les références impossibles.