Close

OPS ENUMERATED - Draft

A project log for TIS-100 (Geiger)

An ATTINY based TIS-100 Clone

big-boy-peteBig Boy Pete 04/29/2016 at 23:200 Comments

This represents a complete OPCODE list with 14 Constants (int values) available and 10 Labels (byte values) available for creating subroutines. Constants were favored over Labels, but this is up for evaluation. NOP and HCF were both added to the official OPS-List. There is space for 2 more OPS...

0: SWP()
1: SAV()
2: NEG()
3: HCF()
4: NOP()
5: MOV(ACC,LEFT)
6: MOV(ACC,RIGHT)
7: MOV(ACC,UP)
8: MOV(ACC,DOWN)
9: MOV(ACC,ANY)
10: MOV(ACC,LAST)
11: MOV(LEFT,ACC)
12: MOV(LEFT,LEFT)
13: MOV(LEFT,RIGHT)
14: MOV(LEFT,UP)
15: MOV(LEFT,DOWN)
16: MOV(LEFT,ANY)
17: MOV(LEFT,LAST)
18: MOV(RIGHT,ACC)
19: MOV(RIGHT,LEFT)
20: MOV(RIGHT,RIGHT)
21: MOV(RIGHT,UP)
22: MOV(RIGHT,DOWN)
23: MOV(RIGHT,ANY)
24: MOV(RIGHT,LAST)
25: MOV(UP,ACC)
26: MOV(UP,LEFT)
27: MOV(UP,RIGHT)
28: MOV(UP,UP)
29: MOV(UP,DOWN)
30: MOV(UP,ANY)
31: MOV(UP,LAST)
32: MOV(DOWN,ACC)
33: MOV(DOWN,LEFT)
34: MOV(DOWN,RIGHT)
35: MOV(DOWN,UP)
36: MOV(DOWN,DOWN)
37: MOV(DOWN,ANY)
38: MOV(DOWN,LAST)
39: MOV(ANY,ACC)
40: MOV(ANY,LEFT)
41: MOV(ANY,RIGHT)
42: MOV(ANY,UP)
43: MOV(ANY,DOWN)
44: MOV(ANY,ANY)
45: MOV(ANY,LAST)
46: MOV(LAST,ACC)
47: MOV(LAST,LEFT)
48: MOV(LAST,RIGHT)
49: MOV(LAST,UP)
50: MOV(LAST,DOWN)
51: MOV(LAST,ANY)
52: MOV(LAST,LAST)
53: MOV(CONST1,ACC)
54: MOV(CONST1,LEFT)
55: MOV(CONST1,RIGHT)
56: MOV(CONST1,UP)
57: MOV(CONST1,DOWN)
58: MOV(CONST1,ANY)
59: MOV(CONST1,LAST)
60: MOV(CONST2,ACC)
61: MOV(CONST2,LEFT)
62: MOV(CONST2,RIGHT)
63: MOV(CONST2,UP)
64: MOV(CONST2,DOWN)
65: MOV(CONST2,ANY)
66: MOV(CONST2,LAST)
67: MOV(CONST4,ACC)
68: MOV(CONST4,LEFT)
69: MOV(CONST4,RIGHT)
70: MOV(CONST4,UP)
71: MOV(CONST4,DOWN)
72: MOV(CONST4,ANY)
73: MOV(CONST4,LAST)
74: MOV(CONST5,ACC)
75: MOV(CONST5,LEFT)
76: MOV(CONST5,RIGHT)
77: MOV(CONST5,UP)
78: MOV(CONST5,DOWN)
79: MOV(CONST5,ANY)
80: MOV(CONST5,LAST)
81: MOV(CONST6,ACC)
82: MOV(CONST6,LEFT)
83: MOV(CONST6,RIGHT)
84: MOV(CONST6,UP)
85: MOV(CONST6,DOWN)
86: MOV(CONST6,ANY)
87: MOV(CONST6,LAST)
88: MOV(CONST7,ACC)
89: MOV(CONST7,LEFT)
90: MOV(CONST7,RIGHT)
91: MOV(CONST7,UP)
92: MOV(CONST7,DOWN)
93: MOV(CONST7,ANY)
94: MOV(CONST7,LAST)
95: MOV(CONST8,ACC)
96: MOV(CONST8,LEFT)
97: MOV(CONST8,RIGHT)
98: MOV(CONST8,UP)
99: MOV(CONST8,DOWN)
100: MOV(CONST8,ANY)
101: MOV(CONST8,LAST)
102: MOV(CONST9,ACC)
103: MOV(CONST9,LEFT)
104: MOV(CONST9,RIGHT)
105: MOV(CONST9,UP)
106: MOV(CONST9,DOWN)
107: MOV(CONST9,ANY)
108: MOV(CONST9,LAST)
109: MOV(CONST10,ACC)
110: MOV(CONST10,LEFT)
111: MOV(CONST10,RIGHT)
112: MOV(CONST10,UP)
113: MOV(CONST10,DOWN)
114: MOV(CONST10,ANY)
115: MOV(CONST10,LAST)
116: MOV(CONST11,ACC)
117: MOV(CONST11,LEFT)
118: MOV(CONST11,RIGHT)
119: MOV(CONST11,UP)
120: MOV(CONST11,DOWN)
121: MOV(CONST11,ANY)
122: MOV(CONST11,LAST)
123: MOV(CONST12,ACC)
124: MOV(CONST12,LEFT)
125: MOV(CONST12,RIGHT)
126: MOV(CONST12,UP)
127: MOV(CONST12,DOWN)
128: MOV(CONST12,ANY)
129: MOV(CONST12,LAST)
130: MOV(CONST13,ACC)
131: MOV(CONST13,LEFT)
132: MOV(CONST13,RIGHT)
133: MOV(CONST13,UP)
134: MOV(CONST13,DOWN)
135: MOV(CONST13,ANY)
136: MOV(CONST13,LAST)
137: MOV(CONST14,ACC)
138: MOV(CONST14,LEFT)
139: MOV(CONST14,RIGHT)
140: MOV(CONST14,UP)
141: MOV(CONST14,DOWN)
142: MOV(CONST14,ANY)
143: MOV(CONST14,LAST)
144: ADD(ACC)
145: ADD(LEFT)
146: ADD(RIGHT)
147: ADD(UP)
148: ADD(DOWN)
149: ADD(ANY)
150: ADD(LAST)
151: ADD(CONST1)
152: ADD(CONST2)
153: ADD(CONST4)
154: ADD(CONST5)
155: ADD(CONST6)
156: ADD(CONST7)
157: ADD(CONST8)
158: ADD(CONST9)
159: ADD(CONST10)
160: ADD(CONST11)
161: ADD(CONST12)
162: ADD(CONST13)
163: ADD(CONST14)
164: SUB(ACC)
165: SUB(LEFT)
166: SUB(RIGHT)
167: SUB(UP)
168: SUB(DOWN)
169: SUB(ANY)
170: SUB(LAST)
171: SUB(CONST1)
172: SUB(CONST2)
173: SUB(CONST4)
174: SUB(CONST5)
175: SUB(CONST6)
176: SUB(CONST7)
177: SUB(CONST8)
178: SUB(CONST9)
179: SUB(CONST10)
180: SUB(CONST11)
181: SUB(CONST12)
182: SUB(CONST13)
183: SUB(CONST14)
184: JRO(ACC)
185: JRO(LEFT)
186: JRO(RIGHT)
187: JRO(UP)
188: JRO(DOWN)
189: JRO(ANY)
190: JRO(LAST)
191: JRO(CONST1)
192: JRO(CONST2)
193: JRO(CONST4)
194: JRO(CONST5)
195: JRO(CONST6)
196: JRO(CONST7)
197: JRO(CONST8)
198: JRO(CONST9)
199: JRO(CONST10)
200: JRO(CONST11)
201: JRO(CONST12)
202: JRO(CONST13)
203: JRO(CONST14)
204: JMP(LBL1)
205: JMP(LBL2)
206: JMP(LBL3)
207: JMP(LBL4)
208: JMP(LBL5)
209: JMP(LBL6)
210: JMP(LBL7)
211: JMP(LBL8)
212: JMP(LBL9)
213: JMP(LBL10)
214: JEZ(LBL1)
215: JEZ(LBL2)
216: JEZ(LBL3)
217: JEZ(LBL4)
218: JEZ(LBL5)
219: JEZ(LBL6)
220: JEZ(LBL7)
221: JEZ(LBL8)
222: JEZ(LBL9)
223: JEZ(LBL10)
224: JNZ(LBL1)
225: JNZ(LBL2)
226: JNZ(LBL3)
227: JNZ(LBL4)
228: JNZ(LBL5)
229: JNZ(LBL6)
230: JNZ(LBL7)
231: JNZ(LBL8)
232: JNZ(LBL9)
233: JNZ(LBL10)
234: JGZ(LBL1)
235: JGZ(LBL2)
236: JGZ(LBL3)
237: JGZ(LBL4)
238: JGZ(LBL5)
239: JGZ(LBL6)
240: JGZ(LBL7)
241: JGZ(LBL8)
242: JGZ(LBL9)
243: JGZ(LBL10)
244: JLZ(LBL1)
245: JLZ(LBL2)
246: JLZ(LBL3)
247: JLZ(LBL4)
248: JLZ(LBL5)
249: JLZ(LBL6)
250: JLZ(LBL7)
251: JLZ(LBL8)
252: JLZ(LBL9)
253: JLZ(LBL10)

254:GOTOSTART()

NOTE: Thanks to Ghazz in the TIS-100 Reddit this list has been amended to include ops like MOV(RIGHT,RIGHT) which allows the node at the right to store a variable without touching ACC.

Discussions