PpHd (./36) :
Sauf que ca prend 2 octets de plus qu'un simple lea \Mode(pc),a0
et surtout ça marche pas parce que a0 ne pointerait qu'indirectement vers "r" ^^ par contre sans swap et avec un move.l (a7)+,a0 ça marche et ça prend pas plus de place qu'un lea

enfin ça a quand même un inconvénient, ça prend plus de place dans la fonction elle-même donc ça pourrait transformer des bxx.s en bxx.w -- mais on peut aussi considérer le bsr comme un avantage de ce point de vue-là, puisque le saut introduit permet de réorganiser le code de la fonction et de rapprocher du code qui aurait nécessité des bxx.w
