Vous êtes sur la page 1sur 70

Module : Electronique Numérique Et Informatique Industrielle

Matière : INFORMATIQUE INDUSTRIELLE

Etude d’un microprocesseur de structure CISC : Le 6809 de Motorola

ENSA - 3éme Année


Abdelilah KAHAJI : a.kahaji@uiz.ac.ma

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 1


Module : Electronique Numérique Et Informatique Industrielle
PRINCIPE DE FONCTIONNEMENT :
Machine de Von Neumann

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 2


Module : Electronique Numérique Et Informatique Industrielle
PRINCIPE DE FONCTIONNEMENT :
Language de programmation

Langages évolués

Langage bas niveau


• Mnémonique ou assembleur

• Langage hexadécimal

• Langage binaire

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 3


Module : Electronique Numérique Et Informatique Industrielle
PRINCIPE DE FONCTIONNEMENT :
Language de programmation

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 4


Module : Electronique Numérique Et Informatique Industrielle
PRINCIPE DE FONCTIONNEMENT :
Architectures CISC et RISC

CISC : Un microprocesseur à jeu d'instruction étendu, ou complex instruction set


computer (CISC) en anglais, désigne un microprocesseur possédant un jeu d'instructions
comprenant de très nombreuses instructions mixées à des modes d'adressages complexes
(plusieurs cycles d'horloge).

RISC : Le microprocesseur à jeu d'instruction réduit (RISC)ou reduced instruction-set


computer en anglais est une architecture matérielle de microprocesseurs.

La sortie d'architectures hybrides comme le Pentium (CISC émulé par du RISC) a mis fin,
par disparition de repères.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 5


Module : Electronique Numérique Et Informatique Industrielle
PRINCIPE DE FONCTIONNEMENT :
Architectures CISC et RISC

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 6


Module : Electronique Numérique Et Informatique Industrielle
PRINCIPE DE FONCTIONNEMENT :
Structure interne d’un microprocesseur

Architecture simplifiée d'un processeur central

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 7


PRINCIPE DE FONCTIONNEMENT :

Microprocesseur
Bus de données

Registre Registre Registre


d’instruction
Unité arithmétique
Registre Registre
et logique
Registre Registre

Indicateurs d ‘état
Décodeur Registre Registre
d’instruction
Registre Registre

Registre

Contrôleur de SP : pile système UAL


séquence
PC : compteur de programme

Bus d’adresse

Bus de contrôle

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 8


PRINCIPE DE FONCTIONNEMENT :
Exécution d’un programme

Bus de données

Registre B 40 C A 1100 3E
3E
d’instruction LDA,25
Unité arithmétique
D E
et logique 1101 25
25
H L 1102
LDB,40
06
06
NZ

Indicateurs d ‘état
Décodeur
d’instruction
X
Z 1103 40
40
NC
Y
C 1104 ADDA,B 87
87

Contrôleur de
SP : pile système

PC : compteur de programme
+
-1
UAL
PO
PE
P
N
1105

1106
DEC A 3D
3D
21
21
séquence
1100
1101
1102
1104
1103
1105
1106
1107
1108 65
64 1107 LDHL,1234
34
34

12
12
Bus d’adresse

Mémoire
Bus de contrôle

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 9


Organisation matérielle du 6809

Le microprocesseur 6809 est un processeur 8 bits dont l'organisation


interne est orientée 16 bits. Il est fabriqué en technologie MOS et se
présente sous la forme d'un boîtier 40 broches.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 10


Organisation matérielle du 6809

Le microprocesseur 6809 est un processeur 8 bits dont l'organisation


interne est orientée 16 bits. Il est fabriqué en technologie MOS et se
présente sous la forme d'un boîtier 40 broches.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 11


Organisation matérielle du 6809

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 12


Organisation matérielle du microprocesseur 6809

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 13


Organisation matérielle du microprocesseur 6809
Le microprocesseur 6809 comporte NEUF registres internes
programmables accessibles par l'utilisateur:

16 bits
8 bits 8 bits
Accumulateurs. A B
Manipulation
des données D

Registres X
d'index
Y

Pointeurs de U
pile
S

DP Registre page direct

PC Compteur programme

CCR Registre d’état

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 14


Organisation matérielle du microprocesseur 6809
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
E F H I N Z V C

C Retenue (Carry) Positionné lors d'une opération arithmétique


Dépassement (oVerflow) Positionné si le résultat( en complément à
deux) d'une opération arithmétique
V déborde

Zéro Mis à 1 si le résultat de l'opération


Z
précédente est nul
N Négatif Indique un résultat négatif.
Masque d'interruptions IRQ Lorsqu'il est à 1, masque les interruptions
I
IRQ

H Demi-retenue

Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions


F
FIRQ
Etat de sauvegarde Si à 1, tout le contexte du processeur est
E 14
sauvegardé dans la pile

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 15


Organisation matérielle du microprocesseur 6809
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
E F H I N Z V C

C Retenue (Carry) Positionné lors d'une opération arithmétique


Dépassement (oVerflow) Positionné si le résultat( en complément à
deux) d'une opération arithmétique
V déborde

Zéro Mis à 1 si le résultat de l'opération


Z
précédente est nul
N Négatif Indique un résultat négatif.
Masque d'interruptions IRQ Lorsqu'il est à 1, masque les interruptions
I
IRQ

H Demi-retenue

Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions


F
FIRQ
Etat de sauvegarde Si à 1, tout le contexte du processeur est
E
sauvegardé dans la pile
16
13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 17
Organisation matérielle du microprocesseur 6809
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
E F H I N Z V C

C Retenue (Carry) Positionné lors d'une opération arithmétique


Dépassement (oVerflow) Positionné si le résultat( en complément à
deux) d'une opération arithmétique
V
déborde

Zéro Mis à 1 si le résultat de l'opération


Z
précédente est nul
N Négatif Indique un résultat négatif.
Masque d'interruptions IRQ Lorsqu'il est à 1, masque les interruptions
I
IRQ

H Demi-retenue

Masque d'interruptions FIRQ Lorsqu'il est à 1, masque les interruptions


F
FIRQ
Etat de sauvegarde Si à 1, tout le contexte du processeur est
E
sauvegardé dans la pile
17
13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 18
Mode d’adressage du 6809

Le MPU possèdent 59 instructions de base mais en conjonction avec les NEUF


modes d'adressage disponibles, on parvient à 1 464 possibilités

24
13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 24
Mode d’adressage du 6809

Le MPU possèdent 59 instructions de base mais en conjonction avec les


NEUF modes d'adressage disponibles, on parvient à 1 464 possibilités

1.mode d'adressage inhérent

L'adressage inhérent est utilisé par les instructions qui agissent sur
les de
registres internes du MPU et non sur la mémoire. Il existe deux types
mode d'adressage inhérent :
Adressage inhérent simple
Le code opération contient toute l'information nécessaire à de
l'exécution l'instruction.
Ces instructions codées sur un octet sont: ABX, INCB,NEGA,…..
Exemple:
ABX addition de l'accumulateur B à l'index X.

24
13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 25
Mode d’adressage du 6809

Exemple:
ABX → addition de l'accumulateur B à l'index X.
X  (B) + (X)
MPU Mémoire

PC ADR
ADR+1 ADR+ 1 Code Opération
de ABX
D A

B 14

3A ADR
X 2008
201C
2008 + 14
Y

DP
7 6 5 4 3 2 1 0

CCR

Adressage inhérent simple

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 26


Mode d’adressage du 6809

➢Adressage inhérent paramétré

L'instruction comporte un octet supplémentaire permettant de préciser les


opérandes intervenant dans l'instruction. La présence de cet octet
supplémentaire est indispensable pour les instructions de type:

✓Échange et transfert de registres;

✓Instructions d'accès aux piles;

✓Attente d'interruption.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 27


Mode d’adressage du 6809
Échange et transfert de registres: le premier octet détermine le code opération
pur, le second les registres source et destination:
Ex :TFR U,S → transfert de U dans S

MPU Mémoire

PC ADR +2
ADR
ADR+ 2

D A
B

1F ADR
X
34 ADR+1
Y
ADR+2
S 1000
U 1000
DP

7 6 5 4 3 2 1 0

CCR Adressage inhérent paramétré


Échange et transfert des données

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 28


Mode d’adressage du 6809
Post-octet transfert/échange :

code Registre
0000 D Code Opération
0001 X 1F
0010 Y
0011 U TFR U,S → transfert de U dans S
0100 S
Post-Octet
0101 PC 34
1000 A
1001 B
1010 CCR
1011 DP

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 29


Mode d’adressage du 6809

Post-octet transfert/échange :

code Registre
0000 D Code Opération
0001 X 1F
0010 Y
0011 U TFR U,S → transfert de U dans S
0100 S
3 4 Post-Octet
0101 PC 34
1000 A
1001 B
1010 CCR
1011 DP

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 30


Mode d’adressage du 6809

Mode adressage Exemple


I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG…
2. inhérent paramétré
a. Echange, transfert registre a.TRF U,S

II. Mode adressage immédiat


III. Mode adressage Direct
IV. Mode adressage étendu
V. Mode adressage étendu
indirect
VI. Mode adressage relatif
court
VII. Mode adressage relatif
long
VIII. Mode adressage indexé
IX. Mode adressage indexé
indirect

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 31


Mode d’adressage du 6809

2. Mode d'adressage immédiat

Dans ce mode d'adressage, le code opératoire 8 bit est suivi d'une valeur
qui est l'opérande de l'instruction.
Ce type d'adressage permet de charger les registres internes du
microprocesseur avec la valeur de l'opérande.
Le symbole « # » signifie immédiat dans la syntaxe assembleur. Il existe
trois types d’instructions dans ce mode d’adressage :

➢Instructions sur deux octets

Le premier octet contient le code opératoire, le second la constante 8 bits.


Ce type d’instruction est réservé pour travailler sur les registres 8 bits du
microprocesseur.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 32


2. Mode d'adressage immédiat
Mode d’adressage du 6809

Ex : LDA #$15 ➔ charger la valeur $15 dans l’accumulateur A. Le


premier octet contient le code opératoire

MPU Mémoire

PC ADR ADR+2 ADR + 2


Code Opération
A LDA
D 15
B

$15 86 ADR
X
15 ADR+1
Y
ADR+2
S
U
DP

7 6 5 4 3 2 1 0
CCR Adressage immédiat
Instructions sur deux octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 33


Mode d’adressage du 6809 2. Mode d'adressage immédiat

➢Instructions sur trois octets

Le premier octet contient le code opératoire, le second et le troisième


contiennent la constante 16 bits. Ce type d’instructions est réservé
pour travailler sur les registres 16 bits du microprocesseur.

Ex ADDD #$2005

ADDD #$2005 ➔ addition du contenu de l’accumulateur D


et de $2005, le résultat se trouve dans D.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 34


Mode d’adressage du 6809 2. Mode d'adressage immédiat

Ex : ADDD #$2005 ➔ addition du contenu de l’accumulateur D


et de $2005, le résultat se trouve dans D.
MPU Mémoire

PC ADR + 3 Code Opé ration


ADR +3
ADR
ADDD

D A 31 11
B 22
27 $1122+$2005 C3 ADR

20 ADR+1
X
05 ADR+2
Y
ADR+3
S

DP

E F H I N Z V C

CCR Adressage immédiat

Instructions sur trois octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 35


Mode d’adressage du 6809 2. Mode d'adressage immédiat

➢Instructions sur quatre octets

Dans ce type d’instruction, le code opératoire utilise deux octets


mémoire, la constante également. Le premier octet ($10) est
nécessaire pour les instructions : CMPD, CMPS, CMPU, CMPY,
LDS, LDY, STY, STS.

Ex :LDY #$2008 ➔ charger l’index Y avec la valeur $2008

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 36


Mode d’adressage du 6809
Ex :LDY # $2008 ➔ charger l’index Y avec la valeur $2008

MPU Mémoire

ADR + 4 Octet
PC ADR supplémentaire
ADR +4

D A

B
10 ADR
$10
8E ADR+1
X
20 ADR+2
Y 2008
08 ADR+3
S
ADR+4
U $2008

DP

E F H I N Z V C

CCR Adressage immédiat

Instructions sur quatre octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 37


Mode adressage Exemple
I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG…
2. inhérent paramétré
a. Echange, transfert registre a.TRF U,S
b. Accès aux piles b. PSHS A,B,X
c. attente interruptions c. CWAI #$FF
II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0
2. sur trois octets 2. ADDD #$2009
3. sur quatre octets 3. LDY #$10B4
III. Mode adressage Direct
IV. Mode adressage étendu
V. Mode adressage étendu indirect

VI. Mode adressage relatif court


VII. Mode adressage relatif long

VIII. Mode adressage indexé

IX. Mode adressage indexé indirect

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 38


Mode d’adressage du 6809

4. Mode d'adressage étendu


❖ Le code opératoire (sur 1 ou 2 octet)
❖ L'opérande ( 2 octet ) : Adresse Effective

Le symbole « > » est une directive assembleur qui force l’adressage étendu.
Il existe deux types d’instructions dans ce mode d’adressage

➢Instructions sur trois octets

Le premier octet (code opératoire) est suivi de l’adresse 16 bits


spécifiant l’emplacement de l’opérande (8 ou 16 bits).

❖ Le code opératoire (sur 1 octet)


❖ L'opérande ( 2 octet ) : Adresse Effective

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 39


Mode d’adressage du 6809
Mode d'adressage étendu

Ex : LDA $21A5 ou LDA > $ 21A5 ➔ chargement de l’accumulateur A


avec le contenu de l’adresse $21A5
MPU Mémoire

PC ADR
ADR+3 ADR + 3
B6 ADR

D A 11 21 ADR+1
B A5 ADR+2

X $11
Y
S 11 21 A5
U
DP

E F H I N Z V C
CCR Adressage étendu
Instructions sur trois octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 40


Mode d’adressage du 6809
Mode d'adressage étendu

➢Instructions sur quatre octets


❖ Le code opératoire (sur 2 octet)
❖ L'opérande ( 2 octet ) : Adresse Effective

Le premier octet est seulement nécessaire pour les instructions qui


opèrent sur les pointeurs S et Y et sur les instructions de comparaison
CMPU, CMPD.

Ex :LDY $2CB5 ou LDY > $2CB5 ➔ chargement du registre Y Avec le


contenu de $2CB5

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 41


Mode d’adressage du 6809
Mode d'adressage étendu
Ex :LDY $2CB5 ou LDY > $2CB5 ➔ chargement du registre Y Avec le
contenu de $2CB5/B6

MPU Mémoire
Pré-octet
PC ADR+4
ADR ADR + 4
10 ADR

D A BE ADR+1
B 2C ADR+2
B5 ADR+3
X $1122 ADR+4
Y 1122
S
U 11 2C B5
DP 22 2C B6

E F H I N Z V C
CCR Adressage étendu
Instructions sur quatre octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 42


Mode adressage Exemple
I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG…
2. inhérent paramétré

II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0


2. sur trois octets 2. ADDD #$2009
3. sur quatre octets 3. LDY #$10B4
III. Mode adressage Direct 1.LDA $40 ou
1. sur deux octets LDA <$40
adresse = $2040 : (DP)=$20
2. LDY $50
2. sur trois octets
Adresse=$3050/51 (DP=30)
IV. Mode adressage étendu 1. sur trois octets 1. LDB $2145

2. sur quatre octets 2. CMPU $2009

V. Mode adressage étendu indirect

VI. Mode adressage relatif court


VII. Mode adressage relatif long

VIII. Mode adressage indexé


IX. Mode adressage indexé indirect

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 43


Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage
Proposer un programme permettant d’additionner le contenu de l’adresse $0100 avec le contenu de
l’adresse $0101 et mettre le résultat à l’adresse $0102

Utilisation de l’adressage Etendu

Label Mnémonique Adresse Hex


PrgPrincipal LDA $0100 $0000 B6 01 00
ADDA $0101 $0003 BB 01 01
STA $0102 $0006 B7 01 02

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 44


Mode d’adressage du 6809

3. Mode d'adressage direct

❖ Le code opératoire (un ou 2 octet)


❖ L'opérande ( 1 octet ) : Poids Faible (8 bits) de l’Adresse Effective

DP ¨PF

Le symbole « < » est une directive assembleur qui force l’adressage


direct. Il existe deux types d’instructions dans ce mode d’adressage :

➢ Instructions sur deux octets

➢ Instructions sur trois octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 45


Mode d’adressage du 6809

➢ Instructions sur deux octets


Le premier octet définit le code opératoire, le second le poids faible de
l’adresse effective.

Ex LDA $08

:LDA $08 ou LDA < $08➔ chargement de l’accumulateur A


avec le contenu de $ 2008 ( DP= $20)

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 46


Mode d’adressage du 6809
➢ Instructions sur deux octets
Le premier octet définit le code opératoire, le second les poids faible de
l’adresse effective.

Ex :LDA $08 ou LDA < $08➔ chargement de l’accumulateur A


avec le contenu de $ 2008 ( DP= $20)
MPU Mémoire

PC ADR ADR + 2
ADR +2
96 ADR

A 08 ADR+1
D 11
ADR+2
B

S
11 20 08
U

DP 20

E F H I N Z V C

CCR Adressage direct

Instructions sur deux octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 47


Mode d’adressage du 6809
➢Instructions sur trois octets

❖ Le code opératoire (sur 2 octet)


❖ L'opérande ( 1 octet ) : Poids Faible (8 bits) de l’Adresse Effective

Ex : LDY $05 ou LDY < $05

: LDY $05 ou LDY < $05 ➔ chargement du registre Y avec le


contenu de $2005/06 (DP=$20)

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 48


Mode d’adressage du 6809
Ex : LDY $05 ou LDY < $05 ➔ chargement du registre Y avec le
contenu de $2005/06 (DP=$20)

MPU Mémoire

PC ADR
ADR+3 ADR + 3
10 ADR

D A 9E ADR+1
B 05 ADR+2

X
Y 1122 1122
S 11 20 05
U
22 20 06
DP 20

E F H I N Z V C
CCR Adressage direct
Instructions sur trois octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 49


Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage
Proposer un programme permettant d’additionner le contenu de l’adresse $0100 avec le contenu de
l’adresse $0101 et mettre le résultat à l’adresse $0102

Utilisation de l’adressage Direct

Label Mnémonique Adresse Hex


PrgPrincipal LDA #$01 $0000 86 01
TFR A,DP $0002 1F 8B
LDA $00 $0004 B7 01 02
ADDA $01 $0007 9B 01
STA $02 $0009 97 02

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 50


Mode adressage Exemple
I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG…
2. inhérent paramétré
a. Echange, transfert registre a.TRF U,S
b. Accès aux piles b. PSHS A,B,X
c. attente interruptions c. CWAI #$FF
II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0
2. sur trois octets 2. ADDD #$2009
3. sur quatre octets 3. LDY #$10B4
III. Mode adressage Direct 1.LDA $40 ou
1. sur deux octets LDA <$40
adresse = $2040 : (DP)=$20
2. LDY $50
2. sur trois octets
Adresse=$3050/51 (DP=30)
IV. Mode adressage étendu
V. Mode adressage étendu indirect

VI. Mode adressage relatif court


VII. Mode adressage relatif long

VIII. Mode adressage indexé


IX. Mode adressage indexé indirect

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 52


Mode d’adressage du 6809

5. Mode d'adressage étendu indirect

Ce mode d’adressage est identique au mode d’adressage étendu mais


il possède en plus une indirection.
La notation assembleur " [ ]" force l'adressage étendu indirect.

❖ Le code opératoire (sur 2 ou 3 octets)


❖ L'opérande ( 2 octet ) : Adresse Effective

➢Instructions sur quatre octets


Les deux premiers octets déterminent le code opératoire ; code
opératoire de l’adressage indexé suivi du post-octet 9F
déterminant l’indirection. Les 3ème et 4ème octets représentent
l’adresse de transit.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 53


Mode d’adressage du 6809 : Mode d'adressage étendu indirect
Ex :LDA [$2000] ➔ chargement de l’accumulateur avec le contenu dont
l’adresse se trouve en $2000 et $2001.

MPU Mémoire Post Octet

PC ADR ADR+4 ADR + 4 ADR


A6
9F ADR+1
D A 11 ADR+2
20
B
00 ADR+3

ADR+4
X
$11
Y
30 2000
S
00 2001
U

DP

11 3000
E F H I N Z V C
CCR

Adressage étendu Indirect

Instructions sur quatre octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 54


Mode d’adressage du 6809 : Mode d'adressage étendu indirect

➢Instructions sur cinq octets

Pour certaines instructions, il est nécessaire d’ajouter un pré-octet Cela est


nécessaire pour les instructions opérant sur les pointeurs S et Y ($10) et
pour les instructions de comparaison CMPU et CMPD ($11). Le reste de la
codification est identique au cas précédent.

Ex:LDY [$2004] ➔ chargement du registre d’index Y avec le contenu


dont l’adresse se trouve en $2004 et $2005.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 55


Mode d’adressage du 6809 : Mode d'adressage étendu indirect
Ex:LDY [$2004] ➔ chargement du registre d’index Y avec le contenu
dont l’adresse se trouve en $2004 et $2005.
MPU Pré Mémoire Post
Octet Octet
10 ADR
PC ADR ADR+5 ADR + 5 AE ADR+1
9F ADR+2
D A 20 ADR+3
B
04 ADR+4

X
Y 1122
30 2004
S
00 2005
U $11 22
DP
11 3000
E F H I N Z V C
22 3001
CCR

Adressage étendu Indirect


Instructions sur cinq octets

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 56


Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage
Proposer un programme permettant d’additionner le contenu de l’adresse pointée par le contenu des
adresse $0100 et $0101 avec le contenu de l’adresse pointée par le contenu des adresses $0102 et $0103 et
mettre le résultat à l’adresse $0104
Utilisation de l’adressage étendu indirect

Label Mnémonique Adresse Hex


PrgPrincipal LDA [$0100] $0000 A6 9F 01 00
ADDA [$0102] $0004 A8 9F 01 02
STA $0104 $0006 B7 01 04

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 57


Mode adressage Exemple
I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG…
2. inhérent paramétré

II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0


2. sur trois octets 2. ADDD #$2009
3. sur quatre octets 3. LDY #$10B4
III. Mode adressage Direct 1.LDA $40 ou
1. sur deux octets
adresse = $2040 : (DP)=$20
2. LDY $50
2. sur trois octets
Adresse=$3050/51 (DP=30)
IV. Mode adressage étendu 1. sur trois octets 1. LDB $2145

2. sur quatre octets 2. CMPU $2009

V. Mode adressage étendu indirect 1. sur quatre octets LDA [$2009]

2. sur cinq octets LDY [$2009]

VI. Mode adressage relatif court


VII. Mode adressage relatif long

VIII. Mode adressage indexé


IX. Mode adressage indexé indirect

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 58


Mode d’adressage du 6809 :

6. Mode d'adressage relatif court

Ce mode d'adressage est réservé pour les instructions de branchement

Ex: Arret EQU $3000


BPL Arret

Dans ce cas,BPL fait un test sur le bit N du registre CCR , le


branchement a lieu si N=0 ( Résultat de l’opération précédente positif)

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 59


Mode d’adressage du 6809 : Mode d'adressage relatif court
Ex: Arret EQU $3000
BPL ARRET

MPU ARRET = ADR + 2 + Depl Mémoire


PC

ARRET +2
ADR ADR AADDR++2
2 +Depl 2A ADR

A Depl ADR+1
D
B ADR+2

ADR +2 +Depl
X

S
ARRET $3000
U

DP
Si N=0 alors il
E F H I N Z V C y a branchement
CCR 0 Adressage relatif
court

Le déplacement (Depl) est calculé en fonction de la valeur de ADR par rapport à l’étiquette ARRET ($3000).

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 60


Mode adressage Exemple
I. mode d'adressage inhérent 1. inhérent simple ABX ; NEG…
2. inhérent paramétré

II. Mode adressage immédiat 1. sur deux octets 1. LDA #$A0


2. sur trois octets 2. ADDD #$2009
3. sur quatre octets 3. LDY #$10B4
III. Mode adressage Direct 1.LDA $40 ou
1. sur deux octets
adresse = $2040 : (DP)=$20
2. LDY $50
2. sur trois octets
Adresse=$3050/51 (DP=30)
IV. Mode adressage étendu 1. sur trois octets 1. LDB $2145

2. sur quatre octets 2. CMPU $2009

V. Mode adressage étendu indirect 1. sur quatre octets LDA [$2009]

2. sur cinq octets LDY [$2009]

VI. Mode adressage relatif court mode d'adressage est réservé


pour les instructions de BHS FIN
branchement ( (déplacement ±
7 bits)
VII. Mode adressage relatif long

VIII. Mode adressage indexé


IX. Mode adressage indexé indirect
13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 61
Mode d’adressage du 6809 :
8. Mode d'adressage indexé

Le mode d’adressage indexé présente l’avantage de pouvoir travailler en


indirection. Dans ce cas on accède à l’adresse effective en transitant par
une adresse intermédiaire
Registre

ADRESSE EFFECTIVE = BASE + DEPLACEMENT

La puissance d’un mode d’adressage indexé est déterminée par


l’éventail des bases dont on dispose et par toutes les possibilités que
l’on a.

la base peut être soit


➢ un des deux registres d’index (X ou Y) ( ce qui est normale),
➢ mais aussi un des deux pointeurs de pile (U ou S)
➢ Ou ce qui est très intéressant, le compteur programme PC lui-même
(l’adressage est alors, un cas particulier de l’adressage relatif).

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 65


Mode d’adressage du 6809 : Mode d'adressage indexé

Pour ce qui est du déplacement, il y a de multiples possibilités:


celui-ci peut être nul, codé sur cinq, huit ou seize bits, ou variable
dans le cas de l’utilisation d’un accumulateur A, B ou D.

LDB $20, X
Instruction déplacement Base : X ou Y ou U ou S ou PC

Enfin, l’adressage indexé offre des possibilités d’auto-incrémentation


ou décrémentation de 1 ou de 2.

LDA , Y+
Toutes ces options sont sélectionnées par le post-octet
qui suit le code opératoire.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 66


Mode d’adressage du 6809 : Mode d'adressage indexé

Bit du registre post octet Mode d’adressage indexé


7 6 5 4 3 2 1 0 AE= , Base + Déplacement
0 R Déplacement AE= , R  4 bits
1 R 0 0 0 0 0 AE= , R +
1 R 0/1 0 0 0 1 AE= , R ++
1 R 0 0 0 1 0 AE= , - R
1 R 0/1 0 0 1 1 AE= , - -R
1 R 0/1 0 1 0 0 AE= , R  0
1 R 0/1 0 1 0 1 AE= , R Acc B
1 R 0/1 0 1 1 0 AE= , R Acc A
1 R 0/1 1 0 0 0 AE= , R  7 bits
1 R 0/1 1 0 0 1 AE= , R  15 bits
1 R 0/1 1 0 1 1 AE= , R  D (ACC A +Acc B)

1 0/1 1 1 0 0 AE= , PC  7 bits

1 0/1 1 1 0 1 AE= , PC  15 bits

post-octet qui suit le code opératoire.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 67


Mode d’adressage du 6809 : Mode d'adressage indexé

Bit du registre post octet Mode d’adressage indexé


7 6 5 4 3 2 1 0 AE= , Base + Déplacement
0 R Déplacement AE= , R  4 bits
1 R 0 0 0 0 0 AE= , R +
Les bits 5 et 6 du post octet permettent de définir la base :
1 R 0/1 0 0 0 1 AE= , R ++
1 R 0 0 0 1 0 AE= , - R
1 R 0/1 0 0 1 1 AE= , - -R BASE R b6 b5

1 R 0/1 0 1 0 0 AE= , R  0 Index X 0 0

1 R 0/1 0 1 0 1 AE= , R Acc B Index Y 0 1

1 R 0/1 0 1 1 0 AE= , R Acc A Pointeur U 1 0

1 R 0/1 1 0 0 0 AE= , R  7 bits Pointeur S 1 1

1 R 0/1 1 0 0 1 AE= , R  15 bits → Indifférent, la sélection de la base


Compteur Programme
PC se fait à laide
1 R 0/1 1 0 1 1 AE= , R  D (ACC A +Acc B) des bits 2 et 3 (1,1)

1 0/1 1 1 0 0 AE= , PC  7 bits

1 0/1 1 1 0 1 AE= , PC  15 bits

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 68


Mode d’adressage du 6809 : Mode d'adressage indexé

Bit du registre post octet Mode d’adressage indexé


7 6 5 4 3 2 1 0 AE= , Base + Déplacement
0 R Déplacement AE= , R  4 bits
1 R 0 0 0 0 0 AE= , R +
1 R 0/1 0 0 0 1 AE= , R ++
1 R 0 0 0 1 0 AE= , - R
1 R 0/1 0 0 1 1 AE= , - -R
1 R 0/1 0 1 0 0 AE= , R  0
1 R 0/1 0 1 0 1 AE= , R Acc B
1 R 0/1 0 1 1 0 AE= , R Acc A
1 R 0/1 1 0 0 0 AE= , R  7 bits
1 R 0/1 1 0 0 1 AE= , R  15 bits
1 R 0/1 1 0 1 1 AE= , R  D (ACC A +Acc B)

1 0/1 1 1 0 0 AE= , PC  7 bits

1 0/1 1 1 0 1 AE= , PC  15 bits

le bit 7 définit le rôle du bit4 :


• b7=0 → b4 = bit de signe.
• b7=1 → b4= choix du mode direct (b4=0) ou indirect (b4=1 );

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 69


Les combinaisons
Mode d’adressage du 6809 : Mode d'adressage indexé
possibles pour les
Bit du registre post octet Mode d’adressage indexé modes d’adressage :
7 6 5 4 3 2 1 0 AE= , Base + Déplacement
0 R Déplacement AE= , R  4 bits Déplacement const
1 R 0 0 0 0 0 AE= , R +
1 R 0/1 0 0 0 1 AE= , R ++ Auto
1 R 0 0 0 1 0 AE= , - R Increm/Décrem
1 R 0/1 0 0 1 1 AE= , - -R
1 R 0/1 0 1 0 0 AE= , R  0 Déplacement nul
1 R 0/1 0 1 0 1 AE= , R Acc B
Dépl accumul
1 R 0/1 0 1 1 0 AE= , R Acc A
1 R 0/1 1 0 0 0 AE= , R  7 bits
Déplacement const
1 R 0/1 1 0 0 1 AE= , R  15 bits
1 R 0/1 1 0 1 1 AE= , R  D (ACC A +Acc B)
Dépl accumul
1 0/1 1 1 0 0 AE= , PC  7 bits
Dépl PC
1 0/1 1 1 0 1 AE= , PC  15 bits

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 71


Mode d’adressage du 6809 : Mode d'adressage indexé. Déplacement nul
LDA ,X → chargement de A avec la valeur dont l’adresse est le contenu de l’index X.

MPU Mémoire
Post-
octet

PC ADR ADR + 2
ADR +2
A6 ADR

A 84 ADR+1
D 11
B ADR+2

X xxxx 11

U
11 xxxx
DP

E F H I N Z V C

CCR Adressage indexé

Déplacement nul

Dans ce cas le post-octet est égale $84 :


•b7=1 → b4=0 signifie que l’adressage est indexé direct 1 0 0 0 0 1 0 0

•b6.b5=0.0 → l’index est X X Déplacement nul

•b3.b2.b1.b0=0.1.0.0 → le déplacement est nul.


Adressage indexé direct

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 73


Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage
Proposer un programme permettant de ranger en mémoire dans l'ordre croissant l'ensembles des données
8 bits non signées à partir de l'adresse de base $0100
La plage des nombres non signés s'étend de $00 à $FF. Il faudra donc charger la mémoire avec ces 256
valeurs.

Label Mnémonique Commentaire


PrgPrincipal LDX #$0100 Début de table
LDA #$00 1ere données $00
Boucle STA ,X+ Chargement et incrémentation du pointeur
CMPA #$FF Dernière donnée = $FF alors fin de programme
BEQ Fin
INCA Incrémentation de la donnée
BRA Boucle
Fin SWI

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 76


Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage
Proposer un programme permettant de ranger en mémoire dans l'ordre croissant l'ensembles des données
8 bits non signées à partir de l'adresse de base $0100
La plage des nombres non signés s'étend de $00 à $FF. Il faudra donc charger la mémoire avec ces 256
valeurs.

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 77


Module : Electronique Numérique Et Informatique Industrielle
Exercices sur les modes d’adressage

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 130
Module : Electronique Numérique Et Informatique Industrielle
Exercices sur les modes d’adressage

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 131
Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 132
Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 133
Exercices sur les modesModule : Electronique Numérique Et Informatique Industrielle
d’adressage

Label Mnémonique Adresse Hex

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 134
Module : Electronique Numérique Et Informatique Industrielle
Exercices sur les modes d’adressage

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 135
Module : Electronique Numérique Et Informatique Industrielle
Exercices sur les modes d’adressage

13/11/2021 ENSA - 3émé année | GIEM02S1 : Informatique industrielle | Abdelilah KAHAJI 136

Vous aimerez peut-être aussi