45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# Processeur sécurisé - Interpreteur
|
|
|
|
|
|
|
|
Afin de pouvoir tester le code que nous avons compilé depuis le C avec notre compilateur, nous avons crée un interpreteur pour simuler l'execution du code assembleur
|
|
|
|
# Utilisation du cross assembleur
|
|
|
|
Un Makefile a été inclus au sous module Interpreteur afin de simplifier son utilisation. Ainsi, afin de compiler tout l'Interpreteur, il suffit de de rentrer la commande.
|
|
``` bash
|
|
make build
|
|
```
|
|
Pour lancer l'Interpretation du code qui aura été préalablement généré avec notre compilateur, il suffit de lancer la commande
|
|
``` bash
|
|
cat FicherASM | ./rondoudou_interpreter
|
|
```
|
|
Les prints et gets du programme auront lieu dans le terminal.
|
|
|
|
|
|
|
|
NB : Il est possible de rester au niveau du projet général. Un Makefile est aussi présent. Pour compiler l'Interpreteur uniquement :
|
|
``` bash
|
|
make compile QUOI="interpreteur"
|
|
```
|
|
Pour compiler le projet en entier :
|
|
``` bash
|
|
make compile QUOI="all"
|
|
```
|
|
|
|
Pour interpreter le fichier ***file_name.memasm*** :
|
|
``` bash
|
|
make exec SOURCE="file_name" QUOI="interprete"
|
|
```
|
|
Pour compiler, cross assembler et interpreter le fichier ***file_name.c*** et générer les fichiers ***file_name.memasm***, ***file_name.regasm***, ***file_name.bin***, et, copier le code binaire dans le fichier ***../Processeur/Processeur.srcs/sources1/new/MemoireInstructions.vhd*** :
|
|
``` bash
|
|
make exec SOURCE="file_name" QUOI="all"
|
|
```
|
|
|
|
# Implémentation
|
|
|
|
L'implémentation a été réalisée grâce à Lex/Yacc. Le parseur charge le programme dans un buffer, puis une méthode d'execution est lancée.
|
|
|
|
|
|
|
|
|