* 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
* 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