NSI (terminale) · Chapitre 15 · Exercice d'entraînement
Écrire un assembleur
Histoire de l'informatique · Langages et réseaux · niveau 2
Énoncé
Écrire un assembleur. Sur une machine de 1948, une instruction est un couple de nombres (code, adresse), avec les codes suivants : pour CHARGE (copier une case mémoire dans l'accumulateur), pour RANGE (copier l'accumulateur dans une case), pour AJOUTE et pour SOUSTRAIT (ajouter ou soustraire une case à l'accumulateur). Les variables X, Y, Z et W occupent les cases , , et .
- Que fait le programme
1 20 3 21 2 22? - Écrire en nombres, puis en mnémoniques d'assembleur, le programme qui calcule .
- Écrire une fonction
assembler(source, adresses)qui traduit un texte comme"CHARGE X ; AJOUTE Y ; RANGE Z"en la liste de nombres correspondante,adressesétant le dictionnaire des cases des variables. - En FORTRAN (1957), on écrit simplement
Z = X + Y - W. Quel programme fait alors le travail de traduction ? Pourquoi son succès était-il loin d'être acquis ?
Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.