aaa
This commit is contained in:
14
mars_main.c
14
mars_main.c
@@ -33,14 +33,15 @@ void execute_instruction(union mars_instruction instruction, int player, struct
|
||||
}
|
||||
}
|
||||
case DJZ:
|
||||
|
||||
/* */
|
||||
case CMP:
|
||||
|
||||
/* Compare deux valeurs dans la mémoire */
|
||||
case DAT:
|
||||
|
||||
/* Instruction qui rapporte des données */
|
||||
default:
|
||||
break;
|
||||
}
|
||||
printf("Position après exécution: %d\n", position[player]);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +49,7 @@ int main(int argc, char* argv[]){
|
||||
srand(time(NULL)); /* Initialise le pseudo aléatoire pour tout le programme */
|
||||
|
||||
struct adresse memoire[TAILLE_MEM]; // Initialisation de la mémoire 0->7999
|
||||
int position[2] = {0,0}; /* Position des joueurs */
|
||||
int position[2] = {0,10}; /* Position des joueurs */
|
||||
|
||||
if (argc < 3){
|
||||
printf("Vous n'avez pas rentrez assez d'arguments \n");
|
||||
@@ -80,13 +81,12 @@ int main(int argc, char* argv[]){
|
||||
fclose(fichier2);
|
||||
|
||||
union mars_instruction to_do;
|
||||
to_do.instruct.codeOp = 1;
|
||||
to_do.instruct.ArgA = 7909;
|
||||
to_do.instruct.codeOp = 0;
|
||||
to_do.instruct.ArgA = 753;
|
||||
to_do.instruct.ArgB = 100;
|
||||
to_do.instruct.modeAddrA = 1;
|
||||
to_do.instruct.modeAddrB = 2;
|
||||
printf("Valeur instruction: %lld\n", to_do.instructLL);
|
||||
execute_instruction(to_do, 1, memoire, position);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
10
mars_types.h
10
mars_types.h
@@ -10,12 +10,12 @@ union mars_instruction {
|
||||
long long instructLL;
|
||||
struct
|
||||
{
|
||||
unsigned char codeOp;
|
||||
unsigned char modeAddrA;
|
||||
unsigned char modeAddrB;
|
||||
unsigned char case_remplissage; /* Permet d'éviter un décalage dans le fichier */
|
||||
short int ArgA;
|
||||
short int ArgB;
|
||||
short int ArgA;
|
||||
unsigned char modeAddrB;
|
||||
unsigned char modeAddrA;
|
||||
unsigned char case_remplissage; /* Permet d'éviter un décalage dans le fichier */
|
||||
unsigned char codeOp;
|
||||
} instruct;
|
||||
};
|
||||
|
||||
|
@@ -12,3 +12,5 @@ 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É.
|
Reference in New Issue
Block a user