Vous êtes sur la page 1sur 16

9/28/2013

1
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index:
principe:
Linstruction spcifie une base (index) plus un dplacement par rapport cette
base.
Adresse effective = base + dplacement
Pour le 6809, la base peut tre:
Lun des deux registres dindex (X et Y).
Lun des deux pointeurs de pile (U et S).
Le compteur programme (cas particulier de ladressage relatif)
Pour le dplacement, il peut tre:
Nul.
Cod sur 5,8 ou 16 bits.
Variable (dans le cas de lutilisation dun accumulateur A, B ou D)
Ladressage index offre des possibilit dauto-incrmentation et dauto-
dcrmentation de 1 ou de 2.
28/09/2013 69
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index:
Toutes ces option seront slectionnes par le post-octet qui suit le code
opratoire.
28/09/2013 70
9/28/2013
2
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index:
Remarques:
o Les bits 5 et 6 du post-octet permettent de dfinir la base.
o Le bit 7 dfinit le rle du bit 4:
b7 = 0 b4 = bit de signe
b7 = 1 b4 = choix de mode direct (b4 = 0) ou indirect (b4 =1)
si b4 = 1 , le mode peut travailler en direct ou indirect.
o Les bits 0 3 dfinissent le champ du mode dadressage.
28/09/2013 71
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement nul.
oDans ce mode, le registre pointeur slectionn contient ladresse
effective des donnes devant utilis par linstruction.
oIl existe deux types dinstruction:
Instruction sur deux octets: le code opratoire est suivi du
post-octet prcisant les options choisies pour linstruction en
cours.
Exemple:
LDA ,X chargement de laccumulateur A avec la valeur dont
ladresse est le contenu dans X.
Instruction sur trois octets: pour certains registres du
microprocesseur ,il est ncessaire dajouter un pr-octet aux deux
octets opratoires.
Exemple:
LDY ,X chargement de lindex Y avec la valeur dont ladresse
est le contenu de X.
28/09/2013 72
9/28/2013
3
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Auto-incrmentation / auto-dcrmentation.
o Dans ce mode, on peut obtenir des pr-incrmentation de 1 ou 2
et des post-incrmentation de 1 ou 2 .
o Mode facilitant la gestion dune table.
o Le registre pointeur slectionn contient ladresse effective des
donnes utilise par linstruction.
o Les symboles + , ++ , - et -- placs avant ou aprs
la base dfinissent le type Auto-incrmentation / auto-
dcrmentation
28/09/2013 73
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Auto-incrmentation / auto-dcrmentation.
o Instruction sur deux octets:
Exemple :
LDA ,X+ chargement de A avec la valeur dont ladresse est
le contenu de X , post-incrmentation par 1 de X.
o Instruction sur trois octets :
Exemple :
LDY , - - X chargement de Y avec la valeur dont ladresse
de base est le contenu de X 2.
28/09/2013 74
9/28/2013
4
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement constant.
o Dans ce mode dadressage, ladresse effective de loprande est la
somme du dplacement (en complment deux ) et du contenu du
registre constituant la base.
o Le registre de base garde sa valeur sans aucune modification.
o Il existe trois formes dadressage index dplacement constant,
suivant la valeur de cette constante.
Dplacement sur 4 bits.
Dplacement sur 7 bits.
Dplacement sur 15 bits.
28/09/2013 75
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement constant.
Dplacement sur 4 bits:
o Ce dplacement cod sur cinq bits (en complment 2) prsente
lavantage dtre contenu dans le post-octet dindexation. Ce qui
permet un gain de place mmoire est excution plus rapide de
cette instruction.
o Les bits 0 4 du post-octet dtermine la valeur de dplacement
qui pourra tre de 16 en arrire (1 0000) et de + 15 en avant
(0 1111).
o Le bit 7 constamment zro initialise le bit 4 comme bit de
signe .
Exemple :
ADDB - 3, Y adition du contenu dadresse mmoire Y 3 au
contenu de laccumulateur B, le rsultat est dans laccumulateur B.
28/09/2013 76
9/28/2013
5
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement constant.
Dplacement sur 7 bits:
o Ce dplacement cod sur huit bits ( en complment 2 ) est
contenu dans un seul octet plac la suite du code opratoire
proprement dit et du post-octet dindexation.
o Les dplacements possibles sont donc compris entre -128 et
+127 octets.
Exemple :
LDY $65, U chargement du pointeur Y avec le contenu
mmoire dont ladresse de base est le contenu de U + $65.
28/09/2013 77
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement constant.
Dplacement sur 15 bits:
oCe dplacement cod sur 16 bits ( en complment 2 ) est
contenu dans deux octets placs la suite de ceux de
linstruction (code opratoire + post-octet dindexation).
oLes dplacements possibles sont dons compris entre 32768
et + 32767 octets
Exemple :
LDA $2000, X chargement de laccumulateur A avec le
contenu mmoire dadresse X + $2000.
28/09/2013 78
9/28/2013
6
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement accumulateur.
o Ce mode dadressage est semblable ladressage index
dplacement constant lexception du dplacement qui
nest plus cod sur des octets spcifiques mais contenu dans
les accumulateurs A, B ou D du microprocesseur.
o Ladresse effective est donc la somme des registre pointeur et
accumulateur spcifis dons le mnmonique de linstruction.
o Le contenu des registres pointeur et utilisateur (A,B ou D)
reste inchang aprs laddition.
o Chaque instruction est code sur deux octets, le post-octet
spcifi le nom du pointeur et celui de laccumulateur de
dplacement.
28/09/2013 79
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Dplacement accumulateur.
Dplacement sur 7 bits accumulateur A ou B.
Exemple :
LDA B, X chargement de laccumulateur A avec le contenu
mmoire dont ladresse est X + B.
Dplacement sur 15 bits accumulateur A et B (D).
Exemple :
LEAY D, X chargement de lindex Y de ladresse effective
donne par la somme D + X.
28/09/2013 80
9/28/2013
7
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Base = compteur programme.
o Ce mode dadressage utilise le compteur de programme PC
comme base dindexation.
o Lutilisation de PC comme base impose des restriction sur les
types de dplacements, seules les dplacements sur 8 ou 16
bits ( en complment deux ) peuvent tre utiliss.
28/09/2013 81
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Base = compteur programme.
Dplacement constant sur 7 bits:
o Ladresse effective est gale au compteur de programme courant
plus un dplacement cod sur 8 bits.
o Linstruction est code sur 3 octets, deux octets sont rservs
linstruction (code opratoire +post-octet) ,le dernier octet
contient le dplacement.
Exemple :
LDA $F0, PC chargement de laccumulateur A avec le
contenu mmoire dont ladresse est la valeur de PC + $F0.
28/09/2013 82
9/28/2013
8
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Base = compteur programme.
Dplacement constant sur 15 bits:
o Ladresse effective est gale au compteur programme courant
plus un dplacement cod sur deux octets.
o Ce mode dadressage prsente lavantage de permettre des
dplacements sur tout lespace mmoire du microprocesseur.
Exemple :
ADDA $9000, PC addition du contenu mmoire dont ladresse
est la valeur courante de PC +$9000 et de laccumulateur A, le
rsultat est dans A.
28/09/2013 83
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Base = compteur programme.
Etiquette localise:
o La syntaxe assembleur nutilise pas directement un
dplacement mais une tiquette localise situe 128 de
linstruction suivante (dplacement sur 8 bits) ou nimporte o
sur lespace mmoire du microprocesseur ( dplacement sur 16
bits) .
o Ladresse effective est gale au compteur de programme
courant plus un dplacement cod sur 8 ou 16 bits. Linstruction
est code sur trois ou quatre octets.
o La syntaxe assembleur contient le mnmonique de linstruction,
le nom de ltiquette localise plus la base. Lassembleur
calcule la valeur de dplacement en fonction de la position de
ltiquette.
28/09/2013 84
9/28/2013
9
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index: Base = compteur programme.
Etiquette localise:
Exemple :
LEAX, ETIQ, PCR chargement du registre dindex X avec
ladresse effective qui est donne par la position de ltiquette par
rapport au compteur programme courant.
28/09/2013 85
Le microprocesseur 6809 Le microprocesseur 6809
Les modes dadressage:
Adressage index indirect :
o Ce mode dadressage index prsente lavantage de pouvoir
travailler en indirection. Dans ce cas on accde ladresse
effective en transitant par une adresse intermdiaire.
o Adresse effective = contenu mmoire dont ladresse de base est
la somme de lindex + dplacement.
o Tout les modes dadressage index peuvent travailler en
indirection sauf les modes dauto-incrmentation/ auto-
dcrmentation et le mode dplacement constant cod sur 5
bits.
28/09/2013 86
9/28/2013
10
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
On retrouve dans le jeu dinstruction du 6809 les diffrents
groupes dinstructions disponibles sur un calculateur.
o Instructions de traitement de donnes.
o Instructions de transfert de donnes.
o Instructions de tests et branchements.
o Instructions oprant sur les pointeurs.
o Instructions de traitement dinterruptions.
28/09/2013 87
Les instructions de traitement de donnes se rpartissent en
quatre catgories :
o Les instructions arithmtiques.
o Les instructions de rotation et dcalage.
o Les instructions logiques.
o Les instructions dincrmentation/
dcrmentation, de mise 0 et de
complmentation.
28/09/2013 88
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de traitement des donnes instructions de traitement des donnes
9/28/2013
11
Les instructions arithmtiques:
28/09/2013 89
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de traitement des donnes instructions de traitement des donnes
Les instructions de rotation et dcalage:
28/09/2013 90
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de traitement des donnes instructions de traitement des donnes
9/28/2013
12
Les instructions logiques:
28/09/2013 91
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de traitement des donnes instructions de traitement des donnes
Les instructions dincrmentation/ dcrmentation,
mise zro, complmentation:
28/09/2013 92
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de traitement des donnes instructions de traitement des donnes
9/28/2013
13
On peut classer les instructions de transfert des donnes en
trois catgories:
o Instructions oprant sur les registres internes et la
mmoire.
o Instructions de transfert oprant sur les pointeurs.
o Instructions oprant sur les registres internes du
P.
28/09/2013 93
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de transfert des donnes instructions de transfert des donnes
Instructions oprant sur les registres internes et la mmoire:
Instructions de transfert oprant sur les pointeurs:
Instructions oprant sur les registres internes du P:
28/09/2013 94
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de transfert des donnes instructions de transfert des donnes
9/28/2013
14
Ces instructions peuvent se repartir en trois catgories
distinctes :
o Les instructions de test et de comparaison.
o Les instructions de test et branchement.
o Les instructions de saut et branchement.
28/09/2013 95
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de test et branchement instructions de test et branchement
Les instructions de test et de comparaison:
28/09/2013 96
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de test et branchement instructions de test et branchement
9/28/2013
15
Les instructions de test et branchement:
28/09/2013 97
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de test et branchement instructions de test et branchement
Les instructions de saut et branchement:
28/09/2013 98
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instructions de test et branchement instructions de test et branchement
9/28/2013
16
Le 6809 possde une seule instruction de ce type qui offre
lutilisateur plusieurs possibilits. Le processeur calcule
une adresse effective en fonction du mode dadressage
spcifique (toujours index) puis charge cette valeur dans
le pointeur (U,Y,S ou U).
28/09/2013 99
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instruction oprant sur les pointeurs instruction oprant sur les pointeurs
Ce sont les instructions ayant un rapport avec les
interruptions du 6809. il existe sur le 6809, trois
interruptions logicielles et trois interruptions matrielles.
28/09/2013 100
Le microprocesseur 6809 Le microprocesseur 6809
le jeu dinstructions du 6809 le jeu dinstructions du 6809
instruction oprant sur instruction oprant sur les interruptions les interruptions