1

Alors si qqun trouve pourkoi il est trop fort!

Regardez ça plutôt:
but:Recherchez un element ds une matrice et mettre dans l'adresse contenu par a0.

routine:
matrice macro
movem.l d0-d3,-(a7) ;On sauvegarde
move.w 1,d0 ;X
move.w 2,d1 ;Y
lea 3(pc),a0 ;adresse de la table
move.w 4,d2 ;taille des données 1=octet 2=word 4=long word
move.w 5,d3 ;largeur du tableau.
sub.w #1,d0 ;Car le tableau commenxe à [0,0]
sub.w #1,d1
;Calculs.
mulu.w d1,d3 ;On essaye de se mettre sur la bonne ligne.
mulu.w d2,d3 ;On calcule selon la taille des donées.
;d3= Y_position.
add.w d3,d0 ;On ajoute le X comme ça on est bien placé
add.w d0,a0 ;a0 pointe sur le bon long_word soit l'adresse qui nous interresse.
movem.l (a7)+,d0-d3
endm

Erreur détecté:
adresse error!

Exemple d'utilisation:
matrice d0,#1,data,#2,#100 ;On recherche la posiion dans la matrice.
move.w d7,(a0) ;on met la position dans le tableau à l'adresse rcherché.


data ds.b 200

2

Lol ! Je viens de trouvé j'ai juste fait un petite erreur ce qui donne maintenant!

matrice macro
movem.l d0-d3,-(a7) ;On sauvegarde
move.w 1,d0 ;X
move.w 2,d1 ;Y
lea 3(pc),a0 ;adresse de la table
move.w 4,d2 ;taille des données 1=octet 2=word 4=long word
move.w 5,d3 ;largeur du tableau.
sub.w #1,d0 ;Car le tableau commenxe à [0,0]
sub.w #1,d1
;Calculs.
mulu.w d1,d3 ;On essaye de se mettre sur la bonne ligne.
;d3= Y_position.
mulu.w d2,d0 ;On calcule selon la taille des donées.
add.w d3,d0 ;On ajoute le X comme ça on est bien placé
add.w d0,a0 ;a0 pointe sur le bon long_word soit l'adresse qui nous interresse.
movem.l (a7)+,d0-d3
endm

3

t'es pratique toi ! tu poses une question et tu y réponds !!!
roll
:D

4

Ouais si j'existais pas alors il faudrait m'inventé!