Variante de Corewar : machine virtuelle en C simulant des robots programmés dans un langage assembleur dédié.
Telecharger & tester
- WebAssembly: Testable directement dans le navigateur ci-dessus.
make && ./asm fichier.s (assembleur/desassembleur pour le langage Corewar/champvision)
Robot Factory est un projet Epitech de Tek1 (solo) qui constitue le premier volet du cycle Corewar : il s'agit d'ecrire en C un assembleur (binaire nomme asm) qui traduit des fichiers de champions ecrits dans un langage assembleur dedie en bytecode executable par le programme de tournoi Corewar, ce dernier n'etant pas a developper.
Dans Corewar, plusieurs programmes appeles champions s'affrontent en partageant la memoire virtuelle d'un meme processeur ; le dernier champion capable d'executer l'instruction live remporte la partie. Le role de l'assembleur se limite strictement a la traduction texte vers binaire : comprendre chaque instruction, ses parametres et leurs modes (registre, indirect, direct) pour produire le fichier bytecode correspondant.
Un fichier champion (.s) comporte un en-tete avec un nom (.name) et une description (.comment), suivi d'un corps constitue d'instructions une par ligne, elles-memes decomposees en un opcode et ses parametres. Des labels, marques par le caractere ':', servent de points de repere dans le code, et les commentaires debutent par un '#' pouvant apparaitre n'importe ou.
Le jeu d'instructions comprend 16 opcodes normalises (live, ld, st, add, sub, and, or, xor, zjmp, ldi, sti, fork, lld, lldi, lfork, aff), dont le comportement precis, y compris la modification eventuelle du carry, est fixe par les fichiers imposes op.c et op.h a integrer au rendu ; ces fichiers sont eux aussi soumis a la verification du style de code malgre leur origine externe.
Projet suivant
