push avant de manger
This commit is contained in:
@@ -33,6 +33,7 @@ int calculer_position(int posActuelle, short int modeAddr, short int valeur, str
|
||||
}
|
||||
|
||||
void execute_instruction(union mars_instruction instruction, int player, struct adresse memoire[TAILLE_MEM], int positions[2]){
|
||||
/* Permet d'executer les instructions des virus */
|
||||
short int operation = instruction.instruct.codeOp; /* Pour rendre le code un peu plus lisible */
|
||||
int position = positions[player];
|
||||
printf("Position dans le exec: %d\n", position);
|
||||
@@ -97,7 +98,10 @@ void execute_instruction(union mars_instruction instruction, int player, struct
|
||||
}
|
||||
|
||||
case SUB:{
|
||||
|
||||
int premiere_valeur;
|
||||
int first_pos, next_pos;
|
||||
union mars_instruction first_instruction, next_instruction;
|
||||
|
||||
}
|
||||
case JMP: {
|
||||
short int modeadresse = instruction.instruct.modeAddrA;
|
||||
|
@@ -1,11 +1,13 @@
|
||||
#ifndef MARS_TYPES_H
|
||||
#define MARS_TYPES_H
|
||||
|
||||
/* Structure utilisée pour la ram */
|
||||
struct adresse {
|
||||
int player;
|
||||
int player; /* Permet de différencier les joueurs */
|
||||
long long instruction; /* Instruction en long long */
|
||||
};
|
||||
|
||||
/* Permet de transformer le long long en une structure et inversement. Cela nous permet de travailler plus rapidement sur la compilation des virus */
|
||||
union mars_instruction {
|
||||
long long instructLL;
|
||||
struct
|
||||
@@ -22,6 +24,8 @@ union mars_instruction {
|
||||
/* Listes des opérations possibles */
|
||||
|
||||
enum liste_operations {DAT, MOV, ADD, SUB, JMP, JMZ, JMG, DJZ, CMP};
|
||||
|
||||
/* Les différents types d'adressages utilisés par les fichiers des virus non compilés */
|
||||
enum modes_adressage {IMMEDIAT, DIRECT, INDIRECT};
|
||||
|
||||
#endif
|
@@ -13,4 +13,10 @@ Dépot de la saé de dev 1.1: Corewar
|
||||
On a travaillé sur la partie qui vient décoder le fichier .butt en instructions lisibles par le programme MARS.
|
||||
Pour cela on a utilisé un `union` qui nous permet d'utiliser le type `struct` pour rendre plus facile la création des instructions en "binaire" et le décodage des instructions.
|
||||
|
||||
Il se peut que les instructions ne soient pas traduites de la même façon que dans les exemples envoyés dans le fil SAÉ.
|
||||
Il se peut que les instructions ne soient pas traduites de la même façon que dans les exemples envoyés dans le fil SAÉ.
|
||||
|
||||
# Qu'est-ce qu'il manque pour que le projet fonctionne parfaitement ?
|
||||
|
||||
Pour que le projet fonctionne parfaitement, il faudrait que la partie compilation puisse mieux traduire le fichier `.ass`. Il nous manque aussi une fonction pour écrire les décimauux dans un fichier `.mars`.
|
||||
|
||||
La fonction qui lit le fichier `.mars` n'a pas pu être vraiment implémentée pour l'instant.
|
Reference in New Issue
Block a user