Research PDP7 development
[unix-history] / bi.s
CommitLineData
69f28986
KT
1" bi
2
3start:
4 jms initio
5 -1
6 tad .main
7 dac pc
8
9fetch:
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
23ifop:
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
37autop:
38 lac addr
39 tad dp
40 dac sp i
41 isz sp
42 isz sp
43 jmp fetch
44
45binop:
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
67basg:
68 lac t2 i
69 dac t1 i
70 dac t4 i
71 jmp fetch
72
73bor:
74 lac t1 i
75 lmq
76 lac t2 i
77 omq
78 dac t4 i
79 jmp fetch
80
81band:
82 lac t1 i
83 and t2 i
84 dac t4 i
85 jmp fetch
86
87beq:
88 lac t1 i
89 xor t2 i
90 sna cla
91 lac d1
92 dac t4 i
93 jmp fetch
94
95bne:
96 lac t1 i
97 xor t2 i
98 sza
99 lac d1
100 dac t4 i
101 jmp fetch
102
103ble:
104 lac t2 i
105 cma
106 tad t1 i
107 spa cla
108 lac d1
109 dac t4 i
110 jmp fetch
111
112blt:
113 lac t1 i
114 cma
115 tad t2 i
116 sma cla
117 lac d1
118 dac t4 i
119 jmp fetch
120
121bge:
122 lac t1 i
123 cma
124 tad t2 i
125 spa cla
126 lac d1
127 dac t4 i
128 jmp fetch
129
130bgt:
131 lac t2 i
132 cma
133 tad t1 i
134 sma cla
135 lac d1
136 dac t4 i
137 jmp fetch
138
139brsh:
140blsh:
141 hlt
142
143badd:
144 lac t1 i
145 tad t2 i
146 dac t4 i
147 jmp fetch
148
149bmin:
150 lac t1 i
151 cma
152 tad t2 i
153 cma
154 dac t4 i
155 jmp fetch
156
157bmod:
158 lac t2 i
159 dac .+4
160 lac t1 i
161 cll; idiv; ..
162 dac t4 i
163 jmp fetch
164
165bmul:
166 lac t2 i
167 dac .+4
168 lac t1 i
169 cll; mul; ..
170 lacq
171 dac t4 i
172 jmp fetch
173
174bdiv:
175 lac t2 i
176 dac .+4
177 lac t1 i
178 cll; idiv; ..
179 lacq
180 dac t4 i
181 jmp fetch
182
183consop:
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
193etcop:
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
201mcall:
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
221mark:
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
237call:
238 lac ap
239 tad d1
240 dac 8
241 dac 9
2421:
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
271vector:
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
286litrl:
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
296goto:
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
307retrn:
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
332escp:
333 law 2
334 tad pc
335 dac t1
336 jmp t1 i
337
338setop:
339 lac addr
340 tad dp
341 dac sp
342 jmp fetch
343
344traop:
345 -1
346 tad addr
347 dac pc
348 jmp fetch
349
350unaop:
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
367uadr:
368 lac t1
369 dac t3 i
370 jmp fetch
371
372umin:
373 -1
374 tad t1 i
375 cma
376 dac t3 i
377 jmp fetch
378
379uind:
380 lac t1 i
381 dac t2 i
382 jmp fetch
383
384unot:
385 lac t1 i
386 sna cla
387 lac d1
388 dac t3 i
389 jmp fetch
390
391extop:
392 lac addr
393 dac sp i
394 isz sp
395 isz sp
396 jmp fetch
397
398aryop:
399 lac addr
400 tad dp
401 dac t1
402 tad d1
403 dac t1 i
404 jmp fetch
405
406a = 040000
407b = a+a
408c = b+a
409f = c+a
410n = f+a
411s = n+a
412t = s+a
413u = t+a
414x = u+a
415y = x+a
416
417d1: 1
418dm1: -1
419dm2: -2
420o17777: 017777
421
422t1: 0
423t2: 0
424t3: 0
425t4: 0
426addr: 0
427
428pc = 017
429
430sp: stack
431dp: stack
432ap: stack
433stack: 0