diff options
| -rwxr-xr-x | nandgame/assembler/disas.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/nandgame/assembler/disas.py b/nandgame/assembler/disas.py index 607537a..0256976 100755 --- a/nandgame/assembler/disas.py +++ b/nandgame/assembler/disas.py @@ -146,6 +146,12 @@ def fixup_ins(ins: int) -> list[str]: # all other jumps? <=, >=, =, <=> else: return ["jmp", "", "", "", ""] + if mnemonic == "and" and op1 == ZERO: + if jumpdest in ["jgt", "jlt", "jne", JUMP_NONE]: + newjmp = "" + else: + newjmp = "jmp" + return ["mov", dest, ZERO, "", newjmp] return [mnemonic, dest, op1, op2, jumpdest] |
