Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives
 

Objectif : Compréhension du fonctionnement d’un processeur virtuel et mise en  applications des concepts d’analyse lexical, grammaticale et des concepts de compilation.

Ce projet a été pour moi l'occasion d'approfondir quelques concepts bas niveau toujours utiles à un moment donnée dans la vie de l’informaticien développeur.

 

Quelques petits exemples d'utilisation

Les multiples sous objectifs de ce programme étaient :

  1. Ecriture d’un processeur à registres virtuel 8 bits aux spécifications plutôt restreintes :
  • 4 Registres ax, bx, cx, dx adressables
  • 1 pointeur d’instructions
  • 256 octets de mémoire
  • 1 Pile
  1. Un jeu d’instructions assez rudimentaires mais largement suffisant pour s’amuser.
  2. Un interpréteur pour exécuter le programme en mode interprété.
  3. Langage dont les mots clef peuvent changer de langue dynamiquement
  4. Un compilateur vers le bytecode utilisé par le processeur virtuel
  5. Exécution du programme en mode interprété et compilé
  6. Transformation en binaire réutilisable.
  7. Disposer d'un Pas à pas pour debugger les programmes.
  8. Afficher l'état du processeur virtuel visuellement.
  9. Un langage de programmation de type Basic / Logo proposant a minima :
  • Des variables, chaines de caractères
  • Des Boucles
  • Des Tests conditionnel
  • Branchement sur labels
  • Des appels à des sous-routines
  • Instructions de dessin simples :
    1. lignes,
    2. rectangle,
    3. déplacement de curseur graphique.
    4. Changement de couleurs
  • Des Instruction de calculs simples ADD, SUB, MUL DIV.
  • Changement de langage à la volée.
  • Avoir une sortie graphique avec un "outil " pilotable en vitesse, position absolue, relative.

 

 

Vous n'avez pas le droit de poster des commentaires