Vous êtes sur la page 1sur 5

Université des Sciences et de la Technologie d’Oran

Département d'Electronique

Module DSP

Année 2019/2020

Série N°3

Exercice 1
A.) On suppose que les valeurs suivantes sont enregistrées à partir de l'adresse mémoire
0x80000000:
0x80000000 5e54 7834h
0x80000004 3A59 f34dh
0x80000008 2ef5 7ee4h
0x8000000C 2345 6789h
0x80000010 9fff eeddh
0x80000014 3456 787eh
0x80000018 3f4d 7ab3h
Supposons que A11 = 8000 000Ch .. Quels sont les contenus des registres A1 et
A11 après exécution de chacune des instructions suivantes:

LDW .D1 *A11, A1


LDH .D1 *A11, A1
LDB .D1 *A11, A1
LDW .D1 *++A11[1], A1
LDW .D1 *--A11[1], A1
LDB .D1 *++A11[1], A1
LDW .D1 *A11++[1], A1
LDW .D1 *A11--[1], A1
Corrigé : il faut consulter les règles d'adressage indexées vues au cours: adressage.

Adresse Registre A11 Registre A11 Registre A1


Avant exécution Après exécution Après exécution
0x80000000 5e54 7834h
0x80000004 3A59 f34dh
0x80000008 2ef5 7ee4h
0x8000000C 2345 6789h 8000 000Ch 8000 000Ch 2345 6789h
0x80000010 9fff eeddh
0x80000014 3456 787eh
0x80000018 3f4d 7ab3h

Instruction Registre A11 Registre A11 Registre A1


Avant exécution Après exécution Après exécution
LDW .D1 *A11, A1 8000 000Ch 8000 000Ch 2345 6789h
LDH .D1 *A11, A1 8000 000Ch 8000 000Ch 0000 6789h
LDB .D1 *A11, A1 8000 000Ch 8000 000Ch FFFFFF89h
LDW .D1 *++A11[1], A1 8000 000Ch 0x80000010 9fff eeddh
LDW .D1 *--A11[1], A1 8000 000Ch 0x80000008 2ef5 7ee4h
LDB .D1 *++A11[1], A1 8000 000Ch 0x8000000D 000000 67h
LDB .D1 *--A11[1], A1 8000 000Ch 0x8000000B 000000 2Eh
LDB .D1 *A11++[1], A1 8000 000Ch 0x8000000D FFFFFF89h
LDW .D1 *A11++[1], A1 8000 000Ch 0x80000010 2345 6789h
LDW .D1 *A11--[1], A1 8000 000Ch 0x80000008 2345 6789h
Exercice N°2
Considérons l'adresse mémoire 0x8000000C , Donner l'organisation de la mémoire ( en
précisant le contenu de chaque adresse) en supposant les deux modes Big Endian et Little
Endian et en considérant des mots de 8 bits et de 16 bits.

8000 000Ch 23 45 67 89

Considérons l'adresse mémoire 0x8000000C , Donner l'organisation de la mémoire ( en


précisant le contenu de chaque adresse) en supposant les deux modes Big Endian et Little
Endian et en considérant des mots de 8 bits et de 16 bits.

8000 000Ch 23 45 67 89

Mode Little Endian: 8 bits

8000 000Ch 89
67
45
23

Mode Big Endian: 8 bits

8000 000Ch 23
45
67
89
Mode Little Endian: 16 bits

8000 000Ch 89 67
8000 000Eh 45 23

Mode Big Endian: 16 bits

8000 000Ch 45 23
8000 000Eh 89 67
Exercice N°3:

a) Combien d'unités fonctionnelles peuvent-elles effectuer une instruction ADD? Nommez


les.
Quelles sont celles qui supportent des opérations mémoires lecture et écriture?
Quels sont les registres conditionnels?
b) Donnez les instructions qui permettent d'effectuer
- A2 = A02 + A1 ?
- Si (B1  0) donc B2 = B5 * B6
- A2 = A0 * A1 + 10
- Charger une constante non signée (19ABCh) dans le registre A6.
- Charger le registre A7 du contenu de l'adresse mem1 et post-incrémenter le registre
pointeur utilisé .

a) Combien d'unités fonctionnelles peuvent-elles effectuer une instruction ADD?


Nommez les.

six; .L1, .L2, .D1, .D2, .S1, .S2

Quelles sont celles qui supportent des opérations mémoires lecture et écriture?

Seules les unités : .D1 et D2

Quels sont les registres conditionnels?

A1, A2, B0, B1, B2

b) Donnez les instructions qui permettent d'effectuer


- A2 = A02 + A1 ?
Réponse:

MPY.M1 A0, A0, A2


ADD.L1 A2, A1, A2

- Si (B1  0) donc B2 = B5 * B6
Réponse:

[B1] MPY.M2 B5, B6, B2

A2 = A0 * A1 + 10
Réponse:

MPY A0, A1, A2


ADD 10, A2, A2

- Charger une constante non signée (19ABCh) dans le registre A6.


Réponse:
mvkl .s1 0x00019abc,a6
mvkh .s1 0x00019abc,a6

ou value .equ 0x00019abc

mvkl.s1 value,a6
mvkh.s1 value,a6

- Charger le registre A7 du contenu de l'adresse mem1 et post-incrémenter


incrémenter le registre
pointeur utilisé .

load_mem1: MVKL .S1 mem1, A6


MVKH .S1 mem1, A6
LDH .D1 *A6++, A7

Donner toutes les unités fonctionnelles qui peuvent être affectées à chacune des
instructions:

ADD .D2 B0,A1,B2


MPY .M1 A1,B2,A4

Vous aimerez peut-être aussi