Vous êtes sur la page 1sur 122

DI

APOS

Ar
chi
tect
uredes
ordi
nateur
s
&
Pr
ogr
ammat
ionAssembl
eur
par
ti
eI
SMIS4
Pl
anducour
s

I
. I
ntr
oduct
iongénér
ale
I
I. Repr
ésent
ati
ondesdonnées
I
II
.Ar
chi
tect
uredebased’
unor
dinat
eur
I
V.I
ntr
oduct
ionaumi
cropr
ocesseur
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
1.
Archi
tect
ureint
erne
2.
Pri
nci
pedef oncti
onnement
V. I
ntr
oduct
ionaul
angagemachi
ne
1.
Caract
éri
sti
quesdulangagemachi
ne
2.
Techni
quesdepr ogr
ammat i
on
enassembl .VI
eur .L’
assembl
eur80x86
1.L’assembleur
2.Segmentationdel amémoi
re
3.Modesd’adr essage
4.Lapile
5.Lesprocédur es
VI
I.Lesi
nter
rupt
ions
1. Présentati
on
2. I
nterrupti
onmatéri
elsurPC
3. Entrée/sor
ti
espari
nterr
upt
ion

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CHAPI
TRE1:
Int
roduct
ion

unor di
nateurestunemachi
necapablede
résoudredespr obl
èmes en appliquantdes
i
nstructi
onspr éal
abl
ementdéf
ini
es.

La suite des i nstr


ucti
ons ef
fect
uées par
l
’or
dinat
eurestappeléeprogr
amme.

Lesci
rcui
tsél
ect
roni
quesdechaqueor
dinat
eur

exécut
entunnombr
etr
èsl
i
mit
éd'
i
nst
ruct
ions.t
out

pr
ogr
ammedoi
têt
reconv
ert
iav
antsonexécut
ion.

L’
ensembl
e des i
nst
ruct
ions exécutables
di
rect
ementparunor di
nateurs’appèlent
l
angagemachine(
L1)
.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
l
elangagemachi
nedépenddupr
ocesseurl
e
l
angagemachi
neestdonct
rèsdi
ff
ici
l

ut
il
iser
.int
rodui
reunnouv
eaul
angagepl
us
si
mpl
eàut
il
iserquel
elangagemachi
ne:
l
angageL2.

I
ntr
odui
redeuxsol
uti
onsper
met
tantdeconv
ert
ir
L2enL1:

a.compi
l
ati
on

b.i
nter
prét
ati
on

Lecompi
l
ateurt
radui
tlepr
ogr
ammeenL2enun
pr
ogr
ammeenL1

L’
i
nterpr
ète exami
ne chaque i nstr
ucti
on du
pr
ogrammeenL2etl’i
nter
prèt
edi
rectement.

Onpeutconcev
oirt
out
eunesér
iedel
angages,de
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
pl
usenpl
uspr
ati
quesàut
il
iser
.

unordinat
eurestconçucommeunempi
l
ementde
couchesoudeniveaux.
Les si
x couches de l
a pl
upar
tdes or
dinat
eur
s
act
uels

Fi
gur
eI.
1Lessi
xni
veauxd’
unor
dinat
eur

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
1.
Leniveauphysi que:Lesobjet
smani pul
éssont
lescir
cuit
scomposésdepor t
eslogi
ques.
2.
Niveau micr
o- programmé:mi cr
oprogr
amme,
quiint
erprèt
el esinstr
uct
ionsdeniveau2.
Ni
3. veaumachi neconv enti
onnel
Ni
4. veaudusy stèmed’ exploi
tati
on:gest ion
desE/ S,l
amémoi
re,
lesf
ichi
ers,
les
processus
5.
Niv
eaud’ assembl
age:unef or
mesymbolique
deslangagessous-
jacent
sdebasni
veaux.

Ni
veau des langages d’
appl
i
cati
ons :langages
ut
il
isésparl
esprogrammeurs(C,Pascal
..
.)
.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CHAPI
TREI
I:Archit
ect
uredebased’
un
or
dinateur

I
I.
1Pr
inci
pedef
onct
ionnement

Unordinateurestunemachi
nedet
rai
tementde
l
’i
nfor
mat i
on.

Unei
nfor
mat
ionc’
estt
outensembl
ededonnées:

•t
ext
es

•nombr
es

•sons

•i
mages

•i
nst
ruct
ionscomposantunpr
ogr
amme

Un pr
ogr
amme est une sui
te d’
i
nst
ruct
ions
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
él
émentai
res exécut
ée dans l

ordr
e par un
or
dinat
eur
.

Fi
gur
eII
.1Ar
chi
tect
ureschémat
iqued’
unor
dinat
eur

Last
ruct
urat
iond’
unor
dinat
eurestconst
it
uéede
:
1.
Mémoi repr
inci
pal
e
2.
Pr .
ocesseur

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
3.
Int
erf
acesd’
E/SRel
i
és
ent
reeuxpar:
1.Unbusdedonnées
2.Unbusd’
adresses
3.Unbusdecommandes
4.
Signauxdecont
rôl
e

Lamémoi
repr
inci
pal
e(MP enabr
égé)per
met
de stocker de l
'
inf
ormat
ion (
progr
ammes et
données)

l
e pr
ocesseurestun ci
rcui
tél
ect
roni
que qui
exécutedansl

ordr
elesi
nst
ruct
ionscomposantun
programme.

Leprocesseurcont
rôl
eaussil
esmémoi
resetl
es
i
nter
facesd’
E/S.

Lepr
ocesseurestcomposéde:

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
•l
'uni
tédecommande:l ectur
eenmémoi
reet
décodagedesi
nst
ruct
ions;

•l
'unit
é de tr
ait
ement( Unit
é Ari
thmétique et
Logique
(U.A.
L.)) : exécut
e l es inst
ruct
ions qui
mani pul
entl
esdonnées.
L’
uni
té de t
ransf
ert(
ou i
nter
faces d’
E/S) :
di
alogueent
rel
epetl
espér
iphér
iquesext
ernes.

Lesinter
facesd’E/
Ssonti
ndi
spensabl
epourl
es
rai
sonssuivant
es:

•Ladif
fér
encedev i
tessedetrai
tementent
rep
etl
espéri
phér
iquesexter
nes.

•Di
ver
sit
édespér
iphér
iquesext
ernes

Lespér
iphér
iquesext
ernes:

•Consol
dev
isual
i
sat
ion
•I
mpr
imant
e
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
•Di
squedur
•Di
squet
te

I
I.
2Lamémoi
repr
inci
pal
e
La mémoi r
e st
ocke l
es pr
ogr
ammes et l
es
données.

I
lexi
stepl
usi
eur
sty
pesdemémoi
res:

•di
squedur
•RAM :Random Acces Memor
y(Mémoir

accèsal
éat
oir
e)
•ROM :ReadOnlyMemory(mémoi
reàl
ectur
e

r
egi
str
es… l
amémoi
reestunensembl
ede
bi
ts.

Fi
gur
e I I
.2 Repr
ésent
ati
on d’
une mémoi
re
compor
tant
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
96bi
ts

Unbi
tpeutêt
reégal
à0ouà1

Touteslesdonnéesst
ockéesdansl
amémoi
re
sontcodéesàl’
ai
dedesuit
esde0etde1.

Lesadr
essesmémoi
re
Les adresses per
mettent à un pr
ogr
amme
d’
accéderfaci
l
ementauxdonnées.

Pouradr
esserune mémoi
re,on l
a découpe en
cel
lul
esf
orméesdepl
usi
eur
sbit
s.
Tout
esl
escel
lul
esd’
unemémoi
recompor
tentl
e
mêmenombr
edebit
s.
Onattr
ibueensui
teunnumér
oàchacunedeces
cel
l
ules:adr
esse

Fi
gur
eII
.3Exempl
ed’adr
essaged’
unemémoi
rede96bi
tsen
cel
l
ulesde8bits
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lat
ail
l
edecel
l
ulesv
ari
ed’
unor
dinat
euràl

aut
re.

Lestai
ll
esdecel
l
uleslespl
usrencont
réessont8
oct
et),
16(mot
)et32(doubl
emot).

1024oct
ets=1Ko.
1Mo=1024Ko
1Go=1024Mo

Opér
ati
onssurl
amémoi
re

Seull
e processeur peutmodi
fi
er l
'
étatde l
a
mémoi
re.
Chaque emplacement mémoi
re conser
ve son
cont
enu j usqu'
à coupure de l '
al
iment
ati
on
él
ectr
ique.
Les mémoi
res ext
ernes (di
squet
tes etdi
sques
dur
s)gar
dentl
eurcontenus.

Lesseul
esopér
ati
onspossi
blessurl
amémoi
re
sont:
• écr
it
uredansunempl
acement
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
• l
ect
ured'
unempl
acement

I
I.
3Li
aisonsPr
ocesseur
-Mémoi
re:
lesbus

Fi
gureI
I.
4Connexi
onsProcesseur
-Mémoire:
busde
données,
busd'
adr
esseetsignal
lect
ure/
écr
it
ure.

Lesinformati
onséchangéesentr
elamémoi
reetl
e
processeurci
r entsurdesbus.
cul
Unbusestunensembl edenf il
sconduct
eursou
br
oches, uti
l
isés pour t
ransport
er n signaux
bi
nai
res. Busd’adr
esses
C’
estun ensembledebr ochesquipermetau
micr
opr
ocesseurd’
adresserlesdif
fér
ent
escases
mémoir
eetlesint
erf
acesd’ E/S.

Ce bus estuni
dir
ect
ionnel(
du mi
cropr
ocesseur
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
v
ersl
amémoi
recent
ral
eoul
esi
nter
facesE/
S).

Chaquecasemémoir
eestrepér
éeparuneadr
esse
etst
ockeunei
nfor
mationbi
nair
e.

nbr ochesd’
adressesper
met
tentl
’ essagede2n
adr
casesmémoi r
es.

Exempl
e:
1pde8bi t
setunbusd’ adr
essesde16
br
oches per
metde d’adresser216 cases
mémoir
esoit65535bi
tscàd64ko.

Busdedonnées

C’estun ensemble de broches parlesquel


l
es
tr
ansit
entl
esinst
ruct
ionsetlesdonnées.
Lebusdedonnéesestbi
dir
ect
ionnel
.

Lebusdedonnéescor respondàlacapacit
éde
tr
ait
ementetdecodaged’unmicr
opr
ocesseur
.

Exempl
e:1mi
cropr
ocesseurde8bi
tsunbusde
donnéesde8br
oches.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
1mi
cropr
ocesseurde16bi
ts unbus
dedonnéesde16br
oches.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CHAPI
TREIV:Int
roduct
ionau
micr
opr
ocesseur

I
V.1Archi
tectureint
erned’
un
microprocesseur

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Fi
gur
eVI
.1Schémasi
mpl
i
fiéd'
unpr
ocesseur
.
La fi
gure représente l '
archit
ectur
e inter
ne
si
mpl
i
fiéed'
unmicroprocesseur,el
lecompor
te:

•Lesr
egi
tr
es
uni
•L' tédecommande,

UAL,
•L' lesr
egi
str
es

•Le décodeurd'i
nstr
ucti
ons,qui
,à parti
rdu
codedel'i
nst
ruct
ionluenmémoireact
ionnel
a
part
iedel'
uni
tédecommandenécessair
e.

Lesinformati
onscir
culentàl'
int
éri
eurdu
processeursurdeuxbusinter
nes,l
'unpourl
es
données,l'
autr
epourlesadresses.

Le pestrel
iéàl'
extér
ieurparl
esbusdedonnées
etd'
adr
esses,l
esignald'
horl
ogeetl
essignauxde
commandes.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
I
V.1.
1Lesr
egi
str
es

Lepr
ocesseurut
il
iset
ouj sdesr
our egi
str
es.
Ce sontdespetit
esmémoi resinter
nesd’accès
tr
èsrapi
des.
El
lessontuti
li
séespourstockertemporai
rement
unedonnée,
uneinstr
uct
ionouuneadresse.

Chaquer
egi
str
est
ocke8,
16ou32bi
ts.

Parmil
esregi
str
es,
lepl
usi
mpor
tantestl
eregi
str
e
accumul
ateur
.

L’accumulat
eur est ut
il
isé pour stocker les
résult
atsdesopér
ati
onsari
thmét
iquesetlogi
ques.

Unaccumul ateurestunregi
str
eliéd’
uncotéàun
regi
str
et emporair
eetaubusinter
nededonnéeset
del’
autrecotéàlasorti
edel’
UAL.

Dér
oul
ementd’
uneopér
ati
ont
rai
tantdeuxdonnées:

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
1.
Unedonnéeser ast
ockéet
outd’
abor
ddans
l’
accumul
ateur
2.
Cett
e donnée passer
a en sui
te au pr
emi
er
regi
str
etemporai
re
3.
Ladeuxi
èmedonnéepasseradi
rect
ementau
deuxi
èmeregi
str
etempor
air
e.
4.
Lerésult
atserastockédansl’
accumul
ateur
parl
’i
nter
médiai
redelasor
ti
edel’
UAL.

Fi
gur
eIV.
4Addi
ti
ondedeuxdonnées

Unaccumul
ateurr
epr
ésent
eégalementune
I
nter
médiai
reentr
elamémoi r
e etlesinter
faces
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
d’
E/S

Lenombr
edebit
sdel’
ACCestégalengénér
alau
nombr
edebr
ochesdubusdedonnées.

Lenombr
ed’
accumul
ateurv
ari
ed’
un pàl

aut
re.
Exempl
e:pr
emi
èregénér
ati
on:8088,8085et
6800cesontdes pde8bi
til
spossèdent1
accumul
ateurde8bi
ts.

6809et8088sontappel
ésdes psf
aux16bi
ts:

•cesontdes psde8bits;
•Il
spossèdentdeuxaccumulateur
sde8bits
quipeuventêtr
eregroupéspourf or
merun
seul
accumulat
eurde16bits.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Le8086,80286,68000sontdevr
ais16bits:Ce
sontdes psde16bitsav
ec1accumulat
eurde16
bi
ts.

Les psvr
ais16bi
tssontpl
usr
api
desquel
es ps
faux16bi
ts.

L'
accumul
ateur i
nter
vient dans une pr
opor
ti
on
i
mpor t
ant
edesinst
ructions.
Exempl e:Exécut
iond’unei
nstr
uct
ioncomme
`Aj
` outer5aucont enudelacasemémoir
e
d'
adresse180'':

1.
Lepr ocesseurl i
tetdécodel '
i
nstruct
ion;
2.
l
e pr ocesseur demande à l a mémoi rele
contenudel 'empl acement180;
3.
lavaleurlueestr angéedansl '
accumulat
eur;
4.
l'
uni
tédet r
aitement( UAL)aj
oute5aucontenu
del'accumulat eur;
5.
l
e cont enu de l 'accumulat
eur estécriten
mémoi r
eàl '
adr esse180.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
C'est l
'
uni
té de commande qui décl
enche
chacunedecesact
ionsdansl
'
ordr
e.
L'
addi
ti
onpr
opr
ementdi
teestef
fect
uéeparl
'
UAL.
I
lexi
steaussisi
xregi
str
esf
ondament
auxqu’
on
t
rouv
edanstousles p:

•Compt
eurd’
i
nst
ruct
ionsoucompt
euror
dinal
•Regi
str
ed’
adr
esse

•Regi
str
ed’
i
nst
ruct
ion

•Regi
str
ededonnées(
accumul
ateur
)

•Regi
str
ed’
Etat
•Regi
str
etempor
air
e

Selonletypedu putil
iséonpeutt
rouverenplusde
cesregist
resd’aut
resregi
str
espourfaci
li
terl
a
programmat i
ond’un p.

I
V.1.
1.1Compt
euror
dinal
(CO)

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
For
matd’
unei
nst
ruct
ion
Chaqueinstr
uct
ionestr
epr
ésent
éegénér
alement
pardeuxchamp:
code opér
ati
on :spéci
fi
e au p l
a nat
ure de
l’
opér
ati
oneff
ect
uée.

Cett
eopérat
ionpeutêt
reune+,
-,*
,unt
ransf
ertde
données,
….

Le code opér
ati
on est codé sur une cel
l
ule
mémoire.

Codeopér
ande :indi
queau pl esdonnéesqui
v
ontêt
retr
ait
éesparl
ecodeopér
ation.
Latai
ll
educodeopérandedépenddel
anat
uredes
donnéesmi
sesenjeu.

Un cer t
ain nombre de cel
l
ules mémoi r
e est
nécessair
epourst
ockerl
ecodeopérande.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Last
ruct
ured’unpr
ogr
ammest
ockéenmémoi
rea
l
afor
mesui v
ante:

Fi
gur
eIV.
2st
ruct
ured’
unpr
ogr
ammeenmémoi
re

Lecompteurordi
nalestunregist
requiper
metde
l
ocal
iserl
esinst
ruct
ionsst
ockéesenmémoi r
e.
LeCO estchargéaudébutdel ’
exécut
iond’un
programmeàpar t
irdel’
adr
essedel apremi
ère
case mémoir
e où se tr
ouvele pr emi
ercode
opérati
ondel
apremièr
einst
ruct
ion.

L’
exécut
iond’
unpr
ogr
ammes’
eff
ect
ued’
unef
açon
séquent
iel
l
e.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
l
e compteur ordi
nal s’
i
ncrémente
automati
quementpourpasserdel
’adr
essed’une
casemémoi r
eàl’
adressesuiv
ant
e.

Le nombr
e de bi
ts de ce regi
str
e estégalau
nombredebr
ochesduregist
red’adr
esse.

I
V.1.
1.2r
egi
str
ed’
adr
esse(
RA)

LeRAper
metd’
accéderàunedonnéeenmémoi
re.
LeRAal emêmenombr
edebi
tsquel
ecompt
eur
or
dinal
.

I
V.1.
1.3r
egi
str
ed’
i
nst
ruct
ion(
RI)
LeRIper
metdest
ockerl

inst
ruct
ionàexécut
er.
Le RI garde l’
inst
ruct
ion pendant l
e t emps
nécessai
reàsondécodageetàsonexécut
ion.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lecompteurordi
nalcommuni
queavecleRApour
l
uidonnerl
’adr
essedelapr
emi
èrei
nstr
ucti
on.
LeRAdonnecet
teadresseaubusd’
adr
essequiv
a
l
ocal
i
sercet
teadr
esse.
Lamémoir
ereçoitunsignal(
lali
gneR/
W =1)de
l
apartdelalogi
quedecont rôl
epourl
’i
nfor
mer
qu’
i
ls’
agi
td’
unelectur
e.
Lebusdedonnéesvalir
el’i
nst
ruct
ionetl
amet
tre
dansl
eregi
str
ed’i
nst
ruct
ion.

I
V.1.
1.4r
egi
str
est
empor
air
es
L’
UAL possède deux ent
rées pourr
ecev
oirl
es
donnéesàtr
ait
er.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Auni veaudechaqueent r
éeilyaunr egi
str
e
temporair
equigar
deladonnéependantl
etemps
nécessair
eàsontrai
tement
.

Exempl
e:t
rai
tementdedeuxdonnées
RT1

RT2

Fi
gur
eIV.
3Tr
ait
ementdedeuxdonnéesparl

UAL

L’UALestuncir
cuitél
ect
roni
quequinepeutpas
stockerdes données,el
le se ser
tdonc des
regi
strest
emporai
resRT1etRT2.
I
V.1.
1.5Regi
str
ed’
Etat
Ler
egi
str
ed’
Etatestdi
rect
ementl
i
éàl

UAL.

Le r
egist
re d’ Et
at stockecer
tai
nes
i
nfor
mat i
ons particul
i
ères concernant l
es
opér
ati
onseff
ect
uées.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lenombredebi
tsdecer
egi
str
evar
ied’
un pà
l
’aut
re.

Lesbi
tsl
espl
usut
il
iséssont:

OF SF ZF CF

Bi
tder
etenuoui
ndi
cat
eurder
etenu(
CF)

SiCF = 1 alors une opérat


ion d’
addi
ti
on ou
soust
ract
ionagénér
éuneretenue,

Si
CF=0al
orspasder
etenue

Exemples
a.
10101111

CF=0pasder
etenue
b.
11111111 (
255)
00000001 (
1)
00000000

CF=1 i
lya une r
etenue,ce 1 de r
etenue ser
a
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
st
ockerdansl
ebi
tder
etenueCF.
Bi
tdez
éroZF

SiZF=1al
orslerésul
tatd’
uneopér
ati
onestnul
.
SiZF=0alorslerésult
atd’
uneopérat
ionestnon
nul
.

Bi
tdesi
gne(
SF)

SiSF = 1 alor
sle bi
tle pl
us si
gni
fi
cat
ifd’
une
donnéeestégalà1

SiSF = 0 alor
sle bi
tle pl
us si
gni
fi
cat
ifd’
une
donnéeestégalà0

Exemple:encomplémentà1ouà2l
adonnée
10000001i
mpl
iqueSF=1.

Bi
tdedébor
dementOF

SiOF=1al
orsilyadépassementdel
acapaci

maxi
mal
edecodage.
SiOF=0al ors i
ln’
yapasdépassementdel
a
capaci
témaximal
edecodage.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
I
V.1.
2L’
uni
tédet
rai
tement(
UAL)
Let
rai
tementef
fect
uéparl

uni
téar
it
hmét
iqueet
l
ogi
quesont+,
-,*
,/,
leetl
ogi
que,
leoul
ogi
que,
le
ouexcl
usi
f.Exempl
es:

a.l
eetl
ogi
que(
AND)

Soi
entN1=00101111etN2=10100001

N3=N1ANDN2=00100001

Tabl
elogi
quedeAND:

A B AANDB
0 0 0
1 0 0
0 1 0
1 1 1

b.l
eoul
ogi
que(
OR)

Tabl
elogi
quedeOR:
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
A B AORB
0 0 0
1 1 1
2 0 1
1 1 1
c.l
eouexcl
usi
f(EOR)t
abl
e

l
ogi
quedeEOR

A B AEORB
0 0 0
0 1 1
1 0 1
1 1 0

I
V.1.
3Uni
tédecommandeetdecont
rôl
e
L’
uni
tédecommandeestl emaî t
red’œuvredes
di
ff
érent
esopér
ati
onsdet
ransf
ertdedonnées.

L’
uni
tédecommandeapourf
onct
ion:

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
•Décodagedesi nst
ruct
ionsstockéesdansle
regist
red’i
nst
ructi
ons(natur
edel’opér
ati
onou
l
’instr
uct
ionàexécuter)
.

•Exécut
ion des i
nstr
uct
ions parles or
ganes
exécut
ifs(
UAL,Accumulat
eur,CO,
…)
•Gesti
ondudi al
ogueent
rele p,lesmémoi r
es
etlesint
erf
acesd’E/S,parl’
int
ermédi
air
edu
busdecommandeetdessi gnauxdecontr
ôle.

Les signaux de commandes permett


ent au
processeurde communi
querav ec l
es aut
res
ci
rcuit
sdel'or
dinat
eur
.

Ont
rouv
eenpar
ti
cul
i
er:

1.
l
esignalR/W(Read/Wri
te):le pi
ndi
queàla
mémoi r
epri
nci
pales’i
leffect
ueunaccèsen
lect
ureouenécri
tur
e.

2.
l’
i
nit
ial
isat
iondesregist
resint
ernesdu p:l
a
broche d’
ini
ti
ali
sati
on fai
tsignalau p de
fai
retouslesregi
str
esàzér o.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
3.l

int
err
upt
iond’
exécut
iondu p.

Lenombr edebr
ochesdecessi
gnauxchanged’
un
const
ruct
euràunautr
e.

I
V.1.
3.1Exempl
edegest
ioni
nter
ne

•I
ncr
ément
ati
onduCO
•Mise à j
ourdes bi t
s du regi
str
e d’
Etaten
f
oncti
ondesr ésul
tat
sfour
nisparl’
UAL
•Natur
edel ’
opérat
ionquivaêtreeff
ect
uéepar
l
’UAL

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
I
V.1.
3.2Exempl
edegest
ionext
erne(
dial
ogue)

•I
NT:int
err
upti
ond’
exécuti
ond’unprogramme.
I
NTestgénér
éeparuneint
erf
aced’E/S
SiINT = 1 al
orsl

IE/
S dési
re communi
quer
avecl
e p.

Si
INT=0pasdedi
alogueent
reE/
Setp

•I
NTA:
Réponseparl
e pausi
gnal
eINT

Si
INTA=1al
orsl
e par
eçul
esi
gnal
INT

SiI
NTA=0al
orsl
e pn’
apasr
eçul
esi
gnal
I
NT

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
•DMA:
Dir
ectMemor
yAcces

SiDMA = 1 al or
s une int
erface d’E/S
demandelesbusdedonnées,d’adresseset
de commandes pourêt
re en l
ien av ec l
a
mémoire.

SiDMA=0al orspasdedemandedesbusde
l
apartl
esi
nterf
acesd’
E/S.

•DMAA:
réponsedupausi
gnal
DMA

Si
DMAA=1al
orsl
e pareçul
esignalDMA
Si
DMAA=0al
orsl
e pn’
apasreçulesignal
DMA
Exempl
ed’
uti
l
isat
ion

•Chargementdesprogrammes, f
ichi
ersde
données,
…,del’uni
tédisqueduroudisquet
te
danslamémoi r
ev i
ve(RAM) .

•St
ockagedespr
ogramme,…del
aRAM v
ersl
e
di
squeduroudi
squet
te.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Exempl
edeI
NTetI
NTA

SiI
NT=0, INTA=0
Le p exécut e l e pr
ogr
amme pr
inci
pal
(f
onct
ionnementnor
mal)

SiINT = 1 alors une i


nter
face d’
E/S dési
re
communiqueravec l
e p pourun t r
ansf
ertde
données
:

1.
Le pv
adonci
nterr
omprel
epr
ogr
amme
princi
pal

2.
INTA=1,le pinf
ormel

int
erf
aced’
E/Squ’
i
la
reçul
esi
gnalI
NT
3.Le p exécuteun sous-pr
ogrammepourl e
tr
aitement de l ’
int
err
upti
on ( l
ect
ure des
donnéesdel’
inter
faced’
E/Sv er
sle petdu p
verslamémoire).

4.
Alafi
ndel ’
exécut
iondusous-
progr
amme,l
e
p cont
inue à exécuter le progr
amme
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
pr
inci
pal
àpar
ti
rdel

inst
ruct
ionsui
vant
e.

VI
.1.
4Hor
loge

C’
estunosci
l
lat
eurqui
génèr
eunsi
gnal
pér
iodi
que.

oxi
l
ateur

T T

àl

inst
antTl
e pdoi
tcher
cherl

inst
ruct
ionapr
ès

unepér
iodei
ldoi
tl’
exécut
eretai
nsidesui
te.d’

l
anot
iondet
empspourp.

I
V.2Fonct
ionnementd’
un p
L’
exécuti
on d’
un progr
amme se fai
t
séquenti
ell
ementà par
tirdu pr
emi
ermotdela
premièr
einstr
ucti
on.

Pourchaquemotd’
unei
nst
ruct
ionl
e p ef
fect
ue
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
l
esphasessui
vant
es:

• Phaseder
echer
che

• Phasededécodageetd’
exécut
ion

I
V.2.
1Laphaseder
echer
che

Lebutdecettephaseestdecher
cherl
econt
enu
d’unmotd’uneinst
ruct
iondel
amémoirever
sle
regi
str
ed’
instr
ucti
on.

El
l
es’
eff
ect
uedel
amani
èresui
vant
e:

1.
Le contenu du compteur or
dinal
, qui
conti
ent l’
adr
esse du pr
emier mot de
l’
inst
ruct
ion est envoyé au r egist
re
d’adr
esse.

2.
Unsi
gnaldel
ect
ureestenv
oyéparl
ebl
ocde
commandeetdecont
rôl
eversl
amémoir
e.
3.
Lamémoir
eunefoisqu’
el
ler
eçoi
tl’
adr
esse
etl
esi
gnaldel
ect
ure:

•effect
uel
edécodagedel

adr
esseconsi
dérée
(càdcher
chel
acasemémoir
edontl’
adresse
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
estdansl
ebusd’
adr
esse)
.
•déposesurl
ebusdedonnéesl
econt
enude
l
acasemémoi r
espéci
fi
ée.

4.
Le p l
itlebusdedonnéesetdéposel
e
cont
enudansl
eregi
str
ed’
i
nst
ruct
ion.

5.
Le cont enu du compt eur ordi
nal est
incrément éaut omati
quementparlebl oc
decont rôleetdecommande.
Lesét apesde1à5v ontserépét
erj
usqu’à
lafindel ar echerchedetouslesmotsde
l’
instr
uction.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Fi
gur
eIV.
5phaseder
echer
ched’
uncy
clemachi
ne

I
V.2.
2Phasedecodage

L’
i
nst
ruct
ion est st
ockée dans l
e r
egi
str
e
d’
i
nst
ruct
ion.

Leblocdecommandeetdecont r
ôleprocèdeà
sondécodageetsonexécut i
on.
Leprocessus(
recherche,décodage,
etexécuti
on)
se répète avec l’instr
ucti
on suivant
e dont
l
’adr
essedesonpr emi ermotestdéj àstockée
dansleCO.
Lasynchr
oni
sati
onentr
elaphaseder echerche,
l
aphasededécodageetd’
exécut
ionsefai
tgrâce
àunebasedetempsfour
nisparunosci
ll
ateur.

Unosci
l
lat
eurestunci
rcui
tél
ect
roni
queosci
l
lant
.

Lenombr
edepér
iodesparphasedépenddup
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
ut
il
isé.

Le nombre de phasesde r
echer
che dépend de
l
’i
nstr
uct
ionàexécuter.
Lenombr
edephasesdedécodageest1.

Exempl
e

LOAD ACC $2000


Càdchargerdansl’
accumul
ateurl
econt
enudel
a
casemémoire:$2000.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Fi
gur
eIV.
6phasedecodaged’
uncy
cle
machi
ne

Phaseder
echer
che:
3pér
iodes
Phased’
exécut
ion:
2pér
iodes

Uncy
clemachi
ne:
5pér
iode

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
mémoi
re

Fi
gur
eIV.
7phasesderecher
cheetd’
exécut
ionde
l
’i
nst
ruct
ionLOADACC2000

L’
adresseduCOs’incr
ément eàlafi
ndechaque
phase de r
echer
che d’adr
esse d’
i
nstr
uct
ion et
pasd’adr
essededonnées.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CHAPI
TREV:
Int
roduct
ionaul
angagemachi
ne

V.
1Car
act
éri
sti
quesdupr
ocesseurét
udi
é

Lagammedemi cr
opr
ocesseur
s80x86équi
pel
es
micr
oor
dinat
eur
sdety
pePCetcompatibl
es.

Lespr emiersmodèlesdePC,commerci
ali
sésau
début
des années 1980, ut i
li
sai
ent l
e 8086, un
microprocesseur16bi
ts.

Lesmodèl
essuivant
sontuti
l
isésuccessi
vement
l
e80286,
80386,
80486etPent
ium (
ou80586).

Chacun decespr ocesseursestpl uspuissant


que les précédents : augment ati
on de l a
fr
équenced'hor
loge,del alargeurdesbus,ajout
d’
inst
ruct
ionsetajoutder egi
stres.

Chacun d'
ente eux est compat
r ibl
e av
ec l
es
modèlespr
écédent
s.
unprogr
ammeécr itdansl
elangagemachinedu
286peuts'
exécut
ersansmodifi
cati
onsurun486.
L'
inv
erse n'est pas v rai : compat ibi
l
ité
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
ascendant
e.
Voi
cilescaractéri
sti
quesdupr
ocesseursi
mpl
i
fié
quenousétudierons:

CPU
16bi
tsàaccumul
ateur:
Busdedonnées16bi
ts;
Busd'
adr
esse32bi
ts;

Regi
str
es:
• accumul at
eurAX( 16bit
s);
• registr
esauxil
iai
resBXetCX( 16bit
s);
• pointeurd'
inst
ructi
onIP(16bit
s);
• registr
essegment sCS,DS,SS(16bit
s);
• pointeurdepil
eSP( 16bits)
,etpoi
nteurBP(
16
bi
ts)
.

Les regist
res de données de 16 bit
s peuvent
parf
ois êt r
e util
isés comme deux r egi
stres
i
ndépendant s de 8 bits(AX devient l
a paire
(AH,
AL) )
.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
V.
2Jeud'
i
nst
ruct
ion
Le jeu d’
inst
ruct
ion d’
un mi
cropr
ocesseur est
appelél
angageAssembleur
.

Le jeu d’i
nst
ruct
ion r
epr
ésent
e l

aspect
pr
ogr
ammabl
edup.

unmicropr
ocesseurfonct
ionnesel
onl
anat
urede
l
’appl
i
cati
onàélaborer.

Laprogrammat iondul
angageassembl
eurexi
gel
a
connaissance des r egi
str
es i nt
ernes du
microprocesseur.

V.
2.1Ty
pesd'
i
nst
ruct
ions
V.
2.1.
1Inst
ruct
ionsd'
aff
ect
ati
on

Déclenchentuntransf
ertdedonnéesent
rel
'
undes
regi
stresduprocesseuretl
amémoi r
epri
nci
pal
e.

• t
ransf
er tCPU Mémoi re Pr
inci
pal
e(MP)(
=
l
ectur
eenMP) ;
• t
ransf
er tCPU Mémoi
rePri
nci
pale(MP)
(
=écritureenMP);

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
V.
2.1.2Inst
ruct
ionsari
thmétiquesetlogi
ques
Opérati
onsentreunedonnéeetl '
accumulat
eurAX.
Lerésult
atestplacédansl
'accumulateur
.
Ladonnéepeutêtr
euneconstant
eouunev
aleur
cont
enuedansunempl
acementmémoir
e.
Exempl
es:

• addi
ti
on:
AX AX+donnée;
• soust
ract
ion:
AX AX-donnée;
• i
ncr
ément
ati
ondeAX:
AX AX+1;
• décr
ément
ati
on:
AX AX-1;

V.
2.1.
3Inst
ruct
ionsdecompar
aison

Comparai
son du regi
str
e AX à une donnée et
posi
ti
onnementdesindi
cateur
s.

V.
2.1.
4Inst
ruct
ionsdebr
anchement

Lapr
ochai
nei
nstruct
ionàexécut
erestr
epér
éeen
mémoir
eparl
eregist
reIP.

Lesi
nstr
uct
ionsde br
anchementpermett
entde
modi
fi
erlavaleurdeI
P pourexécut
eruneaut
re
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
i
nst
ruct
ion
(
boucl
es,t
est
s,et
c.)
.
Ondi
sti
nguedeuxt
ypesdebr
anchement
s:
• br
anchementsi ncondi
ti
onnel
s :I
P adr
esse
d'
uneinst
ruct
ion;
• branchement
sconditi
onnels:Siunecondi
ti
on
est sati
sfai
te, al
ors branchement, si
non
passagesimpleàl'
i
nstr
ucti
onsui vant
e.

V.
2.2Codagedesi
nst
ruct
ionsetmode
d'adr
essage
Lesinst
ruct
ionsetl
eur
sopérandes(par
amèt
res)
sontst
ockéesenmémoir
epr
inci
pale.

Latail
l
et ot
aled'
uneinstr
uct
iondépenddut
ypede
l

inst
ructi
onetdutyped'opér
ande.

Chaque inst
ruct
ion estt oujour
s codée surun
nombre entier d'
octets,afin de faci
li
ter son
décodageparleprocesseur.

Unei
nst
ruct
ionestcomposéededeuxchamps:
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
• Lecodeopér
ation;
• Lecodeopérandequicont
ientl
adonnée,ou
l

adr
essedel
adonnéeenmémoi
re.
Champ1 Champ2
codeopér
ati
oncodeopér
ande
Sel
on l
e mode d'
adressage de l
a donnée,une
i
nstr
uct
ionser
acodéepar1,2,3ou4octets.

Ondi
sti
ngueici
quat
remodesd'
adr
essage:
impl
i
cit
e,
i
mmédiat,
dir
ectetr
elat
if
.

V.
2.2.
1Adr
essagei
mpl
i
cit
e

L'
inst
ruct
ionconti
entseul
ementl
ecodeopér
ati
on,
sur1ou2oct et
s.

codeopér
ati
on

(
1ou2oct
ets)

L'
i
nst
ruct
ionpor
tesurdesr
egi
str
esouspéci
fi
eune
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
opérat
ionsansopér
ande(
exempl
e:`
`i
ncr
ément
er
AX''
).

V.
2.2.
2Adr
essagei
mmédi
at

Lechampopér
andeconti
entl
adonnée(
unev
aleur
const
ant
esur1ou2octet
s).

Codeopér
ati
onval
eur
(1ou2octet
s)(
1ou2oct
ets
Exempl
e:` `
Ajout
erl
avaleur5àAX''
.Icil
'
opér
ande
5estcodéesur2octetspuisquel
'
opérati
onpor
te
surunr
egistr
e16bit
s(AX).

V.
2.2.
3Adr
essagedi
rect
Le champ opér
ande cont
i adr
ent l
' esse de l
a
donnéeenmémoir
epri
nci
pal
esur2octets.
Code opér
ati
on Adresse de la
donnée(
1ou2oct
ets)(2oct
ets)

Dans l
e 80x86, l
es adr
esses sont t
ouj
our
s
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
mani
pul
éessur16bi
ts,quel
l
equesoi
tlat
ail
l
e
r
éel
ledubus.

Exemple:`
`Pl
acerdansAXl
aval
eurcont
enuedans
l
'adr
esse130H'
'.

V.
2.2.
4Adr
essager
elat
if

Ce mode d'
adr
essage estuti
l
isé pourcer
tai
nes
i
nst
ruct
ionsdebranchement
.
Lechampopér andeconti
entunenti
errelat
ifcodé
sur1octetnommédépl
, acement
,quiseraajoutéà
l
av al
eurcourantedeIP.
Codeopérat
iondépl
acement
(1oct
et) (1oct
et)

V.
2.3Tempsd'
exécut
ion
Chaquei
nst
ructi
onnécessi
teuncert
ainnombr
ede
cycl
esd'
hor
logespours'
eff
ectuer
.

Lenombredecycl
esdépenddel acomplexi
téde
l
'i
nst
ruct
ionetdumoded'adressage:i
lestplus
l
ongd'accéderàl
amémoi repr i
nci
pal
equ'àun
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
r
egi
str
edupr
ocesseur
.

La durée d'
un cycl
e dépend bien sûr de l
a
fr
équenced'
horl
ogedel'
ordi
nat
eur.

Plusl'
horl
ogebatr apidement
,pl
usuncycleest
court et pl
us on exécute un gr
and nombre
d'
inst
ruct
ionsparseconde.
V.
2.4Ecr
it
uredesi
nst
ruct
ionsenl
angage
symboli
que
Voi
ciunpr
ogrammeenl angagemachi
ne80486,
i
mplant
éàl
'adr
esse0100H:
A1011003060112A30114

Ce progr
amme addi
ti
onne l
e cont
enu de deux
cases mémoi
re etr
ange l
er ésul
tatdans une
tr
oisi
ème.

Nousavonssimplementt
ranscr
itenhexadéci
mal
l
ecodeduprogramme.

I
lestcl
airquecet
yped'
écr
it
uren'
estpast
rès
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
ut
il
isabl
eparunêt
rehumai
n.

A chaque i nstruct
ion que peut exécut
er le
processeurcorresponduner epr
ésent
ati
onbinai
re
surunoupl usieursoctet
s,commeonl 'avuplus
haut.

C'estlet ravai
ldu pr
ocesseurde décodercett
e
représentati
on pour eff
ectuer l
es opérati
ons
correspondantes.
Af
indepouv oi
récri
re(etrel
i
re)despr ogrammes
en l
angage machine,on ut i
li
se une not at
ion
sy
mboli
que, éel
appel angageassembleur.
Ai
nsi
,lapr
emi
èrei
nst
ruct
iondupr
ogr
ammeci
-
dessus(
codeA10110)ser ée:MOV AX,
anot
[
0110] el
l
e i
ndi
que que l
a cel
l
ule mémoi
re
d'
adr
esse0110H estchar
géedansl
eregi
str
eAX
dupr
ocesseur
.

Onut i
l
ise des pr ogr
ammes spéci aux,
ésassembl
appel eurs,pourt
radui
re
automati
quementlelangagesymboli
queencode
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
machi
ne.

Voi
ciune t
ranscr
ipt
ion l
angage sy
mbol
i
que du
pr
ogrammecomplet.

L'
adresse de débutde chaque i
nst
ruct
ion est
i
ndi
quéeàgauche( enhexadéci
mal
).
Adr
esse Cont
enuMP LangageSy
mbol
i
que Expl
i
cat
ionenf
rançai
s
0100 A10110 MOVAX,
[0110] AX=cont
enude$0110
0103 03060112 ADDAX,
[0112] AX=AX+cont
enude
$0112
0107 A30114 MOV[
0114]
,AX RangerAXen$0114.
V.
2.4.
1Sensdesmouv
ement
sdedonnées

Laplupartdesi
nstr
ucti
onsspécif
ientdes
mouv ementsdedonnéesentrel
amémoi re
pr
incipal
eetlemicropr
ocesseur
.

En l
angage sy
mbolique,on i
ndi
que t
ouj
our
sla
dest
inat
ion,
pui
slasource.

L'i
nstr
uctonMOVAX,[
i 0110]t
ransf
èrel
econt
enu
de l '
emplacement mémoire 0110H dans
l
'accumulateur
,
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
L’
inst
ructi
onMOV[ 0112]
,AXt r
ansf
èrel
econt
enu
de l'
accumul
ateurdans l
'empl
acementmémoir
e
0112.

L'
i
nst
ruct
ionMOV(
dépl
acer
)s'
écr
itdonct
ouj
our
s:

MOVdest
inat
ion,
sour
ce
V.
2.4.
2Modesd'
adr
essage
Enadressagei
mmédiat
,oni ndi
quesi
mpl
ementl
a
val
eurdel'
opér
andeenhexadéci
mal.
Exempl
e:
MOVAX,
12
Enadr essagedi
rect
,onindiquel
'adressed'
un
emplacementenmémoi r
epr i
nci
paleen
hexadécimalent
recrochets:
MOVAX,
[A340]
Enadr essagerelat
if
,onindi
quesimplement
l
'adresse(hexa).L'
assembleurtr
adui
t
automat i
quementcet t
eadresseenun
déplacement(relat
ifsurunoctet
).
Exempl
e:
JNE0108
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
(
nousét
udi
eronsl
'
inst
ruct
ionJNEparl
asui
te)
.

V.
2.4.
3Tabl
eaudesi
nst
ruct
ions

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Tabl
eV.
1:Quel
quesi
nst
ruct
ionsdu80x86.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lecodedel'
i
nst
ruct
ionestdonnéenhexadéci
mal
dansl
adeuxi
èmecolonne.

Lacolonnesui
vantepréci
sel
enombr ed'
oct
ets
nécessai
respourcoderl'
i
nst
ruct
ioncompl
ète
(opér
andeincl
us).

V.
3Br
anchement
s

Le processeur exécut
eles i
nst
ruct
ions d’
une
manièr
eséquentiel
le.

I
larri
vef r
équemmentquel '
onveuil
l
efair
erépéter
au processeurune cer
tai
ne sui
te d'
i
nstr
uct
ions,
commedansl epr
ogr
amme:
Répét
er3f
ois:
aj
outer5auregi
str
eBX
End'autr
esoccasions,i
lestutil
ededéclencher
uneacti
onquidépenddurésul
tatd'
unt
est:
Six<0:
y
=-xsi
nony=
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
x
Danscessi t
uati
ons,ondoitut
il
iseruneinstr
ucti
on
debranchement,ousaut,quii
ndiqueau
processeurl
'adr
essedelaprochaineinst
ructi
onà
exécuter.

Rappel
ons que le r
egi
str
e I P du pr
ocesseur
conser
vel'adr
essedelaprochai
neinst
ruct
ionà
exécut
er.

Lors d'
un déroul
ement normal
,le processeur
eff
ectue les act
ions sui
vant
es pour chaque
i
nstruct
ion:
1.l
ir
eetdécoderl
'i
nstr
uctionàl'
adresseI
P;
2.I
PI P+t ai
l
ledel'
i
nstructi
on;3.exécut
er
l
'i
nstr
uct
ion.
Pour modi f
ier le déroul
ement normal d'un
programme,ilsuf
fi
tquel'
exécut
iondel
'
inst
ruct
ion
modifielavaleurdeI P :C'
estcequef ontles
i
nstructi
onsdebranchement
.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Ondi
sti
nguedeuxcat
égor
iesdebr
anchement
s:

•Sautsi ncondi
ti
onnel
s( l
e saut est t
oujours
eff
ectué)
;
•Sauts conditi
onnel
s (l
e saut est effectué
seul
ementsi unecondi
ti
onestvér
if
iée)
.

V.
3.1Sauti
ncondi
ti
onnel
Lapr
inci
pal
einst
ruct
iondesauti
ncondi
ti
onnelest
JMP.

En adr
essagerelat
if
,l'
opér
andedeJMP estun
dépl
acement,c'
estàdireunev al
eurquiv
aêt
re
aj
outéeàIP.
L'
act
ionef
fect
uéeparJMPest:
I P+dépl
P=I acement
Ledépl
acementestunent
ierr
elat
ifcodésur8bi
ts.
Lavaleurdudépl
acementàuti
l
iserpourat
tei
ndr
e
unecertai
nei
nstr
uct
ionest:

dépl
acement=adr
.inst
ruct
ionv
isée-adr
.Inst
ruct
ionsui
vant
e

Exempl
e:l
epr
ogr
ammesui
vantécr
iti
ndéf
ini
ment
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
l
av aleur 0 à l
'
adresse 0140H. La pr
emi
ère
i
nst
ructi
onesti
mplant
éeàl'
adresse100H.

Adr
esseCont
enuMP LangageSy
mbol
i
que Expl
i
cat
ionenf
rançai
s

0100 B80000 MOVAX,


0 metAXàzér
o

0103 A30140 MOV[


140]
,AX écr
itàl
'
adr
esse140

0106 EBFC JMP0103 br


ancheen103

0107 xxx -
> i
nst
ruct
ionj
amai
sexécut
ée

Ledéplacementesti
ciégalàFCH,c'
estàdi
re-
4
(=103H107H)
.

V.
3.2i
ndi
cat
eur
s
Les instr
uct
ions de branchementconditi
onnel
s
uti
l
isent les indicat
eurs (des bits spéci
aux
posit
ionnésparl
'UALaprèscert
ainesopér
ati
ons).

Lesindicat
eurssontregr er
oupésdansl egi
str
e
d'
étatduprocesseur
.

Cer
egi
str
en'
estpasaccessi
blegl
obal
ementpar
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
desi
nst
ruct
ions;

chaque i
ndicat
eurestmani pul
éindi
vi
duel
l
ement
pardesinst
ruct
ionsspéci
fi
ques.
V.
3.2.
1Inst
ruct
ionCMP

I
lestsouv
entuti
l
edet esterl
aval
eurdur
egi
str
e
AXsansmodi
fi
ercel
ui-
ci.

L'
instr
ucti
onCMPef f
ect
ueexact
ementl
esmême
opérati
onqueSUB, maisnest
ockepasl
erésul
tat
delasoustract
ion.

Leseulef
fetdeCMPestdoncdeposi
ti
onnerl
es
i
ndi
cateur
s.
Exempl
e :apr
ès l
'
inst
ruct
ion
CMPAX,
5
onauraZF=1siAXcont i
entl
aval
eur5,etZF=0
siAXestdi
ff
érentde5.

V.
3.2.
2Inst
ruct
ionsSTCetCLC

Cesdeuxinst
ructionsper
met
tentdemodi
fi
erl
a
val
eurdel
'
indi
cateurCF.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Sy
mbol
e

STC SeTCar
CF1( ry)
CLC CLearCar
CF0( ry)
V.
3.3Saut
scondi
ti
onnel
s

Lesinstr
ucti
onsdebr anchement
scondi
ti
onnels
eff
ectuentunsaut(commeJMP)si unecert
aine
condit
ionestvér
if
iée.

Sice n'
estpas le cas,l
e pr
ocesseurpasse à
l
'i
nst
ruct
ionsui
vant
e.
Lescondit
ionss'
expr
imentenf
onct
iondesv
aleur
s
desi
ndicateur
s.
Lesi
nstruct
ionsdebranchementcondi
ti
onnel
s'
uti
l
isentengénéral
immédiatementaprèsune
i
nstr
uctiondecomparaisonCMP.
Exempl
es:
JE
Jump i f Equal
sautsi
ZF=1

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
JNE
Jumpi fNotEqual
sautsiZF=0;
Note: l
es
inst
ructi
onsJEet
JNEsontpar f
ois
écri
tesJZetJNZ
(même code
opérati
on).

V.
4Inst
ruct
ionsAr
it
hmét
iquesetl
ogi
ques

Les i nst
ruct
ions ar i
thmét
iques et
l
ogiques sonteff
ect
uéesparl
'UAL.
Nousabordonsi cilesinstr
uctionsquitrav
ail
lent
sur l
a représentati
on binaire des données :
décal
agesdebits,opérat
ionslogiquesbi
tàbit.
Notonsquetoutescesopér
ati
onsmodi
fi
entl
'
état
desindi
cat
eurs.

V.
4.1I
nst
ruct
ionsdedécal
ageetder
otat
ion
Cesopér
ati
onsdécal
entv
ersl
agaucheouv
ersl
a
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
dr
oit
elesbi
tsdel
'
accumul
ateur
.

Ell
es sontuti
l
isées pourdécoderbità bi
tdes
données,ousi
mpl ementpourdiv
iseroumul
ti
pli
er
rapi
dementparunepuissancede2.

Eneffet
,décal
erAXdenbi t
sv er
slagaucher evi
ent
àlemul t
i erpar2n (
pl
i sousréserv
equ'ilr
eprésente
un nombr e natur
el et qu'i
l n'y ait pas de
dépassementdecapacit
é).
Undécal
agev
ersl
adr
oit
erev
ientàdi
vserpar2n.
i

Voi
ci l
es v ar
iant
es les plus util
es de ces
i
nst
ruct
ions.El
l
espeuventopérersurlesr
egi
str
es
AXouBX( 16bi
ts)ousurl
esregist
resde8bit
sAH,
AL,
BHetBL:
SHLregi
str
e,1
(
Shif
tLeft
)

Décalelesbit
sduregist
red'
uneposit
ionv er
sla
gauche.Le bitde gauche estt
ransfér
é dans
l
'i
ndicat
eurCF.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lesbi
tsi
ntr
odui
tsàdr
oit
esontàzér
o.

SHRregi
str
e,1
(
Shif
tRight
)

CommeSHLmai
sver
sladr
oit
e.
Lebi
tdedr
oit
eestt
ransf
érédansCF.

SHL et SHR peuv ent être uti


li
sé pour
multi
pli
er/
divi
serdesenti
ersnatur
els(
etnondes
rel
ati
fscarlebi
tdesigneestper
du).
ROLregi
stre,1
(
Rotatelef
t)

Rotat
ionverslagauche:l
ebi
tdepoidsfortpasseàdr
oit
e,etestaussi
copi
édansCF.
Lesautresbit
ssontdécal
ésd'
uneposit
ion.

RORregistr
e,1
(Rot
ateRight)
CommeROL, mai
sàdr
oit
e.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Rot
ati
onver
slagaucheenpassantparl'
i
ndicat
eur
CF.CFpr
endlaplacedubi
tdepoi dsfai
ble;l
ebit
depoi
dsf
ortpar
tdansCF.

RCRregi
str
e,1
(Rot
ateCarr
yRi
ght
)
CommeRCL, mai
sver
sladr
oit
e.

RCLetRCRsontut
il
espourl
i
rebi
tàbi
tlecont
enu
d'
unregi
str
e.

V.
4.2I
nst
ruct
ionsl
ogi
ques

Les instr
ucti
ons logi
ques ef
fect
uent des
opér
ati
onslogi
quesbi
tàbi
t.
Ondi
sposedet
roi
sopér
ateur
slogi
ques:ET,
OUet
OUexcl
usi
f.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Iln'
yajamaispropagat
ionder etenuelor
sdeces
opér
ati
ons(chaquebitdur ésul
tatestcal
cul
é
i
ndépendammentdesaut res).
0011 0011 0011
OU 0101 ET 0101 OU EX0101

0111 0001 0110

Lest
roi
sinst
ruct
ionsOR,ANDetXORsontdel
a
f
or ORdest
me: inat
ion,
sour
ce.

dest
inat
ion dési
gneler egist
reoul'
emplacement
mémoi r
e(adresse)oùdoitêtr
epl
acéler
ésultat
.
source désigne une constant
e ( adr
essage
immédiat)
,un regist
re(
adr
essage i
mpli
ci
te)
,ou
uneadresse
(adr
essagedir
ect)
.
Exempl
es:
OR AX,
FF00 ;
AX<-AXouFFOO
OR AX,
BX ;
AX<-AXouBX
OR AX,
[1492];
AX<-AXou[
1492]

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
ORdesti
nati
on,sour
ce
(OU)
OUlogi
que:Chaquebitdurésult
atestégalà1si
aumoinsl'
undesdeuxbi
tsopérandeest1.

ORestsouv
entut
il
isépourf
orcercer
tai
nsbi
tsà1.

Exemple:aprèsORAX, FF00,
l'oct
etdepoi
dsfort
deAXv autFF,tandi
squel'
octetdepoi
dsfai
bleest
i
nchangé.

ANDdesti
nati
on,
source
(ET)
ETlogi
que:Chaquebitdur ésul
tatestégalà1si
l
esdeuxbit
sopérandessontà1.
ANDestsouv
entut
il
isépourf
orcercer
tai
nsbi
tsà
0.
AprèsANDAX,FF00,l
'
octetdepoi
dsfai
bledeAX
vaut00,tandi
s que l
'oct
etde poi
ds for
test
i
nchangé.

XORdest
inat
ion,
sour
ce
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
OUexclusi
f:Chaquebi
tdurésul
tatestégalà1si
l
'unoul '
aut
redesbitsopér
andes( maispasles
deux)v
aut1.
XORestsouv
entutil
i
sépourinv
ersercer
tai
nsbi
ts.
AprèsXORAX,FFFF,tousl
esbi
tsdeAXsont
i
nversés.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CHAPI
TREVI
.L’
assembl
eur80x86

VI
.1L’
assembl
eur
VI
.1.
1Pour
quoi
l'
assembl
eur?
Lorsquel'
ondoitl
ir
eouécr i
reunpr ogr
ammeen
l
angagemachine,i
lestdi
ff
ici
l
ed'ut
il
iserl
anot
ati
on
hexadéci
male.

On écr
itl
es pr
ogr
ammes à l
'
aide de sy
mbol
es
commeMOV, ADD,
etc.

Les concepteur
s du pr ocesseur four
nissent
touj
oursunedocumentat
ionav eclescodesdes
i
nstruct
ionsdeleurpr
ocesseur,etlessymbol es
corr
espondant
.

l
e programmeur doit spéci
fi
er lui même l
es
adr
essesdesdonnéesetdesinst
ructi
ons.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Soi
t par exempl
ele pr
ogramme sui
vant
,qui
mult
ipl
i
eunedonnéeenmémoir
epar8:
0100 MOVBX,[0112]; chargeladonnée
0103 MOVAX, 3
0106 SHLBX ;décaleàgauche
0108 DECAX
0109 JNE0106 ; r
ecommence3f ois
010B MOV[0111],
BX ; rangelerésul
tat
010E MOVAH, 4C
0110 I
NT21H
0112 ;onr
angeicil
adonnée

Nousav onsspéci
fi
équel adonnéeét
aitrangéeà
l
'adresse 0111H, et que l '
i
nst
ruct
ion de
branchementJNEall
aiten0106H.

Siondésir
emodifi
erl
égèr
ementceprogr
amme,
parexempl
eaj
out
erunei
nst
ruct
ionav
ant

MOV [0111]BX, i
lvaf
all
oirmodi
fi
ercesdeux
adr
esses.

Onconçoi
tai
sémentquecet
rav
aildev
ientt
rès
di
ff
ici
l
esileprogr
ammemani
pul
ebeaucoupde
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
v
ari
abl
es.

L'
uti
l
isat
i unassembl
ond' eurr
ésoutcespr
obl
èmes.
L'
assembl eurpermetenpar ti
cul
ierdenommerl es
vari
ablesetder epérerpardeséti
quett
escert
aines
i
nstructi
ons surl esquell
es on va ef
fect
uerdes
branchements.
VI
.1.
2Del
'
écr
it
uredupr
ogr
ammeàsonexécut
ion
L'
assembl
eur est un ut
il
it
air
e qui n'
est pas
i
nter
act
if
.
Leprogrammequ' ondésir
et raduir
eenl angage
machine(onditassembler
)doitêtreplacédansun
fi
chi
ertexte(
avecl'ext
ensi
on.ASM sousDOS) .

La saisi
e du progr
amme sour
ce au clavi
er
nécessi
teunpr
ogr éédi
ammeappel teurdet
exte.
L'
opérat
ion d'assemblage t
radui
t chaque
i
nstr
ucti
on du pr ogr
amme source en une
i
nstr
ucti
onmachi
ne.
Lerésul
tatdel'
assembl
ageestenregi
str
édansun
fi
chi
eravecl'
ext
ension.
OBJ(fi
chi
erobjet)
.

Lef
ichi
er.
OBJn'
estpasdi
rect
ementexécut
abl
e:
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Enef f
et,i
lar
riv
efréquemmentqu'
onconstr
uiseun
programme exécut abl
e à part
ir de pl
usieur
s
fi
chierssour
ces.
I
lf aut``r
eli
er'
'les fi
chi
ers obj
etsàl'
ai
de d'
un
uti
l
itai
renomméédi teurdeli
en(mêmesil
'onena
qu'
unseul).
L'
édit
eurdeliensfabr
iqueunf
ichi
erexécut
abl
e,
avecl'
ext
ensi
on.EXE.

Lef
ichi
er.
EXEestdi
rect
ementexécut
abl
e.

Unut i
li
tairespécialdusystèmed'expl
oit
ati
on,l
e
chargeurestr esponsabledelalect
uredufichi
er
exécutable,desoni mplantat
ionenmémoi r
e
pri
ncipale,puisdulancementdupr ogramme.
VI.
1.3St ruct
uredupr ogrammesour ce
Lastr
ucturegénér
aled'
unprogr
ammeassembl eur
estr
eprésent
éecommesui t
.
DataSEGMENT; dataestl
enom dusegmentde
données
Di
rect
ivesdedécl
arat
iondedonnées
Dat
aENDS;
findusegmentdedonnées
AssumeDS:
dat
a,CS:
code

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CodeSEGMENT;codeestl
enom dusegment
d’
inst
ruct
ions
Debut:
;1er
einst
ruct
ion,
avecl

éti
quet
tedebut
;
Sui
ted’
i
nst
ruct
ions
codeENDS
ENDdebut;fi
nduprogramme,
avecl
'
éti
quet
te;
de
l
apremièr
einstr
uct
ion.
Fi
gur
eVI
.1:
Str
uct
ured'
unpr
ogr
ammeenassembl
eur

Commet outpr
ogr
amme,unpr ogrammeécr iten
assembleur comprend des déf i
nit
ions de
données et des inst
ructi
ons, qui s'écr
ivent
chacunesuruneli
gnedetexte.
Lesdonnéessontdécl
aréespardesdirecti
ves,
motscl
efspéci
auxquecomprendl
'assembleur
.
Lesdir
ecti
vesqui
déclarentdesdonnéessont
regr
oupéesdansl
esegmentdedonnées, quiest
déli
mit
éparlesdi
rect
ivesSEGMENTetENDS.

Les i
nst
ructi
ons sontplacées dans un aut
re
segment
,lesegmentdecode.
Ladir
ect
iveASSUME esttoujour
spr
ésent
eet
ser
aexpl
i
quéepl
usloi
n(sect
ion).
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lapremièr
ei nstruct
ionduprogramme(dansle
segmentd'i
nstructi
on)doi
ttouj
oursêt
rerepér
ée
paruneéti
quette.
Lefichi
erdoi
tseter
minerparladi
rect
iveEND
avec le nom de l
'
éti
quet
te de l
a premièr
e
i
nstr
ucti
on.
ceciper
metd'indiqueràl'
édi
teurdeli
ensquelle
estlapr
emièr
ei nstr
ucti
onàex écut
erl
orsquel
'
on
lancel
eprogr
amme.
Lespoi
nts-
vir
gul
esi
ndi
quentdescomment
air
es.
VI
.1.
4Décl
arat
iondev
ari
abl
es
Ondécl
arel
esv
ari
abl
esàl
'
aidededi
rect
ives.
L'
assembl
eur at
tri
bue à chaque v
ari
abl
e une
adr
esse.
Dansl
eprogr
amme,
onr
epèr
elesv
ari
abl
esgr
âceà
l
eurnom.
Lesnomsdesv ar
iabl
es(
commeleséti
quett
es)
sontcomposésd'
unesui
tede31caract
èresau
maximum,commençantobl
i
gat
oir
ementparune
l
ettr
e.
Le nom peutcompor
terdes maj
uscul
es,des
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
minuscul
es,deschi
ff
res,pl
usl
escar
act
ères@,?
et_.

Lorsdeladécl
arat
iond'unev
ari
abl
e,onpeutl
ui
aff
ect
eruneval
euri
nit
ial
e.

VI
.1.
4.1Var
iabl
esde8ou16bi
ts

Lesdirecti
vesDB(Def
ineByte)etDW (Def
ineWord)
permettent de décl ar
er des v ari
ables de
respecti
vement1ou2oct et
s.

Exempl
ed'
uti
l
isat
ion:
dat
a SEGMENT
ent
réeDW 15 ; 2oct
etsini
ti
ali
sésà15
sor
tieDW ? ; 2oct
etsnonini
ti
ali
séscl
é
DB ? ; 1octetnoni
nit
ial
i
sénega DB -1 ;
1octeti
nit
ial
i
séà-1data
ENDS

Lesvaleursiniti
alespeuventêtr
edonnéesen
hexadécimal (constant
eterminéeparH)ouen
binai
re(ter
mi néeparb):
dat
a SEGMENT t
ruc DW
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
0F0AH ; enhexamasqueDB
01110000b;enbi
nai
re

dat
a ENDS

Lesvari
abl
ess'ut
il
isentdansl
epr
ogr
ammeenl
es
dési
gnantparl
eurnom.
Aprèsl
adécl
arat
ionpr
écédent
e,onpeutécr
ir
epar
exempl
e:
MOV AX,tr
uc
AND AL,masque
MOV tr
uc,AX
L'
assembl
eursechargederemplacerlesnomsde
var
iabl
eparl
esadressescor
respondantes.
VI
.1.
4.2Tabl
eaux
I
lestaussipossi
blededécl
arerdestableaux,
c'est
àdir
edessui t
esd'oct
etsoudemot sconsécut i
fs.
Pourcel
a,uti
li
serpl
usi
eursv
aleursi
niti
ales:
data SEGMENT
machinDB 10, 0FH ;2foi
s1octetchose
DB -
2,'ALORS'data ENDS
Remarquezladéclar
ati
ondelavari
abl
echose:un
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
oct
età-
2(=FEH)
,sui
vid'
unesui
tedecar
act
ères.
L'assembleurn'i
mposeaucuneconv enti
onpourla
représentat
iondeschaînesdecaractèr
es:c'està
l
'util
isat
eurd'ajoutersinécessai
re un oct
etnul
pourmar querlafindelachaî
ne.
Apr
èschargementdecepr
ogr
amme,l
amémoi
re
aur
alecont
enusuiv
ant:

Sionveutécr
ir
euncaract
èreXàl
apl
aceduOde
ALORS,onpourr
aécr
ir
e:

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
MOV AL, '
X'
MOV chose+1, AL
Notons que chose+1 estune const
ante(val
eur
connueaumomentdel 'assembl
age):l
'i
nst
ruct
ion
généréepar
l
'assembleur pour MOV chose+1,AL
est
MOV[ adr]
,AL.
VI.
1.4.
3Di r
ect
ivedup

Lorsquel
'onveutdécl
arerunt
abl
eaudencases,
toutesi
nit
ial
i
séesàl amêmev al
eur
,onut
il
isel
a
dir
ecti
vedup
:
tab DB 100dup(
15);100octet
sval
ant15zzz
DW
10dup(?); 10motsde16bit
snon
i
nit
ial
i
sés
VI
.2Segment
ati
ondel
amémoi
re
Nousabor
donsicil
epr
obl
èmedel
asegment
ati
on
delamémoir
e.
Lesdonnéessontnormal
ementr
egroupéesdans
unezonemémoirenomméesegmentdedonnées.
Lesi
nst
ruct
ionsét
aientpl
acéesdansunsegment
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
d'
i
nst
ruct
ions.
Cepar t
agesefondesurl
anoti
onplusgénér
alede
segment de mémoi r
e,quiest à la base du
mécanisme de gesti
on des adr
esses par l
es
processeur
s80x86.
Nous av ons v
u pl
us hautque l
es i
nstr
ucti
ons
ut
il
isaientnor
malementdesadr
essescodéessur
16bits.
Noussavonsaussiqueleregi
streIP,quistocke
l
'adr
essed'
unei
nstr
ucti
on,
fai
tluiaussi16bi
ts.
Or
,avec16bi
tsiln'
estpossi
bled' esserque216
adr
=64Kil
ooct
ets.
Lebusd'
adr
essedu80486possède32bi
ts.
Cet
te adresse de 32 bit
s estf or
mée par la
j
uxt
aposit
ion d'
un r
egist
re segment(16 bi
ts de
poi
dsfort
)etd'undépl
acement(off
set,16bit
sde
poi
dsfai
ble).
Lesadressesquenousav
onsmani
pul
éjusqu'
i
ci
sontdesdépl
acement
s.
Le schéma suivantill
ustr
el af or
mati
on d'une
adresse 32 bits à part
ir du segment et du
déplacementsur16bi
ts:
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
On appel
lera segment de mémoi r
e une zone
mémoire adressable av
ec une val
eurfi
xée du
segment(
les16bi tsdepoidsf
ort
).
Unsegmentadoncunet
ail
l
emaxi
mal
ede64Ko.

VI
.2.
1Segmentdecodeetdedonnées

La valeurdu segmentestst
ockée dans des
regi
str
esspéci
auxde16bi
ts.
Leregi
streDS(DataSegment)estut i
li
sépourle
segmentde données,etler egist
re CS (Code
Segment)pourl
esegmentd'
i
nstructi
ons.
VI
.2.
1.1Regi
str
eCS
Lorsquelepr
ocesseurli
tlecoded'uneinst
ruct
ion,
l
'adresse32bit
sestf orméeàl '
aidedur egi
str
e
segmentCSetdur egi
str
edéplacementIP.

Lapai
redecesdeuxr
egi
str
esestnot
éeCS:
IP.

VI
.2.
1.2Regi
str
eDS

Ler
egist
reDSestut
il
isépouraccéderauxdonnées
mani
puléesparl
epr
ogramme.Ai nsi
,l
'i
nst
ruct
ion
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
MOVAX,
[0145]

donneral
ieuàl
alect
uredumotmémoi
red'
adr
esse
DS:0145H.
VI
.2.
2Ini
ti
ali
sat
iondesr
egi
str
essegment
Dans ce cour s, nous n'écr
ir
ons pas de
pr
ogrammesutil
isantpl
usde64Kodecodeet64
Kodedonnées.
ceci nous per
mett
ra de n'
uti
l
iser qu'
un seul
segmentdechaquet
ype.
Parconséquent
,laval
eurdesr
egi
str
esCSetdeDS
seraf i
xée une foi
s pour t
out
e au début du
progr
amme.
Leprogrammeurenassembl
eurdoi
tsechargerde
l
'i
nit
ial
i
sati
on deDS,c'està di
redel uiaff
ect
er
l
'adr
essedusegmentdedonnéesàuti
l
iser.
Parcont re,leregi
str
eCSser aaut omat
iquement
i
nit
iali
sé surl e segmentcontenantla premièr
e
i
nstructi
onaumomentduchar gementenmémoi r
e
du pr ogramme ( par l
e chargeur du système
d'
exploitati
on).

VI
.2.
3Décl
arat
iond'
unsegmentenassembl
eur
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Commenousl 'avonsvu,l
esdirect
ivesSEGMENT
etENDS permettentdedéfi
nirlessegmentsde
codeetdedonnées.
La di recti
ve ASSUME per met d'i
ndiquer à
l
'assembl eurquelestlesegmentdedonnéeset
celuide code,af in qu'
i
lgénère des adresses
correct
es.
Enfin,leprogr
ammedoitcommencer ,avanttout
e
référenceausegmentdedonnées,parini
ti
ali
serl
e
registr
esegmentDS,del
afaçonsuivante:
MOVAX, nom_segment _
de_données
MOVDS, AX
(I
l ser ai
t plus simple de f
air
eMOVDS,
nom_ segment_de_donnéesmaisilsetr
ouv
eque
cett
ei nst
ruct
ionn'
existepas.
)
La f
igur
e VI.
2 donne un exempl
e compl
etde
pr
ogrammeassembl
eur.
Pr
ogr
ammecal
cul
antl
asommededeuxent
ier
sde
16bi
ts

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
dat
aSEGMENT
A DW 10;
A=10
B DW 1789;
B=1789Resul
tDW ?;
resul
tat
dat
aENDScodeSEGMENT
ASSUMEDS:
dat
a,CS:
code
Debut:
MOVAX,
dat
a;ét
iquet
tecar1er
e
i
nst
ruct
ionMOVDS,
AX;
ini
ti
ali
seDS;
Le
pr
ogr
amme:MOVAX,
A
ADDAX,
B
MOVr
esul
t,AX;
rangel
erésul
tat

;
Ret
ourauDOS:
MOVAH,
4CHI
NT21Hcode
ENDS
ENDDebut;
éti
quet
tedel
a1er
einst
ruct
ion.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Fi
gur
eVI
.2Exempl
edepr
ogr
ammeenassembl
eur

VI
.3Adr
essagei
ndi
rect

Nous i ntr
oduisons i ci un nouveau mode
d'
adressage,l
'adressage i
ndi
rect:t
rèsut
il
e par
exemplepourtrai
terdest eaux.
abl

L'
adr
essage indi
rectuti
li
se leregi
str
e BX pour
st
ockerl
'adr
essed'unedonnée.
Enadressagedi
rect
,onnot
el'
adr
essedel
adonnée
ent
recrochets:
MOV AX,
[130];
adr
essagedi
rect
Def
açonsi
mil
air
e,onnot
eraenadr
essagei
ndi
rect:
MOV AX,
[BX];
adr
essagei
ndi
rect

I
ci,
BXcont
ientl
'
adr
essagedel
adonnée.
L'
avantagedecet tetechni
queestquel'
onpeut
modifi
er l'
adresse en BX,par exempl
e pour
accéderàlacasesuivant
ed'unt
abl
eau.

Avant d'ut
il
iser un adr
essage indi
rect
,ilf
aut
chargerBXav ecl
'adr
essed'unedonnée.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Pourcela,on ut
il
ise une nouv
ell
e di
rect
ive de
l
'assembl
eur
,of
fset.

dat
a SEGMENTtruc
DW 1996data
ENDS
.
..
MOV BX,off
sett
ruc
..
.

Si
l'
onav
aitempl
oyél
afor
me

MOV BX,
truc

onauraitchargédansBXlaval
eurst
ockéeent
ruc
(i
ci1996),etnonsonadr
esse.

VI
.3.
1Exempl
e:par
cour
sd'
unt
abl
eau

Voi
ciunexempl
epl
uscompl
etut
il
isantl
'
adr
essage
i
ndi
rect
.

Cepr
ogrammepasseunechaî
nedecar
act
èresen
maj
uscul
es.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Laf
indel
achaî
neestr
epér
éeparuncar
act
ère$.

Onutil
iseunETlogi
quepourmasquerlebi
t5du
car
actèreetl
epasserenmajuscul
e(voi
rlecode
ASCII
).

data SEGMENT
tab DB'UubbbbbBbbbbbbbbbb'
,'
$'
data ENDS

code SEGMENT
ASSUMEDS:dat
a,CS:
code

debut
: MOV AX,dat
a
MOV DS,
AX

MOV BX,
off
sett
ab;
adr
essedebut
t
abl
eau

repet: MOV AL, [


BX] ; l
is1caract
ère
AND AL,11011111b;forcebi
t5azer
o
MOV [ BX]
,AL ;rangele
caract
ère INC BX ;
passe
ausuivant CMP AL,'$' ;
arr
iveau$final?
JNErepet ;si
nonrecommencer

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
MOV AH, 4CH
INT21H ;
Ret
ourau
DOScode ENDS END
debut
VI.
3.2 Spéci
fi
cat
iondelat
aill
edesdonnées
Dans cer
tai
ns cas,l
'
adr
essage i
ndi
rectest
ambi
gu.
Parexempl
e,si
l'
onécr
it
MOV[BX]
,0;range0àl'adr
essespéci
fi
éeparBX
l
'
assembl
eurnesaitpassil'
i
nstr
ucti
onconcer
ne1,
2ou4oct
etsconsécuti
fs.
Afi
n de leverl'
ambiguï
té,on doitut
il
iserune
di
rect
ive spéci
fi
ant l
at ai
l
le de l
a donnée à
tr
ansf
érer:
MOV byt
eptr[BX],
val;concerne1oct
et
MOV wordptr[BX]
,val;concerne1motde2
oct
ets

VI
.4Lapi
l
e

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
VI
.4.
1Not
iondepi
l
e

Lespil
esof f
rentunnouveaumoy end'
accéderà
desdonnéesenmémoi reprinci
pal
e,quiesttr
ès
uti
l
isépourst
ockert
emporair
ementdesval
eurs.
Unepi
leestunezonedemémoireetunpoint
eur
qui
conser
vel' essedusommetdel
adr apil
e.
VI
.4.
2Inst
ruct
ionsPUSHetPOP
Deux nouvel
les i
nstr
uct
ions,PUSH et POP ,
per
mettentdemanipul
erl
apile.
PUSHr egi
str
eempi
l
elecont
enudur
egi
str
e
surlapil
e.
POPregist
re ret
ir
elav al
eurenhautdel
api
l
e
etl
aplacedansl
eregi
strespécif
ié.
Exemple:t
ransf
ertdeAXv
ersBXenpassantpar
l
apile.
PUSHAX ;Pi
l
e<-AX
POP BX ;
BX <-Pi
l
e

(
Not e:cetexempl
en'estpast
rèsut
il
e,i
lvaut
mieuxempl
oyerMOVBX,AX.)

Lapi
l
eestsouv
entut
il
iséepoursauv
egar
der
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
t
empor
air
ementl
econt
enudesr
egi
str
es:
AXetBX
cont
iennentdesdonnéesàconser
ver

PUSHAX
PUSHBX

MOV BX,tr
uc; onuti
li
seAX
ADD AX,BX ;etBX
MOV tr
uc,AX
POP BX ; r
écupèr
el'
anci
enBXPOP
AX ;etl'anci
enAX

Onv
oitquel
api
l
epeutconser
verpl
usi
eur
sval
eur
s.

Lav aleurdépi l ader


éeparPOP estl nièreval
eur
empilée;c' estpour
quoionparl
eicidepi leLI
FO
(LastI n Fir
stOut,PremierEnt
ré DernierSor
ti)
.
VI.4.
3Regi str
esSSetSP
Lapi
l
eeststockéedansunsegmentsépar
édel
a
mémoir
epr
inci
pale.
Leprocesseurpossèdedeuxr
egi
str
esdédi
ésàl
a
gest
iondelapil
e,SSetSP.
Le r
egist
r St
e SS ( ackSegment)estun regi
str
e
segmentquicont
ientl
'adr
essedusegmentdepil
e
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
cour
ant(
16bi
tsdepoi
dsf
ortdel
'
adr
esse)
.
I
l est nor
malement ini
ti
ali
sé au début du
pr
ogrammeetr
estefi
xéparlasui
te.

Ler
egi
str St
eSP( ackPoi
nter
)cont
ientl
edépl
acementdusommet
del
api
l
e(16bi
tsdepoi
dsf
aibl
edel
’adr
esse)
.

Fi
gur
eVI
.3:
Lapi
l
e.

SP point
esurl
esommet(
der
nierempl
acement
occupé).
La f i
gure VI.
3 donne une r
epr
ésent
ati
on
schémati
quedel
api
l
e.
L'
instruct
ion PUSH ef
fect
ue l
es opér
ati
ons
suivantes:

• SP <-SP-2
• [
SP] <-
val
eurdur
egi
str
e16bi
ts.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Notonsqu'
audébut(
pil
evi
de)
,SPpoi
nte`
`sous'
'l
a
pi
le.
L'
i
nst
ruct
ionPOPef
fect
uel
etr
avai
li
nver
se:

• r
egi
str
edest
inat
ion[
SP]
• SP<-
SP+2
Sil
apileestv
ide,POPvali
reunev al
eurendehor
s
del
'espacepi
l
e,doncimpr
évisi
ble.
VI
.4.
4Décl
arat
iond'
unepi
l
e

Pouruti
l
iserunepi
l
eenassembleur
,ilf
autdécl
arer
un segmentde pile,ety r
éserverun espace
suf
fi
sant.

Ensui
te,
ilestnécessaired'
i
nit
ial
i
serl
esregi
str
es
SSetSPpourpoi ntersouslesommetdelapil
e.
Voici
ladéclar
ati
ond' unepi
lede200oct
ets:
seg_pi
le SEGMENTst ack ;motclefstackcar
pil
e DW 100dup( ?
); reser
veespace
base_pi
le EQUthi
swor d ; eti
quett
ebasedel a
pil
eseg_pi
le ENDS
Noterle motclef` `
stack ''après la di
recti
ve
SEGMENT,quiindiqueàl 'assembleurqu'i
ls'agi
t

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
d'
unsegmentdepi
l
e.

Afi
nd'
init
ial
i
serSP,i
lfautr
epérerl
'
adressedubas
delapil
e;c'
estl
erôl
edel algnebase_
i pil
e EQU
thi
sword

Fi
gur
eVI .
4:Unepi
l
evide.
L'
éti
quet
te base-
pil
er epèr
ela base de l
a pi
l
e,
val
euri
nit
ial
edeSP.
Aprèslesdéclar
ati
onsci
-dessus,on ut
il
iser
ala
séquenced'
i
nit
ial
i
sati
on:

ASSUMESS:
seg_
pil
e

MOV AX,seg_
pil
e
MOV SS,
AX ;ini
tSt
ackSegment

MOV SP,base_pi
l
e;pil
evide
Not
erque l
eregist
re SS s'
ini
ti
ali
se de f
açon

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
si
mil
air
e au r
egi
str
e DS;par cont
re,on peut
accéderdi
rect
ementaur
egi
str
eSP.

VI
.5Pr
océdur
es

VI
.5.
1Not
iondepr
océdur
e
Lanoti
ondepr océdur
eenassembl eurcor
respond
à cel
le de f
oncti
on en l
angage C,ou de sous-
pr
ogrammedansd' autr
eslangages.

Fi
gur
eVI
.5:
Appel
d'unepr
océdur
e.

Lapr
océdur
eestnomméecal
cul
.

Après l
'
inst
ruct
ion B,le processeur passe à
l
'i
nstr
uct
ion C de la pr
océdure,puis conti
nue
j
usqu'àr
encontr
erRETetr
evi
entàl '
inst
ruct
ionD.
Une procédur
e est une sui
te d'
i
nst
ruct
ions
ef
fect
uantuneact
ionpr
éci
se.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Cesi nst
ruct
ionssontr egr
oupéesparcommodit
é
etpourév i
terd'avoirà les écr
ir
e à pl
usi
eur
s
repr
isesdansleprogramme.
Lesprocédur
essontrepér
éesparl
'adr
essedel
eur
premièr
einst
ruct
ion,
àlaquel
leonassoci
eune
éti
quett
eenassembleur.
L'
exécut
iond'
uneprocédur
eestdécl
enchéeparun
pr
ogrammeappelant.
Uneprocédur
epeutell
e-mêmeappel
eruneaut
re
pr
océdure,
etainsi
desui
te.
VI
.5.
2Inst
ruct
ionsCALLetRET

L'
appel d'une procédur
e est ef
fect
ué par
l
'i
nst
ruct
ionCALL.

CALLadr
esse_
debut
_pr
ocedur
e

L'
adresseestsur16bi
ts,laprocédur
eestdonc
danslemêmesegmentd'
inst
ruct
ions.

CALLestunenouv
ell
einst
ruct
iondebr
anchement
i
ncondi
ti
onnel
.
La fin d'une pr
océdur
e est mar
quée par
l
'i
nst
ruct
ionRET
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
:
RETneprendpasd'ar
gument
;leprocesseurpasse
àl'i
nst
ruct
ion pl
acée i
mmédiatementapr ès le
CALL.
RETestaussiuneinstr
uct
iondebranchement:le
regi
str
eIPestmodifi
épourreveni
ràlavaleurqu'
i
l
avai
tavantl
'
appelparCALL.
Commentl
epr
ocesseurr
etr
ouv
e-t
-i
lcet
tev
aleur?
Leprobl
èmeestcompliquéparl
efai
tquel
'
onpeut
avoi
runnombr equelconqued'
appel
simbri
qués,
commesurlafi
gure.
adr
L' essederetour,uti
l
iséeparRET,estenfai
t
sauv
egardéesurlapil
eparl'
i
nst
ruct
ionCALL.
Lor
squel
epr
ocesseurex
écut
el'
i
nst
ruct
ionRET,
ildépi
l
el'
adr
essesurl
api
l
e(comme
POP),
et
l
arangedansI
P.

Fi
gur
eVI
.6:
Plusi
eur
sappel
sdepr
océdur
esi
mbr
iqués.

L'
i
nst
ruct
ionCALLef
fect
uedoncl
esopér
ati
ons:
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
• Empil
erl
av aleurdeIP.Acemoment
,IPpoi
nte
surl
'
inst
ructi
onqui sui
tleCALL.
• Pl
acer dans I
P l'
adr
esse de l
a premi
ère
i
nstr
uct
ion de la procédur
e (
donnée en
ar
gument).
Etl
'
inst
ruct
ionRET:
• Dépi
l
erunev
aleuretl
arangerdansI
P.

VI
.5.
3Décl
arat
iond'
unepr
océdur
e

L'assembl
eur possède quel ques di
rect
ives
facil
it
antl
adécl
arat
iondepr
océdures.
On décl
are une pr
océdur
e dans l
e segment
d'
i
nst
ruct
ioncommesuit:
Cal
cul PROCnear ;pr
océdurenommée
Cal
cul .
.. ;
inst
ruct
ions

RET ;
der
nièr
einst
ruct
ion
Cal
cul ENDP ;fi
ndelaprocédur
e

LemotclefPROC commencel
adéf
ini
ti
ond'
une
pr
océdur
e.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
nearindi
quantqu'
i
ls'agi
td'
uneprocédur
esit
uée
dans le même segment d'
i
nst
ructi
ons que l
e
progr
ammeappelant.
L'
appel
s'écr
itsi
mpl
ement:
CALLCal cul
VI
.5.
4Passagedeparamèt
res

Engénéral
,uneprocédur
eeff
ect
ueunt
rai
tement
par
surdesdonnées( amèt
res)
.

Cesparamèt
ressontf
our
niesparl
epr
ogr
amme
appel
ant
.

Unepr
océdur
epr
odui
tunr
ésul
tatquiestt
ransmi
s
àcepr
ogramme.
Pl
usi
eur
sst
rat
égi
espeuv
entêt
reempl
oyées:
1.
Passage par regi
stre :l es val
eurs des
paramètr
essontcontenuesdansdesregi
str
es
duprocesseur
.
C'est une méthode simple,mais qui ne
conv i
entquesilenombredepar amètresest
petit(
ilyapeuderegi
str
es).
2.
Passage par la pile :l es valeur
s des
paramèt r
essontempil
ées.Laprocédureli
tla
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
pi
l
e.

VI
.5.
4.1Exempl
eav
ecpassageparr
egi
str
e

Onvaécr
ir
eunepr
océdure``
SOMME' 'quical
cul
e
l
asommede2nombresnatur
elsde16bits.
Convenonsquelesent
ier
ssontpassésparles
regi
str
esAXetBX,etquel er
ésul
tatser
aplacé
dansleregi
str
eAX.
Lapr
océdur
es'
écr
ital
orst
rèssi
mpl
ement:
SOMME PROCnear ;
AX<-AX+BX
ADDAX,BX
RETSOMME
ENDP

etson appel
,parexempl
e pouraj
out
er6 à l
a
var
iabl
eTruc:

MOV AX,6
MOV BX,Truc
CALLSOMME
MOV Truc,
AX

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
VI
.5.
4.2Exempl
eav
ecpassageparl
api
l
e

Cett
et echni
quemetenœuv r
eunnouveaur
egi
str
e,
BP( BasePointer
),quipermetdeli
redesval
eurs
surl
api l
esanslesdépil
ernimodi
fi
erSP.
Le r
egistr
e BP permet un mode d'
adressage
i
ndi
rectspéci
al,
del
aforme: MOV AX,[BP+6]

cet
te i
nst
ruct
ion char
ge le cont
enu du mot
mémoir
ed'adr
esseBP+6dansAX.
Ai
nsi
,onl
i
ral
esommetdel
api
l
eav
ec:
MOV BP,SP ;BPpoint
esurlesommet
MOV AX,
[BP] ;l
i
tsansdépil
er

etl
emotsui
vantav
ec:
MOV AX,
[BP+2];2car2oct
etsparmotdepi
l
e.

L'
appeldel
aprocédur
e``
SOMME2'
'av
ecpassage
parl
apil
eest:
PUSH 6
PUSH Tr
uc
CALLSOMME2
Lapr
océdur
eSOMME2val
i
rel
api
l
epourobt
eni
rla
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
v
aleurdespar
amèt
res.

Pourcel
a,i
lfautbien compr
endr
e quelestl
e
cont
enudel
api
leapr
èsleCALL:

Lesommetdel api
l
econt
ientl
'adr
esseder
etour
(anci
ennev
aleurdeI
Pempi
léeparCALL

SP+4<-t
ruc

SP+2<-6

Chaque él
émentde l
a pi
l
e occupe deux
oct
ets.Lapr
océdur
eSOMME2s'
écr
itdonc:

SOMME2 PROCnear ; AX<-arg1+arg2


MOV BP,SP ; adr
essesommetpi l
e
MOV AX,[BP+2];chargeargument1
ADD AX,
[BP+4]; aj
outeargument2
RET

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
SOMME2 ENDP
Lav
aleurder
etourestl
aisséedansAX.
Lasol
uti
onav ecpassageparlapi
l
epar
aitpl
us
l
our
desurcetexemplesi
mple.
Cependant,el
leestbeaucouppl
ussoupledansl
e
casgénéralquel
epassageparregi
str
e.
I
lest t
rès faci
l
e par exemple d'
aj
out
er deux
par
amèt
ressuppl
ément
airessurl
apil
e.
Une procédur
e bien écr
it
e modi
fi
ele moi
ns de
regi
str
espossibl
e.
En général
,l'accumulat
eur est ut
il
isé pour
tr
ansmet
trel
erésult
atetestdoncmodi
fi
é.
Les aut
res r
egi
str
es uti
li
sés parla pr
océdur
e
ser
ontnormal
ementsauv
egardéssurl
apil
e.
Voi
ciuneautreversi
ondeSOMME2quinemodi
fi
e
pasl
av al
eurcontenueparBPav
antl
'
appel
:
SOMME2 PROCnear ;
AX<-ar
g1+ar
g2
PUSHBP ;sauvegar
deBP
MOV BP,SP ; adr
essesommetpi l
e
MOV AX,[BP+4];chargeargument1
ADD AX,
[BP+6]; aj
outeargument2
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
POP BP ;
rest
aur
eanci
enBP
RET
SOMME2 ENDP

Noterquel
esindexdesar
guments(BP+4etBP+6)
sontmodifi
és caron a ajout
é une val
eurau
sommetdelapile.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
CHAPI
TREVI
I:Lesi
nter
rupt
ions

VI
I.
1Int
roduct
ion
Lemicr
oprocesseurnepeutexécut
erqu’
uneseul
e
i
nst
ruct
ionàlafois.
Pourconnaît
resonadr
esse,ilut
il
isel
ecoupl
ede
regi
str
es CS:I
P dontl
av aleurestincr
émentée
automati
quement.
Parconséquent
,lecodedupr ogr
ammecour
ant
édemani
estexécut èr
eli
néai
re.
I
magi nonscependantqu’unév énementextér
ieur
demandel ’
att
enti
ondel’or
dinat
eur,parexempl
el a
pressi
ond’unetoucheduclavi
er.
Lamachinedoi
tpouvoi
rr ri
éagi mmédi
atement
,
sansatt
endr
equeleprogrammeencours
d’
exécut
ionset
ermine.
Pourcela,ell
einterr
omptceder nierpendantun
bref i
nstant
,l et emps de tr
aiter l
’événement
surv
enu puisr end le cont
rôl
e au pr ogramme
i
nterr
ompu.
Uneinter
rupt
ionn’
estri
end’
aut
requel’
appeld’
une
rout
inespéci
alepr
ésenteenmémoir
eappeléeISR
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
(«I
nterruptServi
ceRouti
ne»).
Commentsont -
ell
esdécl
enchées?
Unei nterr
upti
on peutêtredéclenchéeparv ot
re
matériel
.C’estcequiarri
velor
squev ousappuyez
surunet oucheduclav
ier
.
Aucunlogici
eln’
i
nter
v i
entetlecont
rôl
eestpassé
di
rect
ementàl arout
inequigèrel
eclav
ier:cesont
esi
l nt
errupti
onsmatéri
ell
es.
Les i
nter
rupt
ions logi
ciel
l
es sontquantà ell
es
éespardesi
appel nstr
ucti
onsenlangagemachi
ne
ausei
nd’unprogramme.
Leuri mpor
tanceestcapi
tal
e.Rappelez-
vousque
contrai
rementauPASCALouauC, l
’assembleurne
disposepasdefonct
ionpr
éprogr
ammée.
Chaque i nst
ruct
ion doit êtr
e di
rect
ement
tr
adui
sibl
eenlangagemachi
ne.
Maisalors,commentfait
-onpourécri
reunechaî
ne
de caractèr
esà l’
écran ?Ou bi en pourl
ir
e un
car
actèreentréaucl
avier?
Ondécl
enchelesint
err
upt
ionsappr
opri
éesàl

aide
del

inst
ruct
ion«INT»dulangagemachi
ne.
C’
estdoncuner
out
ineduDOS(
oupar
foi
sduBI
OS)

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
quifer
at outl
et r
avail
.Lespar
amèt r
es(oul
eur
s
adr
esses)sontpassésdansl
esregi
str
es.
Voi
ciunpeti
texempl
eenassembl
eurquiécr
itl
a
l
ett
re‘
A’àl
’écr
an:

Exami
nons-
lel
i
gneparl
i
gne:
• l
’i
nstruct
ion “MOV DL, ‘ A’
” demande au
processeurdemet t
redansl eregist
reDLle
codeASCI Idel al
ettr
e‘A’,c’
est
-à-
dir
e65,ou
41h.
• “MOVAH, 02”:met
trelenombre2dansAH.
• Enfi
n, la der ni
ère inst
ructi
on appel l
e
l
’i
nterr
upt
ion numéro 21h. Il exi
ste 256
i
nterr
uptons.Tout
i es sontnotées en base
hexadéci
male.
Expl
i
cat
ions:
l
’i
nter
rupt
ion 21h estl

int
err
upt
ion du DOS par
excel
l
ence.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
El
le permetd’ appelerde nombr
euses f
oncti
ons
tr
èsdiverses.Pourcela,i
lsuf
fi
tdementi
onnerl
eur
numérodansl eregistr
eAH.
I
lestt rèsdi ff
ici
l
edemémor iserlerôl
edechaque
i
nter r
uption,etaf orti
oridechaquef onct
ionou
sous f onction, d’autant plus qu’el
l
es sont
désignées par des numér os hexadécimaux et
qu’ell
es at tendent des par amètr
es dans des
registr
espr écis.
C’estpourquoit
outprogr
ammeurdoitavoi
ràsa
di
spositi
on une list
e des int
err
upti
ons pour
tr
av ai
l
ler
.
Revenonsànot r
eexemple.Laf
onct
ionnuméro2
del’i
nter
rupt
ion21hsertàécri
reuncaract
èreà
l
’écr
an.
I
lfautpourcelaécr
ir
elecodeASCIIducar
act
ère
dansleregi
str
eDLetbiensûrpl
acerlenombr
e2
dansAH.
Unefoi
squeAHetDLontétéajustés,l

int
err
upti
on
21hpeutêt
reappel
éeàl

aidedel’
instr
ucti
onINT.
D’autr
esint
err
uptionsnerempl
i
ssentqu’
uneseule
tâche.Vousn’avezdoncpasbesoi
ndemet t
reun
numér o de f oncti
on dans AH. L’appel de
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
l

int
err
upt
ionsuf
fi
t.

VI
I.
2Lat
abl
edesv
ect
eur
sd’
i
nter
rupt
ions
A chaque appeld’i
nter
rupt
ion,l’
ordi
nat
eurdoit
pouvoi
rtr
ouverl
’adr
essedel’
ISRcorr
espondant
e.
Pourcela,ildispose de l
at able des vect
eurs
d’
int
err
upti
ons (TVI,ou IVT :« Int
erruptVector
Tabl
e» ).Cettetable estimplant
ée à l’
adresse
0000:
0000c’est
-àdir
eaudébutdel aRAM.
VI
I.
3Sauv
egar
dedel

étatdesr
egi
str
esl
orsdel

appel
Unappeld’i
nterr
uptionobéitàcertai
nesrègles,
car
i
lestindi
spensable,unef oi
sl’
ISRexécutée,quele
pr
ogrammei nterr
ompur etr
ouv
el esregi
stresdans
l
emêmeét atqu’
il
sét ai
entauparavant
.
Toutdoi
tsepassercommesil

int
err
upt
ionn’
avai
t
j
amaiseuli
eu.
C’estpourquoiavantde fai
re un sautà l’
ISR
point
éeparl ’
ent
réecorr
espondant
edansl aTVI,
l
’ordi
nat
eursauvegardetouslesregist
ressurla
pil
ecourante.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
I
lr est
aureraleurcont enu av
antde r endr
ele
contr
ôle.Cet
teprocédur
eestautomat
ique.
Nousétudionsdanscechapi tr
el esint
errupt
ions
matér
iel
l
es( ouext
ernes)
,c'estàdi r
edéclenchées
parl
emat éri
el(
har
dware)extéri
eurauprocesseur.

Nousnousappuy
onsi
ciaussi
surl
'
exempl
eduPC.
VI
I.
4Pr
ésent
ati
on
Les i
nterr
upti
ons per
mettent au mat
éri
el de
communiqueravecl
epr
ocesseur
.
Leséchangesentr
eleprocesseuretl
'extéri
eurque
nousav onsét
udi
ésjusqu'
icisefai
sai
entt ouj
oursà
l
'i
niti
ati
ve du processeur : par exempl e, l
e
processeurdemandeàl i
reouàécr ir
eunecase
mémoi re.
Danscert
ainscas,on désir
equel eprocesseur
réagi
sser
apidementàunévènementext
éri
eur:
l

arri
véd'unpaquetdedonnéessuruneconnexi
on
réseau,
l
afrapped'
uncaractèr
eauclavi
er,
Les i
nter
rupt
ions sontsurtoututil
i
sées pourl
a
gest
iondespériphér
iquesdel'
ordi
nateur
s.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Uneint
err
uptionestsi
gnal
éeauprocesseurparun
si
gnalél
ectr
iquesurunebor
nespéci
ale.
Lorsdel aréceptiondecesignal
,leprocesseur
``
trait
e''l
'
int
err
uptiondèslaf
indel'
inst
ruct
ionqu'i
l
étaitentrai
nd'exécuter
.
Let
rai
tementdel
'
int
err
upt
ionconsi
stesoi
t:
• à l'i
gnorer et passer nor mal
ement à
l
'i
nst
ruct
ion sui v
ante : c' est possibl
e
uni
quement pour cer t
aines int
err
upt
ions,
nomméesi nt
err
upti
onsmasquabl
es.
I
lestenef fetparfoi
snécessairedepouvoir
i
gnor erles i
nter
rupti
ons pendantun cer
tain
temps,pouref f
ectuerdes trai
tement
st rès
urgentsparexemple.
Lorsque l e trai
tement est ter
miné, l
e
processeurdémasquelesint
err
upti
onsetl
es
prendalorsencompte.
• àex erunt
écut rai
tantd'
i
nter
rupt
ion(
int
err
upt
handler
).
Untr
aitantd'
i
nter
rupt
ionestunpr
ogr
ammequi
est appelé aut omati
quement l
orsqu'
une
i
nter
rupti
onsurvi
ent.
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Lorsqueletr
ait
antàef f
ect
uersontravail
,ilexécut
e
l
'i
nstruct
ionspéci
aleIRETquipermetder eprendr
e
l
'exécuti
onàl'
endr
oitoùell
eavai
tétéinterr
ompue.

VI
I.
5int
err
upt
ionmat
éri
ell
esurPC
VI
I.
5.1Si
gnauxd'
i
nter
rupt
ion
Lespr
ocesseur
sdel afami l
l
e80x86 possèdent
tr
ois bornes pour gér er les
i
nterr
upti
ons :NMI,I NTR ,et
[(I
NTA)](voi
rfi
gur
e).

Fi
gur
eVI
I.
5:Bor
nesd'
i
nter
rupt
ions.

NMIestuti
l
iséepourenv
oyeraupr
ocesseurune
int
err
upti
on non masquable (NMI, Non
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Maskabl
eInt
err
upt
).

Lepr
ocesseurnepeutpasi
gnor
ercesi
gnal
,et
vaexécut
erlet r
ait
antdonnéparlevect
eur
02H.
Ce si gnal est nor mal
ement ut il
i
sé pour
détecter des erreur
s mat ér
iel
les (mémoi
re
pri
ncipaledéf
ail
lanteparexemple).
I
NTR
(I
nterr
upt Request
), demande
d'i
nter
rupt
ionmasquabl
e.

Ut
ili
séepourindi
querauMPU l
'
arr
ivéed'
une
i
nterr
upt
ion.

I
NTA
(I
nterr
uptAcknowl edge)Cett
eborneestmise
à0l orsqueleprocesseurt
rai
teef
fect
ivement
l'
i
nterrupti
onsignaléeparI
NTR(c'
estàdire
qu'el
len'estpl
usmasquée) .

VI
I.
5.2I
ndi
cat
eurI
F
A un i
nstantdonné,l
es inter
rupti
ons sontsoi
t
masquées soi
t autor
isées,suivant l
'
état d'
un
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
i
ndicat
eurspéci
aldur
egi
str
ed'
état
,IF(
Int
err
upt
Fl
ag).

• siIF=1,lepr ocesseuracceptelesdemandes
d'
inter
rupt
ionsmasquabl es,
c'estàdirequ'
ill
es
tr
aitei
mmédi atement;
• siIF=0,leprocesseurignor
ecesi nt
errupt
ions.
L'
étatdel
'i
ndicat
eurIFpeutêt
remodi
fiéàl'
ai
dede
deuxinst
ruct
i CLearI
ons,CLI( F,met
treI
Fà0) ,et
STI(SeTI
F,met t
reIFà1).

VI
I.
5.3Cont
rôl
eurd'
i
nter
rupt
ions
L'
ordi
nat
eurestr el
i
é a plusieurs péri
phér
iques,
maisnousvenonsdev oi
rqu'
iln'yavaitqu'
unseul
si
gnaldedemanded'i
nter
rupt
ion,I
NTR.
Lecont r
ôleurd'i
nter
rupti
onsestuncir
cuitspécial
,
extéri
eur au pr ocesseur,dont l
er ôle est de
distri
bueretdemet tr
eenat t
entelesdemandes
d'
interruptions provenant des dif
férents
périphériques.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Fi
gur
eVI
I.5:
Lecont
rôl
eurd'i
nter
rupt
ions(
PIC,pour
Pr
ogrammabl
eInter
rupti
onControl
er)
.
Lafi
gur
eVII.5indi
quelesconnexi
onsent
rel
eMPU
etl
econtr
ôleurd'i
nter
rupt
ions.
Lecontrôl
eurestrel
i
éauxinter
facesgérantles
péri
phér
iques par l
es bor
nes IRQ (InteRr
upt
reQuest
).
I
lgèrelesdemandesd' i
nter
rupt
ionenvoy
éespar
l
espéri
phériques,defaçonàl esenvoy
erunepar
uneauprocesseur(v
iaINTR).
Avant d' env
oyer l'
i
nter
rupti
on suivant
e, le
contr
ôleuratt
endd'
avoirreçulesi
gnal[(I
NTA)],
i
ndiquant que le processeur a bien tr
ait
é
l
'i
nter
rupti
onencour
s.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
VI
I.
5.4Dér
oul
ementd'
unei
nter
rupt
ionext
erne
masquabl
e
Reprenons l
es di
ff
érent
s év
ènementsli
és à l
a
récept
iond'
unei
nterr
upti
onmasquabl
e:
1.
UnsignalI
NTestémi sparunpéri
phér
ique(
ou
plut
ôtparl
'i
nter
facegér
antcel
ui-
ci)
.

2.
Lecontrôl
eurd'
inter
rupt
ionsr
eçoi
tcesi
gnal
surunedesesbornesIRQi.
Dèsquecelaestpossible(sui
vantlesautres
i
nter
rupt
ions en at
tente de trai
tement)
,l e
cont
rôl
eurenvoi
eunsignalsursaborneINT.
3.
LeMPUpr endencompt
elesignalsursabor
ne
INTR apr ès avoi
r achev
é l '
exécuti
on de
l'
inst
ruct
ionencours
Sil
'i
ndi
cat
eurIF=0,l
esignalestignor
é,si
non,l
a
demanded'
int
errupt
ionestaccept
ée.
4.
Silademandeestaccept ée,l
eMPU metsa
sorti
e[( I
NTA)]auniveau0pendant2cycl
es
d'hor
loge,pourindi
querau contrôl
eurqu'
il
prendencompt esademande.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
5.
Enréponse,
lecontrôl
eurd'
int
err
upt
ionplacel
e
numérodel'i
nter
rupti
onassoci
éàlaborneIRQi
surl
ebusdedonnées.

6.
Lepr ocesseurl
itl
enumérodel'
int
err
upti
onsur
lebusdedonnéesetl '
uti
l
isepourtr
ouverl
e
vecteurd'i
nterr
upt
ion.
Ensui
te,toutsepassecommepourunappel
syst
ème ( i
nter
rupt
ion l
ogi
ci
ell
e),c'
està di
re
queleprocesseur:
a.sauv egarde l
es indicat
eur
s du regi
str
e
d'
étatsurlapil
e;
b.met l'i
ndicat
eur IF à 0 ( masque l
es
i
nterr
uptionssuiv
antes);
c.sauvegardeCSetI Psurlapi
le;
d.
cherche dans l
a t able des v
ecteurs
d'i
nterr
upt
ions l'
adresse du t r
ait
ant
d'i
nterr
upt
ion,
qu'
i
lchargedansCS:
IP.
7.
Laprocédur
etrai
tantl
'
int
err
upti
onsedér oul
e.
Pendant ce t
emps,l es i
nter
rupt
ions sont
masquées
(I
F=0).

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Sil
etrait
ementestl
ong,
onpeutdanscer
tai
ns
cas r é-
aut
ori
ser les int
err
upt
ions avec
l
'i
nst
ructi
onSTI.

8.
Lapr océdureseter
mineparl'i
nstruct
ionIRET,
quirestaureCS,I
Petlesindi
cateursàparti
rde
la pile, ce qui permet de r eprendr
e le
programmequi avai
tétéint
err
ompu.

VI
I.
6Ent
rées/
Sor
ti
espari
nter
rupt
ion
Engénéral
,l
espériphér
iquesqui r
eçoiv
entdes
donnéesdel'
extér
ieurmettentenœuv reun
mécanismed'i
nter
rupti
on: cl
avier
,contrôl
eur
sde
di
squesdursetCD- ROMS,etc.
Unexempl
e
Et
udionsicitrèsschémat
iquementl
ecasd'
une
l
ectur
esurdisquedur.
Soi
tun programme li
santdes données surun
di
squedur
,lestr
ait
antetl
esaf
fi
chantsurl
'écran.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
Voici l '
algor
it
hme génér
al sans ut
il
iser
d'
inter
rupt
ion:Répét
er:

1.
envoyeraucontr
ôleurdedi
squeune
demande de lectur
e d'un bl
oc de
données.
2.
att
endretantquel
edi
squener
épond
pas(scr
utat
ion);
3.
tr
ait
erl
esdonnées;
4.
aff
icherl
esr
ésul
tat
s.
Cett
emét hodesi
mpl
eestappel
éeent
rée/
sor
ti
e
parscr
utat
ion.
L'
étape2estuneboucl
edescr
utat
ion,
del
afor
me:
• Répéter
:
o r
egardersil
etr
ansf
ertdu di
sque est
t
ermi
né;Tantqu'
i
ln'
estpast
ermi
né.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
La scrutati
on est simple maisinefficace :
l
'or
dinateurpassel amajori
tédesont empsà
att
endrequel esdonnéessoi
ttr
ansf
éréesdepuis
l
e disque dur.Pendantce temps,ilrépèt el
a
boucledescrutat
ion.
Cetempspourr
aitêt
remi
sàpr
ofi
tpourr
éal
i
ser
uneaut
ret
âche.

Tr
ès gr ossi
èrement,l es ent
rées/
sort
ies par
i
nter
rupt
ionfonct
ionnentsurl
emodèlesui
vant:
1.
Inst
all
erun tr
ait
antd'int
err
upt
ion di
sque qui
trai
tel
esdonnéesreçuesetl
esaff
iche;
2.
env
oy eraucont
rôl
eurdedi
squeunedemande
delectur
edesdonnées;
3.
fai
reaut
rechose(
unaut
recal
culouaf
fi
chage
parexempl
e).
Danscecas,dèsquedesdonnéesar ri
vent,l
e
cont
rôl
eurdedi
squeenvoieunei
nter
rupt
ion(vi
a
l
econtrôl
eurd'
i
nter
rupt
ions)aupr
ocesseur,qui
Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a
ar
rêtet empor
air
ement letraitement 3 pour
s'
occuperdesdonnéesqui
arr
ivent.
Lorsquelesdonnéessonttrai
tées,l
etr
ait
ement3
reprend(I
RET).Pendantl'
opérati
ondelectur
edu
disquedur,l
eprocesseurpeutfai
reaut
rechose.
Danslapr at
ique,leschosessontunpeupl us
compliquées:i lfautav oi
rplusi
eurstâchesà
fai
reenmêmet empspourquel '
uti
li
sati
ondes
i
nterr
uptionspermet t
entungai
nintér
essant.
Ce pri
nci
pe estsurtoutmis à pr
ofi
tdans l
es
sy
stèmesmul t
i-
tâchescommeUNI XouWindows
NT,quenousétudier
onsendeuxi
èmeannée.

Naj
atRAFALI
A,Uni
vIbnTof
ail
,FacSci
ences,
Dépar
tInf
ormat
ique,Kéni
tr
a

Vous aimerez peut-être aussi