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 |
000 | 00000000 | 00 | 000 | 000 | | | Copy | ACC | ACC | | | JUMP_IF_ZERO_FLAG | JUMP_IF_ZERO_FLAG CONST | |
001 | 00000001 | 00 | 000 | 001 | | | Copy | ACC | A | | | COPY | COPY ACC A | |
002 | 00000010 | 00 | 000 | 010 | | | Copy | ACC | B | | | COPY | COPY ACC B | |
003 | 00000011 | 00 | 000 | 011 | | | Copy | ACC | C | | | COPY | COPY ACC C | |
004 | 00000100 | 00 | 000 | 100 | | | Copy | ACC | SP | | | COPY | COPY ACC SP | |
005 | 00000101 | 00 | 000 | 101 | | | Copy | ACC | PC | | | JUMP | JUMP ACC | |
006 | 00000110 | 00 | 000 | 110 | | | Copy | ACC | SP+/- | | | | | No sense in comparing ACC to ACC |
007 | 00000111 | 00 | 000 | 111 | | | Copy | ACC | CONST | | | JUMP_IF_EQ_ACC | JUMP_IF_EQ_ACC CONST CONST | Original slot (00111111) used by JUMP_IF_NOT_UNDERFLOW_FLAG |
008 | 00001000 | 00 | 001 | 000 | | | Copy | A | ACC | | | COPY | COPY A ACC | |
009 | 00001001 | 00 | 001 | 001 | | | Copy | A | A | | | JUMP_IF_NOT_ZERO_FLAG | JUMP_IF_NOT_ZERO_FLAG CONST | |
010 | 00001010 | 00 | 001 | 010 | | | Copy | A | B | | | COPY | COPY A B | |
011 | 00001011 | 00 | 001 | 011 | | | Copy | A | C | | | COPY | COPY A C | |
012 | 00001100 | 00 | 001 | 100 | | | Copy | A | SP | | | COPY | COPY A SP | |
013 | 00001101 | 00 | 001 | 101 | | | Copy | A | PC | | | JUMP | JUMP A | |
014 | 00001110 | 00 | 001 | 110 | | | Copy | A | SP+/- | | | JUMP_IF_LTE_ACC | JUMP_IF_LTE_ACC A CONST | |
015 | 00001111 | 00 | 001 | 111 | | | Copy | A | CONST | | | JUMP_IF_EQ_ACC | JUMP_IF_EQ_ACC A CONST | |
016 | 00010000 | 00 | 010 | 000 | | | Copy | B | ACC | | | COPY | COPY B ACC | |
017 | 00010001 | 00 | 010 | 001 | | | Copy | B | A | | | COPY | COPY B A | |
018 | 00010010 | 00 | 010 | 010 | | | Copy | B | B | | | JUMP_IF_POSITIVE_FLAG | JUMP_IF_POSITIVE_FLAG CONST | |
019 | 00010011 | 00 | 010 | 011 | | | Copy | B | C | | | COPY | COPY B C | |
020 | 00010100 | 00 | 010 | 100 | | | Copy | B | SP | | | COPY | COPY B SP | |
021 | 00010101 | 00 | 010 | 101 | | | Copy | B | PC | | | JUMP | JUMP B | |
022 | 00010110 | 00 | 010 | 110 | | | Copy | B | SP+/- | | | JUMP_IF_LTE_ACC | JUMP_IF_LTE_ACC B CONST | |
023 | 00010111 | 00 | 010 | 111 | | | Copy | B | CONST | | | JUMP_IF_EQ_ACC | JUMP_IF_EQ_ACC B CONST | |
024 | 00011000 | 00 | 011 | 000 | | | Copy | C | ACC | | | COPY | COPY C ACC | |
025 | 00011001 | 00 | 011 | 001 | | | Copy | C | A | | | COPY | COPY C A | |
026 | 00011010 | 00 | 011 | 010 | | | Copy | C | B | | | COPY | COPY C B | |
027 | 00011011 | 00 | 011 | 011 | | | Copy | C | C | | | JUMP_IF_NEGATIVE_FLAG | JUMP_IF_NEGATIVE_FLAG CONST | |
028 | 00011100 | 00 | 011 | 100 | | | Copy | C | SP | | | COPY | COPY C SP | |
029 | 00011101 | 00 | 011 | 101 | | | Copy | C | PC | | | JUMP | JUMP C | |
030 | 00011110 | 00 | 011 | 110 | | | Copy | C | SP+/- | | | JUMP_IF_LTE_ACC | JUMP_IF_LTE_ACC C CONST | |
031 | 00011111 | 00 | 011 | 111 | | | Copy | C | CONST | | | JUMP_IF_EQ_ACC | JUMP_IF_EQ_ACC C CONST | |
032 | 00100000 | 00 | 100 | 000 | | | Copy | SP | ACC | | | COPY | COPY SP ACC | |
033 | 00100001 | 00 | 100 | 001 | | | Copy | SP | A | | | COPY | COPY SP A | |
034 | 00100010 | 00 | 100 | 010 | | | Copy | SP | B | | | COPY | COPY SP B | |
035 | 00100011 | 00 | 100 | 011 | | | Copy | SP | C | | | COPY | COPY SP C | |
036 | 00100100 | 00 | 100 | 100 | | | Copy | SP | SP | | | JUMP_IF_OVERFLOW_FLAG | JUMP_IF_OVERFLOW_FLAG CONST | |
037 | 00100101 | 00 | 100 | 101 | | | Copy | SP | PC | | | JUMP | JUMP SP | |
038 | 00100110 | 00 | 100 | 110 | | | Copy | SP | SP+/- | | | JUMP_IF_LTE_ACC | JUMP_IF_LTE_ACC SP CONST | |
039 | 00100111 | 00 | 100 | 111 | | | Copy | SP | CONST | | | JUMP_IF_EQ_ACC | JUMP_IF_EQ_ACC SP CONST | |
040 | 00101000 | 00 | 101 | 000 | | | Copy | PC | ACC | | | COPY | COPY PC ACC | |
041 | 00101001 | 00 | 101 | 001 | | | Copy | PC | A | | | COPY | COPY PC A | |
042 | 00101010 | 00 | 101 | 010 | | | Copy | PC | B | | | COPY | COPY PC B | |
043 | 00101011 | 00 | 101 | 011 | | | Copy | PC | C | | | COPY | COPY PC C | |
044 | 00101100 | 00 | 101 | 100 | | | Copy | PC | SP | | | COPY | COPY PC SP | |
045 | 00101101 | 00 | 101 | 101 | | | Copy | PC | PC | | | JUMP_IF_NOT_OVERFLOW_FLAG | JUMP_IF_NOT_OVERFLOW_FLAG CONST | |
046 | 00101110 | 00 | 101 | 110 | | | Copy | PC | SP+/- | | | JUMP_IF_LTE_ACC | JUMP_IF_LTE_ACC PC CONST | |
047 | 00101111 | 00 | 101 | 111 | | | Copy | PC | CONST | | | JUMP_IF_EQ_ACC | JUMP_IF_EQ_ACC PC CONST | |
048 | 00110000 | 00 | 110 | 000 | | | Copy | SP+/- | ACC | | | | | No sense in comparing ACC to ACC |
049 | 00110001 | 00 | 110 | 001 | | | Copy | SP+/- | A | | | JUMP_IF_LT_ACC | JUMP_IF_LT_ACC A CONST | |
050 | 00110010 | 00 | 110 | 010 | | | Copy | SP+/- | B | | | JUMP_IF_LT_ACC | JUMP_IF_LT_ACC B CONST | |
051 | 00110011 | 00 | 110 | 011 | | | Copy | SP+/- | C | | | JUMP_IF_LT_ACC | JUMP_IF_LT_ACC C CONST | |
052 | 00110100 | 00 | 110 | 100 | | | Copy | SP+/- | SP | | | JUMP_IF_LT_ACC | JUMP_IF_LT_ACC SP CONST | |
053 | 00110101 | 00 | 110 | 101 | | | Copy | SP+/- | PC | | | JUMP_IF_LT_ACC | JUMP_IF_LT_ACC PC CONST | |
054 | 00110110 | 00 | 110 | 110 | | | Copy | SP+/- | SP+/- | | | JUMP_IF_UNDERFLOW_FLAG | JUMP_IF_UNDERFLOW_FLAG CONST | |
055 | 00110111 | 00 | 110 | 111 | | | Copy | SP+/- | CONST | | | JUMP_IF_LT_ACC | JUMP_IF_LT_ACC CONST CONST | |
056 | 00111000 | 00 | 111 | 000 | | | Copy | CONST | ACC | | | SET | SET ACC CONST | |
057 | 00111001 | 00 | 111 | 001 | | | Copy | CONST | A | | | SET | SET A CONST | |
058 | 00111010 | 00 | 111 | 010 | | | Copy | CONST | B | | | SET | SET B CONST | |
059 | 00111011 | 00 | 111 | 011 | | | Copy | CONST | C | | | SET | SET C CONST | |
060 | 00111100 | 00 | 111 | 100 | | | Copy | CONST | SP | | | SET | SET SP CONST | |
061 | 00111101 | 00 | 111 | 101 | | | Copy | CONST | PC | | | JUMP | JUMP CONST | |
062 | 00111110 | 00 | 111 | 110 | | | Copy | CONST | SP+/- | | | JUMP_IF_LTE_ACC | JUMP_IF_LTE_ACC CONST CONST | |
063 | 00111111 | 00 | 111 | 111 | | | Copy | CONST | CONST | | | JUMP_IF_NOT_UNDERFLOW_FLAG | JUMP_IF_NOT_UNDERFLOW_FLAG CONST | |
064 | 01000000 | 01 | 000 | 000 | | | Load | ACC | ACC | | | LOAD | LOAD [ACC] ACC | |
065 | 01000001 | 01 | 000 | 001 | | | Load | ACC | A | | | LOAD | LOAD [ACC] A | |
066 | 01000010 | 01 | 000 | 010 | | | Load | ACC | B | | | LOAD | LOAD [ACC] B | |
067 | 01000011 | 01 | 000 | 011 | | | Load | ACC | C | | | LOAD | LOAD [ACC] C | |
068 | 01000100 | 01 | 000 | 100 | | | Load | ACC | SP | | | | | No sense in comparing ACC to ACC |
069 | 01000101 | 01 | 000 | 101 | | | Load | ACC | PC | | | JUMP | JUMP [ACC] | |
070 | 01000110 | 01 | 000 | 110 | | | Load | ACC | SP+/- | | | CALL | CALL ACC | |
071 | 01000111 | 01 | 000 | 111 | | | Load | ACC | CONST | | | PROGLOAD | PROGLOAD [ACC] | |
072 | 01001000 | 01 | 001 | 000 | | | Load | A | ACC | | | LOAD | LOAD [A] ACC | |
073 | 01001001 | 01 | 001 | 001 | | | Load | A | A | | | LOAD | LOAD [A] A | |
074 | 01001010 | 01 | 001 | 010 | | | Load | A | B | | | LOAD | LOAD [A] B | |
075 | 01001011 | 01 | 001 | 011 | | | Load | A | C | | | LOAD | LOAD [A] C | |
076 | 01001100 | 01 | 001 | 100 | | | Load | A | SP | | | JUMP_IF_GTEQ_ACC | JUMP_IF_GTEQ_ACC A CONST | |
077 | 01001101 | 01 | 001 | 101 | | | Load | A | PC | | | JUMP | JUMP [A] | |
078 | 01001110 | 01 | 001 | 110 | | | Load | A | SP+/- | | | CALL | CALL A | |
079 | 01001111 | 01 | 001 | 111 | | | Load | A | CONST | | | PROGLOAD | PROGLOAD [A] | |
080 | 01010000 | 01 | 010 | 000 | | | Load | B | ACC | | | LOAD | LOAD [B] ACC | |
081 | 01010001 | 01 | 010 | 001 | | | Load | B | A | | | LOAD | LOAD [B] A | |
082 | 01010010 | 01 | 010 | 010 | | | Load | B | B | | | LOAD | LOAD [B] B | |
083 | 01010011 | 01 | 010 | 011 | | | Load | B | C | | | LOAD | LOAD [B] C | |
084 | 01010100 | 01 | 010 | 100 | | | Load | B | SP | | | JUMP_IF_GTEQ_ACC | JUMP_IF_GTEQ_ACC B CONST | |
085 | 01010101 | 01 | 010 | 101 | | | Load | B | PC | | | JUMP | JUMP [B] | |
086 | 01010110 | 01 | 010 | 110 | | | Load | B | SP+/- | | | CALL | CALL B | |
087 | 01010111 | 01 | 010 | 111 | | | Load | B | CONST | | | PROGLOAD | PROGLOAD [B] | |
088 | 01011000 | 01 | 011 | 000 | | | Load | C | ACC | | | LOAD | LOAD [C] ACC | |
089 | 01011001 | 01 | 011 | 001 | | | Load | C | A | | | LOAD | LOAD [C] A | |
090 | 01011010 | 01 | 011 | 010 | | | Load | C | B | | | LOAD | LOAD [C] B | |
091 | 01011011 | 01 | 011 | 011 | | | Load | C | C | | | LOAD | LOAD [C] C | |
092 | 01011100 | 01 | 011 | 100 | | | Load | C | SP | | | JUMP_IF_GTEQ_ACC | JUMP_IF_GTEQ_ACC C CONST | |
093 | 01011101 | 01 | 011 | 101 | | | Load | C | PC | | | JUMP | JUMP [C] | |
094 | 01011110 | 01 | 011 | 110 | | | Load | C | SP+/- | | | CALL | CALL C | |
095 | 01011111 | 01 | 011 | 111 | | | Load | C | CONST | | | PROGLOAD | PROGLOAD [C] | |
096 | 01100000 | 01 | 100 | 000 | | | Load | SP | ACC | | | LOAD | LOAD [SP] ACC | |
097 | 01100001 | 01 | 100 | 001 | | | Load | SP | A | | | LOAD | LOAD [SP] A | |
098 | 01100010 | 01 | 100 | 010 | | | Load | SP | B | | | LOAD | LOAD [SP] B | |
099 | 01100011 | 01 | 100 | 011 | | | Load | SP | C | | | LOAD | LOAD [SP] C | |
100 | 01100100 | 01 | 100 | 100 | | | Load | SP | SP | | | JUMP_IF_GTEQ_ACC | JUMP_IF_GTEQ_ACC SP CONST | |
101 | 01100101 | 01 | 100 | 101 | | | Load | SP | PC | | | JUMP | JUMP [SP] | |
102 | 01100110 | 01 | 100 | 110 | | | Load | SP | SP+/- | | | | | Calling [SP] might make more sense |
103 | 01100111 | 01 | 100 | 111 | | | Load | SP | CONST | | | PROGLOAD | PROGLOAD [SP] | |
104 | 01101000 | 01 | 101 | 000 | | | Load | PC | ACC | | | LOAD | LOAD [PC] ACC | |
105 | 01101001 | 01 | 101 | 001 | | | Load | PC | A | | | LOAD | LOAD [PC] A | |
106 | 01101010 | 01 | 101 | 010 | | | Load | PC | B | | | LOAD | LOAD [PC] B | |
107 | 01101011 | 01 | 101 | 011 | | | Load | PC | C | | | LOAD | LOAD [PC] C | |
108 | 01101100 | 01 | 101 | 100 | | | Load | PC | SP | | | JUMP_IF_GTEQ_ACC | JUMP_IF_GTEQ_ACC PC CONST | |
109 | 01101101 | 01 | 101 | 101 | | | Load | PC | PC | | | JUMP | JUMP [PC] | |
110 | 01101110 | 01 | 101 | 110 | | | Load | PC | SP+/- | | | | | Calling the PC would be an infinte loop (maybe) |
111 | 01101111 | 01 | 101 | 111 | | | Load | PC | CONST | | | PROGLOAD | PROGLOAD [PC] | |
112 | 01110000 | 01 | 110 | 000 | | | Load | SP+/- | ACC | | | POP | POP ACC | |
113 | 01110001 | 01 | 110 | 001 | | | Load | SP+/- | A | | | POP | POP A | |
114 | 01110010 | 01 | 110 | 010 | | | Load | SP+/- | B | | | POP | POP B | |
115 | 01110011 | 01 | 110 | 011 | | | Load | SP+/- | C | | | POP | POP C | |
116 | 01110100 | 01 | 110 | 100 | | | Load | SP+/- | SP | | | | | This would be a pop into the stack pointer |
117 | 01110101 | 01 | 110 | 101 | | | Load | SP+/- | PC | | | RETURN | RETURN | |
118 | 01110110 | 01 | 110 | 110 | | | Load | SP+/- | SP+/- | | | NOOP | NOOP | You can't call SP+/- |
119 | 01110111 | 01 | 110 | 111 | | | Load | SP+/- | CONST | | | | | Loading from SP+/- doesn't make much sense. Not much of a POP |
120 | 01111000 | 01 | 111 | 000 | | | Load | CONST | ACC | | | LOAD | LOAD [CONST] ACC | |
121 | 01111001 | 01 | 111 | 001 | | | Load | CONST | A | | | LOAD | LOAD [CONST] A | |
122 | 01111010 | 01 | 111 | 010 | | | Load | CONST | B | | | LOAD | LOAD [CONST] B | |
123 | 01111011 | 01 | 111 | 011 | | | Load | CONST | C | | | LOAD | LOAD [CONST] C | |
124 | 01111100 | 01 | 111 | 100 | | | Load | CONST | SP | | | JUMP_IF_GTEQ_ACC | JUMP_IF_GTEQ_ACC CONST CONST | |
125 | 01111101 | 01 | 111 | 101 | | | Load | CONST | PC | | | JUMP | JUMP [CONST] | |
126 | 01111110 | 01 | 111 | 110 | | | Load | CONST | SP+/- | | | CALL | CALL CONST | |
127 | 01111111 | 01 | 111 | 111 | | | Load | CONST | CONST | | | PROGLOAD | PROGLOAD [CONST] | |
128 | 10000000 | 10 | 000 | 000 | | | Store | ACC | ACC | | | STORE | STORE ACC [ACC] | |
129 | 10000001 | 10 | 000 | 001 | | | Store | ACC | A | | | STORE | STORE ACC [A] | |
130 | 10000010 | 10 | 000 | 010 | | | Store | ACC | B | | | STORE | STORE ACC [B] | |
131 | 10000011 | 10 | 000 | 011 | | | Store | ACC | C | | | STORE | STORE ACC [C] | |
132 | 10000100 | 10 | 000 | 100 | | | Store | ACC | SP | | | STORE | STORE ACC [SP] | |
133 | 10000101 | 10 | 000 | 101 | | | Store | ACC | PC | | | STORE | STORE ACC [PC] | |
134 | 10000110 | 10 | 000 | 110 | | | Store | ACC | SP+/- | | | PUSH | PUSH ACC | |
135 | 10000111 | 10 | 000 | 111 | | | Store | ACC | CONST | | | STORE | STORE ACC [CONST] | |
136 | 10001000 | 10 | 001 | 000 | | | Store | A | ACC | | | STORE | STORE A [ACC] | |
137 | 10001001 | 10 | 001 | 001 | | | Store | A | A | | | STORE | STORE A [A] | |
138 | 10001010 | 10 | 001 | 010 | | | Store | A | B | | | STORE | STORE A [B] | |
139 | 10001011 | 10 | 001 | 011 | | | Store | A | C | | | STORE | STORE A [C] | |
140 | 10001100 | 10 | 001 | 100 | | | Store | A | SP | | | STORE | STORE A [SP] | |
141 | 10001101 | 10 | 001 | 101 | | | Store | A | PC | | | STORE | STORE A [PC] | |
142 | 10001110 | 10 | 001 | 110 | | | Store | A | SP+/- | | | PUSH | PUSH A | |
143 | 10001111 | 10 | 001 | 111 | | | Store | A | CONST | | | STORE | STORE A [CONST] | |
144 | 10010000 | 10 | 010 | 000 | | | Store | B | ACC | | | STORE | STORE B [ACC] | |
145 | 10010001 | 10 | 010 | 001 | | | Store | B | A | | | STORE | STORE B [A] | |
146 | 10010010 | 10 | 010 | 010 | | | Store | B | B | | | STORE | STORE B [B] | |
147 | 10010011 | 10 | 010 | 011 | | | Store | B | C | | | STORE | STORE B [C] | |
148 | 10010100 | 10 | 010 | 100 | | | Store | B | SP | | | STORE | STORE B [SP] | |
149 | 10010101 | 10 | 010 | 101 | | | Store | B | PC | | | STORE | STORE B [PC] | |
150 | 10010110 | 10 | 010 | 110 | | | Store | B | SP+/- | | | PUSH | PUSH B | |
151 | 10010111 | 10 | 010 | 111 | | | Store | B | CONST | | | STORE | STORE B [CONST] | |
152 | 10011000 | 10 | 011 | 000 | | | Store | C | ACC | | | STORE | STORE C [ACC] | |
153 | 10011001 | 10 | 011 | 001 | | | Store | C | A | | | STORE | STORE C [A] | |
154 | 10011010 | 10 | 011 | 010 | | | Store | C | B | | | STORE | STORE C [B] | |
155 | 10011011 | 10 | 011 | 011 | | | Store | C | C | | | STORE | STORE C [C] | |
156 | 10011100 | 10 | 011 | 100 | | | Store | C | SP | | | STORE | STORE C [SP] | |
157 | 10011101 | 10 | 011 | 101 | | | Store | C | PC | | | STORE | STORE C [PC] | |
158 | 10011110 | 10 | 011 | 110 | | | Store | C | SP+/- | | | PUSH | PUSH C | |
159 | 10011111 | 10 | 011 | 111 | | | Store | C | CONST | | | STORE | STORE C [CONST] | |
160 | 10100000 | 10 | 100 | 000 | | | Store | SP | ACC | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO ACC CONST | |
161 | 10100001 | 10 | 100 | 001 | | | Store | SP | A | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO A CONST | |
162 | 10100010 | 10 | 100 | 010 | | | Store | SP | B | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO B CONST | |
163 | 10100011 | 10 | 100 | 011 | | | Store | SP | C | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO C CONST | |
164 | 10100100 | 10 | 100 | 100 | | | Store | SP | SP | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO SP CONST | |
165 | 10100101 | 10 | 100 | 101 | | | Store | SP | PC | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO PC CONST | |
166 | 10100110 | 10 | 100 | 110 | | | Store | SP | SP+/- | | | | | No sense in comparing SP+/- to zero |
167 | 10100111 | 10 | 100 | 111 | | | Store | SP | CONST | | | JUMP_IF_EQ_ZERO | JUMP_IF_EQ_ZERO CONST CONST | |
168 | 10101000 | 10 | 101 | 000 | | | Store | PC | ACC | | | STORE | STORE PC [ACC] | |
169 | 10101001 | 10 | 101 | 001 | | | Store | PC | A | | | STORE | STORE PC [A] | |
170 | 10101010 | 10 | 101 | 010 | | | Store | PC | B | | | STORE | STORE PC [B] | |
171 | 10101011 | 10 | 101 | 011 | | | Store | PC | C | | | STORE | STORE PC [C] | |
172 | 10101100 | 10 | 101 | 100 | | | Store | PC | SP | | | STORE | STORE PC [SP] | |
173 | 10101101 | 10 | 101 | 101 | | | Store | PC | PC | | | STORE | STORE PC [PC] | |
174 | 10101110 | 10 | 101 | 110 | | | Store | PC | SP+/- | | | PUSH | PUSH PC | |
175 | 10101111 | 10 | 101 | 111 | | | Store | PC | CONST | | | STORE | STORE PC [CONST] | |
176 | 10110000 | 10 | 110 | 000 | | | Store | SP+/- | ACC | | | | | No sense in comparing ACC to ACC |
177 | 10110001 | 10 | 110 | 001 | | | Store | SP+/- | A | | | JUMP_IF_GT_ACC | JUMP_IF_GT_ACC A CONST | |
178 | 10110010 | 10 | 110 | 010 | | | Store | SP+/- | B | | | JUMP_IF_GT_ACC | JUMP_IF_GT_ACC B CONST | |
179 | 10110011 | 10 | 110 | 011 | | | Store | SP+/- | C | | | JUMP_IF_GT_ACC | JUMP_IF_GT_ACC C CONST | |
180 | 10110100 | 10 | 110 | 100 | | | Store | SP+/- | SP | | | JUMP_IF_GT_ACC | JUMP_IF_GT_ACC SP CONST | |
181 | 10110101 | 10 | 110 | 101 | | | Store | SP+/- | PC | | | JUMP_IF_GT_ACC | JUMP_IF_GT_ACC PC CONST | |
182 | 10110110 | 10 | 110 | 110 | | | Store | SP+/- | SP+/- | | | HALT | HALT | No sense in comparing ACC to SP+/- |
183 | 10110111 | 10 | 110 | 111 | | | Store | SP+/- | CONST | | | JUMP_IF_GT_ACC | JUMP_IF_GT_ACC CONST CONST | |
184 | 10111000 | 10 | 111 | 000 | | | Store | CONST | ACC | | | PROGSTORE | PROGSTORE [ACC] | |
185 | 10111001 | 10 | 111 | 001 | | | Store | CONST | A | | | PROGSTORE | PROGSTORE [A] | |
186 | 10111010 | 10 | 111 | 010 | | | Store | CONST | B | | | PROGSTORE | PROGSTORE [B] | |
187 | 10111011 | 10 | 111 | 011 | | | Store | CONST | C | | | PROGSTORE | PROGSTORE [C] | |
188 | 10111100 | 10 | 111 | 100 | | | Store | CONST | SP | | | PROGSTORE | PROGSTORE [SP] | |
189 | 10111101 | 10 | 111 | 101 | | | Store | CONST | PC | | | PROGSTORE | PROGSTORE [PC] | |
190 | 10111110 | 10 | 111 | 110 | | | Store | CONST | SP+/- | | | | | SP+/- doesn't make sense - not much of a PUSH |
191 | 10111111 | 10 | 111 | 111 | | | Store | CONST | CONST | | | PROGSTORE | PROGSTORE [CONST] | |
192 | 11000000 | 11 | | | 0000 | 00 | ALU | | | SET_ZERO | ACC/CONST | SET_ZERO | SET_ZERO ACC | |
193 | 11000001 | 11 | | | 0000 | 01 | ALU | | | SET_ZERO | A | SET_ZERO | SET_ZERO A | |
194 | 11000010 | 11 | | | 0000 | 10 | ALU | | | SET_ZERO | B | SET_ZERO | SET_ZERO B | |
195 | 11000011 | 11 | | | 0000 | 11 | ALU | | | SET_ZERO | C | SET_ZERO | SET_ZERO C | |
196 | 11000100 | 11 | | | 0001 | 00 | ALU | | | INCR | ACC/CONST | INCR | INCR ACC | |
197 | 11000101 | 11 | | | 0001 | 01 | ALU | | | INCR | A | INCR | INCR A | |
198 | 11000110 | 11 | | | 0001 | 10 | ALU | | | INCR | B | INCR | INCR B | |
199 | 11000111 | 11 | | | 0001 | 11 | ALU | | | INCR | C | INCR | INCR C | |
200 | 11001000 | 11 | | | 0010 | 00 | ALU | | | DECR | ACC/CONST | DECR | DECR ACC | |
201 | 11001001 | 11 | | | 0010 | 01 | ALU | | | DECR | A | DECR | DECR A | |
202 | 11001010 | 11 | | | 0010 | 10 | ALU | | | DECR | B | DECR | DECR B | |
203 | 11001011 | 11 | | | 0010 | 11 | ALU | | | DECR | C | DECR | DECR C | |
204 | 11001100 | 11 | | | 0011 | 00 | ALU | | | ADD | ACC/CONST | ADD | ADD CONST | |
205 | 11001101 | 11 | | | 0011 | 01 | ALU | | | ADD | A | ADD | ADD A | |
206 | 11001110 | 11 | | | 0011 | 10 | ALU | | | ADD | B | ADD | ADD B | |
207 | 11001111 | 11 | | | 0011 | 11 | ALU | | | ADD | C | ADD | ADD C | |
208 | 11010000 | 11 | | | 0100 | 00 | ALU | | | ADDC | ACC/CONST | ADDC | ADDC CONST | |
209 | 11010001 | 11 | | | 0100 | 01 | ALU | | | ADDC | A | ADDC | ADDC A | |
210 | 11010010 | 11 | | | 0100 | 10 | ALU | | | ADDC | B | ADDC | ADDC B | |
211 | 11010011 | 11 | | | 0100 | 11 | ALU | | | ADDC | C | ADDC | ADDC C | |
212 | 11010100 | 11 | | | 0101 | 00 | ALU | | | SUB | ACC/CONST | SUB | SUB CONST | |
213 | 11010101 | 11 | | | 0101 | 01 | ALU | | | SUB | A | SUB | SUB A | |
214 | 11010110 | 11 | | | 0101 | 10 | ALU | | | SUB | B | SUB | SUB B | |
215 | 11010111 | 11 | | | 0101 | 11 | ALU | | | SUB | C | SUB | SUB C | |
216 | 11011000 | 11 | | | 0110 | 00 | ALU | | | SUBB | ACC/CONST | SUBB | SUBB CONST | |
217 | 11011001 | 11 | | | 0110 | 01 | ALU | | | SUBB | A | SUBB | SUBB A | |
218 | 11011010 | 11 | | | 0110 | 10 | ALU | | | SUBB | B | SUBB | SUBB B | |
219 | 11011011 | 11 | | | 0110 | 11 | ALU | | | SUBB | C | SUBB | SUBB C | |
220 | 11011100 | 11 | | | 0111 | 00 | ALU | | | AND | ACC/CONST | AND | AND CONST | |
221 | 11011101 | 11 | | | 0111 | 01 | ALU | | | AND | A | AND | AND A | |
222 | 11011110 | 11 | | | 0111 | 10 | ALU | | | AND | B | AND | AND B | |
223 | 11011111 | 11 | | | 0111 | 11 | ALU | | | AND | C | AND | AND C | |
224 | 11100000 | 11 | | | 1000 | 00 | ALU | | | NAND | ACC/CONST | NAND | NAND CONST | |
225 | 11100001 | 11 | | | 1000 | 01 | ALU | | | NAND | A | NAND | NAND A | |
226 | 11100010 | 11 | | | 1000 | 10 | ALU | | | NAND | B | NAND | NAND B | |
227 | 11100011 | 11 | | | 1000 | 11 | ALU | | | NAND | C | NAND | NAND C | |
228 | 11100100 | 11 | | | 1001 | 00 | ALU | | | OR | ACC/CONST | OR | OR CONST | |
229 | 11100101 | 11 | | | 1001 | 01 | ALU | | | OR | A | OR | OR A | |
230 | 11100110 | 11 | | | 1001 | 10 | ALU | | | OR | B | OR | OR B | |
231 | 11100111 | 11 | | | 1001 | 11 | ALU | | | OR | C | OR | OR C | |
232 | 11101000 | 11 | | | 1010 | 00 | ALU | | | NOR | ACC/CONST | NOR | NOR CONST | |
233 | 11101001 | 11 | | | 1010 | 01 | ALU | | | NOR | A | NOR | NOR A | |
234 | 11101010 | 11 | | | 1010 | 10 | ALU | | | NOR | B | NOR | NOR B | |
235 | 11101011 | 11 | | | 1010 | 11 | ALU | | | NOR | C | NOR | NOR C | |
236 | 11101100 | 11 | | | 1011 | 00 | ALU | | | XOR | ACC/CONST | XOR | XOR CONST | |
237 | 11101101 | 11 | | | 1011 | 01 | ALU | | | XOR | A | XOR | XOR A | |
238 | 11101110 | 11 | | | 1011 | 10 | ALU | | | XOR | B | XOR | XOR B | |
239 | 11101111 | 11 | | | 1011 | 11 | ALU | | | XOR | C | XOR | XOR C | |
240 | 11110000 | 11 | | | 1100 | 00 | ALU | | | NXOR | ACC/CONST | NXOR | NXOR CONST | |
241 | 11110001 | 11 | | | 1100 | 01 | ALU | | | NXOR | A | NXOR | NXOR A | |
242 | 11110010 | 11 | | | 1100 | 10 | ALU | | | NXOR | B | NXOR | NXOR B | |
243 | 11110011 | 11 | | | 1100 | 11 | ALU | | | NXOR | C | NXOR | NXOR C | |
244 | 11110100 | 11 | | | 1101 | 00 | ALU | | | NOT | ACC/CONST | NOT | NOT ACC | |
245 | 11110101 | 11 | | | 1101 | 01 | ALU | | | NOT | A | NOT | NOT A | |
246 | 11110110 | 11 | | | 1101 | 10 | ALU | | | NOT | B | NOT | NOT B | |
247 | 11110111 | 11 | | | 1101 | 11 | ALU | | | NOT | C | NOT | NOT C | |
248 | 11111000 | 11 | | | 1110 | 00 | ALU | | | LSHIFT | ACC/CONST | LSHIFT | LSHIFT ACC | |
249 | 11111001 | 11 | | | 1110 | 01 | ALU | | | LSHIFT | A | LSHIFT | LSHIFT A | |
250 | 11111010 | 11 | | | 1110 | 10 | ALU | | | LSHIFT | B | LSHIFT | LSHIFT B | |
251 | 11111011 | 11 | | | 1110 | 11 | ALU | | | LSHIFT | C | LSHIFT | LSHIFT C | |
252 | 11111100 | 11 | | | 1111 | 00 | ALU | | | LSHIFTC | ACC/CONST | LSHIFTC | LSHIFTC ACC | |
253 | 11111101 | 11 | | | 1111 | 01 | ALU | | | LSHIFTC | A | LSHIFTC | LSHIFTC A | |
254 | 11111110 | 11 | | | 1111 | 10 | ALU | | | LSHIFTC | B | LSHIFTC | LSHIFTC B | |
255 | 11111111 | 11 | | | 1111 | 11 | ALU | | | LSHIFTC | C | LSHIFTC | LSHIFTC C | |