# Cahier des charges
## Contexte
Dans le cadre du cours de *conception OS* de 3e année en *Développement logiciel et multimédia* à la HE-Arc , il est demandé de réaliser un projet parmi une liste proposé. Le projet est supervisé par M. Cortinovis.
Le choix du projet c’est porté sur la proposition numéro 9: *Assembleur / moniteur pour un mini processeur didactique.*
## Objectifs
Le projet a pour but de permettre à un utilisateur d’observer l’exécution d’un code assembleur pas à pas. Pour ce faire une simulation de processeur doit être créée ainsi qu’un assembleur.
### Principaux
- définir les instructions du CPU
- définir l’espace dédié au registre (16 x 1 octet)
- définir l’espace dédié à la mémoire (256 x 1 octet)
- lecture d’un fichier binaire
- générer un fichier binaire depuis un fichier assembleur
- implémenter la lecture pas à pas
- implémenter un affichage console
- afficher les registres
- afficher la mémoire
- afficher la queue des instructions avec un pointeur sur l’instruction courante
### Secondaire
- mettre en avant la dernière case mémoire modifiée
- permettre de changer le suivie du pointeur entre libre ou focus
- permettre à l’utilisateur de choisir à quelle adresse mémoire les instructions doivent commencer
## Calendrier
| Date | Description |
|:---------------:|:---------------------------------:|
| 13 janvier 2022 | Choix et initialisation du projet |
| 17 avril 2022 | Rendu final |