From 5bc9eab84c2f40e4d7b53b7b80dc031b016256ad Mon Sep 17 00:00:00 2001 From: baillyj Date: Fri, 17 Dec 2021 15:28:36 +0100 Subject: [PATCH] =?UTF-8?q?J'ai=20tout=20r=C3=A9parer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CoreWar/Instruc | Bin 16120 -> 0 bytes CoreWar/Instruc.c | 106 ------------------------------------ CoreWar/Instruc.h | 9 --- CoreWar/Makefile | 14 ----- CoreWar/SAE12_2021 | 1 - CoreWar/core | Bin 16248 -> 0 bytes CoreWar/core.c | 66 ---------------------- CoreWar/core.h | 7 --- CoreWar/main.c | 20 ------- CoreWar/redcode/redcode.ass | 4 -- CoreWar/redcode/virus1.mars | 4 -- CoreWar/redcode/virus2.mars | 4 -- 12 files changed, 235 deletions(-) delete mode 100755 CoreWar/Instruc delete mode 100644 CoreWar/Instruc.c delete mode 100644 CoreWar/Instruc.h delete mode 100644 CoreWar/Makefile delete mode 160000 CoreWar/SAE12_2021 delete mode 100755 CoreWar/core delete mode 100644 CoreWar/core.c delete mode 100644 CoreWar/core.h delete mode 100644 CoreWar/main.c delete mode 100644 CoreWar/redcode/redcode.ass delete mode 100644 CoreWar/redcode/virus1.mars delete mode 100644 CoreWar/redcode/virus2.mars diff --git a/CoreWar/Instruc b/CoreWar/Instruc deleted file mode 100755 index aaed576b20c9b7b7e3feb0c13bd09ee6b7fdc1ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16120 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%0A*kK(+jT|mgVE7!y scRG%Tp9`yj -#include -#include -#include - -#include "Instruc.h" - -void printBits(size_t const size, void const * const ptr) -{ - unsigned char *b = (unsigned char*) ptr; - unsigned char byte; - int i, j; - - for (i = size-1; i >= 0; i--) { - for (j = 7; j >= 0; j--) { - byte = (b[i] >> j) & 1; - printf("%u", byte); - } - } - puts(""); -} - -long parseInst(char* instruction, char* argA, char* argB) { - long binaryInstruction; - - char a[100], b[100]; - - strcpy(a, argA); - strcpy(b, argB); - - if (!strcmp(instruction, "MOV")) binaryInstruction = 1; - else if (!strcmp(instruction, "ADD")) binaryInstruction = 2; - else if (!strcmp(instruction, "SUB")) binaryInstruction = 3; - else if (!strcmp(instruction, "JMP")) binaryInstruction = 4; - else if (!strcmp(instruction, "JMZ")) binaryInstruction = 5; - else if (!strcmp(instruction, "JMG")) binaryInstruction = 6; - else if (!strcmp(instruction, "DJZ")) binaryInstruction = 7; - else if (!strcmp(instruction, "CMP")) binaryInstruction = 8; - else if (!strcmp(instruction, "DAT")) binaryInstruction = 0; - binaryInstruction = binaryInstruction << 2; - - if (strlen(a) > 1) { - if (a[0] == '@') { - binaryInstruction += 2; - a[0] = ' '; - } else if (a[0] != '#') { - binaryInstruction += 1; - } else a[0] = ' '; - } - binaryInstruction = binaryInstruction << 2; - - if (strlen(b) > 1 && strcmp(instruction, "DAT")) { - if (b[0] == '@') { - binaryInstruction += 2; - b[0] = ' '; - } else if (b[0] != '#') { - binaryInstruction += 1; - } else b[0] = ' '; - } - binaryInstruction = binaryInstruction << 28; - - int da = atoi(a) % 8000; - int db = atoi(b) % 8000; - - while (da < 0) da += 8000; - while (db < 0) db += 8000; - - if (strlen(a) > 1) binaryInstruction += (da & 268435455); - binaryInstruction = binaryInstruction << 28; - if (strlen(b) > 1) binaryInstruction += (db & 268435455); - - return binaryInstruction; -} - -int convertFile(char* filename, char* destination) { - FILE* sourceFile = fopen(filename, "r"); - FILE* destFile = fopen(destination, "w"); - - char funcName[4], argA[10], argB[10]; - long code; - - fseek(sourceFile, 0L, SEEK_SET); - - if (sourceFile && destFile) { - while (!feof(sourceFile)) { - fscanf(sourceFile, "%s", funcName); - - strcpy(argA, ""); - strcpy(argB, ""); - - if (!strcmp(funcName, "JMP")) { - fscanf(sourceFile, "%s", argA); - } else if (!strcmp(funcName, "DAT")) { - fscanf(sourceFile, "%s", argB); - } else { - fscanf(sourceFile, "%s %s", argA, argB); - } - - code = parseInst(funcName, argA, argB); - fprintf(destFile, "%ld\n", code); - } - } else return 0; - - fclose(sourceFile); - fclose(destFile); -} \ No newline at end of file diff --git a/CoreWar/Instruc.h b/CoreWar/Instruc.h deleted file mode 100644 index 110701c..0000000 --- a/CoreWar/Instruc.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef CONVERTER_H -#define CONVERTER_H - -void printBits(size_t const size, void const * const ptr); -long parseInst(char* instruction, char* argA, char* argB); - -int convertFile(char* filename, char* destination); - -#endif \ No newline at end of file diff --git a/CoreWar/Makefile b/CoreWar/Makefile deleted file mode 100644 index 7f266ed..0000000 --- a/CoreWar/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -corewar : Instruc.o core.o - gcc -o corewar.out main.c Instruc.o core.o - ./corewar.out - -Instruc.o : Instruc.c Instruc.h - gcc -c Instruc.c - -core.o : core.c core.h - gcc -c core.c - -clean : - rm -f *.o - rm -f redcode/*.mars - rm -f corewar.out \ No newline at end of file diff --git a/CoreWar/SAE12_2021 b/CoreWar/SAE12_2021 deleted file mode 160000 index 7b744c7..0000000 --- a/CoreWar/SAE12_2021 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7b744c7240255188005f7ce6c7eac66b1b12d7b0 diff --git a/CoreWar/core b/CoreWar/core deleted file mode 100755 index 07f5fe05c5e9b29e0a88823d7d5ae9d2ae35e304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16248 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 FKLGgM&tw1q diff --git a/CoreWar/core.c b/CoreWar/core.c deleted file mode 100644 index f9367f1..0000000 --- a/CoreWar/core.c +++ /dev/null @@ -1,66 +0,0 @@ -#include -#include -#include - -#include "core.h" - -int virus1Address, virus2Address; - -int setupViruses(long memory[8000]) { - srand(time(NULL)); - int randAddress = rand() % 8000; - int virusLines = 0; - long instruction; - - virus1Address = randAddress; - - FILE* virusFile = fopen("redcode/virus1.mars", "r"); - - if (virusFile) { - fseek(virusFile, 0L, SEEK_SET); - while (!feof(virusFile)) { - instruction = 0; - fscanf(virusFile, "%ld", &instruction); - memory[(randAddress + virusLines) % 8000] = instruction; - virusLines++; - } - } else { - puts("Could not load Virus 1."); - return 0; - } - - fclose(virusFile); - srand(rand()); - - virusFile = fopen("redcode/virus2.mars", "r"); - - if (virusFile) { - long trash; - while(!feof(virusFile)) { - fscanf(virusFile, "%ld", &trash); - virusLines++; - } - - fseek(virusFile, 0L, SEEK_SET); - - randAddress = (randAddress + rand()) % (8000 - virusLines); - virus2Address = randAddress; - virusLines = 0; - - while (!feof(virusFile)) { - instruction = 0; - fscanf(virusFile, "%ld", &instruction); - memory[(randAddress + virusLines) % 8000] = instruction; - virusLines++; - } - } else { - puts("Could not load Virus 1."); - return 0; - } - - fclose(virusFile); -} - -void execInst(int address, long instruction) { - -} \ No newline at end of file diff --git a/CoreWar/core.h b/CoreWar/core.h deleted file mode 100644 index 22f476e..0000000 --- a/CoreWar/core.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef MARS_H -#define MARS_H - -int setupViruses(long memory[8000]); -void execInst(int address, long instruction); - -#endif \ No newline at end of file diff --git a/CoreWar/main.c b/CoreWar/main.c deleted file mode 100644 index 545b24c..0000000 --- a/CoreWar/main.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include - -#include "Instruc.h" -#include "core.h" - -int main (int argc, char* argv[]){ - long mainMemory[8000] = {}; - convertFile("redcode/redcode.ass","redcode/virus1.mars"); - convertFile("redcode/redcode.ass","redcode/virus2.mars"); - setupViruses(mainMemory); - - for (int i = 0; i < 8000; ++i) { - if (mainMemory[i] != 0) { - printf("%d -> %ld\n", i, mainMemory[i]); - } - } - -} \ No newline at end of file diff --git a/CoreWar/redcode/redcode.ass b/CoreWar/redcode/redcode.ass deleted file mode 100644 index b3c3b5e..0000000 --- a/CoreWar/redcode/redcode.ass +++ /dev/null @@ -1,4 +0,0 @@ -DAT -1 -ADD #57 -1 -MOV #0 @-2 -JMP -2 \ No newline at end of file diff --git a/CoreWar/redcode/virus1.mars b/CoreWar/redcode/virus1.mars deleted file mode 100644 index 119a107..0000000 --- a/CoreWar/redcode/virus1.mars +++ /dev/null @@ -1,4 +0,0 @@ -7999 -2377900618552450879 -1297036692682710846 -4899918541525876736 diff --git a/CoreWar/redcode/virus2.mars b/CoreWar/redcode/virus2.mars deleted file mode 100644 index 119a107..0000000 --- a/CoreWar/redcode/virus2.mars +++ /dev/null @@ -1,4 +0,0 @@ -7999 -2377900618552450879 -1297036692682710846 -4899918541525876736