Decimal Binary Instr group bits Source bits Dest Bits ALU op bits ALU arg bits Op Group Source Destination ALU Op ALU Arg Op Code Usage Notes
0000000000000000000CopyACCACCJUMP_IF_ZERO_FLAGJUMP_IF_ZERO_FLAG CONST
0010000000100000001CopyACCACOPYCOPY ACC A
0020000001000000010CopyACCBCOPYCOPY ACC B
0030000001100000011CopyACCCCOPYCOPY ACC C
0040000010000000100CopyACCSPCOPYCOPY ACC SP
0050000010100000101CopyACCPCJUMPJUMP ACC
0060000011000000110CopyACCSP+/-No sense in comparing ACC to ACC
0070000011100000111CopyACCCONSTJUMP_IF_EQ_ACCJUMP_IF_EQ_ACC CONST CONSTOriginal slot (00111111) used by JUMP_IF_NOT_UNDERFLOW_FLAG
0080000100000001000CopyAACCCOPYCOPY A ACC
0090000100100001001CopyAAJUMP_IF_NOT_ZERO_FLAGJUMP_IF_NOT_ZERO_FLAG CONST
0100000101000001010CopyABCOPYCOPY A B
0110000101100001011CopyACCOPYCOPY A C
0120000110000001100CopyASPCOPYCOPY A SP
0130000110100001101CopyAPCJUMPJUMP A
0140000111000001110CopyASP+/-JUMP_IF_LTE_ACCJUMP_IF_LTE_ACC A CONST
0150000111100001111CopyACONSTJUMP_IF_EQ_ACCJUMP_IF_EQ_ACC A CONST
0160001000000010000CopyBACCCOPYCOPY B ACC
0170001000100010001CopyBACOPYCOPY B A
0180001001000010010CopyBBJUMP_IF_POSITIVE_FLAGJUMP_IF_POSITIVE_FLAG CONST
0190001001100010011CopyBCCOPYCOPY B C
0200001010000010100CopyBSPCOPYCOPY B SP
0210001010100010101CopyBPCJUMPJUMP B
0220001011000010110CopyBSP+/-JUMP_IF_LTE_ACCJUMP_IF_LTE_ACC B CONST
0230001011100010111CopyBCONSTJUMP_IF_EQ_ACCJUMP_IF_EQ_ACC B CONST
0240001100000011000CopyCACCCOPYCOPY C ACC
0250001100100011001CopyCACOPYCOPY C A
0260001101000011010CopyCBCOPYCOPY C B
0270001101100011011CopyCCJUMP_IF_NEGATIVE_FLAGJUMP_IF_NEGATIVE_FLAG CONST
0280001110000011100CopyCSPCOPYCOPY C SP
0290001110100011101CopyCPCJUMPJUMP C
0300001111000011110CopyCSP+/-JUMP_IF_LTE_ACCJUMP_IF_LTE_ACC C CONST
0310001111100011111CopyCCONSTJUMP_IF_EQ_ACCJUMP_IF_EQ_ACC C CONST
0320010000000100000CopySPACCCOPYCOPY SP ACC
0330010000100100001CopySPACOPYCOPY SP A
0340010001000100010CopySPBCOPYCOPY SP B
0350010001100100011CopySPCCOPYCOPY SP C
0360010010000100100CopySPSPJUMP_IF_OVERFLOW_FLAGJUMP_IF_OVERFLOW_FLAG CONST
0370010010100100101CopySPPCJUMPJUMP SP
0380010011000100110CopySPSP+/-JUMP_IF_LTE_ACCJUMP_IF_LTE_ACC SP CONST
0390010011100100111CopySPCONSTJUMP_IF_EQ_ACCJUMP_IF_EQ_ACC SP CONST
0400010100000101000CopyPCACCCOPYCOPY PC ACC
0410010100100101001CopyPCACOPYCOPY PC A
0420010101000101010CopyPCBCOPYCOPY PC B
0430010101100101011CopyPCCCOPYCOPY PC C
0440010110000101100CopyPCSPCOPYCOPY PC SP
0450010110100101101CopyPCPCJUMP_IF_NOT_OVERFLOW_FLAGJUMP_IF_NOT_OVERFLOW_FLAG CONST
0460010111000101110CopyPCSP+/-JUMP_IF_LTE_ACCJUMP_IF_LTE_ACC PC CONST
0470010111100101111CopyPCCONSTJUMP_IF_EQ_ACCJUMP_IF_EQ_ACC PC CONST
0480011000000110000CopySP+/-ACCNo sense in comparing ACC to ACC
0490011000100110001CopySP+/-AJUMP_IF_LT_ACCJUMP_IF_LT_ACC A CONST
0500011001000110010CopySP+/-BJUMP_IF_LT_ACCJUMP_IF_LT_ACC B CONST
0510011001100110011CopySP+/-CJUMP_IF_LT_ACCJUMP_IF_LT_ACC C CONST
0520011010000110100CopySP+/-SPJUMP_IF_LT_ACCJUMP_IF_LT_ACC SP CONST
0530011010100110101CopySP+/-PCJUMP_IF_LT_ACCJUMP_IF_LT_ACC PC CONST
0540011011000110110CopySP+/-SP+/-JUMP_IF_UNDERFLOW_FLAGJUMP_IF_UNDERFLOW_FLAG CONST
0550011011100110111CopySP+/-CONSTJUMP_IF_LT_ACCJUMP_IF_LT_ACC CONST CONST
0560011100000111000CopyCONSTACCSETSET ACC CONST
0570011100100111001CopyCONSTASETSET A CONST
0580011101000111010CopyCONSTBSETSET B CONST
0590011101100111011CopyCONSTCSETSET C CONST
0600011110000111100CopyCONSTSPSETSET SP CONST
0610011110100111101CopyCONSTPCJUMPJUMP CONST
0620011111000111110CopyCONSTSP+/-JUMP_IF_LTE_ACCJUMP_IF_LTE_ACC CONST CONST
0630011111100111111CopyCONSTCONSTJUMP_IF_NOT_UNDERFLOW_FLAGJUMP_IF_NOT_UNDERFLOW_FLAG CONST
0640100000001000000LoadACCACCLOADLOAD [ACC] ACC
0650100000101000001LoadACCALOADLOAD [ACC] A
0660100001001000010LoadACCBLOADLOAD [ACC] B
0670100001101000011LoadACCCLOADLOAD [ACC] C
0680100010001000100LoadACCSPNo sense in comparing ACC to ACC
0690100010101000101LoadACCPCJUMPJUMP [ACC]
0700100011001000110LoadACCSP+/-CALLCALL ACC
0710100011101000111LoadACCCONSTPROGLOADPROGLOAD [ACC]
0720100100001001000LoadAACCLOADLOAD [A] ACC
0730100100101001001LoadAALOADLOAD [A] A
0740100101001001010LoadABLOADLOAD [A] B
0750100101101001011LoadACLOADLOAD [A] C
0760100110001001100LoadASPJUMP_IF_GTEQ_ACCJUMP_IF_GTEQ_ACC A CONST
0770100110101001101LoadAPCJUMPJUMP [A]
0780100111001001110LoadASP+/-CALLCALL A
0790100111101001111LoadACONSTPROGLOADPROGLOAD [A]
0800101000001010000LoadBACCLOADLOAD [B] ACC
0810101000101010001LoadBALOADLOAD [B] A
0820101001001010010LoadBBLOADLOAD [B] B
0830101001101010011LoadBCLOADLOAD [B] C
0840101010001010100LoadBSPJUMP_IF_GTEQ_ACCJUMP_IF_GTEQ_ACC B CONST
0850101010101010101LoadBPCJUMPJUMP [B]
0860101011001010110LoadBSP+/-CALLCALL B
0870101011101010111LoadBCONSTPROGLOADPROGLOAD [B]
0880101100001011000LoadCACCLOADLOAD [C] ACC
0890101100101011001LoadCALOADLOAD [C] A
0900101101001011010LoadCBLOADLOAD [C] B
0910101101101011011LoadCCLOADLOAD [C] C
0920101110001011100LoadCSPJUMP_IF_GTEQ_ACCJUMP_IF_GTEQ_ACC C CONST
0930101110101011101LoadCPCJUMPJUMP [C]
0940101111001011110LoadCSP+/-CALLCALL C
0950101111101011111LoadCCONSTPROGLOADPROGLOAD [C]
0960110000001100000LoadSPACCLOADLOAD [SP] ACC
0970110000101100001LoadSPALOADLOAD [SP] A
0980110001001100010LoadSPBLOADLOAD [SP] B
0990110001101100011LoadSPCLOADLOAD [SP] C
1000110010001100100LoadSPSPJUMP_IF_GTEQ_ACCJUMP_IF_GTEQ_ACC SP CONST
1010110010101100101LoadSPPCJUMPJUMP [SP]
1020110011001100110LoadSPSP+/-Calling [SP] might make more sense
1030110011101100111LoadSPCONSTPROGLOADPROGLOAD [SP]
1040110100001101000LoadPCACCLOADLOAD [PC] ACC
1050110100101101001LoadPCALOADLOAD [PC] A
1060110101001101010LoadPCBLOADLOAD [PC] B
1070110101101101011LoadPCCLOADLOAD [PC] C
1080110110001101100LoadPCSPJUMP_IF_GTEQ_ACCJUMP_IF_GTEQ_ACC PC CONST
1090110110101101101LoadPCPCJUMPJUMP [PC]
1100110111001101110LoadPCSP+/-Calling the PC would be an infinte loop (maybe)
1110110111101101111LoadPCCONSTPROGLOADPROGLOAD [PC]
1120111000001110000LoadSP+/-ACCPOPPOP ACC
1130111000101110001LoadSP+/-APOPPOP A
1140111001001110010LoadSP+/-BPOPPOP B
1150111001101110011LoadSP+/-CPOPPOP C
1160111010001110100LoadSP+/-SPThis would be a pop into the stack pointer
1170111010101110101LoadSP+/-PCRETURNRETURN
1180111011001110110LoadSP+/-SP+/-NOOPNOOPYou can't call SP+/-
1190111011101110111LoadSP+/-CONSTLoading from SP+/- doesn't make much sense. Not much of a POP
1200111100001111000LoadCONSTACCLOADLOAD [CONST] ACC
1210111100101111001LoadCONSTALOADLOAD [CONST] A
1220111101001111010LoadCONSTBLOADLOAD [CONST] B
1230111101101111011LoadCONSTCLOADLOAD [CONST] C
1240111110001111100LoadCONSTSPJUMP_IF_GTEQ_ACCJUMP_IF_GTEQ_ACC CONST CONST
1250111110101111101LoadCONSTPCJUMPJUMP [CONST]
1260111111001111110LoadCONSTSP+/-CALLCALL CONST
1270111111101111111LoadCONSTCONSTPROGLOADPROGLOAD [CONST]
1281000000010000000StoreACCACCSTORESTORE ACC [ACC]
1291000000110000001StoreACCASTORESTORE ACC [A]
1301000001010000010StoreACCBSTORESTORE ACC [B]
1311000001110000011StoreACCCSTORESTORE ACC [C]
1321000010010000100StoreACCSPSTORESTORE ACC [SP]
1331000010110000101StoreACCPCSTORESTORE ACC [PC]
1341000011010000110StoreACCSP+/-PUSHPUSH ACC
1351000011110000111StoreACCCONSTSTORESTORE ACC [CONST]
1361000100010001000StoreAACCSTORESTORE A [ACC]
1371000100110001001StoreAASTORESTORE A [A]
1381000101010001010StoreABSTORESTORE A [B]
1391000101110001011StoreACSTORESTORE A [C]
1401000110010001100StoreASPSTORESTORE A [SP]
1411000110110001101StoreAPCSTORESTORE A [PC]
1421000111010001110StoreASP+/-PUSHPUSH A
1431000111110001111StoreACONSTSTORESTORE A [CONST]
1441001000010010000StoreBACCSTORESTORE B [ACC]
1451001000110010001StoreBASTORESTORE B [A]
1461001001010010010StoreBBSTORESTORE B [B]
1471001001110010011StoreBCSTORESTORE B [C]
1481001010010010100StoreBSPSTORESTORE B [SP]
1491001010110010101StoreBPCSTORESTORE B [PC]
1501001011010010110StoreBSP+/-PUSHPUSH B
1511001011110010111StoreBCONSTSTORESTORE B [CONST]
1521001100010011000StoreCACCSTORESTORE C [ACC]
1531001100110011001StoreCASTORESTORE C [A]
1541001101010011010StoreCBSTORESTORE C [B]
1551001101110011011StoreCCSTORESTORE C [C]
1561001110010011100StoreCSPSTORESTORE C [SP]
1571001110110011101StoreCPCSTORESTORE C [PC]
1581001111010011110StoreCSP+/-PUSHPUSH C
1591001111110011111StoreCCONSTSTORESTORE C [CONST]
1601010000010100000StoreSPACCJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO ACC CONST
1611010000110100001StoreSPAJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO A CONST
1621010001010100010StoreSPBJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO B CONST
1631010001110100011StoreSPCJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO C CONST
1641010010010100100StoreSPSPJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO SP CONST
1651010010110100101StoreSPPCJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO PC CONST
1661010011010100110StoreSPSP+/-No sense in comparing SP+/- to zero
1671010011110100111StoreSPCONSTJUMP_IF_EQ_ZEROJUMP_IF_EQ_ZERO CONST CONST
1681010100010101000StorePCACCSTORESTORE PC [ACC]
1691010100110101001StorePCASTORESTORE PC [A]
1701010101010101010StorePCBSTORESTORE PC [B]
1711010101110101011StorePCCSTORESTORE PC [C]
1721010110010101100StorePCSPSTORESTORE PC [SP]
1731010110110101101StorePCPCSTORESTORE PC [PC]
1741010111010101110StorePCSP+/-PUSHPUSH PC
1751010111110101111StorePCCONSTSTORESTORE PC [CONST]
1761011000010110000StoreSP+/-ACCNo sense in comparing ACC to ACC
1771011000110110001StoreSP+/-AJUMP_IF_GT_ACCJUMP_IF_GT_ACC A CONST
1781011001010110010StoreSP+/-BJUMP_IF_GT_ACCJUMP_IF_GT_ACC B CONST
1791011001110110011StoreSP+/-CJUMP_IF_GT_ACCJUMP_IF_GT_ACC C CONST
1801011010010110100StoreSP+/-SPJUMP_IF_GT_ACCJUMP_IF_GT_ACC SP CONST
1811011010110110101StoreSP+/-PCJUMP_IF_GT_ACCJUMP_IF_GT_ACC PC CONST
1821011011010110110StoreSP+/-SP+/-HALTHALTNo sense in comparing ACC to SP+/-
1831011011110110111StoreSP+/-CONSTJUMP_IF_GT_ACCJUMP_IF_GT_ACC CONST CONST
1841011100010111000StoreCONSTACCPROGSTOREPROGSTORE [ACC]
1851011100110111001StoreCONSTAPROGSTOREPROGSTORE [A]
1861011101010111010StoreCONSTBPROGSTOREPROGSTORE [B]
1871011101110111011StoreCONSTCPROGSTOREPROGSTORE [C]
1881011110010111100StoreCONSTSPPROGSTOREPROGSTORE [SP]
1891011110110111101StoreCONSTPCPROGSTOREPROGSTORE [PC]
1901011111010111110StoreCONSTSP+/-SP+/- doesn't make sense - not much of a PUSH
1911011111110111111StoreCONSTCONSTPROGSTOREPROGSTORE [CONST]
1921100000011000000ALUSET_ZEROACC/CONSTSET_ZEROSET_ZERO ACC
1931100000111000001ALUSET_ZEROASET_ZEROSET_ZERO A
1941100001011000010ALUSET_ZEROBSET_ZEROSET_ZERO B
1951100001111000011ALUSET_ZEROCSET_ZEROSET_ZERO C
1961100010011000100ALUINCRACC/CONSTINCRINCR ACC
1971100010111000101ALUINCRAINCRINCR A
1981100011011000110ALUINCRBINCRINCR B
1991100011111000111ALUINCRCINCRINCR C
2001100100011001000ALUDECRACC/CONSTDECRDECR ACC
2011100100111001001ALUDECRADECRDECR A
2021100101011001010ALUDECRBDECRDECR B
2031100101111001011ALUDECRCDECRDECR C
2041100110011001100ALUADDACC/CONSTADDADD CONST
2051100110111001101ALUADDAADDADD A
2061100111011001110ALUADDBADDADD B
2071100111111001111ALUADDCADDADD C
2081101000011010000ALUADDCACC/CONSTADDCADDC CONST
2091101000111010001ALUADDCAADDCADDC A
2101101001011010010ALUADDCBADDCADDC B
2111101001111010011ALUADDCCADDCADDC C
2121101010011010100ALUSUBACC/CONSTSUBSUB CONST
2131101010111010101ALUSUBASUBSUB A
2141101011011010110ALUSUBBSUBSUB B
2151101011111010111ALUSUBCSUBSUB C
2161101100011011000ALUSUBBACC/CONSTSUBBSUBB CONST
2171101100111011001ALUSUBBASUBBSUBB A
2181101101011011010ALUSUBBBSUBBSUBB B
2191101101111011011ALUSUBBCSUBBSUBB C
2201101110011011100ALUANDACC/CONSTANDAND CONST
2211101110111011101ALUANDAANDAND A
2221101111011011110ALUANDBANDAND B
2231101111111011111ALUANDCANDAND C
2241110000011100000ALUNANDACC/CONSTNANDNAND CONST
2251110000111100001ALUNANDANANDNAND A
2261110001011100010ALUNANDBNANDNAND B
2271110001111100011ALUNANDCNANDNAND C
2281110010011100100ALUORACC/CONSTOROR CONST
2291110010111100101ALUORAOROR A
2301110011011100110ALUORBOROR B
2311110011111100111ALUORCOROR C
2321110100011101000ALUNORACC/CONSTNORNOR CONST
2331110100111101001ALUNORANORNOR A
2341110101011101010ALUNORBNORNOR B
2351110101111101011ALUNORCNORNOR C
2361110110011101100ALUXORACC/CONSTXORXOR CONST
2371110110111101101ALUXORAXORXOR A
2381110111011101110ALUXORBXORXOR B
2391110111111101111ALUXORCXORXOR C
2401111000011110000ALUNXORACC/CONSTNXORNXOR CONST
2411111000111110001ALUNXORANXORNXOR A
2421111001011110010ALUNXORBNXORNXOR B
2431111001111110011ALUNXORCNXORNXOR C
2441111010011110100ALUNOTACC/CONSTNOTNOT ACC
2451111010111110101ALUNOTANOTNOT A
2461111011011110110ALUNOTBNOTNOT B
2471111011111110111ALUNOTCNOTNOT C
2481111100011111000ALULSHIFTACC/CONSTLSHIFTLSHIFT ACC
2491111100111111001ALULSHIFTALSHIFTLSHIFT A
2501111101011111010ALULSHIFTBLSHIFTLSHIFT B
2511111101111111011ALULSHIFTCLSHIFTLSHIFT C
2521111110011111100ALULSHIFTCACC/CONSTLSHIFTCLSHIFTC ACC
2531111110111111101ALULSHIFTCALSHIFTCLSHIFTC A
2541111111011111110ALULSHIFTCBLSHIFTCLSHIFTC B
2551111111111111111ALULSHIFTCCLSHIFTCLSHIFTC C