Files
CoreWar/mars_main.c

68 lines
2.1 KiB
C
Raw Normal View History

2021-12-16 16:24:48 +01:00
#include<stdio.h>
#include<stdlib.h>
2021-12-17 10:36:49 +01:00
#include<string.h>
2021-12-16 16:24:48 +01:00
#include<time.h> /* Utilisé pour obtenir une adresse de démarrage aléatoire */
#include"mars_types.h" /* importe les types utilisés dans le programme */
2021-12-17 10:36:49 +01:00
#include"options.h" /* Inclus les options du programme */
2021-12-17 23:06:57 +01:00
#include"mars_execution.h"
2021-12-17 10:36:49 +01:00
void initialiser_memoire(char* fichier, int player, int positions[2]){
2021-12-17 12:11:49 +01:00
/* Boucle qui vient placer le programme dans la mémoire */
} /* Va initialiser la mémoire en plaçant les deux programmes dans des adresses aléatoires */
2021-12-17 10:36:49 +01:00
2021-12-16 16:24:48 +01:00
int main(int argc, char* argv[]){
2021-12-17 10:36:49 +01:00
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 positions[2] = {0,10}; /* Position des joueurs */
2021-12-16 16:24:48 +01:00
if (argc < 3){
printf("Vous n'avez pas rentrez assez d'arguments \n");
2021-12-17 19:08:59 +01:00
printf("Exemple d'utilisation: %s fichier1.mars fichier2.mars\n", argv[0]);
2021-12-16 16:24:48 +01:00
return EXIT_FAILURE;
} else if (argc > 3){
printf("Vous avez utilisé trop d'arguments \n");
2021-12-17 19:08:59 +01:00
printf("Exemple d'utilisation: %s fichier1.mars fichier2.mars\n", argv[0]);
2021-12-16 16:24:48 +01:00
return EXIT_FAILURE;
}
FILE* fichier1;
FILE* fichier2;
fichier1 = fopen(argv[1], "r");
fichier2 = fopen(argv[2], "r");
if(fichier1 == NULL || fichier2 == NULL){
2021-12-17 19:08:59 +01:00
printf("Erreur d'ouverture sur un des 2 fichiers !\n");
2021-12-16 16:24:48 +01:00
return EXIT_FAILURE;
}
2021-12-16 22:42:33 +01:00
/* To do: faire le programme qui lit le fichier compilé */
2021-12-16 16:24:48 +01:00
fclose(fichier1);
fclose(fichier2);
2021-12-17 10:36:49 +01:00
2021-12-17 19:08:59 +01:00
/* USED FOR DEBUG */
2021-12-17 10:36:49 +01:00
union mars_instruction to_do;
2021-12-17 19:08:59 +01:00
to_do.instruct.codeOp = MOV;
2021-12-17 14:15:33 +01:00
to_do.instruct.ArgA = 753;
2021-12-17 19:08:59 +01:00
to_do.instruct.ArgB = 10;
to_do.instruct.modeAddrA = DIRECT;
to_do.instruct.modeAddrB = DIRECT;
2021-12-17 19:08:59 +01:00
union mars_instruction test_value;
test_value.instruct.codeOp = DAT;
test_value.instruct.ArgB = 80;
memoire[763].instruction = test_value.instructLL;
memoire[763].player = 1;
execute_instruction(to_do, 1, memoire, positions);
2021-12-17 19:08:59 +01:00
/* DEBUG END */
2021-12-16 16:24:48 +01:00
return EXIT_SUCCESS;
}