diff options
| author | 2023-02-11 21:24:48 +0000 | |
|---|---|---|
| committer | 2023-02-11 21:24:48 +0000 | |
| commit | b425e26ea3ff2df3f6b98b475ae870900efaf2e6 (patch) | |
| tree | d134435547ee287f23b237b4be0c14bd353d87a7 /asm/creole.py | |
| parent | rename idiv to sdiv (diff) | |
jump tests
Diffstat (limited to 'asm/creole.py')
| -rw-r--r-- | asm/creole.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/asm/creole.py b/asm/creole.py index 1d98051..4cb4b8c 100644 --- a/asm/creole.py +++ b/asm/creole.py @@ -92,9 +92,14 @@ class Instruction(Enum): MUL = 4, ArgType.REG, ArgType.VAL, ArgType.VAL DIV = 5, ArgType.REG, ArgType.VAL, ArgType.VAL SDIV = 6, ArgType.REG, ArgType.VAL, ArgType.VAL - JL = 7, ArgType.LAB, ArgType.VAL, ArgType.VAL + SYS = 7, ArgType.VAL CLB = 8, ArgType.LAB - SYS = 9, ArgType.VAL + JL = 9, ArgType.LAB, ArgType.VAL, ArgType.VAL + JLE = 10, ArgType.LAB, ArgType.VAL, ArgType.VAL + JG = 11, ArgType.LAB, ArgType.VAL, ArgType.VAL + JGE = 12, ArgType.LAB, ArgType.VAL, ArgType.VAL + JE = 13, ArgType.LAB, ArgType.VAL, ArgType.VAL + JNE = 13, ArgType.LAB, ArgType.VAL, ArgType.VAL def __init__(self, opcode, *args): if opcode > 0x7F or opcode < 0: @@ -214,6 +219,10 @@ class Program: args_w_type = ins.typecheck(line[1:]) self.asm_push_line(ins.opcode, args_w_type) + def parse_lines(self, lines): + for l in lines: + self.parse_asm_line(l) + def __call__(self): b = bytes() for line in self.asm: |
