38 0 231KB
Université Abdelhamid Ibn Badis - Mostaganem
Master M1
Département de Génie Electrique
Travaux Pratiques n° 2
Module : CSMP/MPC
Objectifs Comprendre les modes d’adressage registre, direct (absolu) et indirect simple du p 68000. Comprendre la directive d’assemblage DC pour le placement des données en mémoire. Apprendre le rôle les indicateurs d’états (Flags) du registre CCR. Un compte rendu du TP doit être remis en fin de séance. Aucun retard ne sera toléré.
Exercice 1 Exécuter le programme suivant en notant les résultats pour chaque directive et pour chaque instruction. Etiquettes
Instructions
Opérandes
Indicateurs X N Z V C
Start
ORG DC.L
$2000 $11110000
Mémoire à partir de l’adresse $2000
ORG DC.L
$3000 $00000000
Mémoire à partir de l’adresse $3000
ORG DC.L
$20000 $11110000
Mémoire à partir de l’adresse $20000
ORG DC.L
$30000 $00000000
Mémoire à partir de l’adresse $30000
ORG
$2400
………………. ………………. ………………. ……………….
NOP * Vérification du contenu de la mémoire : absolu court NOT.L
$2000
MOVE.W
$2000, $3000
Mémoire à partir de l’adresse $2000 Mémoire à partir de l’adresse $3000
………………. ……………….
* Vérification du contenu de la mémoire : absolu long NOT.L
$20000
MOVE.W
$20000, $30000
Mémoire à partir de l’adresse $20000
……………….
Mémoire à partir de l’adresse $30000 ……………….
MOVE.B TRAP END
-
#9, D0 #15 Start
Quelle est la différence entre l'adressage absolu court et l'adressage absolu long ?
Exercice 2 Editer le programme suivant et répondre aux questions : * Après assemblage et chargement du programme, quelle est le résultat d'exécution des directives suivantes :
1
ORG $2000 DC.B %00100100, $1C, '#' DC.W $AD0, 'D' DC.L 'OK !', $AC289, 'STOP' ORG $2500 DC.W -30, '$FA', $255 DC.L $FF99, -45 DC.B 200, -12, $32 * Exécuter le programme suivant et commenter le résultat de chaque instruction : ORG $1000 data
DC.B 'Bonjour', $21
Start
ORG $3000 LEA LEA
data, A1 data+32, A2
MOVE.L MOVE.L
(A1), D1 D1, (A2)
ADDA.L ADDA.L
#4, A1 #4, A2
MOVE.L MOVE.L
(A1), D1 D1, (A2)
MOVE.B TRAP
#9, D0 #15
END Start
Exercice 4 Ecrire un programme en assembleur qui effectue la somme suivante : S a b c et vérifier l'exécution dans SIM68K. Les nombres a, b et c sont non signés, codés sur 8 bits et stockée en mémoire.
Exercice 5 Ecrire un programme en assembleur 68000 qui effectue le calcul de : p
bc 9 a
où a, b et c (stockés en mémoire) sont des nombres entiers signés sur 8 bits et p est la partie entière du résultat. Vérifier avec l'exemple suivant : a = -2, b = 3 et c = -6.
2