Reprenons l'exemple de l'addition de la démonstration précédente. Cette fois, plus besoin de connaître les adresses des variables!
Questions et réponses:
Que contiennent R1 et R2? R1 contient la valeur de premiereValeur (0x1) et R2 la valeur de deuxiemeValeur (0x2).
Quel est le contenu de R1? R1 contient la somme des valeurs des variables, soit 0x1+0x2 = 0x3.
Quelle est l'adresse de resultat? Pour le voir, essayez de faire LDR R3, =a. L'adresse de a est 0x1008.
Est-ce que le système est en « Big Endian » ou « Little Endian »? « Little Endian », car l'octet le moins significatif est placé à l'adresse la plus basse en mémoire.
Activer
Type
cycles
cycles (premier)
Vitesse d'exécution : ms
Français
SECTION INTVEC
B main
SECTION CODE
main
LDR R1, premiereValeur ; charger la valeur de premiereValeur
LDR R2, deuxiemeValeur ; charger la valeur de deuxiemeValeur
; Question:
; - Que contiennent R1 et R2?
ADD R1, R1, R2 ; R1 = R1 + R2
; Question:
; - Quel est le contenu de R1?
STR R1, resultat ; stocker R1 dans resultat
; Questions:
; - Quelle est l'adresse de resultat?
; - Visualisez son emplacement en mémoire
; - Est-ce que le système est en « Big Endian » ou « Little Endian »?
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