From 88cc4fe7e7d9d2d37d9e298771942ed9bd8d82c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20LACROIX?= Date: Thu, 4 May 2023 12:15:28 +0200 Subject: [PATCH] first draft of the script to translate the code --- post-process.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 post-process.py diff --git a/post-process.py b/post-process.py new file mode 100644 index 0000000..1533f11 --- /dev/null +++ b/post-process.py @@ -0,0 +1,37 @@ +opToBinOP = { + "ADD": 1, + "MUL": 2, + "SUB": 3, + "DIV_INT": 4, + "COP": 5, + "AFC": 6, + "JMP": 7, + "JMF": 8, + "INF": 9, + "SUP": 10, + "EQ": 11, + "PRI": 12, + "AND": 13, + "OR": 14, + "NOT": 15 +} + +def convertToRegister(s): + l = [] + match s[0]: + case "AFC" : + # TODO + + +fileInput = open("asm", "r") +ASMLines = list(map(lambda e: e.rstrip("\n"), fileInput.readlines())) +print(ASMLines) +finalCode = [] +for i, l in enumerate(ASMLines): + items = l.split(" ") + finalCode.extend(convertToRegister(items)) + # idée pour les jumps : quand on voit un jump à la ligne tant on peut ajouter un label là-bas + +# - trucs en registre +# - décaler les Jumps +# - COP -> OPCode