Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50322/ucilsp.lst
There are no other files named ucilsp.lst in the archive.
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1
UCILSP MAC 27-MAR-75 17:13 NOTES TO SYSTEM PROGRAMMERS
1 TITLE LISP INTERPRETER 3A(1)-2
2 SUBTTL NOTES TO SYSTEM PROGRAMMERS
3
4 ;%% VERSION DEFINITIONS:
5
6 000002 LSPWHO==2 ;%% UCI
7 000003 LSPVER==3 ;%% MAJOR VERSION
8 000001 LSPMIN==1 ;%% MINOR VERSION
9 000001 LSPEDT==1 ;%% EDIT LEVEL
10
11 ; ASSEMBLY SWITCHES OF INTEREST
12 ;
13 ; SWITCH EXPLANATION, COMMENTS ETC.
14 ; ALTMOD FOR ALTMODE CHARACTER. OLD WAS 175
15 ; NOW IT'S 33 FOR 506
16 ; QALLOW ENABLES ACCESS TO QMANGR, ONLY IF YOUR
17 ; SYSTEM SUPPORTS QUEUE. SEVERAL SWITCHES
18 ; ASSOCIATED WITH THE CODE
19 ; OLDNIL OLD STANFORD NIL. CODE TO MAKE CAR AND CDR
20 ; OF NIL INCOMPLETE AS OF 8/30/73
21 ; NONUSE OLD STANFORD VERSIONS OF MEMQ, AND ETC.
22 ; THAT RETURNED T OR NIL.
23 ; REALLC PROGRAM-CONTROLLED DYNAMIC REALLOCATION
24 ; ROUTINE AND RELATED FUNCTIONS
25 ; SYSPRG PROJECT NUMBER IF NOT ON SYS:.
26 ; SYSPN PROGRAMMER NUMBER IF NOT ON SYS:
27 ; SYSDEV DEVICE LOCATION OF SYSTEM.
28 ; NOTE THAT THE ABOVE THREE ARE WHERE LISP
29 ; EXPECTS TO FIND THE LOADER,THE
30 ; SYMBOL TABLE AND THE NORMAL HI-SEGMENT.
31 ; THE FUNCTION (SETSYS ...) ONLY CHANGES THE
32 ; EXPECTED LOCATION OF THE HI-SEG
33 ;%% SYSNAM NAME OF EXPECTED HIGH SEGMENT
34 ;%% AND LISP LOADER AND SYMBOL TABLE
35 ;%% INUMIN LOWEST ADDRESS AVAILABLE FOR USE AS
36 ;%% AN INUM
37 ;%% BCKETS NUMBER OF HASH BUCKETS
38 ;%% SHRST LOWEST ADDRESS IN HIGH SEGMENT
39 ;%% SYSUNV SEARCH SYSTEM UNIVERSAL LIBRARIES
40
41 ; **USE FOLLOWING AT OWN RISK**
42
43 ; HASH NUMBER OF HASH BUCKETS WHEN STARTING
44 ; ALVINE STANFORD EDITOR (WHO WOULD WANT IT?)
45 ; 1 FOR ALVINE, 0 FOR NO ALVINE
46 ; STPGAP ANOTHER STANFORD EDITOR
47
48 ; COMMENTS:
49 ;
50 ; THERE ARE BASICALLY TWO SETS OF COMMENTS IN THE CODE:
51 ; THOSE IN LOWER CASE ARE ORIGINAL STANFORD COMMENTS;
52 ; THOSE OF A SEMI-COLON FOLLOWED BY TWO $'S,
53 ; TWO #'S, OR TWO %'S ARE UCI ADDITIONS,
54 ; CHANGES, OR ADDITIONAL COMMENTS
55 ; ($'S ARE USUALLY DARYLE LEWIS,
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-1
UCILSP MAC 27-MAR-75 17:13 NOTES TO SYSTEM PROGRAMMERS
56 ; #'S ARE GENERALLY JEFF JACOBS,
57 ; AND %'S ARE GENERALLY BILL EARL).
58
59
60 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-2
UCILSP MAC 27-MAR-75 17:13 AC DEFINITIONS AND EXTERNALS
61 SUBTTL AC DEFINITIONS AND EXTERNALS
62
63
64 IFNDEF SYSUNV,<SYSUNV==1> ;[1]
65
66 IFNDEF SHRST <SHRST==400000> ;[1]
67
68 400000' TWOSEG SHRST ;[1]
69
70 IFN SYSUNV,< ;[1]
71 SEARCH MACTEN
72 SEARCH UUOSYM ;[1]
73
74 000137 .JBVER==137 ;%% SYSTEM VERSION LOCATION ;[1]
75
76 000137 LOC .JBVER ;%% SET STANDARD SYSTEM VERSION ;[1]
77 VRSN. (LSP)^BYTE (3)LSPWHO (9)LSPVER (6)LSPMIN (18)LSPEDT^ ;%% GENERATE VERSIO
78 000137 2 003 01 000001 N> ;[1]
79
80 400000' RELOC SHRST ;[1]
81
82 000001 OLDNIL==1 ;## NOT COMPLETE
83
84 IFNDEF NONUSE <NONUSE==0>
85 IFN SHRST-400000 <QALLOW==0>
86 IFNDEF QALLOW <QALLOW==1>
87 IFNDEF REALLC <REALLC==0> ;%% NORMALLY OFF TO SAVE SPACE
88 ;%% CHANGE FOR EXTENDED SYSTEM
89 ;SYSPRG==667 ;PPN OF LISP SYSTEM - SET TO 0 FOR SYS:
90 ;SYSPN==2 ;SAME HERE
91 IFNDEF SYSPRG,<SYSPRG==0
92 SYSPN==0>
93 IFNDEF SYSPN,<SYSPN==1>
94 ;ALVINE==1 ;1 FOR ALVINE, 0 FOR NO ALVINE
95 IFNDEF ALVINE,<ALVINE==0>
96 ;HASH==1 ;1 FOR SETTING # OF HASH BUCKETS AT SYS. INIT. TIME
97 IFNDEF HASH,<HASH==0>
98 ;STPGAP==1 ;1 FOR STOPGAP, 0 TO DELETE IT
99 IFNDEF STPGAP,<STPGAP==0>
100 IF1,<PURGE CDR,DF>
101 MLON
102 IFNDEF INUMIN, <INUMIN=SHRST-1> ;%% [1]
103 577777 INUM0=777777-<<777777-INUMIN>/2> ;%% [1]
104 IFNDEF BCKETS,<BCKETS==177>
105 IFE SYSPRG,<
106 IFNDEF SYSDEV<DEFINE SYSDEV <SIXBIT /SYS/>>
107 >
108 IFN SYSPRG,<
109 IFNDEF SYSDEV<DEFINE SYSDEV <SIXBIT /DSK/>>
110 >
111 IFNDEF SYSNAM,<DEFINE SYSNAM <SIXBIT /LISP/>>
112
113 ;accumulator definitions
114 ;`sacred' means sacred to the interpreter
115 ;`marked' means marked from by the garbage collector
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-3
UCILSP MAC 27-MAR-75 17:13 AC DEFINITIONS AND EXTERNALS
116 ;`protected' means protected during garbage collection
117
118 000000 NIL=0 ;sacred, marked, protected ;atom head of NIL
119 000001 A=1 ;marked, protected ;results of functions and first arg of subrs
120 000002 B=A+1 ;marked, protected ;second arg of subrs
121 000003 C=B+1 ;marked, protected ;third arg of subrs
122 000004 AR1=4 ;marked, protected ;fourth arg of subrs
123 000005 AR2A=5 ;marked, protected ;fifth arg of subrs
124 000006 T=6 ;marked, protected ;minus number of args in LSUBR call
125 000007 TT=7 ;marked, protected
126 000010 REL=10 ;marked, protected
127 000011 S=11 ;$$NOW USED FOR ATOM RELOCATION AND GARBAGE COLLECTOR
128 000012 D=12
129 000013 R=13 ;protected
130 000014 P=14 ;sacred, protected ;regular push down stack pointer
131 000015 F=15 ;sacred ;free storage list pointer
132 000016 FF=16 ;sacred ;full word list pointer
133 000017 SP=17 ;sacred, protected ;special pushdown stack pointer
134
135 000005 NACS==5 ;number of argument acs
136
137 000000 X==0 ;X indicates impure (modified) code locations
138 000012 TEN==^D10
139
140 ;UUO definitions
141 ;UUOs used to call functions from compiled code
142 ;the number of arguments is given by the ac field
143 ;the address is a pointer either to the function
144 ;name or the code of the function
145 034000 000000 OPDEF FCALL [34B8] ;ordinary function call-may be changed to PUSHJ
146 035000 000000 OPDEF JCALL [35B8] ;terminal function call-may be changed to JRST
147 036000 000000 OPDEF CALLF [36B8] ;like call but may not be changed to PUSHJ
148 037000 000000 OPDEF JCALLF [37B8] ;like jcall but may not be changed to JRST
149 ;error UUOs
150
151 001000 000000 OPDEF ERR1 [1B8] ;ordinary lisp error ;gives backtrace
152 002000 000000 OPDEF ERR2 [2B8] ;space overflow error ;no backtrace
153 003000 000000 OPDEF ERR3 [3B8] ;ill. mem. ref.
154 004000 000000 OPDEF STRTIP [4B8] ;print error message and continue
155 ;system UUOs
156
157 051000 000000 OPDEF TTYUUO [51B8]
158 051000 000000 OPDEF INCHRW [TTYUUO 0,]
159 051040 000000 OPDEF OUTCHR [TTYUUO 1,]
160 051140 000000 OPDEF OUTSTR [TTYUUO 3,]
161 051200 000000 OPDEF INCHWL [TTYUUO 4,]
162 051240 000000 OPDEF INCHSL [TTYUUO 5,]
163 051440 000000 OPDEF CLRBFI [TTYUUO 11,]
164 051540 000000 OPDEF SKPINC [TTYUUO 13,]
165 051600 000000 OPDEF SKPINL [TTCALL 14,] ;## BETTER FOR TALK THAN SKPINC
166 260600 401140' OPDEF TALK [PUSHJ P,TTYCLR] ;## TURN OF CONTROL O
167
168 ;I/O bits and constants
169 000105 TTYLL==105 ;teletype linelength
170 000160 LPTLL==160 ;line printer linelength
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-4
UCILSP MAC 27-MAR-75 17:13 AC DEFINITIONS AND EXTERNALS
171 000203 MLIOB==203 ;max length of I/O buffer
172 000002 NIOB==2 ;no of I/O buffers per device
173 000017 NIOCH==17 ;number of I/O channels
174 000001 FSTCH==1 ;first I/O channel
175 000000 TTCH==0 ;teletype I/O channel
176 000415 BLKSIZE==NIOB*MLIOB+COUNT+1
177 000002 INB==2
178 000001 OUTB==1
179 000040 AVLB==40
180 000004 DIRB==4
181
182 ;channel data
183 000000 CHNAM==0 ;name of channel
184 000001 CHDEV==1 ;name of device
185 000002 CHPPN==2 ;ppn for input channel
186 000003 CHOCH==3 ;oldch for input channels
187 IFN STPGAP,<
188 CHPAGE==4 ;page number for input
189 CHLINE==5 ;line number for input
190 CHDAT==6 ;device data
191 POINTR==7 ;byte pointer for device buffer
192 COUNT==10 ;character count for device buffer
193 >
194 IFE STPGAP,<
195 000004 CHDAT==4
196 000005 POINTR==5
197 000006 COUNT==6
198 >
199 000002 CHLL==2 ;linelength for output channel
200 000003 CHHP==3 ;hposit for output channels
201
202 ;special ASCII characters
203 IFNDEF ALTMOD,<ALTMOD==33>
204 000040 SPACE==40 ;space
205 000031 IGCRLF==31 ;ignored cr-lf
206 000177 RUBOUT==177
207 000012 LF==12
208 000015 CR==15
209 000011 TAB==11
210 000007 BELL==7
211 000042 DBLQT==42 ;double quote "
212
213 ;byte pointer field definitions
214 000014 ACFLD==14 ;ac field
215 000021 XFLD==21 ;index field
216 000010 OPFLD==10 ;opcode field
217 000043 ADRFLD==43 ;adress field
218
219 ;external and internal symbols
220
221 EXTERNAL JOB41 ;instruction to be executed on UUO
222 EXTERNAL JOBAPR ;address of APR interupt routines
223 EXTERNAL JOBCNI ;interupt condition flags
224 EXTERNAL JOBFF ;first location beyond program
225 EXTERNAL JOBREL ;address of last legal instruction in core image
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-5
UCILSP MAC 27-MAR-75 17:13 AC DEFINITIONS AND EXTERNALS
226 EXTERNAL JOBREN ;reentry address
227 EXTERNAL JOBSA ;starting address
228 EXTERNAL JOBSYM ;address of symbol table
229 EXTERNAL JOBTPC ;program counter at time of interupt
230 EXTERNAL JOBUUO ;uuo is put here with effective address computed
231 EXTERNAL JOBOPC ;$$FOR NEW REENTER FEATURES
232 EXTERNAL JOBHRL ;HIGH SEGMENT BOUNDARY
233
234
235 ;apr flags
236 200000 PDOV==200000 ;push down list overflow
237 020000 MPV==20000 ;memory protection violation
238 010000 NXM==10000 ;non-existant memory referenced
239 230000 APRFLG==PDOV+MPV+NXM ;any of the above
240
241 ;RE-ENTER CONTROL CHARACTERS
242 000010 CNTLH==10
243 000005 CNTLE==5
244 000002 CNTLB==2
245 000032 CNTLZ==32
246 000007 CNTLG==7
247 000022 CNTLR==22 ;CH TO RESTORE SYSTEM OBLIST 3/28/73
248
249 ;system uuos
250 000016 APRINI==16
251 000000 RESET==0
252 000027 STIME==27
253 000004 DEVCHR==4
254 000012 EXIT==12
255 000011 CORE==11
256 000036 SETUWP==36
257 000040 GETSEG==40
258 ;REMOTE MACRO
259
260 DEFINE REMOTE (TX)
261 < HERE1 <TX>>
262
263 DEFINE HERE1 (NEW,OLD,%G)
264 < DEFINE %G
265 < NEW>
266 DEFINE REMOTE (TX)
267 < HERE1 <TX>,<OLD
268 %G
269 >>>
270 DEFINE HERE
271 < DEFINE HERE1 (XX,YY)
272 < YY>
273 REMOTE>
274 SALL
275 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-6
UCILSP MAC 27-MAR-75 17:13 AC DEFINITIONS AND EXTERNALS
276
277 SUBTTL TOP LEVEL AND INITIALIZATION
278
279 REMOTE<
280 LISPGO: SKIPE GCFLG ;$$CHECK FO GARBAGE COLLECTION
281 PUSHJ P,GCING ;$$QUEUE THE REQUEST
282 CAME 0,STNIL ;$$UNBIND STACK IF REGS LOOK OK
283 JRST GETHGH ;GO GET HIGH SEGMENT
284 MOVE B,SC2
285 PUSHJ P,UBD ;$$UNBIND STACK
286 JRST STRT ;go to re-allocator
287 GETHGH: CALLI RESET
288 MOVSI A,1
289 CALLI A,CORE ;ELIMINATE ANY OLD HIGH SEGS.
290 HALT
291 MOVEI A,HGHDAT
292 CALLI A,GETSEG ;GET THE PROPER HIGH SEG
293 HALT
294 MOVEI A,DEBUGO ;SET THE REE ADDRESS
295 HRRM A,JOBREN
296 JRST STRT ;GO TO ALLOCATE STORAGE
297 HGHDAT: SYSDEV
298 SYSNAM
299 0
300 0
301 XWD SYSPRG,SYSPN
302 0>
303
304
305 400000' 476 00 0 00 000461' DDT: SETOM ERINT ;$$SET CONTROL H WITHOUT GOING THRU REE
306 400001' 254 00 1 00 000000* JRST @JOBOPC ;$$AND CONTINUE
307
308 400002' 332 00 0 00 000473' DEBUGO: SKIPE GCFLG# ;CHECK GARBASE COLLECT.
309 400003' 260 14 0 00 407142' PUSHJ P,GCING ;QUEUE INTERRUPT
310 400004' 051 00 0 00 000000 INCHRW 0 ;READ THE CONTROL CHARACTER
311 400005' 306 00 0 00 000022 CAIN 0,CNTLR
312 ; RESTORES SYSTEM OBLIST
313 JRST [HRRI 0,OBTBL(S)
314 HRRM 0,VOBLIST(S)
315 400006' 254 00 0 00 411071' JRST DEBUGO+2]
316 ; AND TRIES FOR ANOTHER CONTROL CHARACTER
317 400007' 306 00 0 00 000010 CAIN 0,CNTLH
318 JRST [MOVE 0,STNIL
319 400010' 254 00 0 00 411074' JRST DDT]
320 400011' 306 00 0 00 000005 CAIN 0,CNTLE
321 JRST [MOVE 0,STNIL
322 MOVEI 1,NIL
323 400012' 254 00 0 00 411076' JRST ERR]
324 400013' 306 00 0 00 000002 CAIN 0,CNTLB
325 JRST [MOVE 0,STNIL
326 SETOM ERINT
327 PUSHJ P,SPDLPT
328 PUSHJ P,SPREDO
329 400014' 254 00 0 00 411101' JRST LSPRET]
330 400015' 306 00 0 00 000032 CAIN 0,CNTLZ
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-7
UCILSP MAC 27-MAR-75 17:13 TOP LEVEL AND INITIALIZATION
331 JRST [MOVE 0,STNIL
332 400016' 254 00 0 00 411106' JRST LSPRET]
333 400017' 306 00 0 00 000007 CAIN 0,CNTLG
334 JRST [MOVE 0,STNIL
335 400020' 254 00 0 00 411110' JRST RERX]
336 400021' 254 00 0 00 400004' JRST DEBUGO+2 ;NOT A CONTROL CHARACTER
337 ;MUST BE SOMETHING IN THE BUFFER SO TRY AGAIN
338
339 400022' 047 00 0 00 000000 START: CALLI RESET ;random initializations for lisp interupts
340 400023' 200 00 0 00 411112' MOVE [JSR UUOH]
341 400024' 202 00 0 00 000000* MOVEM JOB41
342 400025' 201 00 0 00 400151' MOVEI APRINT
343 400026' 202 00 0 00 000000* MOVEM JOBAPR
344 400027' 201 00 0 00 230000 MOVEI APRFLG
345 400030' 047 00 0 00 000016 CALLI APRINI
346 400031' 402 00 0 00 000473' SETZM GCFLG
347 400032' 551 17 0 00 000001 HRRZI 17,1
348 IFN ALVINE,<SETZB 0,PSAV1>
349 400033' 400 00 0 00 000000 IFE ALVINE,<SETZ 0,>
350 400034' 251 17 0 00 000017 BLT 17,17 ;clear acs
351 400035' 200 11 0 00 000441' MOVE S,ATMOV ;$$SET UP RELOCATION FOR INTERNAL ATOMS (FOOLIST)
352 400036' 402 00 0 11 003725' LSPRT1: SETZM BIOCHN(S) ;$$CLEAR VARS FOR BREAK PACKAGE
353 400037' 402 00 0 11 003726' SETZM BPMPT(S) ;$$(#%IOCHNAS%#, #%PROMPTS%#, AND #%INDENT)
354 400040' 201 01 0 00 577777 MOVEI A,INUM0
355 400041' 202 01 0 11 003727' MOVEM A,BINDNT(S)
356 400042' 402 00 0 00 000461' SETZM ERINT# ;$$TURN OFF INTERRUPT FLAG
357 400043' 476 00 0 00 000033' SETOM ERRSW ;print error messages
358 400044' 402 00 0 00 000463' CLEARM ERRTN# ;return to top level on errors
359 400045' 476 00 0 00 000546' SETOM PRVCNT# ;initialize counter for errio
360 400046' 200 14 0 00 000450' MOVE P,C2# ;initial reg pdl ptr
361 400047' 200 17 0 00 000562' MOVE SP,SC2# ;initial spec pdl ptr
362
363
364 400050' 200 01 0 00 000522' MOVE A,LSPRMP# ;$$INITIALIZE TO TOP LEVEL PROMPT
365 ;$$CAN BE CHANGED BY INITPROMPT
366 400051' 260 14 0 00 401051' PUSHJ P,PROMPT ;$$
367
368 400052' 402 00 0 00 000566' SETZM SMAC ;$$CLEAR SPLICE LIST (JUST IN CASE)
369 400053' 200 11 0 00 000441' MOVE S,ATMOV ;$$SET UP RELOCATION FOR INTERNAL ATOMS (FOOLIST)
370 400054' 260 14 0 00 401136' PUSHJ P,TTYRET ;(outc nil t)(inc nil t)return output for gc message
371 400055' 561 00 0 11 002622' IFN OLDNIL <HRROI 0,CNIL2(S)> ;INITIALIZE NIL
372 IFE OLDNIL <SETZ 0, >
373 400056' 202 00 0 00 000573' MOVEM 0,STNIL# ;$$SAVE FOR REG CHECK AT START TIME
374 400057' 201 01 0 11 002622' MOVEI A,CNIL2(S) ;## GET PROP LIST OF NIL
375 400060' 202 01 0 00 000527' MOVEM A,NILPRP# ;## AND SAVE IT FOR GET ETC.
376
377 IFN HASH,<
378 SKIPE HASHFG#
379 JRST REHASH ;rehash if necessary>
380
381 400061' 336 00 0 00 000015 SKIPN F
382 400062' 260 14 0 00 406667' PUSHJ P,AGC ;garbage collect only if necessary
383 400063' 336 00 0 00 000446' SKIPN BSFLG# ;initial bootstrap for macros
384 400064' 254 00 0 00 400116' JRST BOOTS
385 400065' 332 01 0 00 000511' SKIPE A,INITF
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-8
UCILSP MAC 27-MAR-75 17:13 TOP LEVEL AND INITIALIZATION
386 400066' 036 00 0 01 000000 CALLF (A) ;evaluate initialization function
387 400067' 260 14 0 00 401136' PUSHJ P,TTYRET ;return all i/o to tty
388 400070' 260 14 0 00 402501' PUSHJ P,TERPRI
389 400071' 332 00 0 00 000502' SKIPE GOBF# ;garbaged oblist flag
390 400072' 004 00 0 00 411113' STRTIP [SIXBIT /GARBAGED OBLIST_!/]
391 400073' 402 00 0 00 000502' SETZM GOBF
392 400074' 332 00 0 00 000445' SKIPE BPSFLG#
393 400075' 254 00 0 00 400171' JRST BINER2 ;binary program space exceeded by loader
394 400076' 200 11 0 00 000441' LISP1: MOVE S,ATMOV# ;$$MAKE SURE REL STAYS
395 ;$$SET UP - BELT AND SUSPENDERS TECHNIQUE
396 400077' 260 14 0 00 402651' PUSHJ P,READ ;this is the top level of lisp
397 400100' 260 14 0 00 405505' PUSHJ P,EVAL
398 400101' 260 14 0 00 402327' PUSHJ P,PRINT
399 400102' 260 14 0 00 402501' PUSHJ P,TERPRI
400 400103' 254 00 0 00 400076' JRST LISP1
401
402 400104' 250 01 0 00 000512' INITFL: EXCH A,INITF1# ;## NEW INIT FILE LIST
403 400105' 263 14 0 00 000000 POPJ P, ;## RETURN THE OLD ONE
404
405 400106' 250 01 0 00 000511' INITFN: EXCH A,INITF#
406 400107' 263 14 0 00 000000 POPJ P,
407
408 ;return from lisp error
409 400110' 260 14 0 00 402501' LSPRET: PUSHJ P,TERPRI
410 400111' 200 02 0 00 000562' MOVE B,SC2 ;RETURN FROM BELL
411 400112' 260 14 0 00 406226' PUSHJ P,UBD ;unbind specpdl
412 400113' 254 00 0 00 400036' JRST LSPRT1
413
414 400114' 250 01 0 00 000554' .RSET: EXCH A,RSTSW#
415 400115' 263 14 0 00 000000 POPJ P,
416
417 COMMENT %
418 ;## OLD BOOTSTRAP CODE FOR INIT FILE, REPLACED BELOW
419 ;BOOTSTRAPPER FOR USER'S INIT FILE
420 BOOTS: SETOM BSFLG
421 MOVE A,[POINT 7,[ASCII /(ERRSET[INC(INPUT DSK:(INIT.LSP]NIL)[(EVAL(READ]/]]
422 MOVEM A,BOOPT#
423 MOVEI A,BSTYI
424 PUSHJ P,READP1
425 PUSHJ P,EVAL
426 JUMPE A,BOOTOT
427 MOVEI A,BSTYI
428 PUSHJ P,READP1
429 PUSH P,A
430 MOVE A,(P)
431 PUSHJ P,ERRSET
432 CAIE A,$EOF$(S)
433 JRST .-3
434 BOOTOT: PUSHJ P,EXCISE
435 JRST ERR
436
437 BSTYI: ILDB A,BOOPT
438 POPJ P,
439 %
440
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-9
UCILSP MAC 27-MAR-75 17:13 TOP LEVEL AND INITIALIZATION
441 ;## NEW IMPROVED BOOTSTRAPPER FOR USER'S INITFILE(S)
442 ;## ALLOWS MORE THAN ONE FILE. FIRST FILE IS READ IN
443 ;## OR IF NOT FOUND BEHAVES AS BEFORE (I.E. NO ERROR MESSAGE)
444 ;## REMAINING FILES WILL CAUSE AN ERROR MESSAGE IF NOT FOUND.
445 ;## THUS IF THE USER IS USING THIS TO REALLY SET UP HIS OWN
446 ;## SYSTEM, HE WILL KNOW ABOUT A FAILURE, BUT THE FIRST
447 ;## FILES EXISTENCE IS STILL OPTIONAL
448
449 400116' 476 00 0 00 000446' BOOTS: SETOM BSFLG# ;## INDICATE BOOTSTRAP DONE
450 400117' 336 06 0 00 000512' SKIPN T,INITF1# ;## GET INIT FILE LIST IF IT EXISTS
451 400120' 254 00 0 00 400147' JRST BOOTOT ;## NOPE, EXCISE AND RETURN
452 400121' 201 01 0 11 002613' MOVEI A,TRUTH(S) ;## USE CHANNEL T
453 400122' 260 14 0 00 401337' PUSHJ P,INPUT2 ;## SET UP
454 400123' 260 14 0 00 000110' PUSHJ P,ININIT ;## LOOK UP
455 400124' 326 01 0 00 400131' JUMPN A,BOOTOK ;## IT'S THERE, GO TO IT
456 400125' 322 06 0 00 400147' JUMPE T,BOOTOT ;## NOT THERE AND NO OTHERS REQUESTED
457 400126' 260 14 0 00 401470' PUSHJ P,SETINA ;## SET UP FOR THE REST
458 400127' 260 14 0 00 000110' PUSHJ P,ININIT ;## LOOK UP (SECOND FILE IN LIST)
459 400130' 322 01 0 00 401726' JUMPE A,AIN.7 ;## NOT THERE, ERROR MESSAGE
460 400131' 201 01 0 11 002613' BOOTOK: MOVEI A,TRUTH(S) ;##(INC T NIL)
461 400132' 400 02 0 00 000000 SETZ B,
462 400133' 260 14 0 00 401611' PUSHJ P,INC ;## SELECT
463 400134' 201 01 0 11 002555' MOVEI A,READAT(S) ;## SET UP [(EVAL (READ))]
464 400135' 260 14 0 00 403657' PUSHJ P,NCONS ;## (READ)
465 400136' 260 14 0 00 403657' PUSHJ P,NCONS ;## ((READ))
466 400137' 201 02 0 11 002563' MOVEI B,EVALAT(S)
467 400140' 260 14 0 00 403660' PUSHJ P,XCONS ;##(EVAL(READ))
468 400141' 260 14 0 00 403657' PUSHJ P,NCONS ;## [(EVAL(READ))]
469 400142' 261 14 0 00 000001 PUSH P,A
470 400143' 200 01 0 14 000000 MOVE A,(P)
471 400144' 260 14 0 00 400657' PUSHJ P,ERRSET ;## AN EVAL-READ LOOP. PROTECTED AGAINST
472 400145' 302 01 0 11 004004' CAIE A,$EOF$(S) ;## ALL ERRS EXCEPT $EOF$ AND ERRORX
473 400146' 254 00 0 00 400143' JRST .-3 ;## LOOP
474 400147' 260 14 0 00 410041' BOOTOT: PUSHJ P,EXCISE
475 400150' 254 00 0 00 400636' JRST ERR
476 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-10
UCILSP MAC 27-MAR-75 17:13 APR INTERRUPT ROUTINES
477 SUBTTL APR INTERRUPT ROUTINES
478 ;arithmetic processor interupts
479 ;mem. protect. violation, nonex. mem. or pdl overflow
480
481 400151' 200 13 0 00 000000* APRINT: MOVE R,JOBCNI ;get interupt bits
482 400152' 602 13 0 00 030000 TRNE R,MPV+NXM ;what kind
483 400153' 003 00 1 00 000000* ERR3 @JOBTPC ;an ill mem ref-will become JRST ILLMEM
484 400154' 326 00 0 00 400157' JUMPN NIL,MES21 ;a pdl overflow
485 400155' 004 00 0 00 411116' STRTIP [SIXBIT /_PDL OVERFLOW FROM GC - CAN'T CONTINUE!/]
486 400156' 254 00 0 00 400022' JRST START
487
488 400157' 402 00 0 00 000000* MES21: SETZM JOBUUO
489 400160' 331 00 0 00 000014 SKIPL P
490 400161' 004 00 0 00 411125' STRTIP [SIXBIT /_REG !/]
491 400162' 331 00 0 00 000017 SKIPL SP
492 400163' 004 00 0 00 411126' STRTIP [SIXBIT /_SPEC !/]
493 400164' 332 00 0 00 400157* SKIPE JOBUUO
494 400165' 002 00 0 00 411130' SPDLOV: ERR2 [SIXBIT /PUSHDOWN CAPACITY EXCEEDED !/]
495 400166' 602 13 0 00 200000 TRNE R,PDOV
496 400167' 332 00 0 00 400164* SKIPE JOBUUO
497 400170' 254 04 0 00 000000 HALT ;lisp should not be here
498 400171' 402 00 0 00 000445' BINER2: SETZM BPSFLG
499 400172' 002 00 0 00 411135' ERR2 [SIXBIT /BINARY PROGRAM SPACE EXCEEDED !/]
500
501 400173' 135 13 0 00 411143' ILLMEM: LDB R,[POINT 4,@JOBTPC,XFLD] ;get index field of bad word
502 400174' 302 13 0 00 000015 CAIE R,F ;does it contain f
503 400175' 003 00 1 00 400153* ERR3 @JOBTPC ;no! error
504 400176' 260 14 0 00 406667' PUSHJ P,AGC ;yes! garbage collect
505 400177' 254 00 1 00 400175* JRST @JOBTPC ;and continue
506 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-11
UCILSP MAC 27-MAR-75 17:13 UUO HANDLER AND SUBR CALL ROUTINES
507 SUBTTL UUO HANDLER AND SUBR CALL ROUTINES
508
509 000001 UUOMIN==1
510 000004 UUOMAX==4
511
512 REMOTE<UUOH: X ;jsr location
513 JRST UUOH2>
514 400200' 202 06 0 00 000577' UUOH2: MOVEM T,TSV#
515 400201' 202 07 0 00 000600' MOVEM TT,TTSV#
516 400202' 135 06 0 00 411144' LDB T,[POINT 9,JOBUUO,OPFLD] ;get opcode
517 400203' 305 06 0 00 000034 CAIGE T,34 ;is it a function call
518 400204' 254 00 0 00 400537' JRST ERROR ;or a LISP error
519 400205' 574 13 1 00 400167* HLRE R,@JOBUUO
520 400206' 346 13 0 00 400264' AOJN R,UUOS
521 400207' 135 06 0 00 411145' LDB T,[POINT 4,JOBUUO,ACFLD]
522 400210' 303 06 0 00 000015 CAILE T,15
523 400211' 201 13 0 06 777763 MOVEI R,-15(T)
524 400212' 550 06 1 00 400205* HRRZ T,@JOBUUO
525 400213' 554 07 0 06 000000 UUOH1: HLRZ TT,(T)
526 400214' 550 06 0 06 000000 HRRZ T,(T)
527 400215' 306 07 0 11 003760' CAIN TT,SUBR(S)
528 400216' 254 00 1 13 400345' JRST @UUST(R)
529 400217' 306 07 0 11 003764' CAIN TT,FSUBR(S)
530 400220' 254 00 1 13 400350' JRST @UUFST(R)
531 400221' 306 07 0 11 004020' CAIN TT,LSUBR(S)
532 400222' 254 00 1 13 400353' JRST @UULT(R)
533 400223' 306 07 0 11 003770' CAIN TT,EXPR(S)
534 400224' 254 00 1 13 400356' JRST @UUET(R)
535 400225' 306 07 0 11 003774' CAIN TT,FEXPR(S)
536 400226' 254 00 1 13 400361' JRST @UUFET(R)
537 400227' 550 06 0 06 000000 HRRZ T,(T)
538 400230' 326 06 0 00 400213' JUMPN T,UUOH1
539 400231' 261 14 0 00 000001 PUSH P,A
540 400232' 261 14 0 00 000002 PUSH P,B
541 400233' 550 01 0 00 400212* HRRZ A,JOBUUO
542 400234' 201 02 0 11 003750' MOVEI B,VALUE(S)
543 400235' 260 14 0 00 404037' PUSHJ P,GET
544 JUMPN A,[ HRRZ TT,(A)
545 POP P,B
546 POP P,A
547 400236' 326 01 0 00 411146' JRST UUOEX1]
548 400237' 550 01 0 00 400233* HRRZ A,JOBUUO
549 400240' 260 14 0 00 402322' PUSHJ P,EPRINT
550 400241' 001 00 0 00 411152' ERR1 [SIXBIT /UNDEFINED UUO!/]
551 400242' 334 06 0 00 000007 SKIPA T,TT
552 400243' 554 06 0 06 000000 UUOSBR: HLRZ T,(T)
553 400244' 200 07 0 00 400237* MOVE TT,JOBUUO
554 400245' 505 06 0 00 260600 HRLI T,(PUSHJ P,)
555 400246' 603 07 0 00 001000 TLNE TT,1000 ;1000 means no push
556 400247' 645 06 0 00 034600 TLCA T,34600 ;<PUSHJ P,>xor<JRST>
557 400250' 261 14 0 00 000027' PUSH P,UUOH
558 400251' 370 00 0 00 000027' SOS UUOH
559 400252' 550 12 0 00 000027' HRRZ D,UUOH
560 400253' 307 12 0 00 400000 CAIG D,SHRST
561 400254' 254 00 0 00 400257' JRST .+3
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-12
UCILSP MAC 27-MAR-75 17:13 UUO HANDLER AND SUBR CALL ROUTINES
562 400255' 332 00 0 00 000433' SKIPE WRTSTS
563 400256' 254 00 0 00 400261' JRST .+3
564 REMOTE<UUOCL: TLNN TT,2000> ;2000 means no clobber
565 400257' 256 00 0 00 000031' XCT UUOCL
566 400260' 202 06 1 00 000027' MOVEM T,@UUOH
567 400261' 200 07 0 00 000600' MOVE TT,TTSV
568 400262' 250 06 0 00 000577' EXCH T,TSV
569 400263' 254 00 1 00 000577' JRST @TSV
570
571 400264' 550 07 0 00 400244* UUOS: HRRZ TT,JOBUUO
572 400265' 303 07 1 00 000376' CAILE TT,@GCPP1
573 400266' 301 07 1 00 000476' CAIL TT,@GCP1
574 400267' 254 00 0 00 400242' JRST UUOSBR-1
575 400270' 254 00 0 00 400272' JRST .+2
576 400271' 554 07 0 06 000000 UUOEXP: HLRZ TT,(T)
577 400272' 135 06 0 00 411155' UUOEX1: LDB T,[POINT 5,JOBUUO,ACFLD]
578 400273' 626 06 0 00 000020 TRZN T,20
579 400274' 261 14 0 00 000027' PUSH P,UUOH
580 400275' 261 14 0 00 000007 PUSH P,TT
581 400276' 322 06 0 00 406001' JUMPE T,IAPPLY
582 400277' 306 06 0 00 000017 CAIN T,17
583 400300' 201 06 0 00 000001 MOVEI T,1
584 400301' 213 00 0 00 000006 MOVNS T
585 400302' 514 07 0 00 000006 HRLZ TT,T
586 400303' 261 14 0 07 000001 PUSH P,A(TT)
587 400304' 253 07 0 00 400303' AOBJN TT,.-1
588 400305' 254 00 0 00 406001' JRST IAPPLY
589 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-13
UCILSP MAC 27-MAR-75 17:13 UUO HANDLER AND SUBR CALL ROUTINES
590 400306' 135 06 0 00 411145' ARGPDL: LDB T,[POINT 4,JOBUUO,ACFLD]
591 400307' 213 00 0 00 000006 MOVNS T
592 400310' 514 13 0 00 000006 HRLZ R,T
593 400311' 322 13 0 07 000000 ARGP1: JUMPE R,(TT)
594 400312' 261 14 0 13 000001 PUSH P,A(R)
595 400313' 253 13 0 00 400312' AOBJN R,.-1
596 400314' 254 00 0 07 000000 JRST (TT)
597
598 400315' 260 14 0 00 403657' QTIFY: PUSHJ P,NCONS
599 400316' 201 02 0 11 002577' MOVEI B,CQUOTE(S)
600 400317' 254 00 0 00 403660' JRST XCONS
601
602 400320' 201 01 0 00 000000 QTLFY: MOVEI A,0
603 400321' 322 06 0 07 000000 QTLFY1: JUMPE T,(TT)
604 400322' 250 01 0 14 000000 EXCH A,(P)
605 400323' 260 14 0 00 400315' PUSHJ P,QTIFY
606 400324' 262 14 0 00 000002 POP P,B
607 400325' 260 14 0 00 403661' PUSHJ P,CONS
608 400326' 344 06 0 00 400321' AOJA T,QTLFY1
609
610 400327' 254 00 0 06 400336' PDLARG: JRST .+NACS+2(T)
611 400330' 262 14 0 00 000006 POP P,A+5
612 400331' 262 14 0 00 000005 POP P,A+4
613 400332' 262 14 0 00 000004 POP P,A+3
614 400333' 262 14 0 00 000003 POP P,A+2
615 400334' 262 14 0 00 000002 POP P,A+1
616 400335' 262 14 0 00 000001 POP P,A
617 400336' 254 00 0 07 000000 JRST (TT)
618
619 400337' 205 02 0 00 607340 NOUUO: MOVSI B,(TLNN TT,)
620 400340' 332 00 0 00 000001 SKIPE A
621 400341' 205 02 0 00 605000 MOVSI B,(TLNA)
622 400342' 502 02 0 00 000031' HLLM B,UUOCL
623 400343' 250 01 0 00 000532' EXCH A,NOUUOF#
624 400344' 263 14 0 00 000000 POPJ P,
625 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-14
UCILSP MAC 27-MAR-75 17:13 UUO HANDLER AND SUBR CALL ROUTINES
626 ;r=0 => compiler calling a -
627 ;r=1 => compiler calling a lsubr
628 ;r=2 => compiler calling f type
629 400345' 000000 400243' UUST: UUOSBR
630 400346' 000000 400364' UUOS1 ;calling l its a subr
631 400347' 000000 405706' UUOS2 ;calling f
632
633
634 400350' 000000 400432' UUFST: UUOS9 ;calling - its a f
635 400351' 000000 400441' UUOS10 ;calling l
636 400352' 000000 400243' UUOSBR
637
638 400353' 000000 400423' UULT: UUOS7 ;calling - its a l
639 400354' 000000 400243' UUOSBR
640 400355' 000000 400422' UUOS8
641
642 400356' 000000 400271' UUET: UUOEXP
643 400357' 000000 400403' UUOS5 ;calling l its an expr
644 400360' 000000 400412' UUOS6 ;calling f its an expr
645
646 400361' 000000 400370' UUFET: UUOS3 ;calling - its a fexpr
647 400362' 000000 400400' UUOS4 ;calling l
648 400363' 000000 400271' UUOEXP
649
650 400364' 554 13 0 06 000000 UUOS1: HLRZ R,(T)
651 400365' 200 06 0 00 000577' MOVE T,TSV
652 400366' 265 07 0 00 400327' JSP TT,PDLARG
653 400367' 254 00 0 13 000000 JRST (R)
654
655 400370' 261 14 0 06 000000 UUOS3: PUSH P,(T)
656 400371' 265 07 0 00 400306' JSP TT,ARGPDL
657 400372' 265 07 0 00 400320' UUOS4A: JSP TT,QTLFY
658 400373' 201 07 0 00 000001 MOVEI TT,1
659 400374' 137 07 0 00 411145' DPB TT,[POINT 4,JOBUUO,ACFLD]
660 400375' 262 14 0 00 000007 UUOS6A: POP P,TT
661 400376' 557 00 0 00 000007 HLRZS TT
662 400377' 254 00 0 00 400272' JRST UUOEX1
663
664 400400' 261 14 0 06 000000 UUOS4: PUSH P,(T)
665 400401' 200 06 0 00 000577' MOVE T,TSV
666 400402' 254 00 0 00 400372' JRST UUOS4A
667 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-15
UCILSP MAC 27-MAR-75 17:13 UUO HANDLER AND SUBR CALL ROUTINES
668 400403' 554 13 0 06 000000 UUOS5: HLRZ R,(T)
669 400404' 200 06 0 00 000577' MOVE T,TSV
670 400405' 265 07 0 00 400327' JSP TT,PDLARG
671 400406' 213 00 0 00 000006 MOVNS T
672 400407' 137 06 0 00 411145' DPB T,[POINT 4,JOBUUO,ACFLD]
673 400410' 200 07 0 00 000013 MOVE TT,R
674 400411' 254 00 0 00 400272' JRST UUOEX1
675
676 400412' 261 14 0 06 000000 UUOS6: PUSH P,(T)
677 400413' 261 14 0 00 000027' PUSH P,UUOH
678 400414' 261 14 0 00 400264* PUSH P,JOBUUO
679 400415' 265 07 0 00 404435' JSP TT,ILIST
680 400416' 265 07 0 00 400327' JSP TT,PDLARG
681 400417' 262 14 0 00 400414* POP P,JOBUUO
682 400420' 262 14 0 00 000027' POP P,UUOH
683 400421' 254 00 0 00 400375' JRST UUOS6A
684 400422' 334 07 0 00 405700' UUOS8: SKIPA TT,CILIST
685 400423' 201 07 0 00 400306' UUOS7: MOVEI TT,ARGPDL
686 400424' 542 07 0 00 000032' HRRM TT,UUOS7A
687 400425' 200 07 0 00 400417* MOVE TT,JOBUUO
688 400426' 607 07 0 00 001000 TLNN TT,1000
689 400427' 261 14 0 00 000027' PUSH P,UUOH
690 400430' 554 07 0 06 000000 HLRZ TT,(T)
691 400431' 254 00 1 00 000032' JRST @UUOS7A ;OR ILIST
692 REMOTE<UUOS7A: ARGPDL>
693
694 400432' 261 14 0 00 000006 UUOS9: PUSH P,T
695 400433' 265 07 0 00 400306' JSP TT,ARGPDL
696 400434' 265 07 0 00 400320' UUS10A: JSP TT,QTLFY
697 400435' 205 06 0 00 002000 MOVSI T,2000
698 400436' 436 06 0 00 400425* IORM T,JOBUUO
699 400437' 262 14 0 00 000006 POP P,T
700 400440' 254 00 0 00 400243' JRST UUOSBR
701
702 400441' 261 14 0 00 000006 UUOS10: PUSH P,T
703 400442' 200 06 0 00 000577' MOVE T,TSV
704 400443' 254 00 0 00 400434' JRST UUS10A
705
706 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-16
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
707 SUBTTL ERROR HANDLER AND BACKTRACE
708 ;subroutine to print sixbit error message
709 400444' 205 01 0 00 440600 ERRSUB: MOVSI A,(POINT 6,0)
710 400445' 540 01 0 00 400436* HRR A,JOBUUO
711 400446' 202 01 0 00 000462' MOVEM A,ERRPTR#
712 400447' 134 01 0 00 000462' ERRORB: ILDB A,ERRPTR
713 400450' 306 01 0 00 000001 CAIN A,01 ;conversion from sixbit
714 400451' 263 14 0 00 000000 POPJ P,
715 400452' 306 01 0 00 000077 CAIN A,77
716 JRST [ PUSHJ P,TERPRI
717 400453' 254 00 0 00 411156' JRST ERRORB]
718 400454' 271 01 0 00 000040 ADDI A,40
719 400455' 260 14 0 00 401074' PUSHJ P,TYO
720 400456' 254 00 0 00 400447' JRST ERRORB
721
722 ;subroutine to return output to previously selected device
723 400457' 331 00 0 00 000546' OUTRET: SKIPL PRVCNT ;if prvcnt<0 then there was no device deselect
724 400460' 371 00 0 00 000546' SOSL PRVCNT ;when prvcnt goes negative, then reselect
725 400461' 263 14 0 00 000000 POPJ P,
726 400462' 261 14 0 00 000547' PUSH P,PRVSEL# ;previously selected output
727 400463' 262 14 0 00 000046' POP P,TYOD
728 400464' 263 14 0 00 000000 POPJ P,
729
730 ;subroutine to force error messages out on tty
731 400465' 200 02 0 00 000033' ERRIO: MOVE B,ERRSW
732 400466' 302 02 0 00 577777 CAIE B,INUM0 ;inum0 specifies to print message on selected device
733 400467' 353 00 0 00 000546' AOSLE PRVCNT ;only if prvcnt already <0 does deselection occur
734 400470' 263 14 0 00 000000 POPJ P,
735 400471' 260 14 0 00 401140' TALK ;undo control o
736 400472' 200 02 0 00 411160' MOVE B,[JRST TTYO]
737 400473' 250 02 0 00 000046' EXCH B,TYOD
738 400474' 202 02 0 00 000547' MOVEM B,PRVSEL
739 400475' 263 14 0 00 000000 POPJ P,
740
741 ;ERRTN: 0 ;0 => top level *
742 ;- => pdl to reset to - stored by errorset
743 ;+ => string tyo pout rtn flag
744 REMOTE<ERRSW: -1> ;0 means no prnt on error *
745 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-17
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
746 ;subroutine to search oblist for closest function to address in r
747 400476' ERSUB3:
748 400476' 201 01 0 11 004030' MOVEI A,QST(S)
749 400477' 561 00 0 11 002622' IFN OLDNIL< HRROI NIL,CNIL2(S)>
750 IFE OLDNIL< SETZ NIL, >
751
752 400500' 514 02 0 00 000361' HRLZ B,INT1
753 400501' 213 00 0 00 000002 MOVNS B
754 400502' 403 05 0 00 000502' SETZB AR2A,GOBF
755 400503' 261 14 0 00 400026* PUSH P,JOBAPR
756 MOVEI C,[ SETOM GOBF
757 400504' 201 03 0 00 411161' JRST ERRO2G]
758 400505' 542 03 0 00 400503* HRRM C,JOBAPR
759 400506' 550 03 0 11 003730' HRRZ C,VOBLIST(S) ;## GET CURRENT OBLIST
760 400507' 542 03 0 00 000363' HRRM C,RHX5
761 400510' 542 03 0 00 000362' HRRM C,RHX2 ;## AND UPDATE LOCATIONS WHICH REF OBLIST
762 400511' 554 03 1 00 000363' HLRZ C,@RHX5
763 ERRO2B: JUMPE C,[ AOBJN B,.-1
764 POP P,JOBAPR ;oblist done, restore
765 400512' 322 03 0 00 411163' JRST PRINC] ;print closest match
766 400513' 554 07 0 03 000000 HLRZ TT,(C)
767 400514' 550 07 0 07 000000 ERRO2C: HRRZ TT,(TT)
768 400515' 322 07 0 00 400535' JUMPE TT,ERRO2G
769 400516' 554 04 0 07 000000 HLRZ AR1,(TT)
770 400517' 306 04 0 11 004020' CAIN AR1,LSUBR(S)
771 400520' 254 00 0 00 400526' JRST ERRO2H
772 400521' 302 04 0 11 003760' CAIE AR1,SUBR(S)
773 400522' 306 04 0 11 003764' CAIN AR1,FSUBR(S)
774 400523' 254 00 0 00 400526' JRST ERRO2H
775 400524' 550 07 0 07 000000 HRRZ TT,(TT)
776 400525' 254 00 0 00 400514' JRST ERRO2C
777
778 400526' 550 07 0 07 000000 ERRO2H: HRRZ TT,(TT)
779 400527' 554 07 0 07 000000 HLRZ TT,(TT)
780 400530' 313 07 0 00 000005 CAMLE TT,AR2A ;le to prefer car to quote
781 400531' 313 07 0 00 000013 CAMLE TT,R
782 400532' 254 00 0 00 400535' JRST ERRO2G
783 400533' 200 05 0 00 000007 MOVE AR2A,TT
784 400534' 554 01 0 03 000000 HLRZ A,(C)
785 400535' 550 03 0 03 000000 ERRO2G: HRRZ C,(C)
786 400536' 254 00 0 00 400512' JRST ERRO2B
787 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-18
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
788 ;dispatcher for error message uuos
789 400537' 201 01 0 00 230000 ERROR: MOVEI A,APRFLG
790 400540' 047 01 0 00 000016 CALLI A,APRINI ;enable interupts
791 400541' 135 01 0 00 411144' LDB A,[POINT 9,JOBUUO,OPFLD] ;get opcode
792 400542' 301 01 0 00 000001 CAIL A,UUOMIN ;what
793 400543' 303 01 0 00 000004 CAILE A,UUOMAX ;is it?
794 400544' 254 00 0 00 400602' JRST ILLUUO ;an illegal opcode
795 400545' 254 00 1 01 400545' JRST @ERRTAB-UUOMIN(A) ;or LISP error
796 400546' 000000 400556' ERRTAB: ERROR1 ;1 ;ordinary LISP error
797 400547' 000000 400552' ERRORG ;2 ;space overflow error
798 400550' 000000 400577' ERROR2 ;3 ;ill. mem. ref.
799 400551' 000000 400564' STRTYP ;4 ;print error message and continue
800 400552' 200 14 0 00 000463' ERRORG: MOVE P,ERRTN ;IF IN ERRSET, RESTORE P TO THAT LEVEL
801 400553' 336 00 0 00 000014 SKIPN P
802 400554' 200 14 0 00 000450' MOVE P,C2 ;else to top level
803 400555' 476 00 0 00 000602' SETOM UUO2# ;$$ AND DON'T ENTER ERRORX
804
805 400556' 336 00 0 00 000033' ERROR1: SKIPN ERRSW
806 400557' 254 00 0 00 400620' JRST ERREND ;dont print message, call (err nil)
807 400560' 260 14 0 00 400465' PUSHJ P,ERRIO ;print message on tty
808 400561' 260 14 0 00 402501' PUSHJ P,TERPRI
809 400562' 260 14 0 00 400444' PUSHJ P,ERRSUB ;print the message
810 400563' 254 00 0 00 400617' JRST ERRBK ;go the backtrace
811
812 400564' 260 14 0 00 400465' STRTYP: PUSHJ P,ERRIO
813 400565' 260 14 0 00 400444' PUSHJ P,ERRSUB ;print message and continue
814 400566' 260 14 0 00 400457' PUSHJ P,OUTRET
815 400567' 254 00 1 00 000027' JRST @UUOH
816
817 ;USER ENTRY TO ERROR HANDLER, PRINTS ARG IF NON-NIL
818 400570' 322 01 0 00 400620' .ERROR: JUMPE A,ERREND
819 400571' 336 00 0 00 000033' SKIPN ERRSW
820 400572' 254 00 0 00 400620' JRST ERREND
821 400573' 260 14 0 00 400465' PUSHJ P,ERRIO
822 400574' 260 14 0 00 402501' PUSHJ P,TERPRI
823 400575' 260 14 0 00 402334' PUSHJ P,PRINC
824 400576' 254 00 0 00 400620' JRST ERREND
825 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-19
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
826 400577' 550 01 0 00 400445* ERROR2: HRRZ A,JOBUUO
827 400600' 201 02 0 00 411166' MOVEI B,[SIXBIT / ILL MEM REF FROM !/]
828 400601' 254 00 0 00 400604' JRST ERSUB2
829
830 400602' 550 01 0 00 000027' ILLUUO: HRRZ A,UUOH
831 400603' 201 02 0 00 411172' MOVEI B,[SIXBIT / ILL UUO FROM !/]
832 400604' 336 00 0 00 000033' ERSUB2: SKIPN ERRSW
833 400605' 254 00 0 00 400620' JRST ERREND ;dont print message
834 400606' 261 14 0 00 000001 PUSH P,A
835 400607' 261 14 0 00 000002 PUSH P,B
836 400610' 260 14 0 00 400465' PUSHJ P,ERRIO
837 400611' 260 14 0 00 402501' PUSHJ P,TERPRI
838 400612' 260 14 0 00 402413' PUSHJ P,PRINL2 ;print number
839 400613' 262 14 0 00 000001 POP P,A
840 400614' 004 00 0 01 000000 STRTIP (A) ;print message
841 400615' 262 14 0 00 000013 POP P,R
842 400616' 260 14 0 00 400476' PUSHJ P,ERSUB3 ;print nearest oblist match
843 400617' ERRBK:
844 IFN ALVINE,<
845 SKIPE BACTRF
846 PUSHJ P,BKTRC ;print backtrace
847 >
848 400617' 260 14 0 00 400457' PUSHJ P,OUTRET ;return to previous device
849 400620' 400 01 0 00 000000 ERREND: SETZ A, ;## %CLRBFI USED TO BE HERE(FOR ERR NIL)
850 400621' 336 00 0 00 000602' SKIPN UUO2 ;$$NO ERRORX IF OVERFLOW ERROR
851 400622' 254 00 0 00 400625' JRST .+3
852 400623' 402 00 0 00 000602' SETZM UUO2 ;$$RESET TO ZERO
853 400624' 254 00 0 00 400652' JRST RERX ;$$BOUNCE BACK TO ERRORX
854 400625' 336 00 0 00 000554' SKIPN RSTSW ;$$NEW *RSET FEATURE
855 400626' 254 00 0 00 400636' JRST ERR ;$$IF (*RSET NIL) UNBIND AND GO TO TOP LEVEL
856 400627' 336 00 0 00 000033' SKIPN ERRSW ;$$NO ERRORX IF NO MESSAGE
857 400630' 254 00 0 00 400636' JRST ERR ;$$
858 400631' 260 14 0 00 401022' PUSHJ P,%CLRBFI ;## CLEAR TTY BUFFER. ELIMINATE FLUSHING
859 ;## OF TYPE AHEAD
860 400632' 201 01 0 11 003352' MOVEI A,ERRORX(S) ;$$ELSE SET TO CALL ERROR HANDLER
861 400633' 201 02 0 00 000000 MOVEI B,NIL ;$$CREATE FORM (ERRORX)
862 400634' 260 14 0 00 403661' CEV: PUSHJ P,CONS ;$$
863 400635' 254 00 0 00 405505' JRST EVAL ;$$AND EVALUATE IT
864
865
866 400636' 402 00 0 00 000510' ERR: SETZM INHERR ;CLEAR RERX FLAG JUST IN CASE
867 400637' 306 01 0 11 003352' CAIN A,ERRORX(S) ;$$BOUNCE TO ERRORX IF A=ERRORX
868 400640' 254 00 0 00 400652' JRST RERX
869 400641' 336 00 0 00 000463' ERR2: SKIPN ERRTN
870 400642' 254 00 0 00 400110' JRST LSPRET ;not in an errset, or bad error -- go to top level
871 400643' 200 14 0 00 000463' MOVE P,ERRTN
872 400644' 262 14 0 00 000002 ERR1: POP P,B
873 400645' 260 14 0 00 406226' PUSHJ P,UBD ;unbind to previous errset
874 400646' 262 14 0 00 000033' POP P,ERRSW
875 400647' 262 14 0 00 000463' POP P,ERRTN
876 400650' 336 00 0 00 000510' SKIPN INHERR#
877 400651' 254 00 0 00 404645' JRST ERRP4 ;and proceed
878
879 400652' 402 00 0 00 000510' RERX: SETZM INHERR ;$$ POP TO A BREAK ERRSET
880 400653' 200 02 0 00 000033' MOVE B,ERRSW
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-20
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
881 400654' 302 02 0 11 003352' CAIE B,ERRORX(S)
882 400655' 476 00 0 00 000510' SETOM INHERR
883 400656' 254 00 0 00 400641' JRST ERR2
884
885 400657' 261 14 0 00 000542' ERRSET: PUSH P,PA3
886 400660' 261 14 0 00 000543' PUSH P,PA4
887 400661' 261 14 0 00 000463' PUSH P,ERRTN
888 400662' 261 14 0 00 000033' PUSH P,ERRSW
889 400663' 261 14 0 00 000017 PUSH P,SP
890 400664' 202 14 0 00 000463' MOVEM P,ERRTN
891 400665' 550 03 0 01 000000 HRRZ C,(A)
892 400666' 554 03 0 03 000000 HLRZ C,(C)
893 400667' 202 03 0 00 000033' MOVEM C,ERRSW
894 400670' 554 01 0 01 000000 HLRZ A,(A)
895 400671' 260 14 0 00 405505' PUSHJ P,EVAL
896 400672' 260 14 0 00 403657' PUSHJ P,NCONS
897 400673' 402 00 0 00 000510' SETZM INHERR ;CLEAR RERX FLAG
898 400674' 254 00 0 00 400644' JRST ERR1
899
900 400675' 402 00 0 00 000446' SYSCLR: SETZM BSFLG ;FUNCTION TO MAKE SYSTEM LOOK NEW
901 400676' 402 00 0 00 000452' SETZM CONSVA ;## RESET CONS COUNT
902 400677' 402 00 0 00 000501' SETZM GCTIM ;## RESET GC TIME
903 400700' 254 00 0 00 410041' JRST EXCISE ;## EXCISE
904 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-21
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
905 ;error messages
906
907
908
909
910 400701' 200 01 0 00 000006 RMERR: MOVE A,T ;$$ BAD READ MACRO, GET THE NAME
911 400702' 260 14 0 00 402322' PUSHJ P,EPRINT ;$$
912 400703' 001 00 0 00 411175' ERR1 [SIXBIT /UNDEFINED READ MACRO!/]
913 400704' 260 14 0 00 402322' BNDERR: PUSHJ P,EPRINT ;$$ATTEMPT TO REBIND NIL OR T
914 400705' 001 00 0 00 411201' ERR1 [SIXBIT /CANNOT BE RE-BOUND!/]
915
916 400706' 260 14 0 00 402322' RPAERR: PUSHJ P,EPRINT ;$$PRINT OUT OFFENDING ITEM
917 400707' 001 00 0 00 411205' ERR1 [SIXBIT /IS AN ATOM, CAN'T BE RPLACA'D!/]
918
919 400710' 260 14 0 00 402322' RPDERR: PUSHJ P,EPRINT ;$$
920 400711' 001 00 0 00 411212' ERR1 [SIXBIT /CAN'T BE RPLACD'D (NIL OR INUM)!/]
921
922 400712' 402 00 0 00 000044' DOTERR: SETZM OLDCH
923 400713' 001 00 0 00 411220' ERR1 [ SIXBIT /DOT CONTEXT ERROR!/]
924 400714' 554 01 0 04 000000 UNDFUN: HLRZ A,(AR1)
925 400715' 260 14 0 00 402322' PUSHJ P,EPRINT
926 400716' 001 00 0 00 411223' ERR1 [SIXBIT /UNDEFINED FUNCTION!/]
927 400717' 260 14 0 00 402322' UNBVAR: PUSHJ P,EPRINT
928 400720' 001 00 0 00 411227' ERR1 [SIXBIT /UNBOUND VARIABLE - EVAL!/]
929 400721' 001 00 0 00 411233' NONNUM: ERR1 [SIXBIT /NON-NUMERIC ARGUMENT!/]
930 400722' 001 00 0 00 411237' NOPNAM: ERR1 [SIXBIT /NO PRINT NAME - INTERN!/]
931 400723' 001 00 0 00 411243' NOLIST: ERR1 [SIXBIT /NO LIST-MAKNAM!/]
932 400724' 001 00 0 00 411246' TOMANY: ERR1 [SIXBIT /TOO MANY ARGUMENTS SUPPLIED - APPLY!/]
933 400725' 001 00 0 00 411254' TOOFEW: ERR1 [SIXBIT /TOO FEW ARGUMENTS SUPPLIED - APPLY!/]
934 400726' 550 01 0 03 000000 UNDTAC: HRRZ A,(C)
935 400727' 260 14 0 00 402322' UNDTAG: PUSHJ P,EPRINT
936 400730' 001 00 0 00 411262' ERR1 [SIXBIT /UNDEFINED FUNCTION - APPLY!/]
937 400731' 260 14 0 00 402322' SETERR: PUSHJ P,EPRINT ;$$BAD SET OR SETQ
938 400732' 001 00 0 00 411267' ERR1 [SIXBIT /CAN'T BE SET TO A VALUE - SET OR SETQ!/]
939 400733' 260 14 0 00 402322' EG1: PUSHJ P,EPRINT
940 400734' 001 00 0 00 411276' ERR1 [SIXBIT /UNDEFINED PROG TAG-GO!/]
941 400735' 260 14 0 00 402322' EG2: PUSHJ P,EPRINT
942 400736' 001 00 0 00 411302' ERR1 [SIXBIT /GO WITH NO PROG!/]
943 400737' 001 00 0 00 411305' EG3: ERR1 [SIXBIT /RETURN WITH NO PROG!/]
944 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-22
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
945 IFN ALVINE,<
946
947 ;backtrace subroutine
948 BKTRC: MOVEI D,-1(P)
949 MOVN A,BACTRF
950 ADDI A,INUM0
951 JUMPL A,[ ADD A,P ;backtrace specific number
952 JRST .+3]
953 SKIPN A,ERRTN ;backtrace to previous errset
954 MOVE A,C2 ;or top level
955 HRRZM A,BAKLEV#
956 STRTIP [SIXBIT /_BACKTRACE_!/]
957 BKTR2: CAMG D,BAKLEV
958 JRST FALSE ;done
959 HRRZ A,(D) ;get pdl element
960 CAIGE A,FS(S)
961 JUMPN A,.+2 ;this is (hopefully) a true program address
962 SOJA D,BKTR2 ;not a program address, continue
963 CAIN A,ILIST3
964 JRST BKTR1A ;argument evaluation
965 BKTR1B: CAIN A,CPOPJ
966 JRST [ HLRZ A,(D) ;calling a function
967 PUSHJ P,PRINC
968 XCT "-",CTY
969 STRTIP [SIXBIT /ENTER !/]
970 SOJA D,BKTR2]
971 HLRZ B,-1(A)
972 CAILE B,(JCALLF 17,@(17))
973 CAIN B,(PUSHJ P,) ;tests for various types of calls
974 CAIGE B,(FCALL)
975 SOJA D,BKTR2 ;not a proper function call
976 PUSH P,-1(A) ;save object of function call
977 MOVEI R,-1(A) ;location of function call
978 PUSHJ P,ERSUB3 ;print closest oblist match
979 MOVEI A,"-"
980 PUSHJ P,TYO
981 POP P,R
982 TLNE R,17
983 HRRZ R,ERSUB3 ;qst -- cant handle indexed calls
984 HRRZS R
985 HLRO B,(R)
986 AOSN B
987 JRST [ HRRZ A,R ;was calling an atomic function
988 PUSHJ P,PRINC ;print its name
989 JRST .+2]
990 PUSHJ P,ERSUB3 ;was calling a code location -- print closest match
991 MOVEI A," "
992 PUSHJ P,TYO
993 BKTR1: SOJA D,BKTR2 ;continue
994
995 BKTR1A: HRRZ B,-1(D)
996 CAIE B,EXP2
997 CAIN B,ESB1
998 JRST .+2
999 JRST BKTR1B ;hum, not really evaluating arguments
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-23
UCILSP MAC 27-MAR-75 17:13 ERROR HANDLER AND BACKTRACE
1000 HLRE B,-1(D)
1001 ADD B,D
1002 HLRZ A,-3(B)
1003 JUMPE A,BKTR1
1004 PUSHJ P,PRINC
1005 XCT "-",CTY
1006 STRTIP [SIXBIT /EVALARGS !/]
1007 JRST BKTR1
1008 >
1009
1010 400740' 250 01 0 00 000442' BAKGAG: EXCH A,BACTRF#
1011 400741' 263 14 0 00 000000 POPJ P,
1012 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-24
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1013 SUBTTL TYI AND TYO
1014 ;input
1015 400742' 260 14 0 00 400745' ITYI: PUSHJ P,TYI ;## RETURN ASCII VALUE OF INPUT CH
1016 400743' 271 01 0 00 577777 FIXI: ADDI A,INUM0
1017 400744' 263 14 0 00 000000 POPJ P,
1018
1019 400745' 201 04 0 00 000001 TYI: MOVEI AR1,1 ;## TO TEST FOR LINED TYPESEQUENCE #, ETC
1020 400746' 260 14 0 00 400754' PUSHJ P,TYIA
1021 400747' 322 01 0 00 400746' JUMPE A,.-1
1022 400750' 312 01 0 00 000154' CAME A,IGSTRT ;start of comment or ignored cr-lf
1023 400751' 263 14 0 00 000000 POPJ P,
1024 400752' 260 14 0 00 402734' PUSHJ P,COMMENT
1025 400753' 254 00 0 00 400746' JRST TYI+1
1026
1027 400754' 332 01 0 00 000044' TYIA: SKIPE A,OLDCH ;## IF CH IN OLDCH
1028 400755' 254 00 0 00 402726' JRST TYI1 ;## TAKE CARE OF IT
1029 400756' 256 00 0 00 000034' TYID: XCT TYI2 ;## INPUT A CHARACTER
1030 REMOTE<TYI2: JRST TTYI> ;sosg x for other device input
1031 ;other device input
1032 400757' 254 00 0 00 000036' JRST TYI2X
1033 400760' 134 01 1 00 000601' TYI3B: ILDB A,@TYI3# ;pointer
1034 400761' 256 00 0 00 000035' XCT TYI3A ;## SEE IF LINED TYPE WORD
1035 REMOTE<TYI3A: TDNN AR1,@X> ;pointer
1036 400762' 263 14 0 00 000000 POPJ P, ;## NO, OK
1037
1038 IFN STPGAP,<
1039 MOVE A,@TYI3A
1040 CAMN A,[<ASCII / />+1] ;page mark for stopgap
1041 AOSA PGNUM ;increment page number
1042 MOVEM A,LINUM
1043 >
1044 400763' 211 01 0 00 000005 MOVNI A,5
1045 400764' 272 01 1 00 000034' ADDM A,@TYI2 ;adjust character count for line number
1046 400765' 350 00 1 00 000601' AOS @TYI3 ;increment byte pointer over line number and tab
1047 400766' 254 00 0 00 400756' JRST TYID
1048
1049 REMOTE< TYI2X: INPUT X,
1050 TYI2Y: STATZ X,740000
1051 ERR1 AIN.8 ;input error
1052 TYI2Z: STATO X,20000
1053 JRST TYI3B ;continue with file
1054 TYIEOF: JRST TYI2Q ;END OF FILE>
1055 400767' 261 14 0 00 000006 TYI2Q: PUSH P,T
1056 400770' 261 14 0 00 000003 PUSH P,C
1057 400771' 261 14 0 00 000013 PUSH P,R
1058 400772' 261 14 0 00 000004 PUSH P,AR1
1059 400773' 200 01 0 00 000507' MOVE A,INCH
1060 400774' 550 03 0 01 000062' HRRZ C,CHTAB(A) ;get location of data for this channel
1061 400775' 554 06 0 01 000062' HLRZ T,CHTAB(A) ;inlst -- remaining files to input
1062 400776' 322 06 0 00 401007' JUMPE T,TYI2E ;none left -- stop
1063 400777' 260 14 0 00 401472' PUSHJ P,SETIN ;start next input
1064 401000' 260 14 0 00 000110' PUSHJ P,ININIT ;## INIT THE FILE
1065 401001' 322 01 0 00 401726' JUMPE A,AIN.7 ;## CAN'T FIND FILE, ERROR
1066 401002' 262 14 0 00 000004 POP P,AR1
1067 401003' 262 14 0 00 000013 POP P,R
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-25
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1068 401004' 262 14 0 00 000003 POP P,C
1069 401005' 262 14 0 00 000006 POP P,T
1070 401006' 254 00 0 00 400745' JRST TYI
1071
1072 401007' 260 14 0 00 401607' TYI2E: PUSHJ P,INCNT ;(inc nil t)
1073 401010' 260 14 0 00 401140' TALK
1074 401011' 201 01 0 11 004004' MOVEI A,$EOF$(S) ;we are done
1075 401012' 254 00 0 00 400636' JRST ERR
1076
1077 IFN STPGAP,<
1078 PGLINE: MOVE C,[POINT 7,LINUM]
1079 PUSHJ P,NUM10 ;convert ascii line number to a integer
1080 ADDI A,INUM0
1081 MOVE B,PGNUM
1082 ADDI B,INUM0+1
1083 JRST XCONS>
1084
1085 REMOTE< OLDCH: 0
1086 IFN STPGAP,<
1087 PGNUM: 0
1088 LINUM: 0
1089 0>> ;zero to terminate num10
1090
1091 ;TTYECHO - COMPLEMENTS THE TTY: ECHO BIT AND RETURNS T IF THE ECHO
1092 ; IS BEING TURNED ON AND NIL IF IT IS BEING TURNED OFF
1093 ; - TAKES NO ARGUMENTS
1094 401013' 474 01 0 00 000000 ECHO: SETO A,
1095 401014' 051 06 0 00 000001 TTYUUO 6,A ;GET STATUS BITS
1096 401015' 641 01 0 00 000004 TLC A,4 ;COMPLEMENT THE ECHO BIT
1097 401016' 051 07 0 00 000001 TTYUUO 7,A ;RESTORE THE BITS
1098 401017' 603 01 0 00 000004 TLNE A,4 ;TEST TO GET FINAL VALUE
1099 401020' 254 00 0 00 404013' JRST FALSE
1100 401021' 254 00 0 00 403764' JRST TRUE
1101
1102 ;CLRBFI - CLEARS TTY INPUT BUFFER FOR USER ERRORS
1103 ; - 0 ARGS AND RETURNS NIL
1104 401022' 051 11 0 00 000000 %CLRBFI:CLRBFI ;CLEAR BUFFER
1105 401023' 402 00 0 00 000566' SETZM SMAC ;CLEAR SPLICE LIST
1106 401024' 402 00 0 00 000044' SETZM OLDCH ;CLEAR LAST CHAR.
1107 401025' 254 00 0 00 404013' JRST FALSE
1108 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-26
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1109 ;teletype input
1110
1111 401026' 201 01 0 01 200001 ERRCH: MOVEI A,-INUM0(A) ;## CHANGE BELL CHARACTER
1112 401027' 250 01 0 00 000045' EXCH A,ERRCHR ;## RETURN OLD CHARACTER
1113 401030' 254 00 0 00 405220' JRST FIX1A ;## CONVERT IT
1114
1115 REMOTE <
1116 ERRCHR: BELL
1117 >
1118
1119 401031' 332 00 0 00 000057' TTYI: SKIPE DDTIFG ;## DDT MODE?
1120 401032' 254 00 0 00 401041' JRST TTYID
1121 401033' 051 05 0 00 000001 INCHSL A ;single char if line has been typed
1122 JRST [OUTCHR PROMCH# ;$$OUTPUT PROMPT CHARACTER
1123 INCHWL A ;wait for a line
1124 401034' 254 00 0 00 411311' JRST .+1]
1125
1126 401035' 312 01 0 00 000045' TTYXIT: CAME A,ERRCHR ;## BELL, NEED NOT BE ^G
1127 401036' 263 14 0 00 000000 POPJ P,
1128 IFN ALVINE,<
1129 SKIPE PSAV1# ;bell from alvine?
1130 JRST [ MOVE P,PSAV1 ;yes, return to alvine
1131 JRST @ED1];$$DOUBLY IMPROVED MAGIC>
1132 401037' 201 01 0 00 000000 MOVEI A,NIL ;$$ RETURN NIL AS THE VALUE
1133 401040' 254 00 0 00 400652' JRST RERX ;$$ RETURN TO AN ERRORX ERRSET
1134
1135 401041' 051 00 0 00 000001 TTYID: INCHRW A ;single character input ddt submode style
1136 401042' 302 01 0 00 000177 CAIE A,RUBOUT
1137 401043' 254 00 0 00 401035' JRST TTYXIT
1138 401044' 051 01 0 00 411314' OUTCHR ["\"] ;echo backslash
1139 401045' 332 00 0 00 000550' SKIPE PSAV
1140 401046' 254 00 0 00 402644' JRST RDRUB ;rubout in read resets to top level of read
1141 401047' 201 01 0 00 000177 MOVEI A,RUBOUT
1142 401050' 263 14 0 00 000000 POPJ P,
1143
1144
1145 401051' 336 00 0 00 000001 PROMPT: SKIPN A
1146 401052' 334 01 0 00 000545' SKIPA A,PROMCH
1147 401053' 201 01 0 01 200001 MOVEI A,-INUM0(A) ;$$CHANGE FROM INUM
1148 401054' 250 01 0 00 000545' EXCH A,PROMCH# ;$$CHANGE PROMPT CHARACTER AND RETURN OLD ONE
1149 401055' 201 01 0 01 577777 MOVEI A,INUM0(A) ;$$CHANGE TO INUM
1150 401056' 263 14 0 00 000000 POPJ P, ;$$
1151
1152
1153 401057' 336 00 0 00 000001 INTPRP: SKIPN A
1154 401060' 334 01 0 00 000522' SKIPA A,LSPRMP
1155 401061' 250 01 0 00 000522' EXCH A,LSPRMP# ;$$ EXCHANGE FOR OLD TOP LEVEL PROMPT
1156 401062' 263 14 0 00 000000 POPJ P, ;$$
1157
1158 401063' 051 13 0 00 000000 READP: SKPINC ;$$ T IFF A CHARACTER HAS BEEN TYPED
1159 401064' 254 00 0 00 404013' JRST FALSE ;$$ (DOES NOT CHECK OLDCH)
1160 401065' 254 00 0 00 403764' JRST TRUE
1161
1162 401066' 201 02 0 01 200001 UNTYI: MOVEI B,-INUM0(A) ;$$ UN-READ A CHARACTER (PUT IT IN OLDCH)
1163 401067' 202 02 0 00 000044' MOVEM B,OLDCH
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-27
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1164 401070' 263 14 0 00 000000 POPJ P, ;$$ RETURN ARG AS VALUE
1165 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-28
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1166 ;output
1167 401071' 275 01 0 00 577777 ITYO: SUBI A,INUM0
1168 401072' 260 14 0 00 401074' PUSHJ P,TYO
1169 401073' 254 00 0 00 400743' JRST FIXI
1170
1171 401074' 307 01 0 00 000015 TYO: CAIG A,CR
1172 401075' 254 00 0 00 401111' JRST TYO3
1173 401076' 375 00 0 00 000056' SOSGE CHCT
1174 401077' 254 00 0 00 401101' JRST TYO1
1175 401100' 254 00 0 00 000046' JRST TYOD
1176 REMOTE<TYOD: JRST TTYO+X ;sosg x for other device
1177 ;other device output
1178 JRST TYO2X
1179 TYO5: IDPB A,X
1180 POPJ P,
1181
1182 TYO2X: OUT X,
1183 JRST TYO5
1184 ERR1 [SIXBIT /OUTPUT ERROR!/]>
1185
1186 401101' 261 14 0 00 000001 TYO1: PUSH P,A ;linelength exceeded
1187 401102' 201 01 0 00 000031 MOVEI A,IGCRLF ;inored cr-lf
1188 401103' 260 14 0 00 000046' PUSHJ P,TYOD
1189 401104' 260 14 0 00 402501' PUSHJ P,TERPRI ;force out a cr-lf, with special mark
1190 401105' 262 14 0 00 000001 POP P,A
1191 401106' 374 00 0 00 000056' SOSA CHCT
1192 401107' 262 14 0 00 000002 TYO4: POP P,B
1193 401110' 254 00 0 00 000046' JRST TYOD
1194
1195 401111' 305 01 0 00 000011 TYO3: CAIGE A,TAB
1196 401112' 326 01 0 00 401076' JUMPN A,TYO+2 ;everything between 0(null) and 11(tab) decrement chct
1197 401113' 261 14 0 00 000002 PUSH P,B
1198 401114' 200 02 0 00 000055' MOVE B,LINL
1199 401115' 306 01 0 00 000011 CAIN A,TAB
1200 JRST [ SUB B,CHCT
1201 IORI B,7 ;simulate tab effect on chct
1202 SUB B,LINL
1203 SETCAM B,CHCT
1204 401116' 254 00 0 00 411315' JRST TYO4]
1205 401117' 306 01 0 00 000015 CAIN A,CR
1206 401120' 202 02 0 00 000056' MOVEM B,CHCT ;reset chct after a cr
1207 401121' 254 00 0 00 401107' JRST TYO4
1208
1209 401122' LINELENGTH:
1210 401122' 322 01 0 00 401126' JUMPE A,LINEL1
1211 401123' 275 01 0 00 577777 SUBI A,INUM0
1212 401124' 542 01 0 00 000055' HRRM A,LINL
1213 401125' 542 01 0 00 000056' HRRM A,CHCT
1214 401126' 550 01 0 00 000055' LINEL1: HRRZ A,LINL
1215 401127' 254 00 0 00 400743' JRST FIXI
1216
1217 401130' 200 01 0 00 000056' CHRCT: MOVE A,CHCT
1218 401131' 254 00 0 00 400743' JRST FIXI
1219
1220 REMOTE<
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-29
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1221 LINL: TTYLL
1222 CHCT: TTYLL>
1223
1224 ;teletype output
1225 401132' 051 01 0 00 000001 TTYO: OUTCHR A ;output single character in a
1226 401133' 263 14 0 00 000000 POPJ P,
1227 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-30
UCILSP MAC 27-MAR-75 17:13 TYI AND TYO
1228 REMOTE<DDTIFG: TRUTH>
1229 401134' 250 01 0 00 000057' DDTIN: EXCH A,DDTIFG
1230 401135' 263 14 0 00 000000 POPJ P,
1231
1232
1233 401136' 260 14 0 00 401655' TTYRET: PUSHJ P,OUTCNT
1234 401137' 254 00 0 00 401607' JRST INCNT
1235 ;THIS IS THE NEW, FAST, AND SHORT ROUTINE TO TURN OFF CONTROL O
1236 401140' 051 14 0 00 000000 TTYCLR: SKPINL ;## SKPINL FIXES RUBOUT PROBLEM IN TYPE AHEAD
1237 401141' 255 00 0 00 000000 JFCL
1238 401142' 263 14 0 00 000000 POPJ P,
1239
1240 REMOTE<
1241 TTOCH: 0
1242 IFN STPGAP,<
1243 0 ;tty page number always zero
1244 0 ;tty line number -- always zero
1245 >
1246 TTOLL: TTYLL
1247 TTOHP: TTYLL>
1248 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-31
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1249 SUBTTL INPUT AND OUTPUT INITIALIZATION AND CONTROL
1250 ;convert ascii to sixbit for device initialization routines
1251 401143' 402 00 0 00 000565' SIXMAK: SETZM SIXMK2#
1252 401144' 200 04 0 00 411322' MOVE AR1,[POINT 6,SIXMK2]
1253 401145' 561 13 0 00 401151' HRROI R,SIXMK1
1254 401146' 260 14 0 00 402341' PUSHJ P,PRINTA ;use print to unpack ascii characters
1255 401147' 200 01 0 00 000565' MOVE A,SIXMK2
1256 401150' 263 14 0 00 000000 POPJ P,
1257
1258 401151' 271 01 0 00 000040 SIXMK1: ADDI A,40
1259 401152' 607 04 0 00 770000 TLNN AR1,770000
1260 401153' 263 14 0 00 000000 POPJ P, ;last character position -- ignore remaining chars
1261 401154' 306 01 0 00 000116 CAIN A,"."+40
1262 401155' 201 01 0 00 000000 MOVEI A,0 ;ignore dots at end of numbers for decimal base
1263 401156' 306 01 0 00 000132 CAIN A,":"+40
1264 401157' 505 04 0 00 060600 HRLI AR1,(POINT 6,0,29) ;deposit : in last char position
1265 401160' 136 01 0 00 000004 IDPB A,AR1
1266 401161' 263 14 0 00 000000 POPJ P,
1267
1268 ;subroutine to process next item in file name list
1269 401162' 322 06 0 00 401164' INXTIO: JUMPE T,NXTIO
1270 401163' 550 06 0 06 000000 HRRZ T,(T)
1271 401164' 554 01 0 06 000000 NXTIO: HLRZ A,(T)
1272 401165' 260 14 0 00 403701' PUSHJ P,ATOM
1273 401166' 322 01 0 00 404014' JUMPE A,CPOPJ ;non-atomic
1274 401167' 554 01 0 06 000000 HLRZ A,(T)
1275 401170' 254 00 0 00 401143' JRST SIXMAK ;make sixbit if atomic
1276
1277 ;right normalize sixbit
1278 401171' 242 01 0 00 777772 LSH A,-6
1279 401172' 606 01 0 00 000077 SIXRT: TRNN A,77
1280 401173' 254 00 0 00 401171' JRST .-2
1281 401174' 263 14 0 00 000000 POPJ P,
1282 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-32
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1283
1284 ;## SUBROUTINE TO TEST FOR A DEVICE OR QUEUE. USED BY I/O ROUTINES
1285 ;## AND THE QUEUE ROUTINES. LEAVES A=0 IF NOT AN ATOM AND B=0
1286 ;## DEVICE OR QUEUE.
1287
1288 401175' 260 14 0 00 401164' DEVCHK: PUSHJ P,NXTIO ;## MAKE SIXBIT IF AN ATOM
1289 401176' 135 02 0 00 411323' LDB B,[POINT 6,A,35];## GET LAST CHAR
1290 401177' 306 02 0 00 000032 CAIN B,':' ;## DEVICE?
1291 401200' 624 01 0 00 000077 TRZA A,77 ;## YES, CLEAR CHAR BUT LEAVE B INTACT
1292 401201' 400 02 0 00 000000 SETZ B, ;## NO, CLEAR B
1293 401202' 263 14 0 00 000000 POPJ P, ;## DONE, IF A=0 OR B=0, NOT A DEVICE
1294
1295 ;## SUBROUTINE TO PARSE THE I/O SPECIFICATION. DEFAULT IS DSK IF
1296 ;## NO DEVICE SPECIFIED.
1297 401203' 202 06 0 00 000457' IOSUB: MOVEM T,DEVDAT# ;## SAVE ARG FOR ERRORS
1298 401204' 332 00 0 00 000111' SKIPE DEV ;## DEVICE ALREADY SPECIFIED?
1299 401205' 254 00 0 00 401211' JRST IOSUB1 ;## YES, FORGET DEFAULT
1300 401206' 402 00 0 00 000126' SETZM PPN ;## CLEAR PPN
1301 401207' 205 01 0 00 446353 MOVSI A,'DSK' ;## STORE DSK AS DEFAULT
1302 401210' 202 01 0 00 000111' MOVEM A,DEV
1303 401211' 260 14 0 00 401175' IOSUB1: PUSHJ P,DEVCHK ;## SEE IF DEVICE SPECIFIED
1304 401212' 322 01 0 00 401217' JUMPE A,IOPPN ;## NON-ATOMIC ARG, MUST BE PPN OR (FILE.EXT)
1305 401213' 322 02 0 00 401226' JUMPE B,IOFIL ;## NOT A DEVICE, MUST BE FILE NAME
1306 401214' 402 00 0 00 000126' SETZM PPN
1307 401215' 202 01 0 00 000111' IODEV2: MOVEM A,DEV
1308 401216' 260 14 0 00 401162' IODEV3: PUSHJ P,INXTIO
1309 401217' 326 01 0 00 401226' IOPPN: JUMPN A,IOFIL ;not ppn or (fil.ext)
1310 401220' 260 14 0 00 401250' PUSHJ P,PPNEXT
1311 401221' 326 01 0 00 401232' JUMPN A,IOEXT ;(fil.ext)
1312 401222' 554 01 0 06 000000 HLRZ A,(T)
1313 401223' 260 14 0 00 401462' PUSHJ P,CNVPPN ;## CONVERT PPN
1314 401224' 202 01 0 00 000126' MOVEM A,PPN
1315 401225' 254 00 0 00 401216' JRST IODEV3 ;%% DON'T ZAP DEVICE NAME FOR PPN
1316
1317 401226' 326 01 0 00 401244' IOFIL: JUMPN A,IOFIL2 ;was it an atom
1318 401227' 322 06 0 00 404014' JUMPE T,CPOPJ ;no, was it nil (end)
1319 401230' 260 14 0 00 401250' PUSHJ P,PPNEXT
1320 401231' 322 01 0 00 404014' JUMPE A,CPOPJ ;see a ppn, no file named
1321 401232' 554 01 0 06 000000 IOEXT: HLRZ A,(T) ;(file.ext)
1322 401233' 550 01 0 01 000000 HRRZ A,(A) ;get cdr == extension
1323 401234' 260 14 0 00 401143' PUSHJ P,SIXMAK
1324 401235' 502 01 0 00 000124' HLLM A,EXT
1325 401236' 554 01 0 06 000000 HLRZ A,(T)
1326 401237' 554 01 0 01 000000 HLRZ A,(A) ;get car = file name
1327 401240' 260 14 0 00 401143' PUSHJ P,SIXMAK
1328 401241' 261 14 0 00 000001 FIL: PUSH P,A
1329 401242' 260 14 0 00 401162' PUSHJ P,INXTIO
1330 401243' 254 00 0 00 405717' JRST POPAJ
1331
1332 401244' 306 02 0 00 000032 IOFIL2: CAIN B,":"-40
1333 401245' 263 14 0 00 000000 POPJ P, ;saw a :,not file name
1334 401246' 402 00 0 00 000124' SETZM EXT ;file name -- clear extension
1335 401247' 254 00 0 00 401241' JRST FIL
1336
1337 401250' 322 06 0 00 404014' PPNEXT: JUMPE T,CPOPJ ;end of file name list
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-33
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1338 401251' 554 01 0 06 000000 HLRZ A,(T)
1339 401252' 550 01 0 01 000000 HRRZ A,(A) ;cdar
1340 401253' 254 00 0 00 403701' JRST ATOM ;ppn iff (not(atom(cdar l)))
1341
1342 401254' 200 06 0 00 000001 CHNSUB: MOVE T,A
1343 401255' 554 01 0 06 000000 HLRZ A,(T)
1344 401256' 260 14 0 00 403701' PUSHJ P,ATOM
1345 401257' 322 01 0 00 403764' JUMPE A,TRUE ;non-atomic head of list -- no channel named
1346 401260' 554 01 0 06 000000 HLRZ A,(T)
1347 401261' 260 14 0 00 401143' PUSHJ P,SIXMAK
1348 401262' 405 01 0 00 000077 ANDI A,77
1349 401263' 306 01 0 00 000032 CAIN A,":"-40
1350 401264' 254 00 0 00 403764' JRST TRUE ;device name, assume channel name t
1351 401265' 554 01 0 06 000000 HLRZ A,(T) ;channel name -- return it
1352 401266' 550 06 0 06 000000 HRRZ T,(T)
1353 401267' 263 14 0 00 000000 POPJ P,
1354 ;## LEFT HALF OF A CHANNEL TABLE ENTRY IS THE REMAINING
1355 ;## FILE LIST. RH POINTS TO EXTENDED HEADER.
1356
1357 REMOTE<
1358 CHTAB=.-FSTCH
1359 BLOCK NIOCH>
1360
1361 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-34
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1362 ;search for channel name in chtab
1363 401270' 200 01 0 00 411324' TABSR1: MOVE A,[XWD -NIOCH,FSTCH]
1364 401271' 200 03 0 01 000062' MOVE C,CHTAB(A)
1365 401272' 312 02 0 03 000000 CAME B,CHNAM(C)
1366 401273' 253 01 0 00 401271' AOBJN A,.-2
1367 401274' 316 02 0 03 000000 CAMN B,CHNAM(C)
1368 401275' 263 14 0 00 000000 POPJ P, ;found it!!!
1369 401276' 254 00 0 00 404013' JRST FALSE ;lost
1370
1371 ;search for channel name in chtab, and if not there find a free channel, and
1372 ;if no free channel, allocate a new buffer and channel
1373 401277' 200 02 0 00 000001 TABSRC: MOVE B,A
1374 401300' 260 14 0 00 401270' PUSHJ P,TABSR1
1375 401301' 326 01 0 00 401317' JUMPN A,DEVCLR ;found the channel
1376 401302' 261 14 0 00 000002 PUSH P,B
1377 401303' 200 02 0 00 000000 MOVE B,0
1378 401304' 260 14 0 00 401270' PUSHJ P,TABSR1 ;find a physical channel no. for a free channel
1379 401305' 322 01 0 00 411331' JUMPE A,[ERR1 [SIXBIT $NO I/O CHANNELS LEFT !$]]
1380 401306' 262 14 0 00 000002 POP P,B
1381 401307' 326 03 0 00 401317' JUMPN C,DEVCLR ;found free channel which had buffer space previously
1382 401310' 261 14 0 00 000001 PUSH P,A ;must allocate new buffer
1383 401311' 201 01 0 00 000415 MOVEI A,BLKSIZ
1384 401312' 400 12 0 00 000000 SETZ D, ;SPECIAL RELOCATION - SEE LOAD
1385 401313' 260 14 0 00 410256' PUSHJ P,MORCOR ;expand core for buffer if necessary
1386 401314' 200 03 0 00 000001 MOVE C,A
1387 401315' 262 14 0 00 000001 POP P,A
1388 401316' 542 03 0 01 000062' HRRM C,CHTAB(A)
1389 401317' 550 03 0 01 000062' DEVCLR: HRRZ C,CHTAB(A)
1390 401320' 552 02 0 03 000000 HRRZM B,CHNAM(C) ;store name
1391 401321' 552 01 0 00 000451' HRRZM A,CHANNEL#
1392 401322' 263 14 0 00 000000 POPJ P,
1393
1394 ;subroutine to reset all i/o channels -- used by excise and realloc
1395 401323' 550 01 0 00 000000* IOBRST: HRRZ A,JOBREL
1396 401324' 506 01 0 00 000000* HRLM A,JOBSA
1397 401325' 202 01 0 00 000453' MOVEM A,CORUSE#
1398 401326' 202 01 0 00 000000* MOVEM A,JOBSYM
1399 401327' 402 00 0 00 000063' SETZM CHTAB+FSTCH
1400 401330' 200 01 0 00 411332' MOVE A,[XWD CHTAB+FSTCH,CHTAB+FSTCH+1]
1401 401331' 251 01 0 00 000101' BLT A,CHTAB+NIOCH+FSTCH-1 ;clear channel table
1402 401332' 254 00 0 13 000000 JRST (R)
1403 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-35
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1404 401333' 260 14 0 00 401254' INPUT1: PUSHJ P,CHNSUB ;determine channel name
1405 401334' 201 04 0 01 000000 MOVEI AR1,(A) ;## SAVE CH NAME
1406 401335' 250 04 0 14 000000 EXCH AR1,(P) ;## EXHANGE WITH RETURN ADDR
1407 401336' 261 14 0 00 000004 PUSH P,AR1 ;## AND STUFF THE RETURN ADDR. IN
1408 401337' 260 14 0 00 401277' INPUT2: PUSHJ P,TABSRC ;## GET PHYSICAL CHANNEL NUMBER
1409 401340' 202 01 0 00 000451' MOVEM A,CHANNEL ;## SAVE IT
1410 401341' 402 00 0 00 000111' SETZM DEV ;## CLEAR DEV SO THAT WE CAN
1411 ;## DEFAULT IF APPROPRIATE
1412 401342' 254 00 0 00 401477' JRST SETIN1 ;## SET UP FOR INITIALIZTION
1413
1414 401343' 260 14 0 00 401333' INPUT: PUSHJ P,INPUT1
1415 401344' 260 14 0 00 000110' PUSHJ P,ININIT
1416 401345' 322 01 0 00 401726' INFAIL: JUMPE A,AIN.7 ;## CAN'T FIND FILE
1417 401346' 254 00 0 00 405717' JRST POPAJ
1418
1419 401347' 260 14 0 00 401333' BINPUT: PUSHJ P,INPUT1 ;## IMAGE BINARY INPUT
1420 401350' 260 14 0 00 000103' PUSHJ P,BNINIT
1421 401351' 254 00 0 00 401345' JRST INFAIL
1422
1423 401352' 322 01 0 00 401357' ISFILE: JUMPE A,.+5 ;## ROUTINE TO TELL USER IF A FILE EXISTS
1424 401353' 261 14 0 00 000001 PUSH P,A ;## SAVE A IF NON-NIL
1425 401354' 201 01 0 02 000000 MOVEI A,(B) ;## GET THE FILE NAME
1426 401355' 260 14 0 00 403657' PUSHJ P,NCONS ;## (FILNAM)
1427 401356' 262 14 0 00 000002 POP P,B ;## GET THE DEVICE BACK
1428 401357' 260 14 0 00 403660' PUSHJ P,XCONS ;## (DEV FILNAM) OR (FILNAM) WHEN HERE
1429 401360' 261 14 0 00 000001 PUSH P,A ;## SAVE IT FOR RETURN
1430 401361' 260 14 0 00 401370' PUSHJ P,RENSUB ;## SEE IF IT'S THERE
1431 401362' 261 14 0 00 000001 PUSH P,A ;## SAVE THE ANSWER
1432 401363' 260 14 0 00 401423' PUSHJ P,RENCLR ;## CLEAR THE CHANNEL
1433 401364' 262 14 0 00 000001 POP P,A ;## ANSWER IN A
1434 401365' 326 01 0 00 405717' JUMPN A,POPAJ ;## IF NON-NIL, THEN IT'S THERE
1435 401366' 262 14 0 00 000002 POP P,B ;## POP ANSWER OFF
1436 401367' 263 14 0 00 000000 POPJ P, ;## AND RETURN NIL
1437
1438 401370' 202 01 0 00 000457' RENSUB: MOVEM A,DEVDAT ;## SAVE IT FOR ERROR MSGS
1439 401371' 260 14 0 00 404376' PUSHJ P,GENSYM ;## DON'T CLOBBER CURRENT CHANNELS
1440 401372' 200 06 0 00 000457' MOVE T,DEVDAT ;## GET IT BACK
1441 401373' 260 14 0 00 401337' PUSHJ P,INPUT2 ;## SET UP AND OPEN
1442 401374' 254 00 0 00 000110' JRST ININIT ;## AND INIT
1443
1444 401375' 260 14 0 00 401370' RENAME: PUSHJ P,RENSUB ;## RENAME SETUP
1445 401376' 322 01 0 00 401423' JUMPE A,RENCLR ;## NIL IF CAN'T FIND FILE
1446 401377' 260 14 0 00 401470' PUSHJ P,SETINA ;## PROCESS THE NEW NAME
1447 401400' 256 00 0 00 000102' XCT RNAME ;## EXECUTE
1448 401401' 254 00 0 00 401423' JRST RENCLR ;## RETURN NIL IF FAILURE
1449 401402' 260 14 0 00 401423' PUSHJ P,RENCLR ;## CLEAR CHANNEL
1450 401403' 254 00 0 00 403764' JRST TRUE ;## AND RETURN T IF GOOD
1451
1452 REMOTE <
1453 RNAME: RENAME X,LOOKIN ;## RENAME FILE
1454 >
1455 401404' 260 14 0 00 401732' DELERR: PUSHJ P,AIOP
1456 401405' 260 14 0 00 401423' PUSHJ P,RENCLR ;## KILL THE CHANNEL
1457 401406' 001 00 0 00 411333' ERR1 [SIXBIT /CAN'T DELETE FILE !/]
1458
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-36
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1459 401407' 260 14 0 00 401370' DELETE: PUSHJ P,RENSUB ;## FIRST SETUP(ALLOWS DEFAULT TO DSK:)
1460 401410' 254 00 0 00 401412' JRST .+2 ;## ALREADY INIT'ED
1461 401411' 260 14 0 00 000110' DELET1: PUSHJ P,ININIT ;## INIT AND LOOKUP
1462 401412' 322 01 0 00 401417' JUMPE A,DELET2 ;## IF FILE NOT THERE IGNORE
1463 401413' 402 00 0 00 000123' SETZM LOOKIN ;## BLAST FILE NAME
1464 401414' 402 00 0 00 000124' SETZM EXT ;## AND EXTENSION
1465 401415' 256 00 0 00 000102' XCT RNAME ;## AND RENAME OUT OF EXISTENCE
1466 401416' 254 00 0 00 401404' JRST DELERR ;## RENAME FAILURE
1467 401417' 322 06 0 00 401423' DELET2: JUMPE T,RENCLR ;## DONE
1468 401420' 202 06 0 00 000457' MOVEM T,DEVDAT ;## SAVE REST OF LIST FOR MSGS.
1469 401421' 260 14 0 00 401470' PUSHJ P,SETINA ;## PROCESS NEXT FILE
1470 401422' 254 00 0 00 401411' JRST DELET1 ;## AND DO IT AGAIN
1471
1472 401423' 261 14 0 00 000451' RENCLR: PUSH P,CHANNEL ;## CLEAR CHANNEL
1473 401424' 474 02 0 00 000000 SETO B, ;## FAKE (INC RENCHANNEL T)
1474 401425' 260 14 0 00 401575' PUSHJ P,IOSEL ;## RELEASE THE CHANNEL
1475 401426' 254 00 0 00 405717' JRST POPAJ ;## RETURN NIL (IOSEL CHANGED THINGS)
1476
1477
1478 ;## TO LOOK UP A UFD FOR DIRECTORY FNS. SUBR
1479
1480 401427' 261 14 0 00 000001 UFDINP: PUSH P,A
1481 401430' 201 06 0 02 000000 MOVEI T,(B)
1482 401431' 260 14 0 00 401277' PUSHJ P,TABSRC
1483 401432' 202 01 0 00 000451' MOVEM A,CHANNEL ;## HAVE A CHANNEL
1484 401433' 200 01 0 00 411337' MOVE A,[XWD 'DSK','UFD']
1485 401434' 516 01 0 00 000124' HRLZM A,EXT
1486 401435' 512 01 0 00 000111' HLLZM A,DEV
1487 401436' 400 02 0 00 000000 SETZ B,
1488 401437' 252 02 0 00 401440' AOBJP B,.+1 ;## UFD'S SHOULD BE ON [1,1]
1489 401440' 202 02 0 00 000126' MOVEM B,PPN
1490 401441' 336 01 0 00 000006 SKIPN A,T
1491 401442' 260 14 0 00 401453' PUSHJ P,MYPPN ;## IF B=NIL, DEFAULT TO USER'S PPN
1492 401443' 202 01 0 00 000457' MOVEM A,DEVDAT
1493 401444' 260 14 0 00 401462' PUSHJ P,CNVPPN ;## CONVERT PPN
1494 401445' 400 06 0 00 000000 SETZ T, ;## ZAP T (NO MORE FILES)
1495 401446' 260 14 0 00 401500' PUSHJ P,SETIN2 ;## SETUP
1496 401447' 260 14 0 00 000103' PUSHJ P,BNINIT ;## INIT AS BINARY
1497 401450' 322 01 0 00 400636' JUMPE A,ERR ;## ERR NIL IF NOT THERE
1498 401451' 260 14 0 00 000121' PUSHJ P,ININBF ;## SET UP BUFFERS
1499 401452' 254 00 0 00 405717' JRST POPAJ ;## RETURN CHANNEL
1500 401453' 047 01 0 00 000024 MYPPN: GETPPN A, ;## GET PPN
1501 401454' 300 00 0 00 000000 CAI ;## WIERD SKIP RETURN ON THIS UUO
1502 401455' 554 03 0 00 000001 HLRZ C,A ;## ASSUME PPN'S ARE INUMS
1503 401456' 551 01 0 01 577777 HRRZI A,INUM0(A) ;## CONVERT
1504 401457' 260 14 0 00 403657' PUSHJ P,NCONS
1505 401460' 551 02 0 03 577777 HRRZI B,INUM0(C)
1506 401461' 254 00 0 00 403660' JRST XCONS ;## (PROJ PRGRM)
1507
1508 401462' 204 01 0 01 000000 CNVPPN: MOVS A,(A) ;## ASSUME PPNS INUMS
1509 401463' 541 01 0 01 200001 HRRI A,-INUM0(A) ;## LH=CDR, RH=CAR
1510 401464' 207 00 0 00 000001 MOVSS A ;## SWAP HALVES
1511 401465' 544 01 0 01 000000 HLR A,(A) ;## RH=CADR NOW
1512 401466' 541 01 0 01 200001 HRRI A,-INUM0(A)
1513 401467' 263 14 0 00 000000 POPJ P,
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-37
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1514
1515
1516 401470' 200 01 0 00 000451' SETINA: MOVE A,CHANNEL ;## FOR ROUTINES THAT PROCESS MORE
1517 401471' 550 03 0 01 000062' HRRZ C,CHTAB(A) ;## AND KEEP THE CHANNEL IN CHANNEL
1518
1519 401472' 202 01 0 00 000451' SETIN: MOVEM A,CHANNEL
1520 401473' 200 01 0 03 000001 MOVE A,CHDEV(C)
1521 401474' 202 01 0 00 000111' MOVEM A,DEV
1522 401475' 200 01 0 03 000002 MOVE A,CHPPN(C)
1523 401476' 202 01 0 00 000126' MOVEM A,PPN
1524 401477' 260 14 0 00 401203' SETIN1: PUSHJ P,IOSUB ;get device and file name
1525 401500' 202 01 0 00 000123' SETIN2: MOVEM A,LOOKIN ;file name
1526 401501' 200 01 0 00 000111' MOVE A,DEV
1527 401502' 202 01 0 00 000104' MOVEM A,BDEV ;## ALLOW IMAGE BINARY MODE
1528 401503' 047 01 0 00 000004 CALLI A,DEVCHR
1529 401504' 607 01 0 00 000002 TLNN A,INB
1530 401505' 254 00 0 00 401722' JRST AIN.2 ;not input device
1531 401506' 607 01 0 00 000040 TLNN A,AVLB
1532 401507' 254 00 0 00 401724' JRST AIN.4 ;not available
1533 401510' 200 01 0 00 000451' MOVE A,CHANNEL
1534 401511' 137 01 0 00 411340' DPB A,[POINT 4,ININIT,ACFLD] ;set up channel numbers
1535 401512' 137 01 0 00 411341' DPB A,[POINT 4,BNINIT,ACFLD] ;## FOR IMAGE BINARY
1536 401513' 137 01 0 00 411342' DPB A,[POINT 4,RNAME,ACFLD] ;## FOR RENAME
1537 401514' 137 01 0 00 411343' DPB A,[POINT 4,INLOOK,ACFLD]
1538 401515' 137 01 0 00 411344' DPB A,[POINT 4,ININBF,ACFLD]
1539 401516' 513 00 0 00 000124' HLLZS EXT ;%% CLEAR RIGHT HALF
1540 401517' 402 00 0 00 000125' SETZM LOOKIN+2 ;%% CLEAR THIRD WORD
1541 401520' 550 02 0 01 000062' HRRZ B,CHTAB(A)
1542 401521' 506 06 0 01 000062' HRLM T,CHTAB(A) ;save remaining file name list
1543 401522' 201 01 0 02 000004 MOVEI A,CHDAT(B)
1544 401523' 202 01 0 00 000112' MOVEM A,DEV1 ;pointer to bufdat
1545 401524' 202 01 0 00 000105' MOVEM A,BDEV1 ;## IMAGE BINARY MODE
1546 401525' 263 14 0 00 000000 POPJ P, ;## SET UP FOR INITIALIZTION
1547 REMOTE<
1548
1549 BNINIT: INIT X,13 ;## INIT DEVICE IN IMAGE BINARY
1550 BDEV: X
1551 BDEV1: X
1552 JRST AIN.7 ;## CAN'T INIT
1553 JRST INITOK
1554 ININIT: INIT X,
1555 DEV: X
1556 DEV1: X
1557 JRST AIN.7 ;cant init
1558 INITOK: PUSH B,DEV
1559 PUSH B,PPN
1560 INLOOK: LOOKUP X,LOOKIN
1561 JRST FALSE ;## LET SOMEONE ELSE HANDLE THE ERROR
1562 JRST IRET1>
1563
1564 401526' 261 02 0 00 411345' IRET1: PUSH B,[0] ;oldch
1565
1566 IFN STPGAP,<
1567 PUSH B,[0] ;line number
1568 PUSH B,[0] ;page number
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-38
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1569 >
1570
1571 401527' 271 02 0 00 000004 ADDI B,4
1572 401530' 542 02 0 00 000000* HRRM B,JOBFF
1573 401531' 254 00 0 00 000121' JRST ININBF
1574
1575 REMOTE<
1576 ININBF: INBUF X,NIOB
1577 JRST TRUE ;## RETURN FROM GOOD LOOKUP WITH T
1578
1579
1580 ENTR:
1581 LOOKIN: BLOCK 4
1582 EXT=LOOKIN+1
1583 PPN=LOOKIN+3
1584 >
1585 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-39
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1586 401532' 260 14 0 00 401254' OUTPUT: PUSHJ P,CHNSUB ;get channel name
1587 401533' 261 14 0 00 000001 PUSH P,A
1588 401534' 660 01 0 00 400000 TRO A,400000 ;set bit for output
1589 401535' 260 14 0 00 401277' PUSHJ P,TABSRC ;get physical channel nuber
1590 401536' 402 00 0 00 000111' SETZM DEV ;## CLEAR DEV FOR DEFAULT TO DSK:
1591 401537' 260 14 0 00 401203' PUSHJ P,IOSUB ;get device and file name
1592 401540' 202 01 0 00 000123' MOVEM A,ENTR ;file name
1593 401541' 513 00 0 00 000124' HLLZS ENTR+1 ;%% CLEAR RIGHT HALF
1594 401542' 402 00 0 00 000125' SETZM ENTR+2 ;zero creation date
1595 401543' 200 01 0 00 000451' MOVE A,CHANNEL
1596 401544' 137 01 0 00 411346' DPB A,[POINT 4,AOUT2,ACFLD] ;setup channel numbers
1597 401545' 137 01 0 00 411347' DPB A,[POINT 4,OUTENT,ACFLD]
1598 401546' 137 01 0 00 411350' DPB A,[POINT 4,OUTOBF,ACFLD]
1599 401547' 550 02 0 01 000062' HRRZ B,CHTAB(A)
1600 401550' 201 01 0 02 000004 MOVEI A,CHDAT(B)
1601 401551' 506 01 0 00 000131' HRLM A,AOUT3+1
1602 401552' 200 01 0 00 000111' MOVE A,DEV
1603 401553' 202 01 0 00 000130' MOVEM A,AOUT3
1604 401554' 047 01 0 00 000004 CALLI A,DEVCHR
1605 401555' 607 01 0 00 000001 TLNN A,OUTB
1606 401556' 254 00 0 00 401722' JRST AOUT.2 ;not output device
1607 401557' 607 01 0 00 000040 TLNN A,AVLB
1608 401560' 254 00 0 00 401724' JRST AOUT.4 ;not available
1609 401561' 254 00 0 00 000127' JRST AOUT2
1610 REMOTE<
1611 AOUT2: INIT X,
1612 AOUT3: X
1613 X
1614 JRST AOUT.4 ;cant init
1615 PUSH B,DEV
1616 OUTENT: ENTER X,ENTR
1617 JRST OUTERR ;cant enter
1618 JRST ORET1>
1619 401562' 261 02 0 00 411351' ORET1: PUSH B,[LPTLL] ;linelength
1620 401563' 261 02 0 00 411351' PUSH B,[LPTLL] ;chrct
1621 401564' 271 02 0 00 000004 IFE STPGAP,< ADDI B,4>
1622 IFN STPGAP,< ADDI B,6>
1623 401565' 542 02 0 00 401530* HRRM B,JOBFF
1624 401566' 256 00 0 00 000137' XCT OUTOBF
1625 REMOTE<
1626 OUTOBF: OUTBUF X,NIOB
1627 >
1628 401567' 254 00 0 00 405717' JRST POPAJ
1629
1630 401570' 260 14 0 00 401732' OUTERR: PUSHJ P,AIOP
1631 401571' 135 01 0 00 411352' LDB A,[POINT 3,ENTR+1,35]
1632 401572' 302 01 0 00 000002 CAIE A,2
1633 401573' 001 00 0 00 411353' ERR1 [SIXBIT /DIRECTORY FULL !/]
1634 401574' 001 00 0 00 411356' ERR1 [SIXBIT /FILE IS WRITE PROTECTED !/]
1635 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-40
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1636 401575' 200 03 0 14 777777 IOSEL: MOVE C,-1(P)
1637 401576' 322 03 0 00 404014' JUMPE C,CPOPJ ;tty
1638 401577' 322 02 0 00 401605' JUMPE B,IOSELZ ;dont release
1639 401600' 137 03 0 00 411363' IOSEL1: DPB C,[POINT 4,RLS,ACFLD]
1640 401601' 256 00 0 00 000140' XCT RLS
1641 REMOTE<
1642 RLS: RELEASE X, ;release channel
1643 >
1644 401602' 553 00 0 03 000062' HRRZS CHTAB(C) ;release channel table entry
1645 401603' 202 00 1 03 000062' MOVEM 0,@CHTAB(C) ;blast channel name
1646 401604' 402 00 0 14 777777 SETZM -1(P)
1647 401605' 550 03 0 03 000062' IOSELZ: HRRZ C,CHTAB(C)
1648 401606' 263 14 0 00 000000 POPJ P,
1649 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-41
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1650 401607' 201 01 0 00 000000 INCNT: MOVEI A,NIL ;(INC NIL T)
1651 401610' 201 02 0 11 002613' MOVEI B,TRUTH(S)
1652
1653 401611' 261 14 0 00 000507' INC: PUSH P,INCH#
1654 401612' 260 14 0 00 401575' PUSHJ P,IOSEL
1655 401613' 326 02 0 00 401621' JUMPN B,INC2 ;released channel
1656 401614' 336 00 0 00 000003 SKIPN C
1657 401615' 201 03 0 00 000055' MOVEI C,TTOCH-CHOCH ;tty deselect
1658 IFN STPGAP,<
1659 MOVEI B,CHOCH(C)
1660 HRLI B,OLDCH
1661 BLT B,CHLINE(C) ;save channel data
1662 >
1663 IFE STPGAP,<
1664 401616' 200 02 0 00 000044' MOVE B,OLDCH
1665 401617' 202 02 0 03 000003 MOVEM B,CHOCH(C)
1666 >
1667 401620' 254 00 0 00 401622' JRST INC2+1
1668 401621' 402 00 0 00 000507' INC2: SETZM INCH ;CLEAR CHANNEL NOW IN CASE OF BREAK
1669 401622' 322 01 0 00 401651' JUMPE A,ITTYRE ;select tty
1670 401623' 200 02 0 00 000001 MOVE B,A
1671 401624' 260 14 0 00 401270' PUSHJ P,TABSR1 ;determine physical channel number
1672 401625' 322 01 0 00 411367' JUMPE A,[ERR1 [SIXBIT/NO INPUT - INC!/]]
1673 401626' 552 01 0 00 000507' HRRZM A,INCH
1674 401627' 137 01 0 00 411370' DPB A,[POINT 4,TYI2X,ACFLD] ;set up channel numbers
1675 401630' 137 01 0 00 411371' DPB A,[POINT 4,TYI2Y,ACFLD]
1676 401631' 137 01 0 00 411372' DPB A,[POINT 4,TYI2Z,ACFLD]
1677 401632' 550 01 0 01 000062' HRRZ A,CHTAB(A)
1678 401633' 201 06 0 01 000006 MOVEI T,COUNT(A)
1679 401634' 505 06 0 00 377000 HRLI T,(SOSG)
1680 401635' 201 02 0 01 000005 MOVEI B,POINTR(A)
1681 401636' 542 02 0 00 000601' HRRM B,TYI3 ;set up tyi parameters
1682 401637' 542 02 0 00 000035' HRRM B,TYI3A
1683 401640' INC3:
1684 IFN STPGAP,<
1685 MOVSI B,CHOCH(A)
1686 HRRI B,OLDCH
1687 BLT B,LINUM ;restore channel data
1688 >
1689 IFE STPGAP,<
1690 401640' 200 02 0 01 000003 MOVE B,CHOCH(A)
1691 401641' 202 02 0 00 000044' MOVEM B,OLDCH
1692 >
1693 401642' 202 06 0 00 000034' MOVEM T,TYI2
1694 401643' 262 14 0 00 000001 IOEND: POP P,A
1695 401644' 322 01 0 00 404014' JUMPE A,CPOPJ
1696 401645' 200 01 0 01 000062' MOVE A,CHTAB(A) ;get channel name
1697 401646' 550 01 0 01 000000 HRRZ A,(A)
1698 401647' 620 01 0 00 400000 TRZ A,400000 ;clear output bit
1699 401650' 263 14 0 00 000000 POPJ P,
1700
1701 401651' 402 00 0 00 000507' ITTYRE: SETZM INCH
1702 401652' 200 06 0 00 411373' MOVE T,[JRST TTYI] ;reselect tty
1703 401653' 201 01 0 00 000055' MOVEI A,TTOCH-CHOCH
1704 401654' 254 00 0 00 401640' JRST INC3
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-42
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1705 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-43
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1706 401655' 201 01 0 00 000000 OUTCNT: MOVEI A,0 ;(outc nil t)
1707 401656' 201 02 0 00 000001 MOVEI B,1
1708
1709 401657' 261 14 0 00 000541' OUTC: PUSH P,OUTCH#
1710 401660' 260 14 0 00 401575' PUSHJ P,IOSEL
1711 401661' 326 02 0 00 401671' JUMPN B,OUTC2 ;closed this file
1712 401662' 336 00 0 00 000003 SKIPN C
1713 401663' 201 03 0 00 000057' MOVEI C,TTOLL-CHLL ;tty deselect
1714 401664' 200 02 0 00 000056' MOVE B,CHCT
1715 401665' 202 02 0 03 000003 MOVEM B,CHHP(C) ;save channel data
1716 401666' 200 02 0 00 000055' MOVE B,LINL
1717 401667' 202 02 0 03 000002 MOVEM B,CHLL(C)
1718 401670' 254 00 0 00 401672' JRST OUTC2+1
1719 401671' 402 00 0 00 000541' OUTC2: SETZM OUTCH ;CLEAR CHANNEL NOW IN CASE OF BREAK
1720 401672' 322 01 0 00 401714' JUMPE A,OTTYRE ;return to tty
1721 401673' 660 01 0 00 400000 TRO A,400000 ;set output bit
1722 401674' 200 02 0 00 000001 MOVE B,A
1723 401675' 260 14 0 00 401270' PUSHJ P,TABSR1 ;determine physical channel number
1724 401676' 322 01 0 00 411377' JUMPE A,[ERR1 [SIXBIT /NO OUTPUT - OUTC!/]]
1725 401677' 137 01 0 00 411400' DPB A,[POINT 4,TYO2X,ACFLD] ;set up tyo2 channel numbers
1726 401700' 552 01 0 00 000541' HRRZM A,OUTCH
1727 401701' 550 01 0 01 000062' HRRZ A,CHTAB(A)
1728 401702' 201 02 0 01 000005 MOVEI B,POINTR(A)
1729 401703' 542 02 0 00 000050' HRRM B,TYO5 ;set up tyo2 parameters
1730 401704' 201 06 0 01 000006 MOVEI T,COUNT(A)
1731 401705' 505 06 0 00 377000 HRLI T,(SOSG)
1732 401706' 200 02 0 01 000002 OUTC3: MOVE B,CHLL(A)
1733 401707' 202 02 0 00 000055' MOVEM B,LINL
1734 401710' 200 02 0 01 000003 MOVE B,CHHP(A)
1735 401711' 202 02 0 00 000056' MOVEM B,CHCT
1736 401712' 202 06 0 00 000046' MOVEM T,TYOD
1737 401713' 254 00 0 00 401643' JRST IOEND
1738
1739 401714' 402 00 0 00 000541' OTTYRE: SETZM OUTCH
1740 401715' 200 06 0 00 411160' MOVE T,[JRST TTYO]
1741 401716' 201 01 0 00 000057' MOVEI A,TTOLL-CHLL ;tty reselect
1742 401717' 254 00 0 00 401706' JRST OUTC3
1743 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-44
UCILSP MAC 27-MAR-75 17:13 INPUT AND OUTPUT INITIALIZATION AND CONTROL
1744 401720' 260 14 0 00 401732' AIN.1: PUSHJ P,AIOP
1745 401721' 001 00 0 00 411401' ERR1 [SIXBIT $ILLEGAL I/O ARG!$]
1746 401722' AOUT.2:
1747 401722' 260 14 0 00 401732' AIN.2: PUSHJ P,AIOP
1748 401723' 001 00 0 00 411404' ERR1 [SIXBIT /ILLEGAL DEVICE!/]
1749 401724' AOUT.4:
1750 401724' 260 14 0 00 401732' AIN.4: PUSHJ P,AIOP
1751 401725' 001 00 0 00 411407' ERR1 [SIXBIT /DEVICE NOT AVAILABLE !/]
1752 401726' 260 14 0 00 401732' AIN.7: PUSHJ P,AIOP
1753 401727' 001 00 0 00 411413' ERR1 [SIXBIT /CAN'T FIND FILE - INPUT!/]
1754
1755 401730' 51 56 60 65 64 00 AIN.8: SIXBIT /INPUT ERROR!/
1756 401731' 45 62 62 57 62 01
1757
1758 401732' 200 01 0 00 000457' AIOP: MOVE A,DEVDAT
1759 401733' 254 00 0 00 402322' JRST EPRINT
1760 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-45
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
1761 SUBTTL QMANGR INTERFACE
1762
1763 ;## CODE TO ALLOW LISP USER'S TO CALL DEC'S QMANGR, ALLOWING
1764 ;## PRINTING OF FILES AND CREATION OF JOBS
1765 ;## SCANS ARG LIST SETTING UP THE APPROPRIATE PARAMETERS. IT
1766 ;## SAVE THE PDLS, SWAPS HI-SEGS FOR SYS:QMANGR AND
1767 ;## DOES A PUSHJ TO 400010. IT ALSO CHANGES JOBREN SO
1768 ;## THAT THE USER CAN RECOVER IN CASE OF QMANGR ERRORS.
1769 ;## ST WILL ALSO STILL WORK. REG 17 (SP) IS USED AS QMANGR'S
1770 ;## PDL. CORE IS CONTRACTED AFTER RETURN FROM QMANGR AND QUEUE
1771 ;## RESTORES APPROPRIATE REGS AND RETURNS NIL. ALTHOUGH
1772 ;## CODE FOR EXTENDED SWITCHES IS INCLUDED, MOST OF
1773 ;## IT IS TURNED OFF. USE AT YOUR OWN RISK. NOTE THAT
1774 ;## /LIST, /AFTER AND /DEAD REQUIRE SPECIAL CODE
1775 ;## THAT IS NOT INCLUDED. SEE APPROPRIATE
1776 ;## DEC DOCUMENTATION FOR FURTHER INFO. 6/12/73
1777
1778
1779 IFN QALLOW <
1780 IFNDEF QSWEXT <QSWEXT=0> ;## IF NOT DEFINED THEN DEFAULT IS NO EXTENDED
1781 000005 IFE QSWEXT <NSWS==QTABL1>;## NUMBER OF ALLOWED SWITCHES
1782 IFN QSWEXT <NSWS==QTABL2>;## LENGTH OF EXTENDED TABLE
1783 IFNDEF QLSTOK <QLSTOK==0>
1784 IFNDEF QTIME <QTIME==0>
1785
1786
1787 ;%% THE FOLLOWING CODE IS AN ILLUSTRATION OF HOW
1788 ;%% EASY IT IS TO LOSE TRYING TO INTERFACE TO
1789 ;%% DEC SOFTWARE. THE FOLLOWING DEFINITIONS ALLOW
1790 ;%% TOO FEW WORDS FOR THE CURRENT FILE PARAMETER
1791 ;%% AREA; SEE THE DEFINITIONS AS COPIED FROM
1792 ;%% THE QMANGR SOURCE BELOW.
1793 COMMENT &
1794 INPPAR==32 ;## NUMBER OF WORDS IN INP AREA FOR INPUT REQUEST
1795 OUTPAR==24 ;## NUMBER WORDS IN MAIN AREA FOR OUTPUT REQUEST
1796 DIFPAR==INPPAR-OUTPAR ;## DIFFERENCE IN LENGTHS FOR MAIN AREA TYPES
1797 FILPAR==14 ;## NUMBER WORDS IN FILE PARAMTER AREA
1798
1799
1800
1801
1802 ;## LOCATIONS IN PARAMETER AREAS
1803 ;## MAIN AREA
1804 Q.MEM==0 ;## MEMORY FOR QMANGR
1805 Q.OPR==1 ;## REQUESTED OPERATION
1806 Q.LEN==2 ;## RH=NUMBER OF FILES IN REQUEST
1807 Q.DEV==3 ;## REQUESTED QUEUE
1808 Q.PPN==4 ;## PPN REQUESTING
1809 Q.JOB==5 ;## JOB NAME
1810 Q.SEQ==6 ;## JOB SEQUENCE #
1811 Q.PRI==7 ;## EXTERNAL PRIORITY
1812 Q.PDEV==10 ;##
1813 Q.TIME==11 ;##
1814 Q.CREA==12 ;##
1815 Q.AFTR==13 ;## AFTER PARAMETER
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-46
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
1816 Q.DEAD==14 ;## DEADLINE PARAMETER
1817 Q.CNO==15
1818 Q.USER==16 ;## AND 17
1819 ;## INPUT SECTION OF MAIN PARAMETER AREA
1820 Q.IDEP==20 ;## RESTART AND DEPENDENCY PARAMTERS
1821 Q.ILIM==21 ;## CORE AND CPU, +1 IS LPT LIMIT AND CDP LIMIT
1822 ;## +2 IS PTP LIMIT AND PLOT LIMIT
1823 Q.IDDI==24 ;## THRU 31
1824 Q.IEND==31 ;## LAST LOC OF INP AREA
1825 ;## OUTPUT SEECTION OF MAIN PARAMETER AREA
1826 Q.OFRM==20 ;## FORM PARAMTER
1827 Q.OSIZ==21 ;## LH=LIMIT
1828 Q.ONOT==22
1829 Q.OEND==23 ;## LAST LOC OF OUTPUT AREA
1830 ;## FILE PARAMETER AREA (ONE FOR EACH FILE)
1831 Q.FSTR==0 ;## FILE STRUCTURE
1832 Q.FDIR==1 ;## THRU 6, DIRECTORY
1833 Q.FNAM==7 ;## FILE NAME
1834 Q.FEXT==10 ;## FILE EXTENSION
1835 Q.FRNM==11 ;## RENAME NAME (0)
1836 Q.FBIT==12
1837 Q.FMOD==13 ;## SPACING, FILE DISPOSAL, COPIES
1838 & ;%% END OF DELETED DEFINITIONS
1839
1840 ;%% THE FOLLOWING ARE AS COPIED FROM QMANGR (VERSION 34)
1841 ;%% ON 24 OCTOBER 1973
1842
1843 401734' QDEFST==. ;%% WHERE TO RELOC TO AFTERWARDS
1844 000000' RELOC 0 ;%% TO SAVE CORE AND AVOID CONFUSION
1845 ;%% COMMENTS BELOW ARE AS COPIED
1846 ;%% FROM QMANGR
1847 000000 PHASE 0
1848 000000 Q.ZER:! ;START OF QUEUE PARAMETER AREA
1849 000000 Q.MEM:! BLOCK 1 ;HOLD XWD WINDOW BLOCK,WINDOW WORD INDEX
1850 000001 Q.OPR:! BLOCK 1 ;OPERATION CODE
1851 000001 QO.CRE==1 ;CREATION OPERATION
1852 000004 QO.LST==4 ;LIST OPERATION
1853 000005 QO.MOD==5 ;MODIFY OPERATION
1854 000006 QO.KIL==6 ;KILL OPERATION
1855 000010 QO.DEL==10 ;DELETE OPERATION
1856 000011 QO.REQ==11 ;REQUEUE OPERATION
1857 000012 QO.FLS==12 ;FAST LIST OPERATION
1858 000002 Q.LEN:! BLOCK 1 ;LENGTHS IN AREA
1859 000003 Q.DEV:! BLOCK 1 ;DESTINATION DEVICE
1860 000004 Q.PPN:! BLOCK 1 ;PPN ORIGINATING REQUEST
1861 000005 Q.JOB:! BLOCK 1 ;JOB NAME
1862 000006 Q.SEQ:! BLOCK 1 ;JOB SEQUENCE NUMBER
1863 000007 Q.PRI:! BLOCK 1 ;EXTERNAL PRIORITY
1864 000010 Q.PDEV:! BLOCK 1 ;PROCESSING DEVICE
1865 000011 Q.TIME:! BLOCK 1 ;PROCESSING TIME OF DAY
1866 000012 Q.CREA:! BLOCK 1 ;CREATION TIME
1867 000013 Q.AFTR:! BLOCK 1 ;AFTER PARAMETER
1868 000014 Q.DEAD:! BLOCK 1 ;DEADLINE TIMES
1869 000015 Q.CNO:! BLOCK 1 ;CHARGE NUMBER
1870 000016 Q.USER:! BLOCK 2 ;USER'S NAME
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-47
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
1871
1872 000020 Q.I:! ;START OF INPUT QUEUE AREA
1873 000020 Q.IDEP:! BLOCK 1 ;DEPENDENCY WORD
1874 000021 Q.ILIM:! BLOCK 3 ;JOB LIMITS
1875 000024 Q.IL:! ;END OF AREA NEEDED TO READ FOR MASTER QUEUE
1876 000024 Q.IDDI:! BLOCK 6 ;JOB'S DIRECTORY
1877 000032 Q.II:! ;START OF INPUT FILES AREA
1878
1879 000020 PHASE Q.I
1880 000020 Q.O:! ;START OF OUTPUT QUEUE AREA
1881 000020 Q.OFRM:! BLOCK 1 ;FORMS REQUEST
1882 000021 Q.OSIZ:! BLOCK 1 ;LIMIT WORD
1883 000022 Q.OL:! ;END OF AREA NEEDED TO READ FOR MASTER QUEUE
1884 000022 Q.ONOT:! BLOCK 2 ;ANNOTATION
1885 000024 Q.FF:!
1886 000000 PHASE 0
1887 000000 Q.F:! ;DUPLICATED AREA FOR EACH REQUESTED FILE
1888 000000 Q.FSTR:! BLOCK 1 ;FILE STRUCTURE
1889 000001 Q.FDIR:! BLOCK 6 ;ORIGINAL DIRECTORY
1890 000007 Q.FNAM:! BLOCK 1 ;ORIGINAL NAME
1891 000010 Q.FEXT:! BLOCK 1 ;ORIGINAL EXTENSION
1892 000011 Q.FRNM:! BLOCK 1 ;RENAMED FILE NAME (0 IF NOT)
1893 000012 Q.FBIT:! BLOCK 1 ;BIT 0=PRESERVED BY QUEUE, REST=STARTING BIT
1894 000013 Q.FMOD:! BLOCK 1 ;FILE SWITCHES
1895 200000 000000 X.LOG==1B1 ;FILE IS LOG FILE
1896 100000 000000 X.NEW==1B2 ;OK IF FILE DOESNT EXIST YET
1897 000014 Q.FRPT:!BLOCK 2 ;/REPORT
1898
1899 000016 Q.FLEN==.-Q.F
1900 000054' DEPHASE
1901 000000 PHASE 0
1902 000000 Q.FDRM:! BLOCK 6 ;DIRECTORY MASK FOR MODIFY
1903 000006 Q.FNMM:! BLOCK 1 ;FILE NAME MASK FOR MODIFY
1904 000007 Q.FEXM:! BLOCK 1 ;EXTENSION MASK FOR MODIFY
1905 000010 Q.FMDM:! BLOCK 1 ;MODIFIER MASK FOR MODIFY
1906 000011 Q.FMLN==.-Q.F ;LENGTH OF MODIFY BLOCK
1907
1908 000065' DEPHASE
1909 401734' RELOC QDEFST ;%% MAKE UP FOR INCREASE IN LOCATION
1910 ;%% COUNTER
1911
1912 000032 INPPAR==Q.II ;%% SIZE OF MINIMUM INPUT AREA
1913 000024 OUTPAR==Q.FF ;%% SIZE OF MINIMUM OUTPUT AREA
1914 000023 OUTPR1==OUTPAR-1 ;%% MACRO DOESN'T LIKE EXPRESSIONS
1915 000006 DIFPAR==INPPAR-OUTPAR ;%% DIFFERENCE IN AREAS
1916 000016 FILPAR==Q.FLEN ;%% FILE DATA AREA
1917 000156 LOWLEN==^D110 ;## AREA NEED FOR PARAMETER
1918 ;## AREA TO QMANGR
1919 023016 LHLEN==OUTPR1*1B26+FILPAR ;## LH OF Q.LEN DEFAULTS
1920 000006 NQS==6 ;## NUMBER OF QUEUES
1921
1922
1923 ;## QUEUE ERRORS
1924
1925 401734' 554 01 0 06 000000 QILLSW: HLRZ A,(T) ;## GET SWITCH THAT CAUSED ERROR
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-48
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
1926 401735' 260 14 0 00 402327' PUSHJ P,PRINT
1927 401736' 004 00 0 00 411417' STRTIP [SIXBIT / =ILL. SWITCH SPEC.!/]
1928 401737' 260 14 0 00 402276' PUSHJ P,CONCOR ;## SAVE THAT CORE
1929 401740' 001 00 0 00 411423' QERR1: ERR1 [SIXBIT /ERROR IN QUEUE REQUEST!/]
1930
1931
1932
1933 401741' 336 06 0 00 000001 QUEUE: SKIPN T,A ;## ERROR IF NO ARGS
1934 401742' 254 00 0 00 401740' JRST QERR1
1935 401743' 260 14 0 00 401175' PUSHJ P,DEVCHK ;## SEE IF QUEUE SPECIFIED
1936 401744' 322 01 0 00 401766' JUMPE A,NOQUE ;## IF A=0 THEN NOT A QUEUE
1937 401745' 322 02 0 00 401766' JUMPE B,NOQUE ;## IF B=0 THEN NOT A QUEUE
1938 401746' 200 05 0 00 000001 MOVE AR2A,A
1939 401747' 554 02 0 00 000001 HLRZ B,A ;## GET FIRST THREEE LETTERS
1940 401750' 201 03 0 00 000006 MOVEI C,NQS ;## GET NUMBER OF PERMISSIBLE QUEUES
1941 401751' 361 03 0 00 401766' SOJL C,NOQUE ;## IF EXHAUSTED TABLE, THEN NO QUEUE
1942 401752' 200 01 0 03 401755' MOVE A,QSTABL(C) ;## PERMISSIBLE QUEUES
1943 401753' 265 13 0 00 402317' JSP R,CHKGO ;## JUMP TO ROUTINE THAT COMPARES RH AND GO
1944 ;## TO LH OF A IFF RH(A)=B
1945 401754' 254 00 0 00 401751' JRST .-3 ;## LOOP
1946
1947
1948
1949 ;## TABLE OF PERMISSIBLE QUEUES AND WHERE TO GO ON EACH
1950
1951 401755' 401764' 515660 QSTABL: XWD INPREQ, 'INP'
1952 401756' 401763' 546064 XWD OUTREQ, 'LPT'
1953 401757' 401763' 606460 XWD OUTREQ, 'PTP'
1954 401760' 401763' 606460 XWD OUTREQ, 'PTP'
1955 401761' 401763' 434460 XWD OUTREQ, 'CDP'
1956 401762' 401763' 605464 XWD OUTREQ, 'PLT'
1957
1958 401763' 634 01 0 00 000001 OUTREQ: TDZA A,A ;## HERE TO PROCESS OUTPUT REQUEST(CLEAR A)
1959 401764' 201 01 0 00 000006 INPREQ: MOVEI A,DIFPAR ;## HERE TO PROCESS INPUT REQUEST
1960 401765' 254 00 0 00 401770' JRST QGOOD ;## FOUND A QUEUE
1961 401766' 205 05 0 00 546064 NOQUE: MOVSI AR2A,'LPT' ;## HERE IF NO QUEUE, DEFAULT=LPT
1962 401767' 634 01 0 00 000001 TDZA A,A ;## CLEAR A AND SKIP
1963 401770' 550 06 0 06 000000 QGOOD: HRRZ T,(T) ;## HERE IF QUEUE SPECIFIED
1964 401771' 271 01 0 00 000024 ADDI A,OUTPAR ;## A IS ZERO OR INPPAR
1965 401772' 261 14 0 00 000002 QSETUP: PUSH P,B ;## B CONTAINS THREE LETTERS(OR BLANK). SAVE IT
1966 401773' 515 07 0 01 000000 HRLZI TT,(A) ;## SAVE LNENGTH OF AREA
1967 401774' 260 14 0 00 402271' PUSHJ P,TEMCOR ;## EXPAND CORE
1968 401775' 541 07 0 01 000000 HRRI TT,(A) ;## START ADDR OF MAIN AREA
1969 401776' 200 01 0 00 000007 MOVE A,TT
1970 401777' 260 14 0 00 402310' PUSHJ P,CLRBLK ;## CLEAR AREA
1971 402000' 202 05 0 07 000003 MOVEM AR2A,Q.DEV(TT)
1972 402001' 201 03 0 00 023016 MOVEI C,LHLEN ;## GET LENGTHS FOR HEADER AND FILE AREAS
1973 402002' 200 01 0 00 411427' MOVE A,[XWD 500,500]
1974 402003' 516 01 0 07 000021 HRLZM A,Q.OSIZ(TT) ;## ASSUME OUTPUT HERE
1975 402004' 262 14 0 00 000002 POP P,B ;## RESTORE LEFT THREE LETTERS
1976 402005' 302 02 0 00 515660 CAIE B,'INP' ;## WAS IT AN INPUT REQUEST?
1977 402006' 254 00 0 00 402016' JRST QUEUE1 ;## NO SHOULD BE OK
1978 402007' 271 03 0 00 006000 ADDI C,DIFPAR_9 ;## UPDATE HEADER LENGTH
1979 402010' 202 01 0 07 000022 MOVEM A,Q.ILIM+1(TT) ;## MAX PAGES AND CARD PUNCH
1980 402011' 202 01 0 07 000023 MOVEM A,Q.ILIM+2(TT) ;## MAX PAPER TAPE AND PLOTTER
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-49
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
1981 402012' 505 01 0 00 000400 HRLI A,^D256
1982 402013' 202 01 0 07 000021 MOVEM A,Q.ILIM(TT) ;## MAX CORE AND CPU(CORMAX MAY HAVE TO BE
1983 ;## CHECKED HERE)
1984 402014' 205 01 0 00 400000 MOVSI A,400000 ;## SET BIT 0 FOR NOT RESTARTABLE
1985 402015' 512 01 0 07 000020 HLLZM A,Q.IDEP(TT) ;## NOT RESTARTABLE(NO DEPEND OR UNIQUENESS)
1986 402016' 206 03 0 07 000002 QUEUE1: MOVSM C,Q.LEN(TT) ;## SET HEADER AND FILE AREA LENGTHS
1987 402017' 047 01 0 00 000024 GETPPN A, ;## SET REQUESTING PPN
1988 402020' 300 00 0 00 000000 CAI ;## WEIRD SKIP RETURN ON THIS UUO
1989 402021' 202 01 0 07 000004 MOVEM A,Q.PPN(TT)
1990 402022' 400 10 0 00 000000 SETZ REL, ;## CLEAR REG FOR FILE AREA
1991 402023' 201 01 0 00 000020 MOVEI A,20 ;## PRIORITY DEFAULT
1992 402024' 202 01 0 07 000007 MOVEM A,Q.PRI(TT)
1993 402025' 354 00 0 07 000001 AOSA Q.OPR(TT) ;## SET DEFAULT FOR REQUEST TYPE=/CREATE
1994 ;## BASIC LOOP FOR HANDLING THE SWITCHES
1995
1996 402026' 550 06 0 06 000000 QLOOP: HRRZ T,(T) ;## HERE IF ROUTINE DID NOT MOVE ARG
1997 402027' 322 06 0 00 402211' QSELF: JUMPE T,QDONE
1998 402030' 260 14 0 00 401175' PUSHJ P,DEVCHK ;## SEE IF DEVICE OR ATOMIC FILE NAME?
1999 402031' 326 02 0 00 402133' JUMPN B,QFILEA ;## IF B#0 THEN DEVICE
2000 402032' 326 01 0 00 402136' JUMPN A,QFILE ;## IF A#0 THEN ATOMIC FILE
2001 402033' 554 03 0 06 000000 HLRZ C,(T) ;## WELL, SEE IF SWITCH
2002 402034' 550 01 0 03 000000 HRRZ A,(C) ;## CDAR
2003 402035' 260 14 0 00 403701' PUSHJ P,ATOM ;## ATOM?
2004 402036' 326 01 0 00 402136' JUMPN A,QFILE ;## YES, THEREFORE(FILE.EXT)
2005 402037' 554 02 0 03 000000 HLRZ B,(C) ;## CAAR
2006 402040' 275 02 0 11 000000 SUBI B,(S) ;## STRIP OFF RELOCATION
2007 402041' 551 03 0 00 000005 HRRZI C,NSWS ;## GET NUMBER OF SWITCHES
2008 402042' 361 03 0 00 402136' QLOOP1: SOJL C,QFILE ;## IF NO SWITCH, GO QFILE
2009 402043' 200 01 0 03 402046' MOVE A,QTABLE(C) ;## GET MEMBER OF TABLE
2010 402044' 265 13 0 00 402317' JSP R,CHKGO
2011 402045' 254 00 0 00 402042' JRST .-3 ;## LOOP
2012
2013
2014 ;## DISPATCH TABLE FOR SWITCHES
2015
2016 402046' QTABLE:
2017 000001 PHASE 1
2018 000001 402070' 003276' XWD QCOPIE,COPIES ;## /COPIES
2019 000002 402053' 003262' XWD QCPU,CPU ;## /CPU
2020 000003 402055' 003266' XWD QFORMS,FORMS ;## /FORMS
2021 000004 402061' 003272' XWD QLIMIT,LIMIT ;## /LIMIT
2022 000005 402073' 003256' QTABL1: XWD QDISP,DISP ;## /DISP (FILE DISPOSITION)
2023
2024 ;## EXTENDED SWITCHES
2025
2026 IFN QSWEXT <
2027 IFE QLSTOK <XWD QILLSW, LISTAT>
2028 IFN QLSTOK <XWD QLIST, LISTAT>
2029
2030 IFE QTIME <
2031 XWD QILLSW,AFTER ;## /AFTER ILLEGAL (SEE ABOVE)
2032 XWD QILLSW,DEAD ;## /DEAD (DEADLINE)
2033 >
2034
2035 IFN QTIME <
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-50
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
2036 XWD QAFTR,AFTER
2037 XWD QDEAD,DEAD
2038 >
2039 XWD QCORE,COREAT
2040 XWD QMOD,MODIFY ;## /MODIFY
2041 XWD QKILL,KILL ;## /KILL
2042 XWD QJOB,JOB ;## /JOB
2043 XWD QDEPND,DEPEND ;## /DEPEND
2044 XWD QRSTR,RSTRT ;## /RESTART
2045 XWD QUNIQ,UNIQUE ;## /UNIQUE
2046 XWD QCORE,COREAT ;## /COREE
2047 XWD QPAGES,PAGES ;## /PAGES
2048 XWD QPLOT,PLOT ;## /PLOT
2049 XWD QPTAPE,PTAPE ;## /PTAPE
2050 XWD QCARDS,CARDS ;## /CARDS
2051 XWD QSEQ,SEQ ;## /SEQ
2052 XWD QPRIOR,PRIOR ;## /PRIOR (PRIORITY)
2053 XWD QSPACE,SPACE ;## /SPACE (SPACING)
2054 XWD QLIMIT,LIMIT ;## /LIMIT
2055 QTABL2: XWD QHEAD,HEAD ;## /HEAD (HEADERS)
2056 >
2057 402053' DEPHASE
2058
2059 ;## DISPATCHING THE VARIOUS SWITCHES
2060
2061 IFN QSWEXT <QLIST: HRRZI A,4 ;## HERE FOR LIST REQUEST
2062 CAIA
2063 QMOD: HRRZI A, 5 ;## /MODIFY
2064 CAIA
2065 QKILL: HRRZI A, 6 ;## /KILL
2066 HRRZM A, Q.OPR(TT)
2067 JRST QLOOP
2068 >
2069
2070 ;## INPUT QUEUE ONLY SWITCHES
2071 ;## PUTS BYTE POINTER INTO B AND THEN CHECKS TO SEE IF SWITCH VALID IN
2072 ;## THIS CONTEXT (I.E. ARE WE PROCESSING AN INPUT REQUEST?)
2073 ;## IF NOT VALID, SKIPS THE SWITCH(MAY BE CHANGED LATER)
2074
2075 IFN QSWEXT <
2076 QPLOT: JSP R,RINPCH
2077 AOJA B, QCARD+1
2078 QPTAPE: JSP R, LINPCH
2079 AOJA B, .+4
2080 QCARDS: JSP R, RINPCH
2081 AOJA B, .+4
2082 QPAGES: JSP R, LINPCH
2083 AOJA B, .+4
2084 >
2085
2086 402053' 265 13 0 00 402121' QCPU: JSP R, RINPCH
2087 402054' 344 02 0 00 402114' AOJA B,QARG
2088
2089
2090 IFN QSWEXT <
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-51
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
2091 QCORE: JSP R, LINPCH
2092 AOJA B,QARG
2093 QDEPND: JSP R, RINPCH
2094 JRST QARG
2095 >
2096
2097 ;## OUTPUT QUEUE ONLY SWITCHES
2098 402055' 265 13 0 00 402064' QFORMS: JSP R, OUTCHK
2099 402056' 261 14 0 00 402305' PUSH P,QSXARG ;## CONVERT ARG TO SIXBIT
2100 402057' 202 01 0 07 000020 MOVEM A, Q.OFRM(TT) ;## MAKE SIXBIT IF FORMS
2101 402060' 254 00 0 00 402026' JRST QLOOP
2102 402061' 265 13 0 00 402064' QLIMIT: JSP R, OUTCHK
2103 402062' 200 02 0 00 402126' MOVE B,LINP
2104 402063' 344 02 0 00 402114' AOJA B,QARG
2105
2106 402064' 554 01 0 07 000003 OUTCHK: HLRZ A,Q.DEV(TT) ;## GET REQUEST TYPE (THREE LETTERS)
2107 402065' 302 01 0 00 515660 CAIE A,'INP' ;## ERROR IF INPUT REQUEST
2108 402066' 254 00 0 13 000000 JRST (R)
2109 402067' 254 00 0 00 401734' JRST QILLSW
2110
2111 402070' 265 13 0 00 402130' QCOPIE: JSP R, FILECH ;## CHECK IF WE HAVE SET UP A FILE AREA
2112 402071' 200 02 0 00 411430' MOVE B,[POINT 6,Q.FMOD(REL),35] ;## BYTE POINTER
2113 402072' 254 00 0 00 402114' JRST QARG
2114
2115
2116 ;## FOR DISPOSITION, 1=PRESERVE, 2=RENAME, 3=DELETE,
2117 ;## FIRST THREE LETTERS OF ARG TO SWITCH UNIQUELY IDENTIFY
2118 ;## ILLEGAL ARG CAUSES ERROR
2119 402073' 265 13 0 00 402130' QDISP: JSP R,FILECH ;## BE SURE FILE AREA SET UP
2120 402074' 260 14 0 00 402305' PUSHJ P,QSXARG ;## MAKE ARG SIXBIT
2121 402075' 554 03 0 00 000001 HLRZ C,A ;## GET FIRST THREE LETTERS
2122 402076' 400 01 0 00 000000 SETZ A, ;## CLEAR A
2123 402077' 306 03 0 00 444554 CAIN C,'DEL' ;## DELETE AFTER OUTPUT!
2124 402100' 344 01 0 00 402102' AOJA A,.+2 ;## YES!
2125 402101' 306 03 0 00 624556 CAIN C,'REN' ;## RENAME FILE OUT OF UFD?
2126 402102' 344 01 0 00 402105' AOJA A,.+3
2127 402103' 302 03 0 00 606245 CAIE C,'PRE' ;## PRESERVE IT
2128 402104' 254 00 0 00 401734' JRST QILLSW ;## HERE IF BAD ARGUMENT
2129 402105' 271 01 0 00 000001 ADDI A,1
2130 402106' 200 02 0 00 411431' MOVE B, [POINT 3, Q.FMOD(REL), 29]
2131 402107' 254 00 0 00 402115' JRST QARG+1 ;## ARG ALREADY IN A
2132 ;## HERE WHEN SWITCH DETERMINED AND BITE POINTER IN B
2133 402110' 201 01 0 06 000000 QGTARG: MOVEI A,(T)
2134 402111' 260 14 0 00 403602' PUSHJ P,CADAR
2135 402112' 275 01 0 00 577777 SUBI A,INUM0 ;## ARG SHOULD BE AN INUM
2136 402113' 263 14 0 00 000000 POPJ P,
2137 402114' 260 14 0 00 402110' QARG: PUSHJ P,QGTARG ;## GET ARGUMENT
2138 402115' 137 01 0 00 000002 DPB A,B ;##
2139 402116' 254 00 0 00 402026' JRST QLOOP ;## ALWAYS RETURN TO QLOOP
2140
2141 ;## HERE TO SEE IF INP QUEUE FOR EXTENDED PART OF MAIN AREA
2142
2143 402117' 200 02 0 00 402126' LINPCH: MOVE B,LINP ;## GET LH BITE POINTER
2144 402120' 304 00 0 00 000000 CAIA
2145 402121' 200 02 0 00 402127' RINPCH: MOVE B,RINP ;## GET RH BITE POINTER
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-52
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
2146 402122' 554 01 0 07 000003 HLRZ A,Q.DEV(TT) ;## GET QUEUE SPEC
2147 402123' 306 01 0 00 515660 CAIN A,'INP' ;## INP?
2148 402124' 254 00 0 13 000000 JRST (R) ;## YES
2149 402125' 254 00 0 00 401734' JRST QILLSW
2150 LINP: POINT 18, Q.IDEP(TT),17 ;## BYTE POINTER FOR LEFT HALF OF EXTENDED
2151 402126' 22 22 0 07 000020 MAIN AREA
2152 RINP: POINT 18, Q.IDEP(TT),35 ;## BYTE POINT FOR RH OF EXTENDED MAIN AREA
2153 402127' 00 22 0 07 000020
2154
2155
2156 ;## HERE TO BE SURE FILE AREA HAS BEEN SET UP
2157
2158 402130' 326 10 0 13 000000 FILECH: JUMPN REL,(R) ;## REL NONZERO IF FILE AREA SET UP
2159 402131' 261 14 0 00 000013 PUSH P,R
2160 402132' 254 00 0 00 402164' JRST FILARE
2161 ;## HERE TO FIND FILE SPECIFICATION
2162
2163
2164 402133' 550 06 0 06 000000 QFILEA: HRRZ T,(T) ;## GET CDR
2165 402134' 400 02 0 00 000000 SETZ B, ;## CLEAR B
2166 402135' 254 00 0 00 402143' JRST QFILEB
2167 402136' 205 01 0 00 446353 QFILE: MOVSI A,'DSK' ;## DEFAULT IS DSK
2168 402137' 302 10 0 00 000000 CAIE REL,0 ;## AREA SET UP?
2169 402140' 334 01 0 10 000000 SKIPA A,Q.FSTR(REL) ;## GET CURRENT DEVICE
2170 402141' 334 02 0 07 000004 SKIPA B,Q.PPN(TT) ;## GET USER'S PPN IF NOT SET UP
2171 402142' 200 02 0 10 000001 MOVE B,Q.FDIR(REL) ;## GET CURRENT PPN
2172 402143' 202 02 0 00 000126' QFILEB: MOVEM B,PPN ;## SET PPN
2173 402144' 202 01 0 00 000111' MOVEM A,DEV ;## HANG ON TO DEVICE
2174 402145' 322 06 0 00 402027' JUMPE T,QSELF ;## IF NIL THEN DONE
2175 402146' 260 14 0 00 401164' PUSHJ P,NXTIO ;## FAKE IOSUB SEQUENCE
2176 402147' 260 14 0 00 401217' PUSHJ P,IOPPN
2177 402150' 261 14 0 00 000001 PUSH P,A ;## IOPPN RETURNS FILE NAME IN A
2178 402151' 302 10 0 00 000000 CAIE REL,0 ;## AREA SET UP?
2179 402152' 332 00 0 10 000007 SKIPE Q.FNAM(REL) ;## AREA SET UP, BUT NO FILE NAME?(PRECEDING SWITCHES)
2180 402153' 260 14 0 00 402164' PUSHJ P,FILARE ;## SET UP AREA
2181 402154' 200 01 0 00 000111' MOVE A,DEV ;## GET DEVICEE
2182 402155' 202 01 0 10 000000 MOVEM A,Q.FSTR(REL) ;## SET FILE STRUCTURE
2183 402156' 200 01 0 00 000124' MOVE A,EXT ;## GET EXTENSION
2184 402157' 202 01 0 10 000010 MOVEM A,Q.FEXT(REL) ;## SET IT
2185 402160' 200 01 0 00 000126' MOVE A,PPN ;## GET PPN
2186 402161' 202 01 0 10 000001 MOVEM A,Q.FDIR(REL)
2187 ;## SET IT(DIRECTORY)
2188 402162' 262 14 0 10 000007 POP P,Q.FNAM(REL) ;## RESTORE NAME
2189 402163' 254 00 0 00 402027' JRST QSELF ;## T HAS BEEN RESET BY IO ROUTINES!
2190
2191
2192
2193 ;## HERE TO SET UP FILE AREA
2194
2195
2196 402164' 350 00 0 07 000002 FILARE: AOS Q.LEN(TT) ;## ADD ONE TO NUMBER FILES IN REQUEST
2197 402165' 515 01 0 00 000016 HRLZI A,FILPAR
2198 402166' 270 07 0 00 000001 ADD TT,A ;## ADD TO LENGTH OF PARAMETER AREA
2199 402167' 551 01 0 00 000016 HRRZI A,FILPAR
2200 402170' 260 14 0 00 402274' PUSHJ P,EXPCOR
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-53
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
2201 402171' 322 10 0 00 402201' JUMPE REL,FILDEF ;## SET DEFAULST IF NO PREVIOUS FILE AREA
2202 402172' 504 01 0 00 000010 HRL A,REL
2203 402173' 551 02 0 01 000000 HRRZI B,(A) ;## SET UP FOR BLT OF PREVIOUS AREA
2204 402174' 271 02 0 00 000015 ADDI B,FILPAR-1 ;## FINAL DESTINATION ADDRESS
2205 402175' 551 10 0 01 000000 HRRZI REL,(A) ;## NEW FILE AREA
2206 402176' 251 01 0 02 000000 BLT A,(B)
2207 402177' 402 00 0 10 000007 SETZM Q.FNAM(REL)
2208 402200' 263 14 0 00 000000 POPJ P,
2209 402201' 551 10 0 01 000000 FILDEF: HRRZI REL,(A)
2210 402202' 505 01 0 00 000016 HRLI A,FILPAR
2211 402203' 260 14 0 00 402310' PUSHJ P,CLRBLK
2212 402204' 515 01 0 00 446353 HRLZI A,'DSK'
2213 402205' 202 01 0 10 000000 MOVEM A,Q.FSTR(REL)
2214 402206' 200 01 0 00 411432' MOVE A,[EXP 1B5+1B20+1B26+1B29+1] ;## DEFAULTS FOR Q.FMOD
2215 402207' 202 01 0 10 000013 MOVEM A,Q.FMOD(REL)
2216 402210' 263 14 0 00 000000 POPJ P,
2217
2218 ;## HERE WHEN FINISHED
2219
2220
2221 402211' 200 04 0 07 000033 QDONE: MOVE AR1,OUTPAR+Q.FNAM(TT) ;## GET FIRST FILE NAME
2222 402212' 554 01 0 07 000003 HLRZ A,Q.DEV(TT) ;## GET FIRST THREE LETTERS OF Q AGAIN
2223 402213' 302 01 0 00 515660 CAIE A,'INP' ;## INPUT QUEUE?
2224 402214' 254 00 0 00 402226' JRST QDONEB ;## NO
2225 402215' 200 04 0 07 000041 MOVE AR1,INPPAR+Q.FNAM(TT) ;## GET CORRCT FILE NAME
2226 402216' 550 01 0 07 000002 HRRZ A,Q.LEN(TT) ;## GET NUMBER OF FILES SPECIFIED
2227 402217' 367 01 0 00 402224' SOJG A,QDONEC ;## GREATER THAN ONE MEANS THAT USER
2228 ;## SPECIFIED A LOG FILE
2229 402220' 260 14 0 00 402164' PUSHJ P,FILARE ;## WE HAVE TO SET UP LOG FILE
2230 402221' 551 01 0 00 545747 HRRZI A,'LOG' ;## CHANGE EXTENSION TO .LOG
2231 402222' 516 01 0 10 000010 HRLZM A,Q.FEXT(REL)
2232 402223' 202 04 0 10 000007 MOVEM AR1,Q.FNAM(REL) ;## SET TO INP FILE NAME
2233 402224' 541 01 0 00 000003 QDONEC: HRRI A,3
2234 402225' 137 01 0 00 411433' DPB A,[POINT 2,INPPAR+FILPAR+Q.FMOD(TT),2];## SET BITS
2235 ;## INDICATING LOG FILE AND DOESN'T EXIST
2236 ;## (AVOIDS ERROR MSGS FROM QMANGR)
2237 ;## IN SECOND FILE IN CASE USER STUPIDLY SET
2238 ;## UP MORE THAN TWO
2239 402226' 332 00 0 07 000005 QDONEB: SKIPE Q.JOB(TT) ;## SPECIFIED NAME
2240 402227' 254 00 0 00 402231' JRST QDONE1 ;## YES, DONE
2241 402230' 202 04 0 07 000005 MOVEM AR1,Q.JOB(TT)
2242 402231' 200 03 0 00 411434' QDONE1: MOVE C,[EXP 'QMANGR'];## SEGMENT NAME
2243 402232' 201 02 0 00 400010 MOVEI B,400010
2244 402233' 200 01 0 00 000007 MOVE A,TT
2245 402234' 260 14 0 00 402237' PUSHJ P,NEWHI
2246 402235' 260 14 0 00 402276' PUSHJ P,CONCOR ;## CONTRACT CORE
2247 402236' 254 00 0 00 404013' JRST FALSE ;## RETURN NIL
2248
2249
2250 ;## ROUTINE TO SWAP HI-SEGMENTS. REGISTER A CONTAINS ARG TO NEXT HI-SEG, B CONTAINS
2251 ;## LOCATION TO JUMP TO IN NEW HI-SEG. REGS ARE ARG BLOCK TO GETSEG UUO
2252 ;## TO THE GET SEG
2253
2254 402237' 261 14 0 00 000017 NEWHI: PUSH P,SP ;## HAVE TO SAVE SP, SINCE MOST
2255 ;## SYSTEM PROGS USE 17 FOR THEIR PDL
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-54
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
2256 402240' 202 01 0 00 000504' MOVEM A,HIARGS# ;## SAVE ARG TO HI-SEG
2257 402241' 552 02 0 00 000503' HRRZM B,HIADDR# ;## SAVE ADDR TO HI-SEG
2258 402242' 261 14 0 00 401565* PUSH P,JOBFF ;%% SAVE OLD VALUE
2259 ;%% (DON'T ASK WHY)
2260 402243' 554 02 0 00 000001 HLRZ B,A ;%% CALCULATE NEW VALUE
2261 402244' 271 02 0 01 000001 ADDI B,1(A) ;%%
2262 402245' 202 02 0 00 402242* MOVEM B,JOBFF ;%% RESET SO QMANGR WON'T WRITE
2263 ;%% OVER ARGUMENT BLOCK.
2264 ;%% JUST BECAUSE LISP IGNORES JOBFF
2265 ;%% DOESN'T MEAN ANYONE ELSE DOES
2266 402246' 202 14 0 00 000551' MOVEM P,PSAVE# ;## SAVE P (CAN'T USE SP)
2267 402247' 200 17 0 00 000014 MOVE SP,P ;## USE RPDL
2268 402250' 551 01 0 00 000146' HRRZI A,OLDHI ;## REE WILL RESTORE AND CONTINUE
2269 402251' 202 01 0 00 000000* MOVEM A,JOBREN
2270 402252' 202 01 0 00 402251* MOVEM A,JOBREN ;## SET FAKE REE ADDRESS
2271 402253' 515 02 0 00 637163 HRLZI B,'SYS' ;## SYS: IS LOCATION OF NEW HI-SEG
2272 402254' 201 01 0 00 000002 MOVEI A,B ;## B IS STARTING LOCATION OF BLOCK TO GETSEG
2273 402255' 403 04 0 00 000005 SETZB AR1,AR2A ;## CLEAR REST OF BLOCK
2274 402256' 403 06 0 00 000007 SETZB T,TT ;## DITTO
2275 402257' 202 17 0 00 000556' MOVEM SP,SAVSP# ;## SAVE SP AROUND GETSEG (WHICH CLOBBERS ACS)
2276 402260' 254 00 0 00 000141' JRST NEWHI1 ;## GO DO IT
2277
2278 ;## HERE TO GET THAT HI-SEG
2279
2280 REMOTE <
2281 NEWHI1: CALLI A,GETSEG
2282 JRST @JOBREN ;## FAILED JOBREN HAS LOC OF RESTORE LISP HI-SEG
2283 MOVE SP,SAVSP
2284 MOVE A,HIARGS
2285 PUSHJ SP,@HIADDR ;## JUMP TO HI-SEG
2286 OLDHI: MOVEI A,HGHDAT
2287 CALLI A,GETSEG
2288 HALT ;## YOU'RE DEAD IF YOU ARE HERE
2289 ENDHI: JRST RESTOR ;## JUMP TO RESTORE THINGS
2290 >
2291
2292
2293 402261' 200 14 0 00 000551' RESTOR: MOVE P,PSAVE
2294 402262' 262 14 0 00 402245* POP P,JOBFF ;%% RESTORE OLD VALUE
2295 402263' 262 14 0 00 000017 POP P,SP
2296 402264' 200 00 0 00 000573' MOVE 0,STNIL
2297 402265' 200 11 0 00 000441' MOVE S,ATMOV
2298 402266' 551 01 0 00 400002' HRRZI A,DEBUGO
2299 402267' 202 01 0 00 402252* MOVEM A,JOBREN
2300 402270' 263 14 0 00 000000 POPJ P,
2301
2302
2303 402271' 550 02 0 00 000453' TEMCOR: HRRZ B,CORUSE ;## GET CURRENT CORUSE. THIS ROUTINE EXPANDS CORE
2304 ;## BUT SAVE INFO SO THAT IT CAN BE CONTRACTED LATER
2305 402272' 504 02 0 00 401323* HRL B,JOBREL ;## GET CURRENT CORE EXTENT
2306 402273' 202 02 0 00 000535' MOVEM B,OLDCU ;## SAVE IT (SEE LOADER INTERFACE)
2307 402274' 400 12 0 00 000000 EXPCOR: SETZ D, ;## D IS A RELOC REG
2308 402275' 254 00 0 00 410256' JRST MORCOR ;## EXPAND CORE
2309
2310 402276' 204 02 0 00 000535' CONCOR: MOVS B,OLDCU ;## CONTRACTS CORE, OPPOSITE TEMCOR
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-55
UCILSP MAC 27-MAR-75 17:13 QMANGR INTERFACE
2311 402277' 556 02 0 00 000453' HLRZM B,CORUSE
2312 402300' 551 02 0 02 000000 HRRZI B,(B) ;## CLEAR LH
2313 402301' 260 14 0 00 410223' PUSHJ P,MOVDWN ;## MOVE SYMBOL TABLE
2314 402302' 047 02 0 00 000011 CALLI B,CORE ;## CONTRACT (B SHOULD BE UNCHANGED
2315 402303' 300 00 0 00 000000 CAI
2316 402304' 263 14 0 00 000000 POPJ P, ;## DONE
2317
2318
2319 402305' 201 01 0 06 000000 QSXARG: MOVEI A,(T)
2320 402306' 260 14 0 00 403602' PUSHJ P,CADAR ;## GET ARGUMENT TO SWITCH
2321 402307' 254 00 0 00 401143' JRST SIXMAK ;## CONVERT IT TO SIXBIT
2322
2323
2324
2325 402310' 402 00 0 01 000000 CLRBLK: SETZM (A) ;## CLEAR FIRST WORD
2326 402311' 554 02 0 00 000001 HLRZ B,A ;## LH OF A CONTAINS LENGTH
2327 402312' 270 02 0 00 000001 ADD B,A
2328 402313' 504 01 0 00 000001 HRL A,A
2329 402314' 340 01 0 00 000000 AOJ A, ;## RH NOW CONTAINS SOURCE+1
2330 402315' 251 01 0 02 777777 BLT A,-1(B) ;## BLT CLEARS BLOCK
2331 402316' 263 14 0 00 000000 POPJ P,
2332 ;## PICKUP
2333
2334
2335 402317' 306 02 0 01 000000 CHKGO: CAIN B,(A) ;## SEE IF RH(A)=(B)
2336 402320' 554 13 0 00 000001 HLRZ R,A ;## WHERE TO GO
2337 402321' 254 00 0 13 000000 JRST (R) ;## NO, RETURN
2338 >
2339
2340 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-56
UCILSP MAC 27-MAR-75 17:13 PRINT
2341 SUBTTL PRINT
2342
2343 402322' 336 00 0 00 000033' EPRINT: SKIPN ERRSW
2344 402323' 263 14 0 00 000000 POPJ P,
2345 402324' 260 14 0 00 400465' PUSHJ P,ERRIO
2346 402325' 260 14 0 00 402327' PUSHJ P,PRINT
2347 402326' 254 00 0 00 400457' JRST OUTRET
2348
2349 402327' 201 13 0 00 401074' PRINT: MOVEI R,TYO
2350 402330' 260 14 0 00 402501' PUSHJ P,TERPRI
2351 402331' 260 14 0 00 402335' PUSHJ P,PRIN1
2352 402332' 256 00 0 00 402507' XCT " ",CTY
2353 402333' 263 14 0 00 000000 POPJ P,
2354
2355 402334' 334 13 0 00 402335' PRINC: SKIPA R,.+1
2356 402335' 551 13 0 00 401074' PRIN1: HRRZI R,TYO
2357 402336' 261 14 0 00 000001 PUSH P,A
2358 402337' 260 14 0 00 402341' PUSHJ P,PRINTA
2359 402340' 254 00 0 00 405717' JRST POPAJ
2360
2361 402341' 261 14 0 00 000001 PRINTA: PUSH P,A
2362 402342' 201 02 0 00 402461' MOVEI B,PRIN3
2363 402343' 335 00 0 00 000013 SKIPGE R
2364 402344' 201 02 0 00 402463' MOVEI B,PRIN4
2365 402345' 542 02 0 00 000544' HRRM B,PRIN5
2366 402346' 260 14 0 00 403676' PUSHJ P,PATOM
2367 402347' 326 01 0 00 402366' JUMPN A,PRINT1
2368 402350' 256 10 0 00 402507' XCT "(",CTY
2369 402351' 554 01 1 14 000000 PRINT3: HLRZ A,@(P)
2370 402352' 260 14 0 00 402341' PUSHJ P,PRINTA
2371 402353' 550 01 1 14 000000 HRRZ A,@(P)
2372 402354' 322 01 0 00 402364' JUMPE A,PRINT2
2373 402355' 202 01 0 14 000000 MOVEM A,(P)
2374 402356' 256 00 0 00 402507' XCT " ",CTY
2375 402357' 260 14 0 00 403676' PUSHJ P,PATOM
2376 402360' 322 01 0 00 402351' JUMPE A,PRINT3
2377 402361' 256 16 0 00 402507' XCT ".",CTY
2378 402362' 256 00 0 00 402507' XCT " ",CTY
2379 402363' 260 14 0 00 402370' PUSHJ P,PRIN1A
2380 402364' 256 11 0 00 402507' PRINT2: XCT ")",CTY
2381 402365' 254 00 0 00 405717' JRST POPAJ
2382
2383 402366' 260 14 0 00 402370' PRINT1: PUSHJ P,PRIN1A
2384 402367' 254 00 0 00 405717' JRST POPAJ
2385 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-57
UCILSP MAC 27-MAR-75 17:13 PRINT
2386 402370' 200 01 0 14 777777 PRIN1A: MOVE A,-1(P)
2387 402371' 303 01 0 00 377777 CAILE A,INUMIN
2388 402372' 254 00 0 00 402422' JRST PRINIC
2389 402373' 322 01 0 00 402377' JUMPE A,PRIN1B
2390 402374' 305 01 1 00 000476' CAIGE A,@GCP1
2391 402375' 305 01 1 00 000376' CAIGE A,@GCPP1
2392 402376' 254 00 0 00 402415' JRST PRINL
2393 402377' 550 01 0 01 000000 PRIN1B: HRRZ A,(A)
2394 402400' 322 01 0 00 402415' JUMPE A,PRINL
2395 402401' 554 02 0 01 000000 HLRZ B,(A)
2396 402402' 550 01 0 01 000000 HRRZ A,(A)
2397 402403' 306 02 0 11 003734' CAIN B,PNAME(S)
2398 402404' 254 00 0 00 402444' JRST PRINN
2399 402405' 306 02 0 11 003740' CAIN B,FIXNUM(S)
2400 402406' 254 00 0 00 402421' JRST PRINI1
2401 402407' 306 02 0 11 003744' CAIN B,FLONUM(S)
2402 402410' 254 02 1 00 411435' JRSTF @[XWD 0,PRINO] ; TURN OFF DIVIDE CHECK AND UNDERFLOW
2403 402411' 254 00 0 00 402377' BPR: JRST PRIN1B ;bignums change here to JRST BPRINT
2404 402412' 254 00 0 00 402377' JRST PRIN1B
2405
2406 402413' 201 13 0 00 401074' PRINL2: MOVEI R,TYO
2407 402414' 254 00 0 00 402417' JRST PRINL1
2408
2409 402415' 256 03 0 00 402507' PRINL: XCT "#",CTY
2410 402416' 550 01 0 14 777777 HRRZ A,-1(P)
2411 402417' 201 03 0 00 000010 PRINL1: MOVEI C,8
2412 402420' 254 00 0 00 402436' JRST PRINI3
2413
2414 402421' 334 01 0 01 000000 PRINI1: SKIPA A,(A)
2415 402422' 275 01 0 00 577777 PRINIC: SUBI A,INUM0
2416 402423' 550 03 0 11 003731' HRRZ C,VBASE(S)
2417 402424' 275 03 0 00 577777 SUBI C,INUM0
2418 402425' 325 01 0 00 402430' JUMPGE A,PRINI2
2419 402426' 256 15 0 00 402507' XCT "-",CTY
2420 402427' 213 00 0 00 000001 MOVNS A
2421 402430' 201 02 0 00 777776 PRINI2: MOVEI B,"."-"0"
2422 402431' 506 02 0 14 000000 HRLM B,(P)
2423 402432' 306 03 0 00 000012 CAIN C,TEN
2424 402433' 332 00 0 11 002705' SKIPE %NOPOINT(S)
2425 402434' 254 00 0 00 402436' JRST .+2
2426 402435' 261 14 0 00 402443' PUSH P,PRINI4
2427 PRINI3: JUMPL A,[ MOVEI B,0 ;case of -2^35
2428 MOVEI A,1
2429 DIVI A,(C)
2430 402436' 321 01 0 00 411436' JRST .+2]
2431 402437' 231 01 0 03 000000 IDIVI A,0(C)
2432 402440' 506 02 0 14 000000 HRLM B,(P)
2433 402441' 332 00 0 00 000001 SKIPE A
2434 402442' 260 14 0 00 402437' PUSHJ P,.-3
2435 402443' 254 00 0 00 402575' PRINI4: JRST FP7A1
2436
2437 402444' 554 01 0 01 000000 PRINN: HLRZ A,(A)
2438 402445' 201 03 0 17 000002 MOVEI C,2(SP)
2439 402446' 260 14 0 00 403306' PUSHJ P,PNAMU3
2440 402447' 261 03 0 00 411345' PUSH C,[0]
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-58
UCILSP MAC 27-MAR-75 17:13 PRINT
2441 402450' 505 03 0 00 000700 HRLI C,(POINT 7,0,35)
2442 402451' 541 03 0 17 000002 HRRI C,2(SP)
2443 402452' 134 01 0 00 000003 ILDB A,C
2444 402453' 322 01 0 00 404014' JUMPE A,CPOPJ ;special case of null character
2445 402454' 306 01 0 00 000042 CAIN A,DBLQT
2446 402455' 254 00 0 00 402467' JRST PSTR ;string
2447 402456' 135 02 0 00 411442' PRIN2X: LDB B,[POINT 1,CHRTAB(A),1]
2448 402457' 321 13 0 00 402463' JUMPL R,PRIN4 ;never slash
2449 402460' 254 00 0 02 402462' JRST PRIN2(B) ;1 for no slash
2450
2451 402461' 331 00 0 01 000161' PRIN3: SKIPL CHRTAB(A) ;<0 for no slash
2452 402462' 256 17 0 00 402507' PRIN2: XCT "/",CTY
2453 402463' 260 14 0 13 000000 PRIN4: PUSHJ P,(R)
2454 402464' 134 01 0 00 000003 ILDB A,C
2455 402465' 326 01 1 00 000544' JUMPN A,@PRIN5#
2456 402466' 263 14 0 00 000000 POPJ P,
2457
2458 402467' 204 02 0 03 000000 PSTR: MOVS B,(C)
2459 402470' 306 02 0 00 210000 CAIN B,(<ASCII /"/>)
2460 402471' 254 00 0 00 402456' JRST PRIN2X ;special case of /"
2461 402472' 331 00 0 00 000013 PSTR3: SKIPL R ;dont print " if no slashify
2462 402473' 260 14 0 13 000000 PSTR2: PUSHJ P,(R)
2463 402474' 134 01 0 00 000003 ILDB A,C
2464 402475' 302 01 0 00 000042 CAIE A,DBLQT
2465 402476' 326 01 0 00 402473' JUMPN A,PSTR2
2466 402477' 326 01 0 00 402472' JUMPN A,PSTR3
2467 402500' 263 14 0 00 000000 POPJ P,
2468
2469 402501' 261 14 0 00 000001 TERPRI: PUSH P,A
2470 402502' 201 01 0 00 000015 MOVEI A,CR
2471 402503' 260 14 0 00 401074' PUSHJ P,TYO
2472 402504' 201 01 0 00 000012 MOVEI A,LF
2473 402505' 260 14 0 00 401074' PUSHJ P,TYO
2474 402506' 254 00 0 00 405717' JRST POPAJ
2475
2476 402507' 266 01 0 00 000152' CTY: JSA A,TYOI
2477 REMOTE<
2478 TYOI: X
2479 JRST TYOI2>
2480 402510' 261 14 0 00 000001 TYOI2: PUSH P,A
2481 402511' 135 01 0 00 411443' LDB A,[POINT 6,-1(A),ACFLD]
2482 402512' 260 14 0 13 000000 PUSHJ P,(R)
2483 402513' 262 14 0 00 000001 POP P,A
2484 402514' 267 01 0 01 000000 JRA A,(A)
2485
2486 402515' 200 01 0 01 000000 PRINO: MOVE A,(A)
2487 402516' 403 02 0 00 000003 CLEARB B,C
2488 402517' 327 01 0 00 402523' JUMPG A,FP1
2489 402520' 322 01 0 00 402527' JUMPE A,FP3
2490 402521' 213 00 0 00 000001 MOVNS A
2491 402522' 256 15 0 00 402507' XCT "-",CTY
2492 402523' 315 01 0 00 402614' FP1: CAMGE A,FT01
2493 402524' 254 00 0 00 402546' JRST FP4
2494 402525' 311 01 0 00 402602' CAML A,FT8
2495 402526' 344 02 0 00 402546' AOJA B,FP4
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-59
UCILSP MAC 27-MAR-75 17:13 PRINT
2496
2497 402527' 225 01 0 00 000400 FP3: MULI A,400
2498 402530' 244 02 0 01 777535 ASHC B,-243(A)
2499 402531' 200 01 0 00 000002 MOVE A,B
2500 402532' 402 00 0 00 000466' CLEARM FPTEM#
2501 402533' 260 14 0 00 402567' PUSHJ P,FP7
2502 402534' 256 16 0 00 402507' XCT ".",CTY
2503 402535' 211 06 0 00 000010 MOVNI T,8
2504 402536' 270 06 0 00 000466' ADD T,FPTEM
2505 402537' 200 02 0 00 000003 MOVE B,C
2506
2507 402540' 200 01 0 00 000002 FP3A: MOVE A,B
2508 402541' 225 01 0 00 000012 MULI A,TEN
2509 402542' 260 14 0 00 402576' PUSHJ P,FP7B
2510 402543' 332 00 0 00 000002 SKIPE B
2511 402544' 341 06 0 00 402540' AOJL T,FP3A
2512 402545' 263 14 0 00 000000 POPJ P,
2513
2514 402546' 211 03 0 00 000006 FP4: MOVNI C,6
2515 402547' 201 07 0 00 000000 MOVEI TT,0
2516 402550' 271 07 0 07 000001 FP4A: ADDI TT,1(TT)
2517 402551' 256 00 0 02 402615' XCT FCP(B)
2518 402552' 624 07 0 00 000001 TRZA TT,1
2519 402553' 164 01 1 02 402616' FMPR A,@FCP+1(B)
2520 402554' 346 03 0 00 402550' AOJN C,FP4A
2521 402555' 261 14 0 00 000007 PUSH P,TT
2522 402556' 211 02 0 02 777776 MOVNI B,-2(B)
2523 402557' 137 02 0 00 411444' DPB B,[POINT 2,FP4C,34]
2524 402560' 260 14 0 00 402527' PUSHJ P,FP3
2525 402561' 201 01 0 00 000105 MOVEI A,"E"
2526 402562' 260 14 0 13 000000 PUSHJ P,(R)
2527 402563' 200 01 0 00 000465' MOVE A,FP4C#
2528 402564' 435 01 0 00 000051 IORI A,51
2529 402565' 260 14 0 13 000000 PUSHJ P,(R)
2530 402566' 262 14 0 00 000001 POP P,A
2531 402567' 322 01 0 00 402575' FP7: JUMPE A,FP7A1
2532 402570' 231 01 0 00 000012 IDIVI A,TEN
2533 402571' 350 00 0 00 000466' AOS FPTEM
2534 402572' 506 02 0 14 000000 HRLM B,(P)
2535 402573' 322 01 0 00 402575' JUMPE A,FP7A1
2536 402574' 260 14 0 00 402567' PUSHJ P,FP7
2537
2538 402575' 574 01 0 14 000000 FP7A1: HLRE A,(P)
2539 402576' 271 01 0 00 000060 FP7B: ADDI A,"0"
2540 402577' 254 00 0 13 000000 JRST (R)
2541
2542 402600' 353473 426555 353473426555 ;1e32
2543 402601' 266434 157116 266434157116 ;1e16
2544 402602' 233575 360400 FT8: 1.0E8
2545 402603' 216470 400000 1.0E4
2546 402604' 207620 000000 1.0E2
2547 402605' 204500 000000 1.0E1
2548 402606' 201400 000000 FT: 1.0E0
2549 402607' 026637 304365 026637304365 ;1e-32
2550 402610' 113715 126246 113715126246 ;1e-16
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-60
UCILSP MAC 27-MAR-75 17:13 PRINT
2551 402611' 146527 461671 146527461671 ;1e-8
2552 402612' 163643 334273 163643334273 ;1e-4
2553 402613' 172507 534122 172507534122 ;1e-2
2554 402614' 175631 463146 FT01: 175631463146 ;1e-1
2555 402615' FT0:
2556 402615' 313 01 0 03 402615' FCP: CAMLE A,FT0(C)
2557 402616' 315 01 0 03 402606' CAMGE A,FT(C)
2558 402617' 000003 402615' XWD C,FT0
2559
2560 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-61
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2561 SUBTTL SUPER FAST TABLE DRIVEN READ 14-MAY-69
2562
2563 ;magic scanner table bit definitions
2564
2565 ;bit 0=0 iff slashified as nth id character
2566 ;bit 1=0 iff slashified as 1st id character
2567 ;bits 2-5 ratab index
2568 ;bits 6-8 dotab index
2569 ;bits 9-10 strtab index
2570 ;bits 11-13 idtab index
2571 ;bits 14-16 exptab index
2572 ;bits 17-19 rdtab index
2573 ;bits 20-25 ascii to radix 50 conversion
2574
2575 REMOTE<
2576 IGSTRT: IGCRLF
2577 IGEND: LF
2578
2579 RATFLD: POINT 4,CHRTAB(A),5
2580 STRFLD: POINT 2,CHRTAB(A),10
2581 IDFLD: POINT 3,CHRTAB(A),13
2582 >
2583 402620' DOTFLD:
2584 402620' 33 03 0 01 000161' NUMFLD: POINT 3,CHRTAB(A),8
2585 402621' 23 03 0 01 000161' EXPFLD: POINT 3,CHRTAB(A),16
2586 402622' 20 03 0 01 000161' RDFLD: POINT 3,CHRTAB(A),19
2587 402623' 12 06 0 01 000161' R50FLD: POINT 6,CHRTAB(A),25
2588
2589 ;magic state flags in t
2590 000001 EXP==1 ;exponent
2591 000002 NEXP==2 ;negative exponent
2592 000004 SAWDOT==4 ;saw a dot (.)
2593 000010 MINSGN==10 ;negative number
2594
2595 000000 IDCLS==0 ;identifier
2596 000001 STRCLS==1 ;string
2597 000002 NUMCLS==2 ;number
2598 000003 DELCLS==3 ;delimiter
2599
2600 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-62
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2601 ;macros for scanner table
2602
2603 DEFINE RAD50 (X)<
2604 IFB <X>,<R50VAL=0>
2605 IFLE <"X"-"9">,<IFGE <"X"-"0">,<R50VAL="X"-"0"+1>>
2606 IFIDN <"X"><".">,<R50VAL=45>
2607 IFGE <"X"-"A">,<R50VAL="X"-"A"+13>>
2608
2609 DEFINE TABIN (S1,SN,R,D,S,I,E,RD,R50)<
2610 XLIST
2611 IRPC R50< RAD50 (R50)
2612 BYTE (1)S1,SN(4)R(3)D(2)S(3)I,E,RD(6)R50VAL>
2613 LIST>
2614
2615 DEFINE LET (X)<
2616 TABIN (1,1,5,2,3,4,2,0,X)>
2617
2618 DEFINE DELIMIT (X,Y)<
2619 TABIN (0,0,2,2,3,2,2,Y,X)>
2620
2621 DEFINE IGNORE (X)<
2622 TABIN (0,0,3,2,3,2,2,0,X)>
2623 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-63
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2624 REMOTE<CHRTAB:
2625 TABIN (0,0,1,1,1,1,1,0,< >)
2626 ;null
2627 LET (< >)
2628 IGNORE (< >)
2629 ;tab,lf,vtab,ff,cr
2630 LET (< >)
2631 ;16 to 30
2632 TABIN (0,0,0,0,0,0,0,0,< >)
2633 ;igmrk
2634 TABIN (0,0,0,0,0,0,0,0,< >)
2635 ;32 THE OLD IGMRK, WILL ALLOW THE CHAR. TO WORK ON READS BUT NOT TYI
2636 IFE ALTMOD-33 <
2637 DELIMIT (< >,3)
2638 > ;%% NEW ALTMODE (5S06 MONITOR)
2639 IFN ALTMOD-33 <
2640 LET (< >)
2641 > ;%% OLD ALTMODE (5S04 OR EARLIER MONITOR)
2642 LET (< >)
2643 ;## 34 TO 37
2644 IGNORE (< >)
2645 ;space
2646 LET (< >)
2647 ;!
2648 TABIN (0,0,9,2,2,2,2,0,< >)
2649 ;"
2650 LET (< $% >)
2651 ;#$%&'
2652 DELIMIT (< >,0)
2653 DELIMIT (< >,1)
2654 ;()
2655 LET (< >)
2656 ;*
2657 TABIN (1,1,14,2,3,4,2,0,< >)
2658 ;+
2659 IGNORE (< >)
2660 ;,
2661 TABIN (1,1,6,2,3,4,2,0,< >)
2662 ;-
2663 TABIN (0,0,7,3,3,2,2,4,<.>)
2664 TABIN (0,0,4,2,3,3,2,0,< >)
2665 ;/
2666 TABIN (1,0,8,5,3,4,3,0,<0123456789>)
2667 LET (< >)
2668 ;:;<=>?
2669 TABIN (1,0,2,2,3,4,2,5,< >)
2670 ;@
2671 LET (<ABCD>)
2672 TABIN (1,1,5,4,3,4,2,0,<E>)
2673 LET (<FGHIJKLMNOPQRSTUVWXYZ>)
2674 DELIMIT (< >,2)
2675 ;[
2676 LET (< >)
2677 ;\
2678 DELIMIT (< >,3)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-64
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2679 ;]
2680 LET (< >)
2681 ;^_`
2682 LET (<ABCDEFGHIJKLMNOPQRSTUVWXYZ>)
2683 ;lower case
2684 LET (< >)
2685 ;{|
2686 IFE ALTMOD-175 <
2687 DELIMIT (< >,3)
2688 > ;%% OLD ALTMODE (5S04 MONITOR)
2689 IFN ALTMOD-175 <
2690 LET (< >)
2691 > ;%% } - ORDINARY CHARACTER (5S06 MONITOR)
2692 LET (< >)
2693 ;~
2694 DELIMIT (< >,6)
2695 ;rubout
2696 >
2697 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-65
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2698 402624' 260 14 0 00 400745' READCH: PUSHJ P,TYI
2699 402625' 205 04 0 00 000004 MOVSI AR1,AR1
2700 402626' 260 14 0 00 405325' PUSHJ P,EXPL1
2701 402627' 254 00 0 00 403605' JRST CAR
2702
2703 402630' 402 00 0 00 000531' READP1: SETZM NOINFG
2704 402631' 261 14 0 00 000034' READ0: PUSH P,TYI2
2705 402632' 261 14 0 00 000044' PUSH P,OLDCH
2706 402633' 402 00 0 00 000044' SETZM OLDCH#
2707 402634' 505 01 0 00 254000 HRLI A,(JRST)
2708 402635' 202 01 0 00 000034' MOVEM A,TYI2
2709 402636' 260 14 0 00 402652' PUSHJ P,READ+1
2710 402637' 262 14 0 00 000044' POP P,OLDCH
2711 402640' 262 14 0 00 000034' POP P,TYI2
2712 402641' 263 14 0 00 000000 POPJ P,
2713
2714 402642' 476 00 0 00 000531' RDNAM: SETOM NOINFG ;## READ ROUTINE THAT DOES NOT INTERN
2715 402643' 254 00 0 00 402652' JRST READ+1 ;##
2716
2717 402644' 201 01 0 00 000015 RDRUB: MOVEI A,CR
2718 402645' 260 14 0 00 401132' PUSHJ P,TTYO
2719 402646' 201 01 0 00 000012 MOVEI A,LF
2720 402647' 260 14 0 00 401132' PUSHJ P,TTYO
2721 402650' 334 14 0 00 000550' SKIPA P,PSAV#
2722 402651' 402 00 0 00 000531' READ: SETZM NOINFG# ;0 means intern
2723 402652' 202 14 0 00 000550' MOVEM P,PSAV
2724 402653' 260 14 0 00 402656' PUSHJ P,READ1
2725 402654' 402 00 0 00 000550' SETZM PSAV
2726 402655' 263 14 0 00 000000 POPJ P,
2727
2728 402656' 260 14 0 00 402740' READ1: PUSHJ P,RATOM
2729 402657' 263 14 0 00 000000 POPJ P, ;atom
2730 402660' 256 00 0 02 402662' XCT RDTAB2(B)
2731 402661' 254 00 0 00 402656' JRST READ1 ;try again
2732
2733 402662' 254 00 0 00 402670' RDTAB2: JRST READ2 ;0 (
2734 402663' 255 00 0 00 000000 JFCL ;1 )
2735 402664' 254 00 0 00 402723' JRST READ4 ;2 [
2736 402665' 255 00 0 00 000000 JFCL ;3 ],$
2737 402666' 255 00 0 00 000000 JFCL ;4 .
2738 402667' 254 00 0 00 402732' JRST RDQT ;5 @
2739
2740 402670' 260 14 0 00 402740' READ2: PUSHJ P,RATOM
2741 402671' 254 00 0 00 402673' JRST READ2A ;atom
2742 402672' 256 00 0 02 402677' XCT RDTAB(B)
2743
2744 402673' 261 14 0 00 000001 READ2A: PUSH P,A
2745 402674' 260 14 0 00 402670' PUSHJ P,READ2
2746 402675' 262 14 0 00 000002 POP P,B
2747 402676' 254 00 0 00 403660' JRST XCONS
2748
2749 402677' 260 14 0 00 402670' RDTAB: PUSHJ P,READ2 ;0 (
2750 402700' 254 00 0 00 404013' JRST FALSE ;1 )
2751 402701' 260 14 0 00 402723' PUSHJ P,READ4 ;2 [
2752 402702' 254 00 0 00 402730' JRST READ5 ;3 ],$
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-66
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2753 402703' 254 00 0 00 402711' JRST RDT ;4 .
2754 402704' 260 14 0 00 402732' PUSHJ P,RDQT ;5 @
2755
2756 402705' 260 14 0 00 402740' RDTX: PUSHJ P,RATOM
2757 402706' 263 14 0 00 000000 POPJ P, ;atom
2758 402707' 256 00 0 02 402662' XCT RDTAB2(B)
2759 402710' 254 00 0 00 400712' JRST DOTERR ;dot context error
2760
2761 402711' 260 14 0 00 402705' RDT: PUSHJ P,RDTX
2762 402712' 261 14 0 00 000001 PUSH P,A
2763 402713' 260 14 0 00 402740' PUSHJ P,RATOM
2764 402714' 254 00 0 00 400712' JRST DOTERR
2765 402715' 306 02 0 00 000001 CAIN B,1
2766 402716' 254 00 0 00 405717' JRST POPAJ
2767 402717' 302 02 0 00 000003 CAIE B,3
2768 402720' 254 00 0 00 400712' JRST DOTERR
2769 402721' 202 01 0 00 000044' MOVEM A,OLDCH
2770 402722' 254 00 0 00 405717' JRST POPAJ
2771
2772
2773 402723' 260 14 0 00 402670' READ4: PUSHJ P,READ2
2774 402724' 200 02 0 00 000044' MOVE B,OLDCH
2775 402725' 302 02 0 00 000033 CAIE B,ALTMOD
2776 402726' 402 00 0 00 000044' TYI1: SETZM OLDCH ;kill the ]
2777 402727' 263 14 0 00 000000 POPJ P,
2778
2779 402730' 202 01 0 00 000044' READ5: MOVEM A,OLDCH ;save ] or $
2780 402731' 254 00 0 00 404013' JRST FALSE ;and return nil
2781
2782
2783 402732' 260 14 0 00 402656' RDQT: PUSHJ P,READ1
2784 402733' 254 00 0 00 400315' JRST QTIFY
2785 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-67
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2786 ;atom parser
2787
2788 402734' 260 14 0 00 400756' COMMENT: PUSHJ P,TYID
2789 402735' 312 01 0 00 000155' CAME A,IGEND
2790 402736' 254 00 0 00 402734' JRST COMMENT
2791 402737' 263 14 0 00 000000 POPJ P,
2792
2793 402740' 332 00 0 00 000566' RATOM: SKIPE SMAC# ;$$ CHECK FOR A SPLICE MACRO LIST
2794 402741' 254 00 0 00 403205' JRST PSMAC ;$$ GET ITEM FROM SPLICE MACRO LIST
2795 402742' 403 06 0 00 000013 SETZB T,R
2796 402743' 505 03 0 00 000700 HRLI C,(POINT 7,0,35)
2797 402744' 541 03 0 17 000000 HRRI C,(SP)
2798 402745' 202 03 0 00 000537' MOVEM C,ORGSTK# ;SAVE FOR BACKING UP ON + AND -
2799 402746' 201 04 0 00 000001 MOVEI AR1,1
2800 402747' 260 14 0 00 400754' RATOM2: PUSHJ P,TYIA
2801 402750' 135 02 0 00 000156' LDB B,RATFLD
2802 402751' 254 00 0 02 402752' JRST RATAB(B)
2803
2804 402752' 260 14 0 00 402734' RATAB: PUSHJ P,COMMENT ;0 comment
2805 402753' 254 00 0 00 402747' JRST RATOM2 ;1 null
2806 402754' 254 00 0 00 402771' JRST RATOM3 ;2 delimit
2807 402755' 254 00 0 00 402747' JRST RATOM2 ;3 ignore
2808 402756' 260 14 0 00 400745' PUSHJ P,TYI ;4 /
2809 402757' 254 00 0 00 403033' JRST RDID ;5 letter
2810 402760' 254 00 0 00 403231' JRST RDNMIN ;6 -
2811 402761' 254 00 0 00 402775' JRST RDOT ;7 .
2812 402762' 254 00 0 00 403221' JRST RDNUM ;8 digit
2813 402763' 254 00 0 00 403015' JRST RDSTR ;9 string
2814 402764' 254 00 0 00 403166' JRST RMACRO ;10 MACRO
2815 402765' 254 00 0 00 403202' JRST SMACRO ;11 SPLICE MACRO
2816 402766' 254 00 0 00 403232' JRST RDNPLS ;12 +
2817
2818 ;a real dotted pair
2819 402767' 202 01 0 00 000044' RDOT2: MOVEM A,OLDCH
2820 402770' 200 01 0 00 000536' MOVE A,ORGSGN ;ORGSGN NORMALLY CONTAINS A "." AT THIS POINT
2821 402771' 135 02 0 00 402622' RATOM3: LDB B,RDFLD
2822 402772' 541 13 0 00 000003 HRRI R,DELCLS ;delimiter
2823 402773' 350 00 0 14 000000 AOS (P) ;non-atom (ie a delimiter)
2824 402774' 263 14 0 00 000000 POPJ P,
2825
2826 ;dot handler
2827 402775' 202 01 0 00 000536' RDOT: MOVEM A,ORGSGN ;INCASE SOMETHING ELSE DEFINED AS "."
2828 402776' 260 14 0 00 400756' PUSHJ P,TYID
2829 402777' 135 02 0 00 402620' LDB B,DOTFLD
2830 403000' 254 00 0 02 403001' JRST DOTAB(B)
2831
2832 403001' 260 14 0 00 402734' DOTAB: PUSHJ P,COMMENT ;0 comment
2833 403002' 254 00 0 00 402776' JRST RDOT+1 ;1 null
2834 403003' 254 00 0 00 402767' JRST RDOT2 ;2 delimit
2835 403004' 254 00 0 00 402767' JRST RDOT2 ;3 dot
2836 403005' 254 00 0 00 402767' JRST RDOT2 ;4 e
2837 403006' 201 02 0 00 000000 MOVEI B,0 ;5 digit
2838 403007' 136 02 0 00 000003 IDPB B,C
2839 403010' 661 06 0 00 000004 TLO T,SAWDOT
2840 403011' 254 00 0 00 403221' JRST RDNUM
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-68
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2841 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-69
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2842 ;string scanner
2843 403012' 260 14 0 00 402734' STRTAB: PUSHJ P,COMMENT ;0 comment
2844 403013' 254 00 0 00 403016' JRST RDSTR+1 ;1 null
2845 403014' 254 00 0 00 403021' JRST STR2 ;2 delimit
2846 403015' 136 01 0 00 000003 RDSTR: IDPB A,C ;3 string element
2847 403016' 260 14 0 00 400756' PUSHJ P,TYID
2848 403017' 135 02 0 00 000157' LDB B,STRFLD
2849 403020' 254 00 0 02 403012' JRST STRTAB(B)
2850
2851 403021' 201 01 0 00 000042 STR2: MOVEI A,DBLQT
2852 403022' 541 13 0 00 000001 HRRI R,STRCLS ;string
2853 403023' 136 01 0 00 000003 IDPB A,C
2854 403024' 260 14 0 00 403260' NOINTR: PUSHJ P,IDEND ;no intern
2855 403025' 260 14 0 00 403313' PUSHJ P,IDSUB
2856 403026' 254 00 0 00 403365' JRST PNAMAK
2857
2858
2859 ;identifier scanner
2860 403027' 260 14 0 00 402734' IDTAB: PUSHJ P,COMMENT ;0
2861 403030' 254 00 0 00 403034' JRST RDID+1 ;1 null
2862 403031' 254 00 0 00 403265' JRST MAKID ;2 delimit
2863 403032' 260 14 0 00 400745' PUSHJ P,TYI ;3 /
2864 403033' 136 01 0 00 000003 RDID: IDPB A,C ;4 letter or digit
2865 403034' 260 14 0 00 400756' PUSHJ P,TYID
2866 403035' 135 02 0 00 000160' LDB B,IDFLD
2867 403036' 254 00 0 02 403027' JRST IDTAB(B)
2868 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-70
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2869 ;LINEREAD - RETURNS ALL THE EXPRESSIONS ON ONE LINE AS A LIST
2870 ;
2871 403037' 260 14 0 00 402651' LINRD: PUSHJ P,READ
2872 403040' 550 02 0 00 000001 HRRZ B,A
2873 403041' 332 00 0 00 000566' SKIPE SMAC ;CHECK THE SPLICE LIST
2874 403042' 254 00 0 00 403077' JRST LRMORE
2875 403043' 336 01 0 00 000044' SKIPN A,OLDCH
2876 403044' 260 14 0 00 400756' LRTY: PUSHJ P,TYID ;NEED A CHARACTER
2877 403045' 202 01 0 00 000044' MOVEM A,OLDCH ;SAVE IT
2878 403046' 135 03 0 00 000156' LDB C,RATFLD ;THIS KLUDGE IS TO AVOID MAKING ANOTHER TABLE ENTRY
2879 403047' 306 03 0 00 000007 CAIN C,7 ;SPECIAL CHECK FOR "."
2880 403050' 254 00 0 00 403104' JRST LRTY1 ;IGNORE IT
2881 403051' 303 03 0 00 000003 CAILE C,3 ;ELIMINATE MOST POSSIBILITIES
2882 403052' 254 00 0 00 403077' JRST LRMORE ;MORE ON THE LINE
2883 403053' 322 03 0 00 403075' JUMPE C,LREND ;END LINE ON COMMENT - THINK ABOUT IT, ITS RIGHT
2884 403054' 135 03 0 00 402622' LDB C,RDFLD
2885 403055' 254 00 0 03 403056' JRST LR1(C)
2886 403056' 254 00 0 00 403065' LR1: JRST LPIG ;0 MORE TO FIGURE OUT
2887 403057' 254 00 0 00 403104' JRST LRTY1 ;1 IGNORE
2888 403060' 254 00 0 00 403077' JRST LRMORE ;2 MORE ON THE LINE
2889 403061' 275 01 0 00 000033 SUBI A,ALTMOD ;3 CHECK ALTMOD
2890 403062' 326 01 0 00 403104' JUMPN A,LRTY1 ;4 IGNORE "]" AND "."
2891 403063' 326 01 0 00 403077' JUMPN A,LRMORE ;5 MORE ON "@"
2892 403064' 254 00 0 00 403075' JRST LREND
2893 403065' 306 01 0 00 000050 LPIG: CAIN A,"(" ;THESE SPECIAL CHECK COULD SCREW UP READ MACROS
2894 403066' 254 00 0 00 403077' JRST LRMORE
2895 403067' 302 01 0 00 000011 CAIE A,TAB
2896 403070' 301 01 0 00 000040 CAIL A,40 ;READ MORE IF SPACE, COMMA, OR TAB
2897 JRST [ HRLI B,-1 ;SET SPQCE FLAG AND TRY AGAIN
2898 403071' 254 00 0 00 411445' JRST LRTY]
2899 403072' 302 01 0 00 000015 CAIE A,CR ;ALWAYS IGNORE CR.S
2900 403073' 623 02 0 00 777777 TLZE B,-1 ;EOL - IF SPACE FLAG THEN DO A PEEKC
2901 403074' 254 00 0 00 403044' JRST LRTY
2902 403075' 550 01 0 00 000002 LREND: HRRZ A,B ;FINALLY GOT THERE
2903 403076' 254 00 0 00 403657' JRST NCONS
2904 403077' 505 02 0 00 000000 LRMORE: HRLI B,0
2905 403100' 261 14 0 00 000002 PUSH P,B ;MORE TO GO, PUSH
2906 403101' 260 14 0 00 403037' PUSHJ P,LINRD ;AND CALL YOURSELF
2907 403102' 262 14 0 00 000002 POP P,B
2908 403103' 254 00 0 00 403660' JRST XCONS
2909 403104' 505 02 0 00 000000 LRTY1: HRLI B,0 ;CLEAR SPACE FLAG
2910 403105' 254 00 0 00 403044' JRST LRTY
2911
2912 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-71
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2913
2914 ;## FUNCTIONS TO READ A FILE.EXT
2915 ;## READ A FILE.EXT FROM THE UFD
2916
2917 403106' 256 00 0 00 000034' FLTYIA: XCT TYI2 ;## GET NEXT WORD, IGNORE OLDCH
2918 JRST [SETZ AR1,
2919 403107' 254 00 0 00 411447' JRST TYI2X ] ;%% INPUT SOME MORE, CLEARING TEST REG.
2920 403110' 134 01 1 00 000601' ILDB A,@TYI3 ;## AND LOAD WORD
2921 403111' 263 14 0 00 000000 POPJ P,
2922
2923
2924 403112' 260 14 0 00 403106' RDFIL1: PUSHJ P,FLTYIA ;## FILE NAME NOT THERE, SKIP OVER EXT
2925 403113' 402 00 0 00 000531' RDFILE: SETZM NOINFG ;## ## INTERN
2926 403114' 260 14 0 00 403106' PUSHJ P,FLTYIA ;## GET FILE NAME WORD
2927 403115' 260 14 0 00 403126' PUSHJ P,SIXATM ;## MAKE IT AN ATOM
2928 403116' 321 01 0 00 403112' JUMPL A,RDFIL1 ;## A=-1 IF EMPTY
2929 403117' 261 14 0 00 000001 PUSH P,A
2930 403120' 260 14 0 00 403106' PUSHJ P,FLTYIA ;## GET EXTENSION
2931 403121' 541 01 0 00 000000 HRRI A,0 ;## CLEAR RH
2932 403122' 260 14 0 00 403126' PUSHJ P,SIXATM
2933 403123' 321 01 0 00 405717' JUMPL A,POPAJ ;## NO EXTENSION, RETURN
2934 403124' 262 14 0 00 000002 POP P,B ;## GET FILE BACK
2935 403125' 254 00 0 00 403660' JRST XCONS ;## RETURN FILE.EXT
2936
2937 ;## ROUTINE TO TAKE ONE WORD OF SIXBIT AND MAKE IT AN ATOM
2938 ;## IGNORES TRAILING BLANKS, BUT INCLUDES INSERTED BLANKS. NO
2939 ;## READ MACROS, ETC.
2940
2941 403126' 336 02 0 00 000001 SIXATM: SKIPN B,A
2942 403127' 254 00 0 00 403142' JRST SXATER ;## INDICATE WORD EMPTY
2943 403130' 201 06 0 00 000005 MOVEI T,5 ;## OF CHS PERMISSIBLE IN FULL WORD
2944 ;## NAME T=0 IF FIRST WORD DONE
2945 403131' 200 04 0 00 411451' MOVE AR1,[POINT 6,B,5] ;## AR1 HAS PTR TO LOAD BYTE
2946 ;## FROM B TO C
2947 403132' 260 14 0 00 403144' PUSHJ P,SIXAT1 ;## MAKE THE PNAME LIST
2948 403133' 260 14 0 00 403657' PUSHJ P,NCONS
2949 403134' 201 02 0 11 003734' MOVEI B,PNAME(S) ;## MAKE PNAME
2950 403135' 260 14 0 00 403660' PUSHJ P,XCONS
2951 403136' 260 14 0 00 403656' PUSHJ P,ACONS ;## VOILA, AN ATOM
2952 403137' 332 00 0 00 000531' SKIPE NOINFG ;## NOINFG=0 MEANS INTERN
2953 403140' 263 14 0 00 000000 POPJ P,
2954 403141' 254 00 0 00 403506' JRST INTERN
2955
2956 403142' 474 01 0 00 000000 SXATER: SETO A, ;## RETURN -1 IN A IF B EMPTY
2957 403143' 263 14 0 00 000000 POPJ P,
2958 403144' 200 05 0 00 411452' SIXAT1: MOVE AR2A,[POINT 7,0,35] ;## POINTER TO MOVE C TO A
2959 403145' 400 01 0 00 000000 SETZ A, ;## CLEAR A
2960 403146' 400 03 0 00 000000 SIXAT2: SETZ C,
2961 403147' 322 02 0 00 403160' JUMPE B,SIXDON ;## DONE IF B EMPTY
2962 403150' 135 03 0 00 000004 LDB C,AR1
2963 403151' 242 02 0 00 000006 LSH B,6 ;## LEFT SHIFT B, REMAINING CH'S IN B
2964 403152' 541 03 0 03 000040 HRRI C,40(C) ;## ADD 40 TO C
2965 403153' 136 03 0 00 000005 IDPB C,AR2A ;## PUT IT IN A
2966 403154' 367 06 0 00 403146' SOJG T,SIXAT2 ;## IF T>0, STILL IN FIRST WORD OF PNAME
2967 403155' 260 14 0 00 403767' SIXAT3: PUSHJ P,FWCONS
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-72
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2968 403156' 261 14 0 00 000001 PUSH P,A
2969 403157' 254 00 0 00 403144' JRST SIXAT1 ;## TRY FOR THAT SIXTH CH.
2970 403160' 326 01 0 00 403155' SIXDON: JUMPN A,SIXAT3 ;## IF A NOT EMTPY, DO ANOTHER FWCONS AND
2971 ;## END UP HERE WITH A=0.
2972 403161' 262 14 0 00 000001 POP P,A
2973 403162' 260 14 0 00 403657' PUSHJ P,NCONS
2974 403163' 325 06 0 00 404014' JUMPGE T,CPOPJ ;## IF T>=0, THEN ONLY ONE WORD
2975 403164' 262 14 0 00 000002 POP P,B
2976 403165' 254 00 0 00 403660' JRST XCONS ;## DONE
2977 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-73
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
2978 ;NEW AND SUPER BITCHEN READ MACROS
2979 ;
2980 403166' RMACRO:
2981 IFN ALVINE,<
2982 SKIPE PSAV1 ;$$ ARE WE IN ALVINE?
2983 JRST RATOM2 ;$$ YES, IGNORE>
2984 403166' 136 01 0 00 000003 RMAC2: IDPB A,C ;$$ CONVERT THE CHAR. TO AN ATOM
2985 403167' 260 14 0 00 403260' PUSHJ P,IDEND ;$$
2986 403170' 260 14 0 00 403271' PUSHJ P,INTER0 ;$$
2987 403171' 202 01 0 00 000006 MOVEM A,T ;$$ SAVE ATOM IN CASE OF ERROR
2988 403172' 201 02 0 11 003510' MOVEI B,READMACRO(S) ;$$ GET THE FUNCTION NAME
2989 403173' 260 14 0 00 404037' PUSHJ P,GET ;$$
2990 403174' 322 01 0 00 400701' JUMPE A,RMERR ;$$ UNDEFINED READ MACRO
2991 403175' 260 14 0 00 403657' PUSHJ P,NCONS ;$$ CONVERT TO A FORM
2992 403176' 261 14 0 00 000550' PUSH P,PSAV ;$$
2993 403177' 260 14 0 00 405505' PUSHJ P,EVAL ;$$ EVALUATE THE FORM
2994 403200' 262 14 0 00 000550' POP P,PSAV ;$$
2995 403201' 263 14 0 00 000000 POPJ P, ;$$ RETURN
2996
2997 ;SPECIAL PROCESSING OF SPLICE MACROS
2998 403202' SMACRO:
2999 IFN ALVINE,<
3000 SKIPE PSAV1 ;$$ ARE WE IN ALVINE?
3001 JRST RATOM2 ;$$ YES, IGNORE>
3002 403202' 260 14 0 00 403166' PUSHJ P,RMAC2 ;$$ EVALUATE THE MACRO
3003 403203' 202 01 0 00 000566' MOVEM A,SMAC ;$$ SAVE THE SPLICE LIST
3004 403204' 254 00 0 00 402740' JRST RATOM ;$$ START OVER
3005
3006 ;GET AN ITEM OFF OF THE SPLICE LIST
3007 403205' 200 01 0 00 000566' PSMAC: MOVE A,SMAC ;$$
3008 403206' 260 14 0 00 403701' PUSHJ P,ATOM ;$$ IS SPLICE LIST AN ATOM?
3009 JUMPN A,[ MOVE A,SMAC ;$$ YES, SIMULATE . <ATOM>
3010 PUSHJ P,NCONS ;$$
3011 MOVEM A,SMAC ;$$
3012 MOVEI B,4 ;$$
3013 403207' 326 01 0 00 411453' JRST RATOM3+1] ;$$
3014 403210' 200 02 1 00 000566' MOVE B,@SMAC ;$$
3015 403211' 554 01 0 00 000002 HLRZ A,B ;$$ RETURN NEXT ITEM OF SPLICE LIST
3016 403212' 552 02 0 00 000566' HRRZM B,SMAC ;$$ ADVANCE SPLICE LIST
3017 403213' 263 14 0 00 000000 POPJ P, ;$$ RETURN
3018 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-74
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3019 ;number scanner
3020 403214' 260 14 0 00 402734' NUMTAB: PUSHJ P,COMMENT ;0 comment
3021 403215' 254 00 0 00 403222' JRST RDNUM+1 ;1 null
3022 403216' 254 00 0 00 403403' JRST NUMAK ;2 delimit
3023 403217' 254 00 0 00 403225' JRST RDNDOT ;3 dot
3024 403220' 254 00 0 00 403234' JRST RDE ;4 e
3025 403221' 136 01 0 00 000003 RDNUM: IDPB A,C ;5 digit
3026 403222' 260 14 0 00 400756' PUSHJ P,TYID
3027 403223' 135 02 0 00 402620' LDB B,NUMFLD
3028 403224' 254 00 0 02 403214' JRST NUMTAB(B)
3029
3030 403225' 663 06 0 00 000004 RDNDOT: TLOE T,SAWDOT
3031 403226' 254 00 0 00 403403' JRST NUMAK ;two dots - delimit
3032 403227' 201 01 0 00 000000 MOVEI A,0
3033 403230' 254 00 0 00 403221' JRST RDNUM
3034
3035 403231' 661 06 0 00 000010 RDNMIN: TLO T,MINSGN
3036 403232' 202 01 0 00 000536' RDNPLS: MOVEM A,ORGSGN# ;SAVE SIGN IN CASE OF BACKUP
3037 403233' 254 00 0 00 403222' JRST RDNUM+1
3038
3039 ;exponent scanner
3040 403234' 312 03 0 00 000537' RDE: CAME C,ORGSTK ;FOR +E AND -E TYPE OF ATOMS
3041 403235' 254 00 0 00 403240' JRST .+3
3042 403236' 202 01 0 00 000044' MOVEM A,OLDCH
3043 403237' 254 00 0 00 403407' JRST KLDG1
3044 403240' 661 06 0 00 000001 TLO T,EXP
3045 403241' 201 01 0 00 000000 MOVEI A,0
3046 403242' 136 01 0 00 000003 IDPB A,C
3047 403243' 260 14 0 00 400756' PUSHJ P,TYID
3048 403244' 306 01 0 00 000055 CAIN A,"-"
3049 403245' 665 06 0 00 000002 TLOA T,NEXP
3050 403246' 306 01 0 00 000053 CAIN A,"+"
3051 403247' 254 00 0 00 403255' JRST RDE2+1
3052 403250' 254 00 0 00 403256' JRST RDE2+2
3053
3054 403251' 260 14 0 00 402734' EXPTAB: PUSHJ P,COMMENT ;0
3055 403252' 254 00 0 00 403255' JRST RDE2+1 ;1 null
3056 403253' 254 00 0 00 403403' JRST NUMAK ;2 delimit
3057 403254' 136 01 0 00 000003 RDE2: IDPB A,C ;3 digit
3058 403255' 260 14 0 00 400756' PUSHJ P,TYID
3059 403256' 135 02 0 00 402621' LDB B,EXPFLD
3060 403257' 254 00 0 02 403251' JRST EXPTAB(B)
3061 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-75
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3062 ;semantic routines
3063 ;identifier interner and builder
3064
3065 403260' 634 01 0 00 000001 IDEND: TDZA A,A
3066 403261' 136 01 0 00 000003 IDEND1: IDPB A,C
3067 403262' 603 03 0 00 760000 TLNE C,760000
3068 403263' 254 00 0 00 403261' JRST IDEND1
3069 403264' 263 14 0 00 000000 POPJ P,
3070
3071 403265' 202 01 0 00 000044' MAKID: MOVEM A,OLDCH
3072 403266' 260 14 0 00 403260' PUSHJ P,IDEND
3073 403267' 332 00 0 00 000531' SKIPE NOINFG
3074 403270' 254 00 0 00 403024' JRST NOINTR ;dont intern it
3075 403271' 260 14 0 00 403313' INTER0: PUSHJ P,IDSUB
3076 403272' 260 14 0 00 403323' PUSHJ P,INTER1 ;is it in oblist
3077 403273' 263 14 0 00 000000 POPJ P, ;found
3078 403274' 260 14 0 00 403365' PUSHJ P,PNAMAK ;not there
3079 403275' 200 03 0 00 000455' MAKID2: MOVE C,CURBUC# ;
3080 403276' 554 02 1 00 000362' HLRZ B,@RHX2
3081 403277' 260 14 0 00 403661' PUSHJ P,CONS ;cons it into the oblist
3082 403300' 506 01 1 00 000362' HRLM A,@RHX2
3083 403301' 254 00 0 00 403605' JRST CAR
3084
3085 ;pname unmaker
3086 403302' PNAMUK:
3087 403302' 201 02 0 11 003734' MOVEI B,PNAME(S)
3088 403303' 260 14 0 00 404037' PUSHJ P,GET
3089 403304' 322 01 0 00 400722' JUMPE A,NOPNAM
3090 403305' 200 03 0 00 000017 MOVE C,SP
3091 403306' 554 02 0 01 000000 PNAMU3: HLRZ B,(A)
3092 403307' 261 03 0 02 000000 PUSH C,(B)
3093 403310' 550 01 0 01 000000 HRRZ A,(A)
3094 403311' 326 01 0 00 403306' JUMPN A,PNAMU3
3095 403312' 263 14 0 00 000000 POPJ P,
3096
3097 ;idsub constructs a iowd pointer for a print name
3098 403313' 553 00 0 00 000003 IDSUB: HRRZS C
3099 403314' 311 03 0 00 000514' CAML C,JRELO ;top of spec pdl
3100 403315' 254 00 0 00 400165' JRST SPDLOV
3101 403316' 213 00 0 00 000003 MOVNS C
3102 403317' 271 03 0 17 000000 ADDI C,(SP)
3103 403320' 505 03 0 17 000001 HRLI C,1(SP)
3104 403321' 206 03 0 00 000506' MOVSM C,IDPTR#
3105 403322' 263 14 0 00 000000 POPJ P,
3106
3107 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-76
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3108 ;identifier interner
3109 403323' 200 02 0 17 000001 INTER1: MOVE B,1(SP) ;get first word of pname
3110 403324' 242 02 0 00 777777 LSH B,-1 ;right justify it
3111 403325' 230 02 0 00 000361' IDIV B,INT1 ;compute hash code
3112 REMOTE<
3113 INT1: BCKETS
3114 RHX2:
3115 XXX1: XWD B+1,OBTBL>
3116 403326' 261 14 0 00 000003 PUSH P,C ;## SAVE C
3117 403327' 550 03 0 11 003730' HRRZ C,VOBLIST(S) ;## THIS GETS THE CURRENT VALUE OF OBLIST(THE ATOM)
3118 403330' 542 03 0 00 000362' HRRM C,RHX2 ;## ASSUMES THAT ALL REFERENCE TO OBLIST GOES
3119 403331' 542 03 0 00 000363' HRRM C,RHX5 ;## IE INTERN, REMOB ETC GOES THROUGH THIS SECTION.
3120 403332' 262 14 0 00 000003 POP P,C ;##RHX2 AND RHX5 ARE HOPEFULLY THE ONLY TWO WORDS
3121 ;##WHICH ARE USED TO REFERENCE TABLE 3/28/73
3122 403333' 554 07 1 00 000362' HLRZ TT,@RHX2 ;get bucket
3123 403334' 202 03 0 00 000455' MOVEM B+1,CURBUC ;save bucket number
3124 403335' 200 06 0 00 000007 MOVE T,TT
3125 403336' 254 00 0 00 403341' JRST MAKID1
3126
3127 403337' 200 07 0 00 000006 MAKID3: MOVE TT,T ;save previous atom
3128 403340' 550 06 0 06 000000 HRRZ T,(T) ;get next atom
3129 403341' 322 06 0 00 404010' MAKID1: JUMPE T,CPOPJ1 ;not in oblist
3130 403342' 554 01 0 06 000000 HLRZ A,(T) ;next id in oblist
3131 403343' 201 02 0 11 003734' MAKID4: MOVEI B,PNAME(S) ;## USE GET FOR GETTING PNAME
3132 403344' 260 14 0 00 404037' PUSHJ P,GET ;## (GET ATOM @PNAME)
3133 403345' 322 01 0 00 400722' JUMPE A,NOPNAM ;## NO PRINT NAME
3134 403346' 200 03 0 00 000506' MOVE C,IDPTR ;found pname
3135 403347' 322 01 0 00 403337' MAKID5: JUMPE A,MAKID3 ;not the one
3136 403350' 204 01 0 01 000000 MOVS A,(A)
3137 403351' 200 02 0 01 000000 MOVE B,(A)
3138 403352' 412 04 0 03 000000 ANDCAM AR1,(C) ;clear low bit
3139 403353' 312 02 0 03 000000 CAME B,(C)
3140 403354' 254 00 0 00 403337' JRST MAKID3 ;not the one
3141 403355' 554 01 0 00 000001 HLRZ A,A ;ok so far
3142 403356' 253 03 0 00 403347' AOBJN C,MAKID5
3143 403357' 326 01 0 00 403337' JUMPN A,MAKID3 ;not the one
3144 403360' 554 01 0 06 000000 HLRZ A,(T) ;this is it
3145 403361' 554 02 0 07 000000 HLRZ B,(TT)
3146 403362' 506 01 0 07 000000 HRLM A,(TT)
3147 403363' 506 02 0 06 000000 HRLM B,(T)
3148 403364' 263 14 0 00 000000 POPJ P,
3149
3150 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-77
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3151 ;pname builder
3152 403365' 200 06 0 00 000506' PNAMAK: MOVE T,IDPTR
3153 403366' 260 14 0 00 403657' PUSHJ P,NCONS
3154 403367' 200 07 0 00 000001 MOVE TT,A
3155 403370' 200 03 0 00 000001 MOVE C,A
3156 403371' 200 01 0 06 000000 PNAMB: MOVE A,(T)
3157 403372' 620 01 0 00 000001 TRZ A,1 ;clear low bit!!!!!
3158 403373' 260 14 0 00 403767' PUSHJ P,FWCONS
3159 403374' 260 14 0 00 403657' PUSHJ P,NCONS
3160 403375' 542 01 0 07 000000 HRRM A,(TT)
3161 403376' 200 07 0 00 000001 MOVE TT,A
3162 403377' 253 06 0 00 403371' AOBJN T,PNAMB
3163 403400' 200 01 0 00 000003 MOVE A,C
3164 403401' 517 00 0 01 000000 HRLZS (A)
3165 403402' 254 00 0 00 403654' JRST PNGNK1+1
3166 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-78
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3167 ;number builder
3168 403403' 202 01 0 00 000044' NUMAK: MOVEM A,OLDCH
3169 403404' 541 13 0 00 000002 HRRI R,NUMCLS ;number
3170 403405' 312 03 0 00 000537' CAME C,ORGSTK ;BIG KLUDGE FOR + AND -
3171 403406' 254 00 0 00 403413' JRST .+5
3172 403407' 200 01 0 00 000536' KLDG1: MOVE A,ORGSGN ;ENTER HERE TO BACK UP IN THE CASE OF +E OR -E
3173 403410' 136 01 0 00 000003 IDPB A,C
3174 403411' 260 14 0 00 400754' PUSHJ P,TYIA
3175 403412' 254 00 0 00 403035' JRST RDID+2
3176 403413' 201 01 0 00 000000 MOVEI A,0
3177 403414' 136 01 0 00 000003 IDPB A,C
3178 403415' 136 01 0 00 000003 IDPB A,C
3179 403416' 553 00 0 00 000003 HRRZS C
3180 403417' 311 03 0 00 000514' CAML C,JRELO ;top of spec pdl
3181 403420' 254 00 0 00 400165' JRST SPDLOV
3182 403421' 205 03 0 00 000700 MOVSI C,(POINT 7,0,35)
3183 403422' 541 03 0 17 000000 HRRI C,(SP)
3184 403423' 603 06 0 00 000005 TLNE T,SAWDOT+EXP
3185 403424' 254 00 0 00 403434' JRST NUMAK2 ;decimal number or flt pt
3186 403425' 200 01 0 11 003732' MOVE A,VIBASE(S) ;ibase integrer
3187 403426' 275 01 0 00 577777 SUBI A,INUM0
3188 403427' 260 14 0 00 403475' PUSHJ P,NUM
3189 403430' NUMAK4:
3190 403430' 201 02 0 11 003740' MOVEI B,FIXNUM(S)
3191 403431' 603 06 0 00 000010 NUMAK6: TLNE T,MINSGN
3192 403432' 213 00 0 00 000001 MOVNS A
3193 403433' 254 00 0 00 405057' JRST MAKNUM
3194
3195 403434' 260 14 0 00 403474' NUMAK2: PUSHJ P,NUM10
3196 403435' 202 01 0 00 000007 MOVEM A,TT
3197 403436' 607 06 0 00 000004 TLNN T,SAWDOT
3198 JRST [ PUSHJ P,FLOAT ;flt pt without fraction
3199 MOVE TT,A
3200 403437' 254 00 0 00 411460' JRST NUMAK3]
3201 403440' 260 14 0 00 403474' PUSHJ P,NUM10 ;fraction part
3202 403441' 250 01 0 00 000007 EXCH A,TT
3203 403442' 607 06 0 00 000001 TLNN T,EXP
3204 403443' 322 05 0 00 403430' JUMPE AR2A,NUMAK4 ;no exponent and no fraction
3205 403444' 260 14 0 00 405112' PUSHJ P,FLOAT
3206 403445' 250 01 0 00 000007 EXCH A,TT
3207 403446' 260 14 0 00 405112' PUSHJ P,FLOAT
3208 403447' 201 04 0 00 402614' MOVEI AR1,FT01
3209 403450' 260 14 0 00 403466' PUSHJ P,FLOSUB
3210 403451' 164 01 0 00 000002 FMPR A,B
3211 403452' 146 01 0 00 000007 FADRM A,TT
3212 403453' 260 14 0 00 403474' NUMAK3: PUSHJ P,NUM10 ;exponent part
3213 403454' 200 05 0 00 000001 MOVE AR2A,A
3214 403455' 201 04 0 00 402605' MOVEI AR1,FT-1
3215 403456' 603 06 0 00 000002 TLNE T,NEXP
3216 403457' 201 04 0 00 402614' MOVEI AR1,FT01 ;-exponent
3217 403460' 260 14 0 00 403466' PUSHJ P,FLOSUB
3218 403461' 164 07 0 00 000002 FMPR TT,B ;positive exponent
3219 403462' 201 02 0 11 003744' MOVEI B,FLONUM(S)
3220 403463' 200 01 0 00 000007 MOVE A,TT
3221 403464' 255 10 0 00 405174' JFCL 10,FLOOV
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-79
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3222 403465' 254 00 0 00 403431' JRST NUMAK6
3223
3224 403466' 205 02 0 00 201400 FLOSUB: MOVSI B,(1.0)
3225 403467' 622 05 0 00 000001 TRZE AR2A,1
3226 403470' 164 02 0 04 000000 FMPR B,(AR1)
3227 403471' 322 05 0 00 404014' JUMPE AR2A,CPOPJ
3228 403472' 242 05 0 00 777777 LSH AR2A,-1
3229 403473' 364 04 0 00 403467' SOJA AR1,FLOSUB+1
3230
3231 ;variable radix integer builder
3232
3233 403474' 201 01 0 00 000012 NUM10: MOVEI A,TEN
3234 403475' 542 01 0 00 000533' NUM: HRRM A,NUM1
3235 403476' 255 10 0 00 403477' JFCL 10,.+1 ;clear carry0 flag
3236 403477' 403 01 0 00 000005 SETZB A,AR2A
3237 403500' 134 02 0 00 000003 NUM2: ILDB B,C
3238 403501' 322 02 0 00 404014' JUMPE B,CPOPJ ;done
3239 403502' 220 01 0 00 000533' IMUL A,NUM1#
3240 403503' 271 01 0 02 777720 ADDI A,-"0"(B)
3241 403504' 255 10 0 00 405172' NUM3: JFCL 10,FIXOV ;bignums change this to jfcl 10,rdbnm
3242 403505' 344 05 0 00 403500' AOJA AR2A,NUM2
3243 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-80
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3244 403506' 202 01 0 00 000005 INTERN: MOVEM A,AR2A
3245 403507' 260 14 0 00 403302' PUSHJ P,PNAMUK
3246 403510' 260 14 0 00 403313' PUSHJ P,IDSUB
3247 403511' 201 04 0 00 000001 MOVEI AR1,1
3248 403512' 260 14 0 00 403323' PUSHJ P,INTER1 ;is it in oblist
3249 403513' 263 14 0 00 000000 POPJ P, ;found it
3250 403514' 200 01 0 00 000005 MOVE A,AR2A ;not there
3251 403515' 254 00 0 00 403275' JRST MAKID2 ;put it there
3252
3253 403516' 322 01 0 00 404013' REMOB: JUMPE A,FALSE
3254 403517' 201 04 0 00 000001 MOVEI AR1,1
3255 403520' 261 14 0 00 000001 PUSH P,A
3256 403521' 554 01 0 01 000000 HLRZ A,(A)
3257 403522' 260 14 0 00 403506' PUSHJ P,INTERN
3258 403523' 554 02 1 14 000000 HLRZ B,@(P)
3259 403524' 312 01 0 00 000002 CAME A,B
3260 403525' 254 00 0 00 403542' JRST REMOB2
3261 403526' 550 02 0 00 000455' HRRZ B,CURBUC
3262 REMOTE<
3263 RHX5:
3264 XXX2: XWD B,OBTBL>
3265 403527' 554 03 1 00 000363' HLRZ C,@RHX5
3266 403530' 554 06 0 03 000000 HLRZ T,(C)
3267 403531' 316 06 0 00 000001 CAMN T,A
3268 JRST [ HRRZ TT,(C)
3269 HRLM TT,@RHX5
3270 403532' 254 00 0 00 411463' JRST REMOB2]
3271 403533' 200 07 0 00 000003 REMOB3: MOVE TT,C
3272 403534' 550 03 0 03 000000 HRRZ C,(C)
3273 403535' 554 06 0 03 000000 HLRZ T,(C)
3274 403536' 312 06 0 00 000001 CAME T,A
3275 403537' 254 00 0 00 403533' JRST REMOB3
3276 403540' 550 06 0 03 000000 HRRZ T,(C)
3277 403541' 542 06 0 07 000000 HRRM T,(TT)
3278 403542' 262 14 0 00 000001 REMOB2: POP P,A
3279 403543' 550 01 0 01 000000 HRRZ A,(A)
3280 403544' 254 00 0 00 403516' JRST REMOB
3281 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-81
UCILSP MAC 27-MAR-75 17:13 SUPER FAST TABLE DRIVEN READ 14-MAY-69
3282 ;ROUTINE TO ALLOW ARBITRARY MODIFICATION AND READING OF THE
3283 ;READ CHARACTER-TABLE BY LISP FUNCTIONS
3284 ;TAKES TWO ARGUMENTS A,B
3285 ; IF B = NIL IT RETURNS THE CONTENTS OF CHARACTER TABLE
3286 ; LOCATION SPECIFIED BY A
3287 ; OTHERWISE IT CHANGES THE CHARACTER TABLE ENTRY SPECIFIED BY A
3288 ; TO THE BIT PATTERN SPECIFIED BY B, AND RETURNS THE
3289 ; PREVIOUS VALUE
3290
3291 403545' 261 14 0 00 000002 MODCHR: PUSH P,B ;$$SAVE BIT PATTERN FOR TABLE
3292 403546' 260 14 0 00 405071' PUSHJ P,NUMVAL ;$$GET POSITION IN TABLE
3293 403547' 262 14 0 00 000002 POP P,B ;$$
3294 403550' 200 06 0 01 000161' MOVE T,CHRTAB(A) ;$$GET OLD TABLE VALUE
3295 403551' 322 02 0 00 403557' JUMPE B,MCEXIT ;$$IF B=NIL THEN JUST RETURN OLD TABLE VALUE
3296 403552' 261 14 0 00 000001 PUSH P,A ;$$SAVE TABLE POSITION
3297
3298 403553' 201 01 0 02 000000 MOVEI A,(B) ;$$
3299 403554' 260 14 0 00 405071' PUSHJ P,NUMVAL ;$$GET NEW BIT PATTERN
3300 403555' 262 14 0 00 000002 POP P,B ;$$GET TABLE POSITION
3301 403556' 202 01 0 02 000161' MOVEM A,CHRTAB(B) ;$$CHANGE TABLE
3302 403557' 200 01 0 00 000006 MCEXIT: MOVE A,T ;$$RETURN OLD TABLE VALUE
3303 403560' 254 00 0 00 405220' JRST FIX1A ;$$CONVERT TO BINARY AND EXIT
3304
3305 ;FUNCTION TO DETERMINE THE ASCII VALUE OF A CHARACTER
3306 ; CHRVAL TAKES AN ATOM AS ITS ARGUMENT AND USES THE FIRST
3307 ; CHARACTER OF THE PRINT NAME
3308 403561' 201 02 0 11 003734' CHRVAL: MOVEI B,PNAME(S) ;$$ GET PRINT NAME
3309 403562' 260 14 0 00 404037' PUSHJ P,GET ;$$
3310 403563' 554 01 0 01 000000 HLRZ A,(A) ;$$
3311 403564' 200 01 0 01 000000 MOVE A,(A) ;$$ FIRST WORD OF PRINT NAME
3312 403565' 242 01 0 00 777743 LSH A,-35 ;$$ SHIFT TO GET FIRST CHARACTER
3313 403566' 254 00 0 00 405220' JRST FIX1A ;$$ CONVERT TO INTEGER
3314
3315 ;FUNCTION TO SET BITS FOR A READ MACRO
3316 ; A IS THE CHAR. ATOM AND B ARE THE STATUS BITS,
3317 ; IF B=NIL NO MODIFICATION IS MADE
3318 ; THE OLD STATUS BITS ARE RETURNED
3319 403567' 200 07 0 00 000002 SETCHR: MOVE TT,B ;$$
3320 403570' 260 14 0 00 403561' PUSHJ P,CHRVAL ;$$ CONVERT CHAR. TO INUM
3321 403571' 201 02 0 01 200001 MOVEI B,-INUM0(A) ;$$ CONVERT INUM TO BINARY
3322 403572' 135 01 0 00 411466' LDB A,[POINT 5,CHRTAB(B),5] ;$$ LOAD OLD BITS
3323 403573' 322 07 0 00 405220' JUMPE TT,FIX1A ;$$ NO CHANGE IF B = NIL
3324 403574' 201 07 0 07 200001 MOVEI TT,-INUM0(TT) ;$$ CONVERT STATUS TO BINARY
3325 403575' 137 07 0 00 411466' DPB TT,[POINT 5,CHRTAB(B),5] ;$$ SET NEW BITS
3326 403576' 254 00 0 00 405220' JRST FIX1A ;$$ RETURN
3327
3328
3329 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-82
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3330 SUBTTL LISP INTERPRETER SUBROUTINES
3331
3332 403577' 334 01 0 01 000000 CADDDR: SKIPA A,(A)
3333 403600' 554 01 0 01 000000 CADDAR: HLRZ A,(A)
3334 403601' 334 01 0 01 000000 CADDR: SKIPA A,(A)
3335 403602' 554 01 0 01 000000 CADAR: HLRZ A,(A)
3336 403603' 334 01 0 01 000000 CADR: SKIPA A,(A)
3337 403604' 554 01 0 01 000000 CAAR: HLRZ A,(A)
3338 403605' 554 01 0 01 000000 CAR: HLRZ A,(A)
3339 403606' 263 14 0 00 000000 POPJ P,
3340
3341 403607' 334 01 0 01 000000 CDDDDR: SKIPA A,(A)
3342 403610' 554 01 0 01 000000 CDDDAR: HLRZ A,(A)
3343 403611' 334 01 0 01 000000 CDDDR: SKIPA A,(A)
3344 403612' 554 01 0 01 000000 CDDAR: HLRZ A,(A)
3345 403613' 334 01 0 01 000000 CDDR: SKIPA A,(A)
3346 403614' 554 01 0 01 000000 CDAR: HLRZ A,(A)
3347 403615' 550 01 0 01 000000 CDR: HRRZ A,(A)
3348 403616' 263 14 0 00 000000 POPJ P,
3349
3350 403617' 334 01 0 01 000000 CAADDR: SKIPA A,(A)
3351 403620' 554 01 0 01 000000 CAADAR: HLRZ A,(A)
3352 403621' 334 01 0 01 000000 CAADR: SKIPA A,(A)
3353 403622' 554 01 0 01 000000 CAAAR: HLRZ A,(A)
3354 403623' 254 00 0 00 403604' JRST CAAR
3355
3356 403624' 334 01 0 01 000000 CDADDR: SKIPA A,(A)
3357 403625' 554 01 0 01 000000 CDADAR: HLRZ A,(A)
3358 403626' 334 01 0 01 000000 CDADR: SKIPA A,(A)
3359 403627' 554 01 0 01 000000 CDAAR: HLRZ A,(A)
3360 403630' 254 00 0 00 403614' JRST CDAR
3361
3362 403631' 334 01 0 01 000000 CAAADR: SKIPA A,(A)
3363 403632' 554 01 0 01 000000 CAAAAR: HLRZ A,(A)
3364 403633' 254 00 0 00 403622' JRST CAAAR
3365
3366 403634' 334 01 0 01 000000 CDDADR: SKIPA A,(A)
3367 403635' 554 01 0 01 000000 CDDAAR: HLRZ A,(A)
3368 403636' 254 00 0 00 403612' JRST CDDAR
3369
3370 403637' 334 01 0 01 000000 CDAADR: SKIPA A,(A)
3371 403640' 554 01 0 01 000000 CDAAAR: HLRZ A,(A)
3372 403641' 254 00 0 00 403627' JRST CDAAR
3373
3374 403642' 334 01 0 01 000000 CADADR: SKIPA A,(A)
3375 403643' 554 01 0 01 000000 CADAAR: HLRZ A,(A)
3376 403644' 254 00 0 00 403602' JRST CADAR
3377 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-83
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3378
3379 403645' 554 01 0 01 000000 QUOTE: HLRZ A,(A) ;car and quote duplicated for backtrace
3380 403646' 263 14 0 00 000000 POPJ P,
3381
3382 403647' 260 14 0 00 405071' AASCII: PUSHJ P,NUMVAL
3383 403650' 242 01 0 00 000035 LSH A,^D29
3384 403651' 260 14 0 00 403767' PUSHJ P,FWCONS
3385 403652' 260 14 0 00 403657' PUSHJ P,NCONS
3386 403653' 260 14 0 00 403657' PNGNK1: PUSHJ P,NCONS
3387 403654' 201 02 0 11 003734' MOVEI B,PNAME(S)
3388 403655' 260 14 0 00 403660' PUSHJ P,XCONS
3389 403656' 664 02 0 00 777777 ACONS: TROA B,-1
3390 403657' 624 02 0 00 777777 NCONS: TRZA B,-1
3391 403660' 250 02 0 00 000001 XCONS: EXCH B,A
3392 403661' 350 00 0 00 000452' CONS: AOS CONSVAL
3393 403662' 504 02 0 00 000001 HRL B,A
3394 403663' 336 01 0 00 000015 SKIPN A,F
3395 JRST [ HLR A,B
3396 PUSHJ P,AGC
3397 403664' 254 00 0 00 411467' JRST .-1]
3398 403665' 200 15 0 15 000000 MOVE F,(F)
3399 403666' 202 02 0 01 000000 MOVEM B,(A)
3400 403667' 263 14 0 00 000000 POPJ P,
3401
3402 ;new consing routines-not finished yet
3403 ;acons: troa b,-1
3404 ;ncons: trz b,-1
3405 ;cons: exch b,a
3406 ;xcons: hrl a,b
3407 ; exch a,(f)
3408 ; exch a,f
3409 ; popj p,
3410
3411 403670' 322 01 0 00 404014' CONSP: JUMPE A,CPOPJ ;## DONE IF NIL
3412 403671' 303 01 0 00 377777 CAILE A,INUMIN
3413 403672' 254 00 0 00 404013' JRST FALSE
3414 403673' 530 02 0 01 000000 HLLE B,(A)
3415 403674' 342 02 0 00 404013' AOJE B,FALSE
3416 IFN NONUSE <JRST TRUE> ;## T IF NONUSEFUL DESIRED
3417 403675' 263 14 0 00 000000 IFE NONUSE <POPJ P,> ;## THE CELL OTHERWISE
3418 403676' 301 01 1 00 000476' PATOM: CAIL A,@GCP1
3419 403677' 254 00 0 00 403764' JRST TRUE
3420 403700' 301 01 1 00 000376' CAIL A,@GCPP1
3421 403701' 303 01 0 00 377777 ATOM: CAILE A,INUMIN
3422 403702' 254 00 0 00 403764' JRST TRUE
3423 403703' 322 01 0 00 403764' JUMPE A,TRUE ;## FAST CHECK FOR NIL
3424 403704' 305 01 1 00 000476' CAIGE A,@GCP1 ;## LO-END OF FWS, CAN'T ADD TO 0
3425 403705' 530 01 0 01 000000 HLLE A,(A)
3426 403706' 342 01 0 00 403764' AOJE A,TRUE
3427 403707' 254 00 0 00 404013' JRST FALSE
3428 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-84
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3429 403710' 316 01 0 00 000002 NEQ: CAMN A,B
3430 403711' 254 00 0 00 404013' JRST FALSE
3431 403712' 254 00 0 00 403764' JRST TRUE
3432 403713' 316 01 0 00 000002 EQ: CAMN A,B
3433 403714' 254 00 0 00 403764' JRST TRUE
3434 403715' 254 00 0 00 404013' JRST FALSE
3435
3436 403716' 201 02 0 00 000000 LENGTH: MOVEI B,0
3437 403717' 302 01 0 00 000000 LNGTH1: CAIE A,NIL ;## DONE IF NIL
3438 403720' 301 01 1 00 000472' CAIL A,@FWSO ;## FWSO IS FULL SPACE ORIGIN,
3439 ;## ELIMINATE ILL MEM REF
3440 403721' 254 00 0 00 405132' JRST FIX1
3441 403722' 530 03 0 01 000000 HLLE C,(A)
3442 403723' 342 03 0 00 405132' AOJE C,FIX1
3443 403724' 550 01 0 01 000000 HRRZ A,(A)
3444 403725' 344 02 0 00 403717' AOJA B,LNGTH1
3445
3446 403726' 550 02 0 01 000000 LAST: HRRZ B,(A)
3447 403727' 302 02 0 00 000000 CAIE B,NIL ;## IF NIL DONE
3448 403730' 301 02 1 00 000472' CAIL B,@FWSO ;## ANOTHER POTENTIAL ILL MEM GONE
3449 403731' 263 14 0 00 000000 POPJ P,
3450 403732' 530 02 0 02 000000 HLLE B,(B)
3451 403733' 342 02 0 00 404014' AOJE B,CPOPJ
3452 403734' 550 01 0 01 000000 HRRZ A,(A)
3453 403735' 254 00 0 00 403726' JRST LAST
3454
3455 ;(LITATOM X) = (AND (ATOM X) (NOT (NUMBERP X)))
3456 403736' 200 02 0 00 000001 LITATOM:MOVE B,A
3457 403737' 260 14 0 00 403701' PUSHJ P,ATOM
3458 403740' 322 01 0 00 404014' JUMPE A,CPOPJ
3459 403741' 200 01 0 00 000002 MOVE A,B
3460 403742' 260 14 0 00 404064' PUSHJ P,NUMBERP
3461 403743' 254 00 0 00 403763' JRST NOT
3462 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-85
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3463 ;NEW RPLACD AND RPLACA WHICH CHECK SO AS NOT TO CLOBBER NIL AND ATOMS
3464 403744' 302 01 0 00 000000 RPLACA: CAIE A,NIL ;## TEST FOR NIL
3465 403745' 303 01 0 00 377777 CAILE A,INUMIN ;$$
3466 403746' 254 00 0 00 400706' JRST RPAERR ;$$ ATTEMPT TO RPLACA A SMALL NUMBER
3467 403747' 500 01 0 01 000000 HLL A,(A) ;$$TEST FOR OTHER ATOMS
3468 403750' 641 01 0 00 777777 TLC A,-1 ;$$
3469 403751' 627 01 0 00 777777 TLZN A,-1 ;$$ATOM CARS ARE -1
3470 403752' 254 00 0 00 400706' JRST RPAERR ;$$ATTEMPT TO RPLACA AN ATOM
3471 403753' 506 02 0 01 000000 HRLM B,(A) ;$$STANDARD CODE FOR RPLACA
3472 403754' 263 14 0 00 000000 POPJ P, ;$$
3473
3474 403755' 307 01 0 00 377777 RPLACD: CAIG A,INUMIN ;$$CHECK FOR SMALL BER
3475 403756' 326 01 0 00 403760' JUMPN A,.+2 ;$$CHECK FOR NIL
3476 403757' 254 00 0 00 400710' JRST RPDERR ;$$ATTEMPT TO RPLACD NIL OR A SMALL NUMBER
3477 403760' 542 02 0 01 000000 HRRM B,(A) ;$$OLD RPLACD CODE
3478 403761' 263 14 0 00 000000 POPJ P, ;$$
3479
3480 403762' 260 14 0 00 405071' ZEROP: PUSHJ P,NUMVAL
3481 403763' NOT:
3482 403763' 326 01 0 00 404013' NULL: JUMPN A,FALSE
3483 403764' TRUE:
3484 403764' 201 01 0 11 002613' MOVEI A,TRUTH(S)
3485 403765' 263 14 0 00 000000 POPJ P,
3486
3487 403766' 201 01 0 00 000000 FW0CNS: MOVEI A,0
3488 403767' 326 16 0 00 403773' FWCONS: JUMPN FF,FWC1
3489 403770' 250 01 0 00 000471' EXCH A,FWC0#
3490 403771' 260 14 0 00 406667' PUSHJ P,AGC
3491 403772' 250 01 0 00 000471' EXCH A,FWC0
3492 403773' 250 01 0 16 000000 FWC1: EXCH A,(FF)
3493 403774' 250 01 0 00 000016 EXCH A,FF
3494 403775' 263 14 0 00 000000 POPJ P,
3495
3496 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-86
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3497 403776' 260 14 0 00 404002' SASSOC: PUSHJ P,SAS1
3498 403777' 037 00 0 03 000000 JCALLF 0,(C)
3499 404000' 263 14 0 00 000000 POPJ P,
3500
3501 404001' 554 02 0 00 000006 SAS0: HLRZ B,T
3502 404002' 322 02 0 00 404014' SAS1: JUMPE B,CPOPJ
3503 404003' 204 06 0 02 000000 MOVS T,(B)
3504 404004' 204 07 0 06 000000 MOVS TT,(T)
3505 404005' 302 01 0 07 000000 CAIE A,(TT)
3506 404006' 254 00 0 00 404001' JRST SAS0
3507 404007' 550 01 0 00 000006 HRRZ A,T
3508 404010' 350 00 0 14 000000 CPOPJ1: AOS (P)
3509 404011' 263 14 0 00 000000 POPJ P,
3510
3511 404012' 260 14 0 00 404002' ASSOC: PUSHJ P,SAS1
3512 404013' 201 01 0 00 000000 FALSE: MOVEI A,NIL
3513 404014' 263 14 0 00 000000 CPOPJ: POPJ P,
3514
3515 404015' 200 06 0 00 000001 REVERSE: MOVE T,A
3516 404016' 201 01 0 00 000000 MOVEI A,0
3517 404017' 322 06 0 00 404014' JUMPE T,CPOPJ
3518 404020' 554 02 0 06 000000 HLRZ B,(T)
3519 404021' 550 06 0 06 000000 HRRZ T,(T)
3520 404022' 260 14 0 00 403660' PUSHJ P,XCONS
3521 404023' 326 06 0 00 404020' JUMPN T,.-3
3522 404024' 263 14 0 00 000000 POPJ P,
3523
3524
3525 404025' 550 06 0 01 000000 REMPROP: HRRZ T,(A)
3526 404026' 204 07 0 06 000000 MOVS TT,(T)
3527 404027' 306 02 0 07 000000 CAIN B,(TT)
3528 404030' 267 07 0 00 404035' JRA TT,REMP1
3529 404031' 554 01 0 00 000007 HLRZ A,TT
3530 404032' 550 06 0 01 000000 HRRZ T,(A)
3531 404033' 326 06 0 00 404026' JUMPN T,REMPROP+1
3532 404034' 254 00 0 00 404013' JRST FALSE
3533
3534 404035' 542 07 0 01 000000 REMP1: HRRM TT,(A)
3535 404036' 254 00 0 00 403764' JRST TRUE
3536 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-87
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3537
3538 ;## IF WE ARE USING NEW NIL, THEN GET IS FOR SYSTEM ONLY AND
3539 ;## USRGET IS THE USERS. IF NEW NIL, THEN GET MUST GET NIL'S
3540 ;## PROPERTY LIST
3541
3542 IFE OLDNIL<
3543 USRGET: JUMPE A,CPOPJ ;## ALWAYS NIL>
3544 404037' GET:
3545 IFE OLDNIL< CAIE A,NIL
3546 SKIPA A,NILPRP>
3547 404037' 550 01 0 01 000000 HRRZ A,(A)
3548 404040' 204 12 0 01 000000 GET1: MOVS D,(A)
3549 404041' 306 02 0 12 000000 CAIN B,(D)
3550 404042' 254 00 0 00 403603' JRST CADR
3551 404043' 554 01 0 00 000012 HLRZ A,D
3552 404044' 550 01 0 01 000000 HRRZ A,(A)
3553 404045' 326 01 0 00 404040' JUMPN A,GET1
3554 404046' 263 14 0 00 000000 POPJ P,
3555
3556 404047' 322 02 0 00 404013' GETL: JUMPE B,FALSE ;$$ NIL LIST - NIL ANSWER
3557 IFE OLDNIL <JUMPE A,CPOPJ> ;## TEST FOR NIL
3558 404050' 550 01 0 01 000000 HRRZ A,(A)
3559 404051' 554 06 0 01 000000 GETL0: HLRZ T,(A)
3560 404052' 200 03 0 00 000002 MOVE C,B
3561 404053' 204 07 0 03 000000 GETL1: MOVS TT,(C)
3562 404054' 306 06 0 07 000000 CAIN T,(TT)
3563 404055' 263 14 0 00 000000 POPJ P,
3564 404056' 554 03 0 00 000007 HLRZ C,TT
3565 404057' 326 03 0 00 404053' JUMPN C,GETL1
3566 404060' 550 01 0 01 000000 HRRZ A,(A)
3567 404061' 550 01 0 01 000000 HRRZ A,(A)
3568 404062' 326 01 0 00 404051' JUMPN A,GETL0
3569 404063' 263 14 0 00 000000 POPJ P,
3570
3571 404064' 303 01 0 00 377777 NUMBERP: CAILE A,INUMIN
3572 404065' 254 00 0 00 403764' JRST TRUE
3573 404066' 530 06 0 01 000000 HLLE T,(A)
3574 404067' 346 06 0 00 404013' AOJN T,FALSE
3575 404070' 550 01 0 01 000000 HRRZ A,(A)
3576 404071' 554 01 0 01 000000 HLRZ A,(A)
3577 404072' 302 01 0 11 003740' CAIE A,FIXNUM(S)
3578 404073' 306 01 0 11 003744' CAIN A,FLONUM(S)
3579 404074' 254 00 0 00 403764' JRST TRUE
3580 404075' 254 00 0 00 404013' NUMBP2: JRST FALSE ;bignums change this to JRST BIGNP
3581 404076' 200 02 0 00 000001 STRINGP: MOVE B,A ;= T IF A IS A STRING
3582 404077' 260 14 0 00 403701' PUSHJ P,ATOM
3583 404100' 322 01 0 00 404014' JUMPE A,CPOPJ
3584 404101' 200 01 0 00 000002 MOVE A,B
3585 404102' 260 14 0 00 404064' PUSHJ P,NUMBERP ;MUST NO BE A NUMBER
3586 404103' 326 01 0 00 404013' JUMPN A,FALSE
3587 404104' 200 01 0 00 000002 MOVE A,B
3588 404105' 260 14 0 00 403561' PUSHJ P,CHRVAL ;GET THE FIRST CHARACTER
3589 404106' 302 01 0 00 600041 CAIE A,42+INUM0 ;CHECK FOR "
3590 404107' 254 00 0 00 404013' JRST FALSE
3591 404110' 254 00 0 00 403764' JRST TRUE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-88
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3592 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-89
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3593 404111' PUTPROP:
3594 404111' 200 06 0 00 000001 IFN OLDNIL <MOVE T,A>
3595 IFE OLDNIL <SKIPN T,A ;## CAN'T PUTPROP TO NIL
3596 ERR1 [SIXBIT /CAN'T PUT PROP ON NIL !/]>
3597 404112' 550 01 0 01 000000 HRRZ A,(A)
3598 404113' 204 07 0 01 000000 CSET3: MOVS TT,(A)
3599 404114' 554 01 0 00 000007 HLRZ A,TT
3600 404115' 306 03 0 07 000000 CAIN C,(TT)
3601 404116' 254 00 0 00 404127' JRST CSET2
3602 404117' 550 01 0 01 000000 HRRZ A,(A)
3603 404120' 326 01 0 00 404113' JUMPN A,CSET3
3604 404121' 550 01 0 06 000000 HRRZ A,(T)
3605 404122' 260 14 0 00 403660' PUSHJ P,XCONS
3606 404123' 550 02 0 00 000003 HRRZ B,C
3607 404124' 260 14 0 00 403660' PUSHJ P,XCONS
3608 404125' 542 01 0 06 000000 HRRM A,(T)
3609 404126' 254 00 0 00 403603' JRST CADR
3610
3611 404127' CSET2:
3612 404127' 302 03 0 11 003750' CAIE C,VALUE(S)
3613 404130' 254 00 0 00 404135' JRST CSET1
3614 404131' 550 06 0 02 000000 HRRZ T,(B)
3615 404132' 554 01 0 01 000000 HLRZ A,(A)
3616 404133' 542 06 0 01 000000 HRRM T,(A)
3617 404134' 254 00 0 00 404136' JRST PROG2
3618
3619 404135' 506 02 0 01 000000 CSET1: HRLM B,(A)
3620 404136' 200 01 0 00 000002 PROG2: MOVE A,B
3621 404137' 263 14 0 00 000000 PROG1: POPJ P,
3622
3623 404140' DEFPROP:
3624 404140' 550 02 0 01 000000 HRRZ B,(A)
3625 404141' 550 03 0 02 000000 HRRZ C,(B)
3626 404142' 554 01 0 01 000000 HLRZ A,(A)
3627 404143' 554 02 0 02 000000 HLRZ B,(B)
3628 404144' 554 03 0 03 000000 HLRZ C,(C)
3629 404145' 261 14 0 00 000001 PUSH P,A
3630 404146' 260 14 0 00 404111' PUSHJ P,PUTPROP
3631 404147' 254 00 0 00 405717' JRST POPAJ
3632 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-90
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3633 404150' 200 03 0 00 000014 EQUAL: MOVE C,P
3634 404151' 316 01 0 00 000002 EQUAL1: CAMN A,B
3635 404152' 254 00 0 00 403764' JRST TRUE
3636 404153' 200 06 0 00 000001 MOVE T,A
3637 404154' 200 07 0 00 000002 MOVE TT,B
3638 404155' 260 14 0 00 403701' PUSHJ P,ATOM
3639 404156' 250 01 0 00 000002 EXCH A,B
3640 404157' 260 14 0 00 403701' PUSHJ P,ATOM
3641 404160' 316 01 0 00 000002 CAMN A,B
3642 404161' 254 00 0 00 404164' JRST EQUAL3
3643 404162' 200 14 0 00 000003 EQUAL4: MOVE P,C
3644 404163' 254 00 0 00 404013' JRST FALSE
3645
3646 404164' 326 01 0 00 404200' EQUAL3: JUMPN A,EQ2
3647 404165' 261 14 0 00 000006 PUSH P,T
3648 404166' 261 14 0 00 000007 PUSH P,TT
3649 404167' 554 01 0 06 000000 HLRZ A,(T)
3650 404170' 554 02 0 07 000000 HLRZ B,(TT)
3651 404171' 260 14 0 00 404151' PUSHJ P,EQUAL1
3652 404172' 322 01 0 00 404162' JUMPE A,EQUAL4
3653 404173' 262 14 0 00 000002 POP P,B
3654 404174' 262 14 0 00 000001 POP P,A
3655 404175' 550 01 0 01 000000 HRRZ A,(A)
3656 404176' 550 02 0 02 000000 HRRZ B,(B)
3657 404177' 254 00 0 00 404151' JRST EQUAL1
3658
3659 404200' 261 14 0 00 000006 EQ2: PUSH P,T
3660 404201' 200 01 0 00 000006 MOVE A,T
3661 404202' 260 14 0 00 404064' PUSHJ P,NUMBERP
3662 404203' 322 01 0 00 404162' JUMPE A,EQUAL4
3663 404204' 200 01 0 00 000007 MOVE A,TT
3664 404205' 260 14 0 00 404064' PUSHJ P,NUMBERP
3665 404206' 322 01 0 00 404162' JUMPE A,EQUAL4
3666 404207' 200 01 0 14 000000 MOVE A,(P)
3667 404210' 202 03 0 14 000000 MOVEM C,(P)
3668 404211' 200 02 0 00 000007 MOVE B,TT
3669 404212' 265 03 0 00 405211' JSP C,OP
3670 404213' 321 00 0 00 404215' JUMPL COMP3
3671 404214' 321 00 0 00 404215' JUMPL COMP3
3672
3673 404215' 262 14 0 00 000003 COMP3: POP P,C
3674 404216' 312 01 0 00 000007 CAME A,TT
3675 404217' 254 00 0 00 404162' JRST EQUAL4
3676 404220' 254 00 0 00 403764' JRST TRUE
3677 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-91
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3678 COMMENT ?
3679 ;## OLD SUBST AND COPY CODE THAT DID NOT WORK AS IT WAS
3680 ;## NOT PROTECTED FROM THE GARBAGE COLLECTOR. NASTY, NASTY.
3681 ;## REPLACED BY COMPILED LISP CODE
3682 SUBS5: HRRZ A,SUBAS
3683 POPJ P,
3684
3685 SUBST: MOVEM A,SUBAS#
3686 MOVEM B,SUBBS#
3687 SUBS0A: MOVE A,SUBAS
3688 MOVE B,SUBBS
3689 PUSH P,C
3690 MOVE A,C
3691 PUSHJ P,EQUAL
3692 POP P,C
3693 JUMPN A,SUBS5
3694 CAIE C,NIL ;## TEST FOR NIL
3695 CAILE C,INUMIN
3696 JRST EV6A
3697 HLLE T,(C)
3698 AOJN T,SUBS2
3699 EV6A: MOVE A,C
3700 POPJ P,
3701
3702 SUBS2: PUSH P,C
3703 HLRZ C,(C)
3704 PUSHJ P,SUBS0A
3705 EXCH A,(P)
3706 HRRZ C,(A)
3707 PUSHJ P,SUBS0A
3708 POP P,B
3709 JRST XCONS
3710
3711 COPY: MOVEI B,INUM0 ;$$ (SUBST 0 0 A)
3712 MOVEI C,INUM0
3713 EXCH A,C
3714 JRST SUBST
3715 ?
3716 ; NTHCHAR = THE BTH CHARACTER OF A.
3717 404221' 200 06 0 00 000002 NTHCHAR:MOVE T,B
3718 404222' 275 06 0 00 577777 SUBI T,INUM0
3719 404223' 322 06 0 00 404013' JUMPE T,FALSE ;FAIL IF = 0
3720 404224' 261 14 0 00 000001 PUSH P,A
3721 404225' 202 06 0 00 000536' MOVEM T,ORGSGN
3722 404226' 327 06 0 00 404232' JUMPG T,NTH3
3723 404227' 260 14 0 00 405310' PUSHJ P,%FLATSIZEC
3724 404230' 201 06 0 01 200002 MOVEI T,1-INUM0(A)
3725 404231' 273 06 0 00 000536' ADDB T,ORGSGN
3726 404232' 200 01 0 14 000000 NTH3: MOVE A,(P)
3727 404233' 260 14 0 00 403736' PUSHJ P,LITATOM
3728 404234' 326 01 0 00 404245' JUMPN A,NTH4
3729 404235' 262 14 0 00 000001 POP P,A
3730 404236' 561 13 0 00 404242' HRROI R,NTH5 ;I HOPE THIS IS RIGHT
3731 404237' 260 14 0 00 402341' PUSHJ P,PRINTA
3732 404240' 554 01 0 00 000536' HLRZ A,ORGSGN
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-92
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3733 404241' 254 00 0 00 404267' JRST NTH6
3734 404242' 376 00 0 00 000536' NTH5: SOSN ORGSGN
3735 404243' 526 01 0 00 000536' HRLOM A,ORGSGN
3736 404244' 263 14 0 00 000000 POPJ P,
3737 404245' 200 06 0 00 000536' NTH4: MOVE T,ORGSGN
3738 404246' 262 14 0 00 000001 POP P,A
3739 404247' 201 02 0 11 003734' MOVEI B,PNAME(S)
3740 404250' 260 14 0 00 404037' PUSHJ P,GET
3741 404251' 322 01 0 00 404014' JUMPE A,CPOPJ ;FAIL IF NO PRINT NAME
3742 404252' 307 06 0 00 000005 NTH1: CAIG T,5
3743 404253' 254 00 0 00 404260' JRST NTH2
3744 404254' 550 01 0 01 000000 HRRZ A,(A)
3745 404255' 322 01 0 00 404013' JUMPE A,FALSE ;FAIL IF NO NTH CHARACTER
3746 404256' 275 06 0 00 000005 SUBI T,5
3747 404257' 254 00 0 00 404252' JRST NTH1
3748 404260' 554 01 0 01 000000 NTH2: HLRZ A,(A)
3749 404261' 221 06 0 00 777771 IMULI T,-7
3750 404262' 242 06 0 00 000014 LSH T,14
3751 404263' 271 06 0 00 440700 ADDI T,440700
3752 404264' 504 01 0 00 000006 HRL A,T
3753 404265' 135 01 0 00 000001 LDB A,A
3754 404266' 322 01 0 00 404013' JUMPE A,FALSE
3755 404267' 260 14 0 00 403650' NTH6: PUSHJ P,AASCII+1 ;CONVERT TO AN ATOM
3756 404270' 254 00 0 00 403506' JRST INTERN ;INTERN IT
3757 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-93
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3758 404271' 634 13 0 00 000013 NCONC: TDZA R,R
3759 404272' 201 13 0 00 000007 APPEND: MOVEI R,.APPEND-.NCONC
3760 404273' 322 06 0 00 404013' JUMPE T,FALSE
3761 404274' 262 14 0 00 000002 POP P,B
3762 404275' 342 06 0 00 404136' APP2: AOJE T,PROG2
3763 404276' 262 14 0 00 000001 POP P,A
3764 404277' 260 14 0 13 404302' PUSHJ P,.NCONC(R)
3765 404300' 200 02 0 00 000001 MOVE B,A
3766 404301' 254 00 0 00 404275' JRST APP2
3767
3768 404302' 322 01 0 00 404136' .NCONC: JUMPE A,PROG2
3769 404303' 200 07 0 00 000001 MOVE TT,A
3770 404304' 200 03 0 00 000007 MOVE C,TT
3771 404305' 550 07 0 03 000000 HRRZ TT,(C)
3772 404306' 326 07 0 00 404304' JUMPN TT,.-2
3773 404307' 542 02 0 03 000000 HRRM B,(C)
3774 404310' 263 14 0 00 000000 POPJ P,
3775
3776 404311' 322 01 0 00 404136' .APPEND: JUMPE A,PROG2
3777 404312' 201 03 0 00 000004 MOVEI C,AR1
3778 404313' 200 07 0 00 000001 MOVE TT,A
3779 404314' 554 01 0 07 000000 APP1: HLRZ A,(TT)
3780 404315' 261 14 0 00 000002 PUSH P,B
3781 404316' 260 14 0 00 403661' PUSHJ P,CONS ;saves b
3782 404317' 262 14 0 00 000002 POP P,B
3783 404320' 542 01 0 03 000000 HRRM A,(C)
3784 404321' 200 03 0 00 000001 MOVE C,A
3785 404322' 550 07 0 07 000000 HRRZ TT,(TT)
3786 404323' 326 07 0 00 404314' JUMPN TT,APP1
3787 404324' 254 00 0 00 404554' JRST SUBS4
3788 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-94
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3789 IFN NONUSE<MEMBER:
3790 >
3791 404325' 202 01 0 00 000575' MEMB0: MOVEM A,SUBAS#
3792 404326' 322 02 0 00 404013' MEMB1: JUMPE B,FALSE
3793 404327' 202 02 0 00 000576' MOVEM B,SUBBS#
3794 404330' 200 01 0 00 000575' MOVE A,SUBAS
3795 404331' 554 02 0 02 000000 HLRZ B,(B)
3796 404332' 260 14 0 00 404150' PUSHJ P,EQUAL
3797 404333' 326 01 0 00 404014' JUMPN A,CPOPJ
3798 404334' 200 02 0 00 000576' MOVE B,SUBBS
3799 404335' 550 02 0 02 000000 HRRZ B,(B)
3800 404336' 254 00 0 00 404326' JRST MEMB1
3801
3802 404337' IFE NONUSE<MEMQ:
3803 >
3804 404337' 250 01 0 00 000002 MEMB: EXCH A,B ;## NEW MEMQ THAT RETURN TAIL
3805 404340' 322 01 0 00 404013' JUMPE A,FALSE
3806 404341' 204 03 0 01 000000 MOVS C,(A)
3807 404342' 306 02 0 03 000000 CAIN B,(C)
3808 404343' 263 14 0 00 000000 POPJ P,
3809 404344' 554 01 0 00 000003 HLRZ A,C
3810 404345' 315 01 0 00 000472' CAMGE A,FWSO ;##THIS WILL ELIMINATE MOST (MAYBE ALL)
3811 ;## ILLEGAL MEM REFS FROM MEMQ
3812 ;##AND ASSOCIATED ROUTINES. FWSO IS FWS ORIGIN
3813 404346' 326 01 0 00 404340' JUMPN A,MEMQ+1
3814 404347' 263 14 0 00 000000 POPJ P,
3815
3816
3817
3818 ;NEW MEM-FUNCTIONS THAT RETURN THE TAIL OF THE LIST STARTING WHERE
3819 ; THE ELEMENT IS FOUND
3820
3821 404350' IFE NONUSE<MEMBER:
3822 >
3823 404350' 260 14 0 00 404325' MEMBR.: PUSHJ P,MEMB0
3824 404351' 332 00 0 00 000001 SKIPE A
3825 404352' 200 01 0 00 000576' MOVE A,SUBBS
3826 404353' 263 14 0 00 000000 POPJ P,
3827
3828 IFN NONUSE<
3829 MEMQ: PUSHJ P,MEMB
3830 SKIPE A
3831 JRST TRUE
3832 POPJ P,
3833
3834
3835 ;AND OR FUNCTIONS (AND#, OR#) THAT RETURN THE EXPRESSION
3836 ; THAT CAUSED THE FUNCTION TO EVALUATE TO TRUE
3837
3838 AND.: PUSHJ P,AND
3839 SKIPA
3840 OR.: PUSHJ P,OR
3841 HRRZ A,2(P)
3842 POPJ P,
3843 >
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-95
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3844
3845 404354' AND:
3846 404354' 505 01 0 11 002613' HRLI A,TRUTH(S)
3847 404355' 554 03 0 00 000001 OR: HLRZ C,A
3848 404356' 261 14 0 00 000003 PUSH P,C
3849 404357' 550 03 0 00 000001 ANDOR: HRRZ C,A
3850 404360' 322 03 0 00 404374' JUMPE C,AOEND
3851 404361' 205 03 0 00 332014 MOVSI C,(SKIPE (P))
3852 404362' 603 01 0 00 777777 TLNE A,-1
3853 404363' 205 03 0 00 336014 MOVSI C,(SKIPN (P))
3854 404364' 256 00 0 00 000003 XCT C
3855 404365' 254 00 0 00 404374' JRST AOEND
3856 404366' 202 01 0 14 000000 MOVEM A,(P)
3857 404367' 554 01 0 01 000000 HLRZ A,(A)
3858 404370' 260 14 0 00 405505' PUSHJ P,EVAL
3859 404371' 250 01 0 14 000000 EXCH A,(P)
3860 404372' 540 01 0 01 000000 HRR A,(A)
3861 404373' 254 00 0 00 404357' JRST ANDOR
3862
3863 404374' 262 14 0 00 000001 AOEND: POP P,A
3864 IFN NONUSE <
3865 SKIPE A
3866 MOVEI A,TRUTH(S)
3867 >
3868 404375' 263 14 0 00 000000 POPJ P,
3869 404376' 200 02 0 00 411472' GENSYM: MOVE B,[POINT 7,GNUM,34]
3870 404377' 211 03 0 00 000004 MOVNI C,4
3871 404400' 201 07 0 00 000060 MOVEI TT,"0"
3872
3873 404401' 135 06 0 00 000002 GENSY2: LDB T,B
3874 404402' 350 00 0 00 000006 AOS T
3875 404403' 137 06 0 00 000002 DPB T,B
3876 404404' 307 06 0 00 000071 CAIG T,"9"
3877 404405' 254 00 0 00 404411' JRST GENSY1
3878 404406' 137 07 0 00 000002 DPB TT,B
3879 404407' 270 02 0 00 411473' ADD B,[XWD 70000,0]
3880 404410' 346 03 0 00 404401' AOJN C,GENSY2
3881
3882 404411' 200 01 0 00 000364' GENSY1: MOVE A,GNUM
3883 404412' 260 14 0 00 403767' PUSHJ P,FWCONS
3884 404413' 260 14 0 00 403657' PUSHJ P,NCONS
3885 404414' 254 00 0 00 403653' JRST PNGNK1
3886
3887 REMOTE<
3888 GNUM: ASCII /G0000/>
3889
3890 404415' 554 01 0 01 000000 CSYM: HLRZ A,(A)
3891 404416' 261 14 0 00 000001 PUSH P,A
3892 404417' 201 02 0 11 003734' MOVEI B,PNAME(S)
3893 404420' 260 14 0 00 404037' PUSHJ P,GET
3894 404421' 322 01 0 00 400722' JUMPE A,NOPNAM
3895 404422' 554 01 0 01 000000 HLRZ A,(A)
3896 404423' 200 01 0 01 000000 MOVE A,(A)
3897 404424' 202 01 0 00 000364' MOVEM A,GNUM
3898 404425' 254 00 0 00 405717' JRST POPAJ
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-96
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3899 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-97
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3900 404426' 201 02 0 11 002213' LIST: MOVEI B,CEVAL(S)
3901 404427' 261 14 0 00 000002 PUSH P,B
3902 404430' 261 14 0 00 000001 PUSH P,A
3903 404431' 211 06 0 00 000002 MOVNI T,2
3904 404432' 254 00 0 00 404503' JRST MAPCAR
3905
3906 404433' 554 07 0 06 000000 EELS: HLRZ TT,(T) ;interpret lsubr call
3907 404434' 550 01 0 04 000000 HRRZ A,(AR1)
3908 404435' 201 06 0 00 000000 ILIST: MOVEI T,0
3909 404436' 322 01 0 00 404454' JUMPE A,ILIST2
3910 404437' 261 14 0 00 000001 ILIST1: PUSH P,A
3911 404440' 554 01 0 01 000000 HLRZ A,(A)
3912 404441' 261 14 0 00 000007 PUSH P,TT
3913 404442' 506 06 0 14 000000 HRLM T,(P)
3914 404443' 261 14 0 00 000017 PUSH P,SP ;$$SAVE SP POINTER TO RESTORE AFTER ARGUMENT EVALUATED
3915 404444' 260 14 0 00 405505' PUSHJ P,EVAL ;EVALUATE ARGUMENT
3916 404445' 262 14 0 00 000017 POP P,SP ;$$RESTORE SP POINTER AFTER EVAL
3917 404446' 262 14 0 00 000007 ILIST3: POP P,TT
3918 404447' 574 06 0 00 000007 HLRE T,TT
3919 404450' 250 01 0 14 000000 EXCH A,(P)
3920 404451' 550 01 0 01 000000 HRRZ A,(A)
3921 404452' 370 00 0 00 000006 SOS T
3922 404453' 326 01 0 00 404437' JUMPN A,ILIST1
3923 404454' 254 00 0 07 000000 ILIST2: JRST (TT)
3924
3925 ;FAST MAPC FOR 2 ARGS - CALLED BY LAP CODE ONLY
3926 404455' 261 14 0 00 000001 .MAPC: PUSH P,A
3927 404456' 322 02 0 00 404475' JUMPE B,PRETB
3928 404457' 554 01 0 02 000000 HLRZ A,(B)
3929 404460' 550 02 0 02 000000 HRRZ B,(B)
3930 404461' 261 14 0 00 000002 PUSH P,B
3931 404462' 036 01 1 14 777777 CALLF 1,@-1(P)
3932 404463' 262 14 0 00 000002 POP P,B
3933 404464' 254 00 0 00 404456' JRST .MAPC+1
3934
3935 ;FAST MAP FOR 2 ARGS - CALLED BY LAP CODE ONLY
3936 404465' 261 14 0 00 000001 .MAP: PUSH P,A
3937 404466' 322 02 0 00 404475' JUMPE B,PRETB
3938 404467' 200 01 0 00 000002 MOVE A,B
3939 404470' 550 02 0 02 000000 HRRZ B,(B)
3940 404471' 261 14 0 00 000002 PUSH P,B
3941 404472' 036 01 1 14 777777 CALLF 1,@-1(P)
3942 404473' 262 14 0 00 000002 POP P,B
3943 404474' 254 00 0 00 404466' JRST .MAP+1
3944
3945 404475' 274 14 0 00 411474' PRETB: SUB P,[XWD 1,1]
3946 404476' 254 00 0 00 404136' JRST PROG2
3947 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-98
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
3948 ; NEW AND SUPER POWERFUL MAP FUNCTIONS
3949 404477' 621 06 0 00 100000 MAPCON: TLZ T,100000
3950 404500' 254 00 0 00 404505' JRST MAPLIST
3951 404501' 625 06 0 00 100000 MAPCAN: TLZA T,100000
3952 404502' 625 06 0 00 400000 MAPC: TLZA T,400000
3953 404503' 625 06 0 00 400000 MAPCAR: TLZA T,400000
3954 404504' 621 06 0 00 200000 MAP: TLZ T,200000
3955 ; INITIALIZE
3956 404505' 450 06 0 00 000006 MAPLIST:SETCA T,T
3957 404506' 201 01 0 00 036000 MOVEI A,(CALLF)
3958 404507' 137 06 0 00 411475' DPB T,[POINT 4,A,30]
3959 404510' 200 02 0 00 000014 MOVE B,P
3960 404511' 200 04 0 00 000006 MOVE AR1,T
3961 404512' 504 04 0 00 000006 HRL AR1,T
3962 404513' 274 02 0 00 000004 SUB B,AR1
3963 404514' 261 14 0 00 000002 PUSH P,B
3964 404515' 506 01 0 02 000000 HRLM A,(B)
3965 404516' 261 14 0 00 000006 PUSH P,T
3966 404517' 261 14 0 00 000000 PUSH P,
3967 404520' 516 14 0 14 000000 HRLZM P,(P)
3968 ; SET UP TO GET ARGUMENTS
3969 404521' 550 06 0 14 777777 MAPL2: HRRZ T,-1(P)
3970 404522' 201 07 0 14 777775 MOVEI TT,-3(P)
3971 ; MOVE ARGS TO REGS
3972 404523' 200 12 0 07 000000 MPL3: MOVE D,(TT)
3973 404524' 322 12 0 00 404551' JUMPE D,MPDN
3974 404525' 202 12 0 06 000000 MOVEM D,(T)
3975 404526' 200 12 0 12 000000 MOVE D,(D)
3976 404527' 335 00 0 14 777777 SKIPGE -1(P)
3977 404530' 556 12 0 06 000000 HLRZM D,(T)
3978 404531' 552 12 0 07 000000 HRRZM D,(TT)
3979 404532' 275 07 0 00 000001 SUBI TT,1
3980 404533' 367 06 0 00 404523' SOJG T,MPL3
3981 404534' 256 00 0 07 000000 XCT (TT) ; CALL THE FUNCTION
3982 404535' 135 03 0 00 411476' LDB C,[POINT 2,-1(P),2]
3983 404536' 602 03 0 00 000002 TRNE C,2
3984 404537' 254 00 0 00 404521' JRST MAPL2
3985 ; ATTACH TO OUTPUT LIST
3986 404540' 336 00 0 00 000003 SKIPN C
3987 404541' 260 14 0 00 403657' PUSHJ P,NCONS
3988 404542' 322 01 0 00 404521' JUMPE A,MAPL2
3989 404543' 544 02 0 14 000000 HLR B,(P)
3990 404544' 542 01 0 02 000000 HRRM A,(B)
3991 404545' 332 00 0 00 000003 SKIPE C
3992 404546' 260 14 0 00 403726' PUSHJ P,LAST
3993 404547' 506 01 0 14 000000 HRLM A,(P)
3994 404550' 254 00 0 00 404521' JRST MAPL2
3995 ; POP STACK AND RETURN
3996 404551' 262 14 0 00 000004 MPDN: POP P,AR1
3997 404552' 200 14 0 14 777777 MOVE P,-1(P)
3998 404553' 262 14 0 00 000002 POP P,B
3999 404554' 550 01 0 00 000004 SUBS4: HRRZ A,AR1
4000 404555' 263 14 0 00 000000 POPJ P,
4001 ;PA3: 0 ;THE REG. PDL POINTER
4002 ;PA4: 0 ;Lh=pntr to prog less bound var list
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-99
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
4003 ;RH=NEXT PROG STATEMENT
4004
4005 404556' 261 14 0 00 000542' PROG: PUSH P,PA3#
4006 404557' 261 14 0 00 000543' PUSH P,PA4#
4007 404560' 554 07 0 01 000000 HLRZ TT,(A) ;## TT HAS VARIABLE LIST
4008 404561' 550 01 0 01 000000 HRRZ A,(A) ;## A HAS PROG BODY
4009 404562' 542 01 0 00 000543' HRRM A,PA4
4010 404563' 506 01 0 00 000543' HRLM A,PA4
4011
4012 404564' 200 06 0 00 000017 MOVE T,SP ;$$ADJUST SPDLSAV POINTER TO INCLUDE EVAL BLIP
4013 404565' 274 06 0 00 411477' SUB T,[XWD 2,2] ;$$SO PA3,PA4 CAN BE RESTORED
4014 404566' 202 06 0 00 000570' MOVEM T,SPSV# ;$$BY UNBIND
4015 404567' 254 00 0 00 404574' JRST PG7B ;$$GO CHECK IF ANY VARIABLES TO BIND
4016
4017 404570' 554 01 0 07 000000 PG7A: HLRZ A,(TT)
4018 404571' 201 04 0 00 000000 MOVEI AR1,0
4019 404572' 260 14 0 00 406177' PUSHJ P,BIND
4020 404573' 550 07 0 07 000000 HRRZ TT,(TT)
4021 404574' 326 07 0 00 404570' PG7B: JUMPN TT,PG7A
4022 404575' 261 17 0 00 000570' PUSH SP,SPSV
4023 404576' 202 14 0 00 000542' MOVEM P,PA3
4024
4025 404577' 550 06 0 00 000543' PG1: HRRZ T,PA4
4026 404600' 322 06 0 00 404643' JUMPE T,PG4 ;## IF END OF PROG, QUITE
4027 404601' 554 01 0 06 000000 HLRZ A,(T) ;## A HAS FIRST STATEMENT
4028 404602' 550 06 0 06 000000 HRRZ T,(T) ;## T KEEPS THE REST
4029 404603' 302 01 0 00 000000 CAIE A,NIL ;## TEST FOR NIL
4030 404604' 303 01 0 00 377777 CAILE A,INUMIN ;## ALLOW INUMS FOR PROG LABELS 3/28/73
4031 404605' 254 00 0 00 404600' JRST PG1+1 ;## NOW WE CAN SKIP OVER THIS TYPE OF ATOM
4032 404606' 530 02 0 01 000000 HLLE B,(A) ;## IS IT A ATOM?
4033 404607' 342 02 0 00 404600' AOJE B,PG1+1 ;## JA, SO JUMP
4034 404610' 542 06 0 00 000543' HRRM T,PA4 ;## SAVE REST OF BODY
4035
4036 404611' 261 14 0 00 000017 PUSH P,SP ;$$SAVE SPDL TO RESTORE AFTER EVAL
4037 404612' 260 14 0 00 405505' PUSHJ P,EVAL ;## EVAL THE STATEMENT
4038 404613' 262 14 0 00 000017 POP P,SP ;$$RESTORE SPDL AFTER EVAL
4039
4040 404614' 254 00 0 00 404577' JRST PG1
4041
4042 404615' 336 00 0 00 000542' PGO: SKIPN PA3 ;## ERROR IF NO PROG
4043 404616' 254 00 0 00 400735' JRST EG2
4044 404617' 200 14 0 00 000542' MOVE P,PA3 ;## BACK UP ON RPDL
4045 404620' 200 02 0 14 000001 MOVE B,1(P) ;## GET FORM
4046 404621' 260 14 0 00 406226' PUSHJ P,UBD
4047 404622' 515 03 0 00 263600 HRLZI C,(POPJ P,) ;## NEW CODE TO ALLOW BREAKING
4048 ;## AND TRACING OF GO
4049 404623' 260 14 0 00 411041' PUSHJ P,DOSET ;##
4050 404624' 554 06 0 00 000543' HLRZ T,PA4
4051 404625' 322 06 0 00 400733' PG5: JUMPE T,EG1 ;## ERROR IF NO TAG FOUND
4052 404626' 554 07 0 06 000000 HLRZ TT,(T) ;## GET THE CAR
4053 404627' 550 06 0 06 000000 HRRZ T,(T) ;## SAVE UP THE REST OF THE BODY
4054 404630' 306 07 0 01 000000 CAIN TT,(A)
4055 404631' 254 00 0 00 404600' JRST PG1+1 ;FOUND TAG
4056 404632' 254 00 0 00 404625' JRST PG5 ;## TRY AGAIN
4057
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-100
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
4058 404633' 336 00 0 00 000542' RETURN: SKIPN PA3
4059 404634' 254 00 0 00 400737' JRST EG3
4060 404635' 200 14 0 00 000542' MOVE P,PA3
4061 404636' 200 02 0 14 000001 MOVE B,1(P)
4062 404637' 260 14 0 00 406226' PUSHJ P,UBD
4063 404640' 515 03 0 00 263600 HRLZI C,(POPJ P,) ;## NEW CODE TO ALLOW BREAKING
4064 ;## AND TRACING OF RETURN
4065 404641' 260 14 0 00 411041' PUSHJ P,DOSET ;##
4066 404642' 254 00 0 00 404644' JRST PG4+1
4067
4068 404643' 400 01 0 00 000000 PG4: SETZ A,
4069 404644' 260 14 0 00 406237' PUSHJ P,UNBIND
4070 404645' 262 14 0 00 000543' ERRP4: POP P,PA4
4071 404646' 262 14 0 00 000542' POP P,PA3
4072 404647' 263 14 0 00 000000 POPJ P,
4073
4074 404650' 554 01 0 01 000000 GO: HLRZ A,(A)
4075 404651' 302 01 0 00 000000 CAIE A,NIL ;## TEST FOR NIL
4076 404652' 303 01 0 00 377777 CAILE A,INUMIN ;## IS IT AN INUM?(NOW VALID)
4077 404653' 254 00 0 00 404615' JRST PGO ;## SEE IF IT IS THE ONE
4078 404654' 530 02 0 01 000000 HLLE B,(A) ;## IS IT AN ATOM
4079 404655' 342 02 0 00 404615' AOJE B,PGO
4080 404656' 260 14 0 00 405505' PUSHJ P,EVAL
4081 404657' 254 00 0 00 404651' JRST GO+1
4082
4083
4084 404660' 554 02 0 01 000000 SETQ: HLRZ B,(A)
4085 404661' 261 14 0 00 000002 PUSH P,B
4086 404662' 260 14 0 00 403603' PUSHJ P,CADR
4087 404663' 260 14 0 00 405505' PUSHJ P,EVAL
4088 404664' 200 02 0 00 000001 MOVE B,A
4089 404665' 262 14 0 00 000001 POP P,A
4090 404666' 332 00 0 00 000001 SET: SKIPE A ;$$ MUST BE NON-NIL
4091 404667' 303 01 0 00 377777 CAILE A,INUMIN ;$$ AND NOT AN INUM
4092 404670' 254 00 0 00 400731' JRST SETERR ;$$
4093 404671' 574 04 0 01 000000 HLRE AR1,(A) ;$$ AND AN ATOM
4094 404672' 346 04 0 00 400731' AOJN AR1,SETERR ;$$
4095 404673' 200 04 0 00 000002 MOVE AR1,B
4096 404674' 260 14 0 00 406177' PUSHJ P,BIND
4097 404675' 274 17 0 00 411474' SUB SP,[XWD 1,1]
4098 404676' 200 01 0 00 000004 MOVE A,AR1
4099 404677' 263 14 0 00 000000 POPJ P,
4100
4101 404700' 550 01 0 06 000000 CON2: HRRZ A,(T)
4102 404701' 322 01 0 00 404014' COND: JUMPE A,CPOPJ ;entry
4103 404702' 261 14 0 00 000001 PUSH P,A
4104 404703' 554 01 0 01 000000 HLRZ A,(A)
4105 404704' 554 01 0 01 000000 HLRZ A,(A)
4106 404705' 260 14 0 00 405505' PUSHJ P,EVAL
4107 404706' 262 14 0 00 000006 POP P,T
4108 404707' 322 01 0 00 404700' JUMPE A,CON2
4109 404710' 554 06 0 06 000000 HLRZ T,(T)
4110 404711' 550 06 0 06 000000 COND2: HRRZ T,(T)
4111 404712' 322 06 0 00 404014' JUMPE T,CPOPJ ;ENTRY FOR ALL TYPES OF PROGN'S
4112 404713' 554 01 0 06 000000 HLRZ A,(T)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-101
UCILSP MAC 27-MAR-75 17:13 LISP INTERPRETER SUBROUTINES
4113 404714' 550 06 0 06 000000 HRRZ T,(T) ;$$
4114 404715' 322 06 0 00 405505' JUMPE T,EVAL ;$$ SAVE STACK SPACE IF NO IMPLIED PROG
4115 404716' 261 14 0 00 000006 PUSH P,T ;$$
4116 404717' 260 14 0 00 405505' PUSHJ P,EVAL
4117 404720' 262 14 0 00 000006 POP P,T
4118 404721' 254 00 0 00 404713' JRST COND2+2 ;$$ BECAUSE OF THE LAST CHANGE
4119
4120
4121 ;LEXORDER - TRUE IF A IS ALPHAMERICALLY LESS THAT OR EQUAL TO B
4122
4123 404722' 200 07 0 00 000001 LEXORD: MOVE TT,A
4124 404723' 260 14 0 00 404064' PUSHJ P,NUMBERP
4125 404724' 326 01 0 00 404755' JUMPN A,LEX2 ;1ST ARG IS A NUMBER
4126 404725' 200 01 0 00 000002 MOVE A,B
4127 404726' 260 14 0 00 404064' PUSHJ P,NUMBERP
4128 404727' 250 01 0 00 000007 EXCH A,TT
4129 404730' 326 07 0 00 404013' JUMPN TT,FALSE ;1ST=NOT-NUM, 2ND=NUM, DEFINE AS NIL
4130 404731' 200 06 0 00 000002 MOVE T,B
4131 404732' 201 02 0 11 003734' MOVEI B,PNAME(S)
4132 404733' 260 14 0 00 404037' PUSHJ P,GET
4133 404734' 250 01 0 00 000006 EXCH A,T
4134 404735' 260 14 0 00 404037' PUSHJ P,GET
4135 404736' 322 06 0 00 403764' LEX1: JUMPE T,TRUE
4136 404737' 322 01 0 00 404014' JUMPE A,CPOPJ
4137 404740' 554 04 0 01 000000 HLRZ AR1,(A)
4138 404741' 200 04 0 04 000000 MOVE AR1,(AR1)
4139 404742' 554 05 0 06 000000 HLRZ AR2A,(T)
4140 404743' 200 05 0 05 000000 MOVE AR2A,(AR2A)
4141 404744' 242 04 0 00 777777 LSH AR1,-1
4142 404745' 242 05 0 00 777777 LSH AR2A,-1
4143 404746' 313 04 0 00 000005 CAMLE AR1,AR2A
4144 404747' 254 00 0 00 403764' JRST TRUE
4145 404750' 312 04 0 00 000005 CAME AR1,AR2A
4146 404751' 254 00 0 00 404013' JRST FALSE
4147 404752' 550 01 0 01 000000 HRRZ A,(A)
4148 404753' 550 06 0 06 000000 HRRZ T,(T)
4149 404754' 254 00 0 00 404736' JRST LEX1
4150 404755' 200 01 0 00 000002 LEX2: MOVE A,B
4151 404756' 260 14 0 00 404064' PUSHJ P,NUMBERP
4152 404757' 250 01 0 00 000007 EXCH A,TT
4153 404760' 322 07 0 00 403764' JUMPE TT,TRUE ;1ST=NUM, 2ND=NOT-NUM, DEFINE AS TRUE
4154 404761' 260 14 0 00 405034' PUSHJ P,.GREAT ;BOTH NUMBERS, DO (NOT (*GREAT A B))
4155 404762' 254 00 0 00 403763' JRST NOT
4156
4157
4158 404763' 200 06 0 00 000001 PROGN: MOVE T,A ;$$ PROGN
4159 404764' 201 01 0 00 000000 MOVEI A,NIL
4160 404765' 254 00 0 00 404712' JRST COND2+1 ;$$ IMPLIED PROG DOES THE REST
4161 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-102
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4162 SUBTTL ARITHMETIC SUBROUTINES
4163
4164 ;macro expander -- (foo a b c) => (*foo (*foo a b) c)
4165 404766' 200 03 0 00 000002 EXPAND: MOVE C,B
4166 404767' 550 01 0 01 000000 HRRZ A,(A)
4167 404770' 260 14 0 00 404015' PUSHJ P,REVERSE
4168 404771' 254 00 0 00 404773' JRST EXPA1
4169
4170 404772' 200 03 0 00 000002 EXPN1: MOVE C,B
4171 404773' 550 06 0 01 000000 EXPA1: HRRZ T,(A)
4172 404774' 554 01 0 01 000000 HLRZ A,(A)
4173 404775' 322 06 0 00 404014' JUMPE T,CPOPJ
4174 404776' 261 14 0 00 000001 PUSH P,A
4175 404777' 200 01 0 00 000006 MOVE A,T
4176 405000' 260 14 0 00 404773' PUSHJ P,EXPA1
4177 405001' 250 01 0 14 000000 EXCH A,(P)
4178 405002' 260 14 0 00 403657' PUSHJ P,NCONS
4179 405003' 262 14 0 00 000002 POP P,B
4180 405004' 260 14 0 00 403660' PUSHJ P,XCONS
4181 405005' 200 02 0 00 000003 MOVE B,C
4182 405006' 254 00 0 00 403660' JRST XCONS
4183
4184 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-103
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4185
4186 405007' 303 01 0 00 377777 ADD1: CAILE A,INUMIN
4187 405010' 301 01 0 00 777776 CAIL A,-2
4188 405011' 334 02 0 00 411500' SKIPA B,[INUM0+1]
4189 405012' 344 01 0 00 404014' AOJA A,CPOPJ
4190 405013' 265 03 0 00 405211' .PLUS: JSP C,OP
4191 405014' 270 01 0 00 000007 ADD A,TT
4192 405015' 144 01 0 00 000007 FADR A,TT
4193
4194 405016' 303 01 0 00 400000 SUB1: CAILE A,INUMIN+1
4195 405017' 364 01 0 00 404014' SOJA A,CPOPJ
4196 405020' 201 02 0 00 600000 MOVEI B,INUM0+1
4197 405021' 265 03 0 00 405211' .DIF: JSP C,OP
4198 405022' 274 01 0 00 000007 SUB A,TT
4199 405023' 154 01 0 00 000007 FSBR A,TT
4200
4201 405024' 265 03 0 00 405211' .TIMES: JSP C,OP
4202 405025' 220 01 0 00 000007 IMUL A,TT
4203 405026' 164 01 0 00 000007 FMPR A,TT
4204
4205 405027' 306 02 0 00 577777 .QUO: CAIN B,INUM0
4206 405030' 254 00 0 00 405173' JRST ZERODIV
4207 405031' 265 03 0 00 405211' JSP C,OP
4208 405032' 230 01 0 00 000007 IDIV A,TT
4209 405033' 174 01 0 00 000007 FDVR A,TT
4210
4211 405034' 250 01 0 00 000002 .GREAT: EXCH A,B
4212 405035' 322 02 0 00 404013' JUMPE B,FALSE
4213 405036' 322 01 0 00 404014' .LESS: JUMPE A,CPOPJ
4214 405037' 265 03 0 00 405211' JSP C,OP
4215 405040' 254 00 0 00 405042' JRST COMP2 ;bignums know about me
4216 405041' 254 00 0 00 405042' JRST COMP2
4217
4218 405042' 311 01 0 00 000007 COMP2: CAML A,TT
4219 405043' 254 00 0 00 404013' JRST FALSE
4220 405044' 254 00 0 00 403764' JRST TRUE
4221
4222 405045' 201 12 0 00 405034' .MAX: MOVEI D,.GREAT
4223 405046' 334 00 0 00 000000 SKIPA
4224 405047' 201 12 0 00 405036' .MIN: MOVEI D,.LESS
4225 405050' 200 04 0 00 000001 MOVE AR1,A
4226 405051' 200 05 0 00 000002 MOVE AR2A,B
4227 405052' 260 14 0 12 000000 PUSHJ P,(D)
4228 405053' 336 00 0 00 000001 SKIPN A
4229 405054' 200 04 0 00 000005 MOVE AR1,AR2A
4230 405055' 200 01 0 00 000004 MOVE A,AR1
4231 405056' 263 14 0 00 000000 POPJ P,
4232 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-104
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4233 405057' MAKNUM:
4234 405057' 302 02 0 11 003744' CAIE B,FLONUM(S) ;## DEFAULT TO FIXNUM, NOT FLONUM
4235 405060' 254 00 0 00 405220' JRST FIX1A
4236 405061' FLO1A:
4237 405061' 201 02 0 11 003744' MOVEI B,FLONUM(S)
4238 405062' 260 14 0 00 403767' PUSHJ P,FWCONS
4239 405063' 254 00 0 00 403655' JRST ACONS-1
4240
4241 405064' 275 01 0 00 577777 FIX1B: SUBI A,INUM0
4242 405065' 201 02 0 11 003740' MOVEI B,FIXNUM(S)
4243 405066' 260 14 0 00 403767' PUSHJ P,FWCONS
4244 405067' 254 00 0 00 403655' JRST ACONS-1
4245
4246 405070' 255 17 0 00 405071' NUMVLX: JFCL 17,.+1
4247 405071' 307 01 0 00 377777 NUMVAL: CAIG A,INUMIN
4248 405072' 254 00 0 00 405076' JRST NUMAG1
4249 405073' 275 01 0 00 577777 SUBI A,INUM0
4250 405074' 201 02 0 11 003740' MOVEI B,FIXNUM(S)
4251 405075' 263 14 0 00 000000 POPJ P,
4252
4253 405076' 202 01 0 00 000004 NUMAG1: MOVEM A,AR1
4254 405077' 550 01 0 01 000000 HRRZ A,(A)
4255 405100' 554 02 0 01 000000 HLRZ B,(A)
4256 405101' 550 01 0 01 000000 HRRZ A,(A)
4257 405102' 302 02 0 11 003740' CAIE B,FIXNUM(S)
4258 405103' 306 02 0 11 003744' CAIN B,FLONUM(S)
4259 405104' 334 01 0 01 000000 SKIPA A,(A)
4260 405105' 334 01 0 00 000004 NUMV4: SKIPA A,AR1
4261 405106' 263 14 0 00 000000 POPJ P,
4262 405107' 260 14 0 00 402322' NUMV2: PUSHJ P,EPRINT ;bignums know about me
4263 405110' 254 00 0 00 400721' JRST NONNUM
4264
4265 405111' 254 00 0 00 400721' NUMV3: JRST NONNUM ;bignums change me to JRST BIGDIS
4266 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-105
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4267 405112' 231 01 0 00 400000 FLOAT: IDIVI A,400000
4268 405113' 332 00 0 00 000001 SKIPE A
4269 405114' 641 01 0 00 254000 TLC A,254000
4270 405115' 641 02 0 00 233000 TLC B,233000
4271 405116' 144 01 0 00 000002 FADR A,B
4272 405117' 263 14 0 00 000000 POPJ P,
4273
4274 405120' 261 14 0 00 000001 FIX: PUSH P,A
4275 405121' 260 14 0 00 405071' PUSHJ P,NUMVAL
4276 405122' 302 02 0 11 003744' CAIE B,FLONUM(S)
4277 405123' 254 00 0 00 405717' JRST POPAJ
4278 405124' 225 01 0 00 000400 MULI A,400
4279 405125' 651 01 0 00 000001 TSC A,A
4280 405126' 255 17 0 00 405127' JFCL 17,.+1
4281 405127' 240 02 0 01 777535 ASH B,-243(A)
4282 405130' 255 10 0 00 405172' FIX2: JFCL 10,FIXOV ;bignums change me to jfcl 10,bfix
4283 405131' 262 14 0 00 000001 POP P,A
4284 405132' 200 01 0 00 000002 FIX1: MOVE A,B
4285 405133' 254 00 0 00 405220' JRST FIX1A
4286
4287 405134' 260 14 0 00 405071' MINUSP: PUSHJ P,NUMVAL
4288 405135' 325 01 0 00 404013' JUMPGE A,FALSE
4289 405136' 254 00 0 00 403764' JRST TRUE
4290
4291 405137' 260 14 0 00 405070' MINUS: PUSHJ P,NUMVLX
4292 405140' 213 00 0 00 000001 MOVNS A
4293 405141' 255 10 1 00 405247' JFCL 10,@OPOV
4294 405142' 254 00 0 00 405057' JRST MAKNUM
4295
4296 405143' 260 14 0 00 405070' ABS: PUSHJ P,NUMVLX
4297 405144' 217 00 0 00 000001 MOVMS A
4298 405145' 254 00 0 00 405141' JRST MINUS+2
4299
4300 405146' 260 14 0 00 405071' NUMTYP: PUSHJ P,NUMVAL ;## NUMVAL LEAVES TYPE IN B
4301 405147' 201 01 0 02 000000 MOVEI A,(B) ;## GET THE TYPE
4302 405150' 263 14 0 00 000000 POPJ P,
4303
4304 405151' 307 01 0 00 377777 INUMP: CAIG A,INUMIN ;## INUM IF > INUMIN
4305 405152' 254 00 0 00 404013' JRST FALSE ;## NO, RETURN NIL
4306 405153' 263 14 0 00 000000 POPJ P, ;## RETURN USEFUL VALUE
4307 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-106
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4308 405154' 306 02 0 00 577777 DIVIDE: CAIN B,INUM0
4309 405155' 254 00 0 00 405173' JRST ZERODIV
4310 405156' 265 03 0 00 405211' JSP C,OP
4311 405157' 326 00 0 00 405161' JUMPN RDIV ;bignums know about me
4312 405160' 254 00 0 00 405175' JRST ILLNUM
4313 405161' 230 01 0 00 000007 RDIV: IDIV A,TT
4314 405162' 261 14 0 00 000002 PUSH P,B
4315 405163' 260 14 0 00 405220' PUSHJ P,FIX1A
4316 405164' 250 01 0 14 000000 EXCH A,(P)
4317 405165' 260 14 0 00 405220' PUSHJ P,FIX1A
4318 405166' 262 14 0 00 000002 POP P,B
4319 405167' 254 00 0 00 403660' JRST XCONS
4320
4321 405170' REMAINDER:
4322 405170' 260 14 0 00 405154' PUSHJ P,DIVIDE
4323 405171' 254 00 0 00 403615' JRST CDR
4324
4325 405172' 001 00 0 00 411501' FIXOV: ERR1 [SIXBIT /INTEGER OVERFLOW!/]
4326 405173' 001 00 0 00 411504' ZERODIV:ERR1 [SIXBIT /ZERO DIVISOR!/]
4327 405174' 001 00 0 00 411507' FLOOV: ERR1 [SIXBIT /FLOATING OVERFLOW!/]
4328 405175' 001 00 0 00 411512' ILLNUM: ERR1 [SIXBIT /NON-INTEGRAL OPERAND!/]
4329
4330 405176' 265 03 0 00 405211' GCD: JSP C,OP
4331 405177' 324 00 0 00 405201' JUMPA GCD2 ;bignums know about me
4332 405200' 254 00 0 00 405175' JRST ILLNUM
4333 405201' 217 00 0 00 000001 GCD2: MOVMS A
4334 405202' 217 00 0 00 000007 MOVMS TT
4335 ;euclid's algorithm
4336 405203' 317 01 0 00 000007 GCD3: CAMG A,TT
4337 405204' 250 01 0 00 000007 EXCH A,TT
4338 405205' 322 07 0 00 405220' JUMPE TT,FIX1A
4339 405206' 230 01 0 00 000007 IDIV A,TT
4340 405207' 200 01 0 00 000002 MOVE A,B
4341 405210' 254 00 0 00 405203' JRST GCD3
4342 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-107
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4343 ;general arithmetic op code routine for mixed types
4344
4345 405211' 307 01 0 00 377777 OP: CAIG A,INUMIN
4346 405212' 254 00 0 00 405225' JRST OPA1
4347 405213' 275 01 0 00 577777 SUBI A,INUM0
4348 405214' 307 02 0 00 377777 CAIG B,INUMIN
4349 405215' 254 00 0 00 405233' JRST OPA2
4350 405216' 571 07 0 02 200001 HRREI TT,-INUM0(B)
4351 405217' 256 00 0 03 000000 XCT (C) ;inum op (cannot cause overflow)
4352 405220' 271 01 0 00 577777 FIX1A: ADDI A,INUM0
4353 405221' 303 01 0 00 377777 CAILE A,INUMIN
4354 405222' 301 01 0 00 777777 CAIL A,-1
4355 405223' 254 00 0 00 405064' JRST FIX1B
4356 405224' 263 14 0 00 000000 POPJ P,
4357
4358 405225' 550 01 0 01 000000 OPA1: HRRZ A,(A)
4359 405226' 554 06 0 01 000000 HLRZ T,(A)
4360 405227' 550 01 0 01 000000 HRRZ A,(A)
4361 405230' 302 06 0 11 003740' CAIE T,FIXNUM(S)
4362 405231' 254 00 0 00 405251' JRST OPA6
4363 405232' 334 01 0 01 000000 SKIPA A,(A)
4364 405233' OPA2:
4365 405233' 201 06 0 11 003740' MOVEI T,FIXNUM(S)
4366 405234' 303 02 0 00 377777 CAILE B,INUMIN
4367 405235' 254 00 0 00 405244' JRST OPB2
4368 405236' 550 02 0 02 000000 HRRZ B,(B)
4369 405237' 550 07 0 02 000000 HRRZ TT,(B)
4370 405240' 554 02 0 02 000000 HLRZ B,(B)
4371 405241' 302 02 0 11 003740' CAIE B,FIXNUM(S)
4372 405242' 254 00 0 00 405270' JRST OPA5
4373 405243' 334 07 0 07 000000 SKIPA TT,(TT)
4374 405244' 571 07 0 02 200001 OPB2: HRREI TT,-INUM0(B)
4375 405245' 255 17 0 00 405246' JFCL 17,.+1
4376 405246' 256 00 0 03 000000 XCT (C) ;fixed pt op
4377 405247' 255 10 0 00 405172' OPOV: JFCL 10,FIXOV ;bignums change this to jfcl 10,fixovl
4378 405250' 254 00 0 00 405220' JRST FIX1A
4379
4380 405251' 303 02 0 00 377777 OPA6: CAILE B,INUMIN
4381 405252' 254 00 0 00 405277' JRST OPB7
4382 405253' 550 02 0 02 000000 HRRZ B,(B)
4383 405254' 550 07 0 02 000000 HRRZ TT,(B)
4384 405255' 554 02 0 02 000000 HLRZ B,(B)
4385 405256' 302 02 0 11 003744' CAIE B,FLONUM(S)
4386 405257' 254 00 0 00 405274' JRST OPB3
4387 405260' 302 06 0 11 003744' CAIE T,FLONUM(S)
4388 405261' 254 00 0 00 405111' JRST NUMV3
4389 405262' 200 01 0 01 000000 MOVE A,(A)
4390 405263' 200 07 0 07 000000 MOVE TT,(TT)
4391 405264' 255 17 0 00 405265' OPR: JFCL 17,.+1
4392 405265' 256 00 0 03 000001 XCT 1(C) ;flt pt op
4393 405266' 255 10 0 00 405174' JFCL 10,FLOOV
4394 405267' 254 00 0 00 405061' JRST FLO1A
4395
4396 405270' OPA5:
4397 405270' 302 02 0 11 003744' CAIE B,FLONUM(S)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-108
UCILSP MAC 27-MAR-75 17:13 ARITHMETIC SUBROUTINES
4398 405271' 254 00 0 00 405111' JRST NUMV3
4399 405272' 260 14 0 00 405112' PUSHJ P,FLOAT
4400 405273' 254 00 0 00 405263' JRST OPR-1
4401
4402 405274' OPB3:
4403 405274' 302 02 0 11 003740' CAIE B,FIXNUM(S)
4404 405275' 254 00 0 00 405111' JRST NUMV3
4405 405276' 334 07 0 07 000000 SKIPA TT,(TT)
4406 405277' 571 07 0 02 200001 OPB7: HRREI TT,-INUM0(B)
4407 405300' 201 02 0 11 003740' MOVEI B,FIXNUM(S)
4408 405301' 302 06 0 11 003744' CAIE T,FLONUM(S)
4409 405302' 254 00 0 00 405111' JRST NUMV3
4410 405303' 200 01 0 01 000000 MOVE A,(A)
4411 405304' 250 01 0 00 000007 EXCH A,TT
4412 405305' 260 14 0 00 405112' PUSHJ P,FLOAT
4413 405306' 250 01 0 00 000007 EXCH A,TT
4414 405307' 254 00 0 00 405264' JRST OPR
4415 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-109
UCILSP MAC 27-MAR-75 17:13 EXPLODE, READLIST AND FRIENDS
4416 SUBTTL EXPLODE, READLIST AND FRIENDS
4417
4418 405310' 334 13 0 00 405311' %FLATSIZEC: SKIPA R,.+1 ;$$ FLATSIZEC - (LENGTH (EXPLODEC))
4419 405311' 551 13 0 00 405316' FLATSIZE: HRRZI R,FLAT2
4420 405312' 402 00 0 00 000464' SETZM FLAT1
4421 405313' 260 14 0 00 402341' PUSHJ P,PRINTA
4422 405314' 200 01 0 00 000464' MOVE A,FLAT1#
4423 405315' 254 00 0 00 405220' JRST FIX1A
4424 405316' 350 00 0 00 000464' FLAT2: AOS FLAT1
4425 405317' 263 14 0 00 000000 POPJ P,
4426
4427
4428 405320' 334 13 0 00 405321' %EXPLODE: SKIPA R,.+1
4429 405321' 551 13 0 00 405325' EXPLODE: HRRZI R,EXPL1
4430 405322' 205 04 0 00 000004 MOVSI AR1,AR1
4431 405323' 260 14 0 00 402341' PUSHJ P,PRINTA
4432 405324' 254 00 0 00 404554' JRST SUBS4
4433
4434 405325' 261 14 0 00 000002 EXPL1: PUSH P,B
4435 405326' 261 14 0 00 000003 PUSH P,C
4436 405327' 405 01 0 00 000177 ANDI A,177
4437 405330' 301 01 0 00 000060 CAIL A,"0"
4438 405331' 303 01 0 00 000071 CAILE A,"9"
4439 405332' 254 00 0 00 405335' JRST EXPL2
4440 405333' 271 01 0 00 577717 ADDI A,INUM0-"0"
4441 405334' 254 00 0 00 405350' JRST EXPL4
4442
4443 405335' 261 14 0 00 000004 EXPL2: PUSH P,AR1
4444 405336' 261 14 0 00 000007 PUSH P,TT
4445 405337' 261 14 0 00 000006 PUSH P,T
4446 405340' 242 01 0 00 000035 LSH A,35
4447 405341' 200 03 0 00 000017 MOVE C,SP
4448 405342' 261 03 0 00 000001 PUSH C,A
4449 405343' 201 04 0 00 000001 MOVEI AR1,1
4450 405344' 260 14 0 00 403271' PUSHJ P,INTER0
4451 405345' 262 14 0 00 000006 POP P,T
4452 405346' 262 14 0 00 000007 POP P,TT
4453 405347' 262 14 0 00 000004 POP P,AR1
4454 405350' 260 14 0 00 403657' EXPL4: PUSHJ P,NCONS
4455 405351' 544 02 0 00 000004 HLR B,AR1
4456 405352' 542 01 0 02 000000 HRRM A,(B)
4457 405353' 506 01 0 00 000004 HRLM A,AR1
4458 405354' 262 14 0 00 000003 POP P,C
4459 405355' 254 00 0 00 406212' JRST POPBJ
4460 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-110
UCILSP MAC 27-MAR-75 17:13 EXPLODE, READLIST AND FRIENDS
4461 405356' 634 06 0 00 000006 READLIST: TDZA T,T
4462 405357' 211 06 0 00 000001 MAKNAM: MOVNI T,1
4463 405360' 202 06 0 00 000531' MOVEM T,NOINFG
4464 405361' 261 14 0 00 000044' PUSH P,OLDCH
4465 405362' 402 00 0 00 000044' SETZM OLDCH
4466 405363' 322 01 0 00 400723' JUMPE A,NOLIST
4467 405364' 542 01 0 00 000524' HRRM A,MKNAM3
4468 405365' 201 01 0 00 405374' MOVEI A,MKNAM2
4469 405366' 260 14 0 00 402631' PUSHJ P,READ0
4470 405367' 550 06 0 00 000524' HRRZ T,MKNAM3
4471 405370' 302 06 0 00 777777 CAIE T,-1
4472 405371' 326 06 0 00 411524' JUMPN T,[ERR1 [SIXBIT /MORE THAN ONE S-EXPRESSION-MKNAM!/]]
4473 405372' 262 14 0 00 000044' POP P,OLDCH
4474 405373' 263 14 0 00 000000 POPJ P,
4475
4476 405374' 261 14 0 00 000002 MKNAM2: PUSH P,B
4477 405375' 261 14 0 00 000006 PUSH P,T
4478 405376' 261 14 0 00 000007 PUSH P,TT
4479 405377' 550 07 0 00 000524' HRRZ TT,MKNAM3#
4480 405400' 322 07 0 00 405422' JUMPE TT,MKNAM6
4481 405401' 306 07 0 00 777777 CAIN TT,-1
4482 405402' 001 00 0 00 411525' ERR1 [SIXBIT /READ UNHAPPY-MAKNAM!/]
4483 405403' 550 02 0 07 000000 HRRZ B,(TT)
4484 405404' 542 02 0 00 000524' HRRM B,MKNAM3
4485 405405' 554 01 0 07 000000 HLRZ A,(TT)
4486 405406' 305 01 0 00 377777 CAIGE A,INUMIN
4487 405407' 254 00 0 00 405414' JRST MKNAM5
4488 405410' 275 01 0 00 577717 SUBI A,INUM0-"0"
4489 405411' 262 14 0 00 000007 MKNAM4: POP P,TT
4490 405412' 262 14 0 00 000006 POP P,T
4491 405413' 254 00 0 00 406212' JRST POPBJ
4492
4493 405414' 554 01 0 07 000000 MKNAM5: HLRZ A,(TT)
4494 405415' 201 02 0 11 003734' MOVEI B,PNAME(S)
4495 405416' 260 14 0 00 404037' PUSHJ P,GET
4496 405417' 554 01 0 01 000000 HLRZ A,(A)
4497 405420' 135 01 0 00 411531' LDB A,[POINT 7,(A),6]
4498 405421' 254 00 0 00 405411' JRST MKNAM4
4499
4500 405422' 201 01 0 00 000040 MKNAM6: MOVEI A," "
4501 405423' 523 00 0 00 000524' HLLOS MKNAM3
4502 405424' 254 00 0 00 405411' JRST MKNAM4
4503
4504 ; A COUPLE OF FUNCTIONS SO THAT THE PROGRAMMER MAY RETURN CELLS TO THE FREE LIST
4505 405425' 202 15 0 01 000000 FREE: MOVEM F,(A) ;$$ RETURN A SINGLE CELL TO FREE LIST
4506 405426' 550 15 0 00 000001 HRRZ F,A
4507 405427' 254 00 0 00 404013' JRST FALSE
4508 405430' 322 01 0 00 404014' FREELI: JUMPE A,CPOPJ ;$$ RETURN A LIST TO THE FREE LIST
4509 405431' 550 02 0 01 000000 HRRZ B,(A)
4510 405432' 202 15 0 01 000000 MOVEM F,(A)
4511 405433' 550 15 0 00 000001 HRRZ F,A
4512 405434' 200 01 0 00 000002 MOVE A,B
4513 405435' 254 00 0 00 405430' JRST FREELI
4514
4515
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-111
UCILSP MAC 27-MAR-75 17:13 EXPLODE, READLIST AND FRIENDS
4516 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-112
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4517 SUBTTL EVAL APPLY -- THE INTERPRETER
4518
4519 405436' 303 01 0 00 377777 APPLY.: CAILE A,INUMIN ;$$ AN APPLY TO HANDLE ANY FUNCTION TYPE
4520 405437' 254 00 0 00 400727' JRST UNDTAG
4521 405440' 554 06 0 01 000000 HLRZ T,(A)
4522 405441' 302 06 0 00 777777 CAIE T,-1
4523 405442' 254 00 0 00 405463' JRST GAPP
4524 405443' 550 06 0 01 000000 HRRZ T,(A)
4525 405444' 322 06 0 00 405463' AAGN: JUMPE T,GAPP
4526 405445' 554 07 0 06 000000 HLRZ TT,(T)
4527 405446' 550 06 0 06 000000 HRRZ T,(T)
4528 405447' 306 07 0 11 003764' CAIN TT,FSUBR(S)
4529 JRST [MOVE A,B
4530 HLRZ T,(T)
4531 405450' 254 00 0 00 411532' JRST (T)]
4532 405451' 306 07 0 11 003774' CAIN TT,FEXPR(S)
4533 JRST [ HLRZ T,(T)
4534 HRL T,A
4535 PUSH P,T
4536 MOVE A,B
4537 405452' 254 00 0 00 411535' JRST APPL.2]
4538 405453' 306 07 0 11 004024' CAIN TT,MACRO(S)
4539 JRST [ PUSHJ P,CONS
4540 405454' 254 00 0 00 411542' JRST EVAL]
4541 405455' 306 07 0 11 003770' CAIN TT,EXPR(S)
4542 405456' 254 00 0 00 405463' JRST GAPP
4543 405457' 306 07 0 11 003760' CAIN TT,SUBR(S)
4544 405460' 254 00 0 00 405463' JRST GAPP
4545 405461' 302 07 0 11 004020' CAIE TT,LSUBR(S)
4546 405462' 254 00 0 00 405444' JRST AAGN
4547 405463' 571 06 0 00 777776 GAPP: HRREI T,-2
4548 405464' 261 14 0 00 000001 PUSH P,A
4549 405465' 261 14 0 00 000002 PUSH P,B
4550 405466' 254 00 0 00 405724' JRST APPLY
4551
4552 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-113
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4553 405467' 554 01 0 04 000000 EV3: HLRZ A,(AR1)
4554 405470' 201 02 0 11 003750' MOVEI B,VALUE(S)
4555 405471' 260 14 0 00 404037' PUSHJ P,GET
4556 405472' 322 01 0 00 400714' JUMPE A,UNDFUN ;function object has no definition
4557 405473' 550 01 0 01 000000 HRRZ A,(A)
4558 REMOTE<
4559 XXX4:
4560 UBDPTR: UNBOUND>
4561 405474' 554 02 0 04 000000 HLRZ B,(AR1) ;$$GET ORIGINAL FN NAME
4562 405475' 312 01 0 00 000002 CAME A,B ;$$IF VALUE IS THE SAME THE WE HAVE A LOOP
4563 405476' 316 01 0 00 000365' CAMN A,UBDPTR
4564 405477' 254 00 0 00 400714' JRST UNDFUN
4565 405500' 550 02 0 04 000000 HRRZ B,(AR1) ;eval (cons (cdr a)(cdr ar1))
4566 405501' 260 14 0 00 403661' PUSHJ P,CONS
4567 405502' 254 00 0 00 405511' JRST XXEVAL
4568 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-114
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4569 405503' 346 06 0 00 405606' OEVAL: AOJN T,AEVAL
4570 405504' 262 14 0 00 000001 POP P,A
4571 405505' 261 14 0 00 000017 EVAL: PUSH P,SP ;$$SAVE SPDL
4572 405506' 260 14 0 00 405511' PUSHJ P,XXEVAL ;$$GO DO EVALUATION AS USUAL
4573 405507' 262 14 0 00 000017 POP P,SP ;$$RESTORE SPDL
4574 405510' 263 14 0 00 000000 POPJ P, ;$$AND RETURN TO CALLER
4575
4576 405511' 552 01 0 00 000004 XXEVAL: HRRZM A,AR1
4577 405512' 303 01 0 00 377777 CAILE A,INUMIN
4578 405513' 254 00 0 00 404014' JRST CPOPJ
4579
4580 ;$$CODE TO PUT EVAL BLIP ON SPECIAL PDL
4581
4582 405514' 261 14 0 00 000002 PUSH P,B ;$$SAVE WHAT WAS IN B
4583 405515' 551 02 0 14 777777 HRRZI B,-1(P) ;$$GET RPDL POINTER AND OFFSET
4584 405516' 505 02 0 11 002706' HRLI B,UNBOUND(S) ;$$ SET UP RPDL POINTER
4585 405517' 261 17 0 00 000002 PUSH SP,B ;$$ SAVE RPDL POINTER ON SPDL
4586 405520' 261 17 0 00 000001 PUSH SP,A ;$$SAVE EVAL FORM ON SPDL
4587 405521' 262 14 0 00 000002 POP P,B ;$$AND GO OON
4588 405522' 554 06 0 01 000000 HLRZ T,(A) ;;;;;;;;;;;;;
4589
4590
4591 405523' 336 00 0 00 000461' SKIPN ERINT# ;$$CHECK IF DDT (CONTROL H) INTERRUPT OCCURRED
4592 405524' 254 00 0 00 405530' JRST .+4 ;$$SKIP OVER INTERRUPT FEATURE
4593 405525' 402 00 0 00 000461' SETZM ERINT# ;$$TURN OFF INTERRUPT FLAG
4594 405526' 260 14 0 00 402322' PUSHJ P,EPRINT ;$$PRINT OUT WHAT WAS INTERRUPTED
4595 405527' 001 00 0 00 411544' ERR1 [SIXBIT /WAS JUST INTERRUPTED - NOW IN ERRORX!/]
4596
4597 405530' 306 06 0 00 777777 CAIN T,-1
4598 405531' 254 00 0 00 405537' JRST EE1 ;x is atomic
4599 405532' 303 06 0 00 377777 CAILE T,INUMIN
4600 405533' 254 00 0 00 400714' JRST UNDFUN
4601
4602
4603 405534' 564 07 0 06 000000 HLRO TT,(T)
4604 405535' 342 07 0 00 405644' AOJE TT,EE2 ;car (x) is atomic
4605 405536' 254 00 0 00 405676' JRST EXP3
4606
4607 405537' EE1:
4608 405537' 550 04 0 04 000000 EV5: HRRZ AR1,(AR1)
4609 405540' 322 04 0 00 400717' JUMPE AR1,UNBVAR
4610 405541' 554 07 0 04 000000 HLRZ TT,(AR1)
4611 405542' 302 07 0 11 003744' CAIE TT,FLONUM(S)
4612 405543' 306 07 0 11 003740' CAIN TT,FIXNUM(S)
4613 405544' 263 14 0 00 000000 POPJ P,
4614 405545' 550 04 0 04 000000 EVBIG: HRRZ AR1,(AR1) ;bignums know about me
4615 405546' 302 07 0 11 003750' CAIE TT,VALUE(S)
4616 405547' 254 00 0 00 405537' JRST EV5
4617 405550' 554 04 0 04 000000 HLRZ AR1,(AR1)
4618 405551' 550 04 0 04 000000 HRRZ AR1,(AR1)
4619 405552' 306 04 0 11 002706' CAIN AR1,UNBOUND(S)
4620 405553' 254 00 0 00 400717' JRST UNBVAR
4621 405554' 202 04 0 00 000001 MOVEM AR1,A
4622 405555' 263 14 0 00 000000 POPJ P,
4623 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-115
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4624 ; HANDLER OF ALISTS AND SPDL CONTEXT POINTERS
4625
4626 405556' 332 01 0 14 777777 ALIST: SKIPE A,-1(P)
4627 405557' 260 14 0 00 404064' PUSHJ P,NUMBERP
4628 405560' 202 17 0 00 000570' MOVEM SP,SPSV
4629 405561' 326 01 0 00 405632' JUMPN A,AEVAL7 ;number
4630 405562' 200 03 0 00 000562' MOVE C,SC2 ;bottom of spec pdl
4631 405563' 202 03 0 00 000435' MOVEM C,AEVAL5#
4632 405564' 476 00 0 00 000434' SETOM AEVAL2
4633 405565' 200 03 0 00 000017 AEVAL8: MOVE C,SP
4634 405566' 316 03 0 00 000435' AEVAL6: CAMN C,AEVAL5 ;bottom spec pdl
4635 405567' 254 00 0 00 405613' JRST AEVAL1 ;done
4636 405570' 262 03 0 00 000006 POP C,T ;pointer for next block
4637 405571' 325 06 0 00 405566' JUMPGE T,AEVAL6 ;$$SKIP ANY EVAL BLIP CRAP
4638 405572' 316 03 0 00 000006 AEVAL4: CAMN C,T
4639 405573' 254 00 0 00 405566' JRST AEVAL6 ;thru with block
4640 405574' 262 03 0 00 000004 POP C,AR1
4641 405575' 603 04 0 00 777777 TLNE AR1,-1 ;$$ TEST FOR EVAL BLIP
4642 405576' 254 00 0 00 405601' JRST .+3
4643 405577' 274 03 0 00 411474' SUB C,[XWD 1,1] ;$$ FOUND ONE, SKIP RPDL WORD
4644 405600' 254 00 0 00 405572' JRST AEVAL4
4645 405601' 207 00 0 00 000004 MOVSS AR1
4646 405602' 261 17 0 04 000000 PUSH SP,(AR1) ;save value cell
4647 405603' 546 04 0 04 000000 HLRM AR1,(AR1) ;store previous value in value cell
4648 405604' 506 04 0 17 000000 HRLM AR1,(SP) ;save pointer to spec pdl loc
4649 405605' 254 00 0 00 405572' JRST AEVAL4
4650
4651 405606' 260 14 0 00 405556' AEVAL: PUSHJ P,ALIST
4652 405607' 262 14 0 00 000001 POP P,A
4653 405610' 201 01 0 00 406237' MOVEI A,UNBIND
4654 405611' 250 01 0 14 000000 EXCH A,(P)
4655 405612' 254 00 0 00 405505' JRST EVAL
4656 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-116
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4657 405613' 335 00 0 00 000434' AEVAL1: SKIPGE AEVAL2
4658 405614' 336 02 0 14 777777 SKIPN B,-1(P)
4659 405615' 254 00 0 00 405630' JRST ABIND3 ;done with binding
4660
4661 ;alist binding
4662 405616' 200 01 0 00 000002 MOVE A,B
4663 405617' 260 14 0 00 404015' PUSHJ P,REVERSE
4664 405620' 334 00 0 00 000000 SKIPA
4665 405621' 200 01 0 00 000002 ABIND2: MOVE A,B
4666 405622' 550 02 0 01 000000 HRRZ B,(A)
4667 405623' 554 01 0 01 000000 HLRZ A,(A)
4668 405624' 550 04 0 01 000000 HRRZ AR1,(A)
4669 405625' 554 01 0 01 000000 HLRZ A,(A)
4670 405626' 260 14 0 00 406177' PUSHJ P,BIND
4671 405627' 326 02 0 00 405621' JUMPN B,ABIND2
4672 405630' 261 17 0 00 000570' ABIND3: PUSH SP,SPSV
4673 405631' 263 14 0 00 000000 POPJ P,
4674
4675 ;spec pdl binding
4676 405632' 200 01 0 14 777777 AEVAL7: MOVE A,-1(P)
4677 405633' 260 14 0 00 405071' PUSHJ P,NUMVAL
4678 405634' 321 01 0 00 405641' JUMPL A,.+5 ;MAKE SURE IT IS A VALID STACK POINTER
4679 405635' 204 06 0 00 000562' MOVS T,SC2 ;IT'S NOT, MAKE IT VALID
4680 405636' 270 06 0 00 000001 ADD T,A
4681 405637' 270 01 0 00 000562' ADD A,SC2
4682 405640' 504 01 0 00 000006 HRL A,T
4683 405641' 402 00 0 00 000434' CLEARM AEVAL2#
4684 405642' 202 01 0 00 000435' MOVEM A,AEVAL5 ;point to unbind to
4685 405643' 254 00 0 00 405565' JRST AEVAL8
4686
4687 ;AEVAL2: 0 ;0 for number, -1 for a-list
4688 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-117
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4689
4690 405644' 550 06 0 06 000000 EE2: HRRZ T,(T)
4691 405645' 322 06 0 00 405467' JUMPE T,EV3
4692 405646' 554 07 0 06 000000 HLRZ TT,(T)
4693 405647' 550 06 0 06 000000 HRRZ T,(T)
4694 405650' 306 07 0 11 003760' CAIN TT,SUBR(S)
4695 405651' 254 00 0 00 405705' JRST ESB
4696 405652' 306 07 0 11 004020' CAIN TT,LSUBR(S)
4697 405653' 254 00 0 00 404433' JRST EELS
4698 405654' 306 07 0 11 003770' CAIN TT,EXPR(S)
4699 405655' 254 00 0 00 405674' JRST AEXP
4700 405656' 306 07 0 11 003764' CAIN TT,FSUBR(S)
4701 405657' 254 00 0 00 405702' JRST EFS
4702 405660' 306 07 0 11 004024' CAIN TT,MACRO(S)
4703 405661' 254 00 0 00 405721' JRST EFM
4704 405662' 302 07 0 11 003774' CAIE TT,FEXPR(S)
4705 405663' 254 00 0 00 405644' JRST EE2
4706
4707 405664' 554 06 0 06 000000 HLRZ T,(T)
4708 405665' 500 06 0 04 000000 HLL T,(AR1)
4709 405666' 261 14 0 00 000006 PUSH P,T
4710 405667' 550 01 0 01 000000 HRRZ A,(A)
4711 405670' 661 01 0 00 400000 APPL.2: TLO A,400000
4712 405671' 261 14 0 00 000001 PUSH P,A
4713 405672' 211 06 0 00 000001 MOVNI T,1
4714 405673' 254 00 0 00 406001' JRST IAPPLY
4715
4716 405674' 554 06 0 06 000000 AEXP: HLRZ T,(T)
4717 405675' 500 06 0 04 000000 HLL T,(AR1)
4718 405676' 261 14 0 00 000006 EXP3: PUSH P,T
4719 405677' 550 01 0 04 000000 HRRZ A,(AR1)
4720 405700' 265 07 0 00 404435' CILIST: JSP TT,ILIST
4721 405701' 254 00 0 00 406001' EXP2: JRST IAPPLY
4722
4723 405702' 554 06 0 06 000000 EFS: HLRZ T,(T)
4724 405703' 550 01 0 04 000000 HRRZ A,(AR1)
4725 405704' 254 00 0 06 000000 JRST (T)
4726 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-118
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4727 405705' 550 01 0 04 000000 ESB: HRRZ A,(AR1)
4728 405706' 554 06 0 06 000000 UUOS2: HLRZ T,(T)
4729 405707' 500 06 0 04 000000 HLL T,(AR1)
4730 405710' 261 14 0 00 000006 PUSH P,T
4731 405711' 265 07 0 00 404435' JSP TT,ILIST
4732 405712' 254 00 0 06 405720' ESB1: JRST .+NACS+1(T)
4733 405713' 262 14 0 00 000005 POP P,A+4
4734 405714' 262 14 0 00 000004 POP P,A+3
4735 405715' 262 14 0 00 000003 POP P,A+2
4736 405716' 262 14 0 00 000002 POP P,A+1
4737 405717' 262 14 0 00 000001 POPAJ: POP P,A
4738 405720' 263 14 0 00 000000 POPJ P,
4739
4740 405721' 554 06 0 06 000000 EFM: HLRZ T,(T)
4741 405722' 036 01 0 06 000000 CALLF 1,(T)
4742 405723' 254 00 0 00 405505' JRST EVAL
4743 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-119
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4744
4745 405724' 201 07 0 00 405734' APPLY: MOVEI TT,AP2
4746 405725' 312 06 0 00 411553' CAME T,[-3]
4747 405726' 254 00 0 00 400327' JRST PDLARG
4748 405727' 202 06 0 00 000440' MOVEM T,APFNG1#
4749 405730' 260 14 0 00 405556' PUSHJ P,ALIST
4750 405731' 200 06 0 00 000440' MOVE T,APFNG1
4751 405732' 265 07 0 00 400327' JSP TT,PDLARG
4752 405733' 261 14 0 00 411554' PUSH P,[UNBIND]
4753 405734' 261 14 0 00 000001 AP2: PUSH P,A
4754 405735' 201 06 0 00 000000 MOVEI T,0
4755 405736' 322 02 0 00 406001' AP3: JUMPE B,IAPPLY ;all args pushed; b has arg list
4756 405737' 554 03 0 02 000000 HLRZ C,(B)
4757 405740' 261 14 0 00 000003 PUSH P,C ;push arg
4758 405741' 550 02 0 02 000000 HRRZ B,(B)
4759 405742' 364 06 0 00 405736' SOJA T,AP3
4760
4761 405743' 325 12 0 00 400725' IAP4: JUMPGE D,TOOFEW ;special case for fexprs
4762 405744' 346 13 0 00 400725' AOJN R,TOOFEW
4763 405745' 261 14 0 00 000002 PUSH P,B
4764 405746' 200 01 0 00 000017 MOVE A,SP
4765 405747' 260 14 0 00 405220' PUSHJ P,FIX1A
4766 405750' 250 01 0 14 000000 EXCH A,(P)
4767 405751' 200 02 0 00 000001 MOVE B,A
4768 405752' 211 13 0 00 000002 MOVNI R,2
4769 405753' 364 06 0 00 406060' SOJA T,IAP5
4770
4771 405754' 261 14 0 00 000001 FUNCT: PUSH P,A
4772 405755' 200 01 0 00 000017 MOVE A,SP
4773 405756' 260 14 0 00 405220' PUSHJ P,FIX1A
4774 405757' 262 14 0 00 000002 POP P,B
4775 405760' 554 02 0 02 000000 HLRZ B,(B)
4776 405761' 260 14 0 00 403660' PUSHJ P,XCONS
4777 405762' 201 02 0 11 004014' MOVEI B,FUNARG(S)
4778 405763' 254 00 0 00 403660' JRST XCONS
4779 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-120
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4780 405764' 370 00 0 00 000006 APFNG: SOS T
4781 405765' 202 06 0 00 000440' MOVEM T,APFNG1
4782 405766' 265 07 0 00 400327' JSP TT,PDLARG ;get args and funarg list
4783 405767' 550 01 0 01 000000 HRRZ A,(A)
4784 405770' 550 12 0 01 000000 HRRZ D,(A) ;a-list pointer
4785 405771' 554 01 0 01 000000 HLRZ A,(A) ;function
4786 405772' 514 13 0 00 000440' HRLZ R,APFNG1 ;no. of args
4787 405773' 261 14 0 00 411554' PUSH P,[UNBIND]
4788 405774' 265 07 0 00 400311' JSP TT,ARGP1 ;replace args and fn name
4789 405775' 261 14 0 00 000012 PUSH P,D ;a-list pointer
4790 405776' 260 14 0 00 405556' PUSHJ P,ALIST ;set up spec pdl
4791 405777' 262 14 0 00 000012 POP P,D
4792 406000' 350 06 0 00 000440' AOS T,APFNG1
4793
4794 ;falls through
4795 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-121
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4796 ;falls in
4797
4798 406001' 200 03 0 00 000006 IAPPLY: MOVE C,T ;state of world at entrance
4799 406002' 271 03 0 14 000000 ADDI C,(P) ;t has - number of args on pdl
4800 406003' 550 02 0 03 000000 ILP1A: HRRZ B,(C) ;next pdl slot has function- poss fun name in lh
4801 406004' 303 02 0 00 377777 CAILE B,INUMIN
4802 406005' 254 00 0 00 400726' JRST UNDTAC
4803 406006' 554 01 0 02 000000 HLRZ A,(B)
4804 406007' 306 01 0 00 777777 CAIN A,-1
4805 406010' 254 00 0 00 406031' JRST IAP1 ;fn is atomic
4806 406011' 306 01 0 11 003754' CAIN A,LAMBDA(S)
4807 406012' 254 00 0 00 406046' JRST IAPLMB
4808 406013' 306 01 0 11 004014' CAIN A,FUNARG(S)
4809 406014' 254 00 0 00 405764' JRST APFNG
4810 406015' 306 01 0 11 004010' CAIN A,LABEL(S)
4811 406016' 254 00 0 00 406121' JRST APLBL
4812 406017' 261 14 0 00 000006 PUSH P,T
4813 406020' 200 01 0 00 000002 MOVE A,B
4814 406021' 260 14 0 00 405505' PUSHJ P,EVAL
4815 406022' 262 14 0 00 000006 POP P,T
4816 406023' 200 03 0 00 000006 MOVE C,T
4817 406024' 271 03 0 14 000000 ADDI C,(P)
4818 406025' 202 01 0 03 000000 ILP1B: MOVEM A,(C)
4819 406026' 254 00 0 00 406003' JRST ILP1A
4820
4821 406027' 554 01 0 02 000000 IAPXPR: HLRZ A,(B)
4822 406030' 254 00 0 00 406025' JRST ILP1B
4823 406031' 550 02 0 02 000000 IAP1: HRRZ B,(B)
4824 406032' 322 02 0 00 406141' JUMPE B,IAP2
4825 406033' 554 07 0 02 000000 HLRZ TT,(B)
4826 406034' 550 02 0 02 000000 HRRZ B,(B)
4827 406035' 306 07 0 11 003770' CAIN TT,EXPR(S)
4828 406036' 254 00 0 00 406027' JRST IAPXPR
4829 406037' 306 07 0 11 004020' CAIN TT,LSUBR(S)
4830 406040' 254 00 0 00 406115' JRST IAP6
4831 406041' 302 07 0 11 003760' CAIE TT,SUBR(S)
4832 406042' 254 00 0 00 406031' JRST IAP1
4833 406043' 554 02 0 02 000000 HLRZ B,(B)
4834 406044' 202 02 0 03 000000 MOVEM B,(C)
4835 406045' 254 00 0 00 405712' JRST ESB1
4836 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-122
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4837 406046' 550 02 0 02 000000 IAPLMB: HRRZ B,(B)
4838 406047' 554 07 0 02 000000 HLRZ TT,(B)
4839 406050' 202 17 0 00 000570' MOVEM SP,SPSV
4840 406051' 550 02 0 02 000000 HRRZ B,(B)
4841 406052' 554 12 0 07 000000 HLRZ D,(TT)
4842 406053' 306 12 0 00 777777 CAIN D,-1
4843 406054' 326 07 0 00 406153' JUMPN TT, IAP3
4844 406055' 200 13 0 00 000006 MOVE R,T
4845 406056' 322 06 0 00 406067' IPLMB1: JUMPE T,IPLMB2 ;no more args
4846 406057' 322 07 0 00 400724' JUMPE TT,TOMANY ;too many args supplied
4847 406060' 554 01 0 07 000000 IAP5: HLRZ A,(TT)
4848 406061' 201 04 0 06 000001 MOVEI AR1,1(T)
4849 406062' 270 04 0 00 000014 ADD AR1,P
4850 406063' 510 12 0 04 000000 HLLZ D,(AR1)
4851 406064' 506 01 0 04 000000 HRLM A,(AR1)
4852 406065' 550 07 0 07 000000 HRRZ TT,(TT)
4853 406066' 344 06 0 00 406056' AOJA T,IPLMB1
4854 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-123
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4855
4856
4857 406067' 326 07 0 00 405743' IPLMB2: JUMPN TT,IAP4 ;too few args supplied
4858 406070' 322 13 0 00 406105' JUMPE R,IAP69
4859 406071' 262 14 0 00 000004 IPLMB4: POP P,AR1
4860 406072' 554 01 0 00 000004 HLRZ A,AR1
4861 406073' 347 13 0 00 406076' AOJG R,IPLMB3
4862 406074' 260 14 0 00 406177' PUSHJ P,BIND
4863 406075' 254 00 0 00 406071' JRST IPLMB4
4864 406076' 332 00 0 00 000442' IPLMB3: SKIPE BACTRF
4865 406077' 254 00 0 00 406111' JRST APBK1
4866 406100' 201 01 0 00 000000 APBK2: MOVEI A,NIL ;$$SETUP FOR IMPLIED PROG
4867 406101' 261 17 0 00 000570' PUSH SP,SPSV
4868 406102' 200 06 0 00 000002 MOVE T,B ;$$SETUP FOR IMPLIED PROG
4869 406103' 260 14 0 00 404712' PUSHJ P,COND2+1 ;$$INSTEAD OF EVAL
4870 406104' 254 00 0 00 406237' JRST UNBIND
4871
4872 406105' 262 14 0 14 000000 IAP69: POP P,(P)
4873 406106' 201 01 0 00 000000 MOVEI A,NIL ;$$SETUP FOR IMPLIED PROG
4874 406107' 200 06 0 00 000002 MOVE T,B ;$$
4875 406110' 254 00 0 00 404712' JRST COND2+1 ;$$INSTEAD OF EVAL
4876
4877 406111' 541 04 0 00 404014' APBK1: HRRI AR1,CPOPJ
4878 406112' 603 04 0 00 777777 TLNE AR1,-1
4879 406113' 261 14 0 00 000004 PUSH P,AR1
4880 406114' 254 00 0 00 406100' JRST APBK2
4881 406115' 201 07 0 00 404014' IAP6: MOVEI TT,CPOPJ
4882 406116' 202 07 0 03 000000 MOVEM TT,(C)
4883 406117' 554 02 0 02 000000 HLRZ B,(B)
4884 406120' 254 00 0 02 000000 JRST (B)
4885
4886 406121' 202 17 0 00 000570' APLBL: MOVEM SP,SPSV
4887 406122' 550 02 0 02 000000 HRRZ B,(B)
4888 406123' 554 01 0 02 000000 HLRZ A,(B)
4889 406124' 550 02 0 02 000000 HRRZ B,(B)
4890 406125' 554 04 0 02 000000 HLRZ AR1,(B)
4891 406126' 202 04 0 03 000000 MOVEM AR1,(C)
4892 406127' 260 14 0 00 406177' PUSHJ P,BIND
4893 406130' 201 01 0 00 406137' MOVEI A,APLBL1
4894 406131' 250 01 0 03 777777 EXCH A,-1(C)
4895 406132' 250 01 0 00 000515' EXCH A,LBLAD#
4896 406133' 505 01 0 00 000515' HRLI A,LBLAD
4897 406134' 261 17 0 00 000001 PUSH SP,A
4898 406135' 261 17 0 00 000570' PUSH SP,SPSV
4899 406136' 254 00 0 00 406001' JRST IAPPLY
4900 406137' 261 14 0 00 000515' APLBL1: PUSH P,LBLAD
4901 406140' 254 00 0 00 406237' JRST SPECSTR
4902
4903 406141' 550 01 0 03 000000 IAP2: HRRZ A,(C)
4904 406142' 201 02 0 11 003750' MOVEI B,VALUE(S)
4905 406143' 260 14 0 00 404037' PUSHJ P,GET
4906 406144' 322 01 0 00 400726' JUMPE A,UNDTAC
4907 406145' 550 01 0 01 000000 HRRZ A,(A)
4908 406146' 550 02 0 03 000000 HRRZ B,(C) ;$$GET ORIGINAL FN NAME
4909 406147' 312 01 0 00 000002 CAME A,B ;$$IF THE VALUE IS THE SAME THEN WE HAVE A LOOP
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-124
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4910 406150' 306 01 0 11 002706' CAIN A,UNBOUND(S)
4911 406151' 254 00 0 00 400726' JRST UNDTAC
4912 406152' 254 00 0 00 406025' JRST ILP1B
4913
4914 406153' 211 04 0 06 200001 IAP3: MOVNI AR1,-INUM0(T) ;lexpr call
4915 406154' 200 01 0 00 000007 MOVE A,TT
4916 406155' 260 14 0 00 406177' PUSHJ P,BIND
4917 406156' 261 14 0 00 000366' PUSH P,%ARG
4918 406157' 275 03 0 00 577777 SUBI C,INUM0
4919 406160' 542 03 0 00 000366' HRRM C,%ARG
4920 406161' 261 17 0 00 000570' PUSH SP,SPSV
4921 406162' 201 01 0 00 000000 MOVEI A,NIL ;$$ MORE FOR IMPLIED PROG
4922 406163' 200 06 0 00 000002 MOVE T,B ;$$
4923 406164' 260 14 0 00 404712' PUSHJ P,COND2+1 ;$$ INSTEAD OF EVAL
4924 406165' 550 06 0 00 000366' HRRZ T,%ARG
4925 406166' 262 14 0 00 000366' POP P,%ARG
4926 406167' 275 06 0 14 200002 SUBI T,1-INUM0(P)
4927 406170' 505 06 0 06 777777 HRLI T,-1(T)
4928 406171' 270 14 0 00 000006 ADD P,T
4929 406172' 254 00 0 00 406237' JRST UNBIND
4930
4931 406173' 550 01 1 00 000366' ARG: HRRZ A,@%ARG
4932 406174' 263 14 0 00 000000 POPJ P,
4933
4934 REMOTE<%ARG: XWD A,0>
4935 406175' 552 02 1 00 000366' SETARG: HRRZM B,@%ARG
4936 406176' 254 00 0 00 404136' JRST PROG2
4937 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-125
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4938 406177' 322 01 0 00 400704' BIND: JUMPE A,BNDERR ;$$CAN'T REBIND NIL
4939 406200' 306 01 0 11 002613' CAIN A,TRUTH(S) ;$$SHOULDN'T REBIND T
4940 406201' 254 00 0 00 400704' JRST BNDERR ;$$
4941 406202' 261 14 0 00 000002 PUSH P,B
4942 406203' 552 01 0 00 000443' HRRZM A,BIND3#
4943 406204' BIND2:
4944 406204' 201 02 0 11 003750' MOVEI B,VALUE(S) ;bind atom in a to value in ar1,save
4945 406205' 260 14 0 00 404037' PUSHJ P,GET ;old binding on s pdl
4946 406206' 322 01 0 00 406214' JUMPE A,BIND1 ;add value cell
4947 406207' 261 17 0 01 000000 PUSH SP,(A)
4948 406210' 506 01 0 17 000000 HRLM A,(SP)
4949
4950 HRRM AR1,(A) ;$$THIS WAS HHRZM AR1,(A) WHICH CLOBBERED ATOM POINTER IN MY SYSTEM
4951 406211' 542 04 0 01 000000
4952 406212' 262 14 0 00 000002 POPBJ: POP P,B
4953 406213' 263 14 0 00 000000 POPJ P,
4954
4955 406214' BIND1:
4956 406214' 201 02 0 11 002706' MOVEI B,UNBOUND(S)
4957
4958 406215' 200 01 0 00 000443' MOVE A,BIND3 ;$$SET UP ATOM POINTER FROM SPECIAL CELL
4959 ;$$THIS WAS MOVEI A,0
4960 406216' 260 14 0 00 403661' PUSHJ P,CONS
4961 406217' 550 02 1 00 000443' HRRZ B,@BIND3
4962 406220' 260 14 0 00 403661' PUSHJ P,CONS
4963 406221' 201 02 0 11 003750' MOVEI B,VALUE(S)
4964 406222' 260 14 0 00 403660' PUSHJ P,XCONS
4965 406223' 542 01 1 00 000443' HRRM A,@BIND3
4966 406224' 200 01 0 00 000443' MOVE A,BIND3
4967 406225' 254 00 0 00 406204' JRST BIND2
4968
4969 406226' 317 17 0 00 000002 UBD: CAMG SP,B
4970 406227' 263 14 0 00 000000 POPJ P,
4971
4972
4973 406230' 554 07 0 17 000000 HLRZ TT,(SP) ;$$SKIP OVER EVAL BLIPS ETC.
4974 406231' 322 07 0 00 406233' JUMPE TT,.+2 ;$$IF EQUAL TO 0 IT WAS AN EVAL BLIP
4975 406232' 254 00 0 00 406235' JRST PJUBND
4976 406233' 274 17 0 00 411477' SUB SP,[XWD 2,2] ;$$DECREMENT SPDL
4977 406234' 254 00 0 00 406226' JRST UBD ;$$GO BACK AND CHECK
4978
4979 406235' 260 14 0 00 406237' PJUBND: PUSHJ P,UNBIND
4980 406236' 254 00 0 00 406226' JRST UBD
4981
4982 406237' UNBIND:
4983 406237' 200 07 0 17 000000 SPECSTR: MOVE TT,(SP)
4984 406240' 316 17 0 00 000562' CAMN SP,SC2 ;$$CHECK TO AVOID OVERSHOOT
4985 406241' 263 14 0 00 000000 POPJ P, ;$$
4986
4987 406242' 274 17 0 00 411474' SUB SP,[XWD 1,1]
4988 406243' 325 07 0 00 406237' JUMPGE TT,UNBIND ;syncronize stack
4989 406244' 316 17 0 00 000007 UNBND1: CAMN SP,TT
4990 406245' 263 14 0 00 000000 POPJ P,
4991 406246' 262 17 0 00 000006 POP SP,T
4992
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-126
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
4993
4994 406247' 306 06 0 06 000000 CAIN T,(T) ;$$CHECK TO SKIP OVER NEW ITEMS PUT ON SPDL
4995 ;$$ALL SUCH ITEMS HAVE 0 LEFT HAND SIDES
4996 406250' 254 00 0 00 406254' JRST PROGUB ;$$THIS IS AN EVAL BLIP - CHECK IF A PROG
4997
4998 406251' 207 00 0 00 000006 MOVSS T
4999
5000 406252' 546 06 0 06 000000 HLRM T,(T) ;$$CHANGED FROM HLRZM T,(T) TO PROTECT NEW ATOM POINTER
5001
5002 406253' 254 00 0 00 406244' JRST UNBND1
5003
5004
5005 406254' 554 06 0 06 000000 PROGUB: HLRZ T,(T) ;$$CHECK FOR A PROG
5006 406255' 302 06 0 11 002273' CAIE T,PROGAT+1(S) ;$$CHECK IF IT IS A PROG
5007 406256' 254 00 0 00 406263' JRST PROGU1 ;$$NOT A PROG, SKIP IT AND GO ON
5008 406257' 200 06 0 17 000000 MOVE T,(SP) ;$$GET THE RPDL POINTER FOR PROG INTO T
5009 406260' 271 06 0 00 000002 ADDI T,2 ;$$INCREMENT TO GET TO WHERE PA3,PA4 SAVED
5010 406261' 262 06 0 00 000543' POP T,PA4 ;$$RESTORE PA4
5011 406262' 262 06 0 00 000542' POP T,PA3 ;$$AND PA3 FROM WHERE THEY WERE SAVED
5012 406263' 262 17 0 00 000006 PROGU1: POP SP,T ;$$ POP RPDL POINTER
5013 406264' 254 00 0 00 406244' JRST UNBND1 ;$$AND GO ON WITH THE UNBINDING
5014
5015
5016
5017 406265' 200 07 0 00 000017 SPECBIND: MOVE TT,SP
5018 406266' 135 13 0 00 411555' SPEC1: LDB R,[POINT 13,(T),ACFLD]
5019 406267' 303 13 0 00 000017 CAILE R,17
5020 406270' 254 00 0 00 406300' JRST SPECX
5021 406271' 332 00 0 00 000013 SKIPE R
5022 406272' 200 13 0 13 000000 MOVE R,(R)
5023 406273' 500 13 1 06 000000 HLL R,@(T) ;$$AGAIN SAVE THE POOR LITTLE ATOM POINTER
5024 406274' 250 13 1 06 000000 EXCH R,@(T)
5025 406275' 505 13 1 06 000000 HRLI R,@(T)
5026 406276' 261 17 0 00 000013 PUSH SP,R
5027 406277' 344 06 0 00 406266' AOJA T,SPEC1
5028 406300' 261 17 0 00 000007 SPECX: PUSH SP,TT
5029 406301' 254 00 0 06 000000 JRST (T)
5030
5031 ;random special case compiler run time routines
5032
5033 406302' 261 14 0 00 000001 %AMAKE: PUSH P,A ;make alist for fsubr that requires it
5034 406303' 200 01 0 00 000017 MOVE A,SP
5035 406304' 260 14 0 00 405220' PUSHJ P,FIX1A
5036 406305' 200 02 0 00 000001 MOVE B,A
5037 406306' 254 00 0 00 405717' JRST POPAJ
5038
5039 406307' 260 14 0 00 402327' %UDT: PUSHJ P,PRINT ;error print for undefined computed go tag
5040 406310' 004 00 0 00 411556' STRTIP [SIXBIT /UNDEFINED COMPUTED GO TAG IN !/]
5041 406311' 550 13 0 14 000000 HRRZ R,(P)
5042 406312' 260 14 0 00 400476' PUSHJ P,ERSUB3
5043 406313' 254 00 0 00 400620' JRST ERREND
5044
5045 406314' 210 01 0 00 000006 %LCALL: MOVN A,T ;set up routine for compile lsubr
5046 406315' 271 01 0 00 577777 ADDI A,INUM0
5047 406316' 271 06 0 14 000000 ADDI T,(P)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-127
UCILSP MAC 27-MAR-75 17:13 EVAL APPLY -- THE INTERPRETER
5048 406317' 261 14 0 00 000006 PUSH P,T
5049 406320' 260 14 0 03 000000 PUSHJ P,(3)
5050 406321' 262 14 0 00 000006 POP P,T
5051 406322' 275 06 0 14 000000 SUBI T,(P)
5052 406323' 505 06 0 06 777777 HRLI T,-1(T)
5053 406324' 270 14 0 00 000006 ADD P,T
5054 406325' 263 14 0 00 000000 POPJ P,
5055 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-128
UCILSP MAC 27-MAR-75 17:13 ARRAY SUBROUTINES
5056 SUBTTL ARRAY SUBROUTINES
5057
5058 777777 777777 ARRERR=-1
5059
5060 406326' 260 14 0 00 406340' ARRAY: PUSHJ P,ARRAYS
5061 406327' 541 05 0 13 000001 HRRI AR2A,1(R)
5062 406330' 200 01 0 00 000005 MOVE A,AR2A
5063 406331' 261 13 0 00 411345' PUSH R,[0]
5064 406332' 253 01 0 00 406331' AOBJN A,.-1
5065 406333' 200 01 0 00 000444' ARREND: MOVE A,BPPNR#
5066 406334' 202 05 0 01 777777 MOVEM AR2A,-1(A)
5067 406335' 201 01 0 13 600000 MOVEI A,INUM0+1(R)
5068 406336' 202 01 0 11 004033' MOVEM A,VBPORG(S)
5069 406337' 263 14 0 00 000000 POPJ P,
5070
5071 406340' 261 14 0 00 000001 ARRAYS: PUSH P,A
5072 406341' 200 01 0 11 004033' MOVE A,VBPORG(S)
5073 406342' 275 01 0 00 577777 SUBI A,INUM0
5074 406343' 202 01 0 00 000444' MOVEM A,BPPNR
5075 406344' 200 01 0 11 004034' MOVE A,VBPEND(S)
5076 406345' 211 01 0 01 177777 MOVNI A,-INUM0-2(A)
5077 406346' 270 01 0 00 000444' ADD A,BPPNR ;bporg-bpend+2
5078 406347' 506 01 0 00 000444' HRLM A,BPPNR
5079 406350' 262 14 0 00 000001 POP P,A
5080 406351' 550 04 0 01 000000 HRRZ AR1,(A) ;(cdr l)
5081 406352' 554 01 0 01 000000 HLRZ A,(A) ;(car l)name
5082 406353' 550 02 0 00 000444' HRRZ B,BPPNR
5083 406354' 271 02 0 00 000002 ADDI B,2
5084 406355' 201 03 0 11 003760' MOVEI C,SUBR(S)
5085 406356' 260 14 0 00 404111' PUSHJ P,PUTPROP
5086 406357' 554 01 0 04 000000 HLRZ A,(AR1) ;(cadr l)mode
5087 406360' 261 14 0 00 000004 PUSH P,AR1
5088 406361' 260 14 0 00 405505' PUSHJ P,EVAL ;eval mode
5089 406362' 262 14 0 00 000004 POP P,AR1
5090 406363' 202 01 0 00 000437' MOVEM A,AMODE#
5091 406364' 201 03 0 00 000044 MOVEI C,44
5092 406365' 322 01 0 00 406376' JUMPE A,ARRY1
5093 406366' 201 03 0 01 200001 MOVEI C,-INUM0(A)
5094 406367' 303 01 0 00 377777 CAILE A,INUMIN
5095 406370' 254 00 0 00 406376' JRST ARRY1
5096 406371' 201 03 0 00 000022 MOVEI C,22
5097 406372' 550 01 0 00 000444' HRRZ A,BPPNR
5098 406373' 200 02 0 00 000402' MOVE B,GCMKL
5099 406374' 260 14 0 00 403661' PUSHJ P,CONS
5100 406375' 202 01 0 00 000402' MOVEM A,GCMKL
5101 406376' 202 03 0 00 000447' ARRY1: MOVEM C,BSIZE#
5102 406377' 201 01 0 00 000044 MOVEI A,44
5103 406400' 230 01 0 00 000003 IDIV A,C
5104 406401' 202 01 0 00 000526' MOVEM A,NBYTES#
5105 406402' 550 01 0 04 000000 HRRZ A,(AR1) ;(cddr l)bound pair list
5106 406403' 265 07 0 00 404435' JSP TT,ILIST
5107 406404' 350 13 0 00 000444' AOS R,BPPNR
5108 406405' 201 04 0 00 000001 MOVEI AR1,1 ;ar1 is array size
5109 406406' 201 05 0 00 000000 MOVEI AR2A,0 ;ar2a is cumulative residue
5110 406407' 345 06 0 00 406445' AOJGE T,ARRYS ;single dimension
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-129
UCILSP MAC 27-MAR-75 17:13 ARRAY SUBROUTINES
5111 406410' 201 12 0 00 000000 MOVEI D,A-1
5112 406411' 274 12 0 00 000006 SUB D,T ;d is next ac for array code generation
5113 406412' 260 14 0 00 406425' ARRY2: PUSHJ P,ARRB0
5114 406413' 641 07 0 00 221000 TLC TT,(IMULI)
5115 406414' 137 12 0 00 411563' DPB D,[POINT 4,TT,ACFLD]
5116 406415' 261 13 0 00 000007 PUSH R,TT
5117 406416' 306 12 0 00 000001 CAIN D,A
5118 406417' 254 00 0 00 406444' JRST ARRY3
5119 406420' 205 07 0 00 270000 MOVSI TT,(ADD)
5120 406421' 271 07 0 12 000001 ADDI TT,1(D)
5121 406422' 137 12 0 00 411563' DPB D,[POINT 4,TT,ACFLD]
5122 406423' 261 13 0 00 000007 PUSH R,TT
5123 406424' 364 12 0 00 406412' SOJA D,ARRY2
5124
5125 406425' 262 14 0 00 000007 ARRB0: POP P,TT
5126 406426' 250 07 0 14 000000 EXCH TT,(P)
5127 406427' 303 07 0 00 377777 CAILE TT,INUMIN
5128 406430' 254 00 0 00 406436' JRST ARRB1
5129 406431' 554 01 0 07 000000 HLRZ A,(TT)
5130 406432' 550 07 0 07 000000 HRRZ TT,(TT)
5131 406433' 275 07 0 01 000000 SUBI TT,(A)
5132 406434' 271 07 0 00 000001 ADDI TT,1
5133 406435' 254 00 0 00 406440' JRST ARRB2
5134
5135 406436' 201 01 0 00 577777 ARRB1: MOVEI A,INUM0
5136 406437' 274 07 0 00 000001 SUB TT,A
5137 406440' 220 01 0 00 000004 ARRB2: IMUL A,AR1
5138 406441' 223 04 0 00 000007 IMULB AR1,TT
5139 ;%% ADDM A,AR2A
5140 406442' 270 05 0 00 000001 ADD AR2A,A ;%% SOME PEOPLE HAVE PROBLEMS
5141 406443' 263 14 0 00 000000 POPJ P,
5142
5143 406444' 261 13 0 00 411564' ARRY3: PUSH R,[ADD A,B]
5144 406445' 260 14 0 00 406425' ARRYS: PUSHJ P,ARRB0
5145 406446' 550 07 0 00 000444' HRRZ TT,BPPNR
5146 406447' 202 05 0 07 000000 MOVEM AR2A,(TT)
5147 406450' 505 07 0 00 274040 HRLI TT,(SUB A,)
5148 406451' 261 13 0 00 000007 PUSH R,TT
5149 406452' 261 13 0 00 411565' PUSH R,[JUMPL A,ARRERR]
5150 406453' 200 07 0 00 000004 MOVE TT,AR1
5151 406454' 505 07 0 00 301040 HRLI TT,(CAIL A,)
5152 406455' 261 13 0 00 000007 PUSH R,TT
5153 406456' 261 13 0 00 411566' PUSH R,[JRST ARRERR]
5154 406457' 230 04 0 00 000526' IDIV AR1,NBYTES ;calc #words in array
5155 406460' 332 00 0 00 000005 SKIPE AR2A ;correct for remainder non-zero
5156 406461' 271 04 0 00 000001 ADDI AR1,1
5157 406462' 200 07 0 00 000526' MOVE TT,NBYTES
5158 406463' 362 07 0 00 406476' SOJE TT,ARRY6
5159 406464' 271 07 0 00 000001 ADDI TT,1
5160 406465' 505 07 0 00 231040 HRLI TT,(IDIVI A,)
5161 406466' 261 13 0 00 000007 PUSH R,TT
5162 406467' 210 07 0 00 000447' MOVN TT,BSIZE
5163 406470' 242 07 0 00 000014 LSH TT,14
5164 406471' 505 07 0 00 221100 HRLI TT,(IMULI B,)
5165 406472' 261 13 0 00 000007 PUSH R,TT
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-130
UCILSP MAC 27-MAR-75 17:13 ARRAY SUBROUTINES
5166 406473' 201 07 0 00 000244 MOVEI TT,44+200
5167 406474' 274 07 0 00 000447' SUB TT,BSIZE
5168 406475' 242 07 0 00 000006 LSH TT,6
5169 406476' 270 07 0 00 000447' ARRY6: ADD TT,BSIZE
5170 406477' 242 07 0 00 000006 LSH TT,6
5171 406500' 332 05 0 00 000437' SKIPE AR2A,AMODE
5172 406501' 301 05 0 00 377777 CAIL AR2A,INUMIN
5173 406502' 271 07 0 00 000040 ADDI TT,40 ;mode not = t
5174 406503' 641 07 0 00 515140 TLC TT,(HRLZI C,)
5175 406504' 261 13 0 00 000007 PUSH R,TT
5176 406505' 201 07 0 13 000004 MOVEI TT,4(R)
5177 406506' 505 07 0 00 271141 HRLI TT,(ADDI C,(A))
5178 406507' 261 13 0 00 000007 PUSH R,TT
5179 406510' 261 13 0 00 411567' PUSH R,[LDB A,C]
5180 406511' 515 05 0 00 263600 HRLZI AR2A,(POPJ P,)
5181 406512' 336 07 0 00 000437' SKIPN TT,AMODE
5182 406513' 200 05 0 00 411570' MOVE AR2A,[JRST FLO1A]
5183 406514' 301 07 0 00 377777 CAIL TT,INUMIN
5184 406515' 200 05 0 00 411571' MOVE AR2A,[JRST FIX1A]
5185 406516' 261 13 0 00 000005 PUSH R,AR2A
5186 406517' 204 05 0 00 000004 MOVS AR2A,AR1
5187 406520' 213 00 0 00 000005 MOVNS AR2A
5188 406521' 263 14 0 00 000000 POPJ P,
5189
5190 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-131
UCILSP MAC 27-MAR-75 17:13 ARRAY SUBROUTINES
5191 406522' 211 03 0 01 200001 GTBLK: MOVNI C,-INUM0(A) ;##COMPUTE NEGATIVE LENGTH
5192 406523' 200 01 0 11 004033' MOVE A,VBPORG(S) ;## GET BPORG
5193 406524' 541 01 0 01 200001 HRRI A,-INUM0(A) ;## CONVERT
5194 406525' 506 03 0 01 000000 HRLM C,(A) ;## MOVE TO BPORG INFO FOR (GC)
5195 406526' 542 01 0 01 000000 HRRM A,(A) ;##
5196 406527' 350 13 0 01 000000 AOS R,(A) ;## ADD ONE TO INFO AND MOVE TO R
5197 406530' 275 13 0 00 000001 SUBI R,1 ;## SET PUSH DOWN POINTER(ASSUME POINTER BLOCK)
5198 406531' 306 02 0 00 000000 CAIN B,0 ;## IS IT A POINTER BLOCK?
5199 406532' 275 13 0 00 000001 SUBI R,1 ;## NO
5200 406533' 200 04 0 11 004034' MOVE AR1,VBPEND(S) ;## GET BPEND
5201 406534' 211 04 0 04 200001 MOVNI AR1,-INUM0(AR1) ;## CONVERT TO NEGATIVE
5202 406535' 270 04 0 00 000013 ADD AR1,R ;## BPORG-BPEND +(0 OR 1)
5203 406536' 505 13 0 04 000000 HRLI R,(AR1) ;## MOVE TO R FOR TESTING FOR BPS EXCEEDED
5204 406537' 261 13 0 00 411345' PUSH R,[0] ;## CLEAR THE SPACE, NOTE THAT IF IT IS NOT
5205 406540' 346 03 0 00 406537' AOJN C,.-1 ;## WE WILL ALSO CLEAR THE INFO LOCATION
5206 406541' 551 13 0 13 600000 HRRZI R,INUM0+1(R) ;## COMPUTE NEW BPORG
5207 406542' 542 13 0 11 004033' HRRM R,VBPORG(S)
5208 406543' 306 02 0 00 000000 CAIN B,0 ;## IF IT WAS NOT A POINTER BLOCK, DONE
5209 406544' 263 14 0 00 000000 POPJ P,
5210 406545' 200 02 0 00 000402' MOVE B,GCMKL ;## GET GC'S LIST
5211 406546' 260 14 0 00 403661' PUSHJ P,CONS ;## CONS
5212 406547' 202 01 0 00 000402' MOVEM A,GCMKL ;## SAVE IT
5213 406550' 554 01 0 01 000000 HLRZ A,(A) ;GET THE OLD BPORG BACK
5214 406551' 344 01 0 00 406544' AOJA A,.-5 ;## ADD ONE AND RETURN
5215
5216
5217 406552' 261 14 0 00 000001 BLKLST: PUSH P,A ;## SAVE LIST
5218 406553' 302 02 0 00 000000 CAIE B,0 ;## BLK LENGTH GIVEN
5219 406554' 334 01 0 00 000002 SKIPA A,B ;## YES
5220 406555' 260 14 0 00 403716' PUSHJ P,LENGTH ;## NO, USE LENGTH OF LIST
5221 406556' 201 02 0 01 000000 MOVEI B,(A) ;## GET A POINTER BLOCK FROM GTBLK
5222 406557' 260 14 0 00 406522' PUSHJ P,GTBLK
5223 406560' 262 14 0 00 000002 POP P,B ;## GET LIST BACK
5224 406561' 261 14 0 00 000001 PUSH P,A
5225 406562' 551 13 0 01 777777 HRRZI R,-1(A) ;## SET UP PDL
5226 406563' 574 03 0 13 000000 HLRE C,(R) ;## NEG LENGTH FROM GC INFO.
5227 406564' 541 01 0 01 000001 BLKLS1: HRRI A,1(A) ;## BUMP A FOR CDR
5228
5229 IFN OLDNIL< ;## IF(CDR NIL)#NIL
5230 406565' 602 02 0 00 777777 TRNE B,-1 ;## END OF LIST?
5231 406566' 334 02 0 02 000000 SKIPA B,(B) ;## NO
5232 406567' 400 02 0 00 000000 SETZ B, ;## YES, REST OF BLOCK IS NIL
5233 >
5234
5235 IFE OLDNIL<
5236 MOVE B,(B) ;## IF (CDR NIL )=NIL
5237 >
5238
5239 406570' 500 01 0 00 000002 HLL A,B ;## GET (CAR LIST)
5240 406571' 261 13 0 00 000001 PUSH R,A ;## AND STORE
5241 406572' 341 03 0 00 406564' AOJL C,BLKLS1 ;## SEE IF DONE
5242 406573' 512 01 0 13 000000 HLLZM A,(R) ;## SET (CDR (LAST BLOCK)) TO NIL
5243 406574' 254 00 0 00 405717' JRST POPAJ ;## AND RETURN POINTER TO THE BLOCK
5244
5245
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-132
UCILSP MAC 27-MAR-75 17:13 ARRAY SUBROUTINES
5246 406575' 261 14 0 00 000001 EXARRAY: PUSH P,A
5247 406576' 554 01 0 01 000000 HLRZ A,(A)
5248 406577' 260 14 0 00 407174' PUSHJ P,GETSYM
5249 406600' 322 01 0 00 405717' JUMPE A,POPAJ
5250 406601' 260 14 0 00 405071' PUSHJ P,NUMVAL
5251 406602' 250 01 0 14 000000 EXCH A,(P)
5252 406603' 260 14 0 00 406340' PUSHJ P,ARRAYS
5253 406604' 262 14 0 00 000001 POP P,A
5254 406605' 542 01 0 13 777776 HRRM A,-2(R)
5255 406606' 540 05 0 00 000001 HRR AR2A,A
5256 406607' 254 00 0 00 406333' JRST ARREND
5257
5258 406610' 261 14 0 00 000001 STORE: PUSH P,A
5259 406611' 260 14 0 00 403603' PUSHJ P,CADR
5260 406612' 260 14 0 00 405505' PUSHJ P,EVAL ;value to store
5261 406613' 250 01 0 14 000000 EXCH A,(P)
5262 406614' 554 01 0 01 000000 HLRZ A,(A)
5263 406615' 260 14 0 00 405505' PUSHJ P,EVAL ;byte pointer returned in c
5264 406616' 262 14 0 00 000001 POP P,A
5265 406617' 261 14 0 00 000001 NSTR: PUSH P,A
5266 406620' 603 03 0 00 000040 TLNE C,40
5267 406621' 260 14 0 00 405071' PUSHJ P,NUMVAL ;numerical array
5268 406622' 137 01 0 00 000003 DPB A,C
5269 406623' 262 14 0 00 000001 POP P,A
5270 406624' 263 14 0 00 000000 POPJ P,
5271
5272 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-133
UCILSP MAC 27-MAR-75 17:13 EXAMINE, DEPOSIT , ETC
5273 SUBTTL EXAMINE, DEPOSIT , ETC
5274
5275 406625' 200 07 0 00 000006 BOOLE: MOVE TT,T
5276 406626' 271 07 0 14 000002 ADDI TT,2(P)
5277 406627' 200 01 0 07 777777 MOVE A,-1(TT)
5278 406630' 275 01 0 00 577777 SUBI A,INUM0
5279 406631' 137 01 0 00 411572' DPB A,[POINT 4,BOOLI,OPFLD-2]
5280 406632' 260 14 0 00 406637' PUSHJ P,BOOLG
5281 406633' 200 03 0 00 000001 MOVE C,A
5282 406634' 260 14 0 00 406637' BOOLL: PUSHJ P,BOOLG
5283 406635' 256 00 0 00 000367' XCT BOOLI
5284 REMOTE<
5285 BOOLI: CLEARB C,A>
5286 406636' 254 00 0 00 406634' JRST BOOLL
5287
5288 406637' 301 07 0 14 000000 BOOLG: CAIL TT,(P)
5289 406640' 254 00 0 00 406644' JRST BOOL1
5290 406641' 200 01 0 07 000000 MOVE A,(TT)
5291 406642' 260 14 0 00 405071' PUSHJ P,NUMVAL
5292 406643' 344 07 0 00 404014' AOJA TT,CPOPJ
5293
5294 406644' 505 06 0 06 777777 BOOL1: HRLI T,-1(T)
5295 406645' 270 14 0 00 000006 ADD P,T
5296 406646' 262 14 0 00 000002 POP P,B
5297 406647' 254 00 0 00 405220' JRST FIX1A
5298
5299 406650' 260 14 0 00 405071' EXAMINE:PUSHJ P,NUMVAL
5300 406651' 200 01 0 01 000000 MOVE A,(A)
5301 406652' 254 00 0 00 405220' JRST FIX1A
5302
5303 406653' 200 03 0 00 000002 DEPOSIT:MOVE C,B
5304 406654' 260 14 0 00 405071' PUSHJ P,NUMVAL
5305 406655' 250 01 0 00 000003 EXCH A,C
5306 406656' 260 14 0 00 405071' PUSHJ P,NUMVAL
5307 406657' 202 01 0 03 000000 MOVEM A,(C)
5308 406660' 254 00 0 00 405057' JRST MAKNUM
5309
5310 406661' 201 03 0 02 200001 LSH: MOVEI C,-INUM0(B)
5311 406662' 260 14 0 00 405071' PUSHJ P,NUMVAL
5312 406663' 242 01 0 03 000000 LSH A,(C)
5313 406664' 254 00 0 00 405220' JRST FIX1A
5314
5315 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-134
UCILSP MAC 27-MAR-75 17:13 GARBAGE COLLECTER
5316 SUBTTL GARBAGE COLLECTER
5317
5318 ;garbage collector
5319
5320 406665' 260 14 0 00 406667' GC: PUSHJ P,AGC
5321 406666' 254 00 0 00 404013' JRST FALSE
5322
5323 406667' 476 00 0 00 000473' AGC: SETOM GCFLG ;SET GCFLAG INCASE OF USER CONTROL-C
5324 406670' 202 13 0 00 000552' MOVEM R,RGC#
5325 406671' 261 14 0 00 000542' GCPK1: PUSH P,PA3
5326 406672' 261 14 0 00 000543' PUSH P,PA4
5327 IFE OLDNIL <PUSH P,NILPRP ;## PROP LIST OF NIL>
5328 406673' 261 14 0 00 000365' PUSH P,UBDPTR ;special atom UNBOUND; not on OBLIST
5329 406674' 261 14 0 00 000524' PUSH P,MKNAM3
5330 406675' 261 14 0 00 000402' PUSH P,GCMKL ;i/o channel input lists and arrays
5331 406676' 261 14 0 00 000443' PUSH P,BIND3
5332 406677' 261 14 0 00 000511' PUSH P,INITF
5333 406700' 261 14 0 00 000512' PUSH P,INITF1 ;## INIT FILE LIST
5334 406701' 261 14 0 00 411573' GCPK2: PUSH P,[XWD 0,GCP6] ;this is a return address
5335 406702' 254 00 0 00 000370' JRST GCP4
5336 REMOTE<
5337 GCP4: MOVEI S,X ;pdlac, .=bottom of reg pdl + 1
5338 GCP41: BLT S,X ;save ACs 0 through 10 at bottom of regpdl ;pdlac+n
5339 GCP2: CLEARB 0,X ;gc indicator, init. for bit table zero
5340 MOVE A,C3GC
5341 GCP5: BLT A,X ;zero bit tables, .=top of bit tables
5342 JRST GCRET1>
5343 406703' 336 00 0 00 000474' GCRET1: SKIPN GCGAGV
5344 406704' 254 00 0 00 406711' JRST GCP5A
5345 406705' 336 00 0 00 000015 SKIPN F
5346 406706' 004 00 0 00 411574' STRTIP [SIXBIT /_FREE STG EXHAUSTED_!/]
5347 406707' 336 00 0 00 000016 SKIPN FF
5348 406710' 004 00 0 00 411600' STRTIP [SIXBIT /_FULL WORD SPACE EXHAUSTED_!/]
5349
5350 406711' 201 07 0 00 000001 GCP5A: MOVEI TT,1
5351 406712' 201 01 0 00 000000 MOVEI A,0
5352 406713' 047 01 0 00 000027 CALLI A,STIME ;time
5353 406714' 213 00 0 00 000001 MOVNS A
5354 406715' 272 01 0 00 000501' ADDM A,GCTIM#
5355 406716' 200 03 0 00 000477' MOVE C,GCP3# ;.=bottom of reg pdl
5356 406717' 200 11 0 00 000014 GCP6B: MOVE S,P
5357 406720' 500 03 0 00 000014 HLL C,P
5358 406721' 201 02 0 00 000000 MOVEI B,0
5359 406722' 316 03 0 00 000011 GC1: CAMN C,S
5360 406723' 263 14 0 00 000000 POPJ P,
5361 406724' 550 01 0 03 000000 HRRZ A,(C)
5362 406725' 315 01 0 00 000475' GCPI: CAMGE A,GCP# ;.=bottom of bit tables
5363 REMOTE<
5364 GCPP1:
5365 XXX5:FS>
5366 406726' 315 01 0 00 000376' CAMGE A,GCPP1
5367 406727' 254 00 0 00 406752' JRST GCEND
5368 406730' 311 01 0 00 000476' CAML A,GCP1# ;.=bottom of full word space (fws)
5369 406731' 254 00 0 00 406744' JRST GCMFW
5370 406732' 200 15 0 01 000000 MOVE F,(A)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-135
UCILSP MAC 27-MAR-75 17:13 GARBAGE COLLECTER
5371 406733' 246 01 0 00 777773 LSHC A,-5
5372 406734' 241 02 0 00 000005 ROT B,5
5373 406735' 200 04 0 02 406757' MOVE AR1,GCBT(B)
5374 406736' 672 04 1 00 000400' TDOE AR1,@GCBTP2 ;bit tab- (fs_-5), .=magic number for sync
5375 406737' 254 00 0 00 406752' JRST GCEND
5376 406740' 202 04 1 00 000377' MOVEM AR1,@GCBTP1 ;bit tab- (fs_-5)
5377 406741' 261 14 0 00 000015 PUSH P,F
5378 406742' 554 01 0 00 000015 HLRZ A,F
5379 406743' 254 00 0 00 406725' JRST GCPI
5380 REMOTE<
5381 GCBTP1: XWD A,0
5382 GCBTP2: XWD A,0
5383 GCMFWS: XWD A,0>
5384
5385 406744' 201 04 1 00 000401' GCMFW: MOVEI AR1,@GCMFWS ;.=- bottom of fws
5386 406745' 231 04 0 00 000044 IDIVI AR1,44
5387 406746' 213 00 0 00 000005 MOVNS AR2A
5388 406747' 242 05 0 00 000036 LSH AR2A,36
5389 406750' 270 05 0 00 000403' ADD AR2A,C2GC
5390 406751' 137 07 0 00 000005 DPB TT,AR2A
5391 406752' 316 14 0 00 000011 GCEND: CAMN P,S
5392 406753' 344 03 0 00 406722' AOJA C,GC1
5393 406754' 262 14 0 00 000001 POP P,A
5394 406755' 553 00 0 00 000001 HRRZS A
5395 406756' 254 00 0 00 406725' JRST GCPI
5396 REMOTE<
5397 GCMKL: XWD 0,[XWD [XWD -NIOCH,CHTAB+FSTCH],0]
5398 C2GC: XWD 430100+AR1,X ;.=bottom of fws bit table
5399 C3GC: 0> ;(bottom bit table)bottom bit table+1
5400 406757' 400000 000000 GCBT: XWD 400000,0
5401 200000 000000 ZZ==1B1
5402 XLIST
5403 LIST
5404 407017' 550 13 0 00 000562' GCP6: HRRZ R,SC2
5405 407020' 301 13 0 17 000000 GCP6C: CAIL R,(SP) ;mark sp
5406 407021' 254 00 0 00 407027' JRST GCP6A
5407 407022' 261 14 0 13 000000 PUSH P,(R)
5408 407023' 550 03 0 00 000014 HRRZ C,P
5409 407024' 260 14 0 00 406717' PUSHJ P,GCP6B
5410 407025' 274 14 0 00 411474' SUB P,[XWD 1,1]
5411 407026' 344 13 0 00 407020' AOJA R,GCP6C
5412
5413 407027' 550 13 0 00 000402' GCP6A: HRRZ R,GCMKL ;mark arrays
5414 407030' 322 13 0 00 407055' GCP6D: JUMPE R,GCSWP
5415 407031' 554 01 0 13 000000 HLRZ A,(R)
5416 407032' 200 12 0 01 000000 MOVE D,(A)
5417 407033' 261 14 0 12 000000 GCP6E: PUSH P,(D)
5418 407034' 550 03 0 00 000014 HRRZ C,P
5419 407035' 261 14 0 12 000000 PUSH P,(D)
5420 407036' 207 00 0 14 000000 MOVSS (P)
5421 407037' 260 14 0 00 406717' PUSHJ P,GCP6B
5422 407040' 274 14 0 00 411477' SUB P,[XWD 2,2]
5423 407041' 253 12 0 00 407033' AOBJN D,GCP6E
5424 407042' 550 13 0 13 000000 HRRZ R,(R)
5425 407043' 254 00 0 00 407030' JRST GCP6D
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-136
UCILSP MAC 27-MAR-75 17:13 GARBAGE COLLECTER
5426
5427 407044' GFSWPP:
5428 000000 PHASE 0
5429 000000 GFSP1==.
5430 000000 321 11 0 00 000003 JUMPL S,.+3
5431 000001 552 15 0 13 000000 HRRZM F,(R)
5432 000002 550 15 0 00 000013 HRRZ F,R
5433 000003 241 11 0 00 000001 ROT S,1
5434 000004 253 13 0 00 000000 AOBJN R,.-4
5435 000005 200 11 0 12 000000 MOVE S,(D)
5436 000006 505 13 0 00 777740 HRLI R,-40
5437 000007 253 12 0 00 000000 AOBJN D,GFSP1
5438
5439 000010 LPROG==.
5440 000010 254 00 0 00 407062' JRST GFSPR
5441
5442 407055' DEPHASE
5443 ;garbage collector sweep
5444
5445 407055' 205 13 0 00 407044' GCSWP: MOVSI R,GFSWPP
5446 407056' 251 13 0 00 000010 BLT R,LPROG
5447 407057' 201 15 0 00 000000 MOVEI F,NIL ;will become movei f,-1
5448 407060' 200 12 0 00 000415' MOVE D,C3GCS
5449 407061' 254 00 0 00 000405' JRST XXX3
5450 REMOTE<
5451 XXX3: MOVEI R,FS ;$$ANOTHER FOOLIST REMNANT
5452 GCBTL1: HRLI R,X ;-(32-<fs&37>
5453 MOVE S,(D)
5454 GCBTL2: ROT S,X ;fs&37
5455 AOBJN D,GFSP1
5456 JRST GFSPR>
5457 407062' 200 01 0 00 000413' GFSPR: MOVE A,C1GCS
5458 407063' 200 02 0 00 000414' MOVE B,C2GCS
5459 407064' 260 14 0 00 407115' PUSHJ P,GCS0
5460 407065' 336 00 0 00 000474' SKIPN GCGAGV
5461 407066' 254 00 0 00 407075' JRST GCSPI1
5462 407067' 200 02 0 00 000015 MOVE B,F
5463 407070' 260 14 0 00 407135' PUSHJ P,GCPNT
5464 407071' 004 00 0 00 411605' STRTIP [SIXBIT / FREE STG,!/]
5465 407072' 200 02 0 00 000016 MOVE B,FF
5466 407073' 260 14 0 00 407135' PUSHJ P,GCPNT
5467 407074' 004 00 0 00 411607' STRTIP [SIXBIT / FULL WORDS AVAILABLE_!/]
5468 407075' 514 11 0 00 000500' GCSPI1: HRLZ S,GCSP1# ;bottom of reg pdl+1
5469 407076' 251 11 0 00 000010 BLT S,NACS+3 ;reload ac's
5470 407077' 274 14 0 00 411613' SUB P,[XWD GCPK2-GCPK1,GCPK2-GCPK1] ;restore p
5471 407100' 356 00 0 00 000473' AOSN GCFLG ;CHECK FLAG FOR PENDING INTERRUPT
5472 407101' 254 00 0 00 407105' JRST GCEXIT ;NO- SO NORMAL EXIT
5473 407102' 262 14 0 00 400001* POP P,JOBOPC ;INTERRUPT WILL CONTINUE FROM THE GC RETURN
5474 407103' 261 14 0 00 000473' PUSH P,GCFLG ;GC WILL RETURN TO THE INTERRUPT POINT
5475 407104' 402 00 0 00 000473' SETZM GCFLG ;CLEAR GCFLG
5476 407105' 322 15 0 00 411617' GCEXIT: JUMPE F,[ERR2 [SIXBIT /NO FREE STG LEFT!/]]
5477 407106' 322 16 0 00 411623' JUMPE FF,[ERR2 [SIXBIT /NO FW STG LEFT!/]]
5478 407107' 200 13 0 00 000552' MOVE R,RGC
5479 407110' 201 01 0 00 000000 MOVEI A,0
5480 407111' 047 01 0 00 000027 CALLI A,STIME ;time
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-137
UCILSP MAC 27-MAR-75 17:13 GARBAGE COLLECTER
5481 407112' 272 01 0 00 000501' ADDM A,GCTIM
5482 407113' 200 11 0 00 000441' MOVE S,ATMOV ;$$RESTORE ATOM OFFSET RELOCATOR (FOOLIST)
5483 ;$$HOPEFULLY S IS USED ONLY BY GC AND ATOM RELOCATION
5484
5485 407114' 263 14 0 00 000000 POPJ P,
5486
5487 407115' 201 16 0 00 000000 GCS0: MOVEI FF,0
5488 407116' 134 03 0 00 000002 GCS1: ILDB C,B
5489 407117' 326 03 0 00 407122' JUMPN C,GCS2
5490 407120' 552 16 0 01 000000 HRRZM FF,(A)
5491 407121' 550 16 0 00 000001 HRRZ FF,A
5492 407122' 253 01 0 00 407116' GCS2: AOBJN A,GCS1
5493 407123' 263 14 0 00 000000 POPJ P,
5494
5495 REMOTE<
5496 C1GCS: 0 ;(- length of fws) bottom of fws
5497 C2GCS: XWD 100,0 ;.=bottom of fws bit table
5498 C3GCS: 0 ;-n wds in bt,,bt
5499 >
5500 407124' 250 01 0 00 000474' GCGAG: EXCH A,GCGAGV#
5501 407125' 263 14 0 00 000000 POPJ P,
5502
5503 407126' 200 01 0 00 000501' GCTIME: MOVE A,GCTIM
5504 407127' 254 00 0 00 405220' JRST FIX1A
5505
5506 407130' 201 01 0 00 000000 TIME: MOVEI A,0
5507 407131' 047 01 0 00 000027 CALLI A,STIME
5508 407132' 254 00 0 00 405220' JRST FIX1A
5509
5510 407133' 200 01 0 00 000452' SPEAK: MOVE A,CONSVAL#
5511 407134' 254 00 0 00 405220' JRST FIX1A
5512
5513 407135' 201 13 0 00 401132' GCPNT: MOVEI R,TTYO
5514 407136' 201 01 0 00 000000 MOVEI A,0
5515 407137' 322 02 0 00 402417' JUMPE B,PRINL1
5516 407140' 550 02 0 02 000000 HRRZ B,(B)
5517 407141' 344 01 0 00 407137' AOJA A,.-2
5518
5519 IFN REALLC <
5520 ;%% NEW ROUTINES TO COUNT AVAILABLE
5521 ;%% FREE SPACE AND FULL WORD SPACE
5522
5523 FSCNT: TDZA C,C ;%% INITIALIZE
5524 FWCNT: MOVEI C,1 ;%%
5525 MOVE B,F(C) ;%% FREE LIST START
5526 SETZ A, ;%% COUNTER
5527 JUMPE B,FIX1A ;%% WHEN DONE, NO MORE POINTER
5528 HRRZ B,(B) ;%%
5529 AOJA A,.-2 ;%%
5530 >
5531
5532 GCING: OUTSTR [ASCIZ /
5533 GARBAGE COLLECTING
5534 407142' 051 03 0 00 411624' /]
5535 407143' 262 14 0 00 000473' POP P,GCFLG ;CAN'T INTERRUPT GC, QUEUE UP THE REQUEST
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-138
UCILSP MAC 27-MAR-75 17:13 GARBAGE COLLECTER
5536 407144' 254 00 1 00 407102* JRST @JOBOPC
5537
5538 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-139
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE ACCESSING ROUTINES
5539 SUBTTL SYMBOL TABLE ACCESSING ROUTINES
5540
5541
5542 407145' 260 14 0 00 403302' R50MAK: PUSHJ P,PNAMUK
5543 407146' 261 03 0 00 411345' PUSH C,[0]
5544 407147' 505 03 0 00 000700 HRLI C,700
5545 407150' 541 03 0 17 000000 HRRI C,(SP)
5546 407151' 201 02 0 00 000000 MOVEI B,0
5547 407152' 134 01 0 00 000003 MK3: ILDB A,C
5548 407153' 135 01 0 00 402623' LDB A,R50FLD
5549 407154' 315 02 0 00 411631' CAMGE B,[50*50*50*50*50]
5550 407155' 336 00 0 00 000001 SKIPN A
5551 407156' 263 14 0 00 000000 POPJ P,
5552 407157' 221 02 0 00 000050 IMULI B,50
5553 407160' 270 02 0 00 000001 ADD B,A
5554 407161' 254 00 0 00 407152' JRST MK3
5555
5556
5557
5558 ;## NEW ROUTINES FOR CONVERTING SYMBOLS TO CONS CELL
5559
5560 407162' 200 01 0 00 000002 SYMERR: MOVE A,B
5561 407163' 260 14 0 00 402322' SYMER1: PUSHJ P,EPRINT ;## PRINT OFFENDER
5562 407164' 001 00 0 00 411632' ERR1 [SIXBIT /NOT A CONS CELL !/]
5563 ;## **CAUSES ERROR IF NOT IN FREE STORAGE**
5564 407165' 260 14 0 00 407174' RGTSYM: PUSHJ P,GETSYM
5565 407166' 260 14 0 00 405071' PUSHJ P,NUMVAL ;## CONVERT TO REAL ADDRESS
5566 407167' 271 01 0 11 000000 ADDI A,(S) ;## ADD RELOCATION
5567 407170' 301 01 0 11 000603' CAIL A,FS(S) ;## LESS THAN FS(S) IS NOT CONS CELL
5568 407171' 311 01 0 00 000472' CAML A,FWSO ;## FS(S)<= A < FWSO IS A CONS CELL
5569 407172' 254 00 0 00 407163' JRST SYMER1
5570 407173' 263 14 0 00 000000 POPJ P,
5571
5572 407174' 260 14 0 00 407145' GETSYM: PUSHJ P,R50MAK
5573 407175' 661 02 0 00 040000 TLO B,040000 ;04 for globals
5574 407176' 200 03 0 00 401326* MOVE C,JOBSYM
5575 407177' 316 02 0 03 000000 MK7: CAMN B,(C)
5576 407200' 254 00 0 00 407207' JRST MK10 ;found
5577 407201' 252 03 0 00 407203' AOBJP C,.+2
5578 407202' 253 03 0 00 407177' AOBJN C,MK7
5579 407203' 641 02 0 00 140000 TLC B,140000 ;10 for locals
5580 407204' 603 02 0 00 100000 TLNE B,100000
5581 407205' 254 00 0 00 407176' JRST MK7-1
5582 407206' 254 00 0 00 404013' JRST FALSE
5583
5584 407207' 200 01 0 03 000001 MK10: MOVE A,1(C) ;value
5585 407210' 254 00 0 00 405220' JRST FIX1A
5586
5587
5588 ;## ROUTINE TO STORE A CONS CELL SO THAT IT CAN BE
5589 ;## REFERENCED VIA ,CELL(S) I.E. THRU INDEX REG. S
5590 ;## ERROR IF NOT LEGITIMATE CONS CELL
5591 407211' 301 02 0 11 000603' RPTSYM: CAIL B,FS(S) ;## FS(S) =< B <FWSO IS A LEGIT
5592 407212' 311 02 0 00 000472' CAML B,FWSO ;## CONS CELL, ALL ELSE IS ERROR
5593 407213' 254 00 0 00 407162' JRST SYMERR ;## ERROR
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-140
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE ACCESSING ROUTINES
5594 407214' 275 02 0 11 000000 SUBI B,(S) ;## STRIP OF RELOCATION
5595
5596 407215' 261 14 0 00 000002 PUTSYM: PUSH P,B
5597 407216' 260 14 0 00 407145' PUSHJ P,R50MAK
5598 407217' 200 01 0 00 000002 MOVE A,B
5599 407220' 661 01 0 00 040000 TLO A,040000 ;make global
5600 407221' 331 00 0 00 407176* SKIPL JOBSYM
5601 407222' 350 00 0 00 407221* AOS JOBSYM ;increment initial symbol table pointer
5602 407223' 210 02 0 00 411477' MOVN B,[XWD 2,2]
5603 407224' 273 02 0 00 407222* ADDB B,JOBSYM
5604 407225' 202 01 0 02 000000 MOVEM A,(B) ;name
5605 407226' 262 14 0 02 000001 POP P,1(B) ;value
5606 407227' 254 00 0 00 404013' JRST FALSE
5607
5608 407230' PATCH: BLOCK 20
5609
5610 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-141
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5611 SUBTTL SPRINT -- THE PRETTY PRINTER
5612
5613
5614 ;THIS IS THE NEW IMPROVED VERSION OF SPRINT
5615
5616 ; 0(P) = A
5617 ; -1(P) = B
5618 ; -2(P) = C
5619 ; -3(P) = M
5620 ; -4(P) = N
5621 ; -5(P) = X
5622
5623
5624 407250' 275 02 0 00 577777 SPRINT: SUBI B,INUM0
5625 407251' 261 14 0 00 000001 SPRNT2: PUSH P,A
5626 407252' 261 14 0 00 000002 PUSH P,B
5627 407253' 402 00 0 00 000523' SETZM M#
5628 407254' 402 00 0 00 000454' SETZM CSW#
5629 407255' 202 14 0 00 000574' MOVEM P,STP#
5630 407256' 201 02 0 00 000000 MOVEI B,0
5631 407257' 260 14 0 00 407776' PUSHJ P,DEPTH
5632 407260' 336 02 0 00 000523' SKIPN B,M
5633 407261' 254 00 0 00 407267' JRST .+6
5634 407262' 200 01 0 00 000055' MOVE A,LINL
5635 407263' 274 01 0 00 000002 SUB A,B
5636 407264' 274 01 0 00 000002 SUB A,B
5637 407265' 230 01 0 00 000002 IDIV A,B
5638 407266' 303 01 0 00 000014 CAILE A,14
5639 407267' 201 01 0 00 000014 MOVEI A,14
5640 407270' 202 01 0 00 000456' MOVEM A,CUT#
5641 407271' 200 01 0 14 000000 MOVE A,0(P)
5642 407272' 230 01 0 00 000055' IDIV A,LINL
5643 407273' 307 02 0 00 000000 CAIG B,0
5644 407274' 270 02 0 00 000055' ADD B,LINL
5645 407275' 202 02 0 14 000000 MOVEM B,0(P)
5646 407276' 201 03 0 00 000000 MOVEI C,0
5647 407277' 254 00 0 00 407302' JRST .+3
5648
5649 407300' 261 14 0 00 000001 ISPRIN: PUSH P,A
5650 407301' 261 14 0 00 000002 PUSH P,B
5651 407302' 261 14 0 00 000003 PUSH P,C
5652 407303' 261 14 0 00 411345' PUSH P,[0]
5653 407304' 261 14 0 00 411345' PUSH P,[0]
5654 407305' 261 14 0 00 411345' PUSH P,[0]
5655 407306' 200 01 0 00 000002 MOVE A,B
5656 407307' 274 02 0 00 000055' SUB B,LINL
5657 407310' 323 02 0 00 407313' JUMPLE B,.+3
5658 407311' 200 01 0 00 000002 MOVE A,B
5659 407312' 202 01 0 14 777774 MOVEM A,-4(P)
5660 407313' 260 14 0 00 407670' PUSHJ P,POS
5661 407314' 200 01 0 14 777773 MOVE A,-5(P)
5662 407315' 260 14 0 00 403676' PUSHJ P,PATOM
5663 407316' 322 01 0 00 407322' JUMPE A,.+4
5664 407317' 200 01 0 14 777773 SPRN1: MOVE A,-5(P)
5665 407320' 260 14 0 00 402335' PUSHJ P,PRIN1
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-142
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5666 407321' 254 00 0 00 407665' JRST SPRN22
5667 407322' 200 02 0 00 000055' MOVE B,LINL
5668 407323' 274 02 0 14 777774 SUB B,-4(P)
5669 407324' 271 02 0 00 000001 ADDI B,1
5670 407325' 202 02 0 14 000000 MOVEM B,0(P)
5671 407326' 274 02 0 14 777775 SUB B,-3(P)
5672 407327' 200 01 0 14 777773 MOVE A,-5(P)
5673 407330' 260 14 0 00 407733' PUSHJ P,FLATLE
5674 407331' 326 01 0 00 407317' JUMPN A,SPRN1
5675 407332' 201 01 0 00 000050 MOVEI A,50
5676 407333' 260 14 0 00 401074' PUSHJ P,TYO
5677 407334' 350 00 0 14 777774 AOS -4(P)
5678 407335' 370 00 0 14 000000 SOS 0(P)
5679 407336' 550 01 1 14 777773 HRRZ A,@-5(P)
5680 407337' 260 14 0 00 403676' PUSHJ P,PATOM
5681 407340' 326 01 0 00 407476' JUMPN A,SPRN13
5682 407341' 554 01 1 14 777773 HLRZ A,@-5(P)
5683 407342' 306 01 0 11 003754' CAIN A,LAMBDA(S)
5684 407343' 254 00 0 00 407564' JRST LAM
5685 407344' 306 01 0 11 002273' CAIN A,PROGAT+1(S)
5686 407345' 254 00 0 00 407611' JRST PRG
5687 407346' 260 14 0 00 403676' PUSHJ P,PATOM
5688 407347' 322 01 0 00 407360' JUMPE A,SPRN3
5689 407350' 554 01 1 14 777773 HLRZ A,@-5(P)
5690 407351' 260 14 0 00 402335' PUSHJ P,PRIN1
5691 407352' 200 01 0 14 000000 MOVE A,0(P)
5692 407353' 274 01 0 00 000056' SUB A,CHCT
5693 407354' 202 01 0 14 777777 MOVEM A,-1(P)
5694 407355' 307 01 0 00 000024 CAIG A,24
5695 407356' 254 00 0 00 407367' JRST SPRN4
5696 407357' 254 00 0 00 407473' JRST SPRN12+4
5697 407360' 200 02 0 14 000000 SPRN3: MOVE B,0(P)
5698 407361' 303 02 0 00 000020 CAILE B,20
5699 407362' 201 02 0 00 000020 MOVEI B,20
5700 407363' 554 01 1 14 777773 HLRZ A,@-5(P)
5701 407364' 260 14 0 00 407733' PUSHJ P,FLATLE
5702 407365' 322 01 0 00 407467' JUMPE A,SPRN12
5703 407366' 202 01 0 14 777777 MOVEM A,-1(P)
5704 407367' 550 01 1 14 777773 SPRN4: HRRZ A,@-5(P)
5705 407370' 202 01 0 14 777776 MOVEM A,-2(P)
5706 407371' 550 01 0 01 000000 HRRZ A,0(A)
5707 407372' 260 14 0 00 403676' PUSHJ P,PATOM
5708 407373' 326 01 0 00 407450' JUMPN A,SPRN8
5709 407374' 200 02 0 14 777777 MOVE B,-1(P)
5710 407375' 317 02 0 00 000456' CAMG B,CUT
5711 407376' 254 00 0 00 407406' JRST SPRN2
5712 407377' 332 00 0 00 000454' SKIPE CSW
5713 407400' 254 00 0 00 407450' JRST SPRN8
5714 407401' 200 01 0 14 000000 MOVE A,0(P)
5715 407402' 274 01 0 00 000002 SUB A,B
5716 407403' 275 01 0 00 000001 SUBI A,1
5717 407404' 202 01 0 14 777777 MOVEM A,-1(P)
5718 407405' 254 00 0 00 407422' JRST SPRN5
5719 407406' 554 01 1 14 777773 SPRN2: HLRZ A,@-5(P)
5720 407407' 260 14 0 00 403676' PUSHJ P,PATOM
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-143
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5721 407410' 326 01 0 00 407413' JUMPN A,.+3
5722 407411' 554 01 1 14 777773 HLRZ A,@-5(P)
5723 407412' 260 14 0 00 402335' PUSHJ P,PRIN1
5724 407413' 550 01 1 14 777773 HRRZ A,@-5(P)
5725 407414' 202 01 0 14 777773 MOVEM A,-5(P)
5726 407415' 200 01 0 14 777774 MOVE A,-4(P)
5727 407416' 270 01 0 14 777777 ADD A,-1(P)
5728 407417' 271 01 0 00 000001 ADDI A,1
5729 407420' 202 01 0 14 777774 MOVEM A,-4(P)
5730 407421' 254 00 0 00 407467' JRST SPRN12
5731 407422' 200 02 0 14 777777 SPRN5: MOVE B,-1(P)
5732 407423' 554 01 1 14 777776 HLRZ A,@-2(P)
5733 407424' 260 14 0 00 407733' PUSHJ P,FLATLE
5734 407425' 322 01 0 00 407450' JUMPE A,SPRN8
5735 407426' 550 01 1 14 777776 HRRZ A,@-2(P)
5736 407427' 202 01 0 14 777776 MOVEM A,-2(P)
5737 407430' 550 01 0 01 000000 HRRZ A,0(A)
5738 407431' 260 14 0 00 403676' PUSHJ P,PATOM
5739 407432' 322 01 0 00 407422' JUMPE A,SPRN5
5740 407433' 550 02 1 14 777776 HRRZ B,@-2(P)
5741 407434' 326 02 0 00 407437' JUMPN B,.+3
5742 407435' 200 02 0 14 777777 MOVE B,-1(P)
5743 407436' 364 02 0 00 407444' SOJA B,SPRN7
5744 407437' 550 01 1 14 777776 HRRZ A,@-2(P)
5745 407440' 260 14 0 00 405311' PUSHJ P,FLATSI
5746 407441' 275 01 0 00 577773 SUBI A,INUM0-4
5747 407442' 274 01 0 14 777777 SUB A,-1(P)
5748 407443' 210 02 0 00 000001 MOVN B,A
5749 407444' 274 02 0 14 777775 SPRN7: SUB B,-3(P)
5750 407445' 554 01 1 14 777776 HLRZ A,@-2(P)
5751 407446' 260 14 0 00 407733' PUSHJ P,FLATLE
5752 407447' 326 01 0 00 407525' JUMPN A,SPRN18
5753 407450' 554 01 1 14 777773 SPRN8: HLRZ A,@-5(P)
5754 407451' 260 14 0 00 403676' PUSHJ P,PATOM
5755 407452' 326 01 0 00 407455' JUMPN A,.+3
5756 407453' 554 01 1 14 777773 SPRN9: HLRZ A,@-5(P)
5757 407454' 260 14 0 00 402335' PUSHJ P,PRIN1
5758 407455' 550 01 1 14 777773 HRRZ A,@-5(P)
5759 407456' 202 01 0 14 777773 MOVEM A,-5(P)
5760 407457' 316 01 0 14 777776 CAMN A,-2(P)
5761 407460' 254 00 0 00 407464' JRST SPRN11
5762 407461' 200 01 0 14 777774 MOVE A,-4(P)
5763 407462' 260 14 0 00 407670' PUSHJ P,POS
5764 407463' 254 00 0 00 407453' JRST SPRN9
5765 407464' 550 01 1 14 777773 SPRN11: HRRZ A,@-5(P)
5766 407465' 260 14 0 00 403676' PUSHJ P,PATOM
5767 407466' 326 01 0 00 407476' JUMPN A,SPRN13
5768 407467' 201 03 0 00 000000 SPRN12: MOVEI C,0
5769 407470' 200 02 0 14 777774 MOVE B,-4(P)
5770 407471' 554 01 1 14 777773 HLRZ A,@-5(P)
5771 407472' 260 14 0 00 407300' PUSHJ P,ISPRIN
5772 407473' 550 01 1 14 777773 HRRZ A,@-5(P)
5773 407474' 202 01 0 14 777773 MOVEM A,-5(P)
5774 407475' 254 00 0 00 407464' JRST SPRN11
5775 407476' 550 01 1 14 777773 SPRN13: HRRZ A,@-5(P)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-144
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5776 407477' 322 01 0 00 407503' JUMPE A,.+4
5777 407500' 260 14 0 00 405311' PUSHJ P,FLATSI
5778 407501' 275 01 0 00 577774 SUBI A,INUM0-3
5779 407502' 272 01 0 14 777775 ADDM A,-3(P)
5780 407503' 350 00 0 14 777775 AOS -3(P)
5781 407504' 200 03 0 14 777775 MOVE C,-3(P)
5782 407505' 200 02 0 14 777774 MOVE B,-4(P)
5783 407506' 554 01 1 14 777773 HLRZ A,@-5(P)
5784 407507' 260 14 0 00 407300' PUSHJ P,ISPRIN
5785 407510' 550 01 1 14 777773 SPRN16: HRRZ A,@-5(P)
5786 407511' 322 01 0 00 407522' JUMPE A,SPRN17
5787 407512' 201 01 0 00 000040 MOVEI A,40
5788 407513' 260 14 0 00 401074' PUSHJ P,TYO
5789 407514' 201 01 0 00 000056 MOVEI A,56
5790 407515' 260 14 0 00 401074' PUSHJ P,TYO
5791 407516' 201 01 0 00 000040 MOVEI A,40
5792 407517' 260 14 0 00 401074' PUSHJ P,TYO
5793 407520' 550 01 1 14 777773 HRRZ A,@-5(P)
5794 407521' 260 14 0 00 402335' PUSHJ P,PRIN1
5795 407522' 201 01 0 00 000051 SPRN17: MOVEI A,51
5796 407523' 260 14 0 00 401074' PUSHJ P,TYO
5797 407524' 254 00 0 00 407665' JRST SPRN22
5798 407525' 554 01 1 14 777773 SPRN18: HLRZ A,@-5(P)
5799 407526' 260 14 0 00 403676' PUSHJ P,PATOM
5800 407527' 326 01 0 00 407532' JUMPN A,.+3
5801 407530' 554 01 1 14 777773 HLRZ A,@-5(P)
5802 407531' 260 14 0 00 402335' PUSHJ P,PRIN1
5803 407532' 201 01 0 00 000040 MOVEI A,40
5804 407533' 260 14 0 00 401074' PUSHJ P,TYO
5805 407534' 550 01 1 14 777773 HRRZ A,@-5(P)
5806 407535' 202 01 0 14 777773 MOVEM A,-5(P)
5807 407536' 200 01 0 00 000055' MOVE A,LINL
5808 407537' 274 01 0 00 000056' SUB A,CHCT
5809 407540' 271 01 0 00 000001 ADDI A,1
5810 407541' 202 01 0 14 777774 MOVEM A,-4(P)
5811 407542' 550 01 1 14 777773 HRRZ A,@-5(P)
5812 407543' 260 14 0 00 403676' PUSHJ P,PATOM
5813 407544' 326 01 0 00 407561' JUMPN A,SPRN21
5814 407545' 554 01 1 14 777773 SPRN19: HLRZ A,@-5(P)
5815 407546' 260 14 0 00 402335' PUSHJ P,PRIN1
5816 407547' 550 01 1 14 777773 HRRZ A,@-5(P)
5817 407550' 202 01 0 14 777773 MOVEM A,-5(P)
5818 407551' 550 01 0 01 000000 HRRZ A,0(A)
5819 407552' 260 14 0 00 403676' PUSHJ P,PATOM
5820 407553' 326 01 0 00 407557' JUMPN A,.+4
5821 407554' 200 01 0 14 777774 MOVE A,-4(P)
5822 407555' 260 14 0 00 407670' PUSHJ P,POS
5823 407556' 254 00 0 00 407545' JRST SPRN19
5824 407557' 200 01 0 14 777774 MOVE A,-4(P)
5825 407560' 260 14 0 00 407670' PUSHJ P,POS
5826 407561' 554 01 1 14 777773 SPRN21: HLRZ A,@-5(P)
5827 407562' 260 14 0 00 402335' PUSHJ P,PRIN1
5828 407563' 254 00 0 00 407510' JRST SPRN16
5829 407564' 260 14 0 00 402335' LAM: PUSHJ P,PRIN1
5830 407565' 550 01 1 14 777773 HRRZ A,@-5(P)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-145
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5831 407566' 202 01 0 14 777773 MOVEM A,-5(P)
5832 407567' 200 02 0 14 777774 MOVE B,-4(P)
5833 407570' 202 02 0 14 777777 MOVEM B,-1(P)
5834 407571' 554 01 0 01 000000 HLRZ A,0(A)
5835 407572' 260 14 0 00 403676' PUSHJ P,PATOM
5836 407573' 201 02 0 00 000006 MOVEI B,6
5837 407574' 302 01 0 00 000000 CAIE A,NIL
5838 407575' 271 02 0 00 000001 ADDI B,1
5839 407576' 272 02 0 14 777774 ADDM B,-4(P)
5840 407577' 550 01 1 14 777773 HRRZ A,@-5(P)
5841 407600' 260 14 0 00 403676' PUSHJ P,PATOM
5842 407601' 326 01 0 00 407476' JUMPN A,SPRN13
5843 407602' 201 03 0 00 000000 MOVEI C,0
5844 407603' 200 02 0 14 777774 MOVE B,-4(P)
5845 407604' 554 01 1 14 777773 HLRZ A,@-5(P)
5846 407605' 260 14 0 00 407300' PUSHJ P,ISPRIN
5847 407606' 200 02 0 14 777777 MOVE B,-1(P)
5848 407607' 202 02 0 14 777774 MOVEM B,-4(P)
5849 407610' 254 00 0 00 407473' JRST SPRN12+4
5850 407611' 260 14 0 00 402335' PRG: PUSHJ P,PRIN1
5851 407612' 550 01 1 14 777773 HRRZ A,@-5(P)
5852 407613' 202 01 0 14 777773 MOVEM A,-5(P)
5853 407614' 200 01 0 14 777774 MOVE A,-4(P)
5854 407615' 202 01 0 14 777777 MOVEM A,-1(P)
5855 407616' 201 01 0 00 000005 MOVEI A,5
5856 407617' 272 01 0 14 777774 ADDM A,-4(P)
5857 407620' 550 01 1 14 777773 HRRZ A,@-5(P)
5858 407621' 260 14 0 00 403676' PUSHJ P,PATOM
5859 407622' 326 01 0 00 407476' JUMPN A,SPRN13
5860 407623' 201 03 0 00 000000 MOVEI C,0
5861 407624' 200 02 0 14 777774 MOVE B,-4(P)
5862 407625' 554 01 1 14 777773 HLRZ A,@-5(P)
5863 407626' 260 14 0 00 407300' PUSHJ P,ISPRIN
5864 407627' 200 01 0 14 000000 MOVE A,0(P)
5865 407630' 275 01 0 00 000005 SUBI A,5
5866 407631' 202 01 0 14 777776 MOVEM A,-2(P)
5867 407632' 550 01 1 14 777773 PRG1: HRRZ A,@-5(P)
5868 407633' 202 01 0 14 777773 MOVEM A,-5(P)
5869 407634' 550 01 0 01 000000 HRRZ A,0(A)
5870 407635' 260 14 0 00 403676' PUSHJ P,PATOM
5871 407636' 326 01 0 00 407657' JUMPN A,PRG3
5872 407637' 554 01 1 14 777773 HLRZ A,@-5(P)
5873 407640' 260 14 0 00 403676' PUSHJ P,PATOM
5874 407641' 322 01 0 00 407647' JUMPE A,PRG2
5875 407642' 200 01 0 14 777777 MOVE A,-1(P)
5876 407643' 260 14 0 00 407670' PUSHJ P,POS
5877 407644' 554 01 1 14 777773 HLRZ A,@-5(P)
5878 407645' 260 14 0 00 402335' PUSHJ P,PRIN1
5879 407646' 254 00 0 00 407632' JRST PRG1
5880 407647' 200 01 0 00 000056' PRG2: MOVE A,CHCT
5881 407650' 317 01 0 14 777776 CAMG A,-2(P)
5882 407651' 260 14 0 00 402501' PUSHJ P,TERPRI
5883 407652' 201 03 0 00 000000 MOVEI C,0
5884 407653' 200 02 0 14 777774 MOVE B,-4(P)
5885 407654' 554 01 1 14 777773 HLRZ A,@-5(P)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-146
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5886 407655' 260 14 0 00 407300' PUSHJ P,ISPRIN
5887 407656' 254 00 0 00 407632' JRST PRG1
5888 407657' 554 01 1 14 777773 PRG3: HLRZ A,@-5(P)
5889 407660' 260 14 0 00 403676' PUSHJ P,PATOM
5890 407661' 322 01 0 00 407476' JUMPE A,SPRN13
5891 407662' 200 02 0 14 777777 MOVE B,-1(P)
5892 407663' 202 02 0 14 777774 MOVEM B,-4(P)
5893 407664' 254 00 0 00 407476' JRST SPRN13
5894 407665' 201 01 0 00 000000 SPRN22: MOVEI A,NIL
5895 407666' 274 14 0 00 411635' SUB P,[XWD 6,6]
5896 407667' 263 14 0 00 000000 POPJ P,
5897
5898 407670' 261 14 0 00 000001 POS: PUSH P,A
5899 407671' 261 14 0 00 411345' PUSH P,[0]
5900 407672' 200 01 0 00 000055' MOVE A,LINL
5901 407673' 274 01 0 00 000056' SUB A,CHCT
5902 407674' 271 01 0 00 000001 ADDI A,1
5903 407675' 261 14 0 00 000001 PUSH P,A
5904 407676' 316 01 0 14 777776 CAMN A,-2(P)
5905 407677' 254 00 0 00 407731' JRST POS4
5906 407700' 317 01 0 14 777776 CAMG A,-2(P)
5907 407701' 254 00 0 00 407705' JRST .+4
5908 407702' 260 14 0 00 402501' PUSHJ P,TERPRI
5909 407703' 201 01 0 00 000001 MOVEI A,1
5910 407704' 202 01 0 14 000000 MOVEM A,0(P)
5911 407705' 275 01 0 00 000001 SUBI A,1
5912 407706' 242 01 0 00 777775 LSH A,-3
5913 407707' 271 01 0 00 000001 ADDI A,1
5914 407710' 242 01 0 00 000003 LSH A,3
5915 407711' 271 01 0 00 000001 ADDI A,1
5916 407712' 202 01 0 14 777777 MOVEM A,-1(P)
5917 407713' 313 01 0 14 777776 CAMLE A,-2(P)
5918 407714' 254 00 0 00 407723' JRST POS3
5919 407715' 201 01 0 00 000011 POS2: MOVEI A,11
5920 407716' 260 14 0 00 401074' PUSHJ P,TYO
5921 407717' 200 01 0 14 777777 MOVE A,-1(P)
5922 407720' 202 01 0 14 000000 MOVEM A,0(P)
5923 407721' 271 01 0 00 000010 ADDI A,10
5924 407722' 254 00 0 00 407712' JRST POS2-3
5925 407723' 350 01 0 14 000000 POS3: AOS A,0(P)
5926 407724' 313 01 0 14 777776 CAMLE A,-2(P)
5927 407725' 254 00 0 00 407731' JRST POS4
5928 407726' 201 01 0 00 000040 MOVEI A,40
5929 407727' 260 14 0 00 401074' PUSHJ P,TYO
5930 407730' 254 00 0 00 407723' JRST POS3
5931 407731' 274 14 0 00 411636' POS4: SUB P,[XWD 3,3]
5932 407732' 263 14 0 00 000000 POPJ P,
5933
5934 407733' 323 02 0 00 407774' FLATLE: JUMPLE B,ABORT+1
5935 407734' 402 00 0 00 000523' SETZM M
5936 407735' 202 02 0 00 000525' MOVEM B,N#
5937 407736' 202 14 0 00 000574' MOVEM P,STP
5938 407737' 261 14 0 00 000001 SCAN: PUSH P,A
5939 407740' 260 14 0 00 403676' PUSHJ P,PATOM
5940 407741' 326 01 0 00 407763' JUMPN A,EXIT1-6
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-147
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5941 407742' 350 01 0 00 000523' NA: AOS A,M
5942 407743' 313 01 0 00 000525' CAMLE A,N
5943 407744' 254 00 0 00 407773' JRST ABORT
5944 407745' 554 01 1 14 000000 HLRZ A,@0(P)
5945 407746' 260 14 0 00 407737' PUSHJ P,SCAN
5946 407747' 550 01 1 14 000000 HRRZ A,@0(P)
5947 407750' 202 01 0 14 000000 MOVEM A,0(P)
5948 407751' 326 01 0 00 407754' JUMPN A,.+3
5949 407752' 350 01 0 00 000523' AOS A,M
5950 407753' 254 00 0 00 407767' JRST EXIT1-2
5951 407754' 200 01 0 14 000000 MOVE A,0(P)
5952 407755' 260 14 0 00 403676' PUSHJ P,PATOM
5953 407756' 322 01 0 00 407742' JUMPE A,NA
5954 407757' 201 01 0 00 000004 MOVEI A,4
5955 407760' 273 01 0 00 000523' ADDB A,M
5956 407761' 313 01 0 00 000525' CAMLE A,N
5957 407762' 254 00 0 00 407773' JRST ABORT
5958 407763' 200 01 0 14 000000 MOVE A,0(P)
5959 407764' 260 14 0 00 405311' PUSHJ P,FLATSI
5960 407765' 275 01 0 00 577777 SUBI A,INUM0
5961 407766' 273 01 0 00 000523' ADDB A,M
5962 407767' 313 01 0 00 000525' CAMLE A,N
5963 407770' 254 00 0 00 407773' JRST ABORT
5964 407771' 274 14 0 00 411474' EXIT1: SUB P,[XWD 1,1]
5965 407772' 263 14 0 00 000000 POPJ P,
5966 407773' 200 14 0 00 000574' ABORT: MOVE P,STP
5967 407774' 201 01 0 00 000000 MOVEI A,NIL
5968 407775' 263 14 0 00 000000 POPJ P,
5969
5970 407776' 261 14 0 00 000001 DEPTH: PUSH P,A
5971 407777' 261 14 0 00 000002 PUSH P,B
5972 410000' 260 14 0 00 403676' PUSHJ P,PATOM
5973 410001' 326 01 0 00 410031' JUMPN A,D2
5974 410002' 350 01 0 14 000000 AOS A,0(P)
5975 410003' 313 01 0 00 000055' CAMLE A,LINL
5976 410004' 254 00 0 00 410034' JRST OUT+1
5977 410005' 313 01 0 00 000523' CAMLE A,M
5978 410006' 202 01 0 00 000523' MOVEM A,M
5979 410007' 200 01 0 14 777777 MOVE A,-1(P)
5980 410010' 261 14 0 00 000001 PUSH P,A
5981 410011' 261 14 0 00 411345' PUSH P,[0]
5982 410012' 554 01 1 14 777775 D1: HLRZ A,@-3(P)
5983 410013' 200 02 0 14 777776 MOVE B,-2(P)
5984 410014' 260 14 0 00 407776' PUSHJ P,DEPTH
5985 410015' 550 01 1 14 777775 HRRZ A,@-3(P)
5986 410016' 202 01 0 14 777775 MOVEM A,-3(P)
5987 410017' 200 02 0 14 777777 MOVE B,-1(P)
5988 410020' 463 03 0 14 000000 SETCMB C,0(P)
5989 410021' 326 03 0 00 410024' JUMPN C,.+3
5990 410022' 550 02 0 02 000000 HRRZ B,0(B)
5991 410023' 202 02 0 14 777777 MOVEM B,-1(P)
5992 410024' 316 01 0 00 000002 CAMN A,B
5993 410025' 254 00 0 00 410033' JRST OUT
5994 410026' 260 14 0 00 403676' PUSHJ P,PATOM
5995 410027' 322 01 0 00 410012' JUMPE A,D1
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-148
UCILSP MAC 27-MAR-75 17:13 SPRINT -- THE PRETTY PRINTER
5996 410030' 274 14 0 00 411477' SUB P,[XWD 2,2]
5997 410031' 274 14 0 00 411477' D2: SUB P,[XWD 2,2]
5998 410032' 263 14 0 00 000000 POPJ P,
5999 410033' 476 00 0 00 000454' OUT: SETOM CSW
6000 410034' 200 14 0 00 000574' MOVE P,STP
6001 410035' 254 00 1 14 000001 JRST @1(P)
6002 ;
6003 ;
6004 ;(TAB X) TABS TO POSITION X DOING A (TERPRI) IF NECESSARY
6005 ;
6006 410036' 260 14 0 00 405071' .TAB: PUSHJ P,NUMVAL
6007 410037' 260 14 0 00 407670' PUSHJ P,POS ;LET POS IN SPRINT DO THE WORK
6008 410040' 254 00 0 00 404013' JRST FALSE
6009
6010 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-149
UCILSP MAC 27-MAR-75 17:13 ALVINE AND LOADER INTERFACES
6011 SUBTTL ALVINE AND LOADER INTERFACES
6012
6013 ;interface to alvine
6014
6015 IFN ALVINE,<
6016 ED: MOVE 10,EDA
6017 JRST (10)
6018 PUSH P,A
6019 HRRZ A,CORUSE
6020 HRRM A,LST
6021 AOS A
6022 HRRM A,EDA#
6023
6024
6025 HRRM A,ED1 ;$$SAVE REENTRY TO EDITOR
6026 AOS ED1# ;$$
6027
6028 MOVSI A,(SIXBIT /ED/)
6029 SETZ D, ;THAT RELOCATION AGAIN - SEE BELOW
6030 PUSHJ P,SYSINI
6031 HRLM A,LST
6032 MOVNS A
6033 PUSHJ P,MORCOR
6034 PUSHJ P,SYSINP+1
6035 POP P,A
6036 JRST ED
6037 GRINDEF:PUSH P,A
6038 PUSHJ P,ED
6039 POP P,A
6040 JRST 2(10)>
6041
6042 410041' EXCISE:
6043 IFN ALVINE<
6044 MOVEI A,ED+2
6045 HRRM A,EDA>
6046 410041' 200 01 0 00 000514' MOVE A,JRELO
6047 410042' 402 00 0 00 000516' SETZM LDFLG# ;initial loader symbol table flag
6048 410043' 047 01 0 00 000011 CALLI A,CORE
6049 410044' 254 00 0 00 410045' JRST .+1
6050 410045' 265 13 0 00 401323' JSP R,IOBRST
6051 410046' 254 00 0 00 403764' JRST TRUE
6052
6053 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-150
UCILSP MAC 27-MAR-75 17:13 ALVINE AND LOADER INTERFACES
6054
6055 ; lisp loader interface
6056 ; REG. D IS USED SINCE VARIABLES ARE MOVE WHEN LISP IS REENTRANT
6057 410047' 350 02 0 00 000453' LOAD: AOS B,CORUSE
6058 410050' 202 02 0 00 000535' MOVEM B,OLDCU#
6059 410051' 202 01 0 00 000517' MOVEM A,LDPAR#
6060 410052' 322 01 0 00 410055' JUMPE A,LOAD2
6061 410053' 200 02 0 11 004033' MOVE B,VBPORG(S)
6062 410054' 275 02 0 00 577777 SUBI B,INUM0
6063 410055' 202 02 0 00 000555' LOAD2: MOVEM B,RVAL# ;final destination of loaded code
6064 410056' 205 01 0 00 545744 MOVSI A,(SIXBIT /LOD/)
6065 410057' 400 12 0 00 000000 SETZ D,
6066 410060' 260 14 0 00 410176' PUSHJ P,SYSINI
6067 410061' 275 01 0 00 000150 SUBI A,150 ;extra room for locations 0 to 137 and slop
6068 410062' 261 14 0 00 000001 PUSH P,A
6069 410063' 213 00 0 00 000001 MOVNS A ;length(loader)
6070 410064' 552 01 0 00 000520' HRRZM A,LODSIZ#
6071 410065' 260 14 0 00 410256' PUSHJ P,MORCOR ;expand core for loader
6072 410066' 202 01 0 00 000521' MOVEM A,LOWLSP# ;location of blt'ed low lisp
6073 410067' 210 02 0 14 000000 MOVN B,(P) ;length(loader)
6074 410070' 270 02 0 00 000001 ADD B,A
6075 410071' 202 02 0 00 000505' MOVEM B,HVAL# ;temporary destination of loaded code
6076 410072' 505 01 0 00 000000 HRLI A,0
6077 410073' 200 12 0 00 000001 MOVE D,A ;THIS IS THE RELOCATION, THE LOADER WILL SAVE IT
6078 410074' 251 01 0 02 000000 BLT A,(B) ;blt up low lisp
6079 410075' 500 01 0 12 000427' HLL A,NAME+3(D) ;-length(loader)
6080 410076' 541 01 0 00 000136 HRRI A,137-1
6081 410077' 260 14 0 00 410215' PUSHJ P,SYSINP
6082 410100' 332 00 0 12 000516' SKIPE LDFLG(D)
6083 410101' 254 00 0 00 410121' JRST LOAD3
6084 410102' 476 00 0 12 000516' SETOM LDFLG(D)
6085 410103' 205 01 0 00 637155 MOVSI A,(SIXBIT /SYM/)
6086 410104' 260 14 0 00 410176' PUSHJ P,SYSINI
6087 410105' 213 00 0 00 000001 MOVNS A ;length symbols
6088 410106' 260 14 0 00 410256' PUSHJ P,MORCOR ;expand core for symbols
6089 410107' 335 02 0 00 407224* SKIPGE B,JOBSYM
6090 410110' 370 00 0 00 000002 SOS B ;if no symbol table, use original jobsym
6091 410111' 554 01 0 12 000427' HLRZ A,NAME+3(D) ;-length(symbols)
6092 410112' 273 01 0 00 000002 ADDB A,B
6093 410113' 500 01 0 12 000427' HLL A,NAME+3(D) ;symbol table iowd
6094 410114' 260 14 0 00 410215' PUSHJ P,SYSINP
6095 410115' 542 02 0 00 410107* HRRM B,JOBSYM
6096 410116' 510 01 0 12 000427' HLLZ A,NAME+3(D)
6097 410117' 272 01 0 00 410115* ADDM A,JOBSYM
6098 410120' 334 00 0 00 000000 SKIPA
6099 410121' 370 00 0 00 410117* LOAD3: SOS JOBSYM ;want jobsym to point one below 1st symbol
6100 410122' 200 03 0 12 000505' MOVE 3,HVAL(D) ;h
6101 410123' 200 05 0 12 000555' MOVE 5,RVAL(D) ;r
6102 410124' 200 02 0 00 000003 MOVE 2,3
6103 410125' 274 02 0 00 000005 SUB 2,5 ;x=h-r
6104 410126' 505 05 0 00 000012 HRLI 5,12 ;(w)
6105 410127' 505 02 0 00 000011 HRLI 2,11 ;(v)
6106 410130' 403 01 0 00 000004 SETZB 1,4
6107 410131' 265 00 0 00 000140 JSP 0,140 ;call the loader
6108 410132' 202 05 0 12 000553' MOVEM 5,RLAST#(D) ;last location loaded(in final area)
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-151
UCILSP MAC 27-MAR-75 17:13 ALVINE AND LOADER INTERFACES
6109 410133' 200 06 0 12 000535' MOVE T,OLDCU(D)
6110 410134' 200 01 0 00 410121* MOVE A,JOBSYM
6111 410135' 202 01 0 06 410134* MOVEM A,JOBSYM(T)
6112 410136' 200 01 0 00 402272* MOVE A,JOBREL
6113 410137' 202 01 0 06 410136* MOVEM A,JOBREL(T) ;update jobrel
6114 410140' 514 00 0 12 000521' HRLZ 0,LOWLSP(D)
6115 410141' 370 00 0 12 000520' SOS LODSIZ(D)
6116 410142' 253 00 0 00 410143' AOBJN 0,.+1
6117 410143' 251 00 1 12 000520' BLT 0,@LODSIZ(D) ;blt down low lisp
6118 410144' 200 00 1 00 000521' MOVE 0,@LOWLSP ;EVERY THING IS FIXED, DON'T NEED REG. D ANYMORE
6119 410145' 200 02 0 00 000553' MOVE B,RLAST
6120 410146' 200 01 0 00 000555' MOVE A,RVAL
6121 410147' 504 01 0 00 000505' HRL A,HVAL
6122 410150' 332 00 0 00 000517' SKIPE LDPAR
6123 410151' 254 00 0 00 410170' JRST BINLD
6124 410152' 200 03 0 00 000553' MOVE C,RLAST ;new coruse
6125 410153' 251 01 0 02 000000 LDRET2: BLT A,(B) ;blt down loaded code
6126 410154' 552 03 0 00 000453' HRRZM C,CORUSE ;top of code loaded
6127 410155' 201 02 0 00 000001 MOVEI B,1
6128 410156' 412 02 0 00 410135* ANDCAM B,JOBSYM
6129 410157' 274 03 0 00 410156* SUB C,JOBSYM ;length of free core
6130 410160' 465 03 0 00 776000 ORCMI C,776000
6131 410161' 345 03 0 00 400022' AOJGE C,START ;no contraction
6132 410162' 270 03 0 00 410137* ADD C,JOBREL ;new top of core
6133 410163' 200 02 0 00 000003 MOVE B,C
6134 410164' 260 14 0 00 410223' PUSHJ P,MOVDWN
6135 410165' 047 03 0 00 000011 CALLI C,CORE ;contract core
6136 410166' 254 00 0 00 410167' JRST .+1
6137 410167' 254 00 0 00 400022' JRST START
6138
6139 410170' 201 03 0 02 577777 BINLD: MOVEI C,INUM0(B)
6140 410171' 311 03 0 11 004034' CAML C,VBPEND(S)
6141 JRST [ SETOM BPSFLG ;bps exceeded
6142 410172' 254 00 0 00 411637' JRST START]
6143 410173' 202 03 0 11 004033' MOVEM C,VBPORG(S) ;updat bporg
6144 410174' 370 03 0 00 000535' SOS C,OLDCU ;old top of core
6145 410175' 254 00 0 00 410153' JRST LDRET2
6146
6147 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-152
UCILSP MAC 27-MAR-75 17:13 ALVINE AND LOADER INTERFACES
6148
6149 410176' 202 01 0 12 000425' SYSINI: MOVEM A,NAME+1(D)
6150 ;%% FOLLOWING IS OLD, NON-PATCHABLE CHANNEL OPEN
6151 COMMENT &
6152 IFN SYSPRG,< MOVE A,[XWD SYSPRG,SYSPN]
6153 MOVEM A,NAME+3(D)>
6154 IFE SYSPRG,< SETZM NAME+3(D)>
6155 INIT 17
6156 SYSDEV
6157 0
6158 JRST AIN.4+1
6159 & ;%% END OF OLD CODE
6160 ;%% NEW PATCHABLE CODE (DEVICE NAME IN LOW SEGMENT)
6161 410177' 200 01 0 12 000416' MOVE A,SYSIN1(D) ;%% PICK UP PPN
6162 REMOTE<
6163 SYSIN1: XWD SYSPRG,SYSPN ;%% KEEP IN LOW SEGMENT
6164 >
6165 410200' 202 01 0 12 000427' MOVEM A,NAME+3(D) ;%% RESET VALUE HERE
6166 410201' 201 01 0 00 000017 MOVEI A,17 ;%% SET DATA MODE
6167 410202' 202 01 0 12 000417' MOVEM A,SYSIN0(D) ;%%
6168 410203' 050 00 0 12 000417' OPEN 0,SYSIN0(D) ;%% OPEN CHANNEL 0 TO READ FILE
6169 410204' 254 00 0 00 401725' JRST AIN.4+1 ;%% ERROR IN OPEN IF HERE
6170 REMOTE<
6171 SYSIN0: 17 ;%% DUMP MODE I/O
6172 SYSDEV ;%% INITIALLY SYSTEM DEVICE
6173 ;%% MAY BE PATCHED
6174 ;%% NOTE THAT THIS MAY REMAIN "SYS"
6175 ;%% WHEN HGHDAT IS CHANGED TO
6176 ;%% SOMETHING ELSE
6177 0 ;%% NO BUFFERING
6178 >
6179 410205' 076 00 0 12 000424' LOOKUP NAME(D)
6180 410206' 254 00 0 00 401727' JRST AIN.7+1
6181 410207' 200 01 0 00 411641' MOVE A,[IOWD 1,NAME+3] ;KLUDGE BECAUSE OF REG. D
6182 410210' 270 01 0 00 000012 ADD A,D
6183 410211' 202 01 0 12 000422' MOVEM A,INLOW(D)
6184 410212' 066 00 0 12 000422' INPUT INLOW(D) ;INPUT SIZE OF FILE
6185 REMOTE<
6186 INLOW: IOWD 1,NAME+3
6187 0>
6188 410213' 564 01 0 12 000427' HLRO A,NAME+3(D)
6189 410214' 263 14 0 00 000000 POPJ P,
6190
6191 REMOTE<
6192 NAME: SYSNAM
6193 0
6194 0
6195 0>
6196
6197 410215' 202 01 0 12 000430' SYSINP: MOVEM A,LST(D)
6198 410216' 066 00 0 12 000430' INPUT LST(D)
6199 410217' 063 00 0 00 740000 STATZ 740000
6200 410220' 001 00 0 00 401730' ERR1 AIN.8
6201 410221' 071 00 0 00 000000 RELEASE
6202 410222' 263 14 0 00 000000 POPJ P,
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-153
UCILSP MAC 27-MAR-75 17:13 ALVINE AND LOADER INTERFACES
6203
6204 REMOTE<
6205 LST: 0
6206 0>
6207 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-154
UCILSP MAC 27-MAR-75 17:13 ALVINE AND LOADER INTERFACES
6208 410223' 506 02 0 00 401324* MOVDWN: HRLM B,JOBSA ;##SAVE NEW JOBSA
6209 410224' 554 01 0 00 410157* HLRZ A,JOBSYM
6210 410225' 322 01 0 00 410254' JUMPE A,MOVS1
6211 410226' 271 01 0 02 000001 ADDI A,1(B)
6212 410227' 504 01 0 00 410224* HRL A,JOBSYM
6213 410230' 542 01 0 00 410227* HRRM A,JOBSYM
6214 410231' 251 01 0 02 000000 BLT A,(B) ;downward blt
6215 410232' 263 14 0 00 000000 POPJ P,
6216
6217 410233' 200 02 0 00 410162* MOVSYM: MOVE B,JOBREL
6218 410234' 506 02 0 00 410223* HRLM B,JOBSA
6219 410235' 574 01 0 00 410230* HLRE A,JOBSYM
6220 410236' 322 01 0 00 410254' JUMPE A,MOVS1
6221 410237' 271 02 0 01 000001 ADDI B,1(A) ;new bottom of symbol table
6222 410240' 211 01 0 01 000001 MOVNI A,1(A)
6223 410241' 270 01 0 00 410235* ADD A,JOBSYM ;last loc of old symbol table
6224 410242' 542 02 0 00 410241* HRRM B,JOBSYM
6225 410243' 261 14 0 00 000003 PUSH P,C
6226 410244' 200 02 0 00 410233* MOVE B,JOBREL ;last loc of new symbol table
6227 410245' 200 03 0 01 000000 MOVE C,(A) ;simulated upward blt
6228 410246' 202 03 0 02 000000 MOVEM C,(B)
6229 410247' 275 02 0 00 000001 SUBI B,1
6230 410250' 271 01 0 00 777777 ADDI A,-1 ;lf+1,rt-1
6231 410251' 321 01 0 00 410245' JUMPL A,.-4
6232 410252' 262 14 0 00 000003 POP P,C
6233 410253' 263 14 0 00 000000 POPJ P,
6234
6235 410254' 552 02 0 00 410242* MOVS1: HRRZM B,JOBSYM
6236 410255' 263 14 0 00 000000 POPJ P,
6237
6238 ;enter with size needed in a
6239 ;exit with pointer in a to core
6240
6241 410256' 261 14 0 00 000002 MORCOR: PUSH P,B
6242 410257' 550 02 0 00 410254* HRRZ B,JOBSYM
6243 410260' 274 02 0 12 000453' SUB B,CORUSE(D)
6244 410261' 276 01 0 00 000002 SUBM A,B ;NEEDED-JOBSYM-CORUSE(IE. NEEDED-FREE)
6245 410262' 321 02 0 00 410271' JUMPL B,EXPND2
6246 410263' 270 02 0 00 410244* ADD B,JOBREL ;new core size
6247 410264' 047 02 0 00 000011 CALLI B,CORE ;expand core
6248 410265' 001 00 0 00 411642' ERR1 [SIXBIT /CANT EXPAND CORE !/]
6249 410266' 261 14 0 00 000001 PUSH P,A
6250 410267' 260 14 0 00 410233' PUSHJ P,MOVSYM
6251 410270' 262 14 0 00 000001 POP P,A
6252 410271' 200 02 0 12 000453' EXPND2: MOVE B,CORUSE(D)
6253 410272' 272 01 0 12 000453' ADDM A,CORUSE(D)
6254 410273' 200 01 0 00 000002 MOVE A,B
6255 410274' 262 14 0 00 000002 POP P,B
6256 410275' 263 14 0 00 000000 POPJ P,
6257 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-155
UCILSP MAC 27-MAR-75 17:13 HIGH SEGMENT FUNCTIONS
6258 SUBTTL HIGH SEGMENT FUNCTIONS
6259
6260 REMOTE<VHGHORG:BHORG>
6261 410276' 322 01 0 00 410315' HGHCOR: JUMPE A,NOWRT ;EXPAND CORE AND SET WRITE STATUS
6262 410277' 260 14 0 00 405071' PUSHJ P,NUMVAL
6263 410300' 323 01 0 00 404013' JUMPLE A,FALSE
6264 410301' 403 03 0 00 000433' CLEARB C,WRTSTS
6265 410302' 047 03 0 00 000036 CALLI C,SETUWP
6266 410303' 001 00 0 00 411645' UWPERR: ERR1 [SIXBIT /CAN'T CHANGE HIGH SEG. WRITE PROTECT!/]
6267 410304' 200 02 0 00 000432' MOVE B,VHGHORG
6268 410305' 270 02 0 00 000001 ADD B,A
6269 410306' 550 03 0 00 000000* HRRZ C,JOBHRL
6270 410307' 317 02 0 00 000003 CAMG B,C
6271 410310' 254 00 0 00 403764' JRST TRUE
6272 410311' 514 01 0 00 000002 HRLZ A,B
6273 410312' 047 01 0 00 000011 CALLI A,CORE
6274 410313' 001 00 0 00 411654' ERR1 [SIXBIT /CAN'T EXPAND HIGH SEGMENT!/]
6275 410314' 254 00 0 00 403764' JRST TRUE
6276 410315' 201 01 0 00 000001 NOWRT: MOVEI A,1
6277 410316' 202 01 0 00 000433' MOVEM A,WRTSTS
6278 410317' 047 01 0 00 000036 CALLI A,SETUWP
6279 410320' 254 00 0 00 410303' JRST UWPERR
6280 410321' 254 00 0 00 403764' JRST TRUE
6281
6282 410322' 332 00 0 00 000001 HGHORG: SKIPE A ;SET HIGH ORG. TO A AND RETURN OLD ORG.
6283 410323' 260 14 0 00 405071' PUSHJ P,NUMVAL
6284 410324' 261 14 0 00 000001 PUSH P,A
6285 410325' 200 01 0 00 000432' MOVE A,VHGHORG
6286 410326' 201 02 0 11 003740' MOVEI B,FIXNUM(S)
6287 410327' 260 14 0 00 405057' PUSHJ P,MAKNUM
6288 410330' 262 14 0 00 000002 POP P,B
6289 410331' 332 00 0 00 000002 SKIPE B
6290 410332' 202 02 0 00 000432' MOVEM B,VHGHORG
6291 410333' 263 14 0 00 000000 POPJ P,
6292
6293 410334' 550 01 0 00 410306* HGHEND: HRRZ A,JOBHRL ;GET VALUE OF END OF HIGH SEG.
6294 410335' 201 02 0 11 003740' MOVEI B,FIXNUM(S)
6295 410336' 254 00 0 00 405057' JRST MAKNUM
6296
6297 ;SETS THE GETSEG INFO. SO USER CAN HAVE OWN HIGH SEG.
6298 410337' 200 06 0 00 000001 SETSYS: MOVE T,A ;MOVE ARGUMENT FOR UIOSUB
6299 410340' 402 00 0 00 000111' SETZM DEV ;## ALLOW DEFAULT TO DSK:
6300 410341' 260 14 0 00 401203' PUSHJ P,IOSUB ;BREAKS DOWN THE SPECIFICATION
6301 410342' 202 01 0 00 000022' MOVEM A,HGHDAT+1 ;SAVE THE FILE NAME
6302 410343' 200 01 0 00 000111' MOVE A,DEV ;GET THE DEVICE AND SAVE IT
6303 410344' 202 01 0 00 000021' MOVEM A,HGHDAT
6304 410345' 200 01 0 00 000126' MOVE A,PPN ;GET THE PPN AND SAVE IT
6305 410346' 202 01 0 00 000025' MOVEM A,HGHDAT+4
6306 410347' 254 00 0 00 404013' JRST FALSE ;RETURN NIL
6307
6308 REMOTE<WRTSTS: 1>
6309
6310 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-156
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6311 SUBTTL REALLOC CODE
6312
6313
6314 IFN REALLC <
6315 ;%% DYNAMIC REALLOCTION ROUTINE
6316 ;%%
6317 ;%% ARGUMENTS:
6318 ;%% A = FULL WORD SPACE INCREMENT
6319 ;%% B = BINARY PROGRAM SPACE INCREMENT
6320 ;%% C = REGULAR PUSHDOWN LIST INCREMENT
6321 ;%% AR1 = SPECIAL PUSHDOWN LIST INCREMENT
6322 ;%% AR2A = FREE SPACE INCREMENT
6323 ;%%
6324 ;%% ACTION:
6325 ;%% 1) PERFORMS AN EXCISE
6326 ;%% 2) ALLOCATES ADDITIONAL CORE AS REQUIRED
6327 ;%% (IF IMPOSSIBLE, SIGNALS "CAN'T EXPAND CORE")
6328 ;%% 5) UNBINDS ALL VARIABLES ON THE SPECIAL STACK
6329 ;%% AND CLEARS BOTH STACKS
6330 ;%% 4) REALLOCATES SPACE ACCORDING TO SPECIFICATIONS
6331 ;%% (NOTE THAT TOTAL CORE USED WILL BE ROUNDED
6332 ;%% UP TO A MULTIPLE OF 1K WORDS, AND ANY EXCESS
6333 ;%% WILL BE APPORTIONED TO FWS, RPDL, SPDL, AND
6334 ;%% FS.)
6335 ;%% 5) RESTARTS THE SYSTEM AT THE TOP LEVEL
6336 ;%%
6337
6338 REALL1: JUMPE A,.+2 ;%%NO CONVERSION IF NIL
6339 PUSHJ P,NUMVAL ;%%CONVERT TO BINARY
6340 ADDI T,(A) ;%%ADD TO TOTAL BEING ACCUMULATED
6341 EXCH A,(P) ;%%PUSH ON STACK
6342 JRST (A) ;%%AND RETURN
6343
6344 REALLOC:
6345 SETZ T, ;%% CLEAR ACCUMULATOR FOR ALLOC TOTAL
6346 MOVE TT,B ;%% SAVE SECOND ARG DURING FIRST CALL
6347 PUSHJ P,REALL1 ;%% PROCESS FIRST ARG
6348 MOVE A,TT ;%%
6349 PUSHJ P,REALL1 ;%% PROCESS SECOND ARG
6350 MOVE A,C ;%%
6351 PUSHJ P,REALL1 ;%% PROCESS THIRD ARG
6352 MOVE A,AR1 ;%%
6353 PUSHJ P,REALL1 ;%% PROCESS FOURTH ARG
6354 MOVE A,AR2A ;%%
6355 PUSHJ P,REALL1 ;%% PROCESS FIFTH ARG
6356 MOVE A,-4(P) ;%% PICK UP FWS INCREMENT
6357 ADD A,SFWS ;%% MAKE NEW TOTAL FWS
6358 IDIVI A,44 ;%% CALCULATE SPACE FOR BIT TABLE
6359 ADDI T,1(A) ;%% ADD TO TOTAL
6360 MOVEM T,(P) ;%% SAVE TOTAL (FS AMOUNT NOT NEEDED)
6361 PUSHJ P,EXCISE ;%% CLEAR BUFFERS, ETC.
6362 POP P,A ;%% GET TOTAL BACK
6363 SETZ D, ;%% CLEAR RELOCATION REGISTER
6364 ;%% (HERE WE GO AGAIN)
6365 PUSHJ P,MORCOR ;%% ALLOCATE THE ADDITIONAL SPACE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-157
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6366 MOVE B,SC2 ;%% CLEAR STACKS AND UNBIND VARIABLES
6367 PUSHJ P,UBD ;%%
6368 HRRZ B,JOBREL ;%% GET NEW HIGH LIMIT
6369 CAMGE B,JRELO# ;%% DID CORE GET SMALLER?
6370 HALT . ;%% YES -- WE QUIT
6371 MOVEM B,JRELO# ;%% RESET LIMIT
6372 HRLM B,JOBSA ;%%
6373 IFN ALVINE <
6374 MOVEI A,ED+2 ;%%INDICATE ED WAS OVERWRITTEN
6375 HRRM A,EDA ;%%SO THEY WILL BE RELOADED IF NEEDED
6376 >
6377 SETZM LDFLG ;%% INDICATE SYMBOLS GONE [1]
6378 MOVE A,SFWS ;%% SAVE OLD VALUE
6379 MOVEM A,OSFWS ;%%
6380 MOVE A,FSO ;%%
6381 MOVEM A,OFSO ;%%
6382 POP P,A ;%% SPDL INCREMENT
6383 ADDM A,SSPDL ;%% CHANGE TOTAL
6384 MOVN AR2A,A ;%% SAVE JUST IN CASE
6385 POP P,A ;%% RPDL INCREMENT
6386 ADDM A,SRPDL ;%% CHANGE TOTAL
6387 MOVN AR1,A ;%% SAVE AGAIN
6388 POP P,A ;%% BPS TOTAL
6389 MOVEM A,FSMOVE ;%% HOW MUCH TO MOVE FS
6390 ADDM A,FSO ;%% NEW FS ORIGIN
6391 ADDM A,SBPS ;%% BPS INCREMENT
6392 POP P,A ;%% FWS INCREMENT
6393 ADDM A,SFWS ;%% ADD TO TOTAL
6394 JRST REALL2 ;%% JUMP INTO REGULAR ALLOCATOR
6395 ;%% (ALL DATA OFF STACK)
6396 >
6397
6398
6399 410350' STRT:
6400 410350' 550 01 0 00 410263* INALLC: HRRZ A,JOBREL ;SEE IF CORE WAS EXPANDED
6401 410351' 316 01 0 00 000514' CAMN A,JRELO# ;OR NOT
6402 410352' 254 00 0 00 410716' JRST OUTALC ;NO EXPANSION - DON'T REALLOCATE
6403 410353' 317 01 0 00 000514' CAMG A,JRELO# ;CHECK TO SEE IF IT GOT SMALLER!
6404 410354' 254 04 0 00 000000 JRST 4,0 ;YES - BITCH
6405 410355' 202 01 0 00 000514' MOVEM A,JRELO# ;SAVE NEW CORE BOUND
6406 410356' 506 01 0 00 410234* HRLM A,JOBSA
6407 IFN ALVINE,<
6408 MOVEI F,ED+2 ;INDICATE THAT ED WAS OVERWRITTEN
6409 HRRM F,EDA ;SO ED AND GRINDEF WILL BE READ IN IF NEEDED>
6410 410357' 402 00 0 00 000516' SETZM LDFLG ;%% INDICATE SYMBOLS GONE [1]
6411 410360' 402 00 0 00 000530' INAGN: SETZM NOALIN# ;SET UP TO ASK FOR ALLOCATION
6412 OUTSTR [ASCIZ /
6413 410361' 051 03 0 00 411661' ALLOC? (Y OR N) /] ;ASK USER IF HE WISHES TO SET UP
6414 410362' 051 00 0 00 000003 INCHRW C ;THE ALLOCATION INCREMENTS
6415 410363' 305 03 0 00 000117 CAIGE C,"O"
6416 410364' 476 00 0 00 000530' SETOM NOALIN# ;SET FLAG SO NO INPUT IS DONE LATER
6417 410365' 200 01 0 00 000564' SETFWS: MOVE A,SFWS# ;SAVE OLD SIZE OF FWS
6418 410366' 202 01 0 00 000540' MOVEM A,OSFWS#
6419
6420 410367' 336 00 0 00 000530' SKIPN NOALIN ;SKIP QUESTIONS IF AUTOMATIC
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-158
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6421 OUTSTR [ASCIZ /
6422 410370' 051 03 0 00 411665' FULL WORD SP. = /]
6423 410371' 265 13 0 00 410721' JSP R,ALLNUM
6424 410372' 326 01 0 00 410375' JUMPN A,.+3
6425 410373' 332 00 0 00 000513' SKIPE INITFW#
6426 410374' 271 01 0 00 000440 ADDI A,440 ;INITIAL ALLOCATION FOR FWS
6427
6428 410375' 272 01 0 00 000564' ADDM A,SFWS# ;ADD EITHER USER INCREMENT OR 0 TO SFWS
6429
6430 410376' 200 01 0 00 000470' MOVE A,FSO# ;SAVE OLD FS ORIGIN
6431 410377' 202 01 0 00 000534' MOVEM A,OFSO# ;FOR RELOCATION
6432
6433
6434 410400' 336 00 0 00 000530' SKIPN NOALIN ;SKIP IF USER DONE
6435 OUTSTR [ASCIZ /
6436 410401' 051 03 0 00 411671' BIN. PROG. SP. = /]
6437 410402' 265 13 0 00 410721' JSP R,ALLNUM
6438 410403' 272 01 0 00 000557' ADDM A,SBPS#
6439 410404' 202 01 0 00 000467' MOVEM A,FSMOVE# ;THE INCREMENT TO SBPS IS THE AMOUNT BY
6440 410405' 272 01 0 00 000470' ADDM A,FSO# ;THE FREE SPACE IS MOVED - UPDATE ORIGIN
6441
6442
6443
6444 410406' 336 00 0 00 000530' SKIPN NOALIN ;SKIPIF USER DONE
6445 OUTSTR [ASCIZ /
6446 410407' 051 03 0 00 411675' REG. PDL. = /]
6447 410410' 265 13 0 00 410721' JSP R,ALLNUM
6448 410411' 326 01 0 00 410414' JUMPN A,.+3
6449 410412' 332 00 0 00 000513' SKIPE INITFW# ;CHECK IF INITIAL ALLOCATION
6450 410413' 271 01 0 00 001000 ADDI A,1000
6451 410414' 272 01 0 00 000571' ADDM A,SRPDL#
6452 410415' 210 04 0 00 000001 MOVN AR1,A ;SAVE IN CASE OF OVERFLOW
6453
6454
6455 410416' 336 00 0 00 000530' SKIPN NOALIN ;SKIP IF USER DONE
6456 OUTSTR [ASCIZ /
6457 410417' 051 03 0 00 411700' SPEC. PDL. = /]
6458 410420' 265 13 0 00 410721' JSP R,ALLNUM
6459 410421' 326 01 0 00 410424' JUMPN A,.+3
6460 410422' 332 00 0 00 000513' SKIPE INITFW# ;CHECK FOR INITIAL ALLOCATION
6461 410423' 271 01 0 00 001000 ADDI A,1000
6462 410424' 272 01 0 00 000572' ADDM A,SSPDL#
6463 410425' 210 05 0 00 000001 MOVN AR2A,A ;SAVE IN CASE OF OVERFLOW
6464 IFN HASH,<
6465 SKIPN INITFW
6466 SETOM NOALIN
6467 SKIPN NOALIN
6468 OUTSTR [ASCIZ /
6469 HASH = /]
6470 JSP R,ALLNUM
6471 CAIG A,BCKETS
6472 JRST OCR
6473 HRRM A,INT1
6474 MOVNS A
6475 HRRM A,RH4
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-159
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6476 SETOM HASHFG>
6477 OCR: OUTSTR [ASCIZ /
6478 410426' 051 03 0 00 411630' /]
6479 410427' 200 01 0 00 000514' REALL2: MOVE A,JRELO# ;COMPUTE SIZE OF AVAILABLE CORE
6480 410430' 275 01 0 00 000603' SUBI A,FS ;SO THAT EXTRA CORE CAN BE DISTRIBUTED
6481
6482 410431' 274 01 0 00 000557' SUB A,SBPS ;TAKE OFF CORE ALLOCATED FOR BPS
6483 410432' 274 01 0 00 000563' SUB A,SFS# ;TAKE OFF CORE IN PREVIOUS FS
6484 410433' 274 01 0 00 000560' SUB A,SBT# ;AND ASSOCIATED BIT TABLE
6485 410434' 274 01 0 00 000564' SUB A,SFWS ;TAKE OFF CORE NOW ALLOCATED TO FWS
6486 410435' 274 01 0 00 000571' SUB A,SRPDL ;TAKE OFF CORE NOW ALLOCATED TO RPDL
6487 410436' 274 01 0 00 000572' SUB A,SSPDL ;TAKE OFF CORE NOW ALLOCATED TO SPDL
6488
6489 410437' 200 15 0 00 000564' MOVE F,SFWS ;ESTIMATE SIZE NEEDED FOR BTF
6490 410440' 231 15 0 00 000044 IDIVI F,44
6491 410441' 271 15 0 00 000001 ADDI F,1
6492 410442' 274 01 0 00 000015 SUB A,F ;AND TAKE IT OFF TOTAL
6493 410443' 202 15 0 00 000561' MOVEM F,SBTF# ;ALSO SAVE TO RESTORE LATER
6494 410444' 325 01 0 00 410456' JUMPGE A,ALOK ;MAKE SURE NO OVERFLOW
6495 OUTSTR [ASCIZ /ALLOCATIONS ARE TOO LARGE
6496 410445' 051 03 0 00 411704' /] ; IF SO THEN RETRY
6497 410446' 200 01 0 00 000540' MOVE A,OSFWS
6498 410447' 202 01 0 00 000564' MOVEM A,SFWS ;RESTORE SIZE OF FWS
6499 410450' 210 01 0 00 000467' MOVN A,FSMOVE
6500 410451' 272 01 0 00 000557' ADDM A,SBPS ;RESET SIZE OF BPS
6501 410452' 272 01 0 00 000470' ADDM A,FSO ;AND FS ORGIN
6502 410453' 272 04 0 00 000571' ADDM AR1,SRPDL ;RESET STACKS
6503 410454' 272 05 0 00 000572' ADDM AR2A,SSPDL
6504 410455' 254 00 0 00 410360' JRST INAGN
6505
6506 410456' 200 02 0 00 000001 ALOK: MOVE B,A ;NOW CAN ALLOCATE EXCESS CORE
6507 410457' 240 02 0 00 777774 ACHLOC: ASH B,-4 ;1/16 TO FWS
6508 410460' 272 02 0 00 000564' ADDM B,SFWS
6509 410461' 274 01 0 00 000002 SUB A,B ;TAKE IT OFF REMAINING CORE
6510 410462' 332 00 0 00 000513' SKIPE INITFW
6511 410463' 400 02 0 00 000000 SETZ B,
6512 410464' 240 02 0 00 777774 ASH B,-4 ;1/64 TO PDLS
6513 410465' 272 02 0 00 000572' ADDM B,SSPDL
6514 410466' 274 01 0 00 000002 SUB A,B
6515 410467' 272 02 0 00 000571' ADDM B,SRPDL
6516 410470' 274 01 0 00 000002 SUB A,B ;AND TAKE IT OFF REMAINING CORE
6517
6518 410471' 200 06 0 00 000564' MOVE T,SFWS ;CALCULATE ACTUAL SIZE OF BTF
6519 410472' 231 06 0 00 000044 IDIVI T,44
6520 410473' 271 06 0 00 000001 ADDI T,1
6521 410474' 270 01 0 00 000561' ADD A,SBTF ;REMOVE ESTIMATED LOSS FOR BTF
6522 410475' 202 06 0 00 000561' MOVEM T,SBTF
6523 410476' 274 01 0 00 000006 SUB A,T ;AND TAKE OFF ACTUAL LOSS TO BTF
6524
6525 410477' 270 01 0 00 000563' ADD A,SFS ;ADD BACK ON SPACE FROM OLD FS
6526 410500' 270 01 0 00 000560' ADD A,SBT ;AND ASSOCIATED BT
6527 ;GIVING NEW SPACE AVAILABLE FOR
6528 ;FS AND BT
6529 410501' 200 07 0 00 000001 MOVE TT,A
6530 410502' 231 07 0 00 000041 IDIVI TT,41 ;SBS = SFS/32. = (SBS + SFS)/33.
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-160
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6531
6532 410503' 271 07 0 00 000001 ADDI TT,1
6533 410504' 202 07 0 00 000560' MOVEM TT,SBT
6534
6535 410505' 274 01 0 00 000007 SUB A,TT ;TAKE OFF SBT FROM REMAINING CORE
6536 410506' 202 01 0 00 000563' MOVEM A,SFS ;GIVING AVAILABLE SFS
6537
6538
6539 ;SET UP REGISTERS FOR GC ETC. SETUP
6540
6541 410507' 200 01 0 00 000564' MOVE A,SFWS ;A _ SFWS
6542 410510' 201 02 0 00 000603' MOVEI B,FS
6543 410511' 270 02 0 00 000563' ADD B,SFS
6544 410512' 270 02 0 00 000557' ADD B,SBPS ;B _ NFWSO (ORIGIN OF NEW FULL WORD SPACE)
6545 410513' 200 03 0 00 000571' MOVE C,SRPDL ;C _ SRPDL
6546 410514' 200 15 0 00 000540' MOVE F,OSFWS ;F _ OLD SIZE OF FWS
6547
6548
6549
6550
6551 410515' 542 02 0 00 000476' HRRM B,GCP1 ;GCP1 _ NFWSO
6552 410516' 210 17 0 00 000002 MOVN SP,B ;-NEW BOTTOM OF FWS
6553
6554 410517' 542 17 0 00 000401' HRRM SP,GCMFWS
6555 410520' 516 01 0 00 000413' HRLZM A,C1GCS
6556 410521' 213 00 0 00 000413' MOVNS C1GCS ;-NEW LENGTH OF FWS
6557 410522' 542 02 0 00 000413' HRRM B,C1GCS ;HAVE FWS POINTER AND COUNT FOR SWEEP
6558
6559 410523' 270 02 0 00 000001 ADD B,A ;NEW FIRST WORD OF BT (FS BIT TABLE)
6560
6561
6562 410524' 200 17 0 00 000470' MOVE SP,FSO ;SP _ NEW ORIGIN OF FS
6563
6564 410525' 242 17 0 00 777773 LSH SP,-5
6565 410526' 276 02 0 00 000017 SUBM B,SP ;NUMBER USED TO FIND BIT TABLE WORD
6566 410527' 542 17 0 00 000377' HRRM SP,GCBTP1 ;FROM FS WORD ADDRESS
6567 410530' 542 17 0 00 000400' HRRM SP,GCBTP2
6568
6569 410531' 506 02 0 00 000404' HRLM B,C3GC ;BOTTOM OF BIT TABLES
6570 410532' 542 02 0 00 000372' HRRM B,GCP2
6571 410533' 542 02 0 00 000475' HRRM B,GCP ;(ALSO UPPER BOUND ON FWS AND FS)
6572
6573 410534' 211 17 0 07 777776 MOVNI SP,-2(TT) ;-SIZE OF BT (TT = SBT)
6574 410535' 506 17 0 00 000415' HRLM SP,C3GCS ;IOWD FOR BIT TABLE SWEEP
6575 410536' 542 02 0 00 000415' HRRM B,C3GCS
6576 410537' 200 17 0 00 000470' MOVE SP,FSO
6577 410540' 405 17 0 00 000037 ANDI SP,37 ;MASK OUT ALL BU LAST FIVE BITS
6578 410541' 542 17 0 00 000410' HRRM SP,GCBTL2 ;MAGIC NUMBER TO POSITION
6579 410542' 275 17 0 00 000040 SUBI SP,40
6580 410543' 542 17 0 00 000406' HRRM SP,GCBTL1
6581
6582 410544' 271 02 0 00 000001 ADDI B,1 ;B _ B + 1
6583 410545' 542 02 0 00 000404' HRRM B,C3GC ;BOTTOM OF FS BIT TABLE + 1
6584 410546' 271 02 0 07 777776 ADDI B,-2(TT) ;GET BOTTOM OF BTF - 1, POINTER IS INCREMENTED
6585 410547' 542 02 0 00 000414' HRRM B,C2GCS ;BEFORE USE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-161
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6586
6587 410550' 271 02 0 00 000001 ADDI B,1 ;B _ B + 1
6588 410551' 542 02 0 00 000403' HRRM B,C2GC ;BOTTOM OF FWS BIT TABLE + 1
6589 410552' 271 02 0 06 777777 ADDI B,-1(T) ;SINCE T IS NOW SIZE OF BTF, NOT SBTF-1
6590
6591 410553' 542 02 0 00 000374' HRRM B,GCP5 ;TOP OF BIT TABLES
6592 410554' 271 02 0 00 000001 ADDI B,1 ;BOTTOM OF REG PDL
6593
6594 410555' 200 11 0 00 000441' MOVE S,ATMOV ;## S NOT SET IF LISP STARTED WITH CORE
6595 ;## ALREADY EXPANDED, SO RESET IT
6596 410556' 551 01 0 11 000603' HRRZI A,OBTBL(S) ;GET OBLIST POINTER
6597 ;## RHX2 IS NO LONGER PURE, WE WANT THE SYSTEM OBLIST
6598 ;## THIS IS IT (I HOPE)3/28/73
6599 410557' 270 01 0 00 000467' ADD A,FSMOVE ;INCREMENT TO
6600 ;ACCOUNT FOR MOVE OF FS
6601 410560' 202 01 0 02 000000 MOVEM A,(B)
6602 410561' 542 02 0 00 000477' HRRM B,GCP3 ;ROOM FOR ACS DURING GC
6603 410562' 271 02 0 00 000001 ADDI B,1 ;B _ B + 1
6604 410563' 542 02 0 00 000500' HRRM B,GCSP1
6605 410564' 542 02 0 00 000370' HRRM B,GCP4 ;ROOM FOR ACS
6606 410565' 271 02 0 00 000010 ADDI B,10 ;B _ B + 10
6607 410566' 542 02 0 00 000371' HRRM B,GCP41 ;TOP OF AC AREA
6608 410567' 271 02 0 00 000001 ADDI B,1 ;B _ B + 1
6609 410570' 542 02 0 00 000450' HRRM B,C2 ;SET UP RPDL POINTER
6610 410571' 211 01 0 03 777760 MOVNI A,-20(C) ;A _ - (C -20) = -(SRPDL - 20)
6611 410572' 506 01 0 00 000450' HRLM A,C2 ;THIS IS THE ACTUAL SIZE OF RPDL
6612 ;TAKING INTO ACCOUNT THE AC AREA
6613
6614 410573' 550 01 0 00 000514' HRRZ A,JRELO# ;TOP OF CORE - FOR SPDL PTR
6615
6616 410574' 210 02 0 00 000572' MOVN B,SSPDL
6617 410575' 270 01 0 00 000002 ADD A,B
6618 410576' 504 01 0 00 000002 HRL A,B
6619
6620 410577' 202 01 0 00 000562' MOVEM A,SC2# ;SET UP SPDL POINTER (I HOPE)
6621 410600' 210 01 0 00 000001 MOVN A,A ;CREATE OFFSET FOR STACK POINTERS
6622 410601' 271 01 0 00 577777 ADDI A,INUM0
6623 410602' 552 01 0 00 000567' HRRZM A,SPNM#
6624 410603' 402 00 0 00 000513' SETZM INITFW ;TURN OFF INITIAL ALLOCATION FLAG
6625
6626
6627
6628
6629 ;RELOCATE THE FULL WORD SPACE
6630 ;GCP1 HOLDS POINTER TO ORIGIN OF NEW FWS
6631 ;FWSO# HOLDS POINTER TO ORIGIN OF OLD FWS
6632 ;AND F HOLDS SIZE OF OLD FWS (AMOUNT TO BE MOVED)
6633
6634 410604' 205 02 0 00 000015 MOVSI B,F
6635 410605' 540 02 0 00 000476' HRR B,GCP1
6636 410606' 200 03 0 00 000472' MOVE C,FWSO#
6637 410607' 551 05 0 03 777777 HRRZI AR2A,-1(C) ;TAKE THE OPPORTUNITY TO GET ADDRESS
6638 ;OF END OF OLD FS (USED LATER)
6639 410610' 505 03 0 00 000015 HRLI C,F
6640 410611' 200 01 1 00 000003 MOVE A,@C ;GET WORD FROM END OF OLD FWS
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-162
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6641 410612' 202 01 1 00 000002 MOVEM A,@B ;AND MOVE TO END OF NEW FWS
6642 410613' 365 15 0 00 410611' SOJGE F,.-2 ;F COUNTS DOWN WORDS IN OLDFWS
6643 ;END OF FWS RELOCATION
6644
6645 410614' 200 16 0 00 000467' MOVE FF,FSMOVE ;GET FAST ACCESS TO RELOCATE SIZE FOR FS
6646 410615' 550 15 0 00 000005 HRRZ F,AR2A
6647 410616' 270 15 0 00 000016 ADD F,FF ;AND FIND WHERE TO PUT WORDS FROM
6648 ;END OF OLD FS IN NEW FS
6649
6650
6651
6652 410617' 550 04 0 00 000476' HRRZ AR1,GCP1 ;COMPUTE FWS RELOCATION CONSTANT
6653 410620' 274 04 0 00 000472' SUB AR1,FWSO
6654
6655
6656
6657 ;RELOCATE FS - ALSO RELOCATE ALL
6658 ;POINTERS TO FS AND TO FWS
6659
6660 410621' 554 01 0 05 000000 REL1: HLRZ A,(AR2A) ;GET CAR POINTER OF OLD FS WORD
6661 410622' 265 13 0 00 410667' JSP R,REL4
6662 410623' 506 01 0 15 000000 HRLM A,(F) ;MOVE CAR TO NEW POSITION
6663 410624' 550 01 0 05 000000 HRRZ A,(AR2A) ;GET CDR PTR
6664 410625' 265 13 0 00 410667' JSP R,REL4 ;CHECK FOR FS RELOCATE
6665 410626' 542 01 0 15 000000 HRRM A,(F)
6666 410627' 275 15 0 00 000001 SUBI F,1 ;F _ F -1
6667 410630' 313 05 0 00 000534' CAMLE AR2A,OFSO ;CHECK TO SEE IF DONE
6668 410631' 364 05 0 00 410621' SOJA AR2A,REL1 ;NO - GO LOOP
6669 410632' 550 01 0 00 000402' HRRZ A,GCMKL ;RELOCATE ARRAYS
6670 410633' 265 13 0 00 410667' JSP R,REL4
6671 410634' 550 12 0 00 000001 HRRZ D,A
6672 410635' 202 12 0 00 000402' MOVEM D,GCMKL
6673 410636' 554 05 0 12 000000 REL5: HLRZ AR2A,(D)
6674 410637' 200 05 0 05 000000 MOVE AR2A,(AR2A)
6675 410640' 554 01 0 05 000000 REL6: HLRZ A,(AR2A)
6676 410641' 265 13 0 00 410667' JSP R,REL4
6677 410642' 506 01 0 05 000000 HRLM A,(AR2A)
6678 410643' 550 01 0 05 000000 HRRZ A,(AR2A)
6679 410644' 265 13 0 00 410667' JSP R,REL4
6680 410645' 542 01 0 05 000000 HRRM A,(AR2A)
6681 410646' 253 05 0 00 410640' AOBJN AR2A,REL6
6682 410647' 550 12 0 12 000000 HRRZ D,(D)
6683 410650' 326 12 0 00 410636' JUMPN D,REL5
6684 410651' 402 00 0 00 000443' SETZM BIND3 ;JUST IN CASE
6685 410652' 332 00 0 00 000511' SKIPE INITF ;DON'T FORGET THE INITFN
6686 410653' 272 16 0 00 000511' ADDM FF,INITF
6687 410654' 332 00 0 00 000512' SKIPE INITF1 ;## DON'T FORGET THE INIT FILES
6688 410655' 272 16 0 00 000512' ADDM FF,INITF1 ;##
6689 410656' 332 00 0 00 000532' SKIPE NOUUOF ;RELOCATE FLAGS
6690 410657' 272 16 0 00 000532' ADDM FF,NOUUOF
6691 410660' 332 00 0 00 000442' SKIPE BACTRF
6692 410661' 272 16 0 00 000442' ADDM FF,BACTRF
6693 410662' 332 00 0 00 000474' SKIPE GCGAGV
6694 410663' 272 16 0 00 000474' ADDM FF,GCGAGV
6695 410664' 332 00 0 00 000554' SKIPE RSTSW
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-163
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6696 410665' 272 16 0 00 000554' ADDM FF,RSTSW
6697 410666' 254 00 0 00 410700' JRST RELFOO
6698
6699 410667' 315 01 0 00 000460' REL4: CAMGE A,EFWSO ;SEE IF BEYOND END OF FWS
6700 410670' 315 01 0 00 000534' CAMGE A,OFSO ;OK - SEE IF MAYBE IN FS
6701 410671' 254 00 0 13 000000 JRST (R)
6702 410672' 315 01 0 00 000472' CAMGE A,FWSO ;SEE IF IN FWS
6703 410673' 254 00 0 00 410676' JRST .+3
6704 410674' 270 01 0 00 000004 ADD A,AR1 ;RELOCATE FWS POINTER
6705 410675' 254 00 0 13 000000 JRST (R)
6706 410676' 270 01 0 00 000016 ADD A,FF ;RELOCATE FS POINTER
6707 410677' 254 00 0 13 000000 JRST (R)
6708
6709
6710
6711
6712
6713 410700' 200 11 0 00 000557' RELFOO: MOVE S,SBPS ;S IS THE RELOCATOR FOR MOST MACRO
6714 410701' 202 11 0 00 000441' MOVEM S,ATMOV ;REFERENCES TO ATOMS AND FS
6715 410702' 200 01 0 00 000467' MOVE A,FSMOVE ;NOW IS THE TIME FOR ALL GOOD MEN TO
6716 410703' 272 01 0 11 004034' ADDM A,VBPEND(S) ;SET BPEND
6717 IFE OLDNIL< ADDM A,NILPRP> ;## RESET NIL
6718 410704' 540 02 0 11 003730' HRR B,VOBLIST(S) ;## GET CURRENT VALUE OF OBLIST
6719 410705' 542 02 0 00 000363' HRRM B,RHX5 ;## RESET WORD THAT POSTINDEXES OFF B
6720 410706' 542 02 0 00 000362' HRRM B,RHX2 ;## RESET WORD POSTINDEXING OFF C
6721 410707' 272 01 0 00 000405' ADDM A,XXX3 ;## RESET WIERD CODE
6722 410710' 272 01 0 00 000365' ADDM A,XXX4 ;## RESET UNBOUND
6723 410711' 272 01 0 00 000376' ADDM A,XXX5 ;## RESET FS (SAME WORD AS FS),ALSO GCPP1
6724 410712' 200 01 0 00 000476' MOVE A,GCP1
6725 410713' 552 01 0 00 000472' HRRZM A,FWSO
6726 410714' 200 01 0 00 000415' MOVE A,C3GCS
6727 410715' 552 01 0 00 000460' HRRZM A,EFWSO#
6728 410716' 403 15 0 00 000057' OUTALC: CLEARB F,DDTIFG
6729 410717' 265 13 0 00 401323' JSP R,IOBRST
6730 410720' 254 00 0 00 400022' JRST START
6731
6732
6733
6734
6735
6736
6737 ;SUBROUTINE FOR NUMBER INPUT
6738 ;%% RETURNS 0 IF NOALIN # 0
6739 ;%% SETS NOALIN # 0 IF ALTMOD IS INPUT
6740 ;%% RETURNS 0 IF A BLANK IS INPUT
6741 ;%% IGNORES OTHER NON-NUMERIC CHARACTERS EXCEPT
6742 ;%% AS TERMINATORS OF NUMBERS
6743
6744
6745 410721' 403 01 0 00 000436' ALLNUM: SETZB A,ALLNM1# ;%% CLEAR A AND FIRST TIME FLAG
6746 410722' 332 00 0 00 000530' SKIPE NOALIN#
6747 410723' 254 00 0 13 000000 JRST (R)
6748 410724' 051 00 0 00 000003 INCHRW C
6749 410725' 306 03 0 00 000177 CAIN C,RUBOUT
6750 JRST [OUTSTR [ASCIZ /XXX /]
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-164
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6751 410726' 254 00 0 00 411713' JRST ALLNUM]
6752 410727' 301 03 0 00 000060 CAIL C,"0"
6753 410730' 303 03 0 00 000071 CAILE C,"9"
6754 410731' 254 00 0 00 410736' JRST BANGCK
6755 410732' 476 00 0 00 000436' SETOM ALLNM1# ;%% NOT FIRST TIME NOW
6756 410733' 240 01 0 00 000003 ASH A,3
6757 410734' 271 01 0 03 777720 ADDI A,-"0"(C)
6758 410735' 254 00 0 00 410724' JRST ALLNUM+3
6759
6760 410736' 302 03 0 00 000015 BANGCK: CAIE C,15 ;%% TERMINATE ON CR OR
6761 410737' 306 03 0 00 000040 CAIN C,40 ;%% TERMINATE ON BLANK
6762 410740' 254 00 0 13 000000 JRST (R) ;%%
6763 410741' 306 03 0 00 000033 CAIN C,ALTMOD ;%% ALTMODE (TERMINATOR)?
6764 JRST [SETOM NOALIN#
6765 410742' 254 00 0 00 411715' JRST (R) ] ;%% YES--TURN ON SWITCH AND RETURN
6766 410743' 332 00 0 00 000436' SKIPE ALLNM1# ;%% IGNORE LEADING JUNK?
6767 410744' 254 00 0 13 000000 JRST (R) ;%% NO--RETURN
6768 410745' 254 00 0 00 410724' JRST ALLNUM+3 ;%% YES--LOOP
6769
6770
6771 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-165
UCILSP MAC 27-MAR-75 17:13 REALLOC CODE
6772
6773
6774
6775
6776 IFN HASH,<
6777 REHASH:
6778 MOVEI A,BFWS(S)
6779 PUSH P,A
6780 HRRM A,RHX2
6781 HRRM A,RHX5
6782 MOVS B,RH4#
6783 ADD B,S ;$$PUT IN ATOM MOVE OFFSET IN B, SINCE CAN'T
6784 ;$$DOUBLE INDEX - THIS REMOVES THE FOO PROBLEM
6785 ;$$IN THE NEXT THREE FOO'S
6786
6787 HRRZI A,BFWS+1(B)
6788 MOVEM A,BFWS(B)
6789 AOBJN B,.-2
6790 SETZM BFWS(B)
6791 MOVSI AR2A,-BCKETS
6792 HRR AR2A,S ;$$PUT IN ATOM MOVE OFFSET IN AR2A TO AVOID
6793 ;$$DOUBLE INDEXING WITH S IN REMOVING FOO
6794 ;$$PROBLEM
6795 RH1:
6796 HLRZ C,OBTBL(AR2A)
6797 RH3: JUMPE C,RH2
6798 HLRZ A,(C)
6799 PUSH P,C
6800 PUSH P,AR2A
6801 PUSHJ P,INTERN
6802 POP P,AR2A
6803 POP P,C
6804 HRRZ C,(C)
6805 JRST RH3
6806 RH2: AOBJN AR2A,RH1
6807 SETZM HASHFG
6808 POP P,A
6809 HRRM A,@GCP3
6810 MOVEM A,OBLIST(S)
6811 JRST START>
6812
6813
6814 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-166
UCILSP MAC 27-MAR-75 17:13 NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS
6815 SUBTTL NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS
6816
6817 ;$$ROUTINE TO GET POINTER TO SPDL AND MAKE IT INTO AN INUM
6818 410746' 550 01 0 00 000017 SPDLPT: HRRZ A,SP ;$$CREATE A POINTER TO THE CURRENT TOP OF STACK
6819 410747' 270 01 0 00 000567' ADD A,SPNM
6820 410750' 263 14 0 00 000000 POPJ P, ;$$
6821
6822
6823 ;$$ROUTINE TO GET LEFT HAND SIDE OF SPDL ITEM INDICATED BY AN INUM FROM SPDLPT
6824 410751' 274 01 0 00 000567' SPDLFT: SUB A,SPNM ;$$CONVERT TO ADDRESS
6825 410752' 574 01 0 01 000000 HLRE A,(A) ;$$GET LEFT HAND ITEM
6826 410753' 321 01 0 00 403764' JUMPL A,TRUE ;$$IF IT IS NEGATIVE IT CAME FROM A STACK
6827 ;$$POINTER AND WE RETURN T INSTEAD
6828 410754' 551 01 0 01 000000 HRRZI A,(A) ;$$CLEAR OUT LEFT HAND OF AC
6829 410755' 263 14 0 00 000000 POPJ P, ;$$RETURN - RETURNS NIL FOR LHS = 0
6830
6831 ;$$ROUTINE TO GIVE RIGHT HAND SIDE OF SPDL ENTRY SPECIFIED BY AN INUM FROM SPDLPT
6832 410756' 274 01 0 00 000567' SPDLRT: SUB A,SPNM ;$$CONVERT TO AN ADDRESS
6833 410757' 550 01 0 01 000000 HRRZ A,(A) ;$$ALL RHS ITEMS ARE LEGAL, NO NEED FOR CHECK
6834 410760' 263 14 0 00 000000 POPJ P, ;$$
6835
6836 ;$$ROUTINE TO GET POINTER TO NEXT EVAL BLIP ON SPDL
6837 410761' 274 01 0 00 000567' NEXTEV: SUB A,SPNM ;$$GET POINTER INSTEAD OF INUM
6838 410762' 550 06 0 00 000562' HRRZ T,SC2 ;$$GET POINTER TO BOTTOM OF SPDL
6839
6840 410763' 317 01 0 00 000006 SPDNLP: CAMG A,T ;$$CHECK IF HIT THE BOTTOM OF SPDL
6841 410764' 254 00 0 00 404013' JRST FALSE ;$$RETURN NIL IF NO MORE INTERESTING WORDS
6842 410765' 500 01 0 01 000000 HLL A,(A) ;$$TEST FOR WORD WITH 0 LHS
6843 410766' 623 01 0 00 777777 TLZE A,-1 ;$$
6844 410767' 364 01 0 00 410763' SOJA A,SPDNLP ;$$NOT AN INTERESTING WORD, LOOK AGAIN
6845 410770' 270 01 0 00 000567' ADD A,SPNM ;$$FOUND AN INTERESTING WORD, CHANGE POINTER TO INUM
6846 410771' 263 14 0 00 000000 POPJ P, ;$$
6847
6848
6849 ;$$ROUTINE TO EVALUATE A VARIABLE IN AN EARLIER CONTEXT
6850 ;$$ MORE EFFICIENT THAN EVAL WITH ALIST
6851 410772' 200 03 0 00 000001 EVALV: MOVE C,A ;$$ MOVE AROUND FOR ATOM CHECK
6852 410773' 260 14 0 00 403701' PUSHJ P,ATOM ;$$
6853 410774' 250 01 0 00 000003 EXCH A,C ;$$
6854 410775' 274 02 0 00 000567' SUB B,SPNM ;$$
6855 410776' 306 02 0 17 000000 EVALV1: CAIN B,(SP) ;$$CHECK FOR END OF SPDL
6856 410777' 254 00 0 00 411011' JRST GETV ;$$VARIABLE NOT REBOUND - GET CURRENT VALUE
6857 411000' 335 00 0 02 000000 SKIPGE ,(B) ;$$CHECK TO AVOID SPDL POINTERS ON STACK
6858 411001' 344 02 0 00 410776' AOJA B,EVALV1 ;$$
6859 411002' 554 06 0 02 000000 HLRZ T,(B) ;$$T_CAR(B)
6860 411003' 332 00 0 00 000003 SKIPE C ;$$
6861 411004' 554 06 0 06 000000 HLRZ T,(T) ;$$GET CAR OF SPECIAL CELL - ATOM POINTER
6862 411005' 302 06 0 01 000000 CAIE T,(A) ;$$COMPARE WITH ATOM TO BE EVALUATED
6863 411006' 344 02 0 00 410776' AOJA B,EVALV1 ;$$NOT IT, LOOK SOME MORE
6864 411007' 550 01 0 02 000000 HRRZ A,(B) ;$$GET VALUE FROM SPDL
6865 411010' 263 14 0 00 000000 POPJ P, ;$$
6866
6867 411011' 322 03 0 00 411015' GETV: JUMPE C,GETV1
6868 411012' 201 02 0 11 003750' MOVEI B,VALUE(S) ;$$ATOM NOT REBOUND, VALUE THEN IS
6869 411013' 260 14 0 00 404037' PUSHJ P,GET ;$$
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-167
UCILSP MAC 27-MAR-75 17:13 NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS
6870 411014' 322 01 0 00 411017' JUMPE A,UNBOND ;$$NOT BOUND AT ALL, GIVE UNBVAR MESSAGE
6871 411015' 550 01 0 01 000000 GETV1: HRRZ A,(A) ;$$GET CDR OF SPECIAL CELL
6872 411016' 263 14 0 00 000000 POPJ P, ;$$
6873
6874 411017' 551 01 0 11 002706' UNBOND: HRRZI A,UNBOUND(S) ;$$RETURN ATOM UNBOUND
6875 411020' 263 14 0 00 000000 POPJ P, ;$$
6876
6877 ;$$ROUTINE TO CLEAR SPECIAL PDL TO POSITION SPECIFIED BY INUM
6878 411021' 201 02 0 01 177777 CLRSPD: MOVEI B,-2-INUM0(A) ;$$ -2 TO GET OVER EVAL BLIP
6879 411022' 554 07 0 00 000562' HLRZ TT,SC2# ;$$GET REAL SPD POINTER WITH A LHS
6880 411023' 270 07 0 00 000002 ADD TT,B ;$$FIND OUT HOW MANY WORDS ARE USED
6881 411024' 270 02 0 00 000562' ADD B,SC2 ;$$
6882 411025' 504 02 0 00 000007 HRL B,TT ;$$SET UP SPD POINTER
6883 411026' 254 00 0 00 406226' JRST UBD ;$$UBD DOES ALL THE WORK
6884
6885 ;$$ROUTINE TO RETURN FROM SPECIAL PDL CONTEXT, SPECIFIED BY AN
6886 ;$$EVAL BLIP, WITH A GIVEN VALUE
6887 411027' 260 14 0 00 410761' OUTVAL: PUSHJ P,NEXTEV ;$$FORCE TO AN EVAL BLIP
6888 411030' 322 01 0 00 404013' JUMPE A,FALSE ;$$ NO EVAL BLIP, RETURN NIL
6889 411031' 515 03 0 00 263600 HRLZI C,(POPJ P,) ;$$ SET TYPE OF RETURN
6890 411032' 254 00 0 00 411060' JRST SPRE1 ;$$ FINISH UP IN SPREDO
6891
6892
6893 ;$$ROUTINE TO RE-EVALUATE EXPRESSION FROM AN EVAL BLIP AND GO ON FROM
6894 ;$$ THAT CONTEXT (NOT A USER CALLABLE FUNCTION)
6895 411033' 550 14 0 17 000001 REVAL1: HRRZ P,1(SP) ;$$ RPDL POINTER IS UP ONE
6896 411034' 550 06 0 00 000450' HRRZ T,C2# ;$$
6897 411035' 554 07 0 00 000450' HLRZ TT,C2# ;$$
6898 411036' 270 07 0 00 000014 ADD TT,P ;$$
6899 411037' 274 07 0 00 000006 SUB TT,T ;$$
6900 411040' 504 14 0 00 000007 HRL P,TT ;$$
6901 411041' 200 12 0 00 000463' DOSET: MOVE D,ERRTN ;$$ POP ERRSETS, LOAD CURRENT ERRSET
6902 411042' 332 00 0 00 000012 SKIPE D ;$$DONE IF EMPTY
6903 411043' 317 12 0 00 000014 CAMG D,P ;$$ COMPARE TO CURRENT RPDL
6904 411044' 256 00 0 00 000003 XCT C ;$$ DONE, DO A STRANGE EXIT
6905 411045' 274 12 0 00 411474' SUB D,[XWD 1,1] ;$$ GO DOWN A WORD
6906 411046' 262 12 0 00 000033' POP D,ERRSW ;$$
6907 411047' 262 12 0 00 000463' POP D,ERRTN ;$$
6908 411050' 274 12 0 00 411477' SUB D,[XWD 2,2] ;$$ SKIP PROG JUNK
6909 411051' 254 00 0 00 411041' JRST DOSET ;$$ TRY AGAIN
6910
6911
6912
6913 ;$$ROUTINE TO CLEAR SPD TO A GIVEN POINT AND REDO FROM THERE
6914 ;$$ A CONTAINS AN SPD INUM POINTER, FORCE IT TO BE EVAL BLIP POINTER
6915
6916 411052' 260 14 0 00 410761' SPREDO: PUSHJ P,NEXTEV ;$$FORCE TO EVAL BLIP POINTER
6917 411053' 322 01 0 00 404014' JUMPE A,CPOPJ ;$$RETURN NIL IF NO EVAL BLIP
6918 411054' 200 02 0 00 000001 MOVE B,A ;$$GET THE EXPRESSION
6919 411055' 274 02 0 00 000567' SUB B,SPNM
6920 411056' 550 02 0 02 000000 HRRZ B,(B)
6921 411057' 200 03 0 00 411543' MOVE C,[JRST EVAL] ;$$SET RETURN
6922 411060' 261 14 0 00 000002 SPRE1: PUSH P,B ;$$SAVE SPDL POINTER
6923 411061' 260 14 0 00 411021' PUSHJ P,CLRSPD ;$$CLEAR OUT SPD - INCLUDES RESTORING PROGS
6924 411062' 262 14 0 00 000001 POP P,A ;$$
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-168
UCILSP MAC 27-MAR-75 17:13 NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS
6925 411063' 254 00 0 00 411033' JRST REVAL1
6926
6927 ;$$ SPREVAL - SIMILAR TO OUTVAL BUT EVALUATES THE GIVEN VALUE
6928 ;$$AS OF THE SPECIFIED CONTEXT, EQUIVALENT TO:
6929 ;$$ (PROG2 (RPLACD (NUMVAL (SETQ A (NEXTEV A))) B) (SPREDO B))
6930 ;
6931 411064' 260 14 0 00 410761' SPREVAL:PUSHJ P,NEXTEV ;$$FORCE TO AN EVAL-BLIP
6932 411065' 322 01 0 00 404014' JUMPE A,CPOPJ ;$$RETURN NIL IF NO EVAL-BLIP
6933 411066' 254 00 0 00 411057' JRST SPRE1-1 ;$$LET SPREDO FINISH UP
6934
6935
6936 ;$$COMPUTES A LISP POINTER TO A STACK ENTRY
6937 411067' 274 01 0 00 000567' STKPTR: SUB A,SPNM
6938 411070' 263 14 0 00 000000 POPJ P,
6939
6940 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-169
UCILSP MAC 27-MAR-75 17:13 LOW SEGMENT INCLUDING REMOTE CODE
6941 SUBTTL LOW SEGMENT INCLUDING REMOTE CODE
6942 000000' RELOC 0
6943 000000' 332 00 0 00 000473' HERE
6944 000001' 260 14 0 00 407142'
6945 000002' 312 00 0 00 000573'
6946 000003' 254 00 0 00 000007'
6947 000004' 200 02 0 00 000562'
6948 000005' 260 14 0 00 406226'
6949 000006' 254 00 0 00 410350'
6950 000007' 047 00 0 00 000000
6951 000010' 205 01 0 00 000001
6952 000011' 047 01 0 00 000011
6953 000012' 254 04 0 00 000000
6954 000013' 201 01 0 00 000021'
6955 000014' 047 01 0 00 000040
6956 000015' 254 04 0 00 000000
6957 000016' 201 01 0 00 400002'
6958 000017' 542 01 0 00 402267*
6959 000020' 254 00 0 00 410350'
6960 000021' 63 71 63 00 00 00
6961 000022' 54 51 63 60 00 00
6962 000023' 000000 000000
6963 000024' 000000 000000
6964 000025' 000000 000000
6965 000026' 000000 000000
6966 000027' 000000 000000
6967 000030' 254 00 0 00 400200'
6968 000031' 607 07 0 00 002000
6969 000032' 000000 400306'
6970 000033' 777777 777777
6971 000034' 254 00 0 00 401031'
6972 000035' 616 04 1 00 000000
6973 000036' 066 00 0 00 000000
6974 000037' 063 00 0 00 740000
6975 000040' 001 00 0 00 401730'
6976 000041' 061 00 0 00 020000
6977 000042' 254 00 0 00 400760'
6978 000043' 254 00 0 00 400767'
6979 000044' 000000 000000
6980 000045' 000000 000007
6981 000046' 254 00 0 00 401132'
6982 000047' 254 00 0 00 000052'
6983 000050' 136 01 0 00 000000
6984 000051' 263 14 0 00 000000
6985 000052' 057 00 0 00 000000
6986 000053' 254 00 0 00 000050'
6987 000054' 001 00 0 00 411717'
6988 000055' 000000 000105
6989 000056' 000000 000105
6990 000057' 000000 002613'
6991 000060' 000000 000000
6992 000061' 000000 000105
6993 000062' 000000 000105
6994 000102' 055 00 0 00 000123'
6995 000103' 041 00 0 00 000013
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-170
UCILSP MAC 27-MAR-75 17:13 LOW SEGMENT INCLUDING REMOTE CODE
6996 000104' 000000 000000
6997 000105' 000000 000000
6998 000106' 254 00 0 00 401726'
6999 000107' 254 00 0 00 000114'
7000 000110' 041 00 0 00 000000
7001 000111' 000000 000000
7002 000112' 000000 000000
7003 000113' 254 00 0 00 401726'
7004 000114' 261 02 0 00 000111'
7005 000115' 261 02 0 00 000126'
7006 000116' 076 00 0 00 000123'
7007 000117' 254 00 0 00 404013'
7008 000120' 254 00 0 00 401526'
7009 000121' 064 00 0 00 000002
7010 000122' 254 00 0 00 403764'
7011 000127' 041 00 0 00 000000
7012 000130' 000000 000000
7013 000131' 000000 000000
7014 000132' 254 00 0 00 401724'
7015 000133' 261 02 0 00 000111'
7016 000134' 077 00 0 00 000123'
7017 000135' 254 00 0 00 401570'
7018 000136' 254 00 0 00 401562'
7019 000137' 065 00 0 00 000002
7020 000140' 071 00 0 00 000000
7021 000141' 047 01 0 00 000040
7022 000142' 254 00 1 00 000017*
7023 000143' 200 17 0 00 000556'
7024 000144' 200 01 0 00 000504'
7025 000145' 260 17 1 00 000503'
7026 000146' 201 01 0 00 000021'
7027 000147' 047 01 0 00 000040
7028 000150' 254 04 0 00 000000
7029 000151' 254 00 0 00 402261'
7030 000152' 000000 000000
7031 000153' 254 00 0 00 402510'
7032 000154' 000000 000031
7033 000155' 000000 000012
7034 000156' 36 04 0 01 000161'
7035 000157' 31 02 0 01 000161'
7036 000160' 26 03 0 01 000161'
7037 000361' 000000 000177
7038 000362' 000003 000603'
7039 000363' 000002 000603'
7040 000364' 107 060 060 060 060
7041 000365' 000000 002706'
7042 000366' 000001 000000
7043 000367' 403 03 0 00 000001
7044 000370' 201 11 0 00 000000
7045 000371' 251 11 0 00 000000
7046 000372' 403 00 0 00 000000
7047 000373' 200 01 0 00 000404'
7048 000374' 251 01 0 00 000000
7049 000375' 254 00 0 00 406703'
7050 000376' 000000 000603'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-171
UCILSP MAC 27-MAR-75 17:13 LOW SEGMENT INCLUDING REMOTE CODE
7051 000377' 000001 000000
7052 000400' 000001 000000
7053 000401' 000001 000000
7054 000402' 000000 411723'
7055 000403' 430104 000000
7056 000404' 000000 000000
7057 000405' 201 13 0 00 000603'
7058 000406' 505 13 0 00 000000
7059 000407' 200 11 0 12 000000
7060 000410' 241 11 0 00 000000
7061 000411' 253 12 0 00 000000
7062 000412' 254 00 0 00 407062'
7063 000413' 000000 000000
7064 000414' 000100 000000
7065 000415' 000000 000000
7066 000416' 000000 000000
7067 000417' 000000 000017
7068 000420' 63 71 63 00 00 00
7069 000421' 000000 000000
7070 000422' 777777 000426'
7071 000423' 000000 000000
7072 000424' 54 51 63 60 00 00
7073 000425' 000000 000000
7074 000426' 000000 000000
7075 000427' 000000 000000
7076 000430' 000000 000000
7077 000431' 000000 000000
7078 000432' 000000 415670'
7079 000433' 000000 000001
7080 000434' VAR
7081 XALL
7082 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-172
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7083 SUBTTL LISP ATOMS AND OBLIST
7084 000603' FS:
7085
7086 DEFINE MAKBUC (A,%B)
7087 <DEFINE OBT'A <%B=.>
7088 XWD %B,IFN <<BCKETS-1>-A>,<.+1>
7089 IF1 <%B=0>>
7090
7091 DEFINE ADDOB (A,C,%B)
7092 <OBT'A
7093 DEFINE OBT'A<%B=.>
7094 IF1 <%B=0>
7095 XWD C,%B>
7096
7097 DEFINE PUTOB (A,B)
7098 <ZZ==<ASCII +A+>_<-1>
7099 ZZ==-ZZ/BCKETS*BCKETS+ZZ
7100 ADDOB \ZZ,B>
7101
7102 DEFINE PSTRCT (A)
7103 <ZZ==[ASCII +A+]
7104 LENGTH(ZY,<A>)
7105 ZY==<ZY-1>/5
7106 Q1(ZY,ZZ)
7107 >
7108
7109 DEFINE Q1 (N,Z)<
7110 IFN N,<XWD Z,[Q1(N-1,Z+1)]>
7111 IFE N,<XWD Z,0>>
7112
7113
7114 ;## ARGS ARE A=NAME, B=PROP NAME, C'A=THE PROPERTY, D=LABEL OF ATOM
7115
7116 DEFINE MKAT (A,B,C,D)
7117 <XLIST
7118 IRP A< PUTOB A,.+1
7119 D XWD -1,.+1
7120 XWD B,.+1
7121 XWD C'A,.+1
7122 XWD PNAME,.+1
7123 XWD [PSTRCT(A)],0>
7124 LIST>
7125
7126 ;## ARGS ARE: D'A=PROPERTY, B=PROP NAME, C=NAME
7127
7128 DEFINE MKAT1 (A,B,C,D)
7129 <XLIST
7130 IRP C <PUTOB C,.+1
7131 XWD -1,.+1
7132 XWD B,.+1
7133 XWD D'A,.+1
7134 XWD PNAME,.+1
7135 XWD [PSTRCT(C)],0>
7136 LIST>
7137
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-173
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7138 DEFINE LENGTH (A,B)
7139 <A==0
7140 IRPC B,<A==A+1>>
7141
7142 ;## ATOM WITH SYM PROPERTY =V'ATOM LOCATION
7143 DEFINE ML1 (A)<IRP A,<
7144 V'A: XWD -1,.+1
7145 XWD FIXNUM,[A]
7146 MKAT A,SYM,V
7147 >>
7148
7149 ;## SIMILAR TO ML1, EXCEPT %C=THE SYM PROP
7150
7151 DEFINE MKSY1 (A,B,%C)<
7152 XLIST
7153 %C: XWD -1,.+1
7154 XWD FIXNUM,[A]
7155 PUTOB B,.+1
7156 XWD -1,.+1
7157 XWD SYM,.+1
7158 XWD %C,.+1
7159 XWD PNAME,.+1
7160 XWD [PSTRCT(B)],0
7161 LIST>
7162
7163 ;## ATOM WITH NO PROPS WITH LABEL SAME AS ATOM NAME
7164
7165 DEFINE ML (A)<
7166 XLIST
7167 IRP A,<PUTOB A,.+1
7168 A: XWD -1,.+1
7169 XWD PNAME,.+1
7170 XWD [PSTRCT(A)],0>
7171 LIST>
7172 ;## CREATE ATOM WITH NO LABEL OR PROPS. USED FOR COMMON ATMS IN SYSTEM
7173
7174 DEFINE MK (A)<
7175 XLIST
7176 IRP A,<PUTOB A,.+1
7177 XWD -1,.+1
7178 XWD PNAME,.+1
7179 XWD [PSTRCT(A)],0>
7180 LIST>
7181
7182 000603' OBTBL:
7183 000000 OBLIST: ZZ==0
7184 XLIST
7185 LIST
7186
7187 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-174
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7188 ;## GENERATE # FNS ONLY IF NONUSEFUL VALUES DESIRED
7189 IFN NONUSE<
7190 MKAT1 MEMBR.,SUBR,MEMBER#
7191 MKAT1 MEMB,SUBR,MEMQ#
7192 MKAT1 AND.,FSUBR,AND#
7193 MKAT1 OR.,FSUBR,OR#
7194 >
7195 MKAT<RPLACA,RPLACD,MINUS,TERPRI,CAR,CDR,CAAR>,SUBR^XLIST
7196 MKAT<CADR,CDAR,CDDR,CAAAR,CAADR,CADAR,CADDR,CDAAR,CDADR,CDDAR,CDDDR>,SUBR^XLIST
7197 MKAT<CAAAAR,CAAADR,CAADAR,CAADDR,CADAAR,CADADR,CADDAR,CADDDR,CDAAAR>,SUBR^XLIST
7198 MKAT<CDAADR,CDADAR,CDADDR,CDDAAR,CDDADR,CDDDAR,CDDDDR,MAKNUM,CONS>,SUBR^XLIST
7199 MKAT<STRINGP,ATOM,PATOM,EQ,PRIN1,PRINT,RETURN,EXPLODE,SASSOC,ASSOC>,SUBR^XLIST
7200 MKAT<GCGAG,CHRCT,LINELENGTH,NUMBERP,EQUAL,GET,INTERN,MEMBER>,SUBR^XLIST
7201 MKAT<LOAD,MAKNAM,READCH,NOT,NULL,GENSYM,ZEROP,DIVIDE,GCD>,SUBR^XLIST
7202 MKAT<TIME,FIX,SET,PROG2,LENGTH,READLIST,LAST,ADD1,SUB1>,SUBR^XLIST
7203 MKAT<GCTIME,REVERSE,SPEAK,GC,GETL,BAKGAG,MEMQ>,SUBR^XLIST
7204 MKAT<PUTPROP,PRINC,FLATSIZE,ERR,EXAMINE,DEPOSIT,LSH>,SUBR^XLIST
7205 MKAT<NCONS,XCONS,REMPROP,ARG,SETARG,NOUUO,MINUSP>,SUBR^XLIST
7206 MKAT<OUTC,INC,DDTIN,INITFN,EXCISE,REMAINDER,ABS>,SUBR^XLIST
7207 MKAT<PROG1,SPRINT,LITATOM,NTHCHAR>,SUBR^XLIST
7208 IFN STPGAP,<MAKAT<PGLINE>,SUBR>
7209
7210 MKAT EXPLODEC,SUBR,%^XLIST
7211 MKAT TAB,SUBR,.^XLIST
7212 MKAT TYO,SUBR,I^XLIST
7213 MKAT TYI,SUBR,I^XLIST
7214 002213' CEVAL=.+1
7215 MKAT1 EVAL,SUBR,*EVAL^XLIST
7216
7217 ;$$ REDEF. FOR NEW MAP FUNCTIONS
7218 MKAT<MAPCAN,MAPCON,MAPLIST,MAPCAR,MAP,MAPC>,LSUBR^XLIST
7219 ;$$ GIVE MAPCAN THE DOUBLE NAME MAPCONC
7220 MKAT1 MAPCAN,LSUBR,MAPCONC^XLIST
7221
7222 002272' PROGAT: MKAT<PROG>,FSUBR^XLIST
7223
7224 ;##LIST STARTS HERE
7225 MKAT LIST,FSUBR,,LISTAT:^XLIST
7226
7227 MKAT <PROGN,COND,SETQ,INPUT,OUTPUT,SETSYS>,FSUBR ^XLIST
7228 IFN ALVINE,<MKAT<GRINDEF>,FSUBR
7229 MKAT<ED>,SUBR>
7230 IFE ALVINE,<MK<GRINDEF>>^
7231 MKAT<ERRSET,REMOB,OR,GO,ARRAY,STORE>,FSUBR^XLIST
7232 MKAT<AND,DEFPROP,CSYM,EXARRAY>,FSUBR^XLIST
7233 MKAT1 QUOTE,FSUBR,FUNCTION^XLIST
7234 MKAT1 %CLRBFI,SUBR,CLRBFI^XLIST
7235 MKAT1 .ERROR,SUBR,ERROR^XLIST
7236 MKAT1 LINRD,SUBR,LINEREAD^XLIST
7237 MKAT1 UNBOND,SUBR,UNBOUND^XLIST
7238 MKAT1 ECHO,SUBR,TTYECHO^XLIST
7239 MKAT1 FUNCT,FSUBR,*FUNCTION^XLIST
7240 MKAT <APPEND,NCONC,BOOLE,APPLY>,LSUBR^XLIST
7241
7242 ;## LABELS ON READ AND LISP EVAL FOR BOOTS
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-175
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7243 MKAT READ,SUBR,,READAT:^XLIST
7244 MKAT EVAL,LSUBR,O,EVALAT:^XLIST
7245 MKAT ASCII,SUBR,A^XLIST
7246 MKAT QUOTE,FSUBR,,CQUOTE:^XLIST
7247 MKAT INUM0,SYM^XLIST
7248
7249 250000 000000 PUTOB T,.+1^ZZ==<ASCII +T+>_<-1>
7250 002612' 002613' 004161' XWD .+1,..0503^^
7251 002613' 777777 002614' TRUTH: XWD -1,.+1
7252 002614' 003750' 002615' XWD VALUE,.+1
7253 002615' 002620' 002616' XWD VTRUTH,.+1
7254 002616' 003734' 002617' XWD PNAME,.+1
7255 002617' 412376' 000000 XWD [PSTRCT(T)],0
7256 002620' 000000 002613' VTRUTH: TRUTH
7257
7258 235114 600000 PUTOB NIL,0^ZZ==<ASCII +NIL+>_<-1>
7259 002621' 000000 004211' XWD 0,..0504^^
7260 002622' 003750' 002623' CNIL2: XWD VALUE,.+1
7261 002623' 002626' 002624' XWD VNIL,.+1
7262 002624' 003734' 002625' XWD PNAME,.+1
7263 002625' 412615' 000000 XWD [PSTRCT(NIL)],0
7264 002626' 000000 000000 VNIL: NIL
7265 MKSY1 %LCALL,*LCALL^
7266 MKSY1 %AMAKE,*AMAKE^
7267 MKSY1 %UDT,*UDT^
7268 MKSY1 .MAPC,*MAPC^
7269 MKSY1 .MAP,*MAP^
7270 MKAT1 %NOPOINT,VALUE,*NOPOINT^XLIST
7271 002705' 000000 000000 %NOPOINT: NIL
7272
7273
7274 002706' 777777 002707' UNBOUND: XWD -1,.+1
7275 002707' 003734' 002710' XWD PNAME,.+1
7276 002710' 412557' 000000 XWD [PSTRCT(UNBOUND)],0
7277 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-176
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7278 MKAT1 EXPN1,SUBR,*EXPAND1^XLIST
7279 MKAT1 EXPAND,SUBR,*EXPAND^XLIST
7280 MKAT1 PLUS,SUBR,*PLUS,.^XLIST
7281 MKAT1 DIF,SUBR,*DIF,.^XLIST
7282 MKAT1 QUO,SUBR,*QUO,.^XLIST
7283 MKAT1 TIMES,SUBR,*TIMES,.^XLIST
7284 MKAT1 APPEND,SUBR,*APPEND,.^XLIST
7285 MKAT1 RSET,SUBR,*RSET,.^XLIST
7286 MKAT1 GREAT,SUBR,*GREAT,.^XLIST
7287 MKAT1 LESS,SUBR,*LESS,.^XLIST
7288 MKAT1 PUTSYM,SUBR,*PUTSYM^XLIST
7289 MKAT1 GETSYM,SUBR,*GETSYM^XLIST
7290 MKAT1 RPTSYM,SUBR,*RPUTSYM^XLIST
7291 MKAT1 RGTSYM,SUBR,*RGETSYM^XLIST
7292
7293 ML1 <SPECBIND,SPECSTR,FIX1A,NSTR>^IRP
7294 003035' 777777 003036' VSPECBIND: XWD -1,.+1
7295 003036' 003740' 412723' XWD FIXNUM,[
7296 003045' 777777 003046' VSPECSTR: XWD -1,.+1
7297 003046' 003740' 411554' XWD FIXNUM,[
7298 003055' 777777 003056' VFIX1A: XWD -1,.+1
7299 003056' 003740' 412734' XWD FIXNUM,[
7300 003065' 777777 003066' VNSTR: XWD -1,.+1
7301 003066' 003740' 412737' XWD FIXNUM,[
7302
7303 235254 665501 PUTOB NUMVAL,.+1^ZZ==<ASCII +NUMVAL+>_<-1>
7304 003075' 003076' 003265' XWD .+1,..0542^^
7305 003076' 777777 003077' XWD -1,.+1
7306 003077' 003760' 003100' XWD SUBR,.+1
7307 003100' 405071' 003101' XWD NUMVAL,.+1
7308 003101' 004000' 003104' XWD SYM,.+3
7309 003102' 003740' 412742' XWD FIXNUM,[NUMVAL]
7310 003103' 777777 003102' XWD -1,.-1
7311 003104' 003103' 003105' XWD .-1,.+1
7312 003105' 003734' 003106' XWD PNAME,.+1
7313 003106' 412746' 000000 XWD [PSTRCT(NUMVAL)],0
7314
7315 MKAT <OBLIST,BASE,IBASE,BPEND,BPORG>,VALUE,V^XLIST
7316
7317
7318 ;## QUEUE ATOMS AND OTHER NEW FNS.
7319
7320 MKAT<GTBLK,ERRCH,RDNAM>,SUBR^XLIST
7321 MKAT<INUMP,NUMTYPE>,SUBR^XLIST
7322 MKAT<UFDINP,RDFILE,MYPPN,BLKLST>,SUBR^XLIST
7323 MKAT<RENAME,DELETE,INITFL>,FSUBR^XLIST
7324 IFN QALLOW< ;%% [1]
7325 ML<DISP,CPU,FORMS,LIMIT,COPIES>^
7326 MKAT<QUEUE>,FSUBR^XLIST
7327 > ;%% [1]
7328 MK<SUBST,COPY,*RENAME,FILBAK,LBK,DIR>^
7329 MKAT1 ISFILE,SUBR,LOOKUP^XLIST
7330 MK<NO BACKUP >^
7331
7332 IFN QALLOW< ;%% [1]
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-177
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7333 ;## MOST OF THE EXTENDED SWITCHES (NOT ALL)
7334 IFN QSWEXT<
7335 ML<DEAD,AFTER>
7336 ML<MODIFY,KILL,JOB,DEPND,UNIQUE>
7337 ML<PAGES,PLOT,PTAPE,CARD,SEQ,PRIOR,SPACE,LIMIT,HEAD>
7338 > ;##END OF EXTENDED SWITCHES
7339 > ;%% END OF QALLOW CONDITIONAL [1]
7340
7341 ;$$ATOMS FOR DEFINITIONS OF FUNCTIONS FOR NEW SPDL PACKAGE
7342
7343 ML ERRORX^
7344 MKAT1 INTPRP,SUBR,INITPROMPT^XLIST
7345 MKAT1 LSPRET,FSUBR,**TOP**^XLIST
7346 MKAT<PROMPT,READP,UNTYI,STKPTR,SPREDO,SPREVAL>,SUBR^XLIST
7347 MKAT<MEMB,NEXTEV>,SUBR^XLIST
7348 MKAT<SPDLFT,SPDLRT,SPDLPT>,SUBR^XLIST
7349 MKAT<EVALV,OUTVAL>,SUBR^XLIST
7350
7351 IFN REALLC <
7352 ;%% NEW DYNAMIC REALLOCATION FUNCTION
7353 MKAT1 REALLO,SUBR,REALLOC
7354 MKAT<FWCNT,FSCNT>,SUBR
7355 >
7356
7357 ;$$ MORE EXTENSIONS INCLUDING READ MACROS
7358 ML READMACRO^
7359 MKAT1 %FLATSIZEC,SUBR,FLATSIZEC^XLIST
7360 MKAT <NEQ,CONSP,CHRVAL,SETCHR,MODCHR,LEXORDER>,SUBR ^XLIST
7361 MKAT <FREE,FREELIST,SYSCLR,HGHCOR,HGHORG,HGHEND>,SUBR^XLIST
7362 MKAT1 FALSE,FSUBR,SPECIAL^XLIST
7363 MKAT1 FALSE,FSUBR,NOCALL^XLIST
7364 MKAT1 FALSE,FSUBR,DECLARE^XLIST
7365 MKAT1 FALSE,FSUBR,NILL^XLIST
7366 MKAT1 APPLY.,SUBR,APPLY#^XLIST
7367 MKAT1 .MAX,SUBR,*MAX^XLIST
7368 MKAT1 .MIN,SUBR,*MIN^XLIST
7369
7370 ;$$ THE BREAK VARIABLES WHICH TELL ABOUT DEPTH IN THE BREAK PACKAGE
7371 MKAT1 BIOCHN,VALUE,#%IOCHANS%#^XLIST
7372 MKAT1 BPMPT,VALUE,#%PROMPTS%#^XLIST
7373 MKAT1 BINDNT,VALUE,#%INDENT^XLIST
7374 003725' 000000 000000 BIOCHN: NIL
7375 003726' 000000 000000 BPMPT: NIL
7376 003727' 000000 577777 BINDNT: INUM0
7377
7378 003730' 000000 000603' VOBLIST: OBLIST
7379 003731' 000000 600007 VBASE: 8+INUM0
7380 003732' 000000 600007 VIBASE: 8+INUM0
7381
7382 ML <PNAME,FIXNUM,FLONUM,VALUE,LAMBDA,SUBR,FSUBR,EXPR,FEXPR,SYM,^_
7383 $EOF$,LABEL,FUNARG,LSUBR,MACRO>^
7384
7385 176000 000000 PUTOB ?,.+1^ZZ==<ASCII +?+>_<-1>
7386 004027' 004030' 006235' XWD .+1,..0671^^
7387 004030' 777777 004031' QST: XWD -1,.+1
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-178
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7388 004031' 003734' 004032' XWD PNAME,.+1
7389 004032' 413364' 000000 XWD [PSTRCT(?)],0
7390
7391 004033' 000000 577777 VBPORG: INUM0
7392 004034' 000000 577777 VBPEND: INUM0
7393
7394 ;MKAT ACHLOC,SYM
7395 ;DONT KNOW WHATS UP HERE, IF NEEDED CHECK ACHLOC
7396 ;%% THIS WAS A PREDECESSOR TO THE FUNCTIONS UNDER SWITCH "REALLC"
7397 ;%% NO LONGER USEFUL
7398
7399 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-179
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7400 ;
7401 ; ALL THE ATOMS IN THE WHOLE SYSTEM
7402 MK<USERERRORX,RPUTSYM,RGETSYM>^
7403 MK<A,ADD,AFTER,ALIAS,ARGPRINT,ASSOC#,ATM,B,BEFORE,BELOW,BEND1,BF,BI,BIND>^
7404 MK<BK,BKE,BKEV,BKEVAL,BKF,BKFNLIST,BKFV,BKPOS,BKPROG,BKSETQ,BKV>^
7405 MK<BLOCK,BLOCKED,BO,BORG1,BREAK>^
7406 MK<BREAKMACROS,BREAK0,BREAK1,BREAK1ERX,BRKAPPLY>^
7407 MK<BRKCOMS,BRKEXP,BRKFN,BRKTYPE,BRKWHEN,BROKEN,BROKENFNS>^
7408 MK<BY,C,CAIE,CAIN,CALL,CALLF,CALLF@,CAME,CAMN,CAN'T,CHANGE>^
7409 MK<CHNGDFLG,CLEARB,CLEARM,COM,COM0>^
7410 MK<COMS,COMSQ,COPYFLG,CPTR,D,DE,DEFSYM,DELETE,DF>^
7411 MK<DIFFERENCE,DIFFERENT EXPRESSION,DM,DREVERSE,DRM,DSKIN>^
7412 MK<DSKOUT,DSM,DSUBST,E,EDIT,EDIT-SAVE>^
7413 MK<EDIT4E,EDIT4F,EDIT4F1,EDIT:,EDITBF,EDIT1,EDITCOMSL>^
7414 MK<EDITE,EDITF,EDITFNS,EDITFPAT>^
7415 MK<EDITL,EDITL0,EDITL1,EDITMACROS,EDITMBD,EDITMV>^
7416 MK<EDITOPS,EDITQF,EDITRACEFN,EDITXTR,EMBED,ENTER ,ERXACTION>^
7417 MK<EX,EXCH,EXTRACT,F,F=,FF,FILES-LOADED,FINDFLAG,FNDBRKPT,FOR,FOUND>^
7418 MK<FROM,FROM?=,FS,FUNTYPE,G,GETSYM,GREATERP,GRINL,GVAL>^
7419 MK<GWD,HERE,HLLZS@,HLRZ,HLRZ@,HRLM@,HRRM,HRRM@,HRRZ,HRRZ@,HRRZS@>^
7420 MK<I,IF,IN,INSERT,INSIDE,JCALL,JCALLF,JCALLF@,JRST,JSP>^
7421 MK<JUMPE,JUMPN,KLIST,L,L0,L11,L12,LAP,LAPEVAL,LAPLST,LASTAIL>^
7422 MK<LASTPOS,LASTWORD,LASTP1,LASTP2,LASTVALUE,LC,LCFLG,LCL,LDIFF,LESSP>^
7423 MK<LEXPR,LI,LO,LP,LPQ,LPTLENGTH,LSUBST>^
7424 MK<M,MARK,MARKLST,MAX,MAXLEVEL,MAXLEVEL EXCEEDED>^
7425 MK<MAXLOOP,MAXLOOP EXCEEDED,MBD,MIN,MOVE,MOVEI,MOVEM>^
7426 MK<MOVNI,MV,N,N?,NAMESCHANGED,NEX,NOT BLOCKED,NOT EDITABLE>^
7427 MK<NOTHING SAVED,NTH,NX,OCCURRENCES,OK,OLDPROMPT,OPS,ORF,ORR>^
7428 MK<P,PLEV,PLUS,POP,POPJ,PP,PREVEV,PRINLEV,PRINTLEV>^
7429 MK<PUSH,PUSHJ,PUTSYM,QLIST,QUOTIENT,R,READBUF>^
7430 MK<REDEFINED,REMOVE,REPACK,REPLACE,RETFROM,RI,RO> ^;##REMOVE MARKER
7431 MK<S,SAVE,SECOND,SELECTQ,SN,SOJE,SOJN>^
7432 MK<START,STKCOUNT,STKNAME,STKNTH>^
7433 MK<STKSRCH,STOP,SUB,SUBPAIR,SURROUND,SW>^
7434 MK<TAILP,TCONC,TDZA,TEST,THIRD,THROUGH,THRU,TIMES,TO>^
7435 MK<TOFLG,TOPFLG,TRACE,TRACEDFNS,TTY:,TYPE,UNBLOCK,UNBREAK>^
7436 MK<UNBREAK0,UNBREAKABLEFNS,UNDEF,UNDO>^
7437 MK<UNDOLST,UNDOLST1,UNDONE,UNFIND,UNTRACE,UP>^
7438 MK<UPFINDFLG,USE,USERMACROS,WHEN,WITH,X,XTR,Y,ZZ>^
7439 MK<@,<\>,<\#\ >,<\P>,^,^^,_,__, , , ?, . ,< . UNBOUND)>>^
7440 MK<- LOCATION UNCERTAIN, = ,! ,!0,!NX,!UNDO,!VALUE,##>^
7441 MK<#1,#2,#3,$%DOTFLG,%%BKPOS,%%CMDL,%%V>^
7442 MK<%DEFINE,%DEREAD,%DEVP,%ERDEPTH,%LOOKDPTH,%PREVFN%>^
7443 MK<%PRINFN,%READIN,&,& ,<(>,<(DEFPROP >,<)>,*,*ANY*,*RSETERX,-->^
7444 MK<-IN-,::,:::,/BREAK1,:,=,==,?=,??>^
7445 MK<... , ...],BINARY PROGRAM SPACE EXCEEDED>^
7446 MK<NOT A TAIL - LDIFF,NO EVAL BLIP - RETFROM>^
7447 MK<BAD ARGUMENT - LCONC,BAD ARGUMENT - TCONC>^
7448 MK<DSK:,INIT,LSP,NOT IN SYMBOL TABLE,& UNHAPPY>^
7449 MK<ARGUMENTS NOT FOUND,NOT BREAKABLE FUNCTION,ARGUMENT LIST?>^
7450 MK<AROUND,BREAKIN,EDBRK,BROKEN-IN,EDVAL,DREMOVE,LCONC,SUBLIS>^
7451 MK<EDITDSUBST,MAKEFN,FNDEF,LXPD,WHERE,MESS>^
7452 MK<SHOULD BE LIST,SHOULD BE LIST OF ATOMIC ARGUMENTS>^
7453 MK<FSUBR -- TAKES ONLY ONE ARGUMENT,UNBREAKABLE UNLESS 'IN' SOMETHING>^
7454 MK<EDITV,GRINPROPS,=EDITV,EDITP,ARGS,EDITFINDP>^
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-180
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7455
7456 ;%% MORE NEW SYSTEM FUNCTIONS
7457 MK<Q,%%MSGFLAG,-,SUBFUN1*RSETERX,SUBFUN2*RSETERX>^
7458
7459 ;ATOMS OF GENERATED FUNCTIONS
7460 MK<SUBFUN1ARGPRINT,SUBFUN1BREAKIN0,SUBFUN1EDITCONT,SUBFUN1EDITL1,SUBFUN1EDOR>^
7461 MK<SUBFUN1EDVAL,SUBFUN1ERRCOM>^
7462 007045' BFWS:
7463 007045' 000000 000000 EFWS: 0
7464 411071' RELOC
7465 XLIST
7466 LIST
7467 415670' 000000 000000 BHORG: 0
7468 007046' RELOC
7469 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-181
UCILSP MAC 27-MAR-75 17:13 LISP ATOMS AND OBLIST
7470
7471 SUBTTL LISP STORAGE ALLOCATOR (ONCE ONLY)
7472
7473
7474 007046' 402 00 0 00 000557' ALLOC: CLEARM 0,SBPS ;SET UP INITIAL ALLOCATIONS FOR SPACE
7475 007047' 551 01 0 00 006242 HRRZI A,BFWS-FS ;THIS IS THE SIZE OF THE ORIGINAL FS
7476 007050' 552 01 0 00 000563' HRRZM A,SFS
7477 007051' 551 01 0 00 000000 HRRZI A,EFWS-BFWS ;THIS ALLOWS ONLY THE INITIAL
7478 007052' 552 01 0 00 000564' HRRZM A,SFWS ;FWS
7479 007053' 551 01 0 00 000000 HRRZI A,0 ;THE INITIAL ALLOCATION FOR SPDL
7480 007054' 552 01 0 00 000572' HRRZM A,SSPDL
7481 007055' 552 01 0 00 000571' HRRZM A,SRPDL ;AND FOR RPDL IS SET UP IN INALLC
7482 007056' 551 01 0 00 000603' HRRZI A,FS
7483 007057' 552 01 0 00 000470' HRRZM A,FSO ;THIS SETS UP INITIAL FS POINTER
7484 007060' 551 01 0 00 007045' HRRZI A,BFWS ;THIS SETS UP INITIAL FWS ORIGIN POINTER
7485 007061' 552 01 0 00 000472' HRRZM A,FWSO#
7486
7487 007062' 551 01 0 00 007045' HRRZI A,EFWS
7488 007063' 552 01 0 00 000460' HRRZM A,EFWSO#
7489
7490
7491 007064' 201 01 0 00 000603' MOVEI A,FS
7492 007065' 272 01 0 00 004033' ADDM A,VBPORG ;SET UP VARIABLE FOR BPS ORIGIN
7493 007066' 370 00 0 00 000001 SOS A
7494 007067' 272 01 0 00 004034' ADDM A,VBPEND
7495
7496 007070' 200 01 0 00 410350* MOVE A,JOBREL
7497 007071' 506 01 0 00 410356* HRLM A,JOBSA
7498 007072' 047 00 0 00 000000 CALLI RESET
7499 007073' 201 01 0 00 400000' MOVEI A,DDT
7500 007074' 047 01 0 00 000002 CALLI A,2 ;SET UP DDT REENTRY POINT FOR AUTOMATIC CONTROL H
7501 007075' 201 01 0 00 000000' MOVEI A,LISPGO
7502 007076' 542 01 0 00 007071* HRRM A,JOBSA
7503
7504 007077' 476 00 0 00 000513' SETOM INITFW# ;FLAG FOR STANDARD INITIALIZATION OF
7505 007100' 402 00 0 00 000514' SETZM JRELO# ;OF SIZES, AND TO INDICATE CORE WAS EXPANDED
7506
7507 007101' 254 00 0 00 410350' JRST INALLC
7508
7509
7510 DEFINE MKENT (A)<
7511 INTERNAL A>
7512 ;##DEBUG QUEUE
7513 MKENT <CADAR,ATMOV,CADAR,CORUSE,DEBUGO,DEV>^
7514 IFN QALLOW< ;%% [1]
7515 MKENT <COPIES> ^
7516 > ;%% [1]
7517 MKENT <EXT,HGHDAT,INUM0,INUMIN,IOPPN,LISTAT,MORCOR,MOVDWN>^
7518 MKENT <NXTIO,OLDCU,SIXMAK,STNIL>^
7519
7520 MKENT <EVBIG,NUMBP2,OPOV,NUMV2,NUMV3,NUMV4,OPR,FLOOV,FIX2>^
7521 MKENT <NUM1,NUM3,BPR,FWCONS,FALSE,TRUE,FW0CNS,NCONS>^
7522 MKENT <READ,READP1,MAKNUM,PRIN1,PRINT,EXPLODE,SASSOC,EQUAL>^
7523 MKENT <CHCT,LINL,OLDCH,FLATSIZE,TYI,RATOM,CHRCT,TYOD>^
7524 MKENT <GET,INTERN,REMOB,MAKNAM,GENSYM,FIX,LENGTH,READLIST,PATOM>^
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-182
UCILSP MAC 27-MAR-75 17:13 LISP STORAGE ALLOCATOR (ONCE ONLY)
7525 MKENT <LAST,INC,OUTC,FIX1A,NUMVAL,REVERSE,MAPLIST,GC,GETL,PUTPROP>^
7526 MKENT <ERR,MAPCAR,REMPROP,LIST,SETQ,ERRSET,REMOB,ARRAY,APPEND>^
7527 MKENT <SPECBIND,SPECSTR,XCONS,ATOM,READCH,SET,NCONC,PRINC>^
7528 MKENT <CONS,ACONS,CTY,FP7A1,TERPRI,LSPRET>^
7529 MKENT <TYO,ITYO,IGSTRT,NOINFG,CHRTAB,EVAL,OEVAL,.APPEND,INPUT,OUTPUT>^
7530 IFN ALVINE,<MKENT<PSAV1,BKTRC>>
7531
7532 ;%% RECENT ADDITIONS
7533 MKENT <FLTYIA,SIXATM,BNINIT,RDFILE,UFDINP,MYPPN>^
7534 IFN QALLOW< ;%% [1]
7535 MKENT <QUEUE> ^
7536 > ;%% [1]
7537 MKENT <SYSIN0,SYSIN1,SYSINI,SYSINP>^
7538 IFN REALLC <
7539 MKENT <FWCNT,FSCNT,REALLO>
7540 >
7541
7542 ;$$ FOR ALAN'S DIRECT ACCESS INPUT
7543 MKENT <ININBF,TYI2,TYIA,INCH>^
7544
7545 ;## FOR BILL'S DIRECT ACCESS INPUT/OUTPUT
7546 MKENT <AIN.2,AIN.4,AIN.7,AOUT.2,CHANNE>^
7547 MKENT <CHNSUB,CHTAB,DEVDAT,ENTR,IOSUB>^
7548 MKENT <LOOKIN,OUTCH,OUTERR,POPAJ,PPN,SMAC>^
7549 MKENT <TABSR1,TABSRC,TYI2E,TYI2Z,TYI3B,TYO2X>^
7550 MKENT <TYO5,AIOP,SETIN>^
7551
7552 ;$$ FOR ALVINE
7553 MKENT <PROMPT,INUM0,MEMQ,UNBOUND>^
7554
7555 ;%% FOR THE MODIFIED ARITHMETIC PACKAGE
7556 MKENT <FIXNUM,FLONUM>^
7557
7558 PAGE
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE 1-183
UCILSP MAC 27-MAR-75 17:13 LISP STORAGE ALLOCATOR (ONCE ONLY)
7559 007046' END ALLOC
NO ERRORS DETECTED
HI-SEG. BREAK IS 415671
PROGRAM BREAK IS 007102
CPU TIME USED 04:35.312
31K CORE USED
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-1
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
A 000001 APPLY 405724' BOOTOK 400131' CHLL 000002 SPD
AAGN 405444' APPLY. 405436' BOOTOT 400147' CHNAM 000000 SPD
AASCII 403647' APRFLG 230000 SPD BOOTS 400116' CHNSUB 401254' INT
ABIND2 405621' APRINI 000016 SPD BPMPT 003726' CHOCH 000003 SPD
ABIND3 405630' APRINT 400151' BPPNR 000444' CHPPN 000002 SPD
ABORT 407773' AR1 000004 BPR 402411' INT CHRCT 401130' INT
ABS 405143' AR2A 000005 BPSFLG 000445' CHRTAB 000161' INT
ACFLD 000014 SPD ARG 406173' BSFLG 000446' CHRVAL 403561'
ACHLOC 410457' ARGP1 400311' BSIZE 000447' CHTAB 000062' INT
ACONS 403656' INT ARGPDL 400306' C 000003 CILIST 405700'
ADD1 405007' ARRAY 406326' INT C1GCS 000413' CLRBFI 051440 000000
ADRFLD 000043 SPD ARRAYS 406340' C2 000450' CLRBLK 402310'
AEVAL 405606' ARRB0 406425' C2GC 000403' CLRSPD 411021'
AEVAL1 405613' ARRB1 406436' C2GCS 000414' CNIL2 002622'
AEVAL2 000434' ARRB2 406440' C3GC 000404' CNTLB 000002 SPD
AEVAL4 405572' ARREND 406333' C3GCS 000415' CNTLE 000005 SPD
AEVAL5 000435' ARRERR 777777 777777 CAAAAR 403632' CNTLG 000007 SPD
AEVAL6 405566' ARRY1 406376' CAAADR 403631' CNTLH 000010 SPD
AEVAL7 405632' ARRY2 406412' CAAAR 403622' CNTLR 000022 SPD
AEVAL8 405565' ARRY3 406444' CAADAR 403620' CNTLZ 000032 SPD
AEXP 405674' ARRY6 406476' CAADDR 403617' CNVPPN 401462'
AGC 406667' ARRYS 406445' CAADR 403621' COMMEN 402734'
AIN.1 401720' ASSOC 404012' CAAR 403604' COMP2 405042'
AIN.2 401722' INT ATMOV 000441' INT CADAAR 403643' COMP3 404215'
AIN.4 401724' INT ATOM 403701' INT CADADR 403642' CON2 404700'
AIN.7 401726' INT AVLB 000040 SPD CADAR 403602' INT CONCOR 402276'
AIN.8 401730' B 000002 CADDAR 403600' COND 404701'
AIOP 401732' INT BACTRF 000442' CADDDR 403577' COND2 404711'
ALIST 405556' BAKGAG 400740' CADDR 403601' CONS 403661' INT
ALLNM1 000436' BANGCK 410736' CADR 403603' CONSP 403670'
ALLNUM 410721' BCKETS 000177 SPD CALLF 036000 000000 CONSVA 000452'
ALLOC 007046' BDEV 000104' CAR 403605' COPIES 003276' INT
ALOK 410456' BDEV1 000105' CDAAAR 403640' CORE 000011 SPD
ALTMOD 000033 SPD BELL 000007 SPD CDAADR 403637' CORUSE 000453' INT
ALVINE 000000 SPD BFWS 007045' CDAAR 403627' COUNT 000006 SPD
AMODE 000437' BHORG 415670' CDADAR 403625' CPOPJ 404014'
AND 404354' BIND 406177' CDADDR 403624' CPOPJ1 404010'
ANDOR 404357' BIND1 406214' CDADR 403626' CPU 003262'
AOEND 404374' BIND2 406204' CDAR 403614' CQUOTE 002577'
AOUT.2 401722' INT BIND3 000443' CDDAAR 403635' CR 000015 SPD
AOUT.4 401724' BINDNT 003727' CDDADR 403634' CSET1 404135'
AOUT2 000127' BINER2 400171' CDDAR 403612' CSET2 404127'
AOUT3 000130' BINLD 410170' CDDDAR 403610' CSET3 404113'
AP2 405734' BINPUT 401347' CDDDDR 403607' CSW 000454'
AP3 405736' BIOCHN 003725' CDDDR 403611' CSYM 404415'
APBK1 406111' BLKLS1 406564' CDDR 403613' CTY 402507' INT
APBK2 406100' BLKLST 406552' CDR 403615' CURBUC 000455'
APFNG 405764' BLKSIZ 000415 SPD CEV 400634' CUT 000456'
APFNG1 000440' BNDERR 400704' CEVAL 002213' D 000012
APLBL 406121' BNINIT 000103' INT CHANNE 000451' INT D1 410012'
APLBL1 406137' BOOL1 406644' CHCT 000056' INT D2 410031'
APP1 404314' BOOLE 406625' CHDAT 000004 SPD DBLQT 000042 SPD
APP2 404275' BOOLG 406637' CHDEV 000001 SPD DDT 400000'
APPEND 404272' INT BOOLI 000367' CHHP 000003 SPD DDTIFG 000057'
APPL.2 405670' BOOLL 406634' CHKGO 402317' DDTIN 401134'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-2
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
DEBUGO 400002' INT ERRIO 400465' FF 000016 GC1 406722'
DEFPRO 404140' ERRO2B 400512' FIL 401241' GCBT 406757'
DELCLS 000003 SPD ERRO2C 400514' FILARE 402164' GCBTL1 000406'
DELERR 401404' ERRO2G 400535' FILDEF 402201' GCBTL2 000410'
DELET1 401411' ERRO2H 400526' FILECH 402130' GCBTP1 000377'
DELET2 401417' ERROR 400537' FILPAR 000016 SPD GCBTP2 000400'
DELETE 401407' ERROR1 400556' FIX 405120' INT GCD 405176'
DEPOSI 406653' ERROR2 400577' FIX1 405132' GCD2 405201'
DEPTH 407776' ERRORB 400447' FIX1A 405220' INT GCD3 405203'
DEV 000111' INT ERRORG 400552' FIX1B 405064' GCEND 406752'
DEV1 000112' ERRORX 003352' FIX2 405130' INT GCEXIT 407105'
DEVCHK 401175' ERRP4 404645' FIXI 400743' GCFLG 000473'
DEVCHR 000004 SPD ERRPTR 000462' FIXNUM 003740' INT GCGAG 407124'
DEVCLR 401317' ERRSET 400657' INT FIXOV 405172' GCGAGV 000474'
DEVDAT 000457' INT ERRSUB 400444' FLAT1 000464' GCING 407142'
DIFPAR 000006 SPD ERRSW 000033' FLAT2 405316' GCMFW 406744'
DIRB 000004 SPD ERRTAB 400546' FLATLE 407733' GCMFWS 000401'
DISP 003256' ERRTN 000463' FLATSI 405311' INT GCMKL 000402'
DIVIDE 405154' ERSUB2 400604' FLO1A 405061' GCP 000475'
DOSET 411041' ERSUB3 400476' FLOAT 405112' GCP1 000476'
DOTAB 403001' ESB 405705' FLONUM 003744' INT GCP2 000372'
DOTERR 400712' ESB1 405712' FLOOV 405174' INT GCP3 000477'
DOTFLD 402620' EV3 405467' FLOSUB 403466' GCP4 000370'
ECHO 401013' EV5 405537' FLTYIA 403106' INT GCP41 000371'
EE1 405537' EVAL 405505' INT FORMS 003266' GCP5 000374'
EE2 405644' EVALAT 002563' FP1 402523' GCP5A 406711'
EELS 404433' EVALV 410772' FP3 402527' GCP6 407017'
EFM 405721' EVALV1 410776' FP3A 402540' GCP6A 407027'
EFS 405702' EVBIG 405545' INT FP4 402546' GCP6B 406717'
EFWS 007045' EXAMIN 406650' FP4A 402550' GCP6C 407020'
EFWSO 000460' EXARRA 406575' FP4C 000465' GCP6D 407030'
EG1 400733' EXCISE 410041' FP7 402567' GCP6E 407033'
EG2 400735' EXIT 000012 SPD FP7A1 402575' INT GCPI 406725'
EG3 400737' EXIT1 407771' FP7B 402576' GCPK1 406671'
ENDHI 000151' EXP 000001 SPD FPTEM 000466' GCPK2 406701'
ENTER 077000 000000 EXP2 405701' FREE 405425' GCPNT 407135'
ENTR 000123' INT EXP3 405676' FREELI 405430' GCPP1 000376'
EPRINT 402322' EXPA1 404773' FS 000603' GCRET1 406703'
EQ 403713' EXPAND 404766' FSMOVE 000467' GCS0 407115'
EQ2 404200' EXPCOR 402274' FSO 000470' GCS1 407116'
EQUAL 404150' INT EXPFLD 402621' FSTCH 000001 SPD GCS2 407122'
EQUAL1 404151' EXPL1 405325' FSUBR 003764' GCSP1 000500'
EQUAL3 404164' EXPL2 405335' FT 402606' GCSPI1 407075'
EQUAL4 404162' EXPL4 405350' FT0 402615' GCSWP 407055'
ERINT 000461' EXPLOD 405321' INT FT01 402614' GCTIM 000501'
ERR 400636' INT EXPN1 404772' FT8 402602' GCTIME 407126'
ERR1 400644' EXPND2 410271' FUNARG 004014' GENSY1 404411'
ERR1 001000 000000 EXPR 003770' FUNCT 405754' GENSY2 404401'
ERR2 400641' EXPTAB 403251' FW0CNS 403766' INT GENSYM 404376' INT
ERR2 002000 000000 EXT 000124' INT FWC0 000471' GET 404037' INT
ERR3 003000 000000 F 000015 FWC1 403773' GET1 404040'
ERRBK 400617' FALSE 404013' INT FWCONS 403767' INT GETHGH 000007'
ERRCH 401026' FCALL 034000 000000 FWSO 000472' GETL 404047' INT
ERRCHR 000045' FCP 402615' GAPP 405463' GETL0 404051'
ERREND 400620' FEXPR 003774' GC 406665' INT GETL1 404053'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-3
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
GETPPN 047000 000024 INC2 401621' ITYI 400742' LPTLL 000160 SPD
GETSEG 000040 SPD INC3 401640' ITYO 401071' INT LR1 403056'
GETSYM 407174' INCH 000507' INT JCALL 035000 000000 LREND 403075'
GETV 411011' INCHRW 051000 000000 JCALLF 037000 000000 LRMORE 403077'
GETV1 411015' INCHSL 051240 000000 JOB41 400024' EXT LRTY 403044'
GFSP1 000000 SPD INCHWL 051200 000000 JOBAPR 411164' EXT LRTY1 403104'
GFSPR 407062' INCNT 401607' JOBCNI 400151' EXT LSH 406661'
GFSWPP 407044' INFAIL 401345' JOBFF 402262' EXT LSPEDT 000001 SPD
GNUM 000364' INHERR 000510' JOBHRL 410334' EXT LSPMIN 000001 SPD
GO 404650' ININBF 000121' INT JOBOPC 407144' EXT LSPRET 400110' INT
GOBF 000502' ININIT 000110' JOBREL 007070' EXT LSPRMP 000522'
GTBLK 406522' INIT 041000 000000 JOBREN 000142' EXT LSPRT1 400036'
HALT 254200 000000 INITF 000511' JOBSA 007076' EXT LSPVER 000003 SPD
HASH 000000 SPD INITF1 000512' JOBSYM 410257' EXT LSPWHO 000002 SPD
HGHCOR 410276' INITFL 400104' JOBTPC 411143' EXT LST 000430'
HGHDAT 000021' INT INITFN 400106' JOBUUO 411155' EXT LSUBR 004020'
HGHEND 410334' INITFW 000513' JRELO 000514' M 000523'
HGHORG 410322' INITOK 000114' KLDG1 403407' MACRO 004024'
HIADDR 000503' INLOOK 000116' LABEL 004010' MAKID 403265'
HIARGS 000504' INLOW 000422' LAM 407564' MAKID1 403341'
HVAL 000505' INPPAR 000032 SPD LAMBDA 003754' MAKID2 403275'
IAP1 406031' INPREQ 401764' LAST 403726' INT MAKID3 403337'
IAP2 406141' INPUT 401343' INT LBLAD 000515' MAKID4 403343'
IAP3 406153' INPUT1 401333' LDFLG 000516' MAKID5 403347'
IAP4 405743' INPUT2 401337' LDPAR 000517' MAKNAM 405357' INT
IAP5 406060' INT1 000361' LDRET2 410153' MAKNUM 405057' INT
IAP6 406115' INTER0 403271' LENGTH 403716' INT MAP 404504'
IAP69 406105' INTER1 403323' LEX1 404736' MAPC 404502'
IAPLMB 406046' INTERN 403506' INT LEX2 404755' MAPCAN 404501'
IAPPLY 406001' INTPRP 401057' LEXORD 404722' MAPCAR 404503' INT
IAPXPR 406027' INUM0 577777 INT LF 000012 SPD MAPCON 404477'
IDCLS 000000 SPD INUMIN 377777 INT LHLEN 023016 SPD MAPL2 404521'
IDEND 403260' INUMP 405151' LIMIT 003272' MAPLIS 404505' INT
IDEND1 403261' INXTIO 401162' LINEL1 401126' MCEXIT 403557'
IDFLD 000160' IOBRST 401323' LINELE 401122' MEMB 404337'
IDPTR 000506' IODEV2 401215' LINL 000055' INT MEMB0 404325'
IDSUB 403313' IODEV3 401216' LINP 402126' MEMB1 404326'
IDTAB 403027' IOEND 401643' LINPCH 402117' MEMBER 404350'
IGCRLF 000031 SPD IOEXT 401232' LINRD 403037' MEMBR. 404350'
IGEND 000155' IOFIL 401226' LISP1 400076' MEMQ 404337' INT
IGSTRT 000154' INT IOFIL2 401244' LISPGO 000000' MES21 400157'
ILIST 404435' IOPPN 401217' INT LIST 404426' INT MINSGN 000010 SPD
ILIST1 404437' IOSEL 401575' LISTAT 002301' INT MINUS 405137'
ILIST2 404454' IOSEL1 401600' LITATO 403736' MINUSP 405134'
ILIST3 404446' IOSELZ 401605' LNGTH1 403717' MK10 407207'
ILLMEM 400173' IOSUB 401203' INT LOAD 410047' MK3 407152'
ILLNUM 405175' IOSUB1 401211' LOAD2 410055' MK7 407177'
ILLUUO 400602' IPLMB1 406056' LOAD3 410121' MKNAM2 405374'
ILP1A 406003' IPLMB2 406067' LODSIZ 000520' MKNAM3 000524'
ILP1B 406025' IPLMB3 406076' LOOKIN 000123' INT MKNAM4 405411'
INAGN 410360' IPLMB4 406071' LOOKUP 076000 000000 MKNAM5 405414'
INALLC 410350' IRET1 401526' LOWLEN 000156 SPD MKNAM6 405422'
INB 000002 SPD ISFILE 401352' LOWLSP 000521' MLIOB 000203 SPD
INBUF 064000 000000 ISPRIN 407300' LPIG 403065' MODCHR 403545'
INC 401611' INT ITTYRE 401651' LPROG 000010 SPD MORCOR 410256' INT
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-4
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
MOVDWN 410223' INT NUMAK4 403430' OUTERR 401570' INT PRINI4 402443'
MOVS1 410254' NUMAK6 403431' OUTOBF 000137' PRINIC 402422'
MOVSYM 410233' NUMBER 404064' OUTPAR 000024 SPD PRINL 402415'
MPDN 404551' NUMBP2 404075' INT OUTPR1 000023 SPD PRINL1 402417'
MPL3 404523' NUMCLS 000002 SPD OUTPUT 401532' INT PRINL2 402413'
MPV 020000 SPD NUMFLD 402620' OUTREQ 401763' PRINN 402444'
MYPPN 401453' INT NUMTAB 403214' OUTRET 400457' PRINO 402515'
N 000525' NUMTYP 405146' OUTSTR 051140 000000 PRINT 402327' INT
NA 407742' NUMV2 405107' INT OUTVAL 411027' PRINT1 402366'
NACS 000005 SPD NUMV3 405111' INT P 000014 PRINT2 402364'
NAME 000424' NUMV4 405105' INT PA3 000542' PRINT3 402351'
NBYTES 000526' NUMVAL 405071' INT PA4 000543' PRINTA 402341'
NCONC 404271' INT NUMVLX 405070' PATCH 407230' PROG 404556'
NCONS 403657' INT NXM 010000 SPD PATOM 403676' INT PROG1 404137'
NEQ 403710' NXTIO 401164' INT PDLARG 400327' PROG2 404136'
NEWHI 402237' OBLIST 000603' PDOV 200000 SPD PROGAT 002272'
NEWHI1 000141' OBTBL 000603' PG1 404577' PROGN 404763'
NEXP 000002 SPD OCR 410426' PG4 404643' PROGU1 406263'
NEXTEV 410761' OEVAL 405503' INT PG5 404625' PROGUB 406254'
NIL 000000 OFSO 000534' PG7A 404570' PROMCH 000545'
NILPRP 000527' OLDCH 000044' INT PG7B 404574' PROMPT 401051' INT
NIOB 000002 SPD OLDCU 000535' INT PGO 404615' PRVCNT 000546'
NIOCH 000017 SPD OLDHI 000146' PJUBND 406235' PRVSEL 000547'
NOALIN 000530' OLDNIL 000001 SPD PNAMAK 403365' PSAV 000550'
NOINFG 000531' INT OP 405211' PNAMB 403371' PSAVE 000551'
NOINTR 403024' OPA1 405225' PNAME 003734' PSMAC 403205'
NOLIST 400723' OPA2 405233' PNAMU3 403306' PSTR 402467'
NONNUM 400721' OPA5 405270' PNAMUK 403302' PSTR2 402473'
NONUSE 000000 SPD OPA6 405251' PNGNK1 403653' PSTR3 402472'
NOPNAM 400722' OPB2 405244' POINTR 000005 SPD PUTPRO 404111' INT
NOQUE 401766' OPB3 405274' POPAJ 405717' INT PUTSYM 407215'
NOT 403763' OPB7 405277' POPBJ 406212' Q.AFTR 000013 SPD
NOUUO 400337' OPEN 050000 000000 POS 407670' Q.CNO 000015 SPD
NOUUOF 000532' OPFLD 000010 SPD POS2 407715' Q.CREA 000012 SPD
NOWRT 410315' OPOV 405247' INT POS3 407723' Q.DEAD 000014 SPD
NQS 000006 SPD OPR 405264' INT POS4 407731' Q.DEV 000003 SPD
NSTR 406617' OR 404355' PPN 000126' INT Q.F 000000 SPD
NSWS 000005 SPD ORET1 401562' PPNEXT 401250' Q.FBIT 000012 SPD
NTH1 404252' ORGSGN 000536' PRETB 404475' Q.FDIR 000001 SPD
NTH2 404260' ORGSTK 000537' PRG 407611' Q.FDRM 000000 SPD
NTH3 404232' OSFWS 000540' PRG1 407632' Q.FEXM 000007 SPD
NTH4 404245' OTTYRE 401714' PRG2 407647' Q.FEXT 000010 SPD
NTH5 404242' OUT 410033' PRG3 407657' Q.FF 000024 SPD
NTH6 404267' OUT 057000 000000 PRIN1 402335' INT Q.FLEN 000016 SPD
NTHCHA 404221' OUTALC 410716' PRIN1A 402370' Q.FMDM 000010 SPD
NULL 403763' OUTB 000001 SPD PRIN1B 402377' Q.FMLN 000011 SPD
NUM 403475' OUTBUF 065000 000000 PRIN2 402462' Q.FMOD 000013 SPD
NUM1 000533' INT OUTC 401657' INT PRIN2X 402456' Q.FNAM 000007 SPD
NUM10 403474' OUTC2 401671' PRIN3 402461' Q.FNMM 000006 SPD
NUM2 403500' OUTC3 401706' PRIN4 402463' Q.FRNM 000011 SPD
NUM3 403504' INT OUTCH 000541' INT PRIN5 000544' Q.FRPT 000014 SPD
NUMAG1 405076' OUTCHK 402064' PRINC 402334' INT Q.FSTR 000000 SPD
NUMAK 403403' OUTCHR 051040 000000 PRINI1 402421' Q.I 000020 SPD
NUMAK2 403434' OUTCNT 401655' PRINI2 402430' Q.IDDI 000024 SPD
NUMAK3 403453' OUTENT 000134' PRINI3 402436' Q.IDEP 000020 SPD
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-5
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
Q.II 000032 SPD QTABLE 402046' REL4 410667' SETFWS 410365'
Q.IL 000024 SPD QTIFY 400315' REL5 410636' SETIN 401472' INT
Q.ILIM 000021 SPD QTIME 000000 SPD REL6 410640' SETIN1 401477'
Q.JOB 000005 SPD QTLFY 400320' RELEAS 071000 000000 SETIN2 401500'
Q.LEN 000002 SPD QTLFY1 400321' RELFOO 410700' SETINA 401470'
Q.MEM 000000 SPD QUEUE 401741' INT REMAIN 405170' SETQ 404660' INT
Q.O 000020 SPD QUEUE1 402016' REMOB 403516' INT SETSYS 410337'
Q.OFRM 000020 SPD QUOTE 403645' REMOB2 403542' SETUWP 000036 SPD
Q.OL 000022 SPD R 000013 REMOB3 403533' SFS 000563'
Q.ONOT 000022 SPD R50FLD 402623' REMP1 404035' SFWS 000564'
Q.OPR 000001 SPD R50MAK 407145' REMPRO 404025' INT SHRST 400000 SPD
Q.OSIZ 000021 SPD R50VAL 000000 RENAME 401375' SIXAT1 403144'
Q.PDEV 000010 SPD RATAB 402752' RENCLR 401423' SIXAT2 403146'
Q.PPN 000004 SPD RATFLD 000156' RENSUB 401370' SIXAT3 403155'
Q.PRI 000007 SPD RATOM 402740' INT RERX 400652' SIXATM 403126' INT
Q.SEQ 000006 SPD RATOM2 402747' RESET 000000 SPD SIXDON 403160'
Q.TIME 000011 SPD RATOM3 402771' RESTOR 402261' SIXMAK 401143' INT
Q.USER 000016 SPD RDE 403234' RETURN 404633' SIXMK1 401151'
Q.ZER 000000 SPD RDE2 403254' REVAL1 411033' SIXMK2 000565'
QALLOW 000001 SPD RDFIL1 403112' REVERS 404015' INT SIXRT 401172'
QARG 402114' RDFILE 403113' INT RGC 000552' SKPINC 051540 000000
QCOPIE 402070' RDFLD 402622' RGTSYM 407165' SKPINL 051600 000000
QCPU 402053' RDID 403033' RHX2 000362' SMAC 000566' INT
QDEFST 401734' SPD RDIV 405161' RHX5 000363' SMACRO 403202'
QDISP 402073' RDNAM 402642' RINP 402127' SP 000017
QDONE 402211' RDNDOT 403225' RINPCH 402121' SPACE 000040 SPD
QDONE1 402231' RDNMIN 403231' RLAST 000553' SPDLFT 410751'
QDONEB 402226' RDNPLS 403232' RLS 000140' SPDLOV 400165'
QDONEC 402224' RDNUM 403221' RMAC2 403166' SPDLPT 410746'
QERR1 401740' RDOT 402775' RMACRO 403166' SPDLRT 410756'
QFILE 402136' RDOT2 402767' RMERR 400701' SPDNLP 410763'
QFILEA 402133' RDQT 402732' RNAME 000102' SPEAK 407133'
QFILEB 402143' RDRUB 402644' RPAERR 400706' SPEC1 406266'
QFORMS 402055' RDSTR 403015' RPDERR 400710' SPECBI 406265' INT
QGOOD 401770' RDT 402711' RPLACA 403744' SPECST 406237' INT
QGTARG 402110' RDTAB 402677' RPLACD 403755' SPECX 406300'
QILLSW 401734' RDTAB2 402662' RPTSYM 407211' SPNM 000567'
QLIMIT 402061' RDTX 402705' RSTSW 000554' SPRE1 411060'
QLOOP 402026' READ 402651' INT RUBOUT 000177 SPD SPREDO 411052'
QLOOP1 402042' READ0 402631' RVAL 000555' SPREVA 411064'
QLSTOK 000000 SPD READ1 402656' S 000011 SPRINT 407250'
QO.CRE 000001 SPD READ2 402670' SAS0 404001' SPRN1 407317'
QO.DEL 000010 SPD READ2A 402673' SAS1 404002' SPRN11 407464'
QO.FLS 000012 SPD READ4 402723' SASSOC 403776' INT SPRN12 407467'
QO.KIL 000006 SPD READ5 402730' SAVSP 000556' SPRN13 407476'
QO.LST 000004 SPD READAT 002555' SAWDOT 000004 SPD SPRN16 407510'
QO.MOD 000005 SPD READCH 402624' INT SBPS 000557' SPRN17 407522'
QO.REQ 000011 SPD READLI 405356' INT SBT 000560' SPRN18 407525'
QSELF 402027' READMA 003510' SBTF 000561' SPRN19 407545'
QSETUP 401772' READP 401063' SC2 000562' SPRN2 407406'
QST 004030' READP1 402630' INT SCAN 407737' SPRN21 407561'
QSTABL 401755' REALL2 410427' SET 404666' INT SPRN22 407665'
QSWEXT 000000 REALLC 000000 SPD SETARG 406175' SPRN3 407360'
QSXARG 402305' REL 000010 SETCHR 403567' SPRN4 407367'
QTABL1 000005 REL1 410621' SETERR 400731' SPRN5 407422'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-6
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
SPRN7 407444' TT 000007 UUOEX1 400272' %AMAKE 406302'
SPRN8 407450' TTCH 000000 SPD UUOEXP 400271' %ARG 000366'
SPRN9 407453' TTOCH 000060' UUOH 000027' %CLRBF 401022'
SPRNT2 407251' TTOHP 000062' UUOH1 400213' %EXPLO 405320'
SPSV 000570' TTOLL 000061' UUOH2 400200' %FLATS 405310'
SRPDL 000571' TTSV 000600' UUOMAX 000004 SPD %LCALL 406314'
SSPDL 000572' TTYCLR 401140' UUOMIN 000001 SPD %NOPOI 002705'
START 400022' TTYI 401031' UUOS 400264' %UDT 406307'
STATO 061000 000000 TTYID 401041' UUOS1 400364' ..0055 003747'
STATZ 063000 000000 TTYLL 000105 SPD UUOS10 400441' ..0056 002146'
STIME 000027 SPD TTYO 401132' UUOS2 405706' ..0057 002036'
STKPTR 411067' TTYRET 401136' UUOS3 400370' ..0060 002452'
STNIL 000573' INT TTYUUO 051000 000000 UUOS4 400400' ..0061 001346'
STORE 406610' TTYXIT 401035' UUOS4A 400372' ..0062 001472'
STP 000574' TYI 400745' INT UUOS5 400403' ..0063 003465'
STPGAP 000000 SPD TYI1 402726' UUOS6 400412' ..0064 001670'
STR2 403021' TYI2 000034' INT UUOS6A 400375' ..0065 003301'
STRCLS 000001 SPD TYI2E 401007' INT UUOS7 400423' ..0066 001544'
STRFLD 000157' TYI2Q 400767' UUOS7A 000032' ..0067 002671'
STRING 404076' TYI2X 000036' UUOS8 400422' ..0070 001404'
STRT 410350' TYI2Y 000037' UUOS9 400432' ..0071 001412'
STRTAB 403012' TYI2Z 000041' INT UUOSBR 400243' ..0072 002466'
STRTIP 004000 000000 TYI3 000601' UUS10A 400434' ..0073 002014'
STRTYP 400564' TYI3A 000035' UUST 400345' ..0074 001016'
SUB1 405016' TYI3B 400760' INT UWPERR 410303' ..0075 001024'
SUBAS 000575' TYIA 400754' INT VALUE 003750' ..0076 002576'
SUBBS 000576' TYID 400756' VBASE 003731' ..0077 003501'
SUBR 003760' TYIEOF 000043' VBPEND 004034' ..0100 001332'
SUBS4 404554' TYO 401074' INT VBPORG 004033' ..0101 003307'
SXATER 403142' TYO1 401101' VFIX1A 003055' ..0102 001376'
SYM 004000' TYO2X 000052' INT VHGHOR 000432' ..0103 005301'
SYMER1 407163' TYO3 401111' VIBASE 003732' ..0104 001354'
SYMERR 407162' TYO4 401107' VNIL 002626' ..0105 004355'
SYSCLR 400675' TYO5 000050' INT VNSTR 003065' ..0106 001046'
SYSIN0 000417' INT TYOD 000046' INT VOBLIS 003730' ..0107 004771'
SYSIN1 000416' INT TYOI 000152' VSPECB 003035' ..0110 002344'
SYSINI 410176' INT TYOI2 402510' VSPECS 003045' ..0111 001054'
SYSINP 410215' INT UBD 406226' VTRUTH 002620' ..0112 001654'
SYSPN 000000 SPD UBDPTR 000365' WRTSTS 000433' ..0113 001734'
SYSPRG 000000 SPD UFDINP 401427' INT X 000000 SPD ..0114 001070'
SYSUNV 000001 SPD UNBIND 406237' X.LOG 200000 000000 SPD ..0115 002336'
T 000006 UNBND1 406244' X.NEW 100000 000000 SPD ..0116 002741'
TAB 000011 SPD UNBOND 411017' XCONS 403660' INT ..0117 001506'
TABSR1 401270' INT UNBOUN 002706' INT XFLD 000021 SPD ..0120 002256'
TABSRC 401277' INT UNBVAR 400717' XXEVAL 405511' ..0121 003565'
TALK 260600 401140' UNDFUN 400714' XXX1 000362' ..0122 003703'
TEMCOR 402271' UNDTAC 400726' XXX2 000363' ..0123 002314'
TEN 000012 SPD UNDTAG 400727' XXX3 000405' ..0124 005465'
TERPRI 402501' INT UNTYI 401066' XXX4 000365' ..0125 004535'
TIME 407130' UUET 400356' XXX5 000376' ..0126 006345'
TOMANY 400724' UUFET 400361' ZERODI 405173' ..0127 002562'
TOOFEW 400725' UUFST 400350' ZEROP 403762' ..0130 004171'
TRUE 403764' INT UULT 400353' ZY 000002 SPD ..0131 005021'
TRUTH 002613' UUO2 000602' ZZ 415630' SPD ..0132 005335'
TSV 000577' UUOCL 000031' $EOF$ 004004' ..0133 001712'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-7
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
..0134 005175' ..0223 003123' ..0312 001566' ..0401 002677'
..0135 005201' ..0224 004235' ..0313 001302' ..0402 002356'
..0136 001574' ..0225 001500' ..0314 002755' ..0403 004141'
..0137 001726' ..0226 003261' ..0315 004541' ..0404 002306'
..0140 001340' ..0227 001514' ..0316 001742' ..0405 002066'
..0141 004421' ..0230 002132' ..0317 005771' ..0406 002406'
..0142 001324' ..0231 001362' ..0320 001552' ..0407 002651'
..0143 001640' ..0232 001610' ..0321 005701' ..0410 002140'
..0144 000000 ..0233 003377' ..0322 002006' ..0411 003313'
..0145 006101' ..0234 003037' ..0323 002400' ..0412 002747'
..0146 005401' ..0235 002116' ..0324 001616' ..0413 002234'
..0147 002272' ..0236 006035' ..0325 002414' ..0414 002474'
..0150 003711' ..0237 001530' ..0326 005605' ..0415 002733'
..0151 005705' ..0240 002430' ..0327 001704' ..0416 002725'
..0152 001536' ..0241 001002' ..0330 002502' ..0417 000000
..0153 002300' ..0242 002074' ..0331 001646' ..0420 002460'
..0154 002322' ..0243 001434' ..0332 002030' ..0421 004301'
..0155 006201' ..0244 002154' ..0333 001442' ..0422 003047'
..0156 003767' ..0245 003005' ..0334 001662' ..0423 002204'
..0157 003345' ..0246 001450' ..0335 003543' ..0424 004017'
..0160 004325' ..0247 001456' ..0336 003225' ..0425 002516'
..0161 004441' ..0250 001420' ..0337 001522' ..0426 004451'
..0162 004531' ..0251 001624' ..0340 002444' ..0427 002364'
..0163 002641' ..0252 001772' ..0341 001602' ..0430 002422'
..0164 005001' ..0253 001316' ..0342 002372' ..0431 002242'
..0165 002631' ..0254 001010' ..0343 001632' ..0432 002264'
..0166 001156' ..0255 003161' ..0344 006275' ..0433 003233'
..0167 004055' ..0256 002052' ..0345 001560' ..0434 002621'
..0170 002771' ..0257 001370' ..0346 002060' ..0435 003013'
..0171 001164' ..0260 002124' ..0347 002022' ..0436 003435'
..0172 002661' ..0261 001076' ..0350 002330' ..0437 003275'
..0173 005425' ..0262 002044' ..0351 002226' ..0440 006505'
..0174 001200' ..0263 001062' ..0352 004365' ..0441 002436'
..0175 005521' ..0264 003405' ..0353 003653' ..0442 002546'
..0176 006301' ..0265 004135' ..0354 002000' ..0443 005031'
..0177 001230' ..0266 002711' ..0355 003551' ..0444 004027'
..0200 004145' ..0267 001112' ..0356 003623' ..0445 003427'
..0201 002212' ..0270 001126' ..0357 001750' ..0446 003175'
..0202 001310' ..0271 001134' ..0360 001756' ..0447 005475'
..0203 006335' ..0272 004231' ..0361 004761' ..0450 002524'
..0204 001032' ..0273 001142' ..0362 003107' ..0451 004431'
..0205 001720' ..0274 003323' ..0363 003115' ..0452 003021'
..0206 004571' ..0275 002777' ..0364 001676' ..0453 005675'
..0207 001040' ..0276 003067' ..0365 003355' ..0454 003217'
..0210 001426' ..0277 001172' ..0366 001764' ..0455 003271'
..0211 004545' ..0300 001206' ..0367 002162' ..0456 003675'
..0212 001104' ..0301 001214' ..0370 000000 ..0457 002612'
..0213 003027' ..0302 001236' ..0371 002170' ..0460 002532'
..0214 002250' ..0303 001222' ..0372 003255' ..0461 003757'
..0215 001120' ..0304 001244' ..0373 002554' ..0462 003763'
..0216 001464' ..0305 001260' ..0374 002110' ..0463 005045'
..0217 003753' ..0306 004121' ..0375 002102' ..0464 002570'
..0220 001150' ..0307 001252' ..0376 002763' ..0465 003337'
..0221 002220' ..0310 001266' ..0377 002352' ..0466 003137'
..0222 003521' ..0311 001274' ..0400 002176' ..0467 002510'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-8
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
..0470 003167' ..0557 005725' ..0646 005035' ..0735 004255'
..0471 005451' ..0560 003615' ..0647 003717' ..0736 005265'
..0472 003145' ..0561 004275' ..0650 004435' ..0737 006465'
..0473 002540' ..0562 003573' ..0651 000000 ..0740 005505'
..0474 003211' ..0563 003513' ..0652 004265' ..0741 004755'
..0475 003661' ..0564 006341' ..0653 004731' ..0742 004311'
..0476 004341' ..0565 004401' ..0654 004035' ..0743 005005'
..0477 004151' ..0566 004445' ..0655 006165' ..0744 004665'
..0500 002604' ..0567 004175' ..0656 004007' ..0745 004315'
..0501 003371' ..0570 004261' ..0657 006155' ..0746 004635'
..0502 003131' ..0571 003457' ..0660 005455' ..0747 005075'
..0503 004161' ..0572 004331' ..0661 004051' ..0750 006415'
..0504 004211' ..0573 006045' ..0662 004045' ..0751 000000
..0505 002627' ..0574 005611' ..0663 004661' ..0752 005311'
..0506 005065' ..0575 003333' ..0664 005421' ..0753 004705'
..0507 002637' ..0576 006461' ..0665 004561' ..0754 004351'
..0510 004721' ..0577 004411' ..0666 004071' ..0755 004505'
..0511 002647' ..0600 003351' ..0667 004461' ..0756 005111'
..0512 003413' ..0601 004105' ..0670 004061' ..0757 005545'
..0513 002657' ..0602 003557' ..0671 006235' ..0760 000000
..0514 005331' ..0603 003443' ..0672 004715' ..0761 005025'
..0515 002667' ..0604 005101' ..0673 004361' ..0762 006671'
..0516 003075' ..0605 003601' ..0674 005555' ..0763 004405'
..0517 004751' ..0606 004605' ..0675 000000 ..0764 004741'
..0520 002717' ..0607 004321' ..0676 000000 ..0765 004465'
..0521 003327' ..0610 004775' ..0677 004621' ..0766 005711'
..0522 003241' ..0611 003473' ..0700 005441' ..0767 006151'
..0523 004013' ..0612 006261' ..0701 004271' ..0770 005641'
..0524 004041' ..0613 000000 ..0702 004115' ..0771 004525'
..0525 003057' ..0614 003743' ..0703 004371' ..0772 005055'
..0526 003317' ..0615 004075' ..0704 005041' ..0773 006051'
..0527 004565' ..0616 003773' ..0705 004455' ..0774 005161'
..0530 006501' ..0617 003527' ..0706 004205' ..0775 005745'
..0531 004101' ..0620 004201' ..0707 005165' ..0776 005535'
..0532 003203' ..0621 003667' ..0710 004515' ..0777 000000
..0533 004671' ..0622 003607' ..0711 005325' ..1000 004471'
..0534 004651' ..0623 005171' ..0712 000000 ..1001 005615'
..0535 005205' ..0624 004521' ..0713 005231' ..1002 000000
..0536 003637' ..0625 004425' ..0714 005655' ..1003 006751'
..0537 003421' ..0626 003631' ..0715 004711' ..1004 006405'
..0540 003645' ..0627 004655' ..0716 004575' ..1005 005061'
..0541 003363' ..0630 004215' ..0717 005371' ..1006 005071'
..0542 003265' ..0631 003737' ..0720 000000 ..1007 005375'
..0543 003451' ..0632 004003' ..0721 005755' ..1010 004725'
..0544 004335' ..0633 004111' ..0722 006661' ..1011 005141'
..0545 004375' ..0634 004415' ..0723 004305' ..1012 005575'
..0546 003507' ..0635 004155' ..0724 004511' ..1013 005445'
..0547 003247' ..0636 003777' ..0725 004345' ..1014 004551'
..0550 003153' ..0637 004065' ..0726 004221' ..1015 004555'
..0551 003535' ..0640 005435' ..0727 004601' ..1016 005261'
..0552 004023' ..0641 004165' ..0730 004475' ..1017 000000
..0553 004131' ..0642 006315' ..0731 000000 ..1020 005255'
..0554 006241' ..0643 005661' ..0732 004241' ..1021 006171'
..0555 004501' ..0644 004125' ..0733 004245' ..1022 005461'
..0556 003733' ..0645 004225' ..0734 004251' ..1023 005631'
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-9
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
..1024 004611' ..1113 006011' ..1202 000000 ..1271 006625'
..1025 004615' ..1114 005315' ..1203 005721' ..1272 006041'
..1026 004745' ..1115 005321' ..1204 000000 ..1273 006655'
..1027 004625' ..1116 005245' ..1205 005621' ..1274 006225'
..1030 004631' ..1117 005271' ..1206 006075' ..1275 000000
..1031 005515' ..1120 000000 ..1207 000000 ..1276 006121'
..1032 004641' ..1121 005761' ..1210 000000 ..1277 006065'
..1033 004645' ..1122 006475' ..1211 006321' ..1300 006071'
..1034 004701' ..1123 000000 ..1212 006575' ..1301 006525'
..1035 005221' ..1124 006221' ..1213 000000 ..1302 006471'
..1036 005121' ..1125 005665' ..1214 006355' ..1303 000000
..1037 005211' ..1126 005471' ..1215 006015' ..1304 006111'
..1040 004675' ..1127 000000 ..1216 006031' ..1305 006135'
..1041 006231' ..1130 005235' ..1217 005601' ..1306 000000
..1042 000000 ..1131 005275' ..1220 005651' ..1307 006741'
..1043 004735' ..1132 005241' ..1221 006125' ..1310 000000
..1044 005751' ..1133 005411' ..1222 006431' ..1311 006421'
..1045 006445' ..1134 005571' ..1223 000000 ..1312 006725'
..1046 005225' ..1135 005561' ..1224 006005' ..1313 006255'
..1047 005531' ..1136 006455' ..1225 000000 ..1314 000000
..1050 005115' ..1137 006205' ..1226 006245' ..1315 000000
..1051 005155' ..1140 005345' ..1227 000000 ..1316 006451'
..1052 004765' ..1141 000000 ..1230 000000 ..1317 000000
..1053 000000 ..1142 005431' ..1231 000000 ..1320 006251'
..1054 005145' ..1143 000000 ..1232 000000 ..1321 006311'
..1055 005125' ..1144 005645' ..1233 000000 ..1322 000000
..1056 005015' ..1145 000000 ..1234 000000 ..1323 000000
..1057 006571' ..1146 005671' ..1235 005775' ..1324 006401'
..1060 005011' ..1147 005361' ..1236 000000 ..1325 006521'
..1061 005731' ..1150 005415' ..1237 000000 ..1326 006265'
..1062 000000 ..1151 000000 ..1240 006515' ..1327 000000
..1063 006365' ..1152 006215' ..1241 006141' ..1330 006511'
..1064 006145' ..1153 005351' ..1242 000000 ..1331 000000
..1065 005051' ..1154 006631' ..1243 006605' ..1332 006361'
..1066 005215' ..1155 005355' ..1244 000000 ..1333 006351'
..1067 000000 ..1156 005765' ..1245 000000 ..1334 006411'
..1070 000000 ..1157 005365' ..1246 006115' ..1335 000000
..1071 006131' ..1160 005501' ..1247 000000 ..1336 006541'
..1072 005105' ..1161 006325' ..1250 000000 ..1337 000000
..1073 005565' ..1162 006675' ..1251 000000 ..1340 006775'
..1074 005405' ..1163 005525' ..1252 006305' ..1341 006705'
..1075 006641' ..1164 006055' ..1253 000000 ..1342 000000
..1076 005541' ..1165 005715' ..1254 006001' ..1343 006765'
..1077 000000 ..1166 005625' ..1255 006565' ..1344 000000
..1100 005735' ..1167 006021' ..1256 006531' ..1345 000000
..1101 006535' ..1170 000000 ..1257 006211' ..1346 000000
..1102 005305' ..1171 006715' ..1260 006651' ..1347 006425'
..1103 006435' ..1172 005635' ..1261 006175' ..1350 006545'
..1104 005251' ..1173 006665' ..1262 000000 ..1351 006615'
..1105 000000 ..1174 006331' ..1263 006271' ..1352 006371'
..1106 005151' ..1175 006161' ..1264 000000 ..1353 000000
..1107 005341' ..1176 005551' ..1265 000000 ..1354 006441'
..1110 005131' ..1177 005741' ..1266 006105' ..1355 000000
..1111 005135' ..1200 000000 ..1267 000000 ..1356 000000
..1112 005511' ..1201 006025' ..1270 006061' ..1357 000000
LISP INTERPRETER 3A(1)-2 MACRO %50(272) 17:15 27-MAR-75 PAGE S-10
UCILSP MAC 27-MAR-75 17:13 SYMBOL TABLE
..1360 006375' ..1447 000000
..1361 000000 ..1450 000000
..1362 000000 ..1451 006735'
..1363 006601' ..1452 000000
..1364 000000 ..1453 000000
..1365 000000 ..1454 000000
..1366 000000 ..1455 000000
..1367 000000 ..1456 000000
..1370 000000 ..1457 000000
..1371 000000 ..1460 000000
..1372 000000 ..1461 000000
..1373 000000 ..1462 000000
..1374 006555' ..1463 007005'
..1375 000000 ..1464 007011'
..1376 006635' ..1465 007015'
..1377 006551' ..1466 007021'
..1400 000000 ..1467 007025'
..1401 000000 ..1470 007031'
..1402 006755' ..1471 007035'
..1403 000000 ..1472 007041'
..1404 006701' ..1473 000000
..1405 000000 .APPEN 404311' INT
..1406 000000 .DIF 405021'
..1407 000000 .ERROR 400570'
..1410 006611' .GREAT 405034'
..1411 000000 .JBVER 000137 SPD
..1412 000000 .LESS 405036'
..1413 006645' .MAP 404465'
..1414 000000 .MAPC 404455'
..1415 000000 .MAX 405045'
..1416 006561' .MIN 405047'
..1417 000000 .NCONC 404302'
..1420 000000 .PLUS 405013'
..1421 000000 .QUO 405027'
..1422 000000 .RSET 400114'
..1423 000000 .TAB 410036'
..1424 006771' .TIMES 405024'
..1425 006621'
..1426 000000
..1427 006731'
..1430 007001'
..1431 000000
..1432 000000
..1433 000000
..1434 006761'
..1435 000000
..1436 000000
..1437 000000
..1440 000000
..1441 000000
..1442 006745'
..1443 006711'
..1444 000000
..1445 000000
..1446 006721'
A 119# 120 354 355 364 374 375 385 386 402 405 414 452 455
459 460 463 469 470 472 539 541 544 546 548 586 594 602
604 611 612 613 614 615 616 620 623 709 710 711 712 713
715 718 748 784 789 790 791 792 793 795 818 826 830 834
839 840 849 860 867 891 894 910 924 934 1010 1016 1021 1022
1027 1033 1044 1045 1059 1060 1061 1065 1074 1094 1095 1096 1097 1098
1111 1112 1121 1123 1126 1132 1135 1136 1141 1145 1146 1147 1148 1149
1153 1154 1155 1162 1167 1171 1186 1187 1190 1195 1196 1199 1205 1210
1211 1212 1213 1214 1217 1225 1229 1255 1258 1261 1262 1263 1265 1271
1273 1274 1278 1279 1289 1291 1301 1302 1304 1307 1309 1311 1312 1314
1317 1320 1321 1322 1324 1325 1326 1328 1338 1339 1342 1343 1345 1346
1348 1349 1351 1363 1364 1366 1373 1375 1379 1382 1383 1386 1387 1388
1389 1391 1395 1396 1397 1398 1400 1401 1405 1409 1416 1423 1424 1425
1429 1431 1433 1434 1438 1445 1462 1480 1483 1484 1485 1486 1490 1492
1497 1500 1502 1503 1508 1509 1510 1511 1512 1516 1517 1519 1520 1521
1522 1523 1525 1526 1527 1528 1529 1531 1533 1534 1535 1536 1537 1538
1541 1542 1543 1544 1545 1587 1588 1592 1595 1596 1597 1598 1599 1600
1601 1602 1603 1604 1605 1607 1631 1632 1650 1669 1670 1672 1673 1674
1675 1676 1677 1678 1680 1690 1694 1695 1696 1697 1698 1703 1706 1720
1721 1722 1724 1725 1726 1727 1728 1730 1732 1734 1741 1758 1925 1933
1936 1938 1939 1942 1958 1959 1962 1964 1966 1968 1969 1973 1974 1979
1980 1981 1982 1984 1985 1987 1989 1991 1992 2000 2002 2004 2009 2100
2106 2107 2121 2122 2124 2126 2129 2133 2135 2138 2146 2147 2167 2169
2173 2177 2181 2182 2183 2184 2185 2186 2197 2198 2199 2202 2203 2205
2206 2209 2210 2212 2213 2214 2215 2222 2223 2226 2227 2230 2231 2233
2234 2244 2256 2260 2261 2268 2269 2270 2272 2298 2299 2319 2325 2326
2327 2328 2329 2330 2335 2336 2357 2361 2367 2369 2371 2372 2373 2376
2386 2387 2389 2390 2391 2393 2394 2395 2396 2410 2414 2415 2418 2420
2427 2428 2429 2431 2433 2437 2443 2444 2445 2447 2451 2454 2455 2463
2464 2465 2466 2469 2470 2472 2476 2480 2481 2483 2484 2486 2488 2489
2490 2492 2494 2497 2498 2499 2507 2508 2519 2525 2527 2528 2530 2531
2532 2535 2538 2539 2556 2557 2584 2585 2586 2587 2707 2708 2717 2719
2744 2762 2769 2779 2789 2819 2820 2827 2846 2851 2853 2864 2872 2875
2877 2889 2890 2891 2893 2895 2896 2899 2902 2920 2928 2929 2931 2933
2941 2956 2959 2968 2970 2972 2984 2987 2990 3003 3007 3009 3011 3015
3025 3032 3036 3042 3045 3046 3048 3050 3057 3065 3066 3071 3082 3089
3091 3093 3094 3130 3133 3135 3136 3137 3141 3143 3144 3146 3154 3155
3156 3157 3160 3161 3163 3164 3168 3172 3173 3176 3177 3178 3186 3187
3192 3196 3199 3202 3206 3210 3211 3213 3220 3233 3234 3236 3239 3240
3244 3250 3253 3255 3256 3259 3267 3274 3278 3279 3294 3296 3298 3301
3302 3310 3311 3312 3321 3322 3332 3333 3334 3335 3336 3337 3338 3341
3342 3343 3344 3345 3346 3347 3350 3351 3352 3353 3356 3357 3358 3359
3362 3363 3366 3367 3370 3371 3374 3375 3379 3383 3391 3393 3394 3395
3399 3411 3412 3414 3418 3420 3421 3423 3424 3425 3426 3429 3432 3437
3438 3441 3443 3446 3452 3456 3458 3459 3464 3465 3467 3468 3469 3471
3474 3475 3477 3482 3484 3487 3489 3491 3492 3493 3505 3507 3512 3515
3516 3525 3529 3530 3534 3547 3548 3551 3552 3553 3558 3559 3566 3567
3568 3571 3573 3575 3576 3577 3578 3581 3583 3584 3586 3587 3589 3594
3597 3598 3599 3602 3603 3604 3608 3615 3616 3619 3620 3624 3626 3629
3634 3636 3639 3641 3646 3649 3652 3654 3655 3660 3662 3663 3665 3666
3674 3720 3724 3726 3728 3729 3732 3735 3738 3741 3744 3745 3748 3752
3753 3754 3763 3765 3768 3769 3776 3778 3779 3783 3784 3791 3794 3797
3804 3805 3806 3809 3810 3813 3824 3825 3846 3847 3849 3852 3856 3857
3859 3860 3863 3882 3890 3891 3894 3895 3896 3897 3902 3907 3909 3910
3911 3919 3920 3922 3926 3928 3936 3938 3957 3958 3964 3988 3990 3993
3999 4007 4008 4009 4010 4017 4027 4029 4030 4032 4054 4068 4074 4075
4076 4078 4084 4088 4089 4090 4091 4093 4098 4101 4102 4103 4104 4105
4108 4112 4123 4125 4126 4128 4133 4136 4137 4147 4150 4152 4158 4159
4166 4171 4172 4174 4175 4177 4186 4187 4189 4191 4192 4194 4195 4198
4199 4202 4203 4208 4209 4211 4213 4218 4225 4228 4230 4241 4247 4249
4253 4254 4255 4256 4259 4260 4267 4268 4269 4271 4274 4278 4279 4281
4283 4284 4288 4292 4297 4301 4304 4313 4316 4333 4336 4337 4339 4340
4345 4347 4352 4353 4354 4358 4359 4360 4363 4389 4410 4411 4413 4422
4436 4437 4438 4440 4446 4448 4456 4457 4466 4467 4468 4485 4486 4488
4493 4496 4497 4500 4505 4506 4508 4509 4510 4511 4512 4519 4521 4524
4529 4534 4536 4548 4553 4556 4557 4562 4563 4570 4576 4577 4586 4588
4621 4626 4629 4652 4653 4654 4662 4665 4666 4667 4668 4669 4676 4678
4680 4681 4682 4684 4710 4711 4712 4719 4724 4727 4733 4734 4735 4736
4737 4753 4764 4766 4767 4771 4772 4783 4784 4785 4803 4804 4806 4808
4810 4813 4818 4821 4847 4851 4860 4866 4873 4888 4893 4894 4895 4896
4897 4903 4906 4907 4909 4910 4915 4921 4931 4938 4939 4942 4946 4947
4948 4950 4958 4965 4966 5033 5034 5036 5045 5046 5062 5064 5065 5066
5067 5068 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5086
5090 5092 5093 5094 5097 5100 5102 5103 5104 5105 5111 5117 5129 5131
5135 5136 5137 5140 5143 5147 5149 5151 5160 5177 5179 5191 5192 5193
5194 5195 5196 5212 5213 5214 5217 5219 5221 5224 5225 5227 5239 5240
5242 5246 5247 5249 5251 5253 5254 5255 5258 5261 5262 5264 5265 5268
5269 5277 5278 5279 5281 5290 5300 5305 5307 5312 5351 5352 5353 5354
5361 5362 5366 5368 5370 5371 5378 5393 5394 5415 5416 5457 5479 5480
5481 5490 5491 5492 5500 5503 5506 5507 5510 5514 5517 5547 5548 5550
5553 5560 5566 5567 5568 5584 5598 5599 5604 5625 5634 5635 5636 5637
5638 5639 5640 5641 5642 5649 5655 5658 5659 5661 5663 5664 5672 5674
5675 5679 5681 5682 5683 5685 5688 5689 5691 5692 5693 5694 5700 5702
5703 5704 5705 5706 5708 5714 5715 5716 5717 5719 5721 5722 5724 5725
5726 5727 5728 5729 5732 5734 5735 5736 5737 5739 5744 5746 5747 5748
5750 5752 5753 5755 5756 5758 5759 5760 5762 5765 5767 5770 5772 5773
5775 5776 5778 5779 5783 5785 5786 5787 5789 5791 5793 5795 5798 5800
5801 5803 5805 5806 5807 5808 5809 5810 5811 5813 5814 5816 5817 5818
5820 5821 5824 5826 5830 5831 5834 5837 5840 5842 5845 5851 5852 5853
5854 5855 5856 5857 5859 5862 5864 5865 5866 5867 5868 5869 5871 5872
5874 5875 5877 5880 5881 5885 5888 5890 5894 5898 5900 5901 5902 5903
5904 5906 5909 5910 5911 5912 5913 5914 5915 5916 5917 5919 5921 5922
5923 5925 5926 5928 5938 5940 5941 5942 5944 5946 5947 5948 5949 5951
5953 5954 5955 5956 5958 5960 5961 5962 5967 5970 5973 5974 5975 5977
5978 5979 5980 5982 5985 5986 5992 5995 6046 6048 6059 6060 6064 6067
6068 6069 6070 6072 6074 6076 6077 6078 6079 6080 6085 6087 6091 6092
6093 6096 6097 6110 6111 6112 6113 6120 6121 6125 6149 6161 6165 6166
6167 6181 6182 6183 6188 6197 6209 6210 6211 6212 6213 6214 6219 6220
6221 6222 6223 6227 6230 6231 6244 6249 6251 6253 6254 6261 6263 6268
6272 6273 6276 6277 6278 6282 6284 6285 6293 6298 6301 6302 6303 6304
6305 6400 6401 6403 6405 6406 6417 6418 6424 6426 6428 6430 6431 6438
6439 6440 6448 6450 6451 6452 6459 6461 6462 6463 6479 6480 6482 6483
6484 6485 6486 6487 6492 6494 6497 6498 6499 6500 6501 6506 6509 6514
6516 6521 6523 6525 6526 6529 6535 6536 6541 6555 6559 6596 6599 6601
6610 6611 6614 6617 6618 6620 6621 6622 6623 6640 6641 6660 6662 6663
6665 6669 6671 6675 6677 6678 6680 6699 6700 6702 6704 6706 6715 6716
6721 6722 6723 6724 6725 6726 6727 6745 6756 6757 6818 6819 6824 6825
6826 6828 6832 6833 6837 6840 6842 6843 6844 6845 6851 6853 6862 6864
6870 6871 6874 6878 6888 6917 6918 6924 6932 6937 6951 6952 6954 6955
6957 6958 6983 7021 7024 7026 7027 7034 7035 7036 7042 7043 7047 7048
7051 7052 7053 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485
7487 7488 7491 7492 7493 7494 7496 7497 7499 7500 7501 7502
AAGN 4525# 4546
AASCII 3382# 3755 7246
ABIND2 4665# 4671
ABIND3 4659 4672#
ABORT 5934 5943 5957 5963 5966#
ABS 4296# 7207
ACFLD 214# 521 577 590 659 672 1534 1535 1536 1537 1538 1596 1597 1598
1639 1674 1675 1676 1725 2481 5018 5115 5121
ACHLOC 6507#
ACONS 2951 3389# 4239 4244 7529
ADD1 4186# 7203
ADRFLD 217#
AEVAL 4569 4651#
AEVAL1 4635 4657#
AEVAL2 4632 4657 4683# 4683
AEVAL4 4638# 4644 4649
AEVAL5 4631# 4631 4634 4684
AEVAL6 4634# 4637 4639
AEVAL7 4629 4676#
AEVAL8 4633# 4685
AEXP 4699 4716#
AGC 382 504 3396 3490 5320 5323#
AIN.1 1744#
AIN.2 1530 1747# 7547
AIN.4 1532 1750# 6169 7547
AIN.7 459 1065 1416 1752# 6180 6998 7003 7547
AIN.8 1755# 6200 6975
AIOP 1455 1630 1744 1747 1750 1752 1758# 7551
ALIST 4626# 4651 4749 4790
ALLNM1 6745# 6745 6755# 6755 6766# 6766
ALLNUM 6423 6437 6447 6458 6745# 6751 6758 6768
ALLOC 7474# 7559
ALOK 6494 6506#
ALTMOD 203 2775 2889 6763 7037
ALVINE 95 348 349 844 945 1128 2981 2999 6015 6043 6407 7228 7230 7530
AMODE 5090# 5090 5171 5181
AND 3845# 7233
ANDOR 3849# 3861
AOEND 3850 3855 3863#
AOUT.2 1606 1746# 7547
AOUT.4 1608 1749# 7014
AOUT2 1596 1609 7011#
AOUT3 1601 1603 7012#
AP2 4745 4753#
AP3 4755# 4759
APBK1 4865 4877#
APBK2 4866# 4880
APFNG 4780# 4809
APFNG1 4748# 4748 4750 4781 4786 4792
APLBL 4811 4886#
APLBL1 4893 4900#
APP1 3779# 3786
APP2 3762# 3766
APPEND 3759# 7241 7527
APPL.2 4537 4711#
APPLY 4550 4745# 7241
APPLY. 4519# 7367
APRFLG 239# 344 789
APRINI 250# 345 790
APRINT 342 481#
AR1 122# 769 770 772 773 924 1019 1058 1066 1252 1259 1264 1265 1405
1406 1407 2221 2225 2232 2241 2273 2699 2799 2918 2945 2962 3138 3208
3214 3216 3226 3229 3247 3254 3777 3907 3960 3961 3962 3996 3999 4018
4093 4094 4095 4098 4137 4138 4141 4143 4145 4225 4229 4230 4253 4260
4430 4443 4449 4453 4455 4457 4553 4561 4565 4576 4608 4609 4610 4614
4617 4618 4619 4621 4640 4641 4645 4646 4647 4648 4668 4708 4717 4719
4724 4727 4729 4848 4849 4850 4851 4859 4860 4877 4878 4879 4890 4891
4914 4950 5080 5086 5087 5089 5105 5108 5137 5138 5150 5154 5156 5186
5200 5201 5202 5203 5373 5374 5376 5385 5386 6452 6502 6652 6653 6704
6972 7055
AR2A 123# 754 780 783 1938 1961 1971 2273 2958 2965 3204 3213 3225 3227
3228 3236 3242 3244 3250 4139 4140 4142 4143 4145 4226 4229 5061 5062
5066 5109 5140 5146 5155 5171 5172 5180 5182 5184 5185 5186 5187 5255
5387 5388 5389 5390 6463 6503 6637 6646 6660 6663 6667 6668 6673 6674
6675 6677 6678 6680 6681
ARG 4931# 7206
ARGP1 593# 4788
ARGPDL 590# 656 685 695 6969
ARRAY 5060# 7232 7527
ARRAYS 5060 5071# 5252
ARRB0 5113 5125# 5144
ARRB1 5128 5135#
ARRB2 5133 5137#
ARREND 5065# 5256
ARRERR 5058# 5149 5153
ARRY1 5092 5095 5101#
ARRY2 5113# 5123
ARRY3 5118 5143#
ARRY6 5158 5169#
ARRYS 5110 5144#
ASSOC 3511# 7200
ATMOV 351 369 394# 394 2297 5482 6594 6714 7514
ATOM 1272 1340 1344 2003 3008 3421# 3457 3582 3638 3640 6852 7200 7528
AVLB 179# 1531 1607
B 120# 121 410 461 466 540 542 545 599 606 619 621 622 731
732 736 737 738 752 753 763 827 831 835 861 872 880 881
1162 1163 1192 1197 1198 1200 1201 1202 1203 1206 1289 1290 1292 1305
1332 1365 1367 1373 1376 1377 1380 1390 1425 1427 1435 1473 1481 1487
1488 1489 1505 1541 1543 1564 1571 1572 1599 1600 1619 1620 1621 1623
1638 1651 1655 1664 1665 1670 1680 1681 1682 1690 1691 1707 1711 1714
1715 1716 1717 1722 1728 1729 1732 1733 1734 1735 1937 1939 1965 1975
1976 1999 2005 2006 2087 2103 2104 2112 2130 2138 2143 2145 2165 2170
2171 2172 2203 2204 2206 2243 2257 2260 2261 2262 2271 2272 2303 2305
2306 2310 2311 2312 2314 2326 2327 2330 2335 2362 2364 2365 2395 2397
2399 2401 2421 2422 2427 2432 2447 2449 2458 2459 2487 2495 2498 2499
2505 2507 2510 2517 2519 2522 2523 2534 2730 2742 2746 2758 2765 2767
2774 2775 2801 2802 2821 2829 2830 2837 2838 2848 2849 2866 2867 2872
2897 2900 2902 2904 2905 2907 2909 2934 2941 2945 2949 2961 2963 2975
2988 3012 3014 3015 3016 3027 3028 3059 3060 3080 3087 3091 3092 3109
3110 3111 3123 3131 3137 3139 3145 3147 3190 3210 3218 3219 3224 3226
3237 3238 3240 3258 3259 3261 3291 3293 3295 3298 3300 3301 3308 3319
3321 3322 3325 3387 3389 3390 3391 3393 3395 3399 3414 3415 3429 3432
3436 3444 3446 3447 3448 3450 3451 3456 3459 3471 3477 3501 3502 3503
3518 3527 3549 3556 3560 3581 3584 3587 3606 3614 3619 3620 3624 3625
3627 3634 3637 3639 3641 3650 3653 3656 3668 3717 3739 3761 3765 3773
3780 3782 3792 3793 3795 3798 3799 3804 3807 3869 3873 3875 3878 3879
3892 3900 3901 3927 3928 3929 3930 3932 3937 3938 3939 3940 3942 3959
3962 3963 3964 3989 3990 3998 4032 4033 4045 4061 4078 4079 4084 4085
4088 4095 4126 4130 4131 4150 4165 4170 4179 4181 4188 4196 4205 4211
4212 4226 4234 4237 4242 4250 4255 4257 4258 4270 4271 4276 4281 4284
4301 4308 4314 4318 4340 4348 4350 4366 4368 4369 4370 4371 4374 4380
4382 4383 4384 4385 4397 4403 4406 4407 4434 4455 4456 4476 4483 4484
4494 4509 4512 4529 4536 4549 4554 4561 4562 4565 4582 4583 4584 4585
4587 4658 4662 4665 4666 4671 4755 4756 4758 4763 4767 4774 4775 4777
4800 4801 4803 4813 4821 4823 4824 4825 4826 4833 4834 4837 4838 4840
4868 4874 4883 4884 4887 4888 4889 4890 4904 4908 4909 4922 4935 4941
4944 4952 4956 4961 4963 4969 5036 5082 5083 5098 5143 5164 5198 5208
5210 5218 5219 5221 5223 5230 5231 5232 5239 5296 5303 5310 5358 5372
5373 5458 5462 5465 5488 5515 5516 5546 5549 5552 5553 5560 5573 5575
5579 5580 5591 5592 5594 5596 5598 5602 5603 5604 5605 5624 5626 5630
5632 5635 5636 5637 5643 5644 5645 5650 5655 5656 5657 5658 5667 5668
5669 5670 5671 5697 5698 5699 5709 5710 5715 5731 5740 5741 5742 5743
5748 5749 5769 5782 5832 5833 5836 5838 5839 5844 5847 5848 5861 5884
5891 5892 5934 5936 5971 5983 5987 5990 5991 5992 6057 6058 6061 6062
6063 6073 6074 6075 6078 6089 6090 6092 6095 6119 6125 6127 6128 6133
6139 6208 6211 6214 6217 6218 6221 6224 6226 6228 6229 6235 6241 6242
6243 6244 6245 6246 6247 6252 6254 6255 6267 6268 6270 6272 6286 6288
6289 6290 6294 6506 6507 6508 6509 6511 6512 6513 6514 6515 6516 6542
6543 6544 6551 6552 6557 6559 6565 6569 6570 6571 6575 6582 6583 6584
6585 6587 6588 6589 6591 6592 6601 6602 6603 6604 6605 6606 6607 6608
6609 6616 6617 6618 6634 6635 6641 6718 6719 6720 6854 6855 6857 6858
6859 6863 6864 6868 6878 6880 6881 6882 6918 6919 6920 6922 6947 7004
7005 7015 7038 7039
BACTRF 1010# 1010 4864 6691 6692
BAKGAG 1010# 7204
BANGCK 6754 6760#
BCKETS 104 7037 7185 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206
7207 7208 7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232
7233 7234 7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248
7250 7259 7266 7267 7268 7269 7270 7271 7279 7280 7281 7282 7283 7284
7285 7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7304 7316
7321 7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348
7349 7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372
7373 7374 7384 7386 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412
7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426
7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440
7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454
7455 7458 7461 7462
BDEV 1527 6996#
BDEV1 1545 6997#
BELL 210# 6980
BFWS 7462# 7475 7477 7484
BHORG 7078 7467#
BIND 4019 4096 4670 4862 4892 4916 4938#
BIND1 4946 4955#
BIND2 4943# 4967
BIND3 4942# 4942 4958 4961 4965 4966 5331 6684
BINDNT 355 7374 7376#
BINER2 393 498#
BINLD 6123 6139#
BINPUT 1419#
BIOCHN 352 7372 7374#
BLKLS1 5227# 5241
BLKLST 5217# 7323
BLKSIZ 176# 1383
BNDERR 913# 4938 4940
BNINIT 1420 1496 1535 6995# 7534
BOOL1 5289 5294#
BOOLE 5275# 7241
BOOLG 5280 5282 5288#
BOOLI 5279 5283 7043#
BOOLL 5282# 5286
BOOTOK 455 460#
BOOTOT 451 456 474#
BOOTS 384 449#
BPMPT 353 7373 7375#
BPPNR 5065# 5065 5074 5077 5078 5082 5097 5107 5145
BPR 2403# 7522
BPSFLG 392# 392 498 6141
BSFLG 383# 383 449# 449 900
BSIZE 5101# 5101 5162 5167 5169
C 121# 756 758 759 760 761 762 763 766 784 785 891 892 893
934 1056 1060 1068 1364 1365 1367 1381 1386 1388 1389 1390 1502 1505
1517 1520 1522 1636 1637 1639 1644 1645 1647 1656 1657 1665 1712 1713
1715 1717 1940 1941 1942 1972 1978 1986 2001 2002 2005 2007 2008 2009
2121 2123 2125 2127 2242 2411 2416 2417 2423 2429 2431 2438 2440 2441
2442 2443 2454 2458 2463 2487 2505 2514 2520 2556 2557 2558 2796 2797
2798 2838 2846 2853 2864 2878 2879 2881 2883 2884 2885 2960 2962 2964
2965 2984 3025 3040 3046 3057 3066 3067 3079 3090 3092 3098 3099 3101
3102 3103 3104 3116 3117 3118 3119 3120 3134 3138 3139 3142 3155 3163
3170 3173 3177 3178 3179 3180 3182 3183 3237 3265 3266 3268 3271 3272
3273 3276 3441 3442 3498 3560 3561 3564 3565 3600 3606 3612 3625 3628
3633 3643 3667 3669 3673 3770 3771 3773 3777 3783 3784 3806 3807 3809
3847 3848 3849 3850 3851 3853 3854 3870 3880 3982 3983 3986 3991 4047
4063 4165 4170 4181 4190 4197 4201 4207 4214 4310 4330 4351 4376 4392
4435 4447 4448 4458 4630 4631 4633 4634 4636 4638 4640 4643 4756 4757
4798 4799 4800 4816 4817 4818 4834 4882 4891 4894 4903 4908 4918 4919
5084 5091 5093 5096 5101 5103 5174 5177 5179 5191 5194 5205 5226 5241
5266 5268 5281 5303 5305 5307 5310 5312 5355 5357 5359 5361 5392 5408
5418 5488 5489 5543 5544 5545 5547 5574 5575 5577 5578 5584 5646 5651
5768 5781 5843 5860 5883 5988 5989 6124 6126 6129 6130 6131 6132 6133
6135 6139 6140 6143 6144 6225 6227 6228 6232 6264 6265 6269 6270 6414
6415 6545 6610 6636 6637 6639 6640 6748 6749 6752 6753 6757 6760 6761
6763 6851 6853 6860 6867 6889 6904 6921 7043
C1GCS 5457 6555 6556 6557 7063#
C2 360# 360 802 6609 6611 6896# 6896 6897# 6897
C2GC 5389 6588 7055#
C2GCS 5458 6585 7064#
C3GC 6569 6583 7047 7056#
C3GCS 5448 6574 6575 6726 7065#
CAAAAR 3363# 7198
CAAADR 3362# 7198
CAAAR 3353# 3364 7197
CAADAR 3351# 7198
CAADDR 3350# 7198
CAADR 3352# 7197
CAAR 3337# 3354 7196
CADAAR 3375# 7198
CADADR 3374# 7198
CADAR 2134 2320 3335# 3376 7197 7514
CADDAR 3333# 7198
CADDDR 3332# 7198
CADDR 3334# 7197
CADR 3336# 3550 3609 4086 5259 7197
CAR 2701 3083 3338# 7196
CDAAAR 3371# 7198
CDAADR 3370# 7199
CDAAR 3359# 3372 7197
CDADAR 3357# 7199
CDADDR 3356# 7199
CDADR 3358# 7197
CDAR 3346# 3360 7197
CDDAAR 3367# 7199
CDDADR 3366# 7199
CDDAR 3344# 3368 7197
CDDDAR 3342# 7199
CDDDDR 3341# 7199
CDDDR 3343# 7197
CDDR 3345# 7197
CDR 3347# 4323 7196
CEV 862#
CEVAL 3900 7214#
CHANNE 1391# 1391 1409 1472 1483 1516 1519 1533 1595 7547
CHCT 1173 1191 1200 1203 1206 1213 1217 1714 1735 5692 5808 5880 5901 6989#
7524
CHDAT 195# 1543 1600
CHDEV 184# 1520
CHHP 200# 1715 1734
CHKGO 1943 2010 2335#
CHLL 199# 1713 1717 1732 1741
CHNAM 183# 1365 1367 1390
CHNSUB 1342# 1404 1586 7548
CHOCH 186# 1657 1665 1690 1703
CHPPN 185# 1522
CHRCT 1217# 7201 7524
CHRTAB 2447 2451 2584 2585 2586 2587 3294 3301 3322 3325 7034 7035 7036 7037#
7530
CHRVAL 3308# 3320 3588 7361
CHTAB 1060 1061 1364 1388 1389 1399 1400 1401 1517 1541 1542 1599 1644 1645
1647 1677 1696 1727 6994# 7054 7548
CILIST 684 4720#
CLRBLK 1970 2211 2325#
CLRSPD 6878# 6923
CNIL2 371 374 749 7260#
CNTLB 244# 324
CNTLE 243# 320
CNTLG 246# 333
CNTLH 242# 317
CNTLR 247# 311
CNTLZ 245# 330
CNVPPN 1313 1493 1508#
COMMEN 1024 2788# 2790 2804 2832 2843 2860 3020 3054
COMP2 4215 4216 4218#
COMP3 3670 3671 3673#
CON2 4101# 4108
CONCOR 1928 2246 2310#
COND 4102# 7228
COND2 4110# 4118 4160 4869 4875 4923
CONS 607 862 3081 3392# 3781 4539 4566 4960 4962 5099 5211 7199 7529
CONSP 3411# 7361
CONSVA 901 3392 5510# 5510
COPIES 2018 7326# 7516
CORE 255# 2314 6048 6135 6247 6273 6952
CORUSE 1397# 1397 2303 2311 6057 6126 6243 6252 6253 7514
COUNT 176 197# 1678 1730
CPOPJ 1273 1318 1320 1337 1637 1695 2444 2974 3227 3238 3411 3451 3458 3502
3513# 3517 3583 3741 3797 4102 4111 4136 4173 4189 4195 4213 4508 4578
4877 4881 5292 6917 6932
CPOPJ1 3129 3508#
CPU 2019 7326#
CQUOTE 599 7247#
CR 208# 1171 1205 2470 2717 2899
CSET1 3613 3619#
CSET2 3601 3611#
CSET3 3598# 3603
CSW 5628# 5628 5712 5999
CSYM 3890# 7233
CTY 2352 2368 2374 2377 2378 2380 2409 2419 2452 2476# 2491 2502 7529
CURBUC 3079# 3079 3123 3261
CUT 5640# 5640 5710
D 128# 559 560 1384 2307 3548 3549 3551 3972 3973 3974 3975 3977 3978
4222 4224 4227 4761 4784 4789 4791 4841 4842 4850 5111 5112 5115 5117
5120 5121 5123 5416 5417 5419 5423 5435 5437 5448 6065 6077 6079 6082
6084 6091 6093 6096 6100 6101 6108 6109 6114 6115 6117 6149 6161 6165
6167 6168 6179 6182 6183 6184 6188 6197 6198 6243 6252 6253 6671 6672
6673 6682 6683 6901 6902 6903 6905 6906 6907 6908 7059 7061
D1 5982# 5995
D2 5973 5997#
DBLQT 211# 2445 2464 2851
DDT 305# 319 7499
DDTIFG 1119 1229 6728 6990#
DDTIN 1229# 7207
DEBUGO 308# 315 336 2298 6957 7514
DEFPRO 3623# 7233
DELCLS 2598# 2822
DELERR 1455# 1466
DELET1 1461# 1470
DELET2 1462 1467#
DELETE 1459# 7324
DEPOSI 5303# 7205
DEPTH 5631 5970# 5984
DEV 1298 1302 1307 1410 1486 1521 1526 1590 1602 2173 2181 6299 6302 7001#
7004 7015 7514
DEV1 1544 7002#
DEVCHK 1288# 1303 1935 1998
DEVCHR 253# 1528 1604
DEVCLR 1375 1381 1389#
DEVDAT 1297# 1297 1438 1440 1468 1492 1758 7548
DIFPAR 1915# 1959 1978
DIRB 180#
DISP 2022 7326#
DIVIDE 4308# 4322 7202
DOSET 4049 4065 6901# 6909
DOTAB 2830 2832#
DOTERR 922# 2759 2764 2768
DOTFLD 2583# 2829
ECHO 1094# 7239
EE1 4598 4607#
EE2 4604 4690# 4705
EELS 3906# 4697
EFM 4703 4740#
EFS 4701 4723#
EFWS 7463# 7477 7487
EFWSO 6699 6727# 6727 7488# 7488
EG1 939# 4051
EG2 941# 4043
EG3 943# 4059
ENDHI 7029#
ENTR 1592 1593 1594 1631 7011# 7016 7548
EPRINT 549 911 913 916 919 925 927 935 937 939 941 1759 2343# 4262
4594 5561
EQ 3432# 7200
EQ2 3646 3659#
EQUAL 3633# 3796 7201 7523
EQUAL1 3634# 3651 3657
EQUAL3 3642 3646#
EQUAL4 3643# 3652 3662 3665 3675
ERINT 305 326 356# 356 4591# 4591 4593# 4593
ERR 323 475 855 857 866# 1075 1497 7205 7527
ERR1 872# 898
ERR2 869# 883
ERRBK 810 843#
ERRCH 1111# 7321
ERRCHR 1112 1126 6980#
ERREND 806 818 820 824 833 849# 5043
ERRIO 731# 807 812 821 836 2345
ERRO2B 763# 786
ERRO2C 767# 776
ERRO2G 757 768 782 785#
ERRO2H 771 774 778#
ERROR 518 789#
ERROR1 796 805#
ERROR2 798 826#
ERRORB 712# 717 720
ERRORG 797 800#
ERRORX 860 867 881 7344#
ERRP4 877 4070#
ERRPTR 711# 711 712
ERRSET 471 885# 7232 7527
ERRSUB 709# 809 813
ERRSW 357 731 805 819 832 856 874 880 888 893 2343 6906 6970#
ERRTAB 795 796#
ERRTN 358# 358 800 869 871 875 887 890 6901 6907
ERSUB2 828 832#
ERSUB3 747# 842 5042
ESB 4695 4727#
ESB1 4732# 4835
EV3 4553# 4691
EV5 4608# 4616
EVAL 397 863 895 2993 3858 3915 4037 4080 4087 4106 4114 4116 4540 4571#
4655 4742 4814 5088 5260 5263 6921 7216 7530
EVALAT 466 7245#
EVALV 6851# 7350
EVALV1 6855# 6858 6863
EVBIG 4614# 7521
EXAMIN 5299# 7205
EXARRA 5246# 7233
EXCISE 474 903 6042# 7207
EXIT 254#
EXIT1 5940 5950 5964#
EXP 2590# 3044 3184 3203
EXP2 4721#
EXP3 4605 4718#
EXPA1 4168 4171# 4176
EXPAND 4165# 7280
EXPCOR 2200 2307#
EXPFLD 2585# 3059
EXPL1 2700 4429 4434#
EXPL2 4439 4443#
EXPL4 4441 4454#
EXPLOD 4429# 7200 7523
EXPN1 4170# 7279
EXPND2 6245 6252#
EXPR 533 4541 4698 4827 7384#
EXPTAB 3054# 3060
EXT 1324 1334 1464 1485 1539 2183 7011# 7518
F 131# 381 502 3394 3398 4505 4506 4510 4511 5345 5370 5377 5378 5431
5432 5447 5462 5476 6489 6490 6491 6492 6493 6546 6634 6639 6642 6646
6647 6662 6665 6666 6728
FALSE 1099 1107 1159 1369 2247 2750 2780 3253 3413 3415 3427 3430 3434 3482
3512# 3532 3556 3574 3580 3586 3590 3644 3719 3745 3754 3760 3792 3805
4129 4146 4212 4219 4288 4305 4507 5321 5582 5606 6008 6263 6306 6841
6888 7007 7363 7364 7365 7366 7522
FCP 2517 2519 2556#
FEXPR 535 4532 4704 7384#
FF 132# 3488 3492 3493 5347 5465 5477 5487 5490 5491 6645 6647 6686 6688
6690 6692 6694 6696 6706
FIL 1328# 1335
FILARE 2160 2180 2196# 2229
FILDEF 2201 2209#
FILECH 2111 2119 2158#
FILPAR 1916# 1919 2197 2199 2204 2210 2234
FIX 4274# 7203 7525
FIX1 3440 3442 4284#
FIX1A 1113 3303 3313 3323 3326 4235 4285 4315 4317 4338 4352# 4378 4423 4765
4773 5035 5184 5297 5301 5313 5504 5508 5511 5585 7299 7526
FIX1B 4241# 4355
FIX2 4282# 7521
FIXI 1016# 1169 1215 1218
FIXNUM 2399 3190 3577 4242 4250 4257 4361 4365 4371 4403 4407 4612 6286 6294
7266 7267 7268 7269 7270 7295 7297 7299 7301 7309 7384# 7557
FIXOV 3241 4282 4325# 4377
FLAT1 4420 4422# 4422 4424
FLAT2 4419 4424#
FLATLE 5673 5701 5733 5751 5934#
FLATSI 4419# 5745 5777 5959 7205 7524
FLO1A 4236# 4394 5182
FLOAT 3198 3205 3207 4267# 4399 4412
FLONUM 2401 3219 3578 4234 4237 4258 4276 4385 4387 4397 4408 4611 7384# 7557
FLOOV 3221 4327# 4393 7521
FLOSUB 3209 3217 3224# 3229
FLTYIA 2917# 2924 2926 2930 7534
FORMS 2020 7326#
FP1 2488 2492#
FP3 2489 2497# 2524
FP3A 2507# 2511
FP4 2493 2495 2514#
FP4A 2516# 2520
FP4C 2523 2527# 2527
FP7 2501 2531# 2536
FP7A1 2435 2531 2535 2538# 7529
FP7B 2509 2539#
FPTEM 2500# 2500 2504 2533
FREE 4505# 7362
FREELI 4508# 4513 7362
FS 5567 5591 6480 6542 7050 7057 7084# 7475 7482 7491
FSMOVE 6439# 6439 6499 6599 6645 6715
FSO 6430# 6430 6440# 6440 6501 6562 6576 7483
FSTCH 174# 1363 1399 1400 1401 6994 7054
FSUBR 529 773 4528 4700 7223 7226 7228 7232 7233 7234 7240 7247 7324 7327
7346 7363 7364 7365 7366 7384#
FT 2548# 2557 3214
FT0 2555# 2556 2558
FT01 2492 2554# 3208 3216
FT8 2494 2544#
FUNARG 4777 4808 7384#
FUNCT 4771# 7240
FW0CNS 3487# 7522
FWC0 3489# 3489 3491
FWC1 3488 3492#
FWCONS 2967 3158 3384 3488# 3883 4238 4243 7522
FWSO 3438 3448 3810 5568 5592 6636# 6636 6653 6702 6725 7485# 7485
GAPP 4523 4525 4542 4544 4547#
GC 5320# 7204 7526
GC1 5359# 5392
GCBT 5373 5400#
GCBTL1 6580 7058#
GCBTL2 6578 7060#
GCBTP1 5376 6566 7051#
GCBTP2 5374 6567 7052#
GCD 4330# 7202
GCD2 4331 4333#
GCD3 4336# 4341
GCEND 5367 5375 5391#
GCEXIT 5472 5476#
GCFLG 308# 308 346 5323 5471 5474 5475 5535 6943
GCGAG 5500# 7201
GCGAGV 5343 5460 5500# 5500 6693 6694
GCING 309 5532# 6944
GCMFW 5369 5385#
GCMFWS 5385 6554 7053#
GCMKL 5098 5100 5210 5212 5330 5413 6669 6672 7054#
GCP 5362# 5362 6571
GCP1 573 2390 3418 3424 5368# 5368 6551 6635 6652 6724
GCP2 6570 7046#
GCP3 5355# 5355 6602
GCP4 5335 6605 7044#
GCP41 6607 7045#
GCP5 6591 7048#
GCP5A 5344 5350#
GCP6 5334 5404#
GCP6A 5406 5413#
GCP6B 5356# 5409 5421
GCP6C 5405# 5411
GCP6D 5414# 5425
GCP6E 5417# 5423
GCPI 5362# 5379 5395
GCPK1 5325# 5470
GCPK2 5334# 5470
GCPNT 5463 5466 5513#
GCPP1 572 2391 3420 5366 7050#
GCRET1 5343# 7049
GCS0 5459 5487#
GCS1 5488# 5492
GCS2 5489 5492#
GCSP1 5468# 5468 6604
GCSPI1 5461 5468#
GCSWP 5414 5445#
GCTIM 902 5354# 5354 5481 5503
GCTIME 5503# 7204
GENSY1 3877 3882#
GENSY2 3873# 3880
GENSYM 1439 3869# 7202 7525
GET 543 2989 3088 3132 3309 3544# 3740 3893 4132 4134 4495 4555 4905 4945
6869 7201 7525
GET1 3548# 3553
GETHGH 6946 6950#
GETL 3556# 7204 7526
GETL0 3559# 3568
GETL1 3561# 3565
GETSEG 257# 6955 7021 7027
GETSYM 5248 5564 5572# 7290
GETV 6856 6867#
GETV1 6867 6871#
GFSP1 5429# 5437 7061
GFSPR 5440 5457# 7062
GFSWPP 5427# 5445
GNUM 3869 3882 3897 7040#
GO 4074# 4081 7232
GOBF 389# 389 391 754 756
GTBLK 5191# 5222 7321
HASH 97 377 6464 6776
HGHCOR 6261# 7362
HGHDAT 6301 6303 6305 6954 6960# 7026 7518
HGHEND 6293# 7362
HGHORG 6282# 7362
HIADDR 2257# 2257 7025
HIARGS 2256# 2256 7024
HVAL 6075# 6075 6100 6121
IAP1 4805 4823# 4832
IAP2 4824 4903#
IAP3 4843 4914#
IAP4 4761# 4857
IAP5 4769 4847#
IAP6 4830 4881#
IAP69 4858 4872#
IAPLMB 4807 4837#
IAPPLY 581 588 4714 4721 4755 4798# 4899
IAPXPR 4821# 4828
IDCLS 2595#
IDEND 2854 2985 3065# 3072
IDEND1 3066# 3068
IDFLD 2866 7036#
IDPTR 3104# 3104 3134 3152
IDSUB 2855 3075 3098# 3246
IDTAB 2860# 2867
IGCRLF 205# 1187 7032
IGEND 2789 7033#
IGSTRT 1022 7032# 7530
ILIST 679 3908# 4720 4731 5106
ILIST1 3910# 3922
ILIST2 3909 3923#
ILIST3 3917#
ILLMEM 501#
ILLNUM 4312 4328# 4332
ILLUUO 794 830#
ILP1A 4800# 4819
ILP1B 4818# 4822 4912
INAGN 6411# 6504
INALLC 6400# 7507
INB 177# 1529
INC 462 1653# 7207 7526
INC2 1655 1667 1668#
INC3 1683# 1704
INCH 1059 1653# 1653 1668 1673 1701 7544
INCNT 1072 1234 1650#
INFAIL 1416# 1421
INHERR 866 876# 876 879 882 897
ININBF 1498 1538 1573 7009# 7544
ININIT 454 458 1064 1415 1442 1461 1534 7000#
INITF 385 405# 405 5332 6685 6686
INITF1 402# 402 450# 450 5333 6687 6688
INITFL 402# 7324
INITFN 405# 7207
INITFW 6425# 6425 6449# 6449 6460# 6460 6510 6624 7504# 7504
INITOK 6999 7004#
INLOOK 1537 7006#
INLOW 6183 6184 7070#
INPPAR 1912# 1915 2225 2234
INPREQ 1951 1959#
INPUT 1414# 7228 7530
INPUT1 1404# 1414 1419
INPUT2 453 1408# 1441
INT1 752 3111 7037#
INTER0 2986 3075# 4450
INTER1 3076 3109# 3248
INTERN 2954 3244# 3257 3756 7201 7525
INTPRP 1153# 7345
INUM0 103# 354 732 1016 1111 1147 1149 1162 1167 1211 1503 1505 1509 1512
2135 2415 2417 3187 3321 3324 3589 3718 3724 4188 4196 4205 4241 4249
4308 4347 4350 4352 4374 4406 4440 4488 4914 4918 4926 5046 5067 5073
5076 5093 5135 5191 5193 5201 5206 5278 5310 5624 5746 5778 5960 6062
6139 6622 6878 7248 7376 7379 7380 7391 7392 7518 7554
INUMIN 102 103 2387 3412 3421 3465 3474 3571 4030 4076 4091 4186 4194 4247
4304 4345 4348 4353 4366 4380 4486 4519 4577 4599 4801 5094 5127 5172
5183 7518
INUMP 4304# 7322
INXTIO 1269# 1308 1329
IOBRST 1395# 6050 6729
IODEV2 1307#
IODEV3 1308# 1315
IOEND 1694# 1737
IOEXT 1311 1321#
IOFIL 1305 1309 1317#
IOFIL2 1317 1332#
IOPPN 1304 1309# 2176 7518
IOSEL 1474 1636# 1654 1710
IOSEL1 1639#
IOSELZ 1638 1647#
IOSUB 1297# 1524 1591 6300 7548
IOSUB1 1299 1303#
IPLMB1 4845# 4853
IPLMB2 4845 4857#
IPLMB3 4861 4864#
IPLMB4 4859# 4863
IRET1 1564# 7008
ISFILE 1423# 7330
ISPRIN 5649# 5771 5784 5846 5863 5886
ITTYRE 1669 1701#
ITYI 1015# 7214
ITYO 1167# 7213 7530
JOB41 221# 341
JOBAPR 222# 343 755 758 764
JOBCNI 223# 481
JOBFF 224# 1572 1623 2258 2262 2294
JOBHRL 232# 6269 6293
JOBOPC 231# 306 5473 5536
JOBREL 225# 1395 2305 6112 6113 6132 6217 6226 6246 6400 7496
JOBREN 226# 2269 2270 2299 6958 7022
JOBSA 227# 1396 6208 6218 6406 7497 7502
JOBSYM 228# 1398 5574 5600 5601 5603 6089 6095 6097 6099 6110 6111 6128 6129
6209 6212 6213 6219 6223 6224 6235 6242
JOBTPC 229# 483 501 503 505
JOBUUO 230# 488 493 496 516 519 521 524 541 548 553 571 577 590
659 672 678 681 687 698 710 791 826
JRELO 3099 3180 6046 6401# 6401 6403# 6403 6405# 6405 6479# 6479 6614# 6614 7505#
7505
KLDG1 3043 3172#
LABEL 4810 7384#
LAM 5684 5829#
LAMBDA 4806 5683 7384#
LAST 3446# 3453 3992 7203 7526
LBLAD 4895# 4895 4896 4900
LDFLG 6047# 6047 6082 6084 6410
LDPAR 6059# 6059 6122
LDRET2 6125# 6145
LENGTH 3436# 5220 7203 7525
LEX1 4135# 4149
LEX2 4125 4150#
LEXORD 4123# 7361
LF 207# 2472 2719 7033
LHLEN 1919# 1972
LIMIT 2021 7326#
LINEL1 1210 1214#
LINELE 1209# 7201
LINL 1198 1202 1212 1214 1716 1733 5634 5642 5644 5656 5667 5807 5900 5975
6988# 7524
LINP 2103 2143 2150#
LINPCH 2143#
LINRD 2871# 2906 7237
LISP1 394# 400
LISPGO 6943# 7501
LIST 3900# 7226 7527
LISTAT 7226# 7518
LITATO 3456# 3727 7208
LNGTH1 3437# 3444
LOAD 6057# 7202
LOAD2 6060 6063#
LOAD3 6083 6099#
LODSIZ 6070# 6070 6115 6117
LOOKIN 1463 1525 1540 6994 7006 7011# 7011 7549
LOWLEN 1917#
LOWLSP 6072# 6072 6114 6118
LPIG 2886 2893#
LPROG 5439# 5446
LPTLL 170# 1619 1620
LR1 2885 2886#
LREND 2883 2892 2902#
LRMORE 2874 2882 2888 2891 2894 2904#
LRTY 2876# 2898 2901 2910
LRTY1 2880 2887 2890 2909#
LSH 5310# 7205
LSPEDT 9# 77
LSPMIN 8# 77
LSPRET 329 332 409# 870 7346 7529
LSPRMP 364# 364 1154 1155# 1155
LSPRT1 352# 412
LSPVER 7# 77
LSPWHO 6# 77
LST 6197 6198 7076#
LSUBR 531 770 4545 4696 4829 7219 7221 7241 7245 7384#
M 5627# 5627 5632 5935 5941 5949 5955 5961 5977 5978
MACRO 4538 4702 7384#
MAKID 2862 3071#
MAKID1 3125 3129#
MAKID2 3079# 3251
MAKID3 3127# 3135 3140 3143
MAKID4 3131#
MAKID5 3135# 3142
MAKNAM 4462# 7202 7525
MAKNUM 3193 4233# 4294 5308 6287 6295 7199 7523
MAP 3954# 7219
MAPC 3952# 7219
MAPCAN 3951# 7219 7221
MAPCAR 3904 3953# 7219 7527
MAPCON 3949# 7219
MAPL2 3969# 3984 3988 3994
MAPLIS 3950 3956# 7219 7526
MCEXIT 3295 3302#
MEMB 3804# 7348
MEMB0 3791# 3823
MEMB1 3792# 3800
MEMBER 3821# 7201
MEMBR. 3823#
MEMQ 3802# 3813 7204 7554
MES21 484 488#
MINSGN 2593# 3035 3191
MINUS 4291# 4298 7196
MINUSP 4287# 7206
MK10 5576 5584#
MK3 5547# 5554
MK7 5575# 5578 5581
MKNAM2 4468 4476#
MKNAM3 4467 4470 4479# 4479 4484 4501 5329
MKNAM4 4489# 4498 4502
MKNAM5 4487 4493#
MKNAM6 4480 4500#
MLIOB 171# 176
MODCHR 3291# 7361
MORCOR 1385 2308 6071 6088 6241# 7518
MOVDWN 2313 6134 6208# 7518
MOVS1 6210 6220 6235#
MOVSYM 6217# 6250
MPDN 3973 3996#
MPL3 3972# 3980
MPV 237# 239 482
MYPPN 1491 1500# 7323 7534
N 5936# 5936 5942 5956 5962
NA 5941# 5953
NACS 135# 610 4732 5469
NAME 6079 6091 6093 6096 6149 6165 6179 6181 6188 7070 7072#
NBYTES 5104# 5104 5154 5157
NCONC 3758# 7241 7528
NCONS 464 465 468 598 896 1426 1504 2903 2948 2973 2991 3010 3153 3159
3385 3386 3390# 3884 3987 4178 4454 7206 7522
NEQ 3429# 7361
NEWHI 2245 2254#
NEWHI1 2276 7021#
NEXP 2591# 3049 3215
NEXTEV 6837# 6887 6916 6931 7348
NIL 118# 322 484 749 861 1132 1650 3437 3447 3464 3512 4029 4075 4159
4866 4873 4921 5447 5837 5894 5967 7264 7271 7374 7375
NILPRP 375# 375
NIOB 172# 176 7009 7019
NIOCH 173# 1363 1401 6994 7054
NOALIN 6411# 6411 6416# 6416 6420 6434 6444 6455 6746# 6746 6764# 6764
NOINFG 2703 2714 2722# 2722 2925 2952 3073 4463 7530
NOINTR 2854# 3074
NOLIST 931# 4466
NONNUM 929# 4263 4265
NONUSE 84 3416 3417 3789 3802 3821 3828 3864 7189
NOPNAM 930# 3089 3133 3894
NOQUE 1936 1937 1941 1961#
NOT 3461 3481# 4155 7202
NOUUO 619# 7206
NOUUOF 623# 623 6689 6690
NOWRT 6261 6276#
NQS 1920# 1940
NSTR 5265# 7301
NSWS 1781# 2007
NTH1 3742# 3747
NTH2 3743 3748#
NTH3 3722 3726#
NTH4 3728 3737#
NTH5 3730 3734#
NTH6 3733 3755#
NTHCHA 3717# 7208
NULL 3482# 7202
NUM 3188 3234#
NUM1 3234 3239# 3239 7522
NUM10 3195 3201 3212 3233#
NUM2 3237# 3242
NUM3 3241# 7522
NUMAG1 4248 4253#
NUMAK 3022 3031 3056 3168#
NUMAK2 3185 3195#
NUMAK3 3200 3212#
NUMAK4 3189# 3204
NUMAK6 3191# 3222
NUMBER 3460 3571# 3585 3661 3664 4124 4127 4151 4627 7201
NUMBP2 3580# 7521
NUMCLS 2597# 3169
NUMFLD 2584# 3027
NUMTAB 3020# 3028
NUMTYP 4300# 7322
NUMV2 4262# 7521
NUMV3 4265# 4388 4398 4404 4409 7521
NUMV4 4260# 7521
NUMVAL 3292 3299 3382 3480 4247# 4275 4287 4300 4677 5250 5267 5291 5299 5304
5306 5311 5565 6006 6262 6283 7307 7309 7526
NUMVLX 4246# 4291 4296
NXM 238# 239 482
NXTIO 1269 1271# 1288 2175 7519
OBLIST 7183# 7378
OBTBL 313 6596 7038 7039 7182#
OCR 6477#
OEVAL 4569# 7245 7530
OFSO 6431# 6431 6667 6700
OLDCH 922 1027 1106 1163 1664 1691 2705 2706# 2706 2710 2769 2774 2776 2779
2819 2875 2877 3042 3071 3168 4464 4465 4473 6979# 7524
OLDCU 2306 2310 6058# 6058 6109 6144 7519
OLDHI 2268 7026#
OLDNIL 82# 371 372 749 750 3542 3545 3557 3594 3595 5229 5235 5327 6717
OP 3669 4190 4197 4201 4207 4214 4310 4330 4345#
OPA1 4346 4358#
OPA2 4349 4364#
OPA5 4372 4396#
OPA6 4362 4380#
OPB2 4367 4374#
OPB3 4386 4402#
OPB7 4381 4406#
OPFLD 216# 516 791 5279
OPOV 4293 4377# 7521
OPR 4391# 4400 4414 7521
OR 3847# 7232
ORET1 1619# 7018
ORGSGN 2820 2827 3036# 3036 3172 3721 3725 3732 3734 3735 3737
ORGSTK 2798# 2798 3040 3170
OSFWS 6418# 6418 6497 6546
OTTYRE 1720 1739#
OUT 5976 5993 5999#
OUTALC 6402 6728#
OUTB 178# 1605
OUTC 1709# 7207 7526
OUTC2 1711 1718 1719#
OUTC3 1732# 1742
OUTCH 1709# 1709 1719 1726 1739 7549
OUTCHK 2098 2102 2106#
OUTCNT 1233 1706#
OUTENT 1597 7016#
OUTERR 1630# 7017 7549
OUTOBF 1598 1624 7019#
OUTPAR 1913# 1914 1915 1964 2221
OUTPR1 1914# 1919
OUTPUT 1586# 7228 7530
OUTREQ 1952 1953 1954 1955 1956 1958#
OUTRET 723# 814 848 2347
OUTVAL 6887# 7350
P 130# 166 309 327 328 360 366 370 382 387 388 396 397 398
399 403 406 409 411 415 453 454 457 458 462 464 465 467
468 469 470 471 474 489 504 539 540 543 545 546 549 554
557 579 580 586 594 598 604 605 606 607 611 612 613 614
615 616 624 655 660 664 676 677 678 681 682 689 694 699
702 714 716 719 725 726 727 728 734 739 755 764 800 801
802 807 808 809 812 813 814 821 822 823 834 835 836 837
838 839 841 842 848 858 862 871 872 873 874 875 885 886
887 888 889 890 895 896 911 913 916 919 925 927 935 937
939 941 1011 1015 1017 1020 1023 1024 1036 1055 1056 1057 1058 1063
1064 1066 1067 1068 1069 1072 1127 1142 1150 1156 1164 1168 1186 1188
1189 1190 1192 1197 1226 1230 1233 1238 1254 1256 1260 1266 1272 1281
1288 1293 1303 1308 1310 1313 1319 1323 1327 1328 1329 1333 1344 1347
1353 1368 1374 1376 1378 1380 1382 1385 1387 1392 1404 1406 1407 1408
1414 1415 1419 1420 1424 1426 1427 1428 1429 1430 1431 1432 1433 1435
1436 1439 1441 1444 1446 1449 1455 1456 1459 1461 1469 1472 1474 1480
1482 1491 1493 1495 1496 1498 1504 1513 1524 1546 1586 1587 1589 1591
1630 1636 1646 1648 1653 1654 1671 1694 1699 1709 1710 1723 1744 1747
1750 1752 1926 1928 1935 1965 1967 1970 1975 1998 2003 2099 2120 2134
2136 2137 2159 2175 2176 2177 2180 2188 2200 2208 2211 2216 2229 2245
2246 2254 2258 2266 2267 2293 2294 2295 2300 2313 2316 2320 2331 2344
2345 2346 2350 2351 2353 2357 2358 2361 2366 2369 2370 2371 2373 2375
2379 2383 2386 2410 2422 2426 2432 2434 2439 2453 2456 2462 2467 2469
2471 2473 2480 2482 2483 2501 2509 2512 2521 2524 2526 2529 2530 2534
2536 2538 2698 2700 2704 2705 2709 2710 2711 2712 2718 2720 2721 2723
2724 2726 2728 2729 2740 2744 2745 2746 2749 2751 2754 2756 2757 2761
2762 2763 2773 2777 2783 2788 2791 2800 2804 2808 2823 2824 2828 2832
2843 2847 2854 2855 2860 2863 2865 2871 2876 2905 2906 2907 2921 2924
2926 2927 2929 2930 2932 2934 2947 2948 2950 2951 2953 2957 2967 2968
2972 2973 2975 2985 2986 2989 2991 2992 2993 2994 2995 3002 3008 3010
3017 3020 3026 3047 3054 3058 3069 3072 3075 3076 3077 3078 3081 3088
3095 3105 3116 3120 3132 3148 3153 3158 3159 3174 3188 3195 3198 3201
3205 3207 3209 3212 3217 3245 3246 3248 3249 3255 3257 3258 3278 3291
3292 3293 3296 3299 3300 3309 3320 3339 3348 3380 3382 3384 3385 3386
3388 3396 3400 3417 3449 3457 3460 3472 3478 3480 3485 3490 3494 3497
3499 3508 3509 3511 3513 3520 3522 3554 3563 3569 3582 3585 3588 3605
3607 3621 3629 3630 3633 3638 3640 3643 3647 3648 3651 3653 3654 3659
3661 3664 3666 3667 3673 3720 3723 3726 3727 3729 3731 3736 3738 3740
3755 3761 3763 3764 3774 3780 3781 3782 3796 3808 3814 3823 3826 3848
3851 3853 3856 3858 3859 3863 3868 3883 3884 3891 3893 3901 3902 3910
3912 3913 3914 3915 3916 3917 3919 3926 3930 3931 3932 3936 3940 3941
3942 3945 3959 3963 3965 3966 3967 3969 3970 3976 3982 3987 3989 3992
3993 3996 3997 3998 4000 4005 4006 4019 4023 4036 4037 4038 4044 4045
4046 4047 4049 4060 4061 4062 4063 4065 4069 4070 4071 4072 4080 4085
4086 4087 4089 4096 4099 4103 4106 4107 4115 4116 4117 4124 4127 4132
4134 4151 4154 4167 4174 4176 4177 4178 4179 4180 4227 4231 4238 4243
4251 4261 4262 4272 4274 4275 4283 4287 4291 4296 4300 4302 4306 4314
4315 4316 4317 4318 4322 4356 4399 4412 4421 4425 4431 4434 4435 4443
4444 4445 4450 4451 4452 4453 4454 4458 4464 4469 4473 4474 4476 4477
4478 4489 4490 4495 4535 4539 4548 4549 4555 4566 4570 4571 4572 4573
4574 4582 4583 4587 4594 4613 4622 4626 4627 4651 4652 4654 4658 4663
4670 4673 4676 4677 4709 4712 4718 4730 4733 4734 4735 4736 4737 4738
4749 4752 4753 4757 4763 4765 4766 4771 4773 4774 4776 4787 4789 4790
4791 4799 4812 4814 4815 4817 4849 4859 4862 4869 4872 4879 4892 4900
4905 4916 4917 4923 4925 4926 4928 4932 4941 4945 4952 4953 4960 4962
4964 4970 4979 4985 4990 5033 5035 5039 5041 5042 5047 5048 5049 5050
5051 5053 5054 5060 5069 5071 5079 5085 5087 5088 5089 5099 5113 5125
5126 5141 5144 5180 5188 5209 5211 5217 5220 5222 5223 5224 5246 5248
5250 5251 5252 5253 5258 5259 5260 5261 5263 5264 5265 5267 5269 5270
5276 5280 5282 5288 5291 5295 5296 5299 5304 5306 5311 5320 5325 5326
5328 5329 5330 5331 5332 5333 5334 5356 5357 5360 5377 5391 5393 5407
5408 5409 5410 5417 5418 5419 5420 5421 5422 5459 5463 5466 5470 5473
5474 5485 5493 5501 5535 5542 5551 5561 5564 5565 5570 5572 5596 5597
5605 5625 5626 5629 5631 5641 5645 5649 5650 5651 5652 5653 5654 5659
5660 5661 5662 5664 5665 5668 5670 5671 5672 5673 5676 5677 5678 5679
5680 5682 5687 5689 5690 5691 5693 5697 5700 5701 5703 5704 5705 5707
5709 5714 5717 5719 5720 5722 5723 5724 5725 5726 5727 5729 5731 5732
5733 5735 5736 5738 5740 5742 5744 5745 5747 5749 5750 5751 5753 5754
5756 5757 5758 5759 5760 5762 5763 5765 5766 5769 5770 5771 5772 5773
5775 5777 5779 5780 5781 5782 5783 5784 5785 5788 5790 5792 5793 5794
5796 5798 5799 5801 5802 5804 5805 5806 5810 5811 5812 5814 5815 5816
5817 5819 5821 5822 5824 5825 5826 5827 5829 5830 5831 5832 5833 5835
5839 5840 5841 5844 5845 5846 5847 5848 5850 5851 5852 5853 5854 5856
5857 5858 5861 5862 5863 5864 5866 5867 5868 5870 5872 5873 5875 5876
5877 5878 5881 5882 5884 5885 5886 5888 5889 5891 5892 5895 5896 5898
5899 5903 5904 5906 5908 5910 5916 5917 5920 5921 5922 5925 5926 5929
5931 5932 5937 5938 5939 5944 5945 5946 5947 5951 5952 5958 5959 5964
5965 5966 5968 5970 5971 5972 5974 5979 5980 5981 5982 5983 5984 5985
5986 5987 5988 5991 5994 5996 5997 5998 6000 6001 6006 6007 6066 6068
6071 6073 6081 6086 6088 6094 6134 6189 6202 6215 6225 6232 6233 6236
6241 6249 6250 6251 6255 6256 6262 6283 6284 6287 6288 6291 6300 6820
6829 6834 6846 6852 6865 6869 6872 6875 6887 6889 6895 6898 6900 6903
6916 6922 6923 6924 6931 6938 6944 6948 6984
PA3 885 4005# 4005 4023 4042 4044 4058 4060 4071 5011 5325
PA4 886 4006# 4006 4009 4010 4025 4034 4050 4070 5010 5326
PATCH 5608#
PATOM 2366 2375 3418# 5662 5680 5687 5707 5720 5738 5754 5766 5799 5812 5819
5835 5841 5858 5870 5873 5889 5939 5952 5972 5994 7200 7525
PDLARG 610# 652 670 680 4747 4751 4782
PDOV 236# 239 495
PG1 4025# 4031 4033 4040 4055
PG4 4026 4066 4068#
PG5 4051# 4056
PG7A 4017# 4021
PG7B 4015 4021#
PGO 4042# 4077 4079
PJUBND 4975 4979#
PNAMAK 2856 3078 3152#
PNAMB 3156# 3162
PNAME 2397 2949 3087 3131 3308 3387 3739 3892 4131 4494 7196 7197 7198 7199
7200 7201 7202 7203 7204 7205 7206 7207 7208 7211 7212 7213 7214 7216
7219 7221 7223 7226 7228 7231 7232 7233 7234 7235 7236 7237 7238 7239
7240 7241 7244 7245 7246 7247 7248 7254 7262 7266 7267 7268 7269 7270
7271 7275 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290
7291 7292 7296 7298 7300 7302 7312 7316 7321 7322 7323 7324 7326 7327
7329 7330 7331 7344 7345 7346 7347 7348 7349 7350 7359 7360 7361 7362
7363 7364 7365 7366 7367 7368 7369 7372 7373 7374 7384# 7384 7388 7403
7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417
7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431
7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445
7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7458 7461 7462
PNAMU3 2439 3091# 3094
PNAMUK 3086# 3245 5542
PNGNK1 3165 3386# 3885
POINTR 196# 1680 1728
POPAJ 1330 1417 1434 1475 1499 1628 2359 2381 2384 2474 2766 2770 2933 3631
3898 4277 4737# 5037 5243 5249 7549
POPBJ 4459 4491 4952#
POS 5660 5763 5822 5825 5876 5898# 6007
POS2 5919# 5924
POS3 5918 5925# 5930
POS4 5905 5927 5931#
PPN 1300 1306 1314 1489 1523 2172 2185 6304 7005 7011# 7549
PPNEXT 1310 1319 1337#
PRETB 3927 3937 3945#
PRG 5686 5850#
PRG1 5867# 5879 5887
PRG2 5874 5880#
PRG3 5871 5888#
PRIN1 2351 2356# 5665 5690 5723 5757 5794 5802 5815 5827 5829 5850 5878 7200
7523
PRIN1A 2379 2383 2386#
PRIN1B 2389 2393# 2403 2404
PRIN2 2449 2452#
PRIN2X 2447# 2460
PRIN3 2362 2451#
PRIN4 2364 2448 2453#
PRIN5 2365 2455# 2455
PRINC 765 823 2355# 7205 7528
PRINI1 2400 2414#
PRINI2 2418 2421#
PRINI3 2412 2427#
PRINI4 2426 2435#
PRINIC 2388 2415#
PRINL 2392 2394 2409#
PRINL1 2407 2411# 5515
PRINL2 838 2406#
PRINN 2398 2437#
PRINO 2402 2486#
PRINT 398 1926 2346 2349# 5039 7200 7523
PRINT1 2367 2383#
PRINT2 2372 2380#
PRINT3 2369# 2376
PRINTA 1254 2358 2361# 2370 3731 4421 4431
PROG 4005# 7223
PROG1 3621# 7208
PROG2 3617 3620# 3762 3768 3776 3946 4936 7203
PROGAT 5006 5685 7222#
PROGN 4158# 7228
PROGU1 5007 5012#
PROGUB 4996 5005#
PROMCH 1122# 1122 1146 1148# 1148
PROMPT 366 1145# 7347 7554
PRVCNT 359# 359 723 724 733
PRVSEL 726# 726 738
PSAV 1139 2721# 2721 2723 2725 2992 2994
PSAVE 2266# 2266 2293
PSMAC 2794 3007#
PSTR 2446 2458#
PSTR2 2462# 2465
PSTR3 2461# 2466
PUTPRO 3593# 3630 5085 7205 7526
PUTSYM 5596# 7289
Q.AFTR 1867#
Q.CNO 1869#
Q.CREA 1866#
Q.DEAD 1868#
Q.DEV 1859# 1971 2106 2146 2222
Q.F 1887# 1899 1906
Q.FBIT 1893#
Q.FDIR 1889# 2171 2186
Q.FDRM 1902#
Q.FEXM 1904#
Q.FEXT 1891# 2184 2231
Q.FF 1885# 1913
Q.FLEN 1899# 1916
Q.FMDM 1905#
Q.FMLN 1906#
Q.FMOD 1894# 2112 2130 2215 2234
Q.FNAM 1890# 2179 2188 2207 2221 2225 2232
Q.FNMM 1903#
Q.FRNM 1892#
Q.FRPT 1897#
Q.FSTR 1888# 2169 2182 2213
Q.I 1872# 1879
Q.IDDI 1876#
Q.IDEP 1873# 1985 2150 2152
Q.II 1877# 1912
Q.IL 1875#
Q.ILIM 1874# 1979 1980 1982
Q.JOB 1861# 2239 2241
Q.LEN 1858# 1986 2196 2226
Q.MEM 1849#
Q.O 1880#
Q.OFRM 1881# 2100
Q.OL 1883#
Q.ONOT 1884#
Q.OPR 1850# 1993
Q.OSIZ 1882# 1974
Q.PDEV 1864#
Q.PPN 1860# 1989 2170
Q.PRI 1863# 1992
Q.SEQ 1862#
Q.TIME 1865#
Q.USER 1870#
Q.ZER 1848#
QALLOW 86 1779 7324 7332 7514 7534
QARG 2087 2104 2113 2131 2137#
QCOPIE 2018 2111#
QCPU 2019 2086#
QDEFST 1843# 1909
QDISP 2022 2119#
QDONE 1997 2221#
QDONE1 2240 2242#
QDONEB 2224 2239#
QDONEC 2227 2233#
QERR1 1929# 1934
QFILE 2000 2004 2008 2167#
QFILEA 1999 2164#
QFILEB 2166 2172#
QFORMS 2020 2098#
QGOOD 1960 1963#
QGTARG 2133# 2137
QILLSW 1925# 2109 2128 2149
QLIMIT 2021 2102#
QLOOP 1996# 2101 2139
QLOOP1 2008#
QLSTOK 1783
QO.CRE 1851#
QO.DEL 1855#
QO.FLS 1857#
QO.KIL 1854#
QO.LST 1852#
QO.MOD 1853#
QO.REQ 1856#
QSELF 1997# 2174 2189
QSETUP 1965#
QST 748 7387#
QSTABL 1942 1951#
QSWEXT 1780 1781 1782 2026 2061 2075 2090 7334
QSXARG 2099 2120 2319#
QTABL1 1781 2022#
QTABLE 2009 2016#
QTIFY 598# 605 2784
QTIME 1784
QTLFY 602# 657 696
QTLFY1 603# 608
QUEUE 1933# 7327 7536
QUEUE1 1977 1986#
QUOTE 3379# 7234 7247
R 129# 481 482 495 501 502 519 520 523 528 530 532 534 536
592 593 594 595 650 653 668 673 781 841 1057 1067 1253 1402
1943 2010 2086 2098 2102 2108 2111 2119 2148 2158 2159 2336 2337 2349
2355 2356 2363 2406 2448 2453 2461 2462 2482 2526 2529 2540 2795 2822
2852 3169 3730 3758 3759 3764 4418 4419 4428 4429 4762 4768 4786 4844
4858 4861 5018 5019 5021 5022 5023 5024 5025 5026 5041 5061 5063 5067
5107 5116 5122 5143 5148 5149 5152 5153 5161 5165 5175 5176 5178 5179
5185 5196 5197 5199 5202 5203 5204 5206 5207 5225 5226 5240 5242 5254
5324 5404 5405 5407 5411 5413 5414 5415 5424 5431 5432 5434 5436 5445
5446 5478 5513 6050 6423 6437 6447 6458 6661 6664 6670 6676 6679 6701
6705 6707 6729 6747 6762 6765 6767 7057 7058
R50FLD 2587# 5548
R50MAK 5542# 5572 5597
R50VAL 7037# 7037
RATAB 2802 2804#
RATFLD 2801 2878 7034#
RATOM 2728 2740 2756 2763 2793# 3004 7524
RATOM2 2800# 2805 2807
RATOM3 2806 2821# 3013
RDE 3024 3040#
RDE2 3051 3052 3055 3057#
RDFIL1 2924# 2928
RDFILE 2925# 7323 7534
RDFLD 2586# 2821 2884
RDID 2809 2861 2864# 3175
RDIV 4311 4313#
RDNAM 2714# 7321
RDNDOT 3023 3030#
RDNMIN 2810 3035#
RDNPLS 2816 3036#
RDNUM 2812 2840 3021 3025# 3033 3037
RDOT 2811 2827# 2833
RDOT2 2819# 2834 2835 2836
RDQT 2738 2754 2783#
RDRUB 1140 2717#
RDSTR 2813 2844 2846#
RDT 2753 2761#
RDTAB 2742 2749#
RDTAB2 2730 2733# 2758
RDTX 2756# 2761
READ 396 2709 2715 2722# 2871 7244 7523
READ0 2704# 4469
READ1 2724 2728# 2731 2783
READ2 2733 2740# 2745 2749 2773
READ2A 2741 2744#
READ4 2735 2751 2773#
READ5 2752 2779#
READAT 463 7244#
READCH 2698# 7202 7528
READLI 4461# 7203 7525
READMA 2988 7359#
READP 1158# 7347
READP1 2703# 7523
REALL2 6479#
REALLC 87 5519 6314 7351 7538
REL 126# 1990 2112 2130 2158 2168 2169 2171 2178 2179 2182 2184 2186 2188
2201 2202 2205 2207 2209 2213 2215 2231 2232
REL1 6660# 6668
REL4 6661 6664 6670 6676 6679 6699#
REL5 6673# 6683
REL6 6675# 6681
RELFOO 6697 6713#
REMAIN 4321# 7207
REMOB 3253# 3280 7232 7525 7527
REMOB2 3260 3270 3278#
REMOB3 3271# 3275
REMP1 3528 3534#
REMPRO 3525# 3531 7206 7527
RENAME 1444# 7324
RENCLR 1432 1445 1448 1449 1456 1467 1472#
RENSUB 1430 1438# 1444 1459
RERX 335 853 868 879# 1133
RESET 251# 339 6950 7498
RESTOR 2293# 7029
RETURN 4058# 7200
REVAL1 6895# 6925
REVERS 3515# 4167 4663 7204 7526
RGC 5324# 5324 5478
RGTSYM 5564# 7292
RHX2 761 3080 3082 3118 3122 6720 7038#
RHX5 760 762 3119 3265 3269 6719 7039#
RINP 2145 2152#
RINPCH 2086 2145#
RLAST 6108# 6108 6119 6124
RLS 1639 1640 7020#
RMAC2 2984# 3002
RMACRO 2814 2980#
RMERR 910# 2990
RNAME 1447 1465 1536 6994#
RPAERR 916# 3466 3470
RPDERR 919# 3476
RPLACA 3464# 7196
RPLACD 3474# 7196
RPTSYM 5591# 7291
RSTSW 414# 414 854 6695 6696
RUBOUT 206# 1136 1141 6749
RVAL 6063# 6063 6101 6120
S 127# 313 314 351 352 353 355 369 371 374 394 452 460 463
466 472 527 529 531 533 535 542 599 748 749 759 770 772
773 860 867 881 1074 1651 2006 2297 2397 2399 2401 2416 2424 2949
2988 3087 3117 3131 3186 3190 3219 3308 3387 3484 3577 3578 3612 3739
3846 3892 3900 4131 4234 4237 4242 4250 4257 4258 4276 4361 4365 4371
4385 4387 4397 4403 4407 4408 4494 4528 4532 4538 4541 4543 4545 4554
4584 4611 4612 4615 4619 4694 4696 4698 4700 4702 4704 4777 4806 4808
4810 4827 4829 4831 4904 4910 4939 4944 4956 4963 5006 5068 5072 5075
5084 5192 5200 5207 5356 5359 5391 5430 5433 5435 5468 5469 5482 5566
5567 5591 5594 5683 5685 6061 6140 6143 6286 6294 6594 6596 6713 6714
6716 6718 6868 6874 7044 7045 7059 7060
SAS0 3501# 3506
SAS1 3497 3502# 3511
SASSOC 3497# 7200 7523
SAVSP 2275# 2275 7023
SAWDOT 2592# 2839 3030 3184 3197
SBPS 6438# 6438 6482 6500 6544 6713 7474
SBT 6484# 6484 6526 6533
SBTF 6493# 6493 6521 6522
SC2 361# 361 410 4630 4679 4681 4984 5404 6620# 6620 6838 6879# 6879 6881
6947
SCAN 5938# 5945
SET 4090# 7203 7528
SETARG 4935# 7206
SETCHR 3319# 7361
SETERR 937# 4092 4094
SETFWS 6417#
SETIN 1063 1519# 7551
SETIN1 1412 1524#
SETIN2 1495 1525#
SETINA 457 1446 1469 1516#
SETQ 4084# 7228 7527
SETSYS 6298# 7228
SETUWP 256# 6265 6278
SFS 6483# 6483 6525 6536 6543 7476
SFWS 6417# 6417 6428# 6428 6485 6489 6498 6508 6518 6541 7478
SHRST 66 68 80 85 560
SIXAT1 2947 2958# 2969
SIXAT2 2960# 2966
SIXAT3 2967# 2970
SIXATM 2927 2932 2941# 7534
SIXDON 2961 2970#
SIXMAK 1251# 1275 1323 1327 1347 2321 7519
SIXMK1 1253 1258#
SIXMK2 1251# 1251 1252 1255
SIXRT 1279#
SMAC 368 1105 2793# 2793 2873 3003 3007 3009 3011 3014 3016 7549
SMACRO 2815 2998#
SP 133# 361 491 889 2254 2267 2275 2295 2438 2442 2797 3090 3102 3103
3109 3183 3914 3916 4012 4022 4036 4038 4097 4447 4571 4573 4585 4586
4628 4633 4646 4648 4672 4764 4772 4839 4867 4886 4897 4898 4920 4947
4948 4969 4973 4976 4983 4984 4987 4989 4991 5008 5012 5017 5026 5028
5034 5405 5545 6552 6554 6562 6564 6565 6566 6567 6573 6574 6576 6577
6578 6579 6580 6818 6855 6895 7023 7025
SPACE 204#
SPDLFT 6824# 7349
SPDLOV 494# 3100 3181
SPDLPT 327 6818# 7349
SPDLRT 6832# 7349
SPDNLP 6840# 6844
SPEAK 5510# 7204
SPEC1 5018# 5027
SPECBI 5017# 7295 7528
SPECST 4901 4983# 7297 7528
SPECX 5020 5028#
SPNM 6623# 6623 6819 6824 6832 6837 6845 6854 6919 6937
SPRE1 6890 6922# 6933
SPREDO 328 6916# 7347
SPREVA 6931# 7347
SPRINT 5624# 7208
SPRN1 5664# 5674
SPRN11 5761 5765# 5774
SPRN12 5696 5702 5730 5768# 5849
SPRN13 5681 5767 5775# 5842 5859 5890 5893
SPRN16 5785# 5828
SPRN17 5786 5795#
SPRN18 5752 5798#
SPRN19 5814# 5823
SPRN2 5711 5719#
SPRN21 5813 5826#
SPRN22 5666 5797 5894#
SPRN3 5688 5697#
SPRN4 5695 5704#
SPRN5 5718 5731# 5739
SPRN7 5743 5749#
SPRN8 5708 5713 5734 5753#
SPRN9 5756# 5764
SPRNT2 5625#
SPSV 4014# 4014 4022 4628 4672 4839 4867 4886 4898 4920
SRPDL 6451# 6451 6486 6502 6515 6545 7481
SSPDL 6462# 6462 6487 6503 6513 6616 7480
START 339# 486 6131 6137 6142 6730
STIME 252# 5352 5480 5507
STKPTR 6937# 7347
STNIL 318 321 325 331 334 373# 373 2296 6945 7519
STORE 5258# 7232
STP 5629# 5629 5937 5966 6000
STPGAP 99 187 194 1038 1077 1566 1621 1622 1658 1663 1684 1689 6980 6992
7208
STR2 2845 2851#
STRCLS 2596# 2852
STRFLD 2848 7035#
STRING 3581# 7200
STRT 6399# 6949 6959
STRTAB 2843# 2849
STRTYP 799 812#
SUB1 4194# 7203
SUBAS 3791# 3791 3794
SUBBS 3793# 3793 3798 3825
SUBR 527 772 4543 4694 4831 5084 7196 7197 7198 7199 7200 7201 7202 7203
7204 7205 7206 7207 7208 7211 7212 7213 7214 7216 7235 7236 7237 7238
7239 7244 7246 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289
7290 7291 7292 7306 7321 7322 7323 7330 7345 7347 7348 7349 7350 7360
7361 7362 7367 7368 7369 7384#
SUBS4 3787 3999# 4432
SXATER 2942 2956#
SYM 7248 7266 7267 7268 7269 7270 7296 7298 7300 7302 7308 7384#
SYMER1 5561# 5569
SYMERR 5560# 5593
SYSCLR 900# 7362
SYSDEV 106
SYSIN0 6167 6168 7067# 7538
SYSIN1 6161 7066# 7538
SYSINI 6066 6086 6149# 7538
SYSINP 6081 6094 6197# 7538
SYSNAM 111
SYSPN 93 6964 7066
SYSPRG 91 105 108 6964 7066
SYSUNV 64 70
T 124# 450 456 514 516 517 521 522 523 524 525 526 537 538
551 552 554 556 566 568 576 577 578 581 582 583 584 585
590 591 592 603 608 610 650 651 655 664 665 668 669 671
672 676 690 694 697 698 699 702 703 910 1055 1061 1062 1069
1269 1270 1271 1274 1297 1312 1318 1321 1325 1337 1338 1342 1343 1346
1351 1352 1440 1467 1468 1481 1490 1494 1542 1678 1679 1693 1702 1730
1731 1736 1740 1925 1933 1963 1996 1997 2001 2133 2164 2174 2274 2319
2503 2504 2511 2795 2839 2943 2966 2974 2987 3030 3035 3044 3049 3124
3127 3128 3129 3130 3144 3147 3152 3156 3162 3184 3191 3197 3203 3215
3266 3267 3273 3274 3276 3277 3294 3302 3501 3503 3504 3507 3515 3517
3518 3519 3521 3525 3526 3530 3531 3559 3562 3573 3574 3594 3604 3608
3614 3616 3636 3647 3649 3659 3660 3717 3718 3719 3721 3722 3724 3725
3737 3742 3746 3749 3750 3751 3752 3760 3762 3873 3874 3875 3876 3903
3906 3908 3913 3918 3921 3949 3951 3952 3953 3954 3956 3958 3960 3961
3965 3969 3974 3977 3980 4012 4013 4014 4025 4026 4027 4028 4034 4050
4051 4052 4053 4101 4107 4109 4110 4111 4112 4113 4114 4115 4117 4130
4133 4135 4139 4148 4158 4171 4173 4175 4359 4361 4365 4387 4408 4445
4451 4461 4462 4463 4470 4471 4472 4477 4490 4521 4522 4524 4525 4526
4527 4530 4531 4533 4534 4535 4547 4569 4588 4597 4599 4603 4636 4637
4638 4679 4680 4682 4690 4691 4692 4693 4707 4708 4709 4713 4716 4717
4718 4723 4725 4728 4729 4730 4732 4740 4741 4746 4748 4750 4754 4759
4769 4780 4781 4792 4798 4812 4815 4816 4844 4845 4848 4853 4868 4874
4914 4922 4924 4926 4927 4928 4991 4994 4998 5000 5005 5006 5008 5009
5010 5011 5012 5018 5023 5024 5025 5027 5029 5045 5047 5048 5050 5051
5052 5053 5110 5112 5275 5294 5295 6109 6111 6113 6298 6518 6519 6520
6522 6523 6589 6838 6840 6859 6861 6862 6896 6899
TAB 209# 1195 1199 2895
TABSR1 1363# 1374 1378 1671 1723 7550
TABSRC 1373# 1408 1482 1589 7550
TEMCOR 1967 2303#
TEN 138# 2423 2508 2532 3233
TERPRI 388 399 409 716 808 822 837 1189 2350 2469# 5882 5908 7196 7529
TIME 5506# 7203
TOMANY 932# 4846
TOOFEW 933# 4761 4762
TRUE 1100 1160 1345 1350 1450 3419 3422 3423 3426 3431 3433 3483# 3535 3572
3579 3591 3635 3676 4135 4144 4153 4220 4289 6051 6271 6275 6280 6826
7010 7522
TRUTH 452 460 1651 3484 3846 4939 6990 7251# 7256
TSV 514# 514 568 569 651 665 669 703
TT 125# 515 525 527 529 531 533 535 544 551 553 555 567 571
572 573 576 580 585 586 587 593 596 603 617 619 652 656
657 658 659 660 661 670 673 679 680 684 685 686 687 688
690 695 696 766 767 768 769 775 778 779 780 781 783 1966
1968 1969 1971 1974 1979 1980 1982 1985 1986 1989 1992 1993 2100 2106
2146 2150 2152 2170 2196 2198 2221 2222 2225 2226 2234 2239 2241 2244
2274 2515 2516 2518 2521 3122 3124 3127 3145 3146 3154 3160 3161 3196
3199 3202 3206 3211 3218 3220 3268 3269 3271 3277 3319 3323 3324 3325
3504 3505 3526 3527 3528 3529 3534 3561 3562 3564 3598 3599 3600 3637
3648 3650 3663 3668 3674 3769 3770 3771 3772 3778 3779 3785 3786 3871
3878 3906 3912 3917 3918 3923 3970 3972 3978 3979 3981 4007 4017 4020
4021 4052 4054 4123 4128 4129 4152 4153 4191 4192 4198 4199 4202 4203
4208 4209 4218 4313 4334 4336 4337 4338 4339 4350 4369 4373 4374 4383
4390 4405 4406 4411 4413 4444 4452 4478 4479 4480 4481 4483 4485 4489
4493 4526 4528 4532 4538 4541 4543 4545 4603 4604 4610 4611 4612 4615
4692 4694 4696 4698 4700 4702 4704 4720 4731 4745 4751 4782 4788 4825
4827 4829 4831 4838 4841 4843 4846 4847 4852 4857 4881 4882 4915 4973
4974 4983 4988 4989 5017 5028 5106 5114 5115 5116 5119 5120 5121 5122
5125 5126 5127 5129 5130 5131 5132 5136 5138 5145 5146 5147 5148 5150
5151 5152 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168
5169 5170 5173 5174 5175 5176 5177 5178 5181 5183 5275 5276 5277 5288
5290 5292 5350 5390 6529 6530 6532 6533 6535 6573 6584 6879 6880 6882
6897 6898 6899 6900 6968
TTCH 175#
TTOCH 1657 1703 6991#
TTOHP 6993#
TTOLL 1713 1741 6992#
TTSV 515# 515 567
TTYCLR 166 1236#
TTYI 1119# 1702 6971
TTYID 1120 1135#
TTYLL 169# 6988 6989 6992 6993
TTYO 736 1225# 1740 2718 2720 5513 6981
TTYRET 370 387 1233#
TTYXIT 1126# 1137
TYI 1015 1019# 1025 1070 2698 2808 2863 7524
TYI1 1028 2776#
TYI2 1029 1045 1693 2704 2708 2711 2917 6971# 7544
TYI2E 1062 1072# 7550
TYI2Q 1055# 6978
TYI2X 1032 1674 2919 6973#
TYI2Y 1675 6974#
TYI2Z 1676 6976# 7550
TYI3 1033# 1033 1046 1681 2920
TYI3A 1034 1682 6972#
TYI3B 1033# 6977 7550
TYIA 1020 1027# 2800 3174 7544
TYID 1029# 1047 2788 2828 2847 2865 2876 3026 3047 3058
TYIEOF 6978#
TYO 719 1168 1171# 1196 2349 2356 2406 2471 2473 5676 5788 5790 5792 5796
5804 5920 5929 7530
TYO1 1174 1186#
TYO2X 1725 6982 6985# 7550
TYO3 1172 1195#
TYO4 1192# 1204 1207
TYO5 1729 6983# 6986 7551
TYOD 727 737 1175 1188 1193 1736 6981# 7524
TYOI 2476 7030#
TYOI2 2480# 7031
UBD 411 873 4046 4062 4969# 4977 4980 6883 6948
UBDPTR 4563 5328 7041#
UFDINP 1480# 7323 7534
UNBIND 4069 4653 4752 4787 4870 4929 4979 4982# 4988
UNBND1 4989# 5002 5013
UNBOND 6870 6874# 7238
UNBOUN 4584 4619 4910 4956 6874 7041 7274# 7554
UNBVAR 927# 4609 4620
UNDFUN 924# 4556 4564 4600
UNDTAC 934# 4802 4906 4911
UNDTAG 935# 4520
UNTYI 1162# 7347
UUET 534 642#
UUFET 536 646#
UUFST 530 634#
UULT 532 638#
UUO2 803# 803 850 852
UUOCL 565 622 6968#
UUOEX1 547 577# 662 674
UUOEXP 576# 642 648
UUOH 340 557 558 559 566 579 677 682 689 815 830 6966#
UUOH1 525# 538
UUOH2 514# 6967
UUOMAX 510# 793
UUOMIN 509# 792 795
UUOS 520 571#
UUOS1 630 650#
UUOS10 635 702#
UUOS2 631 4728#
UUOS3 646 655#
UUOS4 647 664#
UUOS4A 657# 666
UUOS5 643 668#
UUOS6 644 676#
UUOS6A 660# 683
UUOS7 638 685#
UUOS7A 686 691 6969#
UUOS8 640 684#
UUOS9 634 694#
UUOSBR 552# 574 629 636 639 700
UUS10A 696# 704
UUST 528 629#
UWPERR 6266# 6279
VALUE 542 3612 4554 4615 4904 4944 4963 6868 7252 7260 7271 7316 7372 7373
7374 7384#
VBASE 2416 7316 7379#
VBPEND 5075 5200 6140 6716 7316 7392# 7494
VBPORG 5068 5072 5192 5207 6061 6143 7316 7391# 7492
VFIX1A 7298# 7300
VHGHOR 6267 6285 6290 7078#
VIBASE 3186 7316 7380#
VNIL 7261 7264#
VNSTR 7300# 7302
VOBLIS 314 759 3117 6718 7316 7378#
VSPECB 7294# 7296
VSPECS 7296# 7298
VTRUTH 7253 7256#
WRTSTS 562 6264 6277 7079#
X 137# 6966 6972 6973 6974 6976 6981 6983 6985 6994 6995 6996 6997 7000
7001 7002 7006 7009 7011 7012 7013 7016 7019 7020 7030 7044 7045 7046
7048 7055 7058 7060
X.LOG 1895#
X.NEW 1896#
XCONS 467 600 1428 1506 2747 2908 2935 2950 2976 3388 3391# 3520 3605 3607
4180 4182 4319 4776 4778 4964 7206 7528
XFLD 215# 501
XXEVAL 4567 4572 4576#
XXX1 7038#
XXX2 7039#
XXX3 5449 6721 7057#
XXX4 6722 7041#
XXX5 6723 7050#
ZERODI 4206 4309 4326#
ZEROP 3480# 7202
ZY 7196# 7196 7197# 7197 7198# 7198 7199# 7199 7200# 7200 7201# 7201 7202# 7202
7203# 7203 7204# 7204 7205# 7205 7206# 7206 7207# 7207 7208# 7208 7211# 7211
7212# 7212 7213# 7213 7214# 7214 7216# 7216 7219# 7219 7221# 7221 7223# 7223
7226# 7226 7228# 7228 7231# 7231 7232# 7232 7233# 7233 7234# 7234 7235# 7235
7236# 7236 7237# 7237 7238# 7238 7239# 7239 7240# 7240 7241# 7241 7244# 7244
7245# 7245 7246# 7246 7247# 7247 7248# 7248 7255# 7255 7263# 7263 7266# 7266
7267# 7267 7268# 7268 7269# 7269 7270# 7270 7271# 7271 7276# 7276 7279# 7279
7280# 7280 7281# 7281 7282# 7282 7283# 7283 7284# 7284 7285# 7285 7286# 7286
7287# 7287 7288# 7288 7289# 7289 7290# 7290 7291# 7291 7292# 7292 7296# 7296
7298# 7298 7300# 7300 7302# 7302 7313# 7313 7316# 7316 7321# 7321 7322# 7322
7323# 7323 7324# 7324 7326# 7326 7327# 7327 7329# 7329 7330# 7330 7331# 7331
7344# 7344 7345# 7345 7346# 7346 7347# 7347 7348# 7348 7349# 7349 7350# 7350
7359# 7359 7360# 7360 7361# 7361 7362# 7362 7363# 7363 7364# 7364 7365# 7365
7366# 7366 7367# 7367 7368# 7368 7369# 7369 7372# 7372 7373# 7373 7374# 7374
7384# 7384 7389# 7389 7403# 7403 7404# 7404 7405# 7405 7406# 7406 7407# 7407
7408# 7408 7409# 7409 7410# 7410 7411# 7411 7412# 7412 7413# 7413 7414# 7414
7415# 7415 7416# 7416 7417# 7417 7418# 7418 7419# 7419 7420# 7420 7421# 7421
7422# 7422 7423# 7423 7424# 7424 7425# 7425 7426# 7426 7427# 7427 7428# 7428
7429# 7429 7430# 7430 7431# 7431 7432# 7432 7433# 7433 7434# 7434 7435# 7435
7436# 7436 7437# 7437 7438# 7438 7439# 7439 7440# 7440 7441# 7441 7442# 7442
7443# 7443 7444# 7444 7445# 7445 7446# 7446 7447# 7447 7448# 7448 7449# 7449
7450# 7450 7451# 7451 7452# 7452 7453# 7453 7454# 7454 7455# 7455 7458# 7458
7461# 7461 7462# 7462
ZZ 5401# 5403 5403# 7183# 7185 7185# 7196# 7196 7197# 7197 7198# 7198 7199# 7199
7200# 7200 7201# 7201 7202# 7202 7203# 7203 7204# 7204 7205# 7205 7206# 7206
7207# 7207 7208# 7208 7211# 7211 7212# 7212 7213# 7213 7214# 7214 7216# 7216
7219# 7219 7221# 7221 7223# 7223 7226# 7226 7228# 7228 7231# 7231 7232# 7232
7233# 7233 7234# 7234 7235# 7235 7236# 7236 7237# 7237 7238# 7238 7239# 7239
7240# 7240 7241# 7241 7244# 7244 7245# 7245 7246# 7246 7247# 7247 7248# 7248
7249# 7250 7250# 7255# 7255 7258# 7259 7259# 7263# 7263 7266# 7266 7267# 7267
7268# 7268 7269# 7269 7270# 7270 7271# 7271 7276# 7276 7279# 7279 7280# 7280
7281# 7281 7282# 7282 7283# 7283 7284# 7284 7285# 7285 7286# 7286 7287# 7287
7288# 7288 7289# 7289 7290# 7290 7291# 7291 7292# 7292 7296# 7296 7298# 7298
7300# 7300 7302# 7302 7303# 7304 7304# 7313# 7313 7316# 7316 7321# 7321 7322#
7322 7323# 7323 7324# 7324 7326# 7326 7327# 7327 7329# 7329 7330# 7330 7331#
7331 7344# 7344 7345# 7345 7346# 7346 7347# 7347 7348# 7348 7349# 7349 7350#
7350 7359# 7359 7360# 7360 7361# 7361 7362# 7362 7363# 7363 7364# 7364 7365#
7365 7366# 7366 7367# 7367 7368# 7368 7369# 7369 7372# 7372 7373# 7373 7374#
7374 7384# 7384 7385# 7386 7386# 7389# 7389 7403# 7403 7404# 7404 7405# 7405
7406# 7406 7407# 7407 7408# 7408 7409# 7409 7410# 7410 7411# 7411 7412# 7412
7413# 7413 7414# 7414 7415# 7415 7416# 7416 7417# 7417 7418# 7418 7419# 7419
7420# 7420 7421# 7421 7422# 7422 7423# 7423 7424# 7424 7425# 7425 7426# 7426
7427# 7427 7428# 7428 7429# 7429 7430# 7430 7431# 7431 7432# 7432 7433# 7433
7434# 7434 7435# 7435 7436# 7436 7437# 7437 7438# 7438 7439# 7439 7440# 7440
7441# 7441 7442# 7442 7443# 7443 7444# 7444 7445# 7445 7446# 7446 7447# 7447
7448# 7448 7449# 7449 7450# 7450 7451# 7451 7452# 7452 7453# 7453 7454# 7454
7455# 7455 7458# 7458 7461# 7461 7462# 7462
$EOF$ 472 1074 7384#
%AMAKE 5033# 7267
%ARG 4917 4919 4924 4925 4931 4935 7042#
%CLRBF 858 1104# 7235
%EXPLO 4428# 7211
%FLATS 3723 4418# 7360
%LCALL 5045# 7266
%NOPOI 2424 7271 7271#
%UDT 5039# 7268
..0055 7185 7384#
..0056 7185 7208#
..0057 7185 7206#
..0060 7185 7234#
..0061 7185 7200#
..0062 7185 7201#
..0063 7185 7349#
..0064 7185 7204#
..0065 7185 7327#
..0066 7185 7202#
..0067 7185 7270#
..0070 7185 7200#
..0071 7185 7200#
..0072 7185 7236#
..0073 7185 7206#
..0074 7185 7196#
..0075 7185 7196#
..0076 7185 7247#
..0077 7185 7350#
..0100 7185 7200#
..0101 7185 7329#
..0102 7185 7200#
..0103 7185 7424#
..0104 7185 7200#
..0105 7185 7409#
..0106 7185 7196#
..0107 7185 7419#
..0110 7185 7228#
..0111 7185 7197#
..0112 7185 7203#
..0113 7185 7205#
..0114 7185 7197#
..0115 7185 7228#
..0116 7185 7283#
..0117 7185 7202#
..0120 7185 7219#
..0121 7185 7362#
..0122 7185 7372#
..0123 7185 7228#
..0124 7185 7428#
..0125 7185 7413#
..0126 7185 7442#
..0127 7185 7245#
..0130 7185 7405#
..0131 7185 7419#
..0132 7185 7425#
..0133 7185 7204#
..0134 7185 7422#
..0135 7185 7422#
..0136 7185 7203#
..0137 7185 7204#
..0140 7185 7200#
..0141 7185 7411#
..0142 7185 7199#
..0143 7185 7203#
..0144 7185
..0145 7185 7437#
..0146 7185 7426#
..0147 7185 7223#
..0150 7185 7373#
..0151 7185 7432#
..0152 7185 7202#
..0153 7185 7226#
..0154 7185 7228#
..0155 7185 7440#
..0156 7185 7384#
..0157 7185 7331#
..0160 7185 7409#
..0161 7185 7411#
..0162 7185 7413#
..0163 7185 7267#
..0164 7185 7419#
..0165 7185 7266#
..0166 7185 7198#
..0167 7185 7404#
..0170 7185 7287#
..0171 7185 7198#
..0172 7185 7269#
..0173 7185 7427#
..0174 7185 7198#
..0175 7185 7429#
..0176 7185 7441#
..0177 7185 7198#
..0200 7185 7405#
..0201 7185 7216#
..0202 7185 7199#
..0203 7185 7442#
..0204 7185 7196#
..0205 7185 7204#
..0206 7185 7414#
..0207 7185 7196#
..0210 7185 7201#
..0211 7185 7414#
..0212 7185 7197#
..0213 7185 7292#
..0214 7185 7219#
..0215 7185 7197#
..0216 7185 7201#
..0217 7185 7384#
..0220 7185 7197#
..0221 7185 7219#
..0222 7185 7361#
..0223 7185 7316#
..0224 7185 7406#
..0225 7185 7201#
..0226 7185 7326#
..0227 7185 7202#
..0230 7185 7208#
..0231 7185 7200#
..0232 7185 7203#
..0233 7185 7347#
..0234 7185 7296#
..0235 7185 7207#
..0236 7185 7436#
..0237 7185 7202#
..0240 7185 7233#
..0241 7185 7196#
..0242 7185 7207#
..0243 7185 7201#
..0244 7185 7208#
..0245 7185 7289#
..0246 7185 7201#
..0247 7185 7201#
..0250 7185 7200#
..0251 7185 7203#
..0252 7185 7205#
..0253 7185 7199#
..0254 7196 7196#
..0255 7196 7321#
..0256 7196 7206#
..0257 7196 7200#
..0260 7196 7207#
..0261 7196 7197#
..0262 7196 7206#
..0263 7197 7197#
..0264 7197 7347#
..0265 7197 7404#
..0266 7197 7279#
..0267 7197 7197#
..0270 7197 7197#
..0271 7197 7197#
..0272 7197 7406#
..0273 7197 7197#
..0274 7197 7329#
..0275 7197 7288#
..0276 7198 7302#
..0277 7198 7198#
..0300 7198 7198#
..0301 7198 7198#
..0302 7198 7198#
..0303 7198 7198#
..0304 7198 7199#
..0305 7198 7199#
..0306 7198 7404#
..0307 7199 7199#
..0310 7199 7199#
..0311 7199 7199#
..0312 7199 7202#
..0313 7199 7199#
..0314 7199 7285#
..0315 7199 7413#
..0316 7199 7205#
..0317 7199 7435#
..0320 7200 7202#
..0321 7200 7432#
..0322 7200 7206#
..0323 7200 7232#
..0324 7200 7203#
..0325 7200 7232#
..0326 7200 7430#
..0327 7200 7204#
..0330 7200 7238#
..0331 7200 7203#
..0332 7201 7206#
..0333 7201 7201#
..0334 7201 7204#
..0335 7201 7361#
..0336 7201 7323#
..0337 7201 7202#
..0340 7201 7233#
..0341 7201 7203#
..0342 7202 7232#
..0343 7202 7203#
..0344 7202 7441#
..0345 7202 7202#
..0346 7202 7207#
..0347 7202 7206#
..0350 7202 7228#
..0351 7202 7219#
..0352 7202 7409#
..0353 7203 7366#
..0354 7203 7205#
..0355 7203 7361#
..0356 7203 7362#
..0357 7203 7205#
..0360 7203 7205#
..0361 7203 7419#
..0362 7203 7316#
..0363 7203 7316#
..0364 7204 7204#
..0365 7204 7345#
..0366 7204 7205#
..0367 7204 7211#
..0370 7204
..0371 7204 7212#
..0372 7204 7326#
..0373 7205 7244#
..0374 7205 7207#
..0375 7205 7207#
..0376 7205 7286#
..0377 7205 7231#
..0400 7205 7213#
..0401 7205 7271#
..0402 7206 7232#
..0403 7206 7405#
..0404 7206 7228#
..0405 7206 7207#
..0406 7206 7232#
..0407 7206 7268#
..0410 7206 7208#
..0411 7207 7329#
..0412 7207 7284#
..0413 7207 7219#
..0414 7207 7237#
..0415 7207 7282#
..0416 7207 7281#
..0417 7207
..0420 7208 7235#
..0421 7208 7408#
..0422 7208 7298#
..0423 7208 7214#
..0424 7211 7384#
..0425 7212 7240#
..0426 7213 7411#
..0427 7214 7232#
..0430 7216 7233#
..0431 7219 7219#
..0432 7219 7221#
..0433 7219 7324#
..0434 7219 7259#
..0435 7219 7290#
..0436 7219 7348#
..0437 7221 7326#
..0440 7223 7445#
..0441 7226 7233#
..0442 7228 7241#
..0443 7228 7420#
..0444 7228 7386#
..0445 7228 7347#
..0446 7228 7322#
..0447 7228 7428#
..0450 7231 7241#
..0451 7232 7411#
..0452 7232 7291#
..0453 7232 7432#
..0454 7232 7323#
..0455 7232 7326#
..0456 7232 7369#
..0457 7233 7250#
..0460 7233 7241#
..0461 7233 7384#
..0462 7233 7384#
..0463 7234 7420#
..0464 7235 7246#
..0465 7236 7330#
..0466 7237 7316#
..0467 7238 7239#
..0470 7239 7322#
..0471 7240 7427#
..0472 7241 7321#
..0473 7241 7241#
..0474 7241 7323#
..0475 7241 7367#
..0476 7244 7409#
..0477 7245 7405#
..0500 7246 7248#
..0501 7247 7347#
..0502 7248 7316#
..0503 7250 7405#
..0504 7259 7405#
..0505 7266# 7266
..0506 7266 7420#
..0507 7267# 7267
..0510 7267 7418#
..0511 7268# 7268
..0512 7268 7347#
..0513 7269# 7269
..0514 7269 7425#
..0515 7270# 7270
..0516 7270 7304#
..0517 7271 7418#
..0520 7279 7280#
..0521 7280 7329#
..0522 7281 7324#
..0523 7282 7384#
..0524 7283 7403#
..0525 7284 7300#
..0526 7285 7329#
..0527 7286 7414#
..0530 7287 7445#
..0531 7288 7404#
..0532 7289 7323#
..0533 7290 7417#
..0534 7291 7417#
..0535 7292 7422#
..0536 7296 7364#
..0537 7298 7347#
..0540 7300 7365#
..0541 7302 7346#
..0542 7304 7326#
..0543 7316 7349#
..0544 7316 7409#
..0545 7316 7410#
..0546 7316 7359#
..0547 7316 7324#
..0550 7321 7321#
..0551 7321 7361#
..0552 7321 7384#
..0553 7322 7404#
..0554 7322 7440#
..0555 7323 7412#
..0556 7323 7384#
..0557 7323 7433#
..0560 7323 7362#
..0561 7324 7408#
..0562 7324 7362#
..0563 7324 7360#
..0564 7326 7442#
..0565 7326 7410#
..0566 7326 7411#
..0567 7326 7405#
..0570 7326 7407#
..0571 7327 7349#
..0572 7329 7409#
..0573 7329 7436#
..0574 7329 7430#
..0575 7329 7329#
..0576 7329 7444#
..0577 7329 7410#
..0600 7330 7344#
..0601 7331 7404#
..0602 7344 7361#
..0603 7345 7348#
..0604 7346 7421#
..0605 7347 7362#
..0606 7347 7415#
..0607 7347 7409#
..0610 7347 7419#
..0611 7347 7350#
..0612 7347 7440#
..0613 7348
..0614 7348 7384#
..0615 7349 7404#
..0616 7349 7384#
..0617 7349 7361#
..0620 7350 7405#
..0621 7350 7368#
..0622 7359 7362#
..0623 7360 7422#
..0624 7361 7413#
..0625 7361 7411#
..0626 7361 7363#
..0627 7361 7417#
..0630 7361 7406#
..0631 7361 7384#
..0632 7362 7384#
..0633 7362 7404#
..0634 7362 7410#
..0635 7362 7405#
..0636 7362 7384#
..0637 7362 7404#
..0640 7363 7427#
..0641 7364 7405#
..0642 7365 7441#
..0643 7366 7432#
..0644 7367 7404#
..0645 7368 7406#
..0646 7369 7420#
..0647 7372 7374#
..0650 7373 7411#
..0651 7374
..0652 7384 7408#
..0653 7384 7418#
..0654 7384 7403#
..0655 7384 7439#
..0656 7384 7384#
..0657 7384 7439#
..0660 7384 7428#
..0661 7384 7404#
..0662 7384 7403#
..0663 7384 7417#
..0664 7384 7427#
..0665 7384 7414#
..0666 7384 7404#
..0667 7384 7411#
..0670 7384 7404#
..0671 7386 7440#
..0672 7403 7418#
..0673 7403 7409#
..0674 7403 7429#
..0675 7404
..0676 7404
..0677 7404 7416#
..0700 7404 7427#
..0701 7404 7408#
..0702 7404 7404#
..0703 7404 7409#
..0704 7404 7420#
..0705 7404 7411#
..0706 7404 7405#
..0707 7404 7422#
..0710 7404 7413#
..0711 7404 7424#
..0712 7404
..0713 7405 7423#
..0714 7405 7432#
..0715 7405 7418#
..0716 7405 7414#
..0717 7405 7426#
..0720 7405
..0721 7405 7434#
..0722 7405 7451#
..0723 7405 7408#
..0724 7405 7412#
..0725 7405 7409#
..0726 7406 7406#
..0727 7406 7415#
..0730 7406 7412#
..0731 7406
..0732 7406 7407#
..0733 7407 7407#
..0734 7407 7407#
..0735 7407 7407#
..0736 7407 7423#
..0737 7407 7445#
..0740 7408 7428#
..0741 7408 7418#
..0742 7408 7408#
..0743 7408 7419#
..0744 7408 7417#
..0745 7408 7408#
..0746 7408 7416#
..0747 7409 7420#
..0750 7409 7444#
..0751 7409
..0752 7409 7424#
..0753 7409 7418#
..0754 7409 7409#
..0755 7409 7412#
..0756 7409 7421#
..0757 7409 7429#
..0760 7409
..0761 7409 7420#
..0762 7410 7452#
..0763 7410 7410#
..0764 7410 7418#
..0765 7410 7412#
..0766 7410 7433#
..0767 7411 7439#
..0770 7411 7431#
..0771 7411 7413#
..0772 7411 7420#
..0773 7411 7436#
..0774 7411 7422#
..0775 7411 7434#
..0776 7411 7429#
..0777 7411
..1000 7412 7412#
..1001 7412 7430#
..1002 7412
..1003 7412 7455#
..1004 7412 7443#
..1005 7412 7420#
..1006 7413 7420#
..1007 7413 7426#
..1010 7413 7418#
..1011 7413 7421#
..1012 7413 7430#
..1013 7413 7427#
..1014 7414 7414#
..1015 7414 7414#
..1016 7414 7423#
..1017 7414
..1020 7414 7423#
..1021 7414 7439#
..1022 7414 7428#
..1023 7415 7431#
..1024 7415 7415#
..1025 7415 7415#
..1026 7415 7418#
..1027 7416 7416#
..1030 7416 7416#
..1031 7416 7428#
..1032 7416 7416#
..1033 7416 7416#
..1034 7416 7417#
..1035 7417 7422#
..1036 7417 7421#
..1037 7417 7422#
..1040 7417 7417#
..1041 7417 7440#
..1042 7417
..1043 7417 7418#
..1044 7418 7434#
..1045 7418 7444#
..1046 7418 7423#
..1047 7418 7429#
..1050 7418 7421#
..1051 7418 7422#
..1052 7418 7419#
..1053 7418
..1054 7418 7421#
..1055 7418 7421#
..1056 7418 7419#
..1057 7419 7449#
..1060 7419 7419#
..1061 7419 7434#
..1062 7419
..1063 7419 7443#
..1064 7419 7439#
..1065 7419 7420#
..1066 7419 7422#
..1067 7419
..1070 7420
..1071 7420 7438#
..1072 7420 7421#
..1073 7420 7430#
..1074 7420 7426#
..1075 7420 7451#
..1076 7420 7429#
..1077 7420
..1100 7420 7434#
..1101 7420 7446#
..1102 7420 7424#
..1103 7421 7444#
..1104 7421 7423#
..1105 7421
..1106 7421 7422#
..1107 7421 7425#
..1110 7421 7421#
..1111 7421 7421#
..1112 7421 7428#
..1113 7421 7435#
..1114 7421 7424#
..1115 7422 7424#
..1116 7422 7423#
..1117 7422 7423#
..1120 7422
..1121 7422 7435#
..1122 7422 7445#
..1123 7422
..1124 7422 7440#
..1125 7422 7432#
..1126 7422 7428#
..1127 7422
..1130 7423 7423#
..1131 7423 7424#
..1132 7423 7423#
..1133 7423 7426#
..1134 7423 7430#
..1135 7423 7429#
..1136 7423 7444#
..1137 7423 7440#
..1140 7423 7425#
..1141 7423
..1142 7424 7427#
..1143 7424
..1144 7424 7431#
..1145 7424
..1146 7424 7432#
..1147 7424 7426#
..1150 7424 7427#
..1151 7425
..1152 7425 7440#
..1153 7425 7425#
..1154 7425 7451#
..1155 7425 7425#
..1156 7425 7435#
..1157 7426 7426#
..1160 7426 7428#
..1161 7426 7442#
..1162 7426 7452#
..1163 7426 7429#
..1164 7426 7436#
..1165 7426 7433#
..1166 7427 7431#
..1167 7427 7435#
..1170 7427
..1171 7427 7453#
..1172 7427 7431#
..1173 7427 7452#
..1174 7427 7442#
..1175 7427 7439#
..1176 7428 7429#
..1177 7428 7434#
..1200 7428
..1201 7428 7436#
..1202 7428
..1203 7428 7433#
..1204 7428
..1205 7428 7431#
..1206 7428 7437#
..1207 7429
..1210 7429
..1211 7429 7441#
..1212 7429 7449#
..1213 7429
..1214 7429 7442#
..1215 7429 7435#
..1216 7429 7436#
..1217 7429 7430#
..1220 7430 7431#
..1221 7430 7438#
..1222 7430 7444#
..1223 7430
..1224 7430 7435#
..1225 7430
..1226 7430 7440#
..1227 7431
..1230 7431
..1231 7431
..1232 7431
..1233 7431
..1234 7431
..1235 7431 7435#
..1236 7432
..1237 7432
..1240 7432 7445#
..1241 7432 7439#
..1242 7432
..1243 7432 7449#
..1244 7432
..1245 7433
..1246 7433 7438#
..1247 7433
..1250 7433
..1251 7434
..1252 7434 7441#
..1253 7434
..1254 7434 7435#
..1255 7434 7449#
..1256 7434 7446#
..1257 7435 7440#
..1260 7435 7451#
..1261 7435 7439#
..1262 7435
..1263 7435 7441#
..1264 7435
..1265 7435
..1266 7435 7438#
..1267 7435
..1270 7436 7436#
..1271 7436 7451#
..1272 7436 7436#
..1273 7436 7451#
..1274 7436 7440#
..1275 7436
..1276 7436 7438#
..1277 7436 7437#
..1300 7437 7437#
..1301 7437 7445#
..1302 7437 7445#
..1303 7437
..1304 7438 7438#
..1305 7438 7439#
..1306 7438
..1307 7438 7455#
..1310 7438
..1311 7438 7444#
..1312 7439 7454#
..1313 7439 7440#
..1314 7439
..1315 7439
..1316 7439 7444#
..1317 7439
..1320 7439 7440#
..1321 7439 7441#
..1322 7439
..1323 7440
..1324 7440 7443#
..1325 7440 7445#
..1326 7440 7441#
..1327 7440
..1330 7440 7445#
..1331 7440
..1332 7440 7443#
..1333 7440 7442#
..1334 7440 7444#
..1335 7440
..1336 7440 7446#
..1337 7440
..1340 7441 7458#
..1341 7441 7452#
..1342 7441
..1343 7441 7458#
..1344 7441
..1345 7441
..1346 7441
..1347 7441 7444#
..1350 7442 7447#
..1351 7442 7450#
..1352 7442 7443#
..1353 7442
..1354 7442 7444#
..1355 7442
..1356 7442
..1357 7443
..1360 7443 7443#
..1361 7443
..1362 7443
..1363 7443 7449#
..1364 7443
..1365 7444
..1366 7444
..1367 7444
..1370 7444
..1371 7444
..1372 7444
..1373 7444
..1374 7444 7448#
..1375 7444
..1376 7444 7451#
..1377 7444 7447#
..1400 7445
..1401 7445
..1402 7445 7455#
..1403 7445
..1404 7445 7452#
..1405 7445
..1406 7445
..1407 7445
..1410 7445 7450#
..1411 7446
..1412 7446
..1413 7446 7451#
..1414 7447
..1415 7447
..1416 7448 7448#
..1417 7448
..1420 7449
..1421 7449
..1422 7449
..1423 7449
..1424 7449 7458#
..1425 7450 7450#
..1426 7450
..1427 7450 7454#
..1430 7451 7458#
..1431 7451
..1432 7451
..1433 7451
..1434 7451 7455#
..1435 7451
..1436 7451
..1437 7451
..1440 7452
..1441 7452
..1442 7452 7455#
..1443 7452 7452#
..1444 7452
..1445 7452
..1446 7453 7453#
..1447 7453
..1450 7454
..1451 7454 7455#
..1452 7455
..1453 7455
..1454 7455
..1455 7455
..1456 7455
..1457 7455
..1460 7458
..1461 7458
..1462 7458
..1463 7458 7458#
..1464 7458 7461#
..1465 7461 7461#
..1466 7461 7461#
..1467 7461 7461#
..1470 7461 7461#
..1471 7461 7462#
..1472 7462 7462#
..1473 7462
.APPEN 3759 3776# 7285 7530
.DIF 4197# 7282
.ERROR 818# 7236
.GREAT 4154 4211# 4222 7287
.JBVER 74# 76
.LESS 4213# 4224 7288
.MAP 3936# 3943 7270
.MAPC 3926# 3933 7269
.MAX 4222# 7368
.MIN 4224# 7369
.NCONC 3759 3764 3768#
.PLUS 4190# 7281
.QUO 4205# 7283
.RSET 414# 7286
.TAB 6006# 7212
.TIMES 4201# 7284
ADDOB 7092# 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7250 7259
7266 7267 7268 7269 7270 7271 7279 7280 7281 7282 7283 7284 7285 7286
7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7304 7316 7321 7322
7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349 7350
7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373 7374
7384 7386 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414
7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428
7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442
7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7458
7461 7462
CALLF 147# 386 3931 3941 3957 4741
CLRBFI 163# 1104
DELIMI 2618# 7037
ENTER 7016
ERR1 151# 550 912 914 917 920 923 926 928 929 930 931 932 933
936 938 940 942 943 1379 1457 1633 1634 1672 1724 1745 1748 1751
1753 1929 4325 4326 4327 4328 4472 4482 4595 5562 6200 6248 6266 6274
6975 6987
ERR2 152# 494 499 5476 5477
ERR3 153# 483 503
FCALL 145#
GETPPN 1500 1987
HALT 497 6953 6956 7028
HERE 271# 6943
HERE1 264# 302 513 564 692 744 1030 1035 1054 1089 1117 1184 1222 1228
1247 1359 1454 1562 1584 1618 1627 1643 2290 2479 2582 2696 3115 3264
3888 4560 4934 5285 5342 5365 5383 5399 5456 5499 6164 6178 6187 6195
6206 6260 6308 6943# 6943
IGNORE 2621# 7037
INBUF 7009
INCHRW 158# 310 1135 6414 6748
INCHSL 162# 1121
INCHWL 161# 1123
INIT 6995 7000 7011
JCALL 146#
JCALLF 148# 3498
LENGTH 7139# 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7255 7263
7266 7267 7268 7269 7270 7271 7276 7279 7280 7281 7282 7283 7284 7285
7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7313 7316 7321
7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349
7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373
7374 7384 7389 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413
7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427
7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441
7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455
7458 7461 7462
LET 2615# 7037
LOOKUP 6179 7006
MAKBUC 7087# 7185
MK 7174# 7230 7328 7330 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411
7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425
7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439
7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453
7454 7457 7460 7461
MKAT 7117# 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207
7210 7211 7212 7213 7218 7222 7225 7227 7231 7232 7240 7243 7244 7245
7246 7247 7296 7298 7300 7302 7315 7320 7321 7322 7323 7326 7346 7347
7348 7349 7360 7361
MKAT1 7129# 7215 7220 7233 7234 7235 7236 7237 7238 7239 7270 7278 7279 7280
7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7329 7344 7345
7359 7362 7363 7364 7365 7366 7367 7368 7371 7372 7373
MKENT 7510# 7513 7515 7517 7518 7520 7521 7522 7523 7524 7525 7526 7527 7528
7529 7533 7535 7537 7543 7546 7547 7548 7549 7550 7553 7556
MKSY1 7151# 7265 7266 7267 7268 7269
ML 7165# 7325 7343 7358 7382
ML1 7143# 7293
OBT0 7185# 7384 7384# 7439 7439# 7440 7440#
OBT1 7185# 7208 7208# 7298 7298# 7347 7347# 7350 7350# 7405 7405# 7408 7408# 7417
7417#
OBT10 7185# 7327 7327# 7349 7349# 7384 7384# 7403 7403# 7429 7429# 7436 7436# 7451
7451# 7458 7458# 7461 7461# 7462 7462#
OBT100 7185# 7440 7440#
OBT101 7185# 7384 7384# 7404 7404#
OBT102 7185# 7331 7331# 7404 7404# 7420 7420# 7430 7430# 7431 7431# 7435 7435#
OBT103 7185# 7409 7409# 7444 7444#
OBT104 7185# 7411 7411# 7436 7436#
OBT105 7185# 7413 7413# 7421 7421# 7435 7435#
OBT106 7185# 7267 7267# 7418 7418# 7429 7429# 7441 7441# 7444 7444#
OBT107 7185# 7419 7419# 7443 7443#
OBT11 7185# 7202 7202# 7206 7206# 7228 7228# 7241 7241# 7367 7367# 7404 7404# 7413
7413# 7420 7420# 7446 7446#
OBT110 7185# 7266 7266# 7420 7420# 7434 7434# 7441 7441#
OBT111 7185# 7198 7198# 7302 7302# 7346 7346# 7421 7421# 7444 7444#
OBT112 7185# 7404 7404#
OBT113 7185# 7287 7287# 7445 7445#
OBT114 7185# 7198 7198# 7404 7404# 7422 7422#
OBT115 7185# 7269 7269# 7425 7425#
OBT116 7185# 7427 7427#
OBT117 7185# 7198 7198# 7199 7199# 7202 7202# 7409 7409#
OBT12 7185# 7270 7270# 7304 7304# 7326 7326# 7411 7411# 7422 7422# 7423 7423#
OBT120 7185# 7429 7429#
OBT121 7185# 7441 7441# 7458 7458#
OBT122 7185# 7198 7198# 7199 7199# 7285 7285# 7329 7329# 7430 7430#
OBT123 7185# 7405 7405# 7432 7432#
OBT124 7185# 7216 7216# 7233 7233# 7250 7250# 7405 7405# 7426 7426# 7442 7442# 7447
7447#
OBT125 7185# 7199 7199# 7413 7413# 7427 7427# 7442 7442# 7450 7450#
OBT126 7185# 7442 7442# 7443 7443#
OBT127 7185# 7196 7196# 7207 7207#
OBT13 7185# 7200 7200# 7204 7204# 7211 7211# 7384 7384# 7411 7411#
OBT130 7185# 7204 7204# 7212 7212# 7240 7240# 7427 7427# 7439 7439#
OBT131 7185# 7414 7414# 7439 7439# 7441 7441#
OBT132 7185# 7196 7196# 7197 7197# 7279 7279# 7280 7280# 7329 7329# 7444 7444# 7447
7447#
OBT133 7185# 7201 7201# 7206 7206# 7207 7207# 7284 7284# 7300 7300# 7365 7365# 7441
7441#
OBT134 7185# 7414 7414# 7423 7423# 7440 7440# 7443 7443# 7449 7449#
OBT135 7185# 7197 7197# 7406 7406#
OBT136 7185# 7292 7292# 7422 7422# 7440 7440#
OBT137 7185# 7219 7219# 7290 7290# 7417 7417# 7440 7440#
OBT14 7185# 7200 7200# 7238 7238# 7239 7239# 7322 7322# 7404 7404# 7424 7424# 7427
7427# 7431 7431#
OBT140 7185# 7197 7197# 7329 7329# 7410 7410# 7412 7412# 7430 7430# 7440 7440# 7444
7444#
OBT141 7185# 7201 7201# 7202 7202# 7441 7441#
OBT142 7185# 7384 7384# 7414 7414#
OBT143 7185# 7197 7197# 7288 7288# 7404 7404# 7409 7409# 7420 7420#
OBT144 7185# 7219 7219# 7259 7259# 7405 7405# 7409 7409# 7412 7412# 7443 7443#
OBT145 7185# 7361 7361# 7413 7413# 7426 7426# 7452 7452# 7455 7455#
OBT146 7185# 7316 7316# 7410 7410# 7452 7452#
OBT147 7185# 7406 7406# 7407 7407# 7423 7423# 7425 7425# 7451 7451#
OBT15 7185# 7236 7236# 7330 7330# 7344 7344# 7361 7361# 7384 7384# 7418 7418# 7422
7422# 7423 7423# 7430 7430# 7438 7438#
OBT150 7185# 7201 7201# 7203 7203# 7205 7205# 7271 7271# 7418 7418# 7421 7421# 7428
7428# 7431 7431#
OBT151 7185# 7326 7326# 7410 7410# 7418 7418#
OBT152 7185# 7202 7202# 7203 7203# 7205 7205# 7286 7286# 7414 7414# 7423 7423# 7444
7444# 7451 7451#
OBT153 7185# 7208 7208# 7235 7235# 7246 7246# 7248 7248# 7316 7316# 7359 7359# 7362
7362# 7405 7405# 7414 7414# 7428 7428# 7434 7434#
OBT154 7185# 7200 7200# 7203 7203# 7362 7362# 7404 7404# 7427 7427# 7452 7452#
OBT155 7185# 7203 7203# 7361 7361# 7406 7406# 7415 7415# 7431 7431#
OBT156 7185# 7347 7347# 7415 7415# 7418 7418# 7421 7421# 7424 7424# 7432 7432# 7439
7439# 7440 7440# 7446 7446# 7451 7451# 7455 7455#
OBT157 7185# 7296 7296# 7364 7364# 7405 7405#
OBT16 7185# 7206 7206# 7405 7405# 7423 7423# 7424 7424# 7427 7427# 7453 7453#
OBT160 7185# 7207 7207# 7281 7281# 7324 7324# 7362 7362# 7404 7404# 7411 7411# 7429
7429# 7449 7449#
OBT161 7185# 7436 7436# 7451 7451#
OBT162 7185# 7202 7202# 7219 7219# 7221 7221# 7326 7326# 7407 7407# 7445 7445#
OBT163 7185# 7233 7233# 7241 7241# 7323 7323# 7384 7384# 7408 7408# 7428 7428#
OBT164 7185# 7196 7196# 7321 7321# 7384 7384# 7404 7404# 7416 7416# 7428 7428# 7437
7437# 7445 7445#
OBT165 7185# 7207 7207# 7219 7219# 7324 7324# 7408 7408# 7416 7416# 7417 7417# 7418
7418# 7419 7419# 7420 7420# 7451 7451#
OBT166 7185# 7201 7201# 7204 7204# 7205 7205# 7231 7231# 7241 7241# 7321 7321# 7361
7361# 7363 7363# 7427 7427# 7431 7431#
OBT167 7185# 7208 7208# 7214 7214# 7232 7232# 7291 7291# 7417 7417# 7422 7422#
OBT17 7185# 7196 7196# 7206 7206# 7208 7208# 7408 7408# 7419 7419# 7439 7439#
OBT170 7185# 7289 7289# 7323 7323# 7412 7412# 7455 7455#
OBT171 7185# 7201 7201# 7361 7361# 7417 7417# 7421 7421# 7425 7425# 7435 7435# 7451
7451#
OBT172 7185# 7201 7201# 7323 7323# 7362 7362# 7384 7384# 7417 7417# 7422 7422# 7432
7432# 7445 7445#
OBT173 7185# 7200 7200# 7203 7203# 7316 7316# 7349 7349# 7404 7404# 7405 7405# 7412
7412# 7420 7420#
OBT174 7185# 7203 7203# 7205 7205# 7207 7207# 7237 7237# 7316 7316# 7324 7324# 7360
7360# 7422 7422# 7435 7435# 7440 7440# 7445 7445#
OBT175 7185# 7205 7205# 7213 7213# 7411 7411# 7434 7434# 7435 7435# 7441 7441# 7452
7452#
OBT176 7185# 7199 7199# 7205 7205# 7207 7207# 7282 7282# 7384 7384# 7404 7404# 7408
7408# 7418 7418# 7419 7419# 7422 7422# 7428 7428# 7436 7436# 7437 7437# 7445
7445# 7450 7450# 7454 7454# 7455 7455#
OBT2 7185# 7206 7206# 7232 7232# 7326 7326# 7405 7405# 7451 7451#
OBT20 7185# 7196 7196# 7200 7200# 7232 7232# 7369 7369# 7420 7420# 7421 7421# 7423
7423# 7429 7429# 7430 7430#
OBT21 7185# 7247 7247# 7347 7347# 7362 7362# 7410 7410# 7433 7433#
OBT22 7185# 7350 7350# 7368 7368# 7406 7406# 7412 7412#
OBT23 7185# 7200 7200# 7202 7202# 7228 7228# 7347 7347# 7440 7440#
OBT24 7185# 7329 7329# 7409 7409#
OBT25 7185# 7200 7200# 7430 7430# 7435 7435#
OBT26 7185# 7424 7424#
OBT27 7185# 7200 7200# 7232 7232# 7323 7323# 7433 7433#
OBT3 7185# 7234 7234# 7420 7420# 7426 7426# 7436 7436# 7438 7438# 7455 7455#
OBT30 7185# 7409 7409# 7421 7421#
OBT31 7185# 7196 7196# 7206 7206# 7268 7268# 7347 7347# 7419 7419#
OBT32 7185# 7419 7419# 7434 7434#
OBT33 7185# 7228 7228# 7428 7428#
OBT34 7185# 7197 7197# 7347 7347# 7409 7409# 7420 7420# 7424 7424# 7431 7431#
OBT35 7185# 7203 7203# 7316 7316# 7409 7409# 7424 7424#
OBT36 7185# 7205 7205# 7244 7244# 7409 7409# 7418 7418# 7434 7434# 7449 7449#
OBT37 7185# 7197 7197# 7404 7404#
OBT4 7185# 7200 7200# 7206 7206# 7232 7232# 7411 7411# 7413 7413# 7418 7418# 7421
7421# 7422 7422# 7424 7424# 7426 7426# 7428 7428# 7433 7433#
OBT40 7185# 7228 7228# 7322 7322# 7440 7440# 7442 7442#
OBT41 7185# 7283 7283# 7403 7403# 7409 7409# 7429 7429# 7442 7442#
OBT42 7185# 7202 7202# 7232 7232# 7432 7432#
OBT43 7185# 7219 7219# 7348 7348#
OBT44 7185# 7362 7362# 7384 7384# 7427 7427# 7435 7435#
OBT45 7185# 7372 7372# 7374 7374#
OBT46 7185# 7228 7228# 7420 7420# 7438 7438# 7444 7444#
OBT47 7185# 7428 7428#
OBT5 7185# 7201 7201# 7233 7233# 7384 7384# 7428 7428# 7429 7429# 7435 7435# 7438
7438# 7439 7439# 7454 7454#
OBT50 7185# 7413 7413# 7430 7430# 7444 7444#
OBT51 7185# 7442 7442# 7444 7444#
OBT52 7185# 7245 7245# 7405 7405# 7418 7418# 7444 7444# 7448 7448#
OBT53 7185# 7405 7405# 7434 7434# 7446 7446#
OBT54 7185# 7419 7419#
OBT55 7185# 7425 7425# 7440 7440# 7441 7441# 7458 7458#
OBT56 7185# 7204 7204#
OBT57 7185# 7422 7422# 7445 7445# 7455 7455#
OBT6 7185# 7349 7349# 7361 7361# 7411 7411# 7431 7431#
OBT60 7185# 7422 7422#
OBT61 7185# 7203 7203# 7366 7366# 7432 7432#
OBT62 7185# 7204 7204# 7326 7326# 7442 7442#
OBT63 7185# 7200 7200# 7432 7432# 7449 7449# 7458 7458#
OBT64 7185# 7411 7411# 7439 7439#
OBT65 7185# 7199 7199# 7435 7435# 7439 7439#
OBT66 7185# 7203 7203# 7419 7419# 7449 7449#
OBT67 7185#
OBT7 7185# 7204 7204# 7345 7345# 7348 7348# 7384 7384# 7403 7403# 7418 7418# 7423
7423# 7426 7426# 7433 7433# 7438 7438#
OBT70 7185# 7437 7437#
OBT71 7185# 7426 7426# 7429 7429#
OBT72 7185# 7223 7223# 7445 7445# 7452 7452#
OBT73 7185# 7373 7373# 7411 7411# 7420 7420# 7429 7429#
OBT74 7185# 7432 7432#
OBT75 7185# 7202 7202# 7207 7207# 7329 7329# 7436 7436# 7440 7440# 7445 7445#
OBT76 7185# 7226 7226# 7233 7233# 7384 7384# 7439 7439# 7444 7444#
OBT77 7185# 7228 7228# 7386 7386# 7440 7440# 7443 7443#
OPEN 6168
OUT 6985
OUTBUF 7019
OUTCHR 159# 1122 1138 1225
OUTSTR 160# 5532 6412 6421 6435 6445 6456 6477 6495 6750
PSTRCT 7103# 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7255 7263
7266 7267 7268 7269 7270 7271 7276 7279 7280 7281 7282 7283 7284 7285
7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7313 7316 7321
7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349
7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373
7374 7384 7389 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413
7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427
7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441
7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455
7458 7461 7462
PUTOB 7098# 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7249 7258
7266 7267 7268 7269 7270 7271 7279 7280 7281 7282 7283 7284 7285 7286
7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7303 7316 7321 7322
7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349 7350
7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373 7374
7384 7385 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414
7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428
7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442
7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7458
7461 7462
Q1 7109# 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7255 7263
7266 7267 7268 7269 7270 7271 7276 7279 7280 7281 7282 7283 7284 7285
7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7313 7316 7321
7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349
7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373
7374 7384 7389 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413
7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427
7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441
7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455
7458 7461 7462
RAD50 2603# 7037
RELEAS 6201 7020
REMOTE 261# 279 302# 512 513# 564 564# 692 692# 744 744# 1030 1030# 1035
1035# 1049 1054# 1085 1089# 1115 1117# 1176 1184# 1220 1222# 1228 1228# 1240
1247# 1357 1359# 1452 1454# 1547 1562# 1575 1584# 1610 1618# 1625 1627# 1641
1643# 2280 2290# 2477 2479# 2575 2582# 2624 2696# 3112 3115# 3262 3264# 3887
3888# 4558 4560# 4934 4934# 5284 5285# 5336 5342# 5363 5365# 5380 5383# 5396
5399# 5450 5456# 5495 5499# 6162 6164# 6170 6178# 6185 6187# 6191 6195# 6204
6206# 6260 6260# 6308 6308# 6943
SKPINC 164# 1158
SKPINL 165# 1236
STATO 6976
STATZ 6199 6974
STRTIP 154# 390 485 490 492 840 1927 5040 5346 5348 5464 5467
SYSDEV 6960 7068
SYSNAM 6961 7072
TABIN 2609# 7037
TALK 166# 735 1073
TTYUUO 157# 158 159 160 161 162 163 164 1095 1097
VRSN. 77
..0001 302# 6943
..0002 513# 6966
..0003 564# 6968
..0004 692# 6969
..0005 744# 6970
..0006 1030# 6971
..0007 1035# 6972
..0010 1054# 6973
..0011 1089# 6979
..0012 1117# 6980
..0013 1184# 6981
..0014 1222# 6988
..0015 1228# 6990
..0016 1247# 6991
..0017 1359# 6994
..0020 1454# 6994
..0021 1562# 6995
..0022 1584# 7009
..0023 1618# 7011
..0024 1627# 7019
..0025 1643# 7020
..0026 2290# 7021
..0027 2479# 7030
..0030 2582# 7032
..0031 2696# 7037
..0032 3115# 7037
..0033 3264# 7039
..0034 3888# 7040
..0035 4560# 7041
..0036 4934# 7042
..0037 5285# 7043
..0040 5342# 7044
..0041 5365# 7050
..0042 5383# 7051
..0043 5399# 7054
..0044 5456# 7057
..0045 5499# 7063
..0046 6164# 7066
..0047 6178# 7067
..0050 6187# 7070
..0051 6195# 7072
..0052 6206# 7076
..0053 6260# 7078
..0054 6308# 7079
ADD 2198 2327 2504 3879 4191 4680 4681 4849 4928 5053 5077 5119 5140 5143
5169 5202 5295 5389 5553 5644 5727 6074 6132 6182 6223 6246 6268 6521
6525 6526 6543 6544 6559 6599 6617 6647 6704 6706 6819 6845 6880 6881
6898
ADDB 3725 5603 5955 5961 6092
ADDI 718 1016 1258 1571 1621 1964 1978 2129 2204 2261 2516 2539 3102 3240
3751 4352 4440 4799 4817 5009 5046 5047 5083 5120 5132 5156 5159 5173
5177 5276 5566 5669 5728 5809 5838 5902 5913 5915 5923 6211 6221 6230
6426 6450 6461 6491 6520 6532 6582 6584 6587 6589 6592 6603 6606 6608
6622 6757
ADDM 1045 5354 5481 5779 5839 5856 6097 6253 6428 6438 6440 6451 6462 6500
6501 6502 6503 6508 6513 6515 6686 6688 6690 6692 6694 6696 6716 6721
6722 6723 7492 7494
ANDCAM 3138 6128
ANDI 1348 4436 6577
AOBJN 587 595 763 1366 3142 3162 5064 5423 5434 5437 5492 5578 6116 6681
7061
AOBJP 1488 5577
AOJ 2329
AOJA 608 2087 2104 2124 2126 2495 3242 3444 4189 4853 5027 5214 5292 5392
5411 5517 6858 6863
AOJE 3415 3426 3442 3451 3762 4033 4079 4604
AOJG 4861
AOJGE 5110 6131
AOJL 2511 5241
AOJN 520 2520 3574 3880 4094 4569 4762 5205
AOS 1046 2196 2533 2823 3392 3508 3874 4424 4792 5107 5196 5601 5677 5780
5925 5941 5949 5974 6057
AOSA 1993
AOSLE 733
AOSN 5471
ASCII 2459 7040 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207
7208 7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233
7234 7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7249
7255 7258 7263 7266 7267 7268 7269 7270 7271 7276 7279 7280 7281 7282
7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302
7303 7313 7316 7321 7322 7323 7324 7326 7327 7329 7330 7331 7344 7345
7346 7347 7348 7349 7350 7359 7360 7361 7362 7363 7364 7365 7366 7367
7368 7369 7372 7373 7374 7384 7385 7389 7403 7404 7405 7406 7407 7408
7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422
7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436
7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450
7451 7452 7453 7454 7455 7458 7461 7462
ASCIZ 5532 6412 6421 6435 6445 6456 6477 6495 6750
ASH 4281 6507 6512 6756
ASHC 2498
BLOCK 1849 1850 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869
1870 1873 1874 1876 1881 1882 1884 1888 1889 1890 1891 1892 1893 1894
1897 1902 1903 1904 1905 5608 6994 7011
BLT 350 1401 2206 2330 5446 5469 6078 6117 6125 6214 7045 7048
BYTE 77 7037
CAI 1501 1988 2315
CAIA 2144
CAIE 472 502 732 772 881 1136 1632 1976 2107 2127 2168 2178 2223 2464
2767 2775 2895 2899 3437 3447 3464 3505 3577 3589 3612 4029 4075 4234
4257 4276 4361 4371 4385 4387 4397 4403 4408 4471 4522 4545 4611 4615
4704 4831 5006 5218 5837 6760 6862
CAIG 560 1171 3474 3742 3876 4247 4304 4345 4348 5643 5694
CAIGE 517 1195 2390 2391 3424 4486 6415
CAIL 573 792 2896 3418 3420 3438 3448 4187 4354 4437 5151 5172 5183 5288
5405 5567 5591 6752
CAILE 522 572 793 2387 2881 3412 3421 3465 3571 4030 4076 4091 4186 4194
4353 4366 4380 4438 4519 4577 4599 4801 5019 5094 5127 5638 5698 6753
CAIN 311 317 320 324 330 333 527 529 531 533 535 582 713 715
770 773 867 1199 1205 1261 1263 1290 1332 1349 2123 2125 2147 2335
2397 2399 2401 2423 2445 2459 2765 2879 2893 3048 3050 3527 3549 3562
3578 3600 3807 4054 4205 4258 4308 4481 4528 4532 4538 4541 4543 4597
4612 4619 4694 4696 4698 4700 4702 4804 4806 4808 4810 4827 4829 4842
4910 4939 4994 5117 5198 5208 5683 5685 6749 6761 6763 6855
CALLI 339 345 790 1528 1604 2314 5352 5480 5507 6048 6135 6247 6265 6273
6278 6950 6952 6955 7021 7027 7498 7500
CAME 1022 1126 1365 2789 3040 3139 3170 3259 3274 3674 4145 4562 4746 4909
6945
CAMG 4336 4969 5710 5881 5906 6270 6403 6840 6903
CAMGE 2492 2557 3810 5362 5366 5549 6699 6700 6702
CAML 2494 3099 3180 4218 5368 5568 5592 6140
CAMLE 780 781 2556 4143 5917 5926 5942 5956 5962 5975 5977 6667
CAMN 1367 3267 3429 3432 3634 3641 4563 4634 4638 4984 4989 5359 5391 5575
5760 5904 5992 6401
CLEARB 2487 6264 6728 7043 7046
CLEARM 358 2500 4683 7474
COMMEN 417 1793 3678 6151
DEFINE 260 263 270 302 513 564 692 744 1030 1035 1054 1089 1117 1184
1222 1228 1247 1359 1454 1562 1584 1618 1627 1643 2290 2479 2582 2603
2609 2615 2618 2621 2696 3115 3264 3888 4560 4934 5285 5342 5365 5383
5399 5456 5499 6164 6178 6187 6195 6206 6260 6308 6943 7086 7091 7097
7102 7109 7116 7128 7138 7143 7151 7165 7174 7185 7196 7197 7198 7199
7200 7201 7202 7203 7204 7205 7206 7207 7208 7211 7212 7213 7214 7216
7219 7221 7223 7226 7228 7231 7232 7233 7234 7235 7236 7237 7238 7239
7240 7241 7244 7245 7246 7247 7248 7250 7259 7266 7267 7268 7269 7270
7271 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291
7292 7296 7298 7300 7302 7304 7316 7321 7322 7323 7324 7326 7327 7329
7330 7331 7344 7345 7346 7347 7348 7349 7350 7359 7360 7361 7362 7363
7364 7365 7366 7367 7368 7369 7372 7373 7374 7384 7386 7403 7404 7405
7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419
7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433
7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447
7448 7449 7450 7451 7452 7453 7454 7455 7458 7461 7462 7510
DEPHAS 1900 1908 2057 5442
DIVI 2429
DPB 659 672 1534 1535 1536 1537 1538 1596 1597 1598 1639 1674 1675 1676
1725 2138 2234 2523 3325 3875 3878 3958 5115 5121 5268 5279 5390
END 7559
EXCH 402 405 414 568 604 623 737 1010 1112 1148 1155 1229 1406 3202
3206 3391 3489 3491 3492 3493 3639 3804 3859 3919 4128 4133 4152 4177
4211 4316 4337 4411 4413 4654 4766 4894 4895 5024 5126 5251 5261 5305
5500 6853
EXP 2214 2242
EXTERN 221 222 223 224 225 226 227 228 229 230 231 232
FADR 4192 4271
FADRM 3211
FDVR 4209
FMPR 2519 3210 3218 3226 4203
FSBR 4199
HLL 3467 4708 4717 4729 5023 5239 5357 6079 6093 6842
HLLE 3414 3425 3441 3450 3573 4032 4078
HLLM 622 1324
HLLOS 4501
HLLZ 4850 6096
HLLZM 1486 1985 5242
HLLZS 1539 1593
HLR 1511 3395 3989 4455
HLRE 519 2538 3918 4093 5226 6219 6825
HLRM 4647 5000
HLRO 4603 6188
HLRZ 525 552 576 650 668 690 762 766 769 779 784 892 894 924
1061 1271 1274 1312 1321 1325 1326 1338 1343 1346 1351 1502 1925 1939
2001 2005 2106 2121 2146 2222 2260 2326 2336 2369 2395 2437 3015 3080
3091 3122 3130 3141 3144 3145 3256 3258 3265 3266 3273 3310 3333 3335
3337 3338 3342 3344 3346 3351 3353 3357 3359 3363 3367 3371 3375 3379
3501 3518 3529 3551 3559 3564 3576 3599 3615 3626 3627 3628 3649 3650
3732 3748 3779 3795 3809 3847 3857 3890 3895 3906 3911 3928 4007 4017
4027 4050 4052 4074 4084 4104 4105 4109 4112 4137 4139 4172 4255 4359
4370 4384 4485 4493 4496 4521 4526 4530 4533 4553 4561 4588 4610 4617
4667 4669 4692 4707 4716 4723 4728 4740 4756 4775 4785 4803 4821 4825
4833 4838 4841 4847 4860 4883 4888 4890 4973 5005 5081 5086 5129 5213
5247 5262 5378 5415 5682 5689 5700 5719 5722 5732 5750 5753 5756 5770
5783 5798 5801 5814 5826 5834 5845 5862 5872 5877 5885 5888 5944 5982
6091 6209 6660 6673 6675 6859 6861 6879 6897
HLRZM 2311 3977
HLRZS 661
HRL 2202 2305 2328 3393 3752 3961 4534 4682 6121 6212 6618 6882 6900
HRLI 554 1264 1679 1731 1981 2210 2441 2707 2796 2897 2904 2909 3103 3846
4584 4896 4927 5025 5052 5147 5151 5160 5164 5177 5203 5294 5436 5544
6076 6104 6105 6639 7058
HRLM 1396 1542 1601 2422 2432 2534 3082 3146 3147 3269 3471 3619 3913 3964
3993 4010 4457 4648 4851 4948 5078 5194 6208 6218 6406 6569 6574 6611
6662 6677 7497
HRLOM 3735
HRLZ 585 592 752 4786 5468 6114 6272
HRLZI 1966 2197 2212 2271 4047 4063 5174 5180 6889
HRLZM 1485 1974 2231 3967 6555
HRLZS 3164
HRR 710 3860 5255 6635 6718
HRREI 4350 4374 4406 4547
HRRI 313 1509 1512 1968 2233 2442 2797 2822 2852 2931 2964 3169 3183 4877
5061 5193 5227 5545 6080
HRRM 314 686 758 760 761 1212 1213 1388 1572 1623 1681 1682 1729 2365
3118 3119 3160 3234 3277 3477 3534 3608 3616 3773 3783 3990 4009 4034
4456 4467 4484 4919 4950 4965 5195 5207 5254 6095 6213 6224 6551 6554
6557 6566 6567 6570 6571 6575 6578 6580 6583 6585 6588 6591 6602 6604
6605 6607 6609 6665 6680 6719 6720 6958 7502
HRROI 371 749 1253 3730
HRRZ 524 526 537 541 544 548 559 571 759 767 775 778 785 826
830 891 934 1060 1214 1270 1322 1339 1352 1389 1395 1517 1541 1599
1647 1677 1697 1727 1963 1996 2002 2164 2226 2303 2371 2393 2396 2410
2416 2872 2902 3093 3117 3128 3261 3268 3272 3276 3279 3347 3443 3446
3452 3507 3519 3525 3530 3547 3552 3558 3566 3567 3575 3597 3602 3604
3606 3614 3624 3625 3655 3656 3744 3771 3785 3799 3849 3907 3920 3929
3939 3969 3999 4008 4020 4025 4028 4053 4101 4110 4113 4147 4148 4166
4171 4254 4256 4358 4360 4368 4369 4382 4383 4470 4479 4483 4506 4509
4511 4524 4527 4557 4565 4608 4614 4618 4666 4668 4690 4693 4710 4719
4724 4727 4758 4783 4784 4800 4823 4826 4837 4840 4852 4887 4889 4903
4907 4908 4924 4931 4961 5041 5080 5082 5097 5105 5130 5145 5361 5404
5408 5413 5418 5424 5432 5491 5516 5679 5704 5706 5724 5735 5737 5740
5744 5758 5765 5772 5775 5785 5793 5805 5811 5816 5818 5830 5840 5851
5857 5867 5869 5946 5985 5990 6242 6269 6293 6400 6614 6646 6652 6663
6669 6671 6678 6682 6818 6833 6838 6864 6871 6895 6896 6920
HRRZI 347 1503 1505 2007 2199 2203 2205 2209 2230 2268 2298 2312 2356 4419
4429 4583 5206 5225 6596 6637 6828 6874 7475 7477 7479 7482 7484 7487
HRRZM 1390 1391 1673 1726 2257 3016 3978 4576 4935 4942 5431 5490 6070 6126
6235 6623 6725 6727 7476 7478 7480 7481 7483 7485 7488
HRRZS 1644 3098 3179 5394
IDIV 3111 4208 4313 4339 5103 5154 5637 5642
IDIVI 2431 2532 4267 5160 5386 6490 6519 6530
IDPB 1265 2838 2846 2853 2864 2965 2984 3025 3046 3057 3066 3173 3177 3178
6983
IF1 100 7185 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207
7208 7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233
7234 7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7250
7259 7266 7267 7268 7269 7270 7271 7279 7280 7281 7282 7283 7284 7285
7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7304 7316 7321
7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349
7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373
7374 7384 7386 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413
7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427
7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441
7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455
7458 7461 7462
IFB 7037
IFE 105 194 349 372 750 1621 1663 1689 1781 3417 3542 3545 3557 3595
3802 3821 5235 5327 6717 7037 7196 7197 7198 7199 7200 7201 7202 7203
7204 7205 7206 7207 7208 7211 7212 7213 7214 7216 7219 7221 7223 7226
7228 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7244
7245 7246 7247 7248 7255 7263 7266 7267 7268 7269 7270 7271 7276 7279
7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7296
7298 7300 7302 7313 7316 7321 7322 7323 7324 7326 7327 7329 7330 7331
7344 7345 7346 7347 7348 7349 7350 7359 7360 7361 7362 7363 7364 7365
7366 7367 7368 7369 7372 7373 7374 7384 7389 7403 7404 7405 7406 7407
7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421
7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435
7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449
7450 7451 7452 7453 7454 7455 7458 7461 7462
IFGE 7037
IFIDN 7037
IFLE 7037
IFN 70 85 108 187 348 371 377 749 844 945 1038 1077 1128 1566
1622 1658 1684 1779 1782 2026 2061 2075 2090 2981 2999 3416 3594 3789
3828 3864 5229 5519 6015 6043 6314 6407 6464 6776 6980 6992 7037 7185
7189 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7255 7263
7266 7267 7268 7269 7270 7271 7276 7279 7280 7281 7282 7283 7284 7285
7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7313 7316 7321
7322 7323 7324 7326 7327 7329 7330 7331 7332 7334 7344 7345 7346 7347
7348 7349 7350 7351 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368
7369 7372 7373 7374 7384 7389 7403 7404 7405 7406 7407 7408 7409 7410
7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424
7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438
7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452
7453 7454 7455 7458 7461 7462 7514 7530 7534 7538
IFNDEF 64 66 84 86 87 91 93 95 97 99 102 104 106 111
203 1780 1783 1784
ILDB 712 1033 2443 2454 2463 2920 3237 5488 5547
IMUL 3239 4202 5137
IMULB 5138
IMULI 3749 5114 5164 5552
INPUT 6184 6198 6973
INTERN 7514 7516 7518 7519 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530
7534 7536 7538 7544 7547 7548 7549 7550 7551 7554 7557
IORI 1201 2528
IORM 698
IOWD 6181 7070
IRP 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7211
7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234 7235
7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7271 7279 7280
7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7296
7298 7300 7302 7316 7321 7322 7323 7324 7326 7327 7329 7330 7331 7344
7345 7346 7347 7348 7349 7350 7359 7360 7361 7362 7363 7364 7365 7366
7367 7368 7369 7372 7373 7374 7384 7403 7404 7405 7406 7407 7408 7409
7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423
7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437
7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451
7452 7453 7454 7455 7458 7461 7462
IRPC 7037 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208
7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232 7233 7234
7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248 7255 7263
7266 7267 7268 7269 7270 7271 7276 7279 7280 7281 7282 7283 7284 7285
7286 7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7313 7316 7321
7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349
7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373
7374 7384 7389 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413
7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427
7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441
7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455
7458 7461 7462
JFCL 1237 2734 2736 2737 3221 3235 3241 4246 4280 4282 4293 4375 4377 4391
4393
JRA 2484 3528
JRST 306 313 315 318 319 321 323 325 329 331 332 334 335 336
384 393 400 412 451 473 475 486 505 518 528 530 532 534
536 547 561 563 569 574 575 588 596 600 610 617 653 662
666 674 683 691 700 704 716 717 720 736 757 765 771 774
776 782 786 794 795 806 810 815 820 824 828 833 851 853
855 857 863 868 870 877 883 898 903 1025 1028 1032 1047 1070
1075 1099 1100 1107 1113 1120 1122 1124 1133 1137 1140 1159 1160 1169
1172 1174 1175 1193 1200 1204 1207 1215 1218 1234 1275 1280 1299 1315
1330 1335 1340 1350 1369 1402 1412 1417 1421 1442 1448 1450 1460 1466
1470 1475 1499 1506 1530 1532 1573 1606 1608 1609 1628 1667 1702 1704
1718 1737 1740 1742 1759 1934 1945 1960 1977 2011 2101 2108 2109 2113
2128 2131 2139 2148 2149 2160 2166 2189 2224 2240 2247 2276 2308 2321
2337 2347 2359 2381 2384 2388 2392 2398 2400 2403 2404 2407 2412 2425
2430 2435 2446 2449 2460 2474 2493 2540 2701 2707 2715 2731 2733 2735
2738 2741 2747 2750 2752 2753 2759 2764 2766 2768 2770 2780 2784 2790
2794 2802 2805 2806 2807 2809 2810 2811 2812 2813 2814 2815 2816 2830
2833 2834 2835 2836 2840 2844 2845 2849 2856 2861 2862 2867 2874 2880
2882 2885 2886 2887 2888 2892 2894 2897 2898 2901 2903 2908 2910 2918
2919 2935 2942 2954 2969 2976 3004 3013 3021 3022 3023 3024 3028 3031
3033 3037 3041 3043 3051 3052 3055 3056 3060 3068 3074 3083 3100 3125
3140 3165 3171 3175 3181 3185 3193 3198 3200 3222 3251 3260 3268 3270
3275 3280 3303 3313 3326 3354 3360 3364 3368 3372 3376 3395 3397 3413
3419 3422 3427 3430 3431 3433 3434 3440 3453 3461 3466 3470 3476 3506
3532 3535 3550 3572 3579 3580 3590 3591 3601 3609 3613 3617 3631 3635
3642 3644 3657 3675 3676 3733 3743 3747 3756 3766 3787 3800 3855 3861
3877 3885 3898 3904 3923 3933 3943 3946 3950 3984 3994 4015 4031 4040
4043 4055 4056 4059 4066 4077 4081 4092 4118 4144 4146 4149 4155 4160
4168 4182 4206 4215 4216 4219 4220 4235 4239 4244 4248 4263 4265 4277
4285 4289 4294 4298 4305 4309 4312 4319 4323 4332 4341 4346 4349 4355
4362 4367 4372 4378 4381 4386 4388 4394 4398 4400 4404 4409 4414 4423
4432 4439 4441 4459 4487 4491 4498 4502 4507 4513 4520 4523 4529 4531
4533 4537 4539 4540 4542 4544 4546 4550 4564 4567 4578 4592 4598 4600
4605 4616 4620 4635 4639 4642 4644 4649 4655 4659 4685 4695 4697 4699
4701 4703 4705 4714 4721 4725 4732 4742 4747 4778 4802 4805 4807 4809
4811 4819 4822 4828 4830 4832 4835 4863 4865 4870 4875 4880 4884 4899
4901 4911 4912 4929 4936 4940 4967 4975 4977 4980 4996 5002 5007 5013
5020 5029 5037 5043 5095 5118 5128 5133 5153 5182 5184 5243 5256 5286
5289 5297 5301 5308 5313 5321 5335 5344 5367 5369 5375 5379 5395 5406
5425 5440 5449 5461 5472 5504 5508 5511 5536 5554 5569 5576 5581 5582
5585 5593 5606 5633 5647 5666 5684 5686 5695 5696 5711 5713 5718 5730
5761 5764 5774 5797 5823 5828 5849 5879 5887 5893 5905 5907 5918 5924
5927 5930 5943 5950 5957 5963 5976 5993 6001 6008 6049 6051 6083 6123
6136 6137 6141 6142 6145 6169 6180 6271 6275 6279 6280 6295 6306 6402
6404 6504 6697 6701 6703 6705 6707 6730 6747 6750 6751 6754 6758 6762
6764 6765 6767 6768 6841 6856 6883 6890 6909 6921 6925 6933 6946 6949
6959 6967 6971 6977 6978 6981 6982 6986 6998 6999 7003 7007 7008 7010
7014 7017 7018 7022 7029 7031 7049 7062 7507
JRSTF 2402
JSA 2476
JSP 652 656 657 670 679 680 695 696 1943 2010 2086 2098 2102 2111
2119 3669 4190 4197 4201 4207 4214 4310 4330 4720 4731 4751 4782 4788
5106 6050 6107 6423 6437 6447 6458 6661 6664 6670 6676 6679 6729
JSR 340
JUMPA 4331
JUMPE 456 459 581 593 603 763 768 818 1021 1062 1065 1210 1269 1273
1304 1305 1318 1320 1337 1345 1379 1416 1423 1445 1462 1467 1497 1637
1638 1669 1672 1695 1720 1724 1936 1937 1997 2174 2201 2372 2376 2389
2394 2444 2489 2531 2535 2883 2961 2990 3089 3129 3133 3135 3204 3227
3238 3253 3295 3323 3411 3423 3458 3502 3517 3556 3583 3652 3662 3665
3719 3741 3745 3754 3760 3768 3776 3792 3805 3850 3894 3909 3927 3937
3973 3988 4026 4051 4102 4108 4111 4114 4135 4136 4153 4173 4212 4213
4338 4466 4480 4508 4525 4556 4609 4691 4755 4824 4845 4846 4858 4906
4938 4946 4974 5092 5249 5414 5476 5477 5515 5663 5688 5702 5734 5739
5776 5786 5874 5890 5953 5995 6060 6210 6220 6261 6867 6870 6888 6917
6932
JUMPG 2488 3722
JUMPGE 2418 2974 4288 4637 4761 4988 6494
JUMPL 2427 2448 2928 2933 3670 3671 4678 5149 5430 6231 6245 6826
JUMPLE 5657 5934 6263
JUMPN 455 484 538 544 1196 1309 1311 1317 1375 1381 1434 1655 1711 1999
2000 2004 2158 2367 2455 2465 2466 2890 2891 2970 3009 3094 3143 3475
3482 3488 3521 3531 3553 3565 3568 3586 3603 3646 3728 3772 3786 3797
3813 3922 4021 4125 4129 4311 4472 4629 4671 4843 4857 5489 5674 5681
5708 5721 5741 5752 5755 5767 5800 5813 5820 5842 5859 5871 5940 5948
5973 5989 6424 6448 6459 6683
LDB 501 516 521 577 590 791 1289 1631 2447 2481 2801 2821 2829 2848
2866 2878 2884 2962 3027 3059 3322 3753 3873 3982 4497 5018 5179 5548
LIST 5403 7037 7185 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206
7207 7208 7211 7212 7213 7214 7216 7219 7221 7223 7226 7228 7231 7232
7233 7234 7235 7236 7237 7238 7239 7240 7241 7244 7245 7246 7247 7248
7266 7267 7268 7269 7270 7271 7279 7280 7281 7282 7283 7284 7285 7286
7287 7288 7289 7290 7291 7292 7296 7298 7300 7302 7316 7321 7322 7323
7324 7326 7327 7329 7330 7331 7344 7345 7346 7347 7348 7349 7350 7359
7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7372 7373 7374 7384
7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416
7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430
7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444
7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7458 7461 7462
7466
LIT 7466
LOC 76
LSH 1278 2963 3110 3228 3312 3383 3750 4141 4142 4446 5163 5168 5170 5312
5388 5912 5914 6564
LSHC 5371
MLON 101
MOVE 318 321 325 331 334 340 351 360 361 364 369 394 410 470
481 553 567 651 665 669 673 687 703 731 736 783 800 802
871 880 910 1059 1198 1217 1252 1255 1342 1363 1364 1373 1377 1386
1400 1440 1484 1516 1520 1522 1526 1533 1595 1602 1636 1664 1670 1690
1696 1702 1714 1716 1722 1732 1734 1740 1758 1938 1942 1969 1973 2009
2103 2112 2130 2143 2145 2171 2181 2183 2185 2214 2221 2225 2242 2244
2267 2293 2296 2297 2386 2486 2499 2505 2507 2527 2774 2820 2945 2958
3007 3009 3014 3079 3090 3109 3124 3127 3134 3137 3152 3154 3155 3156
3161 3163 3172 3186 3199 3213 3220 3250 3271 3294 3302 3311 3319 3398
3456 3459 3515 3560 3581 3584 3587 3594 3620 3633 3636 3637 3643 3660
3663 3666 3668 3717 3726 3737 3765 3769 3770 3778 3784 3794 3798 3825
3869 3882 3896 3938 3959 3960 3972 3975 3997 4012 4044 4045 4060 4061
4088 4095 4098 4123 4126 4130 4138 4140 4150 4158 4165 4170 4175 4181
4225 4226 4229 4230 4284 4340 4389 4390 4410 4422 4447 4512 4529 4536
4630 4633 4662 4665 4676 4750 4764 4767 4772 4798 4813 4816 4844 4868
4874 4915 4922 4958 4966 4983 5008 5017 5022 5034 5036 5062 5065 5072
5075 5098 5150 5157 5182 5184 5192 5200 5210 5275 5277 5281 5290 5300
5303 5355 5356 5370 5373 5416 5435 5448 5457 5458 5462 5465 5478 5482
5503 5510 5560 5574 5584 5598 5634 5641 5655 5658 5661 5664 5667 5672
5691 5697 5709 5714 5726 5731 5742 5762 5769 5781 5782 5807 5821 5824
5832 5844 5847 5853 5861 5864 5875 5880 5884 5891 5900 5921 5951 5958
5966 5979 5983 5987 6000 6046 6061 6077 6100 6101 6102 6109 6110 6112
6118 6119 6120 6124 6133 6161 6181 6217 6226 6227 6252 6254 6267 6285
6298 6302 6304 6417 6430 6479 6489 6497 6506 6518 6529 6541 6545 6546
6562 6576 6594 6636 6640 6645 6674 6713 6715 6724 6726 6851 6901 6918
6921 6947 7023 7024 7047 7059 7496
MOVEI 322 342 344 354 374 452 460 463 466 523 542 583 599 602
658 685 748 756 789 827 831 860 861 1019 1074 1111 1132 1141
1147 1149 1162 1187 1262 1383 1405 1425 1481 1543 1600 1650 1651 1657
1678 1680 1703 1706 1707 1713 1728 1730 1741 1940 1959 1972 1991 2133
2243 2272 2319 2349 2362 2364 2406 2411 2421 2427 2428 2438 2470 2472
2515 2525 2717 2719 2799 2837 2851 2943 2949 2988 3012 3032 3045 3087
3131 3176 3190 3208 3214 3216 3219 3233 3247 3254 3298 3308 3321 3324
3387 3436 3484 3487 3512 3516 3724 3739 3759 3777 3871 3892 3900 3908
3957 3970 4018 4131 4159 4196 4222 4224 4237 4242 4250 4301 4365 4407
4449 4468 4494 4500 4554 4653 4745 4754 4777 4848 4866 4873 4881 4893
4904 4921 4944 4956 4963 5067 5084 5091 5093 5096 5102 5108 5109 5111
5135 5166 5176 5221 5310 5350 5351 5358 5385 5447 5479 5487 5506 5513
5514 5546 5630 5639 5646 5675 5699 5768 5787 5789 5791 5795 5803 5836
5843 5855 5860 5883 5894 5909 5919 5928 5954 5967 6127 6139 6166 6276
6286 6294 6542 6868 6878 6954 6957 7026 7044 7057 7491 7499 7501
MOVEM 341 343 355 373 375 514 515 566 711 738 890 893 1163 1206
1297 1302 1307 1314 1397 1398 1409 1438 1468 1483 1489 1492 1519 1521
1523 1525 1527 1544 1545 1592 1603 1645 1665 1691 1693 1715 1717 1733
1735 1736 1971 1979 1980 1982 1989 1992 2100 2172 2173 2182 2184 2186
2213 2215 2232 2241 2256 2262 2266 2269 2270 2275 2299 2306 2373 2708
2723 2769 2779 2798 2819 2827 2877 2987 3003 3011 3036 3042 3071 3123
3168 3196 3244 3301 3399 3667 3721 3791 3793 3856 3897 3974 4014 4023
4253 4463 4505 4510 4621 4628 4631 4684 4748 4781 4818 4834 4839 4882
4886 4891 5066 5068 5074 5090 5100 5101 5104 5146 5212 5307 5324 5376
5604 5629 5640 5645 5659 5670 5693 5703 5705 5717 5725 5729 5736 5759
5773 5806 5810 5817 5831 5833 5848 5852 5854 5866 5868 5892 5910 5916
5922 5936 5937 5947 5978 5986 5991 6058 6059 6063 6072 6075 6108 6111
6113 6143 6149 6165 6167 6183 6197 6228 6277 6290 6301 6303 6305 6405
6418 6431 6439 6493 6498 6522 6533 6536 6601 6620 6641 6672 6714
MOVMS 4297 4333 4334
MOVN 5045 5162 5602 5748 6073 6452 6463 6499 6552 6616 6621
MOVNI 1044 2503 2514 2522 3870 3903 4462 4713 4768 4914 5076 5191 5201 6222
6573 6610
MOVNS 584 591 671 753 2420 2490 3101 3192 4292 5187 5353 5387 6069 6087
6556
MOVS 1508 2310 2458 3136 3503 3504 3526 3548 3561 3598 3806 4679 5186
MOVSI 619 621 697 709 1301 1961 1984 2167 2699 3182 3224 3851 3853 4430
5119 5445 6064 6085 6634 6951
MOVSM 1986 3104
MOVSS 1510 4645 4998 5420
MULI 2497 2508 4278
OPDEF 145 146 147 148 151 152 153 154 157 158 159 160 161 162
163 164 165 166
ORCMI 6130
PAGE 60 275 476 506 589 625 667 706 745 787 825 904 944 1012
1108 1165 1227 1248 1282 1361 1403 1585 1635 1649 1705 1743 1760 2340
2385 2560 2600 2623 2697 2785 2841 2868 2912 2977 3018 3061 3107 3150
3166 3243 3281 3329 3377 3428 3462 3496 3536 3592 3632 3677 3757 3788
3899 3947 4161 4184 4232 4266 4307 4342 4415 4460 4516 4552 4568 4623
4656 4688 4726 4743 4779 4795 4836 4854 4937 5055 5190 5272 5315 5538
5610 6010 6053 6147 6207 6257 6310 6771 6814 6940 7082 7187 7277 7399
7469 7558
PHASE 1847 1879 1886 1901 2017 5428
POINT 501 516 521 577 590 659 672 709 791 1252 1264 1289 1534 1535
1536 1537 1538 1596 1597 1598 1631 1639 1674 1675 1676 1725 2112 2130
2150 2152 2234 2441 2447 2481 2523 2584 2585 2586 2587 2796 2945 2958
3182 3322 3325 3869 3958 3982 4497 5018 5115 5121 5279 7034 7035 7036
POP 545 546 606 611 612 613 614 615 616 660 681 682 699 727
764 839 841 872 874 875 1066 1067 1068 1069 1190 1192 1380 1387
1427 1433 1435 1694 1975 2188 2294 2295 2483 2530 2710 2711 2746 2907
2934 2972 2975 2994 3120 3278 3293 3300 3653 3654 3673 3729 3738 3761
3763 3782 3863 3916 3917 3932 3942 3996 3998 4038 4070 4071 4089 4107
4117 4179 4283 4318 4451 4452 4453 4458 4473 4489 4490 4570 4573 4587
4636 4640 4652 4733 4734 4735 4736 4737 4774 4791 4815 4859 4872 4925
4952 4991 5010 5011 5012 5050 5079 5089 5125 5223 5253 5264 5269 5296
5393 5473 5535 5605 6232 6251 6255 6288 6906 6907 6924
POPJ 403 406 415 624 714 725 728 734 739 1011 1017 1023 1036 1127
1142 1150 1156 1164 1226 1230 1238 1256 1260 1266 1281 1293 1333 1353
1368 1392 1436 1513 1546 1648 1699 2136 2208 2216 2300 2316 2331 2344
2353 2456 2467 2512 2712 2726 2729 2757 2777 2791 2824 2921 2953 2957
2995 3017 3069 3077 3095 3105 3148 3249 3339 3348 3380 3400 3417 3449
3472 3478 3485 3494 3499 3509 3513 3522 3554 3563 3569 3621 3736 3774
3808 3814 3826 3868 4000 4047 4063 4072 4099 4231 4251 4261 4272 4302
4306 4356 4425 4474 4574 4613 4622 4673 4738 4932 4953 4970 4985 4990
5054 5069 5141 5180 5188 5209 5270 5360 5485 5493 5501 5551 5570 5896
5932 5965 5968 5998 6189 6202 6215 6233 6236 6256 6291 6820 6829 6834
6846 6865 6872 6875 6889 6938 6984
PUSH 469 539 540 557 579 580 586 594 655 664 676 677 678 689
694 702 726 755 834 835 885 886 887 888 889 1055 1056 1057
1058 1186 1197 1328 1376 1382 1407 1424 1429 1431 1472 1480 1564 1587
1619 1620 1653 1709 1965 2099 2159 2177 2254 2258 2357 2361 2426 2440
2469 2480 2521 2704 2705 2744 2762 2905 2929 2968 2992 3092 3116 3255
3291 3296 3629 3647 3648 3659 3720 3780 3848 3891 3901 3902 3910 3912
3914 3926 3930 3936 3940 3963 3965 3966 4005 4006 4022 4036 4085 4103
4115 4174 4274 4314 4434 4435 4443 4444 4445 4448 4464 4476 4477 4478
4535 4548 4549 4571 4582 4585 4586 4646 4672 4709 4712 4718 4730 4752
4753 4757 4763 4771 4787 4789 4812 4867 4879 4897 4898 4900 4917 4920
4941 4947 5026 5028 5033 5048 5063 5071 5087 5116 5122 5143 5148 5149
5152 5153 5161 5165 5175 5178 5179 5185 5204 5217 5224 5240 5246 5258
5265 5325 5326 5328 5329 5330 5331 5332 5333 5334 5377 5407 5417 5419
5474 5543 5596 5625 5626 5649 5650 5651 5652 5653 5654 5898 5899 5903
5938 5970 5971 5980 5981 6068 6225 6241 6249 6284 6922 7004 7005 7015
PUSHJ 166 309 327 328 366 370 382 387 388 396 397 398 399 409
411 453 454 457 458 462 464 465 467 468 471 474 504 543
549 554 598 605 607 716 719 807 808 809 812 813 814 821
822 823 836 837 838 842 848 858 862 873 895 896 911 913
916 919 925 927 935 937 939 941 1015 1020 1024 1063 1064 1072
1168 1188 1189 1233 1254 1272 1288 1303 1308 1310 1313 1319 1323 1327
1329 1344 1347 1374 1378 1385 1404 1408 1414 1415 1419 1420 1426 1428
1430 1432 1439 1441 1444 1446 1449 1455 1456 1459 1461 1469 1474 1482
1491 1493 1495 1496 1498 1504 1524 1586 1589 1591 1630 1654 1671 1710
1723 1744 1747 1750 1752 1926 1928 1935 1967 1970 1998 2003 2120 2134
2137 2175 2176 2180 2200 2211 2229 2245 2246 2313 2320 2345 2346 2350
2351 2358 2366 2370 2375 2379 2383 2434 2439 2453 2462 2471 2473 2482
2501 2509 2524 2526 2529 2536 2698 2700 2709 2718 2720 2724 2728 2740
2745 2749 2751 2754 2756 2761 2763 2773 2783 2788 2800 2804 2808 2828
2832 2843 2847 2854 2855 2860 2863 2865 2871 2876 2906 2924 2926 2927
2930 2932 2947 2948 2950 2951 2967 2973 2985 2986 2989 2991 2993 3002
3008 3010 3020 3026 3047 3054 3058 3072 3075 3076 3078 3081 3088 3132
3153 3158 3159 3174 3188 3195 3198 3201 3205 3207 3209 3212 3217 3245
3246 3248 3257 3292 3299 3309 3320 3382 3384 3385 3386 3388 3396 3457
3460 3480 3490 3497 3511 3520 3582 3585 3588 3605 3607 3630 3638 3640
3651 3661 3664 3723 3727 3731 3740 3755 3764 3781 3796 3823 3858 3883
3884 3893 3915 3987 3992 4019 4037 4046 4049 4062 4065 4069 4080 4086
4087 4096 4106 4116 4124 4127 4132 4134 4151 4154 4167 4176 4178 4180
4227 4238 4243 4262 4275 4287 4291 4296 4300 4315 4317 4322 4399 4412
4421 4431 4450 4454 4469 4495 4539 4555 4566 4572 4594 4627 4651 4663
4670 4677 4749 4765 4773 4776 4790 4814 4862 4869 4892 4905 4916 4923
4945 4960 4962 4964 4979 5035 5039 5042 5049 5060 5085 5088 5099 5113
5144 5211 5220 5222 5248 5250 5252 5259 5260 5263 5267 5280 5282 5291
5299 5304 5306 5311 5320 5409 5421 5459 5463 5466 5542 5561 5564 5565
5572 5597 5631 5660 5662 5665 5673 5676 5680 5687 5690 5701 5707 5720
5723 5733 5738 5745 5751 5754 5757 5763 5766 5771 5777 5784 5788 5790
5792 5794 5796 5799 5802 5804 5812 5815 5819 5822 5825 5827 5829 5835
5841 5846 5850 5858 5863 5870 5873 5876 5878 5882 5886 5889 5908 5920
5929 5939 5945 5952 5959 5972 5984 5994 6006 6007 6066 6071 6081 6086
6088 6094 6134 6250 6262 6283 6287 6300 6852 6869 6887 6916 6923 6931
6944 6948 7025
RELOC 80 1844 1909 6942 7464 7468
RENAME 6994
REPEAT 5403 7185
ROT 5372 5433 7060
SALL 274
SEARCH 71 72
SETCA 3956
SETCAM 1203
SETCMB 5988
SETO 1094 1473 2956
SETOM 305 326 357 359 449 756 803 882 2714 4632 5323 5999 6084 6141
6416 6755 6764 7504
SETZ 349 461 849 1292 1384 1487 1494 1990 2122 2165 2307 2918 2959 2960
4068 5232 6065 6511
SETZB 754 2273 2274 2795 3236 6106 6745
SETZM 346 352 353 356 368 391 488 498 852 866 879 897 900 901
902 922 1105 1106 1251 1300 1306 1334 1399 1410 1463 1464 1540 1590
1594 1646 1668 1701 1719 1739 2207 2325 2703 2706 2722 2725 2776 2925
4420 4465 4593 5475 5627 5628 5935 6047 6299 6410 6411 6624 6684 7505
SIXBIT 390 485 490 492 494 499 550 827 831 912 914 917 920 923
926 928 929 930 931 932 933 936 938 940 942 943 1379 1457
1633 1634 1672 1724 1745 1748 1751 1753 1755 1927 1929 4325 4326 4327
4328 4472 4482 4595 5040 5346 5348 5464 5467 5476 5477 5562 6064 6085
6248 6266 6274 6960 6961 6987 7068 7072
SKIPA 551 684 1146 1154 2169 2170 2355 2414 2721 3332 3334 3336 3341 3343
3345 3350 3352 3356 3358 3362 3366 3370 3374 4188 4223 4259 4260 4363
4373 4405 4418 4428 4664 5219 5231 6098
SKIPE 308 385 389 392 493 496 562 620 1027 1119 1139 1298 2179 2239
2424 2433 2510 2793 2873 2952 3073 3824 3851 3991 4090 4268 4626 4864
5021 5155 5171 5712 6082 6122 6282 6289 6425 6449 6460 6510 6685 6687
6689 6691 6693 6695 6746 6766 6860 6902 6943
SKIPGE 2363 3976 4657 6089 6857
SKIPL 489 491 723 2451 2461 5600
SKIPN 381 383 450 801 805 819 832 850 854 856 869 876 1145 1153
1490 1656 1712 1933 2343 2875 2941 3394 3853 3986 4042 4058 4228 4591
4658 5181 5343 5345 5347 5460 5550 5632 6420 6434 6444 6455
SOJA 3229 4195 4759 4769 5123 5743 6668 6844
SOJE 5158
SOJG 2227 2966 3980
SOJGE 6642
SOJL 1941 2008
SOS 558 3921 4780 5678 6090 6099 6115 6144 7493
SOSA 1191
SOSG 1679 1731
SOSGE 1173
SOSL 724
SOSN 3734
SUB 1200 1202 3945 3962 4013 4097 4198 4643 4976 4987 5112 5136 5147 5167
5410 5422 5470 5635 5636 5656 5668 5671 5692 5715 5747 5749 5808 5895
5901 5931 5964 5996 5997 6103 6129 6243 6482 6483 6484 6485 6486 6487
6492 6509 6514 6516 6523 6535 6653 6824 6832 6837 6854 6899 6905 6908
6919 6937
SUBI 1167 1211 2006 2135 2415 2417 2889 3187 3718 3746 3979 4241 4249 4347
4488 4918 4926 5051 5073 5131 5197 5199 5278 5594 5624 5716 5746 5778
5865 5911 5960 6062 6067 6229 6480 6579 6666
SUBM 6244 6565
SUBTTL 2 61 277 477 507 707 1013 1249 1761 2341 2561 3330 4162 4416
4517 5056 5273 5316 5539 5611 6011 6258 6311 6815 6941 7083 7471
TDNN 6972
TDOE 5374
TDZA 1958 1962 3065 3758 4461
TITLE 1
TLC 1096 3468 4269 4270 5114 5174 5579
TLCA 556
TLNA 621
TLNE 555 1098 3067 3184 3191 3215 3852 4641 4878 5266 5580
TLNN 619 688 1259 1529 1531 1605 1607 3197 3203 6968
TLO 2839 3035 3044 4711 5573 5599
TLOA 3049
TLOE 3030
TLZ 3949 3954
TLZA 3951 3952 3953
TLZE 2900 6843
TLZN 3469
TRNE 482 495 3983 5230
TRNN 1279
TRO 1588 1721
TROA 3389
TRZ 1698 3157
TRZA 1291 2518 3390
TRZE 3225
TRZN 578
TSC 4279
TTCALL 165
TWOSEG 68
VAR 7080
XALL 7081
XCT 565 1029 1034 1447 1465 1624 1640 2352 2368 2374 2377 2378 2380 2409
2419 2452 2491 2502 2517 2730 2742 2758 2917 3854 3981 4351 4376 4392
5283 6904
XLIST 5402 7037 7184 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205
7206 7207 7210 7211 7212 7213 7215 7218 7220 7222 7225 7227 7231 7232
7233 7234 7235 7236 7237 7238 7239 7240 7243 7244 7245 7246 7247 7266
7267 7268 7269 7270 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287
7288 7289 7290 7291 7296 7298 7300 7302 7315 7320 7321 7322 7323 7326
7329 7331 7344 7345 7346 7347 7348 7349 7359 7360 7361 7362 7363 7364
7365 7366 7367 7368 7371 7372 7373 7384 7403 7404 7405 7406 7407 7408
7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422
7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436
7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450
7451 7452 7453 7454 7455 7458 7461 7462 7465
XWD 1363 1400 1484 1951 1952 1953 1954 1955 1956 1973 2018 2019 2020 2021
2022 2402 2558 3879 3945 4013 4097 4643 4976 4987 5334 5400 5410 5422
5470 5602 5895 5931 5964 5996 5997 6905 6908 6964 7038 7039 7042 7051
7052 7053 7054 7055 7064 7066 7185 7196 7197 7198 7199 7200 7201 7202
7203 7204 7205 7206 7207 7208 7211 7212 7213 7214 7216 7219 7221 7223
7226 7228 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7244
7245 7246 7247 7248 7250 7251 7252 7253 7254 7255 7259 7260 7261 7262
7263 7266 7267 7268 7269 7270 7271 7274 7275 7276 7279 7280 7281 7282
7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7294 7295 7296 7297
7298 7299 7300 7301 7302 7304 7305 7306 7307 7308 7309 7310 7311 7312
7313 7316 7321 7322 7323 7324 7326 7327 7329 7330 7331 7344 7345 7346
7347 7348 7349 7350 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368
7369 7372 7373 7374 7384 7386 7387 7388 7389 7403 7404 7405 7406 7407
7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421
7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435
7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449
7450 7451 7452 7453 7454 7455 7458 7461 7462