Vous êtes sur la page 1sur 14

Chapitre 4

Le microprocesseur Intel 8086

4.1 Description physique du 8086

Le microprocesseur Intel 8086 est un microprocesseur 16 bits, apparu en 1978. C’est le premier microprocesseur de la famille Intel 80x86 (8086, 80186, 80286, 80386, 80486,

Pent ium, 40 broches :

).

I l se pr´esente sous la forme d’un bo tier DIP (Dual I n-line Package) `a

GND

AD14

AD13

AD12

AD11

AD10

AD9

AD8

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMI

INTR

CLK

GND

 
   
 

1

40

2

39

3

38

4

37

5

36

6

8086

35

7

34

8

33

9

32

10

31

11

30

12

29

13

28

14

27

15

26

16

25

17

24

18

23

19

22

20

21

VCC

AD15

A16/S3

A17/S4

A18/S5

A19/S6

BHE/S7

MN/MX

RD

HOLD

HLDA

WR

M/IO

DT/R

DEN

ALE

INTA

TEST

READY

RESET

(mode

maximum)

ALE INTA TEST READY RESET (mode maximum) (RQ/GT0) (RQ/GT1) (S2) (S1) (S0) (QS0) (QS1)

(RQ/GT0)

(RQ/GT1)

(S2)

(S1)

(S0)

(QS0)

(QS1)

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

20

Chapitre 4 - Le microprocesseur Intel 8086

4.2 Sch´ema fonctionnel du 8086

horloge

contrôle du

microprocesseur

interruptions

DMA

alimentation

VCC GND CLK A19 RESET A16 bus d'adresses/ READY AD15 données MN/MX 8086 AD0 TEST
VCC
GND
CLK
A19
RESET
A16
bus
d'adresses/
READY
AD15
données
MN/MX
8086
AD0
TEST
WR
RD
INTA
M/IO
NMI
signaux
ALE
INTR
de contrôle
BHE
DEN
HOLD
DT/R
HLDA
S0
signaux
d'état
S7

4.3 Description et utilisation des signaux du 8086

CLK : ent r´ee du signal d’horloge qui cadence le fonctionnement du microprocesseur. Ce signal provient d’un g´en´erateur d’horloge : le 8284.

quartz

14,318 MHz

4,77 MHz CLK 8284 READY 8086 RESET
4,77 MHz
CLK
8284
READY
8086
RESET

générateur

d'horloge

ISET Rad`es

cours de microprocesseur

H AGG EGE, `

2003

4.3 - Description et utilisation des signaux du 8086

21

RESET : ent r´ee de remise `a z´ero du microprocesseur. Lorsque cette entr´ee est mise `a l’´etat haut pendant au moins 4 p´eriodes d’horloge, le microprocesseur est r´einitialis´e : il va ex´ecuter l’instruction se trouvant `a l’adresse FFFF0H (adresse de bootstrap). Le signal de RESET est fourni par le g´en´erateur d’horloge.

READ Y : ent r´ee de synchronisation avec la m´emoire. Ce signal provient ´egalement du g´en´erateur d’horloge.

TEST : ent r´ee de mise en attent e du

microprocesseur d’un ´ev´enement ext´erieur.

MN / MX : ent r´ee de choix du mode de fonctionnement du microprocesseur :

mode minimum (MN/ MX = 1) : le 8086 fonctionne de mani`ere autonome, il g´en`ere

lui-m eme le bus de commande (RD, WR,

) ;

mode maximum (MN/ MX =

0) : ces signaux de commande sont produits par un

cont oleur de bus, le 8288. Ce mode permet de r´ealiser des syst`emes multiproces- seurs.

NMI et INTR : entr´ees de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire.

INTA : Interrupt Acknowledge, indique que le microprocesseur accepte l’interruption.

HOLD et HLDA : signaux de demande d’accord d’acc`es direct `a la m´emoire (DMA).

S0 `a S7 : signaux d’´etat indiquant le type d’op´eration en cours sur le bus.

A16/S3 `a A19/S6 : 4 bits de poids fort du bus d’adresses, multiplex´es avec 4 bits d’´etat.

AD0 `a AD15 : 16 bits de poids faible du bus d’adresses, multiplex´es avec 16 bits de donn´ees. Le bus A/D est multiplex´e (multiplexage temporel) d’o`u la n´ecessit´e d’un d´emultiplexage pour obtenir s´epar´ement l es bus d’adresses et de donn´ees :

16 bits de donn´ees (microprocesseur 16 bits) ;

20 bits d’adresses, d’o`u 2 20 = 1 Mo d’espace m´emoire adressable par le 8086.

Chronogramme du bus A/D :

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

22

Chapitre 4 - Le microprocesseur Intel 8086

CLK

AD i

ALE

RD

WR

1 cycle de bus

T2

T3

T4

T1
T1
T1
T1
T4
T4

T2

T3

ALE RD WR 1 cycle de bus T 2 T3 T4 T1 T1 T4 T 2
ALE RD WR 1 cycle de bus T 2 T3 T4 T1 T1 T4 T 2
adresse donnée adresse donnée
adresse
donnée
adresse
donnée

lecture

T1 T1 T4 T 2 T3 adresse donnée adresse donnée lecture écriture Le d´emultiplexage des signaux

écriture

T 2 T3 adresse donnée adresse donnée lecture écriture Le d´emultiplexage des signaux AD0 `a AD15

Le d´emultiplexage des signaux AD0 `a AD15 (ou A16/S3 `a A19/S6) se fait en m´emorisant l’adresse lorsque celle-ci est pr´esente sur le bus A/D, `a l’aide d’un verrou (latch), en- semble de bascules D. La commande de m´emorisation de l’adresse est g´en´er´ee par l e microprocesseur : c’est le signal ALE, Address Latch Enable. Circuit de d´emultiplexage A/D :

LATCH ALE bus d'adresses 8086 H Q D A0 - A19 x 20 bus de
LATCH
ALE
bus d'adresses
8086
H
Q
D
A0 - A19
x 20
bus de données
20
AD0 - AD15
A16/S3 - A19/S6
D0 - D15
S3 -S6
Fonctionnement :

si ALE = 0, m´emorisation de la derni`ere valeur de D sur les sorties Q ;

les signaux de lecture (RD) ou d’´ecriture (WR) ne sont g´en´er´es par l e microproces- seur que lorsque les donn´ees sont pr´esentes sur le bus A/D.

si ALE = 1, le verrou est transparent (Q = D) ;

ISET Rad`es

cours de microprocesseur

H AGG EGE, `

2003

4.3 - Description et utilisation des signaux du 8086

23

Exemples de bascules D : circuits 8282, 74373, 74573.

D0 Q0 AD0 - AD7 ou AD8 - AD15 ou A16/S3 - A19/S6 D1 Q1
D0
Q0
AD0 - AD7
ou
AD8 - AD15
ou
A16/S3 - A19/S6
D1
Q1
8282
D7
Q7
ALE
STROBE
OE
A0 - A7 ou A8 - A15 ou A16 - A19
A0 - A7
ou
A8 - A15
ou
A16 - A19

RD : Read, signal de lecture d’une donn´ee.

WR : Write, signal d’´ecriture d’une donn´ee.

M / IO : M emory/Input-Output, i ndique si l e 8086 adresse la m´emoire (M / I O = 1) ou les

entr´ees/sorties (M/ IO = 0).

DEN : Data Enable, indique que des donn´ees sont en train de circuler sur le bus A/D (´equivalent de ALE pour les donn´ees).

DT/ R : Data Transmit/Receive, indique le sens de transfert

des donn´ees :

DT/ R

= 1 : donn´ees ´emises par le microprocesseur (´ecriture) ;

DT/ R = 0

: donn´ees re¸cues par le microprocesseur (lecture).

CLK

AD i

ALE

DEN

DT/R

1 cycle de bus T1 T2 T3 T4
1 cycle de bus
T1
T2
T3
T4
adresse donnée
adresse
donnée
DEN DT/R 1 cycle de bus T1 T2 T3 T4 adresse donnée écriture lecture Les signaux
DEN DT/R 1 cycle de bus T1 T2 T3 T4 adresse donnée écriture lecture Les signaux
écriture lecture
écriture
lecture

Les signaux DEN et DT / R sont utilis´es pour la commande de tampons de bus (bu ers) permettant d’ampli er le courant fourni par le microprocesseur sur le bus de donn´ees.

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

24

Chapitre 4 - Le microprocesseur Intel 8086

Exemples de tampons de bus : circuits transmetteurs bidirectionnels 8286 ou 74245.

DT/R DEN
DT/R
DEN
A0 B0 A1 B1 8286 A7 B7 x 8 DIR EN
A0
B0
A1
B1
8286
A7
B7
x 8
DIR
EN

AD0 - AD7 ou AD8 - AD15

commande du sens de transfert

validation

du transfert

- AD15 commande du sens de transfert validation du transfert D0 - D7 ou D8 -
D0 - D7 ou D8 - D15 lignes de
D0 - D7
ou
D8 - D15
lignes de

données

bufferisées

BHE : Bus High Enable, signal de lecture de l’octet de poids fort du bus de donn´ees. Le 8086 poss`ede un bus d’adresses sur 20 bits, d’o`u la capacit´e d’adressage de 1 Mo ou 512 Kmots de 16 bits (bus de donn´ees sur 16 bits). Le m´ega-octet adressable est divis´e en deux banques de 512 Ko chacune : la banque inf´erieure (ou paire) et la banque sup´erieure (ou impaire). Ces deux banques sont s´electionn´ees par :

A0 pour la banque paire qui contient les octets de poids faible ;

BHE pour la banque impaire qui contient les octets de poids fort.

A1 - A19 bus d'adresses A1 A0 D0 D0 A2 A1 D1 D1 D7 D7
A1 - A19
bus d'adresses
A1
A0
D0
D0
A2
A1
D1
D1
D7
D7
A19
A18
A0
CS
A1
D8
A0
D0
A2
D9
D1
A1
D15
D7
A19
A18
BHE
CS
D0 - D15

ISET Rad`es

bus de données

cours de microprocesseur

H AGG EGE, `

2003

4.3 - Description et utilisation des signaux du 8086

25

Seuls l es bits A1 `a A19 servent `a d´esigner une case m´emoire dans chaque banque de 512 Ko. Le microprocesseur peut ainsi lire et ´ecrire des donn´ees sur 8 bits ou sur 16 bits :

BHE

A0

octets transf´er´es

0

0

les deux octets (mot complet)

0

1

octet fort (adresse impaire)

1

0

octet faible (adresse paire)

1

1

aucun octet

Remarque : le 8086 ne peut lire une donn´ee sur 16 bits en une seule fois, uniquement si l’octet de poids fort de cette donn´ee est rang´e `a une adresse impaire et l’octet de poids faible `a une adresse paire (alignement sur les adresses paires), sinon la lecture de cette donn´ee doit se faire en deux op´erations successives, d’o`u une augmentation du temps d’ex´ecution du transfert d u `a un mauvais alignement des donn´ees. R´ealisation des deux banques avec plusieurs bo tiers m´emoire :

bus d'adresses A1 - A19

A1 D0 A0 D0 D1 A2 A1 D1 64 K x 8 D7 D7 A16
A1
D0
A0
D0
D1
A2
A1
D1
64
K x 8
D7
D7
A16
A15
A17
Y0
CS
A
A18
Y1
A19
C B Y2
Y3
A1
D0
A0
D0
74138
Y4
D1
A2
Y5
D1
A1
A0
Y6
EN
Y7
64
K x 8
D7
D7
A16
A15
CS
A1
D8
A0
D0
D9
A2
A1
D1
64
K x 8
D15
D7
A16
A15
A17
A
Y0
CS
A18
Y1
B
A19
Y2
C
Y3
A1
D8
A0
D0
74138
Y4
D9
A2
Y5
D1
A1
BHE
Y6
EN
Y7
64
K x 8
D15
D7
A16
A15
CS
bus de données D0 - D15

banque

paire

banque

impaire

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

26

Chapitre 4 - Le microprocesseur Intel 8086

Cr´eation du bus syst`eme du 8086 :

CLK BHE/S7 8282 A19/S6 D Q 8284 RESET A16/S3 STR READY AD0 AD15 8282 8086
CLK
BHE/S7
8282
A19/S6
D
Q
8284
RESET
A16/S3
STR
READY
AD0
AD15
8282
8086
WR
ALE
D
Q
RD
DEN
STR
M/IO
DT/R
8282
D
Q
STR
A
B
8286
EN
DIR
A
B
8286
EN
DIR

4.4 Organisation interne du 8086

Le 8086 est constitu´e de deux uni t´es fonctionnant en parall`ele :

l’unit´e

l’unit´e d’interface de bus (BIU : Bus Interface Unit).

d’ex´ecution (EU : Execution Unit) ;

ISET Rad`es

cours de microprocesseur

H AGG EGE, `

2003

4.4 - Organisation interne du 8086

27

8 bits 8 bits AH AL = AX 16 bits BH = BX registres généraux
8 bits
8 bits
AH
AL
= AX
16 bits
BH
= BX
registres
généraux
BL
= CX
CH
= DX
16 bits
DS
SS
registres
CL
CS
de segments
DH
DL
ES
pointeurs
et index
SI
IP
pointeur d'instruction
DI
bus de données
interne
16
génération
bus externe A/D
multiplexé
d'adresses
+
et contrôle
bus de
de bus
contrôle
registres
1
temporaires
2
file d'attente
3
des instructions
4
(6 octets)
5
6
commandes
de l'unité
UAL
d'exécution

indicateurs

UNITE D'EXECUTION (EU)

ole des deux unit´es :

UNITE D'INTERFACE DE BUS (BIU)

l’unit´e d’interface de bus (BIU) recherche les instructions en m´emoire et les range dans une le d’attente ;

l’unit´e d’ex´ecution (EU) ex´ecute les instructions contenues dans la le d’attente.

Les deux unit´es fonctionnent simultan´ement, d’o`u une acc´el´eration du processus d’ex´ecution d’un programme (fonctionnement selon le principe du pipe-line). Le microprocesseur 8086 cont ient 14 registres r´epartis en 4 groupes :

Registres g´en´eraux : 4 registres sur 16 bits.

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

28

Chapitre 4 - Le microprocesseur Intel 8086

AX

=

(AH,AL) ;

BX

=

(BH,BL) ;

CX

= (CH,CL) ;

DX = (DH,DL).

Ils peuvent etre ´egalement consid´er´es comme 8 registres sur 8 bits. Ils servent `a cont e- nir t emporairement des donn´ees. Ce sont des registres g´en´eraux mais ils peuvent etre utilis´es pour des op´erations particuli`eres. Exemple : AX = accumulateur, CX = compteur. Registres de point eurs et d’index : 4 registres sur 16 bits.

Point eurs :

SP : Stack Pointer, pointeur de pile (la pile est une zone de sauvegarde de

donn´ees en cours d’ex´ecution d’un programme) ;

BP : Base Point er, point eur de base, utilis´e pour adresser des donn´ees sur la pile.

Index :

SI : Source Index ;

DI : Destination Index.

Ils sont utilis´es pour les transferts de cha nes d’octets entre deux zones

m´emoire.

Les pointeurs et les index contiennent des adresses de cases m´emoire. Pointeur d’instruction et indicateurs ( ags) : 2 registres sur 16 bits. Pointeur d’instruction : IP , contient l’adresse de la prochaine instruction `a ex´ecuter.

Flags :

       

O

D

I

T

S

Z

 

A

 

P

 

C

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CF : indicateur de retenue (carry) ;

PF : indicateur de parit´e ;

AF : indicateur de retenue auxiliaire ;

ZF

: indicateur

de z´ero ;

SF

: indicateur

de signe ;

TF : indicateur d’ex´ecution pas `a pas (trap) ;

IF : indicateur d’autorisation d’interruption ;

DF : indicateur de d´ecr´ementation ;

OF : indicateur de

d´epassement (ove ow).

Registres de segment s : 4 registres sur 16 bits.

CS : Code Segment, registre de segment de code ;

ISET Rad`es

cours de microprocesseur

H AGG EGE, `

2003

4.5 - Gestion de la m´emoire par le 8086

29

DS : Data Segment, registre de segment de donn´ees ;

SS : Stack Segment, registre de segment

de pile ;

ES : Extra Segment, registre de segment suppl´ementaire pour les donn´ees ; Les registres de segment s, associ´es aux point eurs et aux i ndex, permettent au mi- croprocesseur 8086 d’adresser l’ensemble de la m´emoire.

4.5 Gestion de la m´emoire par le 8086

L’espace m´emoire adressable par le 8086 est de 2 20 = 1 048 576 octets = 1 Mo (20 bits d’adresses). Cet espace est divis´e en segments. Un segment est une zone m´emoire de 64 Ko (65 536 octets) d´ nie par son adresse de d´epart qui doit etre un multiple de 16. Dans une telle adresse, l es 4 bits de poids faible sont `a z´ero. On peut donc repr´esenter l’adresse d’un segment avec seulement ses 16 bits de poids fort, les 4 bits de poids faible ´etant implicitement `a 0. Pour d´esigner une case m´emoire parmi les 2 16 = 65 536 contenues dans un segment, il su t d’une valeur sur 16 bits. Ainsi, une case m´emoire est rep´er´ee par l e 8086 au moyen de deux quant it´es sur 16 bits :

l’adresse d’un segment ; un d´eplacement ou o set (appel´e aussi adresse e ective) dans ce segment. Cette m´ethode de gestion de la m´emoire est appel´ee segmentation d e l a m´emoire.

1 Mo

un segment (64 Ko) 0
un segment
(64 Ko)
0
d e l a m´emoire. 1 M o un segment (64 Ko) 0 offset FFFFFH case
d e l a m´emoire. 1 M o un segment (64 Ko) 0 offset FFFFFH case

offset

FFFFFH

case

mémoire1 M o un segment (64 Ko) 0 offset FFFFFH case adresse multiple de 16 00000H

adresse1 M o un segment (64 Ko) 0 offset FFFFFH case mémoire multiple de 16 00000H

multiple

de 16

00000H

La donn´ee d’un couple ( segment,o set) d´ nit une adresse l ogique, not´ee sous la forme segment : o set. L’adresse d’une case m´emoire donn´ee sous la forme d’une quantit´e sur 20 bits (5 digits hexa) est appel´ee adresse physique car elle correspond `a la valeur envoy´ee r´eellement sur le bus d’adresses A0 - A19.

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

30

Chapitre 4 - Le microprocesseur Intel 8086

Correspondance entre adresse logique et adresse physique :

16 bits 4 bits segment 0 0 0 0 20 bits + offset 16 bits
16 bits
4 bits
segment
0 0 0 0
20
bits
+
offset
16 bits
adresse physique
20
bits

Ainsi, l’adresse physique se calcule par l’expression :

adresse physique = 16 × segment + o set

car le fait d’injecter 4 z´eros en poids faible du segment revient `a e ectuer un d´ecalage de 4 positions vers la gauche, c’est `a dire une multiplication par 2 4 = 16. A un i nstant donn´e, le 8086 a acc`es `a 4 segment s dont l es adresses se trouvent dans les registres de segment CS, DS, SS et ES. L e segment de code cont ient les instructions du

programme, l e segment de donn´ees conti ent

l es donn´ees manipul´ees par l e programme, l e

segment de pile contient la pile de sauvegarde et le segment suppl´ementaire peut aussi contenir des donn´ees. Le registre CS est associ´e au point eur d’instruction I P, ainsi l a prochaine instruction `a ex´ecuter se trouve `a l’adresse logique CS : IP.

1 Mo

segment

de code

0

offset = IP
offset = IP
offset = IP
offset = IP
offset = IP
offset = IP
offset = IP

offset = IP `a l’adresse logique CS : IP. 1 M o segment de code 0 FFFFFH instruction à
offset = IP

offset = IP
offset = IP
offset = IP

FFFFFH

instruction

à exécuter

de code 0 offset = IP FFFFFH instruction à exécuter CS : IP CS : 0000H

CS : IP

CS : 0000Hcode 0 offset = IP FFFFFH instruction à exécuter CS : IP 00000H ISET Rad`es cours

00000H

ISET Rad`es

cours de microprocesseur

H AGG EGE, `

2003

4.5 - Gestion de la m´emoire par le 8086

31

De m eme, les registres

Exemple : DS : SI, ES : DI. Le registre de segment de pile peut etre

de pointeurs : SS : SP ou SS : BP. M´emoire accessible par le 8086 `a un instant donn´e :

de segment s DS et ES peuvent etre

associ´es `a un registre d’index.

associ´e aux registres

1 Mo

`a un registre d’index. associ´e aux registres 1 Mo FFFFFH offset = DI extra segment segment

FFFFFH

offset = DIun registre d’index. associ´e aux registres 1 Mo FFFFFH extra segment segment de pile ES :

extra

segment

segment

de pile

ES : DIFFFFFH offset = DI extra segment segment de pile ES : 0000H offset = SP SS

ES : 0000H= DI extra segment segment de pile ES : DI offset = SP SS : SP

offset = SPextra segment segment de pile ES : DI ES : 0000H SS : SP SS :

SS : SPsegment de pile ES : DI ES : 0000H offset = SP SS : 0000H offset

SS : 0000Hsegment de pile ES : DI ES : 0000H offset = SP SS : SP offset

offset = SIde pile ES : DI ES : 0000H offset = SP SS : SP SS :

segment

de données

DS= SP SS : SP SS : 0000H offset = SI segment de données DS :

DS : 0000H= SP SS : SP SS : 0000H offset = SI segment de données DS :

: SI

offset = IP: 0000H offset = SI segment de données DS DS : 0000H : SI 0 segment

0

segment

de code

CSde données DS DS : 0000H : SI offset = IP 0 segment de code CS

CS : 0000Hdonnées DS DS : 0000H : SI offset = IP 0 segment de code CS :

: IP

00000H

Remarque : les segments ne sont pas n´ecessairement distincts les uns des autres, ils peuvent se chevaucher ou se recouvrir compl`etement.

1 Mo segment de pile segment de données segment de code
1 Mo
segment
de pile
segment
de données
segment
de code

0

segment de pile segment de données segment de code 0 FFFFFH 1 Mo segment de code,
FFFFFH 1 Mo segment de code, de données et de pile SS : 0000H DS
FFFFFH
1 Mo
segment
de code, de
données et
de pile
SS : 0000H
DS : 0000H
CS : 0000H
00000H
0

FFFFFH

CS : 0000H DS : 0000H SS : 0000H 00000H
CS : 0000H
DS : 0000H
SS : 0000H
00000H

Le nombre de segments utilis´e d´ nit le mod`ele m´emoire du programme.

HAGG EGE, `

2003

cours de microprocesseur

ISET Rad`es

32

Chapitre 4 - Le microprocesseur Intel 8086

Contenu des registres apr`es un RESET du microprocesseur :

IP = 0000H CS = FFFFH

DS = 0000H

ES = 0000H

SS = 0000H

Puisque CS contient la valeur FFFFH et IP la valeur 0000H, la premi`ere instruction ex´ecut´ee par l e 8086 se trouve donc `a l’adresse logique FFFFH : 0000H, correspondant `a l’adresse physique FFFF0H (bootstrap). Cette instruction est g´en´eralement un saut vers le programme principal qui initialise ensuite les autres registres de segment.

4.6 Le microprocesseur 8088

Le microprocesseur 8088 est identique au 8086 sauf que son bus de donn´ees externe est sur 8 bits au lieu de 16 bits, le bus de donn´ees interne restant sur 16 bits. Le 8088 a ´et´e produit par Intel apr`es le 8086 pour assurer la compatibilit´e avec des circuits p´eriph´eriques d´ej`a existant, fabriqu´es pour les microprocesseurs 8 bits 8080 et 8085. Di ´erences avec le 8086 :

les broches AD8 `a AD15 deviennent A8 `a A15 (bus de donn´ees sur 8 bits) ;

la broche BHE n’existe pas dans le 8088 car il n’y a pas d’octet de poids fort sur le bus de donn´ees ;

la broche M/ IO devient IO/ M pour la compatibilit´e avec d’anciens circuits d’E/S. Au niveau de l’architecture int erne, pas de di ´erences avec le 8086 sauf que la le d’attente des instructions passe de 6 `a 4 octets.

ISET Rad`es

cours de microprocesseur

H AGG EGE, `

2003