13. Assembleur ARM utilisation de variables Flashcards

1
Q

L’—– nous permet de donner un nom à des adresses
mémoires: ce sont les —–

A

L’assembleur nous permet de donner un nom à des adresses
mémoires: ce sont les variables

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

comment Déclarer une variable assignée (initialisée)

A

nom ASSIGNxx valeur

ASSIGNxx: xx indique la taille en bits. Par exemple:
* ASSIGN8: variable de 8 bits
* ASSIGN32: variable de 32 bits
* valeur: la valeur de la variable

ex
premiereValeur ASSIGN32 0x1
deuxiemeValeur ASSIGN32 0x2
troisiemeValeur ASSIGN32 0xABCDEF12

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

comment charger la valeur d’une variable

A

« Variante » de LDR:

LDR Rd, nomDeLaVariable

; Charger la valeur de premiereValeur dans R1
LDR R1, premiereValeur

ex
premiereValeur ASSIGN32 0x1
deuxiemeValeur ASSIGN32 0x2
troisiemeValeur ASSIGN32 0xABCDEF12

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

Charger l’adresse d’une variable

A

« Variante » de LDR:

LDR Rd, =nomDeLaVariable

la différence est le =

; Charger l’adresse de premiereValeur dans R1
LDR R1, =premiereValeur

premiereValeur ASSIGN32 0x1
deuxiemeValeur ASSIGN32 0x2
troisiemeValeur ASSIGN32 0xABCDEF12

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

Allouer une variable (réserve de l’espace mais ne lui assigne
pas de valeur):

A

nom ALLOCxx nombre

nom: nom de la variable
* ALLOCxx: xx indique la taille en bits. Par exemple:
* ALLOC8: variable de 8 bits
* ALLOC32: variable de 32 bits
* nombre: le nombre d’éléments à réserver

  • exemple:
    ; Résultat (on ignore sa valeur a priori)
    resultat ALLOC32

premiereValeur ALLOC32 1
deuxiemeValeur ALLOC32 1
troisiemeValeur ALLOC32 1

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

différence entre assigner et allouer

A

nom ASSIGNxx valeur
* assigne une VALEUR à un espace mémoire
* parallèle avec le standard du C:
* c’est une DEFINITION (on définit une valeur précise).

  • nom ALLOCxx nombre
  • alloue un NOMBRE d’espaces mémoire sans attribuer de valeur.
  • parallèle avec le standard du C:
  • c’est une DECLARATION (on déclare une variable sans définir de
    valeur).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

quel mot clef pour les tableaux

x3

A

chaine ASSIGN8 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00
tableau ASSIGN32 0x12, 0x23
tableauAlloue ALLOC32 3

chaine désigne un tableau assigné de 6 octets
* tableau désigne un tableau assigné de (2 x 4 = 8) octets
* tableauAlloue désigne un tableau alloué de (3 x 4 = 12) octets
* Le nom du tableau « pointe » vers le premier octet de ce tableau.

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