Vous êtes sur la page 1sur 5

Université de Monastir

—–◦—–
Institut Supérieur
d’Informatique et de FEUILLE D’EXAMEN Signatures Numéro
Mathématiques de Monastir des surveillants de la double feuille
—–◦—– Épreuve de : Prog assembleur 68K
1
Session : de rattrapage Total
Identifiant
des double feuilles
secret
Année/Diplôme : LF2/LA2 STIC
1

Nom : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prénom : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Date de l’examen : 05/07/2018 N°C.I.N. : . . . . . . . . . . . . . . . . . . . . . N°d’inscription . . . . . . . . . . . . . . . . . . . . .

Salle N° : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N° de la place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs

Identifiant Examen
secret Session de rattrapage

Matière : Prog assembleur 68K Documents et calculette non autorisés


Section : LF2/LA2 STIC Nombre de pages : 5

NB : Toutes les réponses doivent être portées uniquement sur les 4 premières pages de
l’examen.
Bon travail.

Questions de cours

1. Le microprocesseur 68K présente une architecture RISC ou une architecture CISC ?


Justifier votre réponse.
....................................................................................
....................................................................................
....................................................................................
....................................................................................
2. Donner le principe d’adressage de la mémoire avec les bits LDS et UDS.
....................................................................................
....................................................................................
....................................................................................
....................................................................................
....................................................................................
....................................................................................
....................................................................................

1
NE RIEN ÉCRIRE ICI

Exercice 1 :
Lesquelles de ces instructions ne sont pas autorisées ?
Justifier la réponse et proposer une solution dans le cas où les instructions sont incorrectes.
Quelles conditions de validité doivent vérifier les instructions autorisées ?
1. DIVU (A0)-,D1
..........................................................................................
..........................................................................................
2. AND.W D1,-2(A0,D0.W)
..........................................................................................
..........................................................................................
3. SUB.B 1005,D1
..........................................................................................
..........................................................................................
4. ASR.L -3(A0)
..........................................................................................
..........................................................................................
Exercice 2 :

1. Déterminer le contenu des registres et des cases mémoire qui changent au cours de
l’exécution du programme suivant. Sachant que les questions sont mises en commen-
taire.

DATA: ORG $3000


;afficher le contenu (en hexa)de la
TVAL DC.B -11,20,3,-42,-15,68 ;mémoire à partir de l’adresse $3000
T1 DS.B 6 ;$3000=|....|....|....|....|....|....|
;@TVAL= ...........
;@T1 = ...........
MSG DC.B ’La solution est : ’,0 ;@MSG = ...........

START: ORG $4000


LEA.L TVAL,A2 ;A2= .........
LEA.L T1,A3 ;A3= .........
CLR.L D4
CLR.L D7

2
LOOP1:
MOVE.B (A2)+,D4
MOVE.B D4,D5
AND.B #$1,D4
CMP #1,D4
BEQ LOOP2
CMP.L #T1,A2
BLT LOOP1
JMP SUITE

LOOP2:
MOVE.B D5,(A3)+ ;||Donner le contenu (en hexa) de A2,A3,D4,D7
ADD.B #1,D7 ;||et de la case mémoire adressée par -(A3),
CMP.L #T1,A2 ;||après chaque itération de LOOP1.
BLT LOOP1

*| 1ère itération| 2ème itération| 3ème itération| 4ème itération| 5ème itération|
*---------------------------------------------------------------------------------
*| A2= ......... | A2= ......... | A2= ......... | A2= ......... |A2= ...........|
*| A3= ......... | A3= ......... | A3= ......... | A3= ......... |A3= ...........|
*| D4.B= ....... | D4.B= ....... | D4.B= ....... | D4.B= ....... |D4.B= .........|
*|-(A3)=.........|-(A3)=.........|-(A3)=.........|-(A3)=.........|-(A3)=.........|
*| D7.B= ....... | D7.B= ....... | D7.B= ....... | D7.B= ....... |D7.B= .........|
*---------------------------------------------------------------------------------
; Donner le contenu des éléments du tableau T1 en décimal
; T1=|......|......|......|......|......|......|

SUITE:
MOVE.L #14,D0
LEA.L MSG,A1
TRAP #15
CLR.L D1
AFTAB:
MOVE.B -(A3),D1
EXT.W D1
EXT.L D1
MOVE.L #3,D0
TRAP #15
ADD.B #-1,D7
CMP.B #0,D7
BNE AFTAB
END START

2. Que fait ce programme ?


....................................................................................
....................................................................................
3. Dans quelles conditions la partie du programme référencée par le label LOOP2 sera
exécutée ?
....................................................................................
....................................................................................
4. Dans quelles conditions la partie du programme référencée par le label SUITE sera
exécutée ?
....................................................................................
....................................................................................

3
5. Que fait la partie du programme référencée par le label AFTAB ?
....................................................................................
....................................................................................
....................................................................................

Exercice 3 :
On vous demande d’écrire un programme en assembleur 68K qui permet de calculer, de stocker et
d’afficher les n termes (U0 , U1 , U2 , ..., Un−1 ) de la suite définie par :



 n = 20

 U = 27
0

 U n = Un−1 /2 si Un−1 est pair


Un = 3 ∗ Un−1 + 1 sinon (Un−1 est impair)

Les n termes seront stockés dans un tableau TVAL.

DATA: ORG $1000


U0 DC.W 27
n DC.B 20
TVAL DS.W 20

..................................................................
..................................................................

CODE: ORG $2000

........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
........................................... ...........................................
4
Aide mémoire
— CMP X,Y : comparaison de X et Y et mise à jour des drapeaux concernés ;
— BNE label : branchement à une étiquette si non égale ;
— BEQ label : branchement à une étiquette si égale ;
— BGE label : branchement à une étiquette si supérieure ou égale ;
— BGT label : branchement à une étiquette si supérieure strictement ;
— BLE label : branchement à une étiquette si inférieure ou égale ;
— BLT label : branchement à une étiquette si inférieure strictement ;
— JMP label : branchement non conditionnel.
— DIVU.W D2,D3 : D3/D2. Le quotient est dans la moitié inférieure du reg D3 (Les 16
bits de poids faibles). Le reste est dans la moitié supérieure du reg D3 (Les 16 bits de
poids forts). Idem avec DIVS.
— MULU.W D2,D3 : les opérandes sont sur 16 bits. Le résultat est dans D3 sur 32 bits.
Idem avec MULS.

Vous aimerez peut-être aussi