The even more pedagogical system : apprendre l'assembleur
Go to file
Horde Nicolas e1fff75fc1 Ajout de...ouverture/fermeture de scénario, (des)activation des menus, fenêtre de code, titre des sections 2021-07-17 23:37:34 +02:00
.gitignore Lancement de la version de production sans Docker, lancement avec Xterm...ajout de la visualisation de la pile 2021-07-15 23:29:31 +02:00
Dockerfile Compilation statique ! 2021-07-16 13:14:48 +02:00
Makefile Mode déboguage depuis des arguments de la ligne de commande 2021-07-16 19:42:49 +02:00
README.md Changement du readme.md 2021-07-17 08:52:57 +02:00
ia86.cpp Ajout de...ouverture/fermeture de scénario, (des)activation des menus, fenêtre de code, titre des sections 2021-07-17 23:37:34 +02:00
ia86.h Ajout de...ouverture/fermeture de scénario, (des)activation des menus, fenêtre de code, titre des sections 2021-07-17 23:37:34 +02:00
scenarios.json Ajout de...ouverture/fermeture de scénario, (des)activation des menus, fenêtre de code, titre des sections 2021-07-17 23:37:34 +02:00
start.sh Ajout de...ouverture/fermeture de scénario, (des)activation des menus, fenêtre de code, titre des sections 2021-07-17 23:37:34 +02:00

README.md


 █████   █████████    ████████    ████████ 
░░███   ███░░░░░███  ███░░░░███  ███░░░░███
 ░███  ░███    ░███ ░███   ░███ ░███   ░░░ 
 ░███  ░███████████ ░░████████  ░█████████ 
 ░███  ░███░░░░░███  ███░░░░███ ░███░░░░███
 ░███  ░███    ░███ ░███   ░███ ░███   ░███
 █████ █████   █████░░████████  ░░████████ 
░░░░░ ░░░░░   ░░░░░  ░░░░░░░░    ░░░░░░░░ 
THE EVEN MORE PEDAGOGICAL SYSTEM !!

Episode 1 : Apprendre l'assembleur X86

Descriptif

IA86 est un logiciel pour apprendre l'assembleur et la programmation système. Celui-ci se présente sous la forme d'un jeu assorti de plusieurs niveaux à la difficulté croissante. Progressivement le joueur acquier les concepts fondamentaux de l'informatique système au travers des différents défis à relever. Une machine virtuelle permet de vérifier que le code écrit par le joueur rempli les objectifs du niveau.

Structure

Ecrit en C++, IA86 s'appuie sur la célèbre trilogie de librairies :

L'interface est basée sur un système de fenêtre en terminal afin de préserver un style "ancien système" (librairie FinalCut, f - https://github.com/gansm/finalcut).

Developpement

La compilation du logiciel s'opère par g++ au travers d'un conteneur docker afin d'assurer de disposer d'un environnement de compilation sur mesure et d'une reproductibilité totale. Un makefile permet de centraliser les différentes tâches au sein d'un même fichier.

Pour compiler

make all

Pour lancer le logiciel

make rerun

ou

./start.sh"

En mode déboguage (avec plus d'informations)

make redebug

ou

./start.sh debug"