Professional Documents
Culture Documents
Contrle
Architecture des microprocesseurs
Dure 2 heures
Tous les documents personnels (cours, TD, projets) sont autoriss.
La machine calculer est autorise.
La qualit de la prsentation sera prise en compte dans le barme de notation.
Les quatre parties de ce contrle sont totalement indpendantes.
Il vous est demand de rdiger chacune des parties sur une copie spare.
Pensez rappeler le numro des questions auxquelles vous rpondez.
Noubliez pas de joindre les documents rponses votre copie.
Partie A ( pour gagner des points plus a avance et plus cest difficile)
Architecture du microprocesseur 68000 de MOTOROLA
1. Question de cours. (2 points)
a. Donner la (ou les) diffrences qui existe(nt) entre un circuit RAM et un circuit
ROM.
Un circuit RAM est accessible en lecture et criture. Son contenu est perdu en
cas de coupure dalimentation
Un circuit ROM est accessible uniquement en lecture. Le contenu de la ROM
est prserv en cas de coupure dalimentation.
b. Donner la taille dun circuit RAM possdant 8 lignes de donnes (D0 D7) et
15 lignes dadresses ( de A0 A14).
Taille = 2nombre de lignes dadresse x nombre de lignes de donnes
= 215 x 8 = 32 K octet
c. Indiquer la (ou les) diffrence(s) qui existe(nt) entre les instructions suivantes :
NEG.B -(A0) NEG.B -1(A0)
Dans les 2 cas, linstruction NEG ( complment deux) seffectue sur le
contenu de ladresse pointe par le registre (A0 1) .
Par contre pour la 1ire instruction, le registre est dcrment de 1 suite
llaboration du complment 2 et dans le 2ime cas, le registre reste la mme
valeur.
e. Sur un octet, quel est lintervalle dans lequel un nombre ngatif z peut tre
reprsent en complment deux?
Lintervalle est :
-128 < z < -1 soit 1000 0000 < z < 1111 1111
en binaire en hexadcimal
% 0101 0110 $ 3 C D F
+ % 0001 1101 + $ 8 9 7 D
= % 0111 0011 = $ C 6 5 C
Partie B
Analyse de programme assembleur
1. Les modes dadressage du microprocesseur 68000. ( 3 points)
Dfinir les modes dadressage source et destination pour chacune des lignes du
programme ci-dessous.
Programme source
ORG 0
DC.L $7000
DC.L start
ORG $1000
nbre DC.B 5
ORG $2000
start CLR.L D6
CLR.L D7
debut ADD.B #1,D6
CMP.B nbre,D6
BEQ fin
ADD.W D6,D7
BRA debut
fin ADD.W D6,D7
fin2 BRA fin2 contenu aprs excution du
programme
registre D6 5
registre D7 15
D7 = [ nbre x ( nbre + 1 )] / 2
Relation
il faut indiquer le nom : suite
mathmatique
arithmtique
Partie C
Elaboration dun programme en langage assembleur
ORG $0
DC.L $8000 * Stack pointer value after a reset
DC.L start * Program counter value after a reset
ORG $2000
texte DC.B 'Le devoir est sympa.il dure 2 heures.'
DC.B 'je pense avoir une bonne note.a condition de me concentrer.$'
Partie D
ORG $0
DC.L $7FFF * Stack pointer value after a reset
DC.L START * Program counter value after a reset
ORG $1000
valeur dc.b 9,5,4,7,3
nbre dc.b 5
ORG $2000
start LEA valeur,A0
LEA nbre,A1
CLR.L D1
CLR.L D2
CLR.L D3
CLR.L D4
CLR.L D5
MOVE.B (A1),D1
SUB.B #1,D1
MOVE.B D1,D2
Cest un drapeau.
D5 Indique par 1 ou 0 si le tableau est tri ou pas
Bon courage