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

Accès mémoire avec variable (2)

Petit programme pour analyser la façon dont l'assembleur gère les variables.

Questions et réponses:

  • À quelle adresse se situe cette instruction? À l'adresse 0x84 (PC = 0x8C, donc PC - 8 = 0x84).
  • Quel est le contenu mémoire (sur 32 bits) à cette adresse? 0xE51F0004, soit le code binaire correspondant à l'instruction.
  • Quel est le contenu mémoire (sur 32 bits) à l'adresse subséquente? 0x00000080, soit l'adresse de maVariable.
  • Par quoi l'assembleur remplace-t-il cette instruction? Selon la case "instruction courante", il la remplace par LDR R0, [R15, -0x4], soit une instruction relative à PC, qui indique de lire le contenu mémoire à l'adresse subséquente (qui contient l'adresse de maVariable)!

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 ; Allouons une variable (adresse 0x80) maVariable ASSIGN32 0x1 main ; Questions: ; - à quelle adresse se situe cette instruction? ; - quel est le contenu mémoire (sur 32 bits) à cette adresse? ; - quel est le contenu mémoire (sur 32 bits) à l'adresse subséquente? ; - par quoi l'assembleur remplace-t-il cette instruction? LDR R0, =maVariable SECTION DATA

Instruction courante

Mémoire

Suivre PC
Cycle courant :