Adloun

Voici un programme machine

Exercice d'entraînement · niveau 2 · NSI (première), chapitre 9 — Machines, systèmes et réseaux · Circuits et langage machine

Énoncé

Voici un programme machine. La case contient , la case contient .


CHARGE    R1, 50
CHARGE    R2, 51
SOUSTRAIT R1, R2
RANGE     R1, 52
CHARGE    R1, 52
AJOUTE    R1, R2
RANGE     R1, 53

Corrigé

1. R1, R2, puis R1 et ; la ligne 5 recharge dans R1 (qui le contenait déjà), la ligne 6 donne R1, et .

2. Elles sont inutiles ici : RANGE n'efface pas le registre, et CHARGE R1, 52 y remet exactement ce qui s'y trouvait. Les supprimer donne le même résultat en cinq instructions au lieu de sept.

Elles ne seraient plus inutiles si une autre instruction modifiait R1 entre-temps, ou si un autre programme pouvait écrire en — mais le modèle est séquentiel, et rien de tel ne se produit.

3. , toujours : le programme recopie en , par un détour. Il est correct pour toutes les valeurs de , y compris négatives.

Piège : croire que RANGE « vide » le registre. Elle en copie le contenu ; le registre reste inchangé. C'est la même distinction qu'entre b = a et un déplacement, au chapitre 4.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.