diff options
Diffstat (limited to 'nandgame/assembler/disas.cpp')
| -rw-r--r-- | nandgame/assembler/disas.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/nandgame/assembler/disas.cpp b/nandgame/assembler/disas.cpp index 8f6ff3b..ac7ca0c 100644 --- a/nandgame/assembler/disas.cpp +++ b/nandgame/assembler/disas.cpp @@ -171,6 +171,10 @@ static Decoded fixup_ins(uint16_t ins) { } std::string print_decoded(uint16_t ins, bool simplify) { + // illegal instruction + if ((ins & 0xC000) == 0x8000) + return "halt"; + Decoded d = simplify ? fixup_ins(ins) : decode_instruction(ins); std::string jumpdest_str = d.jumpdest.empty() ? "" : "." + d.jumpdest; |
