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