Commit | Line | Data |
---|---|---|
69f28986 KT |
1 | " bi |
2 | ||
3 | start: | |
4 | jms initio | |
5 | -1 | |
6 | tad .main | |
7 | dac pc | |
8 | ||
9 | fetch: | |
10 | lac pc i | |
11 | lmq | |
12 | and o17777 | |
13 | dac addr | |
14 | ecla lls 4 | |
15 | tad .+3 | |
16 | dac .+1 | |
17 | jmp .. i | |
18 | jmp . i | |
19 | autop; binop; consop; ifop; etcop; setop; traop | |
20 | unaop; extop; aryop | |
21 | ||
22 | ||
23 | ifop: | |
24 | -2 | |
25 | tad sp | |
26 | dac sp | |
27 | lac sp i | |
28 | dac t1 | |
29 | lac t1 i | |
30 | sza | |
31 | jmp fetch | |
32 | -1 | |
33 | tad addr i | |
34 | dac pc | |
35 | jmp fetch | |
36 | ||
37 | autop: | |
38 | lac addr | |
39 | tad dp | |
40 | dac sp i | |
41 | isz sp | |
42 | isz sp | |
43 | jmp fetch | |
44 | ||
45 | binop: | |
46 | -2 | |
47 | tad sp | |
48 | dac sp | |
49 | tad dm1 | |
50 | dac t4 | |
51 | tad dm1 | |
52 | dac t3 | |
53 | lac t3 i | |
54 | dac t1 | |
55 | lac sp i | |
56 | dac t2 | |
57 | lac t4 | |
58 | dac t3 i | |
59 | lac addr | |
60 | tad .+3 | |
61 | dac .+1 | |
62 | jmp .. i | |
63 | jmp . i | |
64 | basg; bor; band; beq; bne; ble; blt; bge; bgt; brsh; blsh | |
65 | badd; bmin; bmod; bmul; bdiv | |
66 | ||
67 | basg: | |
68 | lac t2 i | |
69 | dac t1 i | |
70 | dac t4 i | |
71 | jmp fetch | |
72 | ||
73 | bor: | |
74 | lac t1 i | |
75 | lmq | |
76 | lac t2 i | |
77 | omq | |
78 | dac t4 i | |
79 | jmp fetch | |
80 | ||
81 | band: | |
82 | lac t1 i | |
83 | and t2 i | |
84 | dac t4 i | |
85 | jmp fetch | |
86 | ||
87 | beq: | |
88 | lac t1 i | |
89 | xor t2 i | |
90 | sna cla | |
91 | lac d1 | |
92 | dac t4 i | |
93 | jmp fetch | |
94 | ||
95 | bne: | |
96 | lac t1 i | |
97 | xor t2 i | |
98 | sza | |
99 | lac d1 | |
100 | dac t4 i | |
101 | jmp fetch | |
102 | ||
103 | ble: | |
104 | lac t2 i | |
105 | cma | |
106 | tad t1 i | |
107 | spa cla | |
108 | lac d1 | |
109 | dac t4 i | |
110 | jmp fetch | |
111 | ||
112 | blt: | |
113 | lac t1 i | |
114 | cma | |
115 | tad t2 i | |
116 | sma cla | |
117 | lac d1 | |
118 | dac t4 i | |
119 | jmp fetch | |
120 | ||
121 | bge: | |
122 | lac t1 i | |
123 | cma | |
124 | tad t2 i | |
125 | spa cla | |
126 | lac d1 | |
127 | dac t4 i | |
128 | jmp fetch | |
129 | ||
130 | bgt: | |
131 | lac t2 i | |
132 | cma | |
133 | tad t1 i | |
134 | sma cla | |
135 | lac d1 | |
136 | dac t4 i | |
137 | jmp fetch | |
138 | ||
139 | brsh: | |
140 | blsh: | |
141 | hlt | |
142 | ||
143 | badd: | |
144 | lac t1 i | |
145 | tad t2 i | |
146 | dac t4 i | |
147 | jmp fetch | |
148 | ||
149 | bmin: | |
150 | lac t1 i | |
151 | cma | |
152 | tad t2 i | |
153 | cma | |
154 | dac t4 i | |
155 | jmp fetch | |
156 | ||
157 | bmod: | |
158 | lac t2 i | |
159 | dac .+4 | |
160 | lac t1 i | |
161 | cll; idiv; .. | |
162 | dac t4 i | |
163 | jmp fetch | |
164 | ||
165 | bmul: | |
166 | lac t2 i | |
167 | dac .+4 | |
168 | lac t1 i | |
169 | cll; mul; .. | |
170 | lacq | |
171 | dac t4 i | |
172 | jmp fetch | |
173 | ||
174 | bdiv: | |
175 | lac t2 i | |
176 | dac .+4 | |
177 | lac t1 i | |
178 | cll; idiv; .. | |
179 | lacq | |
180 | dac t4 i | |
181 | jmp fetch | |
182 | ||
183 | consop: | |
184 | lac sp | |
185 | tad d1 | |
186 | dac sp i | |
187 | isz sp | |
188 | lac addr | |
189 | dac sp i | |
190 | isz sp | |
191 | jmp fetch | |
192 | ||
193 | etcop: | |
194 | lac addr | |
195 | tad .+3 | |
196 | dac .+1 | |
197 | jmp .. i | |
198 | jmp . i | |
199 | mcall; mark; call; vector; litrl; goto; retrn; escp | |
200 | ||
201 | mcall: | |
202 | -2 | |
203 | tad sp | |
204 | dac t1 | |
205 | lac t1 i | |
206 | dac t2 | |
207 | -1 | |
208 | tad t2 i | |
209 | lmq | |
210 | lac dp | |
211 | dac t1 i | |
212 | lac t1 | |
213 | dac dp | |
214 | isz t1 | |
215 | lac pc | |
216 | dac t1 i | |
217 | lacq | |
218 | dac pc | |
219 | jmp fetch | |
220 | ||
221 | mark: | |
222 | -1 | |
223 | tad sp | |
224 | dac t2 | |
225 | tad dm1 | |
226 | dac t1 | |
227 | lac t1 i | |
228 | dac t3 | |
229 | lac t3 i | |
230 | dac t2 i | |
231 | lac ap | |
232 | dac t1 i | |
233 | lac t1 | |
234 | dac ap | |
235 | jmp fetch | |
236 | ||
237 | call: | |
238 | lac ap | |
239 | tad d1 | |
240 | dac 8 | |
241 | dac 9 | |
242 | 1: | |
243 | lac 8 i | |
244 | dac t1 | |
245 | lac t1 i | |
246 | dac 9 i | |
247 | isz 8 | |
248 | -1 | |
249 | tad sp | |
250 | sad 8 | |
251 | skp | |
252 | jmp 1b | |
253 | lac ap i | |
254 | lmq | |
255 | lac dp | |
256 | dac ap i | |
257 | lac ap | |
258 | dac dp | |
259 | isz ap | |
260 | -1 | |
261 | tad ap i | |
262 | dac t1 | |
263 | lac pc | |
264 | dac ap i | |
265 | lacq | |
266 | dac ap | |
267 | lac t1 | |
268 | dac pc | |
269 | jmp fetch | |
270 | ||
271 | vector: | |
272 | -2 | |
273 | tad sp | |
274 | dac sp | |
275 | tad dm2 | |
276 | dac t1 | |
277 | lac sp i | |
278 | dac t2 | |
279 | lac t1 i | |
280 | dac t3 | |
281 | lac t3 i | |
282 | tad t2 i | |
283 | dac t1 i | |
284 | jmp fetch | |
285 | ||
286 | litrl: | |
287 | lac sp | |
288 | tad d1 | |
289 | dac sp i | |
290 | isz sp | |
291 | lac pc i | |
292 | dac sp i | |
293 | isz sp | |
294 | jmp fetch | |
295 | ||
296 | goto: | |
297 | -2 | |
298 | tad sp | |
299 | dac sp | |
300 | lac sp i | |
301 | dac t1 | |
302 | -1 | |
303 | tad t1 i | |
304 | dac pc | |
305 | jmp fetch | |
306 | ||
307 | retrn: | |
308 | -2 | |
309 | tad sp | |
310 | dac sp | |
311 | lac sp i | |
312 | dac t1 | |
313 | lac t1 i | |
314 | lmq | |
315 | lac dp | |
316 | dac sp | |
317 | dac t1 | |
318 | lac sp i | |
319 | sna | |
320 | jmp stop | |
321 | dac dp | |
322 | isz sp | |
323 | lac sp | |
324 | dac t1 i | |
325 | lac sp i | |
326 | dac pc | |
327 | lacq | |
328 | dac sp i | |
329 | isz sp | |
330 | jmp fetch | |
331 | ||
332 | escp: | |
333 | law 2 | |
334 | tad pc | |
335 | dac t1 | |
336 | jmp t1 i | |
337 | ||
338 | setop: | |
339 | lac addr | |
340 | tad dp | |
341 | dac sp | |
342 | jmp fetch | |
343 | ||
344 | traop: | |
345 | -1 | |
346 | tad addr | |
347 | dac pc | |
348 | jmp fetch | |
349 | ||
350 | unaop: | |
351 | -1 | |
352 | tad sp | |
353 | dac t3 | |
354 | tad dm1 | |
355 | dac t2 | |
356 | lac t2 i | |
357 | dac t1 | |
358 | lac t3 | |
359 | dac t2 i | |
360 | lac addr | |
361 | tad .+3 | |
362 | dac .+1 | |
363 | jmp .. i | |
364 | jmp . i | |
365 | uadr; umin; uind; unot | |
366 | ||
367 | uadr: | |
368 | lac t1 | |
369 | dac t3 i | |
370 | jmp fetch | |
371 | ||
372 | umin: | |
373 | -1 | |
374 | tad t1 i | |
375 | cma | |
376 | dac t3 i | |
377 | jmp fetch | |
378 | ||
379 | uind: | |
380 | lac t1 i | |
381 | dac t2 i | |
382 | jmp fetch | |
383 | ||
384 | unot: | |
385 | lac t1 i | |
386 | sna cla | |
387 | lac d1 | |
388 | dac t3 i | |
389 | jmp fetch | |
390 | ||
391 | extop: | |
392 | lac addr | |
393 | dac sp i | |
394 | isz sp | |
395 | isz sp | |
396 | jmp fetch | |
397 | ||
398 | aryop: | |
399 | lac addr | |
400 | tad dp | |
401 | dac t1 | |
402 | tad d1 | |
403 | dac t1 i | |
404 | jmp fetch | |
405 | ||
406 | a = 040000 | |
407 | b = a+a | |
408 | c = b+a | |
409 | f = c+a | |
410 | n = f+a | |
411 | s = n+a | |
412 | t = s+a | |
413 | u = t+a | |
414 | x = u+a | |
415 | y = x+a | |
416 | ||
417 | d1: 1 | |
418 | dm1: -1 | |
419 | dm2: -2 | |
420 | o17777: 017777 | |
421 | ||
422 | t1: 0 | |
423 | t2: 0 | |
424 | t3: 0 | |
425 | t4: 0 | |
426 | addr: 0 | |
427 | ||
428 | pc = 017 | |
429 | ||
430 | sp: stack | |
431 | dp: stack | |
432 | ap: stack | |
433 | stack: 0 |