0% ont trouvé ce document utile (0 vote)
180 vues2 pages

Tutoriel sur l'assembleur ARM

Le document présente des exercices sur les instructions assembleur ARM et les opérations de masquage sur des registres. Il décrit comment modifier les bits de registres grâce à des instructions logiques comme OR, AND et EOR.

Transféré par

ziribologhin2014
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
180 vues2 pages

Tutoriel sur l'assembleur ARM

Le document présente des exercices sur les instructions assembleur ARM et les opérations de masquage sur des registres. Il décrit comment modifier les bits de registres grâce à des instructions logiques comme OR, AND et EOR.

Transféré par

ziribologhin2014
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Systèmes à Microprocesseurs – Electronique 3

Exercices complémentaires 3
1.1 Instructions assembleur
a) Donner en binaire les valeurs des registres R0 et R1 après exécution de chaque
instruction ci-dessous (en complétant le tableau, que vous recopierez sur votre copie).
Ne représenter que les six bit de poids faible pour chaque registre, et utiliser ‘???’
lorsque la valeur est indéterminée.
Code R0 R1
MOV R0, #11
MOV R1, #13
EOR R0, R0, R1
EOR R1, R0, R1
EOR R0, R0, R1
b) Qu’arrive-t’il aux registres R0 et R1 à l’issue de ces trois instructions EOR ?

1.2 Opérations de masquage


Le registre R0 contient une valeur dont on souhaite forcer certains bits à 1, forcer certains bits
à 0, complémenter certains autres bits et laisser les autres inchangés. La figure suivante
illustre ces modifications :

Où ‘X’ indique un bit inchangé et ‘-’ indique un bit à complémenter.

1) Ecrire un code assembleur ARM réalisant la transformation décrite par la figure


précédente, en un maximum de trois instructions. Expliquez textuellement et dans un
petit paragraphe séparé de quelques lignes le fonctionnement de votre programme.
2) Ecrire un code assembleur ARM réalisant la transformation décrite en deux
instructions. Expliquez textuellement et dans un petit paragraphe séparé de quelques
lignes le fonctionnement de votre programme.

-1-
Systèmes à Microprocesseurs – Electronique 3

CORRECTION

1.1 Instructions assembleur


a)
Code R0 R1
MOV R0, #11 001011 ???
MOV R1, #13 001011 001101
EOR R0, R0, R1 000110 001101
EOR R1, R0, R1 000110 001011
EOR R0, R0, R1 001101 001011
c) Les contenus de R0 et R1 sont permutes.

1.2 Opérations de masquage


R0 OR 00000000000011110000000000000000 (0x000F0000)
R0 AND 11111111111111110000111111111111 (0xFFFF0FFF)
R0 EOR 00000000000000000000111100000000 (0x00000F00)

Code
ORR R0, R0, #0x000F0000
AND R0, R0, #0xFFFF0FFF
EOR R0, R0, #0x00000F00

EN DEUX INSTRUCTIONS
R0 OR 00000000000011111111000000000000 (0x000FF000)
R0 EOR 00000000000000001111111100000000 (0x0000FF00)

Code
ORR R0, R0, #0x000FF000
EOR R0, R0, #0x0000FF00

-2-

Vous aimerez peut-être aussi