Created
June 12, 2010 21:33
-
-
Save RTfXGaGeqSeItbMUgpFlekUs/436103 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/lisp 3-23-64 : 1 field Page 1 | |
1 /lisp 3-23-64 : 1 field | |
2 | |
3 /// Null Macro | |
4 define extend | |
5 termin | |
6 | |
7 /// sign extend B and deposit at A - never used! | |
8 define 1load A,B | |
9 law B | |
10 dac A | |
11 termin | |
12 | |
13 /// sign extend B and deposit address part into A - why? | |
14 define init A,B | |
15 law B | |
16 dap A | |
17 termin | |
18 | |
19 /// A=A+1, A!=B -> JMP C | |
20 define index A,B,C | |
21 idx A | |
22 sas B | |
23 jmp C | |
24 termin | |
25 | |
26 define step A,B,C | |
27 index A,(B,C | |
28 termin | |
29 | |
30 define setup A,B | |
31 law i B | |
32 dac A | |
33 termin | |
34 | |
35 define exit R /** | |
36 jmp R | |
37 termin | |
38 | |
39 /// only used in load | |
40 define move A,B | |
41 lac A | |
42 dac B | |
43 termin | |
44 | |
45 define load A,B | |
46 move (B,A | |
47 termin | |
48 | |
49 define count A,B | |
50 isp A | |
51 jmp B | |
52 termin | |
53 | |
54 define test K,P | |
55 sad (K | |
56 jmp P | |
57 termin | |
/lisp 3-23-64 : 1 field Page 2 | |
58 | |
59 /// decrease (some number) by one | |
60 define undex A | |
61 /// load AC with -1, add A to it, and write it back | |
62 law i 1 | |
63 add A | |
64 dac A | |
65 termin | |
66 | |
67 /// swap AC & IO | |
68 define swap | |
69 rcl 9s | |
70 rcl 9s | |
71 termin | |
72 | |
73 652000 smi=spi i | |
74 640500 szm=sza sma-szf | |
75 650500 spq=szm i | |
76 000000 xy=0 | |
77 760400 xx=hlt | |
78 651600 clo=spa sma szo i-szf-szf | |
79 540000 mul=540000 | |
80 560000 div=560000 | |
81 | |
82 000100 start | |
83 /Lisp interpreter 3-20-64, part 1 | |
84 | |
85 000004 4/ | |
86 /go | |
87 00004 764607 go, hlt+cla+cli+7-opr-opr | |
88 00005 760016 stf 6 | |
89 /// does nothing | |
90 extend | |
91 00006 340077 dzm 77 | |
92 00007 700077 law 77 | |
93 00010 261136 dap avx | |
94 | |
95 /// beginning | |
96 00011 702350 beg, law pdo-1 | |
97 00012 242344 dac pdl | |
98 00013 200234 lac n | |
99 00014 242346 dac ar2 | |
100 00015 161304 cal rin | |
101 00016 161564 cal evo | |
102 00017 161235 cal pnt | |
103 00020 600011 jmp beg | |
104 | |
105 /// temporary storage, sub zero | |
106 00021 000000 t0, 0 | |
107 | |
108 /// temporary storage, sub one | |
109 00022 000000 t1, 0 | |
110 | |
111 /// garbage collector, temporary storage, sub zero | |
112 00023 000000 g0, 0 | |
113 | |
114 /// garbage collector, temporary storage, sub one | |
/lisp 3-23-64 : 1 field Page 3 | |
115 00024 000000 g1, 0 | |
116 00025 000000 hi, 0 | |
117 00026 000072 csi, 72 | |
118 00027 000072 cso, 72 | |
119 00030 000000 ffi, 0 | |
120 | |
121 /// garbage collector, argument one | |
122 00031 000000 ga1, 0 | |
123 00032 000000 0 | |
124 | |
125 /// input string initial (points to a string of characters just read in) | |
126 00033 000032 isi, isi-1 | |
127 | |
128 /// table for symbol generator | |
129 00034 000020 gst, repeat 5,20 | |
00035 000020 | |
00036 000020 | |
00037 000020 | |
00040 000020 | |
130 | |
131 /// Argument sub 0 | |
132 00041 000000 a0, 0 | |
133 | |
134 /// Argument sub 1 | |
135 00042 000000 a1, 0 | |
136 00043 000000 a2, 0 | |
137 | |
138 /// push word on list (append word to push-down list) | |
139 /append word to pdl | |
140 00044 000000 pwl, 0 | |
141 /// put return address into jmp instruction | |
142 00045 260053 dap pwx | |
143 /// next position on push-down list | |
144 00046 442344 idx pdl | |
145 00047 502342 sad bfw | |
146 /// ran into bfw | |
147 00050 602214 jmp qg2 | |
148 /// restore accumulator | |
149 00051 200044 lac pwl | |
150 /// put it onto list | |
151 00052 252344 dac i pdl | |
152 /// push word exit | |
153 pwx, exit | |
00053 600000 | |
154 | |
155 /retrieve word from pdl | |
156 /unsave word; retrieve word from push down list | |
157 /unsave word from list | |
158 00054 000000 uw, 0 | |
159 00055 260062 uwl, dap uwx | |
160 00056 232344 lio i pdl | |
161 /// subtract 1 from pdl | |
162 undex pdl | |
00057 710001 | |
00060 402344 | |
00061 242344 | |
163 /// unsave word, exit | |
/lisp 3-23-64 : 1 field Page 4 | |
164 uwx, exit | |
00062 600000 | |
165 | |
166 /// buffer | |
167 buf, | |
168 000077 77/ 0 | |
00077 000000 | |
169 | |
170 /// This is where cal goes! | |
171 /// This is the eval interpreter, duh-head! | |
172 /// so... where >is< rx? A fair question, methinks. | |
173 00100 000000 0 | |
174 /// save return address | |
175 00101 260561 dap rx | |
176 /// get address of original cal instruction | |
177 00102 422243 sub (1 | |
178 /// put it into next instruction | |
179 00103 260104 dap .+1 | |
180 /// get what was at that address | |
181 00104 200000 lac xy | |
182 /// make that the return adddress from the interpreter | |
183 00105 260111 dap ave+1 | |
184 /// get return address back and push on stack | |
185 00106 200561 lac rx | |
186 00107 170044 jda pwl | |
187 /// advance, end | |
188 /// restore AC | |
189 00110 200100 ave, lac 100 | |
190 exit | |
00111 600000 | |
191 | |
192 /create number | |
193 00112 222244 crn, lio (jmp | |
194 00113 663003 rcl 2s | |
195 00114 671003 rar 2s | |
196 00115 240100 dac 100 | |
197 00116 600762 jmp cpf | |
198 | |
199 /print or punch character | |
200 00117 022245 pc, and (77 | |
201 00120 502246 sad (76 | |
202 00121 600556 jmp x | |
203 00122 042247 ior (ral | |
204 00123 240135 dac pcc | |
205 00124 502250 sad (ral 77 | |
206 00125 600132 jmp pcc-3 | |
207 00126 460143 isp pch | |
208 00127 600134 jmp pcc-1 | |
209 00130 700277 law 277 | |
210 00131 160210 cal out | |
211 00132 710100 law i 100 | |
212 00133 240143 dac pch | |
213 00134 700252 law 252 | |
214 | |
215 /// punch character, computer correct parity for punching | |
216 00135 760400 pcc, xx | |
217 00136 022251 and (200 | |
/lisp 3-23-64 : 1 field Page 5 | |
218 00137 040135 ior pcc | |
219 00140 240100 dac 100 | |
220 00141 760012 stf 2 | |
221 00142 600210 jmp out | |
222 | |
223 /// punch charater count, producing carriage return (generated after 64 | |
224 /// (decimal) characters) | |
225 00143 777677 pch, -100 | |
226 | |
227 /get numeric value | |
228 00144 230100 vag, lio i 100 | |
229 00145 760200 cla | |
230 00146 663003 rcl 2s | |
231 00147 522252 sas (3 | |
232 00150 602222 jmp qi3 | |
233 00151 440100 idx 100 | |
234 00152 210100 lac i 100 | |
235 00153 663377 rcl 8s | |
236 00154 663377 rcl 8s | |
237 00155 600556 jmp x | |
238 | |
239 /get two values | |
240 00156 320042 vad, dio a1 | |
241 00157 160144 cal vag | |
242 00160 240041 dac a0 | |
243 00161 200042 lac a1 | |
244 00162 160144 cal vag | |
245 00163 240042 dac a1 | |
246 00164 600556 jmp x | |
247 | |
248 /// output character | |
249 /pack character onto end of buffer | |
250 00165 671077 oc, rar 6s | |
251 00166 230033 lio i isi | |
252 00167 663077 rcl 6s | |
253 00170 502246 sad (76 | |
254 00171 600206 jmp oc1 | |
255 00172 200100 lac 100 | |
256 00173 042253 ior (767600 | |
257 00174 160761 cal cf | |
258 00175 220021 lio t0 | |
259 00176 440021 idx t0 | |
260 00177 440033 idx isi | |
261 00200 240042 dac a1 | |
262 00201 320033 dio isi | |
263 00202 210042 lac i a1 | |
264 00203 250021 dac i t0 | |
265 00204 330042 dio i a1 | |
266 00205 600556 jmp x | |
267 | |
268 /// output character, sub one | |
269 00206 330033 oc1, dio i isi | |
270 00207 600556 jmp x | |
271 | |
272 /output routine | |
273 00210 220100 out, lio 100 | |
274 00211 640036 szs 36 | |
/lisp 3-23-64 : 1 field Page 6 | |
275 00212 730005 ppa | |
276 00213 650066 szs i 66 | |
277 00214 730003 tyo | |
278 00215 600556 jmp x | |
279 | |
280 /error printout | |
281 00216 760006 err, clf 6 | |
282 00217 260226 dap erx | |
283 00220 210226 lac i erx | |
284 00221 240231 dac ern | |
285 00222 700227 law erm | |
286 00223 160712 cal pra | |
287 00224 760016 stf 6 | |
288 00225 440226 idx erx | |
289 | |
290 /// error exit | |
291 erx, exit | |
00226 600000 | |
292 | |
293 /// error message | |
294 00227 357776 erm, 357776 | |
295 00230 000231 .+1 | |
296 | |
297 /// error name | |
298 00231 000000 ern, 0 | |
299 00232 000233 .+1 | |
300 00233 347776 347776 | |
301 | |
302 /// NIL (register containing) | |
303 00234 002500 n,fro, nil | |
304 | |
305 define error F | |
306 jsp err | |
307 F | |
308 termin | |
309 | |
310 /garbage collector, non-compacting | |
311 00235 260356 gc, dap gcx | |
312 00236 320031 dio ga1 | |
313 00237 320267 dio gfr | |
314 00240 200267 lac gfr | |
315 00241 675003 sar 2s | |
316 00242 640100 sza | |
317 00243 620270 jsp gfr+1 | |
318 00244 200030 lac ffi | |
319 00245 650100 sza i | |
320 00246 600251 jmp gco | |
321 00247 200100 lac 100 | |
322 00250 170267 jda gfr | |
323 00251 212334 gco, lac i 1ob | |
324 00252 170267 jda gfr | |
325 00253 200033 lac isi | |
326 00254 522254 sas (isi-1 | |
327 00255 600363 jmp gci | |
328 00256 702345 law pdl+1 | |
329 00257 240024 dac g1 | |
330 | |
/lisp 3-23-64 : 1 field Page 7 | |
331 /// garbage collector, push-down | |
332 00260 210024 gcp, lac i g1 | |
333 00261 170267 jda gfr | |
334 00262 440024 idx g1 | |
335 00263 422243 sub (1 | |
336 00264 502344 sad pdl | |
337 00265 600341 jmp g2e | |
338 00266 600260 jmp gcp | |
339 | |
340 /// garbage, free; (not returned to free storage) | |
341 /mark one list | |
342 00267 000000 gfr, 0 | |
343 00270 260322 dap gfx | |
344 00271 200267 lac gfr | |
345 00272 661001 ral 1s | |
346 00273 650500 spq | |
347 00274 600322 jmp gfx | |
348 /// push pdl on stack | |
349 00275 202344 lac pdl | |
350 00276 170044 jda pwl | |
351 | |
352 /// garbage, free, next | |
353 00277 230267 gfn, lio i gfr | |
354 00300 440267 idx gfr | |
355 00301 210267 lac i gfr | |
356 00302 640200 spa | |
357 00303 600316 jmp gfu | |
358 00304 042255 ior (add | |
359 00305 250267 dac i gfr | |
360 00306 642000 spi | |
361 /// push gfd on stack | |
362 00307 600313 jmp gfd | |
363 00310 170044 jda pwl | |
364 00311 320267 dio gfr | |
365 00312 600277 jmp gfn | |
366 00313 662001 gfd, ril 1s | |
367 00314 652000 spi i | |
368 00315 600323 jmp gfa | |
369 | |
370 /// garbage, free, unsave | |
371 00316 620055 gfu, jsp uwl | |
372 00317 320267 dio gfr | |
373 00320 520267 sas gfr | |
374 00321 600277 jmp gfn | |
375 /// garbage, free, exit | |
376 gfx, exit | |
00322 600000 | |
377 | |
378 00323 672001 gfa, rir 1s | |
379 00324 320023 dio g0 | |
380 00325 240267 dac gfr | |
381 00326 440023 gfl, idx g0 | |
382 00327 210023 lac i g0 | |
383 00330 640200 spa | |
384 00331 600277 jmp gfn | |
385 00332 042255 ior (add | |
386 00333 250023 dac i g0 | |
/lisp 3-23-64 : 1 field Page 8 | |
387 00334 240023 dac g0 | |
388 00335 062255 xor (add | |
389 00336 520234 sas n | |
390 00337 600326 jmp gfl | |
391 00340 600277 jmp gfn | |
392 | |
393 /// garbage collector, part 2, entry | |
394 / garbage collector, linear sweep phase | |
395 00341 200234 g2e, lac fro | |
396 00342 240023 dac g0 | |
397 | |
398 /// garbage collector, part 2, next | |
399 00343 440023 g2n, idx g0 | |
400 00344 230023 lio i g0 | |
401 00345 652000 smi | |
402 00346 600357 jmp g2f | |
403 00347 662001 ril 1s | |
404 00350 676001 sir 1s | |
405 | |
406 /// garbage collector, part 2, advance | |
407 00351 330023 g2a, dio i g0 | |
408 00352 440023 idx g0 | |
409 00353 520025 sas hi | |
410 00354 600343 jmp g2n | |
411 | |
412 /// garbage collector, part 2, exit | |
413 00355 220031 g2x, lio ga1 | |
414 | |
415 /// garbage collector, exit | |
416 gcx, exit | |
00356 600000 | |
417 | |
418 /// garbage collector, part 2, free | |
419 00357 222341 g2f, lio fre | |
420 00360 422243 sub (1 | |
421 00361 242341 dac fre | |
422 00362 600351 jmp g2a | |
423 | |
424 00363 500234 gci, sad n | |
425 00364 600256 jmp gcp-2 | |
426 00365 240267 dac gfr | |
427 00366 240023 dac g0 | |
428 /// push pdl on stack | |
429 00367 202344 lac pdl | |
430 00370 170044 jda pwl | |
431 00371 700256 law gcp-2 | |
432 00372 260322 dap gfx | |
433 00373 600326 jmp gfl | |
434 | |
435 /// ASSOC origin | |
436 /SASSOC | |
437 00374 160403 aso, cal asc | |
438 00375 600377 jmp ase | |
439 00376 600556 jmp x | |
440 /// ASSOC entry | |
441 00377 200043 ase, lac a2 | |
442 00400 160613 cal cns-1 | |
/lisp 3-23-64 : 1 field Page 9 | |
443 00401 601564 jmp evo | |
444 | |
445 00402 222346 asr, lio ar2 /** | |
446 00403 320042 asc, dio a1 | |
447 00404 200042 lac a1 | |
448 | |
449 00405 500234 as1, sad n | |
450 00406 600556 jmp x | |
451 00407 210042 lac i a1 | |
452 00410 240021 dac t0 | |
453 00411 210021 lac i t0 | |
454 00412 500100 sad 100 | |
455 00413 600420 jmp as2 | |
456 00414 440042 idx a1 | |
457 00415 210042 lac i a1 | |
458 00416 240042 dac a1 | |
459 00417 600405 jmp as1 | |
460 | |
461 /// ASSOC sub 2 | |
462 00420 452344 as2, idx i pdl | |
463 00421 200021 lac t0 | |
464 00422 600556 jmp x | |
465 | |
466 /program feature | |
467 | |
468 /PROG | |
469 /// push pa3 on stack | |
470 00423 202347 pgm, lac pa3 | |
471 00424 170044 jda pwl | |
472 /// push pa4 on stack | |
473 00425 202350 lac pa4 | |
474 00426 170044 jda pwl | |
475 00427 342350 dzm pa4 | |
476 00430 322346 dio ar2 | |
477 00431 230100 lio i 100 | |
478 00432 440100 idx 100 | |
479 00433 210100 lac i 100 | |
480 00434 242347 dac pa3 | |
481 00435 322345 dio ar1 | |
482 | |
483 /append program variables | |
484 | |
485 00436 202345 lac ar1 | |
486 | |
487 00437 500234 pg5, sad n | |
488 00440 600452 jmp pg6 | |
489 00441 212345 lac i ar1 | |
490 00442 160613 cal cns-1 | |
491 00443 222346 lio ar2 | |
492 00444 160614 cal cns | |
493 00445 242346 dac ar2 | |
494 00446 442345 idx ar1 | |
495 00447 212345 lac i ar1 | |
496 00450 242345 dac ar1 | |
497 00451 600437 jmp pg5 | |
498 | |
499 /expand go-list (on a-list) | |
/lisp 3-23-64 : 1 field Page 10 | |
500 | |
501 00452 202347 pg6, lac pa3 | |
502 | |
503 00453 242345 pg7, dac ar1 | |
504 00454 500234 sad n | |
505 00455 600471 jmp pg0 | |
506 00456 212345 lac i ar1 | |
507 00457 160555 cal car | |
508 00460 640400 sma | |
509 00461 600466 jmp pg9 | |
510 00462 202345 lac ar1 | |
511 00463 222346 lio ar2 | |
512 00464 160614 cal cns | |
513 00465 242346 dac ar2 | |
514 | |
515 00466 442345 pg9, idx ar1 | |
516 00467 212345 lac i ar1 | |
517 00470 600453 jmp pg7 | |
518 | |
519 /// program feature, sub zero | |
520 /process program | |
521 00471 202347 pg0, lac pa3 | |
522 /// program feature, sub one | |
523 00472 500234 pg1, sad n | |
524 00473 600516 jmp pg2 | |
525 00474 212347 lac i pa3 | |
526 00475 160555 cal car | |
527 00476 640200 spa | |
528 00477 600511 jmp pg3 | |
529 /// push ar2 on stack | |
530 00500 202346 lac ar2 | |
531 00501 170044 jda pwl | |
532 00502 200100 lac 100 | |
533 00503 161564 cal evo | |
534 00504 620055 jsp uwl | |
535 00505 322346 dio ar2 | |
536 00506 760200 cla | |
537 00507 522350 sas pa4 | |
538 00510 600515 jmp pg4 | |
539 | |
540 00511 442347 pg3, idx pa3 | |
541 00512 212347 lac i pa3 | |
542 00513 242347 dac pa3 | |
543 00514 600472 jmp pg1 | |
544 | |
545 /terminate program | |
546 | |
547 00515 202350 pg4, lac pa4 | |
548 /// program feature, sub 2 | |
549 00516 170054 pg2, jda uw | |
550 00517 322350 dio pa4 | |
551 00520 620055 jsp uwl | |
552 00521 322347 dio pa3 | |
553 00522 200054 lac uw | |
554 00523 600556 jmp x | |
555 | |
556 /RETURN | |
/lisp 3-23-64 : 1 field Page 11 | |
557 00524 242350 ret, dac pa4 | |
558 00525 600556 jmp x | |
559 | |
560 /// GOE (lengthened) | |
561 /GO | |
562 00526 220100 goe, lio 100 | |
563 00527 200234 lac n | |
564 00530 160614 cal cns | |
565 00531 242347 dac pa3 | |
566 00532 602241 jmp prx | |
567 | |
568 /SETQ | |
569 00533 242345 stq, dac ar1 | |
570 00534 320022 dio t1 | |
571 00535 212345 lac i ar1 | |
572 00536 160403 cal asc | |
573 /// push qa4 on stack | |
574 00537 602163 jmp qa4 | |
575 00540 170044 jda pwl | |
576 00541 202345 lac ar1 | |
577 00542 160554 cal cdr | |
578 00543 160555 cal car | |
579 00544 220022 lio t1 | |
580 00545 161563 cal evl | |
581 00546 170054 jda uw | |
582 00547 320021 dio t0 | |
583 00550 440021 idx t0 | |
584 00551 200054 lac uw | |
585 00552 250021 dac i t0 | |
586 00553 600556 jmp x | |
587 | |
588 /// (Contents of Decrement Register) | |
589 /CDR | |
590 00554 440100 cdr, idx 100 | |
591 | |
592 /// (Contents of Address Register) | |
593 /CAR | |
594 00555 210100 car, lac i 100 | |
595 /// exit from machine language LISP functions | |
596 00556 170054 x, jda uw | |
597 00557 320561 dio rx | |
598 00560 200054 lac uw | |
599 /// return to calling sequence of a subroutine | |
600 rx, exit | |
00561 600000 | |
601 | |
602 /ATOM | |
603 00562 210100 atm, lac i 100 | |
604 00563 640400 sma | |
605 00564 602241 jmp fal | |
606 | |
607 /// true | |
608 00565 202343 tru, lac tr | |
609 00566 600556 jmp x | |
610 | |
611 /NULL | |
612 00567 220234 nul, lio n | |
/lisp 3-23-64 : 1 field Page 12 | |
613 | |
614 /// entry point of EQ (lengthened) | |
615 /EQ | |
616 00570 320042 eqq, dio a1 | |
617 00571 500042 sad a1 | |
618 00572 600565 jmp tru | |
619 00573 210042 lac i a1 | |
620 00574 030100 and i 100 | |
621 00575 022244 and (jmp | |
622 00576 522244 sas (jmp | |
623 00577 602241 jmp fal | |
624 00600 200100 lac 100 | |
625 00601 160156 cal vad | |
626 00602 500041 sad a0 | |
627 00603 600565 jmp tru | |
628 00604 602241 jmp fal | |
629 | |
630 /RPLACD | |
631 00605 440100 rdc, idx 100 | |
632 00606 422243 sub (1 | |
633 | |
634 /RPLACA | |
635 00607 330100 rda, dio i 100 | |
636 00610 600556 jmp x | |
637 | |
638 /create atom | |
639 00611 042255 mka, ior (add | |
640 00612 240100 dac 100 | |
641 00613 220234 lio n | |
642 | |
643 /CONS | |
644 00614 440030 cns, idx ffi | |
645 | |
646 00615 202341 cnc, lac fre | |
647 00616 500234 sad n | |
648 00617 600673 jmp gcs | |
649 | |
650 /// CONS, sub a | |
651 00620 240021 cna, dac t0 | |
652 00621 200100 lac 100 | |
653 00622 252341 dac i fre | |
654 00623 442341 idx fre | |
655 00624 212341 lac i fre | |
656 00625 332341 dio i fre | |
657 00626 242341 dac fre | |
658 00627 200021 lac t0 | |
659 00630 600556 jmp x | |
660 | |
661 /PLUS | |
662 00631 161770 pls, cal elc | |
663 00632 222256 lio (add a0 | |
664 /// plus, zero sum storage register | |
665 00633 340041 plz, dzm a0 | |
666 /// plus, sub one | |
667 00634 320642 pl1, dio plo | |
668 /// plus, sub two | |
669 00635 500234 pl2, sad n | |
/lisp 3-23-64 : 1 field Page 13 | |
670 00636 600647 jmp ple | |
671 00637 240042 dac a1 | |
672 00640 210042 lac i a1 | |
673 00641 160144 cal vag | |
674 /// plus, operation | |
675 00642 000000 plo, 0 | |
676 00643 240041 dac a0 | |
677 00644 200042 lac a1 | |
678 00645 160554 cal cdr | |
679 00646 600635 jmp pl2 | |
680 /// plus, exit | |
681 00647 200041 ple, lac a0 | |
682 00650 600112 jmp crn | |
683 | |
684 /LOGAND, LOGOR, TIMES | |
685 /// LOGAND | |
686 00651 161770 lga, cal elc | |
687 00652 222257 lio (-0 | |
688 00653 320041 dio a0 | |
689 00654 222260 lio (and a0 | |
690 00655 600634 jmp pl1 | |
691 | |
692 /// LOGOR | |
693 00656 161770 lgo, cal elc | |
694 00657 222261 lio (ior a0 | |
695 00660 600633 jmp plz | |
696 | |
697 /// TIMES | |
698 00661 161770 tim, cal elc | |
699 00662 222243 lio (1 | |
700 00663 320041 dio a0 | |
701 00664 222262 lio (jmp tic | |
702 00665 600634 jmp pl1 | |
703 | |
704 /// times, complete | |
705 00666 540041 tic, mul a0 | |
706 00667 677001 scr 1s | |
707 00670 320100 dio 100 | |
708 00671 400100 add 100 | |
709 00672 600643 jmp plo+1 | |
710 | |
711 /// garbage collector, step | |
712 00673 620235 gcs, jsp gc | |
713 00674 202341 lac fre | |
714 00675 520234 sas n | |
715 00676 600620 jmp cna | |
716 00677 602217 jmp qg1 | |
717 | |
718 /// make a carriage return, TERPRI (terminate printing) | |
719 /TERPRI | |
720 00700 700077 tpr, law 77 | |
721 00701 160117 cal pc | |
722 00702 602241 jmp prx | |
723 | |
724 /PRIN1 | |
725 00703 210100 pr1, lac i 100 | |
726 00704 640400 sma | |
/lisp 3-23-64 : 1 field Page 14 | |
727 00705 602237 jmp qp1 | |
728 00706 422263 sub (lac | |
729 00707 640200 spa | |
730 00710 600730 jmp prn | |
731 00711 022264 and (-jmp | |
732 | |
733 00712 500234 pra, sad n | |
734 00713 600556 jmp x | |
735 00714 240041 dac a0 | |
736 00715 210041 lac i a0 | |
737 00716 661077 ral 6s | |
738 00717 160117 cal pc | |
739 00720 210041 lac i a0 | |
740 00721 671077 rar 6s | |
741 00722 160117 cal pc | |
742 00723 210041 lac i a0 | |
743 00724 160117 cal pc | |
744 00725 440041 idx a0 | |
745 00726 210041 lac i a0 | |
746 00727 600712 jmp pra | |
747 | |
748 00730 200100 prn, lac 100 | |
749 00731 160144 cal vag | |
750 00732 240022 dac t1 | |
751 00733 760002 clf 2 | |
752 setup t0,6 | |
00734 710006 | |
00735 240021 | |
753 | |
754 00736 220022 prv, lio t1 | |
755 00737 502265 sad (-1 | |
756 00740 760012 stf 2 | |
757 00741 760200 cla | |
758 00742 663007 rcl 3s | |
759 00743 320022 dio t1 | |
760 00744 650100 sza i | |
761 00745 700020 law 20 | |
762 00746 502266 sad (20 | |
763 00747 640002 szf 2 | |
764 00750 160117 cal pc | |
765 00751 460021 isp t0 | |
766 00752 600736 jmp prv | |
767 00753 602241 jmp prx | |
768 | |
769 /// ("is a number") | |
770 /NUMBERP | |
771 00754 210100 nmp, lac i 100 | |
772 00755 022244 and (jmp | |
773 00756 502244 sad (jmp | |
774 00757 600565 jmp tru | |
775 00760 602241 jmp fal | |
776 | |
777 /do a CONS into full word space | |
778 00761 220234 cf, lio n | |
779 | |
780 /// CONS pair in full word space | |
781 00762 340030 cpf, dzm ffi | |
/lisp 3-23-64 : 1 field Page 15 | |
782 00763 600615 jmp cnc | |
783 | |
784 /MINUS | |
785 00764 160144 min, cal vag | |
786 00765 761000 cma | |
787 00766 600112 jmp crn | |
788 | |
789 /XEQ | |
790 | |
791 00767 160156 xeq, cal vad | |
792 00770 202343 lac tr | |
793 00771 240022 dac t1 | |
794 00772 200043 lac a2 | |
795 00773 160144 cal vag | |
796 00774 220041 lio a0 | |
797 00775 321000 dio xei | |
798 00776 200042 lac a1 | |
799 00777 220054 lio uw | |
800 01000 000000 xei, 0 | |
801 01001 601017 jmp xen | |
802 01002 320043 dio a2 | |
803 01003 160112 xer, cal crn | |
804 01004 242345 dac ar1 | |
805 01005 200043 lac a2 | |
806 01006 160112 cal crn | |
807 01007 242346 dac ar2 | |
808 01010 200022 lac t1 | |
809 01011 160613 cal cns-1 | |
810 01012 222346 lio ar2 | |
811 01013 161743 cal efc | |
812 01014 222345 lio ar1 | |
813 01015 240100 dac 100 | |
814 01016 601743 jmp efc | |
815 01017 320043 xen, dio a2 | |
816 01020 220234 lio n | |
817 01021 320022 dio t1 | |
818 01022 601003 jmp xer | |
819 | |
820 /GENSYM | |
821 /// gensym, entry | |
822 01023 700034 gsm, law gst | |
823 01024 240021 dac t0 | |
824 /// gensym, index | |
825 01025 450021 gsi, idx i t0 | |
826 01026 502267 sad (12 | |
827 01027 601051 jmp gsn | |
828 01030 502270 sad (21 | |
829 01031 700001 law 1 | |
830 01032 250021 dac i t0 | |
831 /// gensym, produce | |
832 01033 200036 gsp, lac gst+2 | |
833 01034 661077 ral 6s | |
834 01035 040035 ior gst+1 | |
835 01036 661077 ral 6s | |
836 01037 040034 ior gst | |
837 01040 160761 cal cf | |
838 01041 706700 law 6700 | |
/lisp 3-23-64 : 1 field Page 16 | |
839 01042 040040 ior gst+4 | |
840 01043 661077 ral 6s | |
841 01044 040037 ior gst+3 | |
842 01045 220021 lio t0 | |
843 01046 160762 cal cpf | |
844 01047 160611 cal mka | |
845 01050 600556 jmp x | |
846 /// gensym, next | |
847 01051 700020 gsn, law 20 | |
848 01052 250021 dac i t0 | |
849 01053 440021 idx t0 | |
850 01054 522271 sas (gst+5 | |
851 01055 601025 jmp gsi | |
852 01056 601033 jmp gsp | |
853 | |
854 /QUOTIENT | |
855 | |
856 01057 160156 qot, cal vad | |
857 01060 220041 lio a0 | |
858 01061 760200 cla | |
859 01062 642000 spi | |
860 01063 761200 clc | |
861 01064 663001 rcl 1s | |
862 01065 560042 div a1 | |
863 01066 602233 jmp qi4 | |
864 01067 600112 jmp crn | |
865 | |
866 /COND | |
867 01070 322346 cnd, dio ar2 | |
868 /// COND sub one | |
869 01071 242345 cd1, dac ar1 | |
870 01072 500234 sad n | |
871 /// push qa3 on stack | |
872 01073 602154 jmp qa3 | |
873 01074 170044 jda pwl | |
874 /// push ar2 on stack | |
875 01075 202346 lac ar2 | |
876 01076 170044 jda pwl | |
877 01077 212345 lac i ar1 | |
878 01100 160555 cal car | |
879 01101 161564 cal evo | |
880 01102 170054 jda uw | |
881 01103 322346 dio ar2 | |
882 01104 620055 jsp uwl | |
883 01105 322345 dio ar1 | |
884 01106 200054 lac uw | |
885 01107 520234 sas n | |
886 01110 601114 jmp cdy | |
887 01111 442345 idx ar1 | |
888 01112 212345 lac i ar1 | |
889 01113 601071 jmp cd1 | |
890 /// COND sub y | |
891 01114 212345 cdy, lac i ar1 | |
892 01115 160554 cal cdr | |
893 01116 160555 cal car | |
894 01117 601564 jmp evo | |
895 | |
/lisp 3-23-64 : 1 field Page 17 | |
896 /STOP | |
897 01120 160144 stp, cal vag | |
898 01121 764400 hlt+cli-opr | |
899 01122 602241 jmp prx | |
900 | |
901 /GREATERP | |
902 /// (is greater than) | |
903 01123 160156 grp, cal vad | |
904 01124 651600 clo | |
905 01125 420041 sub a0 | |
906 01126 641000 szo | |
907 01127 200042 lac a1 | |
908 01130 640400 sma | |
909 01131 602241 jmp fal | |
910 01132 600565 jmp tru | |
911 | |
912 /get a character | |
913 /// get a character, advance | |
914 01133 640050 ava, szs 50 | |
915 01134 601204 jmp avi | |
916 01135 764000 cli | |
917 /// advance, index | |
918 01136 200077 avx, lac 77 | |
919 01137 650100 sza i | |
920 01140 601165 jmp avr | |
921 01141 663777 rcl 9s | |
922 01142 331136 dio i avx | |
923 01143 661003 ral 2s | |
924 01144 650500 spq | |
925 01145 601133 jmp ava | |
926 01146 661177 ral 7s | |
927 01147 042272 ior (rar | |
928 01150 241152 dac avc | |
929 01151 700525 law 525 | |
930 /// advance, compute parity | |
931 01152 760400 avc, xx | |
932 01153 640400 sma | |
933 01154 602200 jmp qc3 | |
934 /// advance, truncate (to 6 bits from reader); | |
935 /// also, detect upper or lower case in sign bit. | |
936 01155 700077 avt, law 77 | |
937 01156 021152 and avc | |
938 01157 522273 sas (72 | |
939 01160 502274 sad (74 | |
940 01161 240026 dac csi | |
941 01162 500026 sad csi | |
942 01163 601133 jmp ava | |
943 01164 600556 jmp x | |
944 /// advance, reader | |
945 avr, index avx,ave,avx | |
01165 441136 | |
01166 520110 | |
01167 601136 | |
946 /// address of buf into avx | |
947 init avx,buf | |
01170 700063 | |
01171 261136 | |
/lisp 3-23-64 : 1 field Page 18 | |
948 01172 261177 dap avs | |
949 /// advance, next | |
950 01173 730001 avn, rpa | |
951 01174 673777 rcr 9s | |
952 01175 730001 rpa | |
953 01176 663777 rcl 9s | |
954 /// advance, store | |
955 01177 320000 avs, dio xy | |
956 step avs,dio 100,avn | |
01200 441177 | |
01201 522275 | |
01202 601173 | |
957 01203 601133 jmp ava | |
958 /// advance, in from typewriter | |
959 01204 650001 avi, szf i 1 | |
960 01205 601133 jmp ava | |
961 01206 720004 tyi | |
962 01207 760001 clf 1 | |
963 01210 321152 dio avc | |
964 01211 601155 jmp avt | |
965 | |
966 /terminate a print name | |
967 /// terminate print name, and make name | |
968 01212 700072 mkn, law 72 | |
969 01213 520027 sas cso | |
970 01214 160165 cal oc | |
971 01215 440033 idx isi | |
972 01216 240021 dac t0 | |
973 01217 220234 lio n | |
974 01220 320033 dio isi | |
975 01221 210021 lac i t0 | |
976 01222 330021 dio i t0 | |
977 01223 600556 jmp x | |
978 | |
979 /pack character into print name | |
980 01224 261232 pak, dap pk1 | |
981 01225 200026 lac csi | |
982 01226 500027 sad cso | |
983 01227 601232 jmp pk1 | |
984 01230 240027 dac cso | |
985 01231 160165 cal oc | |
986 /// pack character into print name, sub one | |
987 01232 700000 pk1, law | |
988 01233 240100 dac 100 | |
989 01234 600165 jmp oc | |
990 | |
991 000100 start | |
992 /Lisp interpreter 3-20-64, part 2 | |
993 | |
994 /PRINT | |
995 01235 240041 pnt, dac a0 | |
996 01236 240042 dac a1 | |
997 01237 160700 cal tpr | |
998 /// print, sub one | |
999 01240 230041 pn1, lio i a0 | |
1000 01241 642000 spi | |
1001 01242 601253 jmp pn2 | |
/lisp 3-23-64 : 1 field Page 19 | |
1002 01243 700057 law 57 | |
1003 | |
1004 01244 160117 pn5, cal pc | |
1005 01245 200041 lac a0 | |
1006 01246 160554 cal cdr | |
1007 /// push result on stack | |
1008 01247 170044 jda pwl | |
1009 01250 230041 lio i a0 | |
1010 01251 320041 dio a0 | |
1011 01252 601240 jmp pn1 | |
1012 /// print, sub two | |
1013 01253 200041 pn2, lac a0 | |
1014 01254 160703 cal pr1 | |
1015 | |
1016 01255 620055 pn6, jsp uwl | |
1017 01256 760200 cla | |
1018 01257 320041 dio a0 | |
1019 01260 642000 spi | |
1020 01261 601277 jmp pn7 | |
1021 01262 230041 lio i a0 | |
1022 01263 652000 spi i | |
1023 01264 601244 jmp pn5 | |
1024 01265 200041 lac a0 | |
1025 01266 500234 sad n | |
1026 01267 601274 jmp pn3 | |
1027 01270 700073 law 73 | |
1028 01271 160117 cal pc | |
1029 01272 200041 lac a0 | |
1030 01273 160703 cal pr1 | |
1031 | |
1032 01274 700055 pn3, law 55 | |
1033 01275 160117 cal pc | |
1034 01276 601255 jmp pn6 | |
1035 | |
1036 01277 160117 pn7, cal pc | |
1037 01300 200042 lac a1 | |
1038 01301 600041 jmp a0 | |
1039 | |
1040 /READ | |
1041 | |
1042 01302 000000 ri8, 0 | |
1043 01303 000000 ri9, 0 | |
1044 /// READ in | |
1045 01304 200561 rin, lac rx | |
1046 01305 242345 dac ar1 | |
1047 01306 341303 dzm ri9 | |
1048 /// read ins symbol | |
1049 01307 621333 ris, jsp rhe | |
1050 01310 650100 sza i | |
1051 01311 601504 jmp ric | |
1052 01312 502276 sad (57 | |
1053 01313 601526 jmp ria | |
1054 01314 502277 sad (55 | |
1055 01315 601543 jmp rib | |
1056 | |
1057 /. | |
1058 /// read in, dot | |
/lisp 3-23-64 : 1 field Page 20 | |
1059 01316 642000 rid, spi | |
1060 01317 601330 jmp ri2 | |
1061 /// read in, sub q | |
1062 01320 442345 riq, idx ar1 | |
1063 01321 212345 lac i ar1 | |
1064 01322 332345 dio i ar1 | |
1065 01323 241303 dac ri9 | |
1066 01324 621333 jsp rhe | |
1067 01325 601547 jmp rix | |
1068 /// read in, sub 3 | |
1069 01326 241303 ri3, dac ri9 | |
1070 01327 601324 jmp ri3-2 | |
1071 | |
1072 /// push this on stack | |
1073 01330 202300 ri2, lac (jmp ri3 | |
1074 01331 170044 jda pwl | |
1075 01332 701504 law ric | |
1076 | |
1077 /read symbol and terminator | |
1078 /// read in, entry; | |
1079 /// (a "terminator" is a left parenthesis, period, space, | |
1080 /// comma, or tab) (mnemonic: h precedes i) | |
1081 01333 261503 rhe, dap rhx | |
1082 01334 760005 clf 5 | |
1083 01335 340022 dzm t1 | |
1084 01336 700032 law isi-1 | |
1085 01337 240033 dac isi | |
1086 01340 340032 dzm isi-1 | |
1087 01341 700072 law 72 | |
1088 01342 240027 dac cso | |
1089 /// read symbol and terminator, next | |
1090 01343 161133 rhn, cal ava | |
1091 01344 240100 dac 100 | |
1092 01345 220026 lio csi | |
1093 01346 672007 rir 3s | |
1094 01347 642000 spi | |
1095 01350 601360 jmp rhb | |
1096 01351 502301 sad (33 | |
1097 01352 760200 cla | |
1098 01353 522276 sas (57 | |
1099 01354 502277 sad (55 | |
1100 01355 601411 jmp rye | |
1101 01356 502302 sad (73 | |
1102 01357 601411 jmp rye /** | |
1103 01360 502303 rhb, sad (56 | |
1104 01361 601407 jmp ryo | |
1105 01362 502245 sad (77 | |
1106 01363 601343 jmp rhn | |
1107 01364 502304 sad (36 | |
1108 01365 760200 cla | |
1109 01366 650100 sza i | |
1110 01367 601411 jmp rye | |
1111 01370 502305 sad (75 | |
1112 01371 601334 jmp rhe+1 | |
1113 01372 710007 law i 7 | |
1114 01373 020100 and 100 | |
1115 01374 650100 sza i | |
/lisp 3-23-64 : 1 field Page 21 | |
1116 01375 601464 jmp ryn | |
1117 01376 200100 lac 100 | |
1118 01377 502266 sad (20 | |
1119 01400 601464 jmp ryn | |
1120 /// symbol lookup, pack | |
1121 01401 760015 ryp, stf 5 | |
1122 01402 161224 cal pak | |
1123 01403 601343 jmp rhn | |
1124 /// symbol lookup, sub j | |
1125 01404 200022 ryj, lac t1 | |
1126 01405 160112 cal crn | |
1127 01406 601476 jmp rhr | |
1128 /// symbol lookup, sub o | |
1129 01407 161133 ryo, cal ava | |
1130 01410 601401 jmp ryp | |
1131 | |
1132 /symbol lookup | |
1133 /// search for symbol in object list and | |
1134 /// if not found, put at beginning | |
1135 01411 241302 rye, dac ri8 | |
1136 01412 161212 cal mkn | |
1137 01413 240041 dac a0 | |
1138 01414 500234 sad n | |
1139 01415 601473 jmp ryy | |
1140 01416 650005 szf i 5 | |
1141 01417 601404 jmp ryj | |
1142 01420 212334 lac i 1ob | |
1143 /// symbol lookup, search for symbol | |
1144 01421 240021 rys, dac t0 | |
1145 01422 500234 sad n | |
1146 01423 601455 jmp ryc | |
1147 01424 210021 lac i t0 | |
1148 01425 240022 dac t1 | |
1149 01426 210022 lac i t1 | |
1150 01427 240022 dac t1 | |
1151 01430 200041 lac a0 | |
1152 /// symbol lookup, search for word | |
1153 01431 240042 ryw, dac a1 | |
1154 01432 520234 sas n | |
1155 01433 601441 jmp ryt | |
1156 01434 500022 sad t1 | |
1157 01435 601462 jmp rhh | |
1158 /// symbol lookup, index | |
1159 01436 440021 ryd, idx t0 | |
1160 01437 210021 lac i t0 | |
1161 01440 601421 jmp rys | |
1162 /// symbol lookup, test | |
1163 01441 200022 ryt, lac t1 | |
1164 01442 500234 sad n | |
1165 01443 601436 jmp ryd | |
1166 01444 210042 lac i a1 | |
1167 01445 530022 sas i t1 | |
1168 01446 601436 jmp ryd | |
1169 01447 440022 idx t1 | |
1170 01450 210022 lac i t1 | |
1171 01451 240022 dac t1 | |
1172 01452 440042 idx a1 | |
/lisp 3-23-64 : 1 field Page 22 | |
1173 01453 210042 lac i a1 | |
1174 01454 601431 jmp ryw | |
1175 /// symbol lookupm create (creating what is necessary to | |
1176 /// put something on the OBLIST | |
1177 01455 200041 ryc, lac a0 | |
1178 01456 160611 cal mka | |
1179 01457 232334 lio i 1ob | |
1180 01460 160614 cal cns | |
1181 01461 252334 dac i 1ob | |
1182 01462 210021 rhh, lac i t0 | |
1183 01463 601476 jmp rhr | |
1184 /// symbol lookup, number | |
1185 01464 220100 ryn, lio 100 | |
1186 01465 200022 lac t1 | |
1187 01466 672007 rir 3s | |
1188 01467 663007 rcl 3s | |
1189 01470 240022 dac t1 | |
1190 01471 200100 lac 100 | |
1191 01472 601402 jmp ryp+1 | |
1192 /// symbol lookup, exit | |
1193 01473 761200 ryy, clc | |
1194 01474 222254 lio (isi-1 | |
1195 01475 320033 dio isi | |
1196 /// read symbol and terminator, sub r | |
1197 01476 240021 rhr, dac t0 | |
1198 01477 201303 lac ri9 | |
1199 01500 221302 lio ri8 | |
1200 01501 321303 dio ri9 | |
1201 01502 220021 lio t0 | |
1202 /// read symbol and terminator, exit | |
1203 rhx, exit | |
01503 600000 | |
1204 | |
1205 /, space tab | |
1206 /// read in, comma | |
1207 01504 202345 ric, lac ar1 | |
1208 01505 642000 spi | |
1209 01506 601307 jmp ris | |
1210 01507 640200 spa | |
1211 01510 601524 jmp ri4 | |
1212 /// read in, sub o | |
1213 01511 320021 rio, dio t0 | |
1214 01512 160554 cal cdr | |
1215 01513 220021 lio t0 | |
1216 /// read in, sub e | |
1217 rie, swap | |
01514 663777 | |
01515 663777 | |
1218 /// swap AC & IO | |
1219 01516 160614 cal cns | |
1220 01517 442345 idx ar1 | |
1221 01520 200021 lac t0 | |
1222 01521 252345 dac i ar1 | |
1223 01522 242345 dac ar1 | |
1224 01523 601307 jmp ris | |
1225 /// read in, sub 4 | |
1226 01524 200021 ri4, lac t0 | |
/lisp 3-23-64 : 1 field Page 23 | |
1227 01525 602345 jmp ar1 | |
1228 | |
1229 /( | |
1230 /// read in, left parenthesis | |
1231 01526 320021 ria, dio t0 | |
1232 /// push ar1 on stack | |
1233 01527 202345 lac ar1 | |
1234 01530 170044 jda pwl | |
1235 01531 200021 lac t0 | |
1236 01532 640200 spa | |
1237 01533 601541 jmp riz | |
1238 /// read in, sub y | |
1239 01534 160613 riy, cal cns-1 | |
1240 01535 242345 dac ar1 | |
1241 01536 222345 lio ar1 | |
1242 01537 160605 cal rdc | |
1243 01540 601307 jmp ris | |
1244 /// read in, zeroing | |
1245 01541 342345 riz, dzm ar1 | |
1246 01542 601307 jmp ris | |
1247 | |
1248 /) | |
1249 /// read in, right parenthesis | |
1250 01543 442345 rib, idx ar1 | |
1251 01544 212345 lac i ar1 | |
1252 01545 220234 lio n | |
1253 01546 332345 dio i ar1 | |
1254 /// read in, exit | |
1255 01547 170054 rix, jda uw | |
1256 01550 322345 dio ar1 | |
1257 01551 662001 ril 1s | |
1258 01552 200054 lac uw | |
1259 01553 642000 spi | |
1260 01554 602345 jmp ar1 | |
1261 01555 220054 lio uw | |
1262 01556 202345 lac ar1 | |
1263 01557 640100 sza | |
1264 01560 601511 jmp rio | |
1265 01561 200054 lac uw | |
1266 01562 601534 jmp riy | |
1267 | |
1268 /EVAL | |
1269 01563 322346 evl, dio ar2 | |
1270 /// EVAL, old | |
1271 01564 242345 evo, dac ar1 | |
1272 | |
1273 /evaluate current expression | |
1274 /// evaluate current expression, sub 2 | |
1275 01565 202345 ev2, lac ar1 | |
1276 01566 640010 szs 10 | |
1277 01567 161235 cal pnt | |
1278 01570 212345 lac i ar1 | |
1279 01571 640200 spa | |
1280 01572 601626 jmp e1 | |
1281 01573 240021 dac t0 | |
1282 01574 210021 lac i t0 | |
1283 01575 640200 spa | |
/lisp 3-23-64 : 1 field Page 24 | |
1284 01576 601661 jmp e2 | |
1285 | |
1286 /car[x] not atomic | |
1287 | |
1288 01577 502332 sad 1la | |
1289 01600 602077 jmp e3 | |
1290 /// push ar2 on stack | |
1291 01601 202346 lac ar2 | |
1292 01602 170044 jda pwl | |
1293 /// push ar1 on stack | |
1294 01603 202345 lac ar1 | |
1295 01604 170044 jda pwl | |
1296 01605 212345 lac i ar1 | |
1297 01606 161564 cal evo | |
1298 01607 620055 jsp uwl | |
1299 01610 322345 dio ar1 | |
1300 01611 620055 jsp uwl | |
1301 01612 322346 dio ar2 | |
1302 01613 601620 jmp evc | |
1303 | |
1304 /evaluate function name and try again | |
1305 /// evaluate, sub 3 | |
1306 01614 212345 ev3, lac i ar1 | |
1307 01615 160402 cal asr | |
1308 01616 602171 jmp qa8 | |
1309 01617 160554 cal cdr | |
1310 /// evaluate, construct | |
1311 01620 442345 evc, idx ar1 | |
1312 01621 232345 lio i ar1 | |
1313 01622 200054 lac uw | |
1314 01623 342345 dzm ar1 | |
1315 01624 160614 cal cns | |
1316 01625 601564 jmp evo | |
1317 | |
1318 /x is atomic : search a-list, | |
1319 / then p-list | |
1320 /// evaluate, sub one | |
1321 01626 661001 e1, ral 1s | |
1322 01627 640200 spa | |
1323 01630 601655 jmp en1 | |
1324 01631 202345 lac ar1 | |
1325 01632 160402 cal asr | |
1326 01633 601636 jmp ev5 | |
1327 01634 160554 cal cdr | |
1328 01635 601656 jmp ex | |
1329 | |
1330 01636 202345 ev5, lac ar1 | |
1331 /// evaluate, sub 4 | |
1332 01637 160554 ev4, cal cdr | |
1333 01640 500234 sad n | |
1334 01641 602171 jmp qa8 | |
1335 01642 240021 dac t0 | |
1336 01643 210021 lac i t0 | |
1337 01644 502333 sad 1ap | |
1338 01645 601651 jmp ev6 | |
1339 01646 440021 idx t0 | |
1340 01647 210021 lac i t0 | |
/lisp 3-23-64 : 1 field Page 25 | |
1341 01650 601637 jmp ev4 | |
1342 | |
1343 01651 440021 ev6, idx t0 | |
1344 01652 210021 lac i t0 | |
1345 01653 160555 cal car | |
1346 01654 601656 jmp ex | |
1347 /// evaluate, number, sub one | |
1348 01655 202345 en1, lac ar1 | |
1349 | |
1350 /exit from EVAL | |
1351 01656 640010 ex, szs 10 | |
1352 01657 601235 jmp pnt | |
1353 01660 600556 jmp x | |
1354 | |
1355 /car[x] is atomic : search | |
1356 / its p-list | |
1357 /// evaluate, sub 2; CAR X is atomic, search its P-list | |
1358 01661 200021 e2, lac t0 | |
1359 | |
1360 01662 160554 ev8, cal cdr | |
1361 01663 500234 sad n | |
1362 01664 601614 jmp ev3 | |
1363 01665 210054 lac i uw | |
1364 01666 502336 sad 1fs | |
1365 01667 601701 jmp efs | |
1366 01670 502335 sad 1sb | |
1367 01671 601757 jmp esb | |
1368 01672 502337 sad 1xp | |
1369 01673 601746 jmp exp | |
1370 01674 502340 sad 1fx | |
1371 01675 601715 jmp efx | |
1372 01676 440022 idx t1 | |
1373 01677 210022 lac i t1 | |
1374 01700 601662 jmp ev8 | |
1375 | |
1376 /function is FSUBR | |
1377 01701 440054 efs, idx uw | |
1378 01702 210054 lac i uw | |
1379 01703 160555 cal car | |
1380 01704 160144 cal vag | |
1381 01705 241713 dac exx | |
1382 01706 442345 idx ar1 | |
1383 01707 212345 lac i ar1 | |
1384 01710 222346 lio ar2 | |
1385 | |
1386 01711 240100 exy, dac 100 | |
1387 01712 342345 dzm ar1 | |
1388 /// evaluate, exit, execute | |
1389 01713 000000 exx, 0 | |
1390 01714 601656 jmp ex | |
1391 | |
1392 /function is FEXPR | |
1393 01715 440054 efx, idx uw | |
1394 01716 210054 lac i uw | |
1395 01717 160555 cal car | |
1396 /// push result on stack | |
1397 01720 170044 jda pwl | |
/lisp 3-23-64 : 1 field Page 26 | |
1398 01721 202345 lac ar1 | |
1399 01722 160554 cal cdr | |
1400 01723 161736 cal efq | |
1401 01724 170044 jda pwl | |
1402 01725 202346 lac ar2 | |
1403 01726 161736 cal efq | |
1404 01727 160613 cal cns-1 | |
1405 01730 620055 jsp uwl | |
1406 01731 161743 cal efc | |
1407 01732 620055 jsp uwl | |
1408 01733 161743 cal efc | |
1409 01734 242345 dac ar1 | |
1410 01735 601565 jmp ev2 | |
1411 /// evaluate, function sub q | |
1412 01736 160613 efq, cal cns-1 | |
1413 01737 220021 lio t0 | |
1414 01740 202331 lac 1qu | |
1415 01741 240100 dac 100 | |
1416 01742 600614 jmp cns | |
1417 /// evaluate, function sub c | |
1418 01743 320100 efc, dio 100 | |
1419 01744 220021 lio t0 | |
1420 01745 600614 jmp cns | |
1421 | |
1422 /function is EXPR | |
1423 01746 440054 exp, idx uw | |
1424 01747 210054 lac i uw | |
1425 01750 240042 dac a1 | |
1426 01751 442345 idx ar1 | |
1427 01752 232345 lio i ar1 | |
1428 01753 342345 dzm ar1 | |
1429 01754 210042 lac i a1 /** | |
1430 01755 160614 cal cns | |
1431 01756 601564 jmp evo | |
1432 | |
1433 /function is SUBR | |
1434 01757 440054 esb, idx uw | |
1435 01760 210054 lac i uw | |
1436 01761 160555 cal car | |
1437 01762 170044 jda pwl | |
1438 01763 202345 lac ar1 | |
1439 01764 160554 cal cdr | |
1440 01765 222346 lio ar2 | |
1441 01766 161770 cal elc | |
1442 01767 602050 jmp els | |
1443 | |
1444 /evaluate argument list : also LIST | |
1445 /// evaluate, argument is a list; also LIST | |
1446 01770 500234 elc, sad n | |
1447 01771 600556 jmp x | |
1448 01772 242345 dac ar1 | |
1449 01773 322346 dio ar2 | |
1450 01774 202346 lac ar2 | |
1451 01775 170044 jda pwl | |
1452 01776 202345 lac ar1 | |
1453 01777 342345 dzm ar1 | |
1454 /// evaluate, list, entry | |
/lisp 3-23-64 : 1 field Page 27 | |
1455 02000 232344 ele, lio i pdl | |
1456 02001 240021 dac t0 | |
1457 02002 170044 jda pwl | |
1458 02003 202345 lac ar1 | |
1459 02004 170044 jda pwl | |
1460 02005 210021 lac i t0 | |
1461 02006 161563 cal evl | |
1462 02007 160613 cal cns-1 | |
1463 02010 620055 jsp uwl | |
1464 02011 322345 dio ar1 | |
1465 02012 220021 lio t0 | |
1466 02013 202345 lac ar1 | |
1467 02014 650100 sza i | |
1468 02015 322345 dio ar1 | |
1469 02016 442345 idx ar1 | |
1470 02017 422243 sub (1 | |
1471 02020 520021 sas t0 | |
1472 02021 232345 lio i ar1 | |
1473 02022 200021 lac t0 | |
1474 02023 252345 dac i ar1 | |
1475 02024 242345 dac ar1 | |
1476 02025 440021 idx t0 | |
1477 02026 330021 dio i t0 | |
1478 02027 620055 jsp uwl | |
1479 /// swap AC & IO | |
1480 swap | |
02030 663777 | |
02031 663777 | |
1481 02032 160554 cal cdr | |
1482 02033 520234 sas n | |
1483 02034 602000 jmp ele | |
1484 02035 620055 jsp uwl | |
1485 02036 322346 dio ar2 | |
1486 02037 442345 idx ar1 | |
1487 02040 212345 lac i ar1 | |
1488 02041 220234 lio n | |
1489 02042 332345 dio i ar1 | |
1490 02043 242345 dac ar1 | |
1491 02044 640010 szs 10 | |
1492 02045 161235 cal pnt | |
1493 02046 202345 lac ar1 | |
1494 02047 600556 jmp x | |
1495 /// evaluate, list, subroutine | |
1496 02050 242345 els, dac ar1 | |
1497 02051 620055 jsp uwl | |
1498 /// swap AC & IO | |
1499 swap | |
02052 663777 | |
02053 663777 | |
1500 02054 160144 cal vag | |
1501 02055 241713 dac exx | |
1502 /// address of a0-1 into esa | |
1503 init esa,a0-1 | |
02056 700040 | |
02057 262067 | |
1504 | |
1505 /store arguments for subroutine | |
/lisp 3-23-64 : 1 field Page 28 | |
1506 | |
1507 02060 202345 lac ar1 | |
1508 /// entry, deposit argument | |
1509 /// (store arguments for subroutine) | |
1510 02061 500234 eda, sad n | |
1511 02062 602074 jmp exs | |
1512 02063 442067 idx esa | |
1513 02064 502306 sad (dac a2+1 | |
1514 02065 602166 jmp qa7 | |
1515 02066 212345 lac i ar1 | |
1516 /// evaluate, store argument | |
1517 02067 240000 esa, dac xy | |
1518 02070 442345 idx ar1 | |
1519 02071 212345 lac i ar1 | |
1520 02072 242345 dac ar1 | |
1521 02073 602061 jmp eda | |
1522 /// eval, exit, subroutine | |
1523 02074 200041 exs, lac a0 | |
1524 02075 220042 lio a1 | |
1525 02076 601711 jmp exy | |
1526 | |
1527 /caar[x] = LAMBDA | |
1528 /// evaluate, sub 3; CAAR X equals LAMBDA | |
1529 02077 202345 e3, lac ar1 | |
1530 02100 170044 jda pwl | |
1531 02101 202346 lac ar2 | |
1532 02102 170044 jda pwl | |
1533 02103 212345 lac i ar1 | |
1534 02104 160554 cal cdr | |
1535 02105 160555 cal car | |
1536 02106 170044 jda pwl | |
1537 02107 202345 lac ar1 | |
1538 02110 160554 cal cdr | |
1539 02111 222346 lio ar2 | |
1540 02112 161770 cal elc | |
1541 02113 242345 dac ar1 | |
1542 02114 620055 jsp uwl | |
1543 02115 320041 dio a0 | |
1544 02116 620055 jsp uwl | |
1545 02117 322346 dio ar2 | |
1546 /// evaluate, pair, sub one | |
1547 02120 200041 ep1, lac a0 | |
1548 02121 500234 sad n | |
1549 02122 602143 jmp ep2 | |
1550 02123 202345 lac ar1 | |
1551 02124 500234 sad n | |
1552 02125 602211 jmp qf3 | |
1553 02126 210041 lac i a0 | |
1554 02127 232345 lio i ar1 | |
1555 02130 160614 cal cns | |
1556 02131 222346 lio ar2 | |
1557 02132 160614 cal cns | |
1558 02133 242346 dac ar2 | |
1559 02134 440041 idx a0 | |
1560 02135 210041 lac i a0 | |
1561 02136 240041 dac a0 | |
1562 02137 442345 idx ar1 | |
/lisp 3-23-64 : 1 field Page 29 | |
1563 02140 212345 lac i ar1 | |
1564 02141 242345 dac ar1 | |
1565 02142 602120 jmp ep1 | |
1566 /// evaluate, pair, sub two | |
1567 02143 522345 ep2, sas ar1 | |
1568 02144 602206 jmp qf2 | |
1569 02145 620055 jsp uwl | |
1570 02146 322345 dio ar1 | |
1571 02147 212345 lac i ar1 | |
1572 02150 160554 cal cdr | |
1573 02151 160554 cal cdr | |
1574 02152 160555 cal car | |
1575 02153 601564 jmp evo | |
1576 | |
1577 /error halt entries | |
1578 /// error halt, illegal COND ; icd | |
1579 02154 200234 qa3, lac n | |
1580 02155 522347 sas pa3 | |
1581 02156 600556 jmp x | |
1582 error flex icd /illegal COND | |
02157 620216 | |
02160 716364 | |
1583 02161 200234 lac n | |
1584 02162 600556 jmp x | |
1585 /// error halt, undefined atom in SETQ; uss | |
1586 qa4, error flex uss /undefined atom in SETQ | |
02163 620216 | |
02164 242222 | |
1587 02165 602241 jmp prx | |
1588 /// error halt, too many arguments; tma | |
1589 qa7, error flex tma /too many args | |
02166 620216 | |
02167 234461 | |
1590 02170 602074 jmp exs | |
1591 /// error halt, unbound atomic symbol; uas | |
1592 qa8, error flex uas /unbound atomic symbol | |
02171 620216 | |
02172 246122 | |
1593 02173 760006 clf 6 | |
1594 02174 202345 lac ar1 | |
1595 02175 161235 cal pnt | |
1596 02176 160700 cal tpr | |
1597 02177 600004 jmp go | |
1598 /// error halt, illegal parity; ilp | |
1599 qc3, error flex ilp /illegal parity | |
02200 620216 | |
02201 714347 | |
1600 02202 700377 law 377 | |
1601 02203 021152 and avc | |
1602 02204 764401 hlt+cli-opr+1 | |
1603 02205 601133 jmp ava | |
1604 /// error halt, LAMBDA list too short; lts | |
1605 qf2, error flex lts /LAMBDA list too short | |
02206 620216 | |
02207 432322 | |
1606 02210 600004 jmp go | |
1607 /// error halt, argument list too short; ats | |
/lisp 3-23-64 : 1 field Page 30 | |
1608 qf3, error flex ats /arglist too short | |
02211 620216 | |
02212 612322 | |
1609 02213 600004 jmp go | |
1610 /// error halt, pushdown capacity exceeded; pce | |
1611 qg2, error flex pce /pushdown cap. exc. | |
02214 620216 | |
02215 476365 | |
1612 02216 600004 jmp go | |
1613 /// error halt, storage capacity exceeded; sce | |
1614 qg1, error flex sce /storage cap. exc. | |
02217 620216 | |
02220 226365 | |
1615 02221 600004 jmp go | |
1616 /// error halt, nonnumeric argument for arithmetic; nna | |
1617 02222 200100 qi3, lac 100 | |
1618 02223 240043 dac a2 | |
1619 error flex nna /non-numeric arg for arith. | |
02224 620216 | |
02225 454561 | |
1620 02226 760006 clf 6 | |
1621 02227 200043 lac a2 | |
1622 02230 161235 cal pnt | |
1623 02231 160700 cal tpr | |
1624 02232 602235 jmp qix | |
1625 /// error halt, overflow; ovf | |
1626 qi4, error flex ovf /overflow | |
02233 620216 | |
02234 462566 | |
1627 /// error halt, exit | |
1628 02235 760216 qix, cla 16 | |
1629 02236 600112 jmp crn | |
1630 /// error halt, argument non-atom for PRIN1 | |
1631 qp1, error flex ana /arg non-atom for PRIN1 | |
02237 620216 | |
02240 614561 | |
1632 /// false (value is NIL) | |
1633 /// print, exit after finishing print | |
1634 02241 200234 prx,fal, lac n | |
1635 02242 600556 jmp x | |
1636 | |
1637 000100 start | |
1638 | |
1639 /lisp storage 3-23-64 | |
1640 | |
1641 002243 constants | |
1642 | |
1643 /special symbols | |
1644 | |
1645 ssy, | |
1646 | |
1647 02331 003074 1qu, quo | |
1648 02332 003104 1la, lam | |
1649 02333 003110 1ap, apv | |
1650 02334 002520 1ob, obl | |
1651 02335 003114 1sb, sbr | |
1652 02336 003124 1fs, fsb | |
/lisp 3-23-64 : 1 field Page 31 | |
1653 02337 003120 1xp, xpr | |
1654 02340 003130 1fx, fxp | |
1655 /// pointer to beginning of the free storage | |
1656 02341 002500 fre, nil | |
1657 /// beginning of full words (end of push down list) | |
1658 02342 002474 bfw, frs-4 | |
1659 02343 002502 tr, t | |
1660 /// push down list | |
1661 02344 002350 pdl, pdo-1 | |
1662 /// Argument one | |
1663 02345 002500 ar1, nil | |
1664 02346 002500 ar2, nil | |
1665 /// PROG argument, sub 3 | |
1666 02347 002500 pa3, nil | |
1667 /// PROG argument, sub 4 | |
1668 02350 000000 pa4, 0 | |
1669 /// push down list, origin | |
1670 pdo, | |
1671 | |
1672 /load storage parameters | |
1673 02351 222473 lio mz | |
1674 02352 761600 clc+hlt-opr | |
1675 02353 766200 lat+cli-opr | |
1676 02354 022470 and ad | |
1677 02355 242472 dac hi1 | |
1678 02356 760400 hlt | |
1679 02357 762200 lat | |
1680 02360 022470 and ad | |
1681 02361 242471 dac lp1 | |
1682 | |
1683 02362 713530 law i end | |
1684 02363 402472 add hi1 | |
1685 02364 640200 spa | |
1686 02365 602351 jmp pdo | |
1687 02366 710127 law i frs-pdo | |
1688 02367 402471 add lp1 | |
1689 02370 640200 spa | |
1690 02371 602351 jmp pdo | |
1691 02372 713401 law i pdo+end-frs | |
1692 02373 402472 add hi1 | |
1693 02374 422471 sub lp1 | |
1694 02375 640200 spa | |
1695 02376 602351 jmp pdo | |
1696 | |
1697 /set up registers | |
1698 | |
1699 02377 702351 stu, law pdo | |
1700 02400 402471 add lp1 | |
1701 02401 240234 dac fro | |
1702 02402 222472 lio hi1 | |
1703 02403 673001 rcr 1s | |
1704 02404 662001 ril 1s | |
1705 02405 320025 dio hi | |
1706 02406 703530 law end | |
1707 02407 240021 dac t0 | |
1708 | |
1709 /relocate storage | |
/lisp 3-23-64 : 1 field Page 32 | |
1710 | |
1711 02410 710001 rrs, law i 1 | |
1712 02411 400021 add t0 | |
1713 02412 240021 dac t0 | |
1714 02413 710004 law i 4 | |
1715 02414 410021 add i t0 | |
1716 02415 640400 sma | |
1717 02416 622445 jsp rrl | |
1718 02417 622460 jsp mvs | |
1719 02420 710001 law i 1 | |
1720 02421 400021 add t0 | |
1721 02422 240021 dac t0 | |
1722 02423 422475 sub frl | |
1723 02424 640200 spa | |
1724 02425 622445 jsp rrl | |
1725 02426 622460 jsp mvs | |
1726 02427 200021 lac t0 | |
1727 02430 522474 sas ofs | |
1728 02431 602410 jmp rrs | |
1729 02432 702331 law ssy | |
1730 02433 240021 dac t0 | |
1731 | |
1732 /relocate special registers | |
1733 | |
1734 02434 622445 rss, jsp rrl | |
1735 02435 440021 idx t0 | |
1736 02436 522476 sas esy | |
1737 02437 602434 jmp rss | |
1738 02440 212334 lac i 1ob | |
1739 02441 170267 jda gfr | |
1740 02442 700004 law go | |
1741 02443 260356 dap gcx | |
1742 02444 600341 jmp g2e | |
1743 | |
1744 /relocate 1 word, move 1 word | |
1745 | |
1746 02445 262457 rrl, dap rrx | |
1747 02446 210021 lac i t0 | |
1748 02447 022470 and ad | |
1749 02450 422477 sub ofr | |
1750 02451 640200 spa | |
1751 02452 602457 jmp rrx | |
1752 02453 210021 lac i t0 | |
1753 02454 400234 add fro | |
1754 02455 422474 sub ofs | |
1755 02456 250021 dac i t0 | |
1756 02457 602457 rrx, jmp . | |
1757 | |
1758 02460 262467 mvs, dap mvx | |
1759 02461 200021 lac t0 | |
1760 02462 400234 add fro | |
1761 02463 422474 sub ofs | |
1762 02464 240022 dac t1 | |
1763 02465 210021 lac i t0 | |
1764 02466 250022 dac i t1 | |
1765 | |
1766 02467 602467 mvx, jmp . | |
/lisp 3-23-64 : 1 field Page 33 | |
1767 | |
1768 /constants etc. | |
1769 | |
1770 02470 177777 ad, 177777 | |
1771 02471 000000 lp1, 0 | |
1772 02472 000000 hi1, 0 | |
1773 02473 777777 mz, -0 | |
1774 02474 002500 ofs, frs | |
1775 02475 003170 frl, fws | |
1776 02476 002351 esy, pdo | |
1777 02477 002351 ofr, pdo | |
1778 | |
1779 define item X | |
1780 .+2 | |
1781 .+3 | |
1782 add X | |
1783 nil | |
1784 termin | |
1785 | |
1786 define next A | |
1787 A | |
1788 .+1 | |
1789 termin | |
1790 | |
1791 define subr F | |
1792 .+2 | |
1793 .+7 | |
1794 add F+2 | |
1795 .+1 | |
1796 sbr | |
1797 .+1 | |
1798 F | |
1799 nil | |
1800 termin | |
1801 | |
1802 define fsubr F | |
1803 .+2 | |
1804 .+7 | |
1805 add F+2 | |
1806 .+1 | |
1807 fsb | |
1808 .+1 | |
1809 F | |
1810 nil | |
1811 termin | |
1812 | |
1813 define apval A | |
1814 apv | |
1815 .+1 | |
1816 A | |
1817 nil | |
1818 termin | |
1819 /// origin of free storage | |
1820 frs, | |
1821 | |
1822 02500 403470 nil, add f38 | |
1823 02501 002504 kz | |
/lisp 3-23-64 : 1 field Page 34 | |
1824 | |
1825 02502 403526 t, add f37 | |
1826 02503 002510 kt | |
1827 /// property list for NIL | |
1828 kz, apval nil | |
02504 003110 | |
02505 002506 | |
02506 002500 | |
02507 002500 | |
1829 /// property list for T | |
1830 kt, apval t | |
02510 003110 | |
02511 002512 | |
02512 002502 | |
02513 002500 | |
1831 /// location of atom OBLIST | |
1832 02514 403522 obj, add fb0 | |
1833 02515 002516 .+1 | |
1834 02516 003110 apv | |
1835 02517 002520 .+1 | |
1836 02520 002522 obl, ols | |
1837 02521 002500 nil | |
1838 | |
1839 /object list | |
1840 /// location of OBLIST | |
1841 ols, subr f2 | |
02522 002524 | |
02523 002532 | |
02524 403172 | |
02525 002526 | |
02526 003114 | |
02527 002530 | |
02530 003170 | |
02531 002500 | |
1842 | |
1843 subr f3 | |
02532 002534 | |
02533 002542 | |
02534 403200 | |
02535 002536 | |
02536 003114 | |
02537 002540 | |
02540 003176 | |
02541 002500 | |
1844 | |
1845 subr f4 | |
02542 002544 | |
02543 002552 | |
02544 403204 | |
02545 002546 | |
02546 003114 | |
02547 002550 | |
02550 003202 | |
02551 002500 | |
1846 | |
1847 fsubr f6 | |
02552 002554 | |
/lisp 3-23-64 : 1 field Page 35 | |
02553 002562 | |
02554 403210 | |
02555 002556 | |
02556 003124 | |
02557 002560 | |
02560 003206 | |
02561 002500 | |
1848 | |
1849 subr f7 | |
02562 002564 | |
02563 002572 | |
02564 403216 | |
02565 002566 | |
02566 003114 | |
02567 002570 | |
02570 003214 | |
02571 002500 | |
1850 | |
1851 subr f8 | |
02572 002574 | |
02573 002602 | |
02574 403224 | |
02575 002576 | |
02576 003114 | |
02577 002600 | |
02600 003222 | |
02601 002500 | |
1852 | |
1853 subr f12 | |
02602 002604 | |
02603 002612 | |
02604 403230 | |
02605 002606 | |
02606 003114 | |
02607 002610 | |
02610 003226 | |
02611 002500 | |
1854 | |
1855 subr f13 | |
02612 002614 | |
02613 002622 | |
02614 403236 | |
02615 002616 | |
02616 003114 | |
02617 002620 | |
02620 003234 | |
02621 002500 | |
1856 | |
1857 fsubr f14 | |
02622 002624 | |
02623 002632 | |
02624 403246 | |
02625 002626 | |
02626 003124 | |
02627 002630 | |
02630 003244 | |
02631 002500 | |
/lisp 3-23-64 : 1 field Page 36 | |
1858 | |
1859 subr f18 | |
02632 002634 | |
02633 002642 | |
02634 403254 | |
02635 002636 | |
02636 003114 | |
02637 002640 | |
02640 003252 | |
02641 002500 | |
1860 | |
1861 subr f21 | |
02642 002644 | |
02643 002652 | |
02644 403262 | |
02645 002646 | |
02646 003114 | |
02647 002650 | |
02650 003260 | |
02651 002500 | |
1862 | |
1863 subr f24 | |
02652 002654 | |
02653 002662 | |
02654 403272 | |
02655 002656 | |
02656 003114 | |
02657 002660 | |
02660 003270 | |
02661 002500 | |
1864 | |
1865 subr f26 | |
02662 002664 | |
02663 002672 | |
02664 403300 | |
02665 002666 | |
02666 003114 | |
02667 002670 | |
02670 003276 | |
02671 002500 | |
1866 | |
1867 subr f27 | |
02672 002674 | |
02673 002702 | |
02674 403306 | |
02675 002676 | |
02676 003114 | |
02677 002700 | |
02700 003304 | |
02701 002500 | |
1868 | |
1869 subr f32 | |
02702 002704 | |
02703 002712 | |
02704 403316 | |
02705 002706 | |
02706 003114 | |
/lisp 3-23-64 : 1 field Page 37 | |
02707 002710 | |
02710 003314 | |
02711 002500 | |
1870 | |
1871 subr f33 | |
02712 002714 | |
02713 002722 | |
02714 403324 | |
02715 002716 | |
02716 003114 | |
02717 002720 | |
02720 003322 | |
02721 002500 | |
1872 | |
1873 subr f34 | |
02722 002724 | |
02723 002732 | |
02724 403342 | |
02725 002726 | |
02726 003114 | |
02727 002730 | |
02730 003340 | |
02731 002500 | |
1874 | |
1875 fsubr f50 | |
02732 002734 | |
02733 002742 | |
02734 403350 | |
02735 002736 | |
02736 003124 | |
02737 002740 | |
02740 003346 | |
02741 002500 | |
1876 | |
1877 subr f51 | |
02742 002744 | |
02743 002752 | |
02744 403356 | |
02745 002746 | |
02746 003114 | |
02747 002750 | |
02750 003354 | |
02751 002500 | |
1878 | |
1879 subr f52 | |
02752 002754 | |
02753 002762 | |
02754 403364 | |
02755 002756 | |
02756 003114 | |
02757 002760 | |
02760 003362 | |
02761 002500 | |
1880 | |
1881 fsubr f53 | |
02762 002764 | |
02763 002772 | |
/lisp 3-23-64 : 1 field Page 38 | |
02764 403370 | |
02765 002766 | |
02766 003124 | |
02767 002770 | |
02770 003366 | |
02771 002500 | |
1882 | |
1883 subr f54 | |
02772 002774 | |
02773 003002 | |
02774 403376 | |
02775 002776 | |
02776 003114 | |
02777 003000 | |
03000 003374 | |
03001 002500 | |
1884 | |
1885 fsubr f60 | |
03002 003004 | |
03003 003012 | |
03004 403442 | |
03005 003006 | |
03006 003124 | |
03007 003010 | |
03010 003440 | |
03011 002500 | |
1886 | |
1887 fsubr f61 | |
03012 003014 | |
03013 003022 | |
03014 403450 | |
03015 003016 | |
03016 003124 | |
03017 003020 | |
03020 003446 | |
03021 002500 | |
1888 | |
1889 fsubr f62 | |
03022 003024 | |
03023 003032 | |
03024 403456 | |
03025 003026 | |
03026 003124 | |
03027 003030 | |
03030 003454 | |
03031 002500 | |
1890 | |
1891 fsubr f63 | |
03032 003034 | |
03033 003042 | |
03034 403464 | |
03035 003036 | |
03036 003124 | |
03037 003040 | |
03040 003462 | |
03041 002500 | |
1892 | |
/lisp 3-23-64 : 1 field Page 39 | |
1893 subr f00 | |
03042 003044 | |
03043 003052 | |
03044 403332 | |
03045 003046 | |
03046 003114 | |
03047 003050 | |
03050 003330 | |
03051 002500 | |
1894 | |
1895 subr f01 | |
03052 003054 | |
03053 003062 | |
03054 403336 | |
03055 003056 | |
03056 003114 | |
03057 003060 | |
03060 003334 | |
03061 002500 | |
1896 | |
1897 subr fa3 | |
03062 003064 | |
03063 003072 | |
03064 403434 | |
03065 003066 | |
03066 003114 | |
03067 003070 | |
03070 003432 | |
03071 002500 | |
1898 | |
1899 003074 quo=. 2 /** | |
1900 fsubr fb5 | |
03072 003074 | |
03073 003102 | |
03074 403426 | |
03075 003076 | |
03076 003124 | |
03077 003100 | |
03100 003424 | |
03101 002500 | |
1901 | |
1902 003104 lam=. 2 /** | |
1903 item f40 | |
03102 003104 | |
03103 003106 | |
03104 403472 | |
03105 002500 | |
1904 | |
1905 003110 apv=. 2 /** | |
1906 item f42 | |
03106 003110 | |
03107 003112 | |
03110 403476 | |
03111 002500 | |
1907 | |
1908 003114 sbr=. 2 /** | |
1909 item f43 | |
/lisp 3-23-64 : 1 field Page 40 | |
03112 003114 | |
03113 003116 | |
03114 403502 | |
03115 002500 | |
1910 | |
1911 003120 xpr=. 2 /** | |
1912 item f44 | |
03116 003120 | |
03117 003122 | |
03120 403506 | |
03121 002500 | |
1913 | |
1914 003124 fsb=. 2 /** | |
1915 item f45 | |
03122 003124 | |
03123 003126 | |
03124 403512 | |
03125 002500 | |
1916 | |
1917 003130 fxp=. 2 /** | |
1918 item f46 | |
03126 003130 | |
03127 003132 | |
03130 403516 | |
03131 002500 | |
1919 | |
1920 next t | |
03132 002502 | |
03133 003134 | |
1921 next obj | |
03134 002514 | |
03135 003136 | |
1922 | |
1923 subr fb2 | |
03136 003140 | |
03137 003146 | |
03140 403404 | |
03141 003142 | |
03142 003114 | |
03143 003144 | |
03144 003402 | |
03145 002500 | |
1924 | |
1925 subr fb3 | |
03146 003150 | |
03147 003156 | |
03150 403412 | |
03151 003152 | |
03152 003114 | |
03153 003154 | |
03154 003410 | |
03155 002500 | |
1926 | |
1927 subr fb4 | |
03156 003160 | |
03157 003166 | |
03160 403420 | |
/lisp 3-23-64 : 1 field Page 41 | |
03161 003162 | |
03162 003114 | |
03163 003164 | |
03164 003416 | |
03165 002500 | |
1928 | |
1929 03166 002500 nil | |
1930 03167 002500 nil | |
1931 /// full word space | |
1932 fws, | |
1933 | |
1934 define loca A | |
1935 opr A | |
1936 0 | |
1937 termin | |
1938 | |
1939 define nam1 X | |
1940 X | |
1941 nil | |
1942 termin | |
1943 | |
1944 define nam2 X,Y | |
1945 X | |
1946 .+1 | |
1947 nam1 Y | |
1948 termin | |
1949 | |
1950 define nam3 X,Y,Z | |
1951 X | |
1952 .+1 | |
1953 nam2 Y,Z | |
1954 termin | |
1955 | |
1956 /SUBRs and FSUBRs | |
1957 | |
1958 f2, loca atm | |
03170 760562 | |
03171 000000 | |
1959 nam2 flex ato,767644 | |
03172 612346 | |
03173 003174 | |
03174 767644 | |
03175 002500 | |
1960 | |
1961 f3, loca car | |
03176 760555 | |
03177 000000 | |
1962 nam1 flex car | |
03200 636151 | |
03201 002500 | |
1963 | |
1964 f4, loca cdr | |
03202 760554 | |
03203 000000 | |
1965 nam1 flex cdr | |
03204 636451 | |
03205 002500 | |
/lisp 3-23-64 : 1 field Page 42 | |
1966 | |
1967 f6, loca cnd | |
03206 761070 | |
03207 000000 | |
1968 nam2 flex con,767664 | |
03210 634645 | |
03211 003212 | |
03212 767664 | |
03213 002500 | |
1969 | |
1970 f7, loca cns | |
03214 760614 | |
03215 000000 | |
1971 nam2 flex con,767622 | |
03216 634645 | |
03217 003220 | |
03220 767622 | |
03221 002500 | |
1972 | |
1973 f8, loca eqq | |
03222 760570 | |
03223 000000 | |
1974 nam1 766550 | |
03224 766550 | |
03225 002500 | |
1975 | |
1976 f12, loca gsm | |
03226 761023 | |
03227 000000 | |
1977 nam2 flex gen,flex sym | |
03230 676545 | |
03231 003232 | |
03232 223044 | |
03233 002500 | |
1978 | |
1979 f13, loca grp | |
03234 761123 | |
03235 000000 | |
1980 nam3 flex gre,flex ate,765147 | |
03236 675165 | |
03237 003240 | |
03240 612365 | |
03241 003242 | |
03242 765147 | |
03243 002500 | |
1981 | |
1982 f14, loca elc | |
03244 761770 | |
03245 000000 | |
1983 nam2 flex lis,767623 | |
03246 437122 | |
03247 003250 | |
03250 767623 | |
03251 002500 | |
1984 | |
1985 f18, loca min | |
03252 760764 | |
/lisp 3-23-64 : 1 field Page 43 | |
03253 000000 | |
1986 nam2 flex min,762422 | |
03254 447145 | |
03255 003256 | |
03256 762422 | |
03257 002500 | |
1987 | |
1988 f21, loca nmp | |
03260 760754 | |
03261 000000 | |
1989 nam3 flex num,flex ber,767647 | |
03262 452444 | |
03263 003264 | |
03264 626551 | |
03265 003266 | |
03266 767647 | |
03267 002500 | |
1990 | |
1991 f24, loca stp | |
03270 761120 | |
03271 000000 | |
1992 nam2 flex sto,767647 | |
03272 222346 | |
03273 003274 | |
03274 767647 | |
03275 002500 | |
1993 | |
1994 f26, loca pr1 | |
03276 760703 | |
03277 000000 | |
1995 nam2 flex pri,764501 | |
03300 475171 | |
03301 003302 | |
03302 764501 | |
03303 002500 | |
1996 | |
1997 f27, loca qot | |
03304 761057 | |
03305 000000 | |
1998 nam3 flex quo,flex tie,764523 | |
03306 502446 | |
03307 003310 | |
03310 237165 | |
03311 003312 | |
03312 764523 | |
03313 002500 | |
1999 | |
2000 f32, loca rda | |
03314 760607 | |
03315 000000 | |
2001 nam2 flex rpl,flex aca | |
03316 514743 | |
03317 003320 | |
03320 616361 | |
03321 002500 | |
2002 | |
2003 f33, loca rdc | |
/lisp 3-23-64 : 1 field Page 44 | |
03322 760605 | |
03323 000000 | |
2004 nam2 flex rpl,flex acd | |
03324 514743 | |
03325 003326 | |
03326 616364 | |
03327 002500 | |
2005 | |
2006 f00, loca xeq | |
03330 760767 | |
03331 000000 | |
2007 nam1 flex xeq | |
03332 276550 | |
03333 002500 | |
2008 | |
2009 f01, loca crn | |
03334 760112 | |
03335 000000 | |
2010 nam1 flex loc | |
03336 434663 | |
03337 002500 | |
2011 | |
2012 f34, loca tpr | |
03340 760700 | |
03341 000000 | |
2013 nam2 flex ter,flex pri | |
03342 236551 | |
03343 003344 | |
03344 475171 | |
03345 002500 | |
2014 | |
2015 f50, loca pgm | |
03346 760423 | |
03347 000000 | |
2016 nam2 flex pro,767667 | |
03350 475146 | |
03351 003352 | |
03352 767667 | |
03353 002500 | |
2017 | |
2018 f51, loca ret | |
03354 760524 | |
03355 000000 | |
2019 nam2 flex ret,flex urn | |
03356 516523 | |
03357 003360 | |
03360 245145 | |
03361 002500 | |
2020 | |
2021 f52, loca goe | |
03362 760526 | |
03363 000000 | |
2022 nam1 766746 | |
03364 766746 | |
03365 002500 | |
2023 | |
2024 f53, loca stq | |
/lisp 3-23-64 : 1 field Page 45 | |
03366 760533 | |
03367 000000 | |
2025 nam2 flex set,767650 | |
03370 226523 | |
03371 003372 | |
03372 767650 | |
03373 002500 | |
2026 | |
2027 f54, loca aso | |
03374 760374 | |
03375 000000 | |
2028 nam2 flex sas,flex soc | |
03376 226122 | |
03377 003400 | |
03400 224663 | |
03401 002500 | |
2029 | |
2030 fb2, loca rin | |
03402 761304 | |
03403 000000 | |
2031 nam2 flex rea,767664 | |
03404 516561 | |
03405 003406 | |
03406 767664 | |
03407 002500 | |
2032 | |
2033 fb3, loca evl | |
03410 761563 | |
03411 000000 | |
2034 nam2 flex eva,767643 | |
03412 652561 | |
03413 003414 | |
03414 767643 | |
03415 002500 | |
2035 | |
2036 fb4, loca pnt | |
03416 761235 | |
03417 000000 | |
2037 nam2 flex pri,764523 | |
03420 475171 | |
03421 003422 | |
03422 764523 | |
03423 002500 | |
2038 | |
2039 fb5, loca car /** | |
03424 760555 | |
03425 000000 | |
2040 nam2 flex quo,762365 | |
03426 502446 | |
03427 003430 | |
03430 762365 | |
03431 002500 | |
2041 | |
2042 fa3, loca nul | |
03432 760567 | |
03433 000000 | |
2043 nam2 flex nul,767643 | |
/lisp 3-23-64 : 1 field Page 46 | |
03434 452443 | |
03435 003436 | |
03436 767643 | |
03437 002500 | |
2044 | |
2045 f60, loca pls | |
03440 760631 | |
03441 000000 | |
2046 nam2 flex plu,767622 | |
03442 474324 | |
03443 003444 | |
03444 767622 | |
03445 002500 | |
2047 | |
2048 f61, loca tim | |
03446 760661 | |
03447 000000 | |
2049 nam2 flex tim,766522 | |
03450 237144 | |
03451 003452 | |
03452 766522 | |
03453 002500 | |
2050 | |
2051 f62, loca lga | |
03454 760651 | |
03455 000000 | |
2052 nam2 flex log,flex and | |
03456 434667 | |
03457 003460 | |
03460 614564 | |
03461 002500 | |
2053 | |
2054 f63, loca lgo | |
03462 760656 | |
03463 000000 | |
2055 nam2 flex log,764651 | |
03464 434667 | |
03465 003466 | |
03466 764651 | |
03467 002500 | |
2056 | |
2057 /miscellany | |
2058 | |
2059 f38, nam1 flex nil | |
03470 457143 | |
03471 002500 | |
2060 | |
2061 f40, nam2 flex lam,flex bda | |
03472 436144 | |
03473 003474 | |
03474 626461 | |
03475 002500 | |
2062 | |
2063 f42, nam2 flex apv,766143 | |
03476 614725 | |
03477 003500 | |
03500 766143 | |
/lisp 3-23-64 : 1 field Page 47 | |
03501 002500 | |
2064 | |
2065 f43, nam2 flex sub,767651 | |
03502 222462 | |
03503 003504 | |
03504 767651 | |
03505 002500 | |
2066 | |
2067 f44, nam2 flex exp,767651 | |
03506 652747 | |
03507 003510 | |
03510 767651 | |
03511 002500 | |
2068 | |
2069 f45, nam2 flex fsu,766251 | |
03512 662224 | |
03513 003514 | |
03514 766251 | |
03515 002500 | |
2070 | |
2071 f46, nam2 flex fex,764751 | |
03516 666527 | |
03517 003520 | |
03520 764751 | |
03521 002500 | |
2072 | |
2073 fb0, nam2 flex obl,flex ist | |
03522 466243 | |
03523 003524 | |
03524 712223 | |
03525 002500 | |
2074 | |
2075 f37, nam1 767623 | |
03526 767623 | |
03527 002500 | |
2076 | |
2077 end, | |
2078 002351 start pdo | |
02243 000001 | |
02244 600000 | |
02245 000077 | |
02246 000076 | |
02247 661000 | |
02250 661077 | |
02251 000200 | |
02252 000003 | |
02253 767600 | |
02254 000032 | |
02255 400000 | |
02256 400041 | |
02257 777777 | |
02260 020041 | |
02261 040041 | |
02262 600666 | |
02263 200000 | |
02264 177777 | |
02265 777776 | |
/lisp 3-23-64 : 1 field Page 48 | |
02266 000020 | |
02267 000012 | |
02270 000021 | |
02271 000041 | |
02272 671000 | |
02273 000072 | |
02274 000074 | |
02275 320100 | |
02276 000057 | |
02277 000055 | |
02300 601326 | |
02301 000033 | |
02302 000073 | |
02303 000056 | |
02304 000036 | |
02305 000075 | |
02306 240044 | |
No detected errors |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment