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, ;[1] 65 66 IFNDEF SHRST ;[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 85 IFN SHRST-400000 86 IFNDEF QALLOW 87 IFNDEF REALLC ;%% 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, 93 IFNDEF SYSPN, 94 ;ALVINE==1 ;1 FOR ALVINE, 0 FOR NO ALVINE 95 IFNDEF ALVINE, 96 ;HASH==1 ;1 FOR SETTING # OF HASH BUCKETS AT SYS. INIT. TIME 97 IFNDEF HASH, 98 ;STPGAP==1 ;1 FOR STOPGAP, 0 TO DELETE IT 99 IFNDEF STPGAP, 100 IF1, 101 MLON 102 IFNDEF INUMIN, ;%% [1] 103 577777 INUM0=777777-<<777777-INUMIN>/2> ;%% [1] 104 IFNDEF BCKETS, 105 IFE SYSPRG,< 106 IFNDEF SYSDEV> 107 > 108 IFN SYSPRG,< 109 IFNDEF SYSDEV> 110 > 111 IFNDEF SYSNAM,> 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, 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 > 262 263 DEFINE HERE1 (NEW,OLD,%G) 264 < DEFINE %G 265 < NEW> 266 DEFINE REMOTE (TX) 267 < HERE1 ,>> 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, 349 400033' 400 00 0 00 000000 IFE ALVINE, 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 ;INITIALIZE NIL 372 IFE OLDNIL 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 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 ;xor 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 ;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 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 ;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 ;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 ;pointer 1036 400762' 263 14 0 00 000000 POPJ P, ;## NO, OK 1037 1038 IFN STPGAP,< 1039 MOVE A,@TYI3A 1040 CAMN A,[+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 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 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 ;## IF NOT DEFINED THEN DEFAULT IS NO EXTENDED 1781 000005 IFE QSWEXT ;## NUMBER OF ALLOWED SWITCHES 1782 IFN QSWEXT ;## LENGTH OF EXTENDED TABLE 1783 IFNDEF QLSTOK 1784 IFNDEF QTIME 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 2028 IFN QLSTOK 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 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,() 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 , 2605 IFLE <"X"-"9">,,> 2606 IFIDN <"X"><".">, 2607 IFGE <"X"-"A">,> 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) 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 () 2672 TABIN (1,1,5,4,3,4,2,0,) 2673 LET () 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 () 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 . 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 ;## T IF NONUSEFUL DESIRED 3417 403675' 263 14 0 00 000000 IFE NONUSE ;## 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 ;## 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 3595 IFE OLDNIL 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 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 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 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 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- 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 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 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 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 7088 XWD %B,IFN <-A>,<.+1> 7089 IF1 <%B=0>> 7090 7091 DEFINE ADDOB (A,C,%B) 7092 7094 IF1 <%B=0> 7095 XWD C,%B> 7096 7097 DEFINE PUTOB (A,B) 7098 _<-1> 7099 ZZ==-ZZ/BCKETS*BCKETS+ZZ 7100 ADDOB \ZZ,B> 7101 7102 DEFINE PSTRCT (A) 7103 ) 7105 ZY==/5 7106 Q1(ZY,ZZ) 7107 > 7108 7109 DEFINE Q1 (N,Z)< 7110 IFN N, 7111 IFE N,> 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 7124 LIST> 7125 7126 ;## ARGS ARE: D'A=PROPERTY, B=PROP NAME, C=NAME 7127 7128 DEFINE MKAT1 (A,B,C,D) 7129 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 > 7141 7142 ;## ATOM WITH SYM PROPERTY =V'ATOM LOCATION 7143 DEFINE ML1 (A)> 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, 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, 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,SUBR^XLIST 7196 MKAT,SUBR^XLIST 7197 MKAT,SUBR^XLIST 7198 MKAT,SUBR^XLIST 7199 MKAT,SUBR^XLIST 7200 MKAT,SUBR^XLIST 7201 MKAT,SUBR^XLIST 7202 MKAT,SUBR^XLIST 7203 MKAT,SUBR^XLIST 7204 MKAT,SUBR^XLIST 7205 MKAT,SUBR^XLIST 7206 MKAT,SUBR^XLIST 7207 MKAT,SUBR^XLIST 7208 IFN STPGAP,,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,LSUBR^XLIST 7219 ;$$ GIVE MAPCAN THE DOUBLE NAME MAPCONC 7220 MKAT1 MAPCAN,LSUBR,MAPCONC^XLIST 7221 7222 002272' PROGAT: MKAT,FSUBR^XLIST 7223 7224 ;##LIST STARTS HERE 7225 MKAT LIST,FSUBR,,LISTAT:^XLIST 7226 7227 MKAT ,FSUBR ^XLIST 7228 IFN ALVINE,,FSUBR 7229 MKAT,SUBR> 7230 IFE ALVINE,>^ 7231 MKAT,FSUBR^XLIST 7232 MKAT,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 ,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==_<-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==_<-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 ^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==_<-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 ,VALUE,V^XLIST 7316 7317 7318 ;## QUEUE ATOMS AND OTHER NEW FNS. 7319 7320 MKAT,SUBR^XLIST 7321 MKAT,SUBR^XLIST 7322 MKAT,SUBR^XLIST 7323 MKAT,FSUBR^XLIST 7324 IFN QALLOW< ;%% [1] 7325 ML^ 7326 MKAT,FSUBR^XLIST 7327 > ;%% [1] 7328 MK^ 7329 MKAT1 ISFILE,SUBR,LOOKUP^XLIST 7330 MK^ 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 7336 ML 7337 ML 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,SUBR^XLIST 7347 MKAT,SUBR^XLIST 7348 MKAT,SUBR^XLIST 7349 MKAT,SUBR^XLIST 7350 7351 IFN REALLC < 7352 ;%% NEW DYNAMIC REALLOCATION FUNCTION 7353 MKAT1 REALLO,SUBR,REALLOC 7354 MKAT,SUBR 7355 > 7356 7357 ;$$ MORE EXTENSIONS INCLUDING READ MACROS 7358 ML READMACRO^ 7359 MKAT1 %FLATSIZEC,SUBR,FLATSIZEC^XLIST 7360 MKAT ,SUBR ^XLIST 7361 MKAT ,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 ^ 7384 7385 176000 000000 PUTOB ?,.+1^ZZ==_<-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^ 7403 MK^ 7404 MK^ 7405 MK^ 7406 MK^ 7407 MK^ 7408 MK^ 7409 MK^ 7410 MK^ 7411 MK^ 7412 MK^ 7413 MK^ 7414 MK^ 7415 MK^ 7416 MK^ 7417 MK^ 7418 MK^ 7419 MK^ 7420 MK^ 7421 MK^ 7422 MK^ 7423 MK^ 7424 MK^ 7425 MK^ 7426 MK^ 7427 MK^ 7428 MK^ 7429 MK^ 7430 MK ^;##REMOVE MARKER 7431 MK^ 7432 MK^ 7433 MK^ 7434 MK^ 7435 MK^ 7436 MK^ 7437 MK^ 7438 MK^ 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^ 7447 MK^ 7448 MK^ 7449 MK^ 7450 MK^ 7451 MK^ 7452 MK^ 7453 MK^ 7454 MK^ 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^ 7458 7459 ;ATOMS OF GENERATED FUNCTIONS 7460 MK^ 7461 MK^ 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 ^ 7514 IFN QALLOW< ;%% [1] 7515 MKENT ^ 7516 > ;%% [1] 7517 MKENT ^ 7518 MKENT ^ 7519 7520 MKENT ^ 7521 MKENT ^ 7522 MKENT ^ 7523 MKENT ^ 7524 MKENT ^ 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 ^ 7526 MKENT ^ 7527 MKENT ^ 7528 MKENT ^ 7529 MKENT ^ 7530 IFN ALVINE,> 7531 7532 ;%% RECENT ADDITIONS 7533 MKENT ^ 7534 IFN QALLOW< ;%% [1] 7535 MKENT ^ 7536 > ;%% [1] 7537 MKENT ^ 7538 IFN REALLC < 7539 MKENT 7540 > 7541 7542 ;$$ FOR ALAN'S DIRECT ACCESS INPUT 7543 MKENT ^ 7544 7545 ;## FOR BILL'S DIRECT ACCESS INPUT/OUTPUT 7546 MKENT ^ 7547 MKENT ^ 7548 MKENT ^ 7549 MKENT ^ 7550 MKENT ^ 7551 7552 ;$$ FOR ALVINE 7553 MKENT ^ 7554 7555 ;%% FOR THE MODIFIED ARITHMETIC PACKAGE 7556 MKENT ^ 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