12. assembleur ARM Flashcards

1
Q

quelle différence en ARM comparé au TP1 pour addition-soustraction

A

rd <- RA + Rs
rd <- RA + const

on peut faire registre 1+registre 2 das registre 3
au lieu de r1 + r2 dans r2

pareil pour soustraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Écrivons un programme qui additionne deux valeurs stockées en
mémoire:
* La première valeur est à une adresse de base (ex: 0x40 pour le TP1, 0x1000
pour l’ARM)
* La seconde valeur est à l’adresse mémoire —– (après la —– valeur).
* Le résultat est écrit dans l’adresse mémoire —- (après la —– valeur).

A

Écrivons un programme qui additionne deux valeurs stockées en
mémoire:
* La première valeur est à une adresse de base (ex: 0x40 pour le TP1, 0x1000
pour l’ARM)
* La seconde valeur est à l’adresse mémoire suivante (après la première valeur).
* Le résultat est écrit dans l’adresse mémoire suivante (après la seconde valeur).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

On « travaille » sur 32 bits à la fois, et chaque adresse stocke — bits. Donc
chaque élément occupe —- adresses mémoire

A

On « travaille » sur 32 bits à la fois, et chaque adresse stocke 8 bits. Donc
chaque élément occupe 4 adresses mémoire

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

3 sections du code dans le simulateur

A

SECTION INTVEC (table des vecteurs d’interruption)

SECTION CODE

SECTION DATA (l’on place
des données utilisées par le code)

ex:
SECTION INTVEC
B main

SECTION CODE
main
MOV R0, #0x1000 ; Adresse de la première valeur
LDR R1, [R0] ; Lecture de la première valeur dans R0
ADD R0, R0, #4 ; Adresse de la deuxième valeur
LDR R2, [R0] ; Lecture de la deuxième valeur dans R1
ADD R1, R1, R2 ; R1 = R1 + R2
ADD R0, R0, #4 ; Adresse du résultat
STR R1, [R0] ; Écriture du résultat en mémoire
fin
B fin

SECTION DATA
; Valeurs stockées en mémoire
premiereValeur ASSIGN32 0x1
deuxiemeValeur ASSIGN32 0x2
; Résultat (on ne connait pas sa valeur a priori)
resultat ALLOC32 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Adresses de chaque section

A

0x0: Adresse de début de la section INTVEC
0x7F: Adresse de fin de la section INTVEC

0x80: Adresse de début de la section CODE
0x0FFF: Adresse de fin de la section CODE

0x1000: Adresse de début de la section DATA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly