ORG $0
DC.L $1E00
DC.L START
ORG $0800
N1 DC.L $40200000
N2 DC.L $C0200000
N3 DS.L 1
START MOVE.L (N1),-(A7) On place la valeur de N1 sur la pile
PEA N3 On place l'adresse de N3 sur la pile
BSR ABS
ADD.L #8,A7 On restitue la valeur de la pile
MOVE.L (N2),-(A7) On place la valeur de N2 sur la pile
PEA N3 On place l'adresse de N3 sur la pile
BSR ABS
ADD.L #8,A7 On restitue la valeur de la pile
BREAK Fin du programme principal
ABS MOVE.L 4(A7),A0 On récupère l'adresse où stocker le résultat
MOVE.L 8(A7),D0 On récupère la valeur du flottant
BCLR #31,D0 On met le bit S du flottant à 0
MOVE.L D0,(A0) On stocke le flottant
RTS Fin du sous programme
Le but de ce programme est de retourner la valeur absolue d'un nombre. Les parties en gras, je ne comprends pas
en fait c surtout que je n'arrive pas a voir ou se situe le pointeur de pile A7 après les instruction en gras !
Chaque donnée de la pile st sur 16 bits. faire (A7)+ incremente-t-il l'adresse pointée par A7 de 2 octets ? 8(A7), je sais que c l'addition pour un déplacement (adressage indirect) de A7+8 , mais 8 koi ?? (octet ou bit)...que je considère que ce soit des déplacements en octets ou en bit, je n'arrive pas a suivre le pointeur de pile (= A7).