Accueil
Démo
Exercices formatifs
Travaux pratiques
Simulation libre
Sessions sauvegardées

Adressage en ARM

Amusons-nous avec les différents modes d'adressage en ARM.

Questions et réponses:

  • Quelle serait l'adresse de la variable tableau si elle était placée dans cette section? 0x80.
  • Quel élément est lu par... la version 1? Le premier élément, soit 0x1234.
  • Quel élément est lu par... la version 2? Le second élément, soit 0x4567.
  • Quel élément est lu par... la version 3? Le second élément, soit 0x4567.
  • Quel élément est lu par... la version 4? Le premier élément, soit 0x1234.
  • Quel élément est lu par... la version 5? Le troisième élément, soit 0x89AB.
  • Quelle est la différence entre ces deux dernières instructions? La version 4 modifie le contenu de R0 _après_ l'accès mémoire, tandis que la version 5 incrémente R0 de 4 _avant_ d'effectuer l'accès mémoire.
  • Qu'est-ce que fait cette dernière instruction? Elle place l'instruction courante (son code binaire) dans R5.
  • Quelle est l'adresse de la variable tableau? 0x1000.

Registre Généraux (User)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 (sp)
R14 (lr)
R15 (pc)

Registre Généraux (FIQ)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8 FIQ
R9 FIQ
R10 FIQ
R11 FIQ
R12 FIQ
R13 FIQ (sp)
R14 FIQ (lr)
R15 (pc)

Registre Généraux (IRQ)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 IRQ (sp)
R14 IRQ (lr)
R15 (pc)

Registre Généraux (SVC)

Nom Valeur
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 SVC (sp)
R14 SVC (lr)
R15 (pc)

État courant

 CPSRSPSR
Negatif (N)
Zero (Z)
Retenue (C)
Dépassement (V)
Ignore IRQ
Ignore FIQ

Configurations

Interruptions

Activer
Type
 cycles
 cycles (premier)
Vitesse d'exécution :  ms

Français

SECTION INTVEC B main SECTION CODE ; Question: quelle serait l'adresse de la variable ; tableau si elle était placée dans cette section? main ; Tout d'abord, commençons par visualiser le contenu de ; la mémoire à l'adresse 0x1000 ; Chargeons l'adresse de la variable tableau dans R0 LDR R0, =tableau ; Questions: ; - Quel élément est lu par chacune de ces versions? ; Version 1 LDR R1, [R0] ; Version 2 LDR R2, [R0, #4] ; Version 3 MOV R5, #4 LDR R3, [R0, R5] ; Version 4 LDR R4, [R0], #4 ; Version 5 LDR R5, [R0, #4]! ; Question: quelle est la différence entre ces deux ; dernières instructions? ; Question: qu'est-ce que fait cette dernière instruction? LDR R5, [PC, #-8] B main ; Et on recommence! SECTION DATA ; Question: quelle est l'adresse de la variable tableau? tableau ASSIGN32 0x1234, 0x4567, 0x89AB, 0xCDEF

Instruction courante

Mémoire

Suivre PC
Cycle courant :