Ce programme écrit en C
permet de simuler et visualiser l'exécution
d'un programme écrit en machine RAM.
Cette nouvelle version sera principalement utilisée dans le cadre du
module d'I53.
La partie d'entrée sortie est gérée avec la librairie ncurses
Utilisation: ram [-hm] [-e "x1, x2, ..., xn"] fichier.ram
avec x1, x2, ..., xn
les entiers à placer sur la bande d'entrée
(peuvent également être séparés simplement par des espaces).
Le fichier.ram
doit respecter la syntaxe suivante:
- une ligne ne doit pas faire + de 1024 caractères
- une seule instruction par ligne
- une instruction peut-être précédée de plusieurs espaces/indentations, afin de rendre possible une forme d'indentation (pour rendre + lisible les blocs de JUMP par exemple)
- le type d'adressage doit être séparé de l'instruction par au moins un espace (il peut y en avoir plusieurs).
- l'adresse peut-être collée au type d'adressage, ou bien séparée de ce dernier par un ou plusieurs espaces.
- tout ce qui est situé à droite d'un
;
sur la même ligne qu'une instruction est un commentaire - il peut y avoir des lignes vides
- toutes les lignes commençant par un caractère non-alphabétique autre qu'un espace ou une tabulation est un commentaire
Les raccourcis clavier qui sont implémenté pour l'instant sont:
q
pour quitter le programmep
pour mettre en pause l'exécution du programmen
pour passer à l'instruction suivante lorsque le programme est en pause+
et-
pour augmenter / diminuer le délai entre l'exécution de 2 instructions