7. La mémoire : le carnet de l’ordinateur
Enregistrez un octet et relisez-le réellement après avoir remplacé R0.
Ouvrir cette leçon →
1. Prévoir et tracer
Avant d’exécuter le programme d’essai, prévoyez sa sortie et tracez les trois premières instructions exécutées. Suivez les registres, les indicateurs ou la mémoire pertinents, selon le besoin. Avancez ensuite pas à pas pour comparer.
LOAD 42
STORE 0
LOAD 99
STORE 1
LOAD 0
LOAD [0]
PRINT
LOAD [1]
PRINT
HALT
Ajouter les entrées à la file: Aucune
Initialiser la mémoire: Tous les octets sont initialement nuls
Corrigé de la prédiction d’essai
Sortie: 42, 99
2. Construire et vérifier
Lisez une entrée de 0 à 255, enregistrez-la à l’adresse mémoire 10, mettez R0 à zéro, puis relisez la valeur en mémoire et affichez-la.
Types d’instructions requis: INPUT, STORE, LOAD
Exemple de solution du défi
INPUT
STORE 10
LOAD 0
LOAD [10]
PRINT
HALT
Cas réels du vérificateur
Cas 1
- Entrée
9- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
9- Mémoire finale attendue
10: 9- Lectures mémoire requises
10
Cas 2
- Entrée
42- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
42- Mémoire finale attendue
10: 42- Lectures mémoire requises
10
Cas 3
- Entrée
127- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
127- Mémoire finale attendue
10: 127- Lectures mémoire requises
10
3. Expliquer la machine
Quel code lit la mémoire 10 et lequel charge le nombre 10 ?
Raisonnement et note pédagogique
LOAD [10] lit l’octet ; LOAD 10 charge un littéral. STORE puis la relecture préservent l’octet au-delà du remplacement de R0.
8. Des adresses dans les registres
Utilisez une adresse comme donnée et consultez une table.
Ouvrir cette leçon →
1. Prévoir et tracer
Avant d’exécuter le programme d’essai, prévoyez sa sortie et tracez les trois premières instructions exécutées. Suivez les registres, les indicateurs ou la mémoire pertinents, selon le besoin. Avancez ensuite pas à pas pour comparer.
STORE 12 0
STORE 99 7
LOAD 7 R1
LOAD [R1]
PRINT
HALT
Ajouter les entrées à la file: Aucune
Initialiser la mémoire: 0: 12
Corrigé de la prédiction d’essai
Sortie: 99
2. Construire et vérifier
Lisez une adresse avec INPUT, copiez-la dans R1, récupérez l’octet préparé à cette adresse et affichez-le. Le vérificateur change l’adresse et la valeur enregistrée.
Types d’instructions requis: INPUT, COPY, LOAD
Exemple de solution du défi
INPUT
COPY R0 R1
LOAD [R1]
PRINT
HALT
Cas réels du vérificateur
Cas 1
- Entrée
0- Mémoire initiale
0: 12- Sortie attendue
12- Lectures mémoire requises
0
Cas 2
- Entrée
7- Mémoire initiale
7: 99- Sortie attendue
99- Lectures mémoire requises
7
Cas 3
- Entrée
255- Mémoire initiale
255: 88- Sortie attendue
88- Lectures mémoire requises
255
3. Expliquer la machine
Quelle est la différence entre LOAD R1 et LOAD [R1] si R1 = 7 et mémoire 7 = 99 ?
Raisonnement et note pédagogique
Le premier lit 7 dans le registre ; le second lit 99 à l’adresse 7.
9. Octets et limites
Découvrez pourquoi la mémoire réduit les valeurs mais pas les registres.
Ouvrir cette leçon →
1. Prévoir et tracer
Avant d’exécuter le programme d’essai, prévoyez sa sortie et tracez les trois premières instructions exécutées. Suivez les registres, les indicateurs ou la mémoire pertinents, selon le besoin. Avancez ensuite pas à pas pour comparer.
LOAD 256
PRINT
STORE 255
LOAD [255]
PRINT
LOAD -1
STORE 255
LOAD [255]
PRINT
HALT
Ajouter les entrées à la file: Aucune
Initialiser la mémoire: Tous les octets sont initialement nuls
Corrigé de la prédiction d’essai
Sortie: 256, 0, 255
2. Construire et vérifier
Lisez un entier, enregistrez-le à l’adresse 255, relisez l’octet obtenu et affichez-le. Ne remplacez pas ce traitement par une réponse fixe.
Types d’instructions requis: INPUT, STORE, LOAD
Exemple de solution du défi
INPUT
STORE 255
LOAD [255]
PRINT
HALT
Cas réels du vérificateur
Cas 1
- Entrée
255- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
255- Mémoire finale attendue
255: 255- Lectures mémoire requises
255
Cas 2
- Entrée
256- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
0- Mémoire finale attendue
255: 0- Lectures mémoire requises
255
Cas 3
- Entrée
-1- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
255- Mémoire finale attendue
255: 255- Lectures mémoire requises
255
Cas 4
- Entrée
511- Mémoire initiale
Tous les octets sont initialement nuls- Sortie attendue
255- Mémoire finale attendue
255: 255- Lectures mémoire requises
255
3. Expliquer la machine
Pourquoi peut-on stocker la valeur 256 à l’adresse 255, alors que l’adresse 256 est invalide ?
Raisonnement et note pédagogique
La donnée est réduite à un octet : 256 → 0. Les adresses sont limitées séparément à 0–255 et ne bouclent jamais.