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 
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 
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.