summaryrefslogtreecommitdiff
path: root/nandgame/assembler/disas.py
diff options
context:
space:
mode:
authoruvok2026-01-09 16:27:09 +0100
committeruvok2026-01-09 16:27:09 +0100
commitcdb2a203f3fe71636e42f357e5e073ef4b2306c8 (patch)
tree0d18b04b9b4bc0a4e442a0d1d0f3a304d37d583d /nandgame/assembler/disas.py
parentb65ed96c66b9ad2243bda0367274b42b963e9321 (diff)
bit 14 unset (w/ 15 set) = illegal ins
Diffstat (limited to 'nandgame/assembler/disas.py')
-rwxr-xr-xnandgame/assembler/disas.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/nandgame/assembler/disas.py b/nandgame/assembler/disas.py
index 56b44c4..5d8ccf5 100755
--- a/nandgame/assembler/disas.py
+++ b/nandgame/assembler/disas.py
@@ -183,6 +183,10 @@ def fixup_ins(ins: int) -> list[str]:
def print_decoded(ins: int, simplify: bool) -> str:
+ # illegal instruction
+ if ins & 0xC000 == 0x8000:
+ return "halt"
+
if simplify:
(mnemonic, dest, op1, op2, jumpdest) = fixup_ins(ins)
else: