TD MC68000

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Travaux Dirigés - Microprocesseur MC68000

Exercice 1 :
Détecter et corriger les erreurs présentes dans les instructions suivantes :
a. MOVE.B $FF, A1
b. MOVEA.L A0, D0
c. MOVE.B A0, A1
d. MOVEA. B #3C, A0

Exercice 2 :
1. Quel est le résultat de chacune des instructions suivantes :

a. MOVE.B $1F264, D0 MOVEQ.B #$AB, D1


b. MOVE.L $1F2C, D2 MOVEA.W #$A164, A0
c. MOVEA.L $0001f264, A1 MOVE.L (A1), D3
d. MOVE.W (A1) +, D4 MOVE.W -(A1), D4

2. Quel est le contenu des registres de données et d’adresses après l’exécution des instructions ci-
dessous ? donner ensuite l’équivalente de b par une autre instruction.
a. MOVEQ.B #$1B, D1 MOVEQ.B #$A4, D0
b. MOVEA.W #$EA10, A0 MOVEA.W #$2A01, A2
Exercice 3 :
Ecrire en langage assembleur les programmes suivants :

a. un programme qui initialise les cases mémoire de $12002 à $12002 par la valeur $1C, et les 5 octets
à partir de $12003 par la valeur $ab.

b. un programme qui charge la mémoire par le message ‘GEET-AIAC-2022’ à partir de l’adresse $3000

c. un programme réalisant la permutation des données de la zone mémoire $12000- $12002 avec ceux
de la zone $12001-$120003.

Exercice 4 :
Ecrire un programme qui additionne deux nombres non signés codés sur 16 bits, et rangés
respectivement aux adresses mémoire adr1, adr2. Le résultat de l’addition est sauvegardé à l’adresse
mémoire adrs.

Exercice 5 :
A, B, deux nombres non signés codés sur 8 bits et rangés en mémoire respectivement aux adresses
adr1, adr2.

Développer un programme qui calcule l’expression : S=(A/8) +B*2 (Avec le transfert du résultat dans
le registre D2).

a. En utilisant les instructions de multiplication et de division


b. En utilisant les instructions de décalage
Exercice 6 :
Ecrire un programme qui calcule le produit de deux nombres ‘a’, et ‘b’ non signés rangés
respectivement aux adresses mémoire adr1, et adr2 dans les deux cas suivants :

a. Multiplication 8bits x 8bits,


b. Multiplication 16bits x 16bits,

Le résultat de la multiplication est sauvegardé dans l’adresse mémoire adrs.

Exercice 7 :
On désire calculer la somme et la moyenne de 100 nombres stockés en mémoire à partir de l’adresse
$2000.

a. Quelle est la taille envisageable pour les résultats (Somme, Moyenne)


b. Développer un programme assembleur qui permet de faire ce calcul.

Exercice 8 :
Un ensemble de 1000 entiers se trouve en mémoire à partir de l’adresse pointée par A2. Développer
un programme assembleur permettant de :

a. Compter le nombre d’éléments positifs (résultat dans D1).


b. Compter le nombre d’éléments nuls (résultat dans D2).

Exercice 9 :
En utilisant un sous-programme, Ecrire un programme qui calcule l’expression : S=A2+B2+C2

Sachant que A, B, et C sont trois nombres signés codés sur 16 bits et rangés en mémoire
respectivement aux adresses adra, adrb, et adrc. Le résultat S est sauvegardé dans le registre D5

Exercice 10 :
En utilisant un sous-programme, développer un programme principal en assembleur MC68K qui
calcule l’expression : S=A3+B3+C3

Sachant que A, B, et C sont trois nombres signés codés sur 8 bits et rangés en mémoire respectivement
aux adresses adra, adrb, et adrc. Le résultat S est sauvegardé à l’adresse adrs.

Vous aimerez peut-être aussi