diff --git a/post-process.py b/post-process.py index 1533f11..3e51cd9 100644 --- a/post-process.py +++ b/post-process.py @@ -19,8 +19,43 @@ opToBinOP = { def convertToRegister(s): l = [] match s[0]: - case "AFC" : - # TODO + case "ADD": + l.append("LOAD R0 "+s[2]) + l.append("LOAD R1 "+s[3]) + l.append("ADD R0 R0 R1") + l.append("STORE "+s[1]+" R0") + case "MUL": + l.append("LOAD R0 "+s[2]) + l.append("LOAD R1 "+s[3]) + l.append("MUL R0 R0 R1") + l.append("STORE "+s[1]+" R0") + case "SUB": + l.append("LOAD R0 "+s[2]) + l.append("LOAD R1 "+s[3]) + l.append("SUB R0 R0 R1") + l.append("STORE "+s[1]+" R0") + case "DIV_INT": + l.append("LOAD R0 "+s[2]) + l.append("LOAD R1 "+s[3]) + l.append("DIV R0 R0 R1") + l.append("STORE "+s[1]+" R0") + case "COP": + l.append("LOAD R0 "+s[2]) + l.append("STORE "+s[1]+" R0") + case "AFC": + l.append("AFC R0 "+s[2]) + l.append("STORE "+s[1]+" R0") + case "JMP": + pass + case "JMF": + pass + case "INF": + l.append("LOAD R0 "+s[2]) + l.append("LOAD R1 "+s[3]) + l.append("SUB R1 ") + + + return l fileInput = open("asm", "r")