13. Les boucles : répéter des actions
Associez LOOP à RETURN et gérez correctement zéro répétition.
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 8
LOOP 4
PRINT
RETURN
HALT
Ajouter les entrées à la file: Aucune
Initialiser la mémoire: Tous les octets sont initialement nuls
2. Construire et vérifier
Lisez un nombre de répétitions de 0 à 5. Affichez 8 exactement ce nombre de fois, puis arrêtez le programme.
Types d’instructions requis: INPUT, LOOP, PRINT, RETURN
Programme de départ
INPUT
COPY R0 R1
LOAD 8
LOOP R1
#
RETURN
HALT
Votre programme et vos notes
3. Expliquer la machine
Combien de fois LOOP 0 exécute-t-il son corps ?
14. Construire un compteur
Affichez de 1 à 10, puis généralisez le comptage.
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 5
again: PRINT
SUB 1
JUMP_IF_ZERO done
JUMP again
done: HALT
Ajouter les entrées à la file: Aucune
Initialiser la mémoire: Tous les octets sont initialement nuls
2. Construire et vérifier
Lisez N de 0 à 10 et affichez tous les entiers de 1 à N, dans l’ordre. Pour N = 0, n’affichez rien.
Types d’instructions requis: INPUT, LOOP, ADD, PRINT
Programme de départ
INPUT
COPY R0 R2
LOAD 1 R1
LOOP R2
#
RETURN
HALT
Votre programme et vos notes
3. Expliquer la machine
Quelle différence y a-t-il entre valeur du compteur et nombre de répétitions ?
15. La somme de un à N
Gardez l’accumulateur séparé du compteur de boucle.
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 1 R1
LOAD 0 R2
LOOP 4
LOAD R2
ADD R1
COPY R0 R2
LOAD R1
ADD 1
COPY R0 R1
RETURN
LOAD R2
PRINT
HALT
Ajouter les entrées à la file: Aucune
Initialiser la mémoire: Tous les octets sont initialement nuls
2. Construire et vérifier
Lisez N de 0 à 10. Utilisez une boucle pour afficher la somme 1 + 2 + … + N. Affichez 0 pour N = 0.
Types d’instructions requis: INPUT, LOOP, ADD
Programme de départ
INPUT
COPY R0 R3
LOAD 1 R1
LOAD 0 R2
LOOP R3
#
RETURN
LOAD R2
PRINT
HALT
Votre programme et vos notes
3. Expliquer la machine
Que représente le total après k itérations ?