diff --git a/cpu.cpp b/cpu.cpp index 631590d..36d0084 100644 --- a/cpu.cpp +++ b/cpu.cpp @@ -1000,6 +1000,13 @@ bool cpu::misc_operations(const uint16_t instr) setPSW(popStack()); return true; + case 0b0000000000000100: // IOT + pushStack(getPSW()); + pushStack(getPC()); + setPC(b -> readWord(020)); + setPSW(b -> readWord(022)); + return true; + case 0b0000000000000110: // RTT setPC(popStack()); setPSW(popStack()); @@ -1433,6 +1440,10 @@ void cpu::disassemble() text = "RTI"; break; + case 0b0000000000000100: + text = "IOT"; + break; + case 0b0000000000000110: text = "RTT"; break;