Adloun

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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre