Skip to content
Snippets Groups Projects
README.md 3.04 KiB
Newer Older
# SAE 5.A.01 Manuelle d'utilisation

## Liverable 1

Ce livrable décode le code assembleur risc-v donné et donne les instructions décodées.
Les instructions décodées sont affichées dans le format suivant :

```csv
offset, word, opcode, encoding
```

Pour le démarer, lancez les commandes suivantes depuis la racine du projet:

```bash
docker build -t liverable1 -f Dockerfile.l1 .
docker run -it --rm liverable1
```

La commande par défaut est '-h', qui affiche le message d'aide.
Un fichier de test est fourni, pour le lancer, exécutez la commande suivante :

```bash
docker run -it --rm liverable1 res/test_files/decode/decode_riscv_test_file.bin
```

## Liverable 2

Ce livrable désassemble le code assembleur risc-v donné et donne les instructions désassemblées.
Les instructions désassemblées sont affichées dans le format suivant :

```
offset: disassembled_instruction    parameters  // imm in hex if there is one
```

Pour le démarer, lancez les commandes suivantes depuis la racine du projet :

```bash
docker build -t liverable2 -f Dockerfile.l2 .
docker run -it --rm liverable2
```

La commande par défaut est '-h', qui affiche le message d'aide.
Un fichier de test est fourni, pour le lancer, exécutez la commande suivante :

```bash
docker run -it --rm liverable2 res/test_files/disas/disas_test_all_commands.bin
```

## Liverable 3

Ce livrable est un émulateur pour le code assembleur risc-v donné.
L'émulateur exécute le code assembleur risc-v donné.
Ce livrable n'implémente pas le semihosting.

Pour l'exécuter, lancez les commandes suivantes depuis la racine du projet :

```bash
docker build -t liverable3 -f Dockerfile.l3 .
docker run -it --rm liverable3
```

La commande par défaut est '-h', qui affiche le message d'aide.
Un fichier de test est fourni. À la fin de ce test, il est attendu qu'en tapant x/4 10000, la sortie soit '29 af 52 47'.
Pour lancer le fichier de test, exécutez la commande suivante :

```bash
docker run -it --rm liverable3 -pc 0x100 res/test_files/emulator/crc.bin
```

Comme cet émulateur est codé en Python, il est assez lent, donc laissez-lui un peu de temps pour terminer.

## Liverable 4

Ce livrable est un émulateur pour le code assembleur risc-v donné.
L'émulateur exécute le code assembleur risc-v donné.
Ce livrable implémente le semihosting.

Pour l'exécuter, lancez les commandes suivantes depuis la racine du projet :

```bash
docker build -t liverable4 -f Dockerfile.l4 .
docker run -it --rm liverable4
```

La commande par défaut est '-h', qui affiche le message d'aide.
Un fichier de test est fourni. À la fin de ce test, il est attendu qu'en tapant x/4 10000, la sortie soit '29 af 52 47'.
Pour lancer le fichier de test, exécutez la commande suivante :

```bash
docker run -it --rm liverable4 -pc 0x100 res/test_files/emulator/crc.bin
```

Pour tester le semihosting, vous pouvez utiliser chaque fichier du répertoire `res/test_files/emulator/rv32ui'.

```bash
docker run -it --rm liverable4 res/test_files/emulator/rv32ui/add.bin
docker run -it --rm liverable4 res/test_files/emulator/rv32ui/addi.bin
...
```