Compilation
2000-01
Devoir
On veut pouvoir écrire le classique et inévitable programme qui
affiche à l'écran le message Hello world.
On rajoutera donc au langage mil_0 une instruction
MESSAGE qui affiche une chaîne de caractères ainsi
qu'une instruction SAUTDELIGNE qui affiche un retour chariot
(chaîne "\n"
).
L'instruction MESSAGE "Hello world" engendrera la séquence
de code suivante :
.data
s100: .asciiz "Hello world"
.text
XXXX: li $2, 4
la $4, s100
syscall
où s100 est une étiquette engendrée automatiquement et
XXXX est l'éventuelle étiquette associée à
l'instruction.
L'instruction SAUTDELIGNE engendrera la séquence
de code suivante :
XXXX: li $2, 4
la $4, s000
syscall
où s000 est l'étiquette de la chaîne "\n"
et XXXX est l'éventuelle étiquette associée à
l'instruction.
On aura pris soin de ne pas oublier de déclarer s000 en
début de code engendré (par exemple, aprés la déclaration de
MEM).
Question : donnez et implantez les modifications à apporter
au code source de mil_0 pour pouvoir analyser, interpréter
et engendrer le code de programmes mil_0 intégrant ces
nouvelles instructions.
Réponse : votre travail doit être achevé pour le
mercredi 25 avril au plus tard. Les réponses postérieures ne
seront pas considérées.
Sur vos comptes à l'IP, vous créerez un répertoire
mil_0s contenant les sources de la version augmentée de
mil_0 ainsi qu'un fichier texte documentant les
modifications que vous avez apportées. Votre version doit être
compilable en utilisant la commande make.
Pour illustrer le bon fonctionnement de votre processus de
compilation, vous modifierez les programmes mil du
sous-répertoire ex en utilisant la possibilité d'affichage de messages (invite de saisie, commentaire des sorties,
etc.)
Ceci fait, vous m'adresserez un courrier mentionnant votre nom et
votre ``userid''.
N'oubliez pas de me donner accés en lecture à l'ensemble des
fichiers composant votre composition.
Je vous rappelle mon adresse électronique :
Pascal.Manoury@pps.jussieu.fr
This document was translated from LATEX by HEVEA.