STUPID INSTRUCTIONS 0XX BRANCH FORWARD (PC = PC+XX) 1XX BRANCH BACK (PC = PC-XX) 2XX LOAD AC (AC = (XX)) 3XX STORE AC ((XX) = AC) 4XX ADD TO AC (AC = AC+(XX)) 5XX ADD WITH CARRY 6XX SUBTRACT FROM AC (AC = AC-(XX)) 7XX SUBTRACT WITH BORROW 8XX AND w/AC (AC = AC&(XX)) 9XX OR w/AC (AC = AC|(XX)) AXX XOR w/AC (AC = AC^(XX)) BXX ISZ CXX DSZ DXX Skip if XX is zero EXX Swap AC w/XX FXX: F00 Increment IR0 Needs 0 F01 Move AC to (IR0) Read only F02 Move IR0 to AC Read Only F03 Move (IR0) to AC Read Only F04 Move AC to (IR1) Read only F05 Increment IR1 Needs 5 F06 Move IR1 to AC Read only F07 Move (IR1) to AC Read only F08 Move AC to (IR2) Read only F09 Move IR2 to AC Read only F0A Increment IR2 Needs A F0B Move (IR2) to AC Read only F0C Move AC to (IR3) Read only F0D Move IR3 to AC Read only F0E Move (IR3) to AC Read only F0F Increment IR3 Needs F F10 Decrement IR0 Needs 0 F11 Move AC to IR1 Write only F12 Move AC to IR2 Write only F13 Move AC to IR3 Write only F14 Move AC to IR0 Write only F15 Decrement IR1 Needs 5 F1A Decrement IR2 Needs A F1F Decrement IR3 Needs F F20 Move AC to (IR0+) needs 0 F25 Move AC to (IR1+) needs 5 F2A Move AC to (IR2+) needs A F2F Move AC to (IR3+) needs F F30 Move AC to (IR0-) needs 0 F35 Move AC to (IR1-) needs 5 F3A Move AC to (IR2-) needs A F3F Move AC to (IR3-) needs F F40 Move (IR0+) to AC needs 0 F45 Move (IR1+) to AC needs 5 F4A Move (IR2+) to AC needs A F4F Move (IR3+) to AC needs F F50 Move (IR0-) to AC needs 0 F55 Move (IR1-) to AC needs 5 F5A Move (IR2-) to AC needs A F5F Move (IR3-) to AC needs F F60 Move AC to (+IR0) needs 0 F65 Move AC to (+IR1) needs 5 F6A Move AC to (+IR2) needs A F6F Move AC to (+IR3) needs F F70 Move AC to (-IR0) needs 0 F75 Move AC to (-IR1) needs 5 F7A Move AC to (-IR2) needs A F7F Move AC to (-IR3) needs F F80 Move (+IR0) to AC needs 0 F85 Move (+IR1) to AC needs 5 F8A Move (+IR2) to AC needs A F8F Move (+IR3) to AC needs F F90 Move (-IR0) to AC needs 0 F95 Move (-IR1) to AC needs 5 F9A Move (-IR2) to AC needs A F9F Move (-IR3) to AC needs F FA0 Move IR0 to IR0 FA1 Move IR0 to IR1 FA2 Move IR0 to IR2 FA3 Move IR0 to IR3 FA4 Move IR1 to IR0 FA5 Move IR1 to IR1 FA6 Move IR1 to IR2 FA7 Move IR1 to IR3 FA8 Move IR2 to IR0 FA9 Move IR2 to IR1 FAA Move IR2 to IR2 FAB Move IR2 to IR3 FAC Move IR3 to IR0 FAD Move IR3 to IR1 FAE Move IR3 to IR2 FAF Move IR3 to IR3 FB0 RESERVED (NOP) FB1 Test (IR0), skip if zero Read only FB2 Test (IR0), skip if non-zero Read only FB3 RESERVED (NOP) FB4 RESERVED (NOP) FB5 RESERVED (NOP) FB6 Test (IR1), skip if zero Read only FB7 Test (IR1), skip if non-zero Read only FB8 Test (IR2), skip if zero Read only FB9 Test (IR2), skip if non-zero Read only FBA RESERVED (NOP) FBB RESERVED (NOP) FBC Test (IR3), skip if zero Read only FBD Test (IR3), skip if non-zero Read only FBE RESERVED (NOP) FBF RESERVED (NOP) FC0 Jump/Return to (IR0) FC1 Call (IR0), Save return addr in IR1 FC2 Call (IR0), Save return addr in IR2 FC3 Call (IR0), Save return addr in IR3 FC4 Call (IR1), Save return addr in IR0 FC5 Jump/Return to (IR1) FC6 Call (IR1), Save return addr in IR2 FC7 Call (IR1), Save return addr in IR3 FC8 Call (IR2), Save return addr in IR0 FC9 Call (IR2), Save return addr in IR1 FCA Jump/Return to (IR2) FCB Call (IR2), Save return addr in IR3 FCC Call (IR3), Save return addr in IR0 FCD Call (IR3), Save return addr in IR1 FCE Call (IR3), Save return addr in IR2 FCF Jump/Return to (IR3) FDn Set Page Register to n FE0 Read switches to AC FE1 Get char to AC FE2 Print char from AC FE3 RESERVED (NOP) FE4 Skip if TTY character waiting FE5 Skip if TTY output buffer not full FE6 RESERVED (NOP) FE7 RESERVED (NOP) FE8 ASR AC FE9 ROR AC (no carry) FEA RORC AC FEB ASL AC FEC ROL AC (no carry) FED ROLC AC FEE Skip if carry set FEF Skip if carry not set FF0 NOP FF1 Clear AC FF2 Set AC FF3 Complement AC FF4 Negate AC FF5 Increment AC FF6 Decrement AC FF7 ISZ AC FF8 DSZ AC FF9 Set carry FFA Clear carry FFB Skip if AC zero FFC Skip if AC non-zero FFD Skip if AC positive FFE Skip if AC negative FFF HALT FXX Opcodes used: 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 X X X X X X X X X X X X X X X X 1 X X X X X X X X 2 X X X X 3 X X X X 4 X X X X 5 X X X X 6 X X X X 7 X X X X 8 X X X X 9 X X X X A X X X X X X X X X X X X X X X X B X X X X X X X X C X X X X X X X X X X X X X X X X D X X X X X X X X X X X X X X X X E X X X X X X X X X X X X X X F X X X X X X X X X X X X X X X X