Vous êtes sur la page 1sur 1

*Ecrit par Jackson FRANCOMME le 25 janvier 2001

* Illustration des modes d'adressages pour le microprocesseur 68000


* l'exemple choisi fait l'addition de plusieurs oprandes
* Modes d'adressages Immdiat, Absolu long, direct, Indirect.

ORG $50000 Dans la RAM, notre zone de donnes


DC.B $55 le premier octet
adr_dir DC.B $10 le deux. utilis pour l'adr. direct
adr_indir DC.B $55,$10 ces deux l pour l'adr. indirect
resultat DS.B 1 Rservation d'un emplacement mmoire
* ne change pas le contenu de la mmoire
DC.B $ff pour vrifier o se termine la rservation
mmoire

* Initialisation des registres A7 et PC pour le simulateur


ORG $0
DC.L $7FFF Contenu du pointeur de pile aprs un reset
DC.L START Contenu du pointeur d'instruction aprs un
reset

* dbut du programme principal


ORG $D000 Adresse de dbut du programme
* On commence par le mode d'adressage Immdiat combin au mode Direct
* avec un problme simple qui consiste additionner deux oprandes
START CLR.L D0
MOVE.B #$70,D0 Adressages Immediat/Direct
ADDI.B #$23,D0

* Illustration du mode d'adressage Absolu combin au mode Direct


MOVE.B #$70,D0
ADD.B $50000,D0 Adressages Absolu Long/Direct
ADD.B adr_dir,D0 Idem mais en utilisant une tiquette

* on complique un peu le cahier des charges avec l'addition de trois oprandes


* adressage Absolu/Direct
MOVE.B #$70,D0
MOVE.B $50000,D1
ADD.B D1,D0
MOVE.B $50000+1,D1
ADD.B D1,D0 Adressage Direct Registres de donnes

* Illustration du mode d'adressage Indirect combine au mode Direct


MOVE.B #$70,D0
MOVEA.L #$50000,A0 Adressages Imm/Direct Registre d'adresse
ADD.B (A0)+,D0 Adressage Indirect Postincrment/Direct
ADD.B (A0),D0 Adressage indirect simple/Direct

* Idem avec l'uitilisation de l'instruction LEA


* et enregistrement du rsultat dans la mmoire.
LEA.L adr_indir,A0 Adressages Absolu long/Direst Reg. Adr.
MOVE.B #$70,D0
ADD.B (A0)+,D0
ADD.B (A0)+,D0
MOVE.B D0,resultat enregistrement du rsultat dans la mmoire

END

Vous aimerez peut-être aussi