jarrive pas a faire un adressage indirect, indexe avec deplacement
ex : move.w d0,$20(a0,d1*2)
ca doit etre au niveau des points : $20..(a0
Jah Live !
And Never Die !!
oué, il me semble que c'est le 68k Guide de Jimmy marderl (écrit pour TI-92... mais il est valable pour 89 et 92+, vu que c'est le même processeur)
C'est LA référence des docs de fonctions ASM.
sous TIGCC, j'utilise cette doc.
PS: je penses que c'est bien le guide dont je parle... le lien est dans ma liste de liens utiles... mais la légende que j'ai mis est courte
L'adressage est correct, sauf le d1*2. Les multiplications avec des *, ca n'existe pas en asm. On ne peux pas multiplier en plein milieu de cet adressage,il faut le faire avant. utilise "mulu.w #2,d1".
Mais là c'est pas super optimisé d'utiliser mulu pour une multiplication par 2, mulu est très très lent. Utilise plutot "lsl" : c'est un décalage de bit vers la gauche. Pour multiplier par 2^1, fait "lsl.w #1,d0" (ou "add.w d1,d1", c encore mieux je crois). Pour Pour multiplier par 2^2, fait "lsl.w #2,d0", etc...
Miles Le 22/01/2002 à 20:46 Cet adressage existe, il sera disponible sur la DioXygene...
Et personne ne l'utilisera, car les HPistes auront déjà des difficultés à comprendre x(an,dn) et le TIistes n'utiliseront que les instructions du 68000.
Miles Le 23/01/2002 à 08:06 sauf moi!!
Pour lancer une routine, c'est pratique!!