Compilateur pour le projet « processeur R3000 » du Master CAMSI
Copyright © 2004, 2005 Cédric VINCENT
Résumé
Ce document est un tutoriel pour le compilateur R3KCompiler. Cet outils permet de générer, à partir d'un code en langage évolué, du code assembleur compatible avec les outils du projet « Processeur MIPS R3000 » du Master CAMSI.
Téléchargez R3KCompiler ici : R3KCompiler
Table des matières
Comme en C, toutes les variables doivent être déclarées avant leur utilisation. Cependant la syntaxe de ce langage est telle que toutes les variables sont du type entier signé 32 bits. Il est donc inutile de préciser un type... J'entends déjà les mauvaises langues dire « mais qu'est que c'est ce langage tout pourri... », je leur répondrais :
- ce projet est libre, donc s'il ne vous convient pas, modifiez le !
- ce projet est avant tout un « proof of concept », pour montrer que notre processeur « fait maison » peut exécuter des algorithmes sympathiques, et pas seulement des additions ou autres.
- en 3 jours, je ne pouvais pas faire mieux, surtout que je n'avais presque jamais programmé en Perl...
Revenons-en à nos moutons, voilà comment déclarer des variables, avec une valeur par défaut :
iterator = 1 temp1 = 2 temp2 = 0 temp3 = 5
Vous avez dû remarquer qu'il n'y avait pas de « ;
» en fin de ligne. En fait la syntaxe de ce langage n'autorise qu'une seule opération par ligne[1]. Pour faire une addition par exemple, on peut écrire :
temp2 = temp1 + 2
Mais on ne peut pas faire :
iterator = temp + 4 - 2
Pour mettre en commentaire une ligne, il suffit de la faire commencer par //
.