1 /EDUSYSTEM 25 BASIC 2 /TC08 MNEMONICS : 3 DTSF= 6771 4 DTLB= 6774 5 DTXA= 6764 6 DTRB= 6772 7 DTRA= 6761 8 /DEFINITIONS 9 10 FIXMRI FGET=0000 /FLOATING INSTRUCTIONS 11 FIXMRI FADD=1000 12 FIXMRI FSUB=2000 13 FIXMRI FMUL=3000 14 FIXMRI FDIV=4000 15 FIXMRI FJMP=5000 16 FIXMRI FCMP=6000 17 FIXMRI FPUT=7000 18 19 FINT=JMS I 7 20 FEXT=0000 21 FXIT=0000 22 FNOR=6010 23 FSKP=6000 24 FSNE=6040 25 FSEQ=6050 26 FSGE=6100 27 FSLT=6110 28 FSGT=6140 29 FSLE=6150 30 31 DTLA=6766 32 CAF=6007 33 BSW=7002 34 MQL=7421 35 MQA=7501 36 37 SPL=6102 38 39 MTKF=6123 40 MTPF=6113 41 MTON=6117 42 MINT=6115 43 MINS=6125 44 MKSF=6111 45 MKRB=6116 46 MTSF=6121 47 MTCF=6122 48 MTLS=6126 49 50 L0001=CLL CLA IAC 51 L0002=CLL CLA CML RTL 52 /DON'T BE TEMPTED TO USE THESE. MICRO-PROGRAMMING ROTATES AND IAC'S 53 /ARE THE DEVIL'S HANDIWORK. 54 /(IN OTHER WORDS, IT'S A NO-NO ON A STRAIGHT 8) 55 /L0003=CLL CLA CML IAC RAL 56 /L0004=CLL CLA IAC RTL 57 L7777=CLL CLA CMA 58 L7776=CLL CLA CMA RAL 59 L7775=CLL CLA CMA RTL 60 L3777=CLL CLA CMA RAR 61 L5777=CLL CLA CMA RTR 62 L4000=CLL CLA CML RAR 63 L2000=CLL CLA CML RTR 64 65 SWAP=10 66 BUF=20 /USER DECTAPE BUFFERS 67 /PAGE ZERO 68 69 FIELD 0 70 71 PAGE 0 72 000000 0000 0 73 000001 5402 JMP I .+1 /INTERRUPT HANDLER 74 000002 4173 INTR8E 75 000003 0000 USER, 0 /INTERRUPT USER COUNTER 76 000004 0000 SIN, 0 /INTERRUPT TEMPORARY 77 000005 0000 TEMP1, 0 /INTERRUPT TEMP 78 000006 4155 TEMP2, USER0 /INTERRUPT TEMP 79 000007 5643 FPNT /FLOATING POINT 80 000010 0000 XREG, 0 /INTERRUPT XREG 81 000011 0000 XREG2, 0 /INTERRUPT XREG 82 000012 0000 XREG3, 0 /GENERAL XREG 83 000013 0000 FLTXR, 0 /FLOATING XREG 84 000014 0000 FLTXR2, 0 /FLOATING XREG 85 / CHANGING THE SWAP AREA??????? 86 /BE SURE TO TAKE A LOOK AT BEG800 87 /TO MAKE SURE THE AREAS ARE ALIGNED PROPERLY 88 /WITH THE DUMMY HERE!!!! 89 STSWAP=. /START OF SWAP 90 91 000015 7776 PDLXR, TOP /PUSH-DOWN XREG 92 000016 0000 AXIN, 0 /PACKING XREG 93 TEXTP=. /TEXT POINTERS 94 000017 0000 AXOUT, 0 /UNPACK XREG 95 000020 0000 GTEM, 0 /UNPACK SWITCH 96 000021 0000 XCT, 0 /UNPACK SWITCH 97 000022 0464 PC, READY /PROGRAM RESTART 98 000023 0000 ADD, 0 /PACK TEMPORARY 99 000024 0000 XCTIN, 0 /PACK SWITCH 100 SUBS=XCTIN /SUBSCRIPT 101 000025 0000 PT1, 0 /FLOATING POINTER 102 000026 0000 CHAR, 0 /CHARACTER 103 000027 0000 LINEPC, 0 /LINE POINTER 104 000030 0000 LINENO, 0 /LINE NUMBER 105 000031 0000 LASTLN, 0 /LAST LINE POINTER 106 MODE=LASTLN /FOR MINI-STRINGS 107 000032 0000 SPACSW, 0 /0 IS IGNORE SPACES 108 000033 7777 DINPUT, -1 /-1 FOR BREAK ON CR ONLY 109 /0 FOR BREAK ON ANY AND NO ECHO 110 000034 0000 OUTPUT, 0 /0 IS ECHO 111 000035 6036 XIOT, KRB /INPUT IOT 112 000036 0000 XFIELD, 0 /USER FIELD 113 000037 0000 DATAPC, 0 /LINE NUMBER OF DATA STATEMENT 114 000040 0000 0 /DATA POINTER 115 000041 0000 0 /DATA TEMPORARY 116 000042 0000 0 /DATA UNPACK SWITCH 117 000043 0000 0 /DATA CHARACTER 118 000044 0040 IPTRI, BUFFER /INPUT BUFFER FILL 119 000045 0040 IPTRO, BUFFER /INPUT BUFFER EMPTY 120 000046 0040 IPTR0, BUFFER /START OF BUFFER 121 000047 0000 OPTRI, BUFFER-40 /OUTPUT BUFFER FILL 122 000050 0000 OPTRO, BUFFER-40 /OUTPUT BUFFER EMPTY 123 000051 0000 TELSW, 0 /TTY BUSY SWITCH 124 000052 0000 PACKST, 0 /START OF PACKING 125 000053 0000 PACKND, 0 /POINTER TO END OF PACKING 126 000054 0164 BUFR, LINE1 /NEXT FREE SPACE 127 STARTV=BUFR /START OF VARIABLES 128 000055 0164 LASTV, LINE1 /LAST DEFINED VARIABLE 129 000056 7776 PDLST, TOP /START OF PUSH-DOWN 130 000057 0162 ALINE0, LINE0 /POINTER TO DUMMY LINE 131 000060 0100 COMBUF, BUFCOM /COMMAND BUFFER 132 000061 0000 PRNTC1, 0 /PRINT ZONE COUNT 133 000062 0000 ERLINE, 0 /ERROR LINE 134 000063 1617 NAME, 1617 /PROGRAM NAME 135 000064 1605 1605 136 000065 0000 0 137 000066 0560 EXTEN, 560 /EXTENSION OF FILE ON DECTAPE 138 READC=JMS I . 139 000067 3702 PREADC, XREADC 140 PRINTC=JMS I . 141 000070 7356 PPRINT, XPRNTC 142 FREE2=JMS I . 143 000071 6000 PFREE2, XFREE2 144 FREE13=JMS I . 145 000072 6007 PFREE3, XFREE3 146 147 000073 5400 BASE, 5400 148 000074 0000 IPNTR, 0 149 000075 0000 I3, 0 150 000076 0000 IBLK, 0 151 000077 0000 IBLKH, 0 152 000100 0000 OPNTR, 0 153 000101 0000 O3, 0 154 000102 0000 OBLK, 0 155 000103 0000 OBLKH, 0 156 000104 0000 OMAX, 0 157 000105 0464 CHAINP, READY /'CHAIN' POINTER 158 000106 0001 FRNDX, 0001 159 000107 0203 0203 160 000110 5555 5555 161 162 ENSWAP=.-1 /END OF SWAP 163 DECK=XFIELD /USER ON DECK 164 000111 0000 SORTCN, 0 /SORT CONSTANT 165 000112 0000 T1, 0 /THREE TEMPS 166 000113 0000 T2, 0 167 000114 0000 CNTR, 0 /COUNTER 168 000115 0000 T3, 0 169 000116 0000 THISOP, 0 /CURRENT OP 170 000117 0000 LASTOP, 0 /LAST OP 171 EFOP=CNTR /FUNCTION OP 172 000120 4154 LOOK, USER0-1 /USER BEING RUN OR LOOKED AT 173 /SET TO USER4-5+#USERS IN INIT 174 000121 4154 LOOKST, USER0-1 /TO RESET LOOKING 175 000122 6167 FLARGP, FLARG /POINTER TO TEMP FLAC 176 000123 5442 INTEGE, FIX /FIX THE FLAC ROUTINE 177 /KEEP THE NEXT 8 LOCATIONS TOGETHER PLEASE. 178 000124 0015 CCR, 15 /CR 179 000125 0007 C7, 7 /BELL 180 000126 0177 C177, 177 /RUBOUT 181 000127 0137 C137, 137 /BACK ARROW 182 000130 7777 LSTMOD, -1 /SET BY *INPUT* 183 IFNZRO STSWAP-15 184 STSWM1, 185 000131 0014 C14, 14 /FF 186 000132 0012 CLF, 12 /LINE FEED 187 000133 7766 M12, -12 /-10 DECIMAL 188 000134 0077 C77, 77 /RIGHT MASK 189 000135 7772 M6, -6 /MESSAGE LENGTH 190 000136 0010 C10, 10 191 000137 7770 M10, -10 192 000140 7700 M100, -100 /CHARACTER TEST 193 C7700=M100 /LEFT MASK 194 000141 7774 M4, -4 /CHARACTER COUNT 195 000142 0040 C40, 40 196 000143 0003 C3, 3 197 /NEW INSTRUCTIONS 198 GETC=JMS I . /UNPACK A CHAR 199 000144 4051 XGETC 200 SORTJ=JMS I . /SORT JUMP 201 000145 4735 XSORTJ 202 SORTC=JMS I . /SORT 203 000146 4705 ASORTC, XSORTC 204 PUSHA=JMS I . /SAVE AC 205 000147 1702 XPUSHA 206 PUSHJ=JMS I . /PUSH JUMP 207 000150 1715 XPUSHJ 208 PUSHF=JMS I . /SAVE FLOATING DATA 209 000151 1734 XPUSHF 210 POPA=JMS I . /RESTORE AC 211 000152 5367 XPOPA 212 POPJ=JMP I . /POP JUMP 213 000153 5703 XPOPJ 214 POPF=JMS I . /RESTORE FLOATING DATA 215 000154 4000 XPOPF 216 FLGET=JMS I . /FLOATING GET 217 000155 5141 XFLGET 218 FLPUT=JMS I . /FLOATING PUT 219 000156 6400 XFLPUT 220 ERROR=JMS I . /ERROR 221 000157 3525 XERROR 222 UDF=JMS I . /USER DATA FIELD 223 000160 3171 AUDF, XUDF 224 RTL6=JMS I . /SIX RAL*S 225 000161 5362 XRTL6 226 TESTN=JMS I . /TEST NUMERIC 227 000162 4031 XTESTN 228 TESTC=JMS I . /TEST CHAR 229 000163 4014 XTESTC 230 PACKC=JMS I . /PACK A CHAR 231 000164 3600 XPACKC 232 GETLN=JMS I . /GET A LINE NUMBER 233 000165 5661 XGETLN 234 TSTCCR=JMS I . /SKIP IF CR 235 000166 6431 CCRTST 236 TSTCOM=JMS I . /SKIP IF COMMA 237 000167 6423 COMTST 238 TSTALP=JMS I . /SKIP IF LETTER 239 000170 5747 ALPTST 240 COMMAN=JMS I . /DETERMINE COMMAND 241 000171 2000 MANCOM 242 FIND=JMS I . /FIND A STATEMENT 243 000172 4136 XFIND 244 GETNXT=JMS I . /GET NEXT LINE 245 000173 4107 NXTGET 246 FINDLN=JMS I . /FIND A LINE 247 000174 3457 XFINDL 248 TSTEND=JMS I . /TEST FOR END OF LINE 249 000175 6436 ENDTST 250 TSTLPR=JMS I . /SKIP IF L-PAREN 251 000176 3733 LPRTST 252 GETSGN=TAD I FLARGP 253 /MAINLINE BASIC 254 255 /WHENEVER THERE IS NOTHING BETTER TO DO OR A JOB WANTS TO 256 /DISMISS ITSELF SO OTHERS CAN TRY THIS ROUTINE IS ENTERED 257 258 /IT KEEPS LOOKING FOR A JOB WITH BITS 0 AND 1 OFF WHICH 259 /SAYS THAT THE JOB IS NOT WAITING FOR INPUT OR OUTPUT 260 /RESPECTIVLY 261 *177 262 000177 6001 NULL, ION 263 000200 6201 CDF 264 000201 1120 TAD LOOK 265 000202 1230 TAD MLOOKE /CHECK POSITION OF POINTER 266 000203 7710 SPA CLA 267 000204 5210 JMP .+4 /O.K. TO LOOK AT NEXT 268 /IF PDP8E, AND NOT DC02 - ASSUME KL8E. NEXT THREE WORDS ARE: 269 / CIF 20 270 / JMP I .+1 271 / KL8FIX0 272 /SEE BEG002 AND BEG540 FOR DETAILS. 273 000205 6202 KL8JM0, CIF /NO INTERRUPTS UNTIL LOOK IS ISZ'D 274 000206 1121 TAD LOOKST 275 000207 3120 DCA LOOK /RESET POINTER 276 000210 2120 KL8LF0, ISZ LOOK /LOOK AT NEXT 277 000211 1520 TAD I LOOK /GET STATUS 278 000212 0140 AND C7700 279 000213 7640 SZA CLA 280 000214 5177 JMP NULL /NO GO 281 000215 3277 DCA PRNT5 /CLEAR FORMAT SWITCH 282 000216 1520 TAD I LOOK /GET STATUS 283 000217 6002 IOF /NO INTERRUPTS 284 000220 4305 JMS DECKON /PUT HIM ONDECK 285 000221 1022 TAD PC 286 000222 3000 DCA 0 /RESTART LOCATION 287 000223 7344 L7776 /NUMBER OF COMMANDS THEN LOOK 288 000224 3022 DCA PC 289 000225 6001 ION 290 000226 5400 JMP I 0 /GO TO IT... 291 292 000227 0060 C60, 60 293 000230 3624 MLOOKE, -USER7+10 /LAST STATUS WORD : SUBTRACT NUMBER OF USERS 294 /DURING INIT 295 /*PRNTIT* ROUTINE 296 /ENTER WITH THE AC CONTAINING THE VALUE TO BE PRINTED AS 297 /A DECIMAL NUMBER BETWEEN 0 AND 2047 298 /IF PRNT5 IS NOT 0 THEN LEADING SPACES ARE NOT PRINTED 299 /PRNT5 IS SET TO 0 AT THE END OF THE ROUTINE 300 000231 0000 ITPRNT, 0 301 000232 3112 DCA T1 302 000233 3013 DCA FLTXR /SIGNIFICANCE TESTER 303 000234 7346 L7775 304 000235 3114 DCA CNTR /DO 3 LOOPS 305 000236 1377 TAD (PRNTLL 306 000237 3113 DCA T2 /LIST OF SUBTRACTIONS 307 000240 3115 PRNT1, DCA T3 /HOLDS DIGIT 308 000241 5244 JMP .+3 309 000242 2115 ISZ T3 /BUMP DIGIT 310 000243 3112 DCA T1 311 000244 1112 TAD T1 312 000245 1513 TAD I T2 /SUBTRACT 313 000246 7500 SMA 314 000247 5242 JMP .-5 315 000250 7200 CLA 316 000251 2113 ISZ T2 /POINT TO NEXT 317 000252 1115 TAD T3 /GET DIGIT 318 000253 7440 SZA 319 000254 5260 JMP PRNT2 /NON-ZERO 320 000255 1013 TAD FLTXR /SIG YET 321 000256 7650 SNA CLA 322 000257 5300 JMP PRNT3 /NO 323 000260 2013 PRNT2, ISZ FLTXR /NOW SIG 324 000261 1227 TAD C60 325 000262 4470 PRNT4, PRINTC /PRINT IT 326 000263 2114 PRNT7, ISZ CNTR 327 000264 5240 JMP PRNT1 /LOOP 328 000265 1112 TAD T1 329 000266 1227 TAD C60 330 000267 4470 PRINTC /UNITS DIGIT 331 000270 1277 TAD PRNT5 /FORMATING 332 000271 7640 SZA CLA 333 000272 5275 JMP PRNT6 /NO 334 000273 1142 TAD C40 335 000274 4470 PRINTC /PRINT SPACE AFTER 336 000275 3277 PRNT6, DCA PRNT5 /RESET FOR LATER 337 000276 5631 JMP I ITPRNT 338 339 000277 0000 PRNT5, 0 340 341 000300 1277 PRNT3, TAD PRNT5 /FORMATTING 342 000301 7640 SZA CLA 343 000302 5263 JMP PRNT7 /NO 344 000303 1142 TAD C40 345 000304 5262 JMP PRNT4 346 /*ONDECK* ROUTINE 347 /ROUTINE TO PUT A USER "ON DECK" 348 /ENTER WITH HIS NUMBER ON AC BITS 9-11 349 000305 0177 DECKON, NULL 350 000306 0125 AND C7 /USER NUMBER ONLY 351 000307 3004 DCA SIN /SAVE NEW 352 000310 1036 TAD DECK 353 000311 7041 CIA 354 000312 1004 TAD SIN 355 000313 7650 SNA CLA 356 000314 5353 JMP DTCHK /FAST EXIT (BUT CHECK TAPE FIRST) 357 000315 1036 TAD DECK 358 000316 4356 JMS DFIND /LOCATE OLD 359 000317 1130 TAD LSTMOD 360 000320 3033 DCA DINPUT 361 000321 1776 TAD I (XUDF+1 362 000322 3036 DCA XFIELD 363 364 /* THIS SWAP ROUTINE EXECUTES WITH INTERRUPT OFF 365 /* AND TAKES APPROXIMATELY 600 MICROSECONDS TO 366 /* EXECUTE, WHEREAS THE MAXIMUM TIME AVAILABLE 367 /* TO ANSWER A DECTAPE INTERRUPT AFTER A SEARCH 368 /* IS 400 MICROSECONDS. THEREFORE, WE MUST CHECK 369 /* THE DECTAPE FLAG AS PART OF THE INNER LOOP. 370 371 000323 1411 TAD I XREG2 372 000324 6213 CIF CDF SWAP 373 000325 3410 DCA I XREG /SWAP OUT OLD 374 000326 4000 JMS DTINTR /CHECK TAPE 375 000327 2006 ISZ TEMP2 376 000330 5323 JMP .-5 377 000331 1004 TAD SIN 378 000332 4356 JMS DFIND /LOCATE NEW 379 000333 6213 ENTRY1, CIF CDF SWAP 380 000334 1410 TAD I XREG 381 000335 4000 JMS DTINTR /CHECK TAPE 382 000336 3411 DCA I XREG2 /SWAP IN NEW 383 000337 2006 ISZ TEMP2 384 000340 5333 JMP .-5 385 000341 1033 TAD DINPUT 386 000342 3130 DCA LSTMOD 387 000343 1036 TAD XFIELD 388 000344 3776 DCA I (XUDF+1 389 000345 1004 TAD SIN 390 000346 3036 DCA DECK /NEW USER ONDECK 391 000347 1121 TAD LOOKST 392 000350 7001 IAC 393 000351 1036 TAD DECK 394 000352 3006 DCA TEMP2 /POINT TO STATUS 395 000353 6213 DTCHK, CIF CDF SWAP 396 000354 4000 JMS DTINTR 397 000355 5705 JMP I DECKON 398 399 000356 0333 DFIND, ENTRY1 400 000357 7040 ENTRY, CMA 401 000360 3006 DCA TEMP2 402 000361 1375 TAD (ORG1-1-ENSWAP+STSWAP-1 /START AT THE BEGINNING 403 000362 1373 TAD STARTP /SPACE BETWEEN 404 000363 2006 ISZ TEMP2 405 000364 5362 JMP .-2 406 000365 3010 DCA XREG /POINT TO USER 407 000366 1131 TAD STSWM1 408 000367 3011 DCA XREG2 /POINT TO SWAP AREA 409 000370 1374 TAD (STSWAP-ENSWAP-1 410 000371 3006 DCA TEMP2 /SWAP COUNT 411 000372 5756 JMP I DFIND 412 413 000373 0074 STARTP, ENSWAP-STSWAP+1 /SPACE BETWEEN 414 415 000374 7704 PAGE 000375 5303 000376 3172 000377 0766 416 /ERROR ROUTINE 417 /HERE IS WHERE ERROR MESSAGES ARE PRINTED 418 /IT IS CALLED BY A DISMISSAL WITH THE PC SET TO 419 /ERRORX AND THE ERROR ADDRESS IN LSTMOD 420 000400 4777 ERRORX, JMS I (IOFIX /CLEAN UP FILES 421 000401 1520 TAD I LOOK 422 000402 0376 AND (7767 /CLEAR ERROR FLAG 423 000403 3520 DCA I LOOK 424 000404 1775 TAD I (DTQ1 /CLEAR DECTAPE QUEUE 425 000405 3115 DCA T3 /(IF NECESSARY) 426 000406 1036 TAD DECK /ARE WE ON TOP? 427 000407 7040 CMA 428 000410 1515 TAD I T3 429 000411 7650 SNA CLA 430 000412 4774 JMS I (DTFREE /REMOVE US FROM THE QUEUE 431 000413 1324 TAD M40 432 000414 3115 DCA T3 /BUFFER IS 40 LONG 433 000415 7340 L7777 434 000416 1046 TAD IPTR0 435 000417 3012 DCA XREG3 /POINT TO I BUFFER 436 000420 4560 UDF 437 000421 3412 DCA I XREG3 /CLEAR BUFFER 438 000422 2115 ISZ T3 439 000423 5221 JMP .-2 440 000424 6201 CDF 441 000425 1044 TAD IPTRI 442 000426 3045 DCA IPTRO /NO INPUT IN BUFFER 443 000427 3034 DCA OUTPUT /HAVE ECHO 444 000430 1130 TAD LSTMOD /GET ERROR CODE 445 000431 4546 SORTC 446 000432 3750 ERRLST-1 447 /- TAD M4 448 /- TAD SORTCN 449 /- SMA SZA 450 /- JMP ERROR2 /TRUE ERROR 451 000433 1111 TAD SORTCN /+ 452 000434 6212 CIF 10 /+ 453 000435 5636 JMP I .+1 /+ 454 000436 5275 PATCH1 /+ 455 PATCH1=5275 /+ 456 000437 7640 SZA CLA 457 000440 7340 L7777 /WHAT? 458 000441 1141 TAD M4 /STOP 459 000442 7410 SKP 460 000443 7340 ERROR2, L7777 461 /- JMS I (READY1 /PRINT ERROR MESSAGE 462 /- TAD M4 463 /- TAD SORTCN 464 000444 4773 JMS I (READY1 /+ PRINT ERROR MESSAGE 465 000445 7000 NOP /+ 466 000446 1130 TAD LSTMOD /+ 467 000447 7550 SPA SNA 468 000450 5263 JMP ERROR3 /NO NUMBER WITH THESE 469 000451 4705 JMS I PITPRNT /PRINT ERROR NUMBER 470 000452 1062 TAD ERLINE /WERE WE RUNNING 471 000453 7750 SPA SNA CLA 472 000454 5261 JMP ERROR1 /NO 473 000455 7344 L7776 /IN 474 000456 4773 JMS I (READY1 475 000457 1062 TAD ERLINE 476 000460 4705 JMS I PITPRNT /PRINT LINE IN ERROR 477 000461 1124 ERROR1, TAD CCR 478 000462 4470 PRINTC 479 000463 7200 ERROR3, CLA 480 /*READY* ROUTINE 481 /ROUTINE TO PRINT "READY" AND RESET POINTERS 482 /ENTER THE ROUTINE AT START TO OMIT READY MESSAGE 483 000464 4777 READY, JMS I (IOFIX /RESET FILES 484 000465 7346 L7775 485 000466 4773 JMS I (READY1 /PRINT "READY" 486 000467 3062 START, DCA ERLINE /IMMEDIATE MODE 487 000470 7340 L7777 488 000471 3130 DCA LSTMOD /SHORT LIST 489 000472 1056 TAD PDLST 490 000473 3015 DCA PDLXR /RESET PUSH-DOWN 491 000474 3032 DCA SPACSW /IGNORE LEADING SPACES 492 000475 3031 DCA MODE /CLEAR STRING MODE FLAG 493 000476 1372 TAD (ERR330 494 000477 4547 PUSHA /TRAP THE *RETURN* SANS *GOSUB* 495 000500 4550 PUSHJ /INPUT COMMAND LINE 496 000501 5630 PAKLIN 497 000502 7640 SZA CLA /END-OF-FILE? 498 000503 5505 JMP I CHAINP /'OLD' OR 'CHAIN' FINISHED 499 /INSERT LINE OR DO COMMAND 500 /AFTER A COMMAND OR LINE IS PACKED INTO THE COMMAND BUFFER 501 /THIS ROUTINE LOOKS AT IT AND EITHER STORES THE LINE OR 502 /GOES TO THE PROPER COMMAND 503 000504 4562 DECODE, TESTN 504 000505 0231 PITPRNT, ITPRNT 505 000506 5771 JMP I (INPUTX /COMMAND 506 000507 4565 GETLN /GET LINE NUMBER 507 000510 1054 SRETN, TAD BUFR 508 000511 3016 DCA AXIN /SET TO REPACK 509 000512 3024 DCA XCTIN 510 000513 1030 TAD LINENO 511 000514 4560 UDF 512 000515 3416 DCA I AXIN /SET LINE NUMBER 513 000516 6201 CDF 514 000517 4566 TSTCCR /JUST LINE NUMBER 515 000520 5323 JMP .+3 /NO 516 000521 4770 JMS I (XDELET /DELETE THIS LINE 517 000522 5354 JMP VARSET 518 519 000523 2032 ISZ SPACSW /KEEP SPACES 520 000524 7740 M40, SMA SZA CLA /TSTCCR LEAVES AC=0 SO THIS IS A SKP. 521 000525 4544 GETC 522 000526 4564 PACKC /REPACK LINE 523 /- TSTCCR 524 /- JMP .-3 525 000527 5730 JMP I .+1 /+ 526 000530 2165 PATCH8 /+ 527 000531 4770 JMS I (XDELET /DELETE OLD LINE 528 000532 4560 UDF 529 000533 6002 IOF 530 000534 1431 TAD I LASTLN /POINTER TO NEXT 531 000535 3454 DCA I BUFR /POINT TO NEXT 532 000536 1054 TAD BUFR 533 000537 3431 DCA I LASTLN /OLD POINTS TO NEW 534 000540 1023 TAD ADD 535 000541 7440 SZA 536 000542 3416 DCA I AXIN /FINISH PACKING 537 000543 4574 FINDLN /FIND THE LINE 538 000544 0016 C16, 16 539 000545 4550 PUSHJ 540 000546 6523 ENDFND /SCAN FOR *NEXT* 541 000547 7650 SNA CLA 542 000550 1136 TAD C10 543 000551 7001 IAC 544 000552 1016 TAD AXIN 545 000553 3054 DCA BUFR /NEW FREE POSITION 546 000554 1054 VARSET, TAD STARTV 547 000555 3055 DCA LASTV /RESET VARIABLES AFTER INPUTTING TEXT 548 000556 6001 ION 549 000557 5267 JMP START 550 551 552 000560 0000 GETCX1, 0 /*GETC* FOR FIELD 1 553 000561 4544 GETC 554 000562 6213 CIF CDF SWAP 555 000563 5760 JMP I GETCX1 556 557 000570 1600 PAGE 000571 4252 000572 7163 000573 5374 000574 6627 000575 6601 000576 7767 000577 1365 558 000600 0000 KEY, 0 559 000601 1003 TAD USER 560 000602 4777 JMS I (DECKON /PUT HIM ONDECK 561 000603 1035 TAD XIOT 562 000604 3205 DCA .+1 /SET READ IOT 563 000605 7402 HLT 564 000606 0126 AND C177 /IGNORE PARITY 565 000607 7450 SNA 566 000610 5600 JMP I KEY /IGNORE 0 NAD 200 567 000611 3004 DCA SIN /SAVE INPUT 568 000612 7346 L7775 569 000613 1004 TAD SIN /CTRL/C? 570 000614 7640 KM140, SZA CLA 571 000615 5220 JMP KEY7 /NOT "^C" 572 000616 4776 ERR004, JMS I (IERROR /RECOVER 573 000617 5600 JMP I KEY 574 575 000620 1130 KEY7, TAD LSTMOD 576 000621 7450 SNA 577 000622 5276 JMP KEY6 /NO ECHO - BREAK 578 000623 6211 CDF SWAP 579 000624 3775 DCA I (XCCR+4 580 000625 6201 CDF 581 000626 1004 TAD SIN 582 000627 4546 SORTC /CHECK BREAK 583 000630 2327 XCCR-1 584 000631 5270 JMP KEY5 /BREAK 585 000632 1004 TAD SIN 586 000633 4546 SORTC 587 000634 1774 ALT-1 588 000635 5276 JMP KEY6 /FOUND AN ALTMODE 589 000636 1004 TAD SIN 590 000637 1133 TAD M12 591 000640 7650 SNA CLA 592 000641 5600 JMP I KEY /IGNORE LINE FEED IF NOT BREAK 593 000642 1004 TAD SIN 594 000643 0355 AND C140 595 000644 7450 SNA 596 000645 5300 JMP KEY3 /ILLEGAL CHAR 597 000646 1214 TAD KM140 598 000647 7650 SNA CLA 599 000650 5300 JMP KEY3 /ILLEGAL CHAR 600 000651 1004 TAD SIN 601 000652 4774 JMS I (XOUTL /ECHO THE CHAR 602 000653 4305 JMS KEY4 /STORE THE CHAR 603 000654 1045 TAD IPTRO 604 000655 7041 CIA 605 000656 1044 TAD IPTRI 606 000657 7550 SPA SNA 607 000660 1142 TAD C40 608 000661 1133 TAD M12 609 000662 7710 SPA CLA 610 000663 5600 JMP I KEY /NO - EXIT 611 000664 7350 ANYINP, L3777 612 000665 0406 AND I TEMP2 /CLEAR I WAIT 613 000666 3406 DCA I TEMP2 614 000667 5600 JMP I KEY 615 616 000670 7340 KEY5, L7777 617 000671 1111 TAD SORTCN 618 000672 7740 KCM40, SMA SZA CLA 619 000673 5276 JMP .+3 /NO ECHO HERE 620 000674 1004 TAD SIN 621 000675 4774 JMS I (XOUTL /ECHO BREAK CHAR - CR AND BELL 622 000676 4305 KEY6, JMS KEY4 /STORE CHAR 623 000677 5264 JMP ANYINP /BREAK HERE 624 625 000700 1125 KEY3, TAD C7 626 000701 4774 JMS I (XOUTL /2 BELLS FOR ILLEGAL CHAR 627 000702 1125 TAD C7 628 000703 4774 JMS I (XOUTL 629 000704 5600 JMP I KEY 630 631 000705 0000 KEY4, 0 632 000706 4560 UDF 633 000707 1444 TAD I IPTRI /ROOM? 634 000710 7640 SZA CLA 635 000711 4776 ERR070, JMS I (IERROR /NO ROOM 636 000712 4560 UDF 637 000713 1004 TAD SIN 638 000714 3444 DCA I IPTRI 639 000715 6201 CDF 640 000716 2044 ISZ IPTRI 641 000717 1044 TAD IPTRI 642 000720 7041 CIA 643 000721 1142 TAD C40 644 000722 1046 TAD IPTR0 645 000723 7640 SZA CLA 646 000724 5705 JMP I KEY4 /OK 647 000725 1046 TAD IPTR0 648 000726 3044 DCA IPTRI /RESET POINTER 649 000727 5705 JMP I KEY4 650 000730 0000 TTY, 0 651 000731 1003 TAD USER 652 000732 4777 JMS I (DECKON /PUT HIM ONDECK 653 000733 3051 DCA TELSW /CLEAR BUSY 654 000734 4560 UDF 655 000735 1450 TTY3, TAD I OPTRO /MORE 656 000736 7450 SNA 657 000737 5354 JMP TTY2 /NO 658 000740 4773 JMS I (XOUTL2 /OUTPUT IT 659 000741 4560 UDF 660 000742 3450 DCA I OPTRO /CLEAR BUFFER 661 000743 2050 ISZ OPTRO /BUMP BUFFER 662 000744 1050 TAD OPTRO 663 000745 7041 CIA 664 000746 1046 TAD IPTR0 665 000747 7640 SZA CLA 666 000750 5354 JMP TTY2 /OK 667 000751 1046 TAD IPTR0 668 000752 1272 TAD KCM40 669 000753 3050 DCA OPTRO /RESET BUFFER 670 000754 4772 TTY2, JMS I (XFREE /ROOM AVAILABLE 671 000755 0140 C140, 140 672 000756 5730 JMP I TTY /NOT ENOUGH ROOM 673 000757 7352 L5777 674 000760 0406 AND I TEMP2 /CLEAR O WAIT 675 000761 3406 DCA I TEMP2 676 000762 5730 JMP I TTY 677 678 000763 3032 PRINT3, DCA SPACSW 679 000764 4544 GETC 680 000765 5771 JMP I (PRIN10 681 682 DECIMAL 683 000766 6030 PRNTLL, -1000 684 000767 7634 -100 685 000770 7766 -10 686 OCTAL 687 688 000771 3307 PAGE 000772 6020 000773 3400 000774 3341 000775 2334 000776 3544 000777 0305 689 /*READ* AND *INPUT* COMMANDS 690 691 001000 0000 INREAD, 0 692 001001 7640 SZA CLA 693 001002 5240 JMP INREA3 /RE-ENTRY 694 /- PUSHJ /PRINT CRAP 695 /- PRIN10 696 /- DCA MODE /NEW VARIABLE 697 001003 6212 CIF 10 /+ 698 001004 5605 JMP I .+1 /+ 699 001005 5233 PTCH10 /+ 15233 700 PTCH10=15233 /+ 701 001006 4550 PUSHJ /GET A VARIABLE 702 001007 4400 GETVAR 703 001010 7640 SZA CLA 704 001011 5271 JMP ERR500 /WAS FUNCTION 705 001012 1031 TAD MODE /SET TO IGNORE LEADING SPACES IF NECESSARY 706 001013 3032 DCA SPACSW 707 001014 4551 PUSHF /SAVE PT1;CHAR;LINEPC 708 001015 0025 PT1 709 001016 4551 PUSHF /SAVE TEXT 710 001017 0017 TEXTP 711 001020 4551 PUSHF 712 001021 0040 DATAPC+1 713 001022 4554 POPF /GET POINTERS 714 001023 0017 TEXTP 715 001024 1043 TAD DATAPC+4 716 001025 3026 DCA CHAR 717 001026 4575 TSTEND /MORE? 718 001027 5232 JMP INREA1 /NO 719 001030 2200 INREA4, ISZ INREAD /2ND EXIT 720 001031 5600 JMP I INREAD 721 722 001032 4567 INREA1, TSTCOM /MORE? 723 001033 4557 ERR490, ERROR /JUNK 724 001034 4544 GETC 725 001035 4575 TSTEND /COMMA FOLLOWED BY CR OR '? 726 001036 7410 SKP 727 001037 5230 JMP INREA4 /YES - ASK FOR MORE 728 001040 1031 INREA3, TAD MODE 729 001041 7650 SNA CLA 730 001042 5246 JMP SPLCH1-2 /NUMERIC INPUT 731 001043 4550 SPLCH, PUSHJ /GET THE STRING 732 001044 7625 QINP 733 001045 5250 JMP SPLCH1 734 001046 4550 PUSHJ 735 001047 2612 EVAL 736 001050 4551 SPLCH1, PUSHF 737 001051 0017 TEXTP 738 001052 4554 POPF 739 001053 0040 DATAPC+1 740 001054 1026 TAD CHAR 741 001055 3043 DCA DATAPC+4 /SAVE POINTERS 742 001056 4554 POPF 743 001057 0017 TEXTP 744 001060 4554 POPF 745 001061 0025 PT1 746 001062 4556 FLPUT /SET VARIABLE 747 001063 6167 FLARG 748 001064 4567 TSTCOM 749 001065 5270 JMP INREA2 750 001066 4544 GETC 751 001067 5203 JMP INREAD+3 752 753 001070 4575 INREA2, TSTEND 754 001071 4557 ERR500, ERROR /JUNK 755 001072 5600 JMP I INREAD 756 001073 7340 L7777 757 001074 4200 READ, JMS INREAD /SET THOSE VARIABLES 758 001075 5553 POPJ 759 001076 1031 READ1, TAD MODE /MUST SAVE MODE 760 001077 4547 PUSHA /IT IS CHANGED BELOW 761 001100 1037 TAD DATAPC 762 001101 4572 FIND 763 001102 0003 3 764 001103 4557 ERR510, ERROR /OUT OF DATA 765 001104 3037 DCA DATAPC 766 001105 4552 POPA /RESTORE MODE 767 001106 3031 DCA MODE 768 001107 5273 JMP READ-1 769 770 001110 4334 INPUT, JMS CHKFIL /CHECK IF A FILE 771 772 001111 4551 PUSHF 773 001112 0040 DATAPC+1 774 001113 1043 TAD DATAPC+4 775 001114 4547 PUSHA 776 001115 1124 TAD CCR 777 001116 3043 DCA DATAPC+4 778 001117 4200 JMS INREAD /SET THOSE VARIABLES 779 001120 5325 JMP INPUT1 /DONE 780 001121 4550 INPUT2, PUSHJ /GET LINE OF INPUT 781 001122 1155 GETINP 782 001123 7340 L7777 783 001124 5317 JMP INPUT2-2 784 785 001125 4575 INPUT1, TSTEND 786 001126 5233 JMP INREA1+1 787 001127 4552 POPA 788 001130 3043 DCA DATAPC+4 789 001131 4554 POPF 790 001132 0040 DATAPC+1 791 001133 5553 POPJ 792 793 001134 0000 CHKFIL, 0 794 001135 1026 TAD CHAR /CHECK FOR FILE INPUT 795 001136 1373 TAD MNMSGN 796 001137 7640 SZA CLA 797 001140 5734 JMP I CHKFIL /NOT FILE 798 001141 5742 JMP I .+1 /NO SPACE-PATCH IN EXTRA WORDS 799 001142 3760 CHKPAT /TO SET "D0" EXTENSION 800 001143 7110 CHKPT1, CLL RAR 801 001144 1077 TAD IBLKH 802 001145 7640 SZA CLA 803 001146 4544 GETC /SHOULD BE COMMA 804 001147 4567 TSTCOM 805 001150 4557 ERR600, ERROR 806 001151 4544 GETC /SKIP OVER COMMA 807 001152 1374 TAD VXGET /SETUP FILE INPUT 808 001153 3067 DCA PREADC 809 001154 5734 JMP I CHKFIL /DONE 810 811 001155 1067 GETINP, TAD PREADC /CHECK IF FILE, GET LINE OF INPUT 812 001156 1375 TAD MXREADC 813 001157 7640 SZA CLA 814 001160 5366 JMP GETIN1 /IT WAS A FILE 815 001161 4472 FREE13 816 001162 1134 TAD C77 817 001163 4470 PRINTC 818 001164 1142 TAD C40 819 001165 4470 PRINTC 820 001166 4550 GETIN1, PUSHJ 821 001167 5630 PAKLIN 822 001170 7640 SZA CLA /EOF? 823 001171 4557 ERR610, ERROR 824 001172 5553 POPJ 825 826 827 001173 7735 MNMSGN, 200-"# 828 001174 6653 VXGET, XGET 829 001175 4076 MXREADC, -XREADC 830 831 /*IF* COMMAND 832 833 001176 4550 IF, PUSHJ /GET FIRST VALUE 834 001177 2612 EVAL 835 001200 4551 PUSHF /AND SAVE IT 836 001201 6167 FLARG 837 001202 1031 TAD MODE 838 001203 4547 PUSHA /SAVE MODE 839 001204 1111 TAD SORTCN 840 001205 1133 TAD M12 841 001206 7510 SPA 842 001207 4557 ERR390, ERROR /NO RELATION OR BAD RELATION 843 001210 7126 CLL CML RTL 844 001211 3363 DCA IF1 /SAVE REL OP 845 001212 4544 GETC 846 001213 4546 SORTC /ANOTHER OP? 847 001214 3640 TERMS-1 848 001215 5263 JMP IF2 /MIGHT BE... 849 001216 7200 IF3, CLA 850 001217 1363 TAD IF1 851 001220 4546 SORTC /CHECK OP 852 001221 2377 IF4-1 853 001222 7610 PIF5, SKP CLA /7610=IF5, AT LEAST, IT BETTER!!!!!! 854 001223 5207 JMP ERR390 /BAD OP 855 001224 1111 TAD SORTCN 856 001225 1222 TAD PIF5 857 001226 3363 DCA IF1 858 001227 1763 TAD I IF1 /GET FLOATING SKIP WORD 859 001230 3252 DCA IF6 860 001231 4550 PUSHJ /GET 2ND VALUE 861 001232 2612 EVAL 862 001233 7346 L7775 863 001234 4571 COMMAN /GET NEXT COMMAND 864 001235 7650 SNA CLA 865 001236 4557 ERR400, ERROR /THEN NOT FOUND 866 001237 4552 POPA /GET OLD MODE 867 001240 1031 TAD MODE 868 001241 7640 SZA CLA 869 001242 5323 JMP IFSTR /WE WANT TO DO A STRING COMPARE 870 001243 4554 POPF 871 001244 6167 FLARG 872 001245 4407 FINT 873 001246 6522 FCMP I FLARGP /GET DIFFERENCT 874 001247 7522 FPUT I FLARGP /AND SAVE IT 875 001250 0000 FEXT 876 001251 1522 IF7, GETSGN /GET SIGN OF DIFFERENCE 877 001252 7402 IF6, HLT /SKIP IF FALSE 878 001253 4562 TESTN 879 001254 5553 IFDONE, POPJ /SO WHO CARES ABOUT A STRANGE NO-OP? 880 001255 5674 JMP I VRUN8 /GO DO COMMAND 881 001256 4565 GOTO, GETLN 882 001257 4575 TSTEND 883 001260 4557 ERR270, ERROR /JUNK 884 001261 1030 TAD LINENO /SET UP TRANSFER TO LINE 885 001262 5553 POPJ /RETURN 886 887 888 001263 1111 IF2, TAD SORTCN 889 001264 1133 TAD M12 890 001265 7510 SPA 891 001266 5216 JMP IF3 /NO 2ND OP 892 001267 7001 IAC 893 001270 1363 TAD IF1 894 001271 3363 DCA IF1 895 001272 4544 GETC 896 001273 5217 JMP IF3+1 897 898 001274 2506 VRUN8, RUN8 899 001275 1362 VIF1, IF1-1 900 001276 0464 VREADY, READY 901 001277 3745 VRESETO,RESETO 902 /*MOD* FUNCTION 903 001300 4551 MOD, PUSHF 904 001301 6167 FLARG 905 001302 4567 TSTCOM 906 001303 5777 JMP I (ERR560 907 001304 4550 PUSHJ 908 001305 2611 EVAL-1 909 001306 4554 POPF 910 001307 1363 PIF1, IF1 911 001310 4407 MOD1, FINT 912 001311 0707 FGET I PIF1 913 001312 4522 FDIV I FLARGP 914 001313 1776 FADD I (FCN 915 001314 3522 FMUL I FLARGP 916 001315 7775 FPUT I (TEMP 917 001316 0707 FGET I PIF1 918 001317 2775 FSUB I (TEMP 919 001320 0000 FEXT 920 001321 5553 POPJ 921 001322 3702 VXREADC,XREADC 922 001323 4554 IFSTR, POPF /STRING *IF* 923 001324 1363 IF1 /SAVE FIRST STRING 924 001325 1122 TAD FLARGP /POINT TO THE STRINGS 925 001326 3031 DCA MODE 926 001327 1275 TAD VIF1 927 001330 3013 DCA FLTXR 928 001331 7346 L7775 /DO AN INTEGER COMPARE ON 3 WORDS 929 001332 3115 DCA T3 930 001333 1413 IFSTR1, TAD I FLTXR /SUBTRACT WORDS, GET SIGN OF DIFFERENCE 931 001334 7040 CMA /THIS GARBAGE CONVERTS CR'S TO ZEROES 932 001335 3112 DCA T1 /AND ADDS ONE TO EACH CHARACTER 933 001336 1112 TAD T1 /SO COMPARES OF DIFFERENT LENGTHS COME OUT OK 934 001337 0134 AND C77 935 001340 7640 SZA CLA 936 001341 1140 TAD C7700 937 001342 1112 TAD T1 938 001343 3112 DCA T1 939 001344 1431 TAD I MODE 940 001345 7001 IAC 941 001346 0134 AND C77 942 001347 3113 DCA T2 943 001350 1431 TAD I MODE 944 001351 1374 TAD (100 945 001352 0140 AND C7700 946 001353 1113 TAD T2 947 /- TAD T1 948 /- SZA /IF DIFFERENCE ZERO, TRY ANOTHER PAIR 949 /- JMP IF6 /NON ZERO DIFFERENCE, COMPARE THEM 950 001354 6212 CIF 10 /+ 951 001355 5756 JMP I .+1 /+ 952 001356 5151 PATCH9 /+ 953 001357 2031 ISZ MODE 954 001360 2115 ISZ T3 955 001361 5333 JMP IFSTR1 956 001362 5252 JMP IF6 /IF DONE, COMPARE THEM 957 958 001363 0000 IF1, 0 959 001364 0000 0 960 001365 0000 IOFIX, 0 961 001366 1322 TAD VXREADC 962 001367 3067 DCA PREADC 963 001370 1276 TAD VREADY /RESET CHAIN POINTER 964 001371 3105 DCA CHAINP 965 001372 4677 JMS I VRESETO 966 001373 5765 JMP I IOFIX /RESET OUTPUT POINTERS AND EXIT. 967 001374 0100 PAGE 001375 6164 001376 5764 001377 5355 968 /*LET* AND *FOR* COMMANDS 969 001400 7340 FOR, L7777 970 001401 3360 LET, DCA FOR1 /SAVE DETERMINATOR 971 001402 4550 PUSHJ /GET VARIABLE 972 001403 4400 GETVAR 973 001404 7650 SNA CLA 974 001405 1026 TAD CHAR 975 001406 1323 TAD MEQL 976 001407 7640 SZA CLA 977 001410 4557 ERR410, ERROR /NO "=" 978 001411 4551 LET2, PUSHF /SAVE ADD,XCTIN,PT1 979 001412 0023 ADD 980 001413 4550 PUSHJ /GET VALUE 981 001414 2611 EVAL-1 982 001415 4554 POPF 983 001416 0023 ADD 984 001417 4556 FLPUT /SET VARIABLE 985 001420 6167 FLARG 986 001421 7340 L7777 987 001422 1017 TAD AXOUT 988 001423 3343 DCA FOR5 989 001424 2360 ISZ FOR1 /WHICH COMMAND? 990 001425 5324 JMP LET1 /LET COMMAND 991 001426 1023 TAD ADD 992 001427 7710 SPA CLA 993 001430 4557 ERR420, ERROR /SUBSCRIPTED 994 001431 4571 COMMAN /GET WORD 995 001432 1141 TAD M4 996 001433 7640 SZA CLA 997 001434 5333 JMP FOR2+3 /NOT *TO* 998 001435 1025 TAD PT1 999 001436 7041 CIA 1000 001437 3360 DCA FOR1 /SAVE POINTER 1001 001440 4550 PUSHJ /GET LIMIT 1002 001441 2612 EVAL 1003 001442 4551 PUSHF /SAVE LIMIT 1004 001443 6167 FLARG 1005 001444 4575 TSTEND 1006 001445 5330 JMP FOR2 /GET INCREMENT 1007 001446 4551 PUSHF /INCREMENT IS ONE 1008 001447 7157 FLTONE 1009 001450 1030 FOR3, TAD LINENO 1010 001451 4547 PUSHA 1011 001452 1030 TAD LINENO 1012 001453 7410 SKP 1013 001454 4552 FOR4, POPA 1014 001455 4572 FIND /FIND A *NEXT* STATEMENT 1015 001456 0001 1 /-NEXT CODE 1016 001457 4557 ERR440, ERROR /OUT OF TEXT 1017 001460 4547 PUSHA /SAVE FOR RESTART 1018 /- TSTALP 1019 /- JMP FOR4 1020 001461 7000 NOP /+ 1021 001462 7000 NOP /+ 1022 001463 4550 PUSHJ /GET VARIABLE 1023 001464 4400 GETVAR 1024 001465 7640 SZA CLA /NO SECOND CHANCE ON FUNCTION 1025 001466 3025 DCA PT1 1026 001467 4566 TSTCCR /"NEXT" MUST BE LAST ON LINE HERE OR WE 1027 001470 5744 JMP I NEXERR /FIND THIS NEXT FOREVER IN "FIND" 1028 /MUST BE LAST ALSO OR INITIALIZATION WILL 1029 /WIPE HIS PROGRAM [AND MAYBE THE SYSTEM!] 1030 001471 1025 TAD PT1 1031 001472 1360 TAD FOR1 1032 001473 7640 SZA CLA /RIGHT VARIABLE? 1033 001474 5254 JMP FOR4 /NO! 1034 001475 2015 ISZ PDLXR /DUMP RESTART ADDRESS 1035 001476 4552 POPA 1036 001477 3030 DCA LINENO 1037 001500 1030 TAD LINENO 1038 001501 4560 UDF 1039 001502 3417 DCA I AXOUT /SET LINE NUMBER 1040 001503 1343 TAD FOR5 1041 001504 3417 DCA I AXOUT /AND MIDDLE OF LINE POINTER 1042 001505 6201 CDF 1043 001506 4554 POPF /GET INCREMENT 1044 001507 6167 FLARG 1045 001510 1017 TAD AXOUT 1046 001511 4556 FLPUT /PUT INCREMENT 1047 001512 6167 FLARG 1048 001513 4554 POPF /GET LIMIT 1049 001514 6167 FLARG 1050 001515 7326 L0002 1051 001516 7001 IAC 1052 001517 1017 TAD AXOUT 1053 001520 4556 FLPUT /SET LIMIT 1054 001521 6167 FLARG 1055 001522 4574 FINDLN /FIND US AGAIN 1056 001523 7703 MEQL, -"=+200 /THIS NEVER GETS EXECUTED 1057 001524 4575 LET1, TSTEND 1058 001525 4557 ERR450, ERROR /JUNK 1059 001526 1343 TAD FOR5 1060 001527 5777 JMP I (FOREXT 1061 1062 001530 7344 FOR2, L7776 1063 001531 4571 COMMAN /IS IT STEP? 1064 001532 7650 SNA CLA 1065 001533 4557 ERR430, ERROR /NOT STEP 1066 001534 4550 PUSHJ /GET INCREMENT 1067 001535 2612 EVAL 1068 001536 4551 PUSHF /SAVE INCREMENT 1069 001537 6167 FLARG 1070 001540 4575 TSTEND 1071 001541 5333 JMP FOR2+3 /JUNK 1072 001542 5250 JMP FOR3 1073 1074 001543 0000 FOR5, 0 1075 001544 2400 NEXERR, ERR460 1076 1077 001545 4570 UNKWN, TSTALP 1078 001546 5361 JMP ERRCHK 1079 001547 4550 PUSHJ 1080 001550 4400 GETVAR 1081 001551 7650 SNA CLA 1082 001552 1026 TAD CHAR 1083 1084 001553 1323 TAD MEQL 1085 001554 7640 SZA CLA 1086 001555 5346 JMP UNKWN+1 /NO "=" 1087 001556 3360 DCA FOR1 /MAKE IT A LET COMMAND 1088 001557 5211 JMP LET2 1089 1090 001560 0000 FOR1, 0 1091 1092 IFZERO .&1 1093 001561 7200 ERRCHK, CLA 1094 001562 1062 TAD ERLINE 1095 001563 7740 SMA SZA CLA 1096 001564 4557 ERR520, ERROR /RUNNING 1097 001565 4557 ERR000, ERROR /IMMEDIATE MODE--"WHAT?" 1098 1099 001566 4547 OPUSJ1, PUSHA 1100 001567 1376 TAD (OPUS 1101 001570 4547 PUSHA 1102 001571 5515 JMP I T3 1103 1104 001572 6211 ABS, CDF SWAP 1105 001573 3775 DCA I (ACSIGN 1106 001574 5553 POPJ 1107 1108 1109 1110 001575 0043 PAGE 001576 7400 001577 2460 1111 /*DELETE* ROUTINE 1112 001600 0000 XDELET, 0 1113 001601 4574 FINDLN /FIND THE LINE 1114 001602 5600 JMP I XDELET /NOT THERE - EXIT 1115 001603 2032 ISZ SPACSW 1116 001604 4544 GETC 1117 001605 4566 TSTCCR /GO TO END OF LINE 1118 001606 5204 JMP .-2 1119 001607 1017 TAD AXOUT 1120 001610 7040 CMA 1121 001611 1027 TAD LINEPC 1122 001612 4547 PUSHA /SAVE COUNT 1123 001613 1027 TAD LINEPC 1124 001614 7001 IAC 1125 001615 3017 DCA AXOUT /TO UNPACK 1126 001616 3021 DCA XCT 1127 001617 4550 PUSHJ 1128 001620 6523 ENDFND 1129 001621 7650 SNA CLA 1130 001622 1137 TAD M10 1131 001623 4552 POPA 1132 001624 3115 DCA T3 /CORRECTED COUNT 1133 001625 1027 TAD LINEPC 1134 001626 7041 CIA 1135 001627 1057 TAD ALINE0 1136 001630 7650 SNA CLA 1137 001631 5600 JMP I XDELET /NOT LINE0 1138 001632 4560 UDF 1139 001633 1427 TAD I LINEPC /GET POINTER 1140 001634 3431 DCA I LASTLN /REMOVE LINE 1141 001635 1057 TAD ALINE0 1142 001636 3113 XDEL3, DCA T2 /CURRENT LINE 1143 001637 1513 TAD I T2 1144 001640 7450 SNA 1145 001641 5254 JMP XDEL2 /OUT OF TEXT 1146 001642 3112 DCA T1 1147 001643 1027 TAD LINEPC 1148 001644 7141 CLL CIA 1149 001645 1112 TAD T1 1150 001646 7630 SZL CLA 1151 001647 1115 TAD T3 /CORRECT LINE 1152 001650 1112 TAD T1 1153 001651 3513 DCA I T2 1154 001652 1112 TAD T1 1155 001653 5236 JMP XDEL3 1156 1157 001654 7340 XDEL2, L7777 1158 001655 1027 TAD LINEPC 1159 001656 3012 DCA XREG3 1160 001657 1115 TAD T3 1161 001660 7040 CMA 1162 001661 1027 TAD LINEPC 1163 001662 3017 DCA AXOUT 1164 001663 1115 TAD T3 1165 001664 1054 TAD BUFR 1166 001665 3054 DCA BUFR 1167 001666 1016 TAD AXIN 1168 001667 7040 CMA 1169 001670 1017 TAD AXOUT 1170 001671 3112 DCA T1 1171 001672 1115 TAD T3 1172 001673 1016 TAD AXIN 1173 001674 3016 DCA AXIN 1174 001675 1417 TAD I AXOUT 1175 001676 3412 DCA I XREG3 /MOVE TEXT 1176 001677 2112 ISZ T1 1177 001700 5275 JMP .-3 1178 001701 5201 JMP XDELET+1 1179 /PUSH ROUTINES 1180 001702 0000 XPUSHA, 0 1181 001703 3315 DCA XPUSHJ 1182 001704 7340 L7777 /BACK 1 1183 001705 4322 JMS PCHK 1184 001706 1315 TAD XPUSHJ 1185 001707 4560 UDF 1186 001710 3415 DCA I PDLXR /PUSH IT 1187 001711 6201 CDF 1188 001712 7340 L7777 1189 001713 4322 JMS PCHK /BACK AGAIN 1190 001714 5702 JMP I XPUSHA 1191 1192 001715 0000 XPUSHJ, 0 1193 001716 1715 TAD I XPUSHJ /GET SEND ADDRESS 1194 001717 3302 DCA XPUSHA 1195 001720 2315 ISZ XPUSHJ /CALCULATE RETURN ADDRESS 1196 001721 5304 JMP XPUSHA+2 1197 1198 001722 0000 PCHK, 0 1199 001723 1015 TAD PDLXR 1200 001724 3015 DCA PDLXR 1201 001725 7326 L0002 1202 001726 1055 TAD LASTV 1203 001727 7161 STL CIA 1204 001730 1015 TAD PDLXR 1205 001731 7630 SZL CLA 1206 001732 5777 JMP I (ERR100-2 /PUSHED TOO FAR 1207 001733 5722 JMP I PCHK 1208 1209 /*PUSHF* ROUTINE 1210 001734 0000 XPUSHF, 0 1211 001735 7340 L7777 1212 001736 1734 TAD I XPUSHF 1213 001737 3012 DCA XREG3 /POINT TO DATA 1214 001740 7346 L7775 1215 001741 4322 JMS PCHK 1216 001742 7346 L7775 1217 001743 3115 DCA T3 1218 001744 1412 TAD I XREG3 1219 001745 4560 UDF 1220 001746 3415 DCA I PDLXR 1221 001747 6201 CDF 1222 001750 2115 ISZ T3 1223 001751 5344 JMP .-5 1224 001752 7346 L7775 1225 001753 4322 JMS PCHK /BACK AGAIN 1226 001754 2334 ISZ XPUSHF 1227 001755 5734 JMP I XPUSHF 1228 1229 /CALL MESSAGE WRITER IN FIELD 1 1230 /-READY1, 0 1231 001756 0000 0 /+ 1232 001757 4547 PUSHA /SAVE MESSAGE NUMBER 1233 001760 4472 FREE13 /MAKE SURE THERE'S ROOM 1234 001761 4552 POPA /RESTORE MESSAGE NUMBER 1235 001762 6213 CIF CDF SWAP 1236 001763 4765 JMS I .+2 1237 /- JMP I READY1 1238 001764 5553 POPJ /+ 1239 001765 5000 READY2 1240 1241 001766 4547 RUN9X, PUSHA /SAVE FIELD 1 RESTART ADDRESS 1242 001767 4776 JMS I (RUN9 /DISMISS US 1243 001770 4552 POPA /RESTORE ADDRESS 1244 001771 3112 DCA T1 1245 001772 6213 CIF CDF 10 /GO TO IT 1246 001773 5512 JMP I T1 1247 1248 1249 001776 2534 PAGE 001777 4473 1250 002000 0000 MANCOM, 0 1251 002001 3014 DCA FLTXR2 /SAVE AC 1252 002002 4337 JMS COMPUSH /SAVE TEXT POINTERS 1253 002003 1377 TAD (LIST7 /START AT BEGINNING OF LIST 1254 002004 6211 CDF SWAP /IN FIELD 1 1255 002005 3113 COMLP1, DCA T2 /LIST POINTER 1256 002006 7301 L0001 1257 002007 3112 DCA T1 /LETTER POINTER 1258 002010 1513 TAD I T2 /GET -UNIQUE COUNT-1 1259 002011 7012 RTR / 1260 002012 0125 AND C7 / 1261 002013 7110 CLL RAR / 1262 002014 7040 CMA / 1263 002015 3114 DCA CNTR / 1264 002016 4263 JMS COM11 /UNIQUE? 1265 002017 5227 JMP COM3 /YES - TRY REST 1266 002020 2113 ISZ T2 /GET NEXT COMMAND IN LIST 1267 002021 1513 TAD I T2 / 1268 002022 7440 SZA /END OF LIST? 1269 002023 5205 JMP COMLP1 /NO - GO ON 1270 002024 4346 JMS COMDUMP /YES - DUMP THE POINTERS 1271 002025 6201 COM5, CDF /YES - RETURN FAILURE 1272 002026 5600 JMP I MANCOM /AC=0 1273 1274 1275 002027 1513 COM3, TAD I T2 /GET -FULL LENGTH-2 1276 002030 0125 AND C7 / 1277 002031 7001 IAC / 1278 002032 7040 CMA / 1279 002033 1112 TAD T1 /T1=UNIQUE COUNT+1 1280 002034 3114 DCA CNTR /-NO. OF CHARS TO GO-1 1281 002035 4337 JMS COMPUSH /SAVE TEXT POINTERS 1282 002036 4263 JMS COM11 /LONG FORM OF COMMAND? 1283 002037 0004 COMK4, 4 1284 002040 4346 JMS COMDUMP /THROW OUT SHORT POINTERS 1285 002041 1513 TAD I T2 1286 002042 4561 RTL6 1287 002043 7006 RTL 1288 002044 0134 AND C77 /GET CODE 1289 002045 1376 TAD (-32 /CORRECT IT 1290 002046 3013 DCA FLTXR /AND SAVE IT 1291 002047 1014 TAD FLTXR2 1292 002050 7450 SNA 1293 002051 5255 JMP .+4 /NO DOUBLE CHECK 1294 002052 1013 TAD FLTXR 1295 002053 7640 SZA CLA 1296 002054 5261 JMP COM7 /DOUBLE CHECK FAILS 1297 002055 6201 CDF 1298 002056 4346 JMS COMDUMP /DUMP PDL JUNK 1299 002057 1013 TAD FLTXR 1300 002060 5600 JMP I MANCOM 1301 002061 4330 COM7, JMS COMPOP /RESET POINTERS TO ENTRY VALUES 1302 002062 5225 JMP COM5 /TAKE FAILURE RETURN 1303 1304 1305 002063 0000 COM11, 0 /COMMAND COMPARISON 1306 002064 3337 DCA COM12 /SET POINTERS UNUSED SWITCH 1307 002065 6211 COMLP2, CDF SWAP 1308 002066 2114 ISZ CNTR /-NO. OF CHARS TO GO-1 1309 002067 7410 SKP 1310 002070 5663 JMP I COM11 /SUCCESS RETURN FROM COM11 1311 002071 7301 L0001 1312 002072 1112 TAD T1 1313 002073 7010 RAR 1314 002074 1113 TAD T2 1315 002075 3012 DCA XREG3 1316 002076 1412 TAD I XREG3 1317 002077 7430 SZL 1318 002100 5303 JMP .+3 1319 002101 4561 RTL6 1320 002102 7004 RAL 1321 002103 0134 AND C77 1322 002104 7450 SNA 1323 002105 1355 TAD TSTCON 1324 002106 1375 TAD (-137 1325 002107 1026 TAD CHAR 1326 002110 7640 SZA CLA /SAME SO FAR? 1327 002111 5320 JMP COM13 /NO GO 1328 002112 7340 L7777 1329 002113 3337 DCA COM12 /SET SWITCH FOR POINTERS USED 1330 002114 6201 CDF 1331 002115 4544 GETC /NEXT CHAR 1332 002116 2112 ISZ T1 /LETTER POINTER 1333 002117 5265 JMP COMLP2 /LOOP 1334 1335 002120 6211 COM13, CDF SWAP /BE SURE TO RETURN WITH DF=1 1336 002121 2263 ISZ COM11 /FAILURE RETURN FROM COM11 1337 002122 2337 ISZ COM12 /HAVE THE TEXT POINTERS BEEN USED? 1338 002123 5663 JMP I COM11 1339 002124 4330 JMS COMPOP /COMPOP RETURNS WITH DF=1 1340 002125 1137 TAD M10 /FOOL COMDUMP INTO BACKING UP 1341 002126 4346 JMS COMDUMP /OVER SAVED POINTERS 1342 002127 5663 JMP I COM11 1343 1344 1345 002130 0000 COMPOP, 0 /RESTORE TEXT POINTERS FROM PDL 1346 002131 4552 POPA 1347 002132 3026 DCA CHAR 1348 002133 4554 POPF 1349 002134 0017 TEXTP 1350 002135 6211 CDF SWAP 1351 002136 5730 JMP I COMPOP 1352 1353 COM12, /THIS SWITCH IS NEVER IN USE WHEN COMPUSH IS CALLED 1354 002137 0000 COMPUSH, 0 /SAVE POINTERS 1355 002140 6201 CDF 1356 002141 4551 PUSHF 1357 002142 0017 TEXTP /SAVE TEXT POINTERS 1358 002143 1026 TAD CHAR / 1359 002144 4547 PUSHA / 1360 002145 5737 JMP I COMPUSH 1361 1362 002146 0000 COMDUMP, 0 /DUMP PDL ENTRIES 1363 002147 1237 TAD COMK4 1364 002150 1015 TAD PDLXR 1365 002151 3015 DCA PDLXR 1366 002152 5746 JMP I COMDUMP 1367 1368 002153 0000 TSTCH1, 0 /TEST A-Z,0-9 FOR FIELD 1 1369 002154 4562 TESTN 1370 002155 0122 TSTCON, -215+337 1371 002156 7410 SKP 1372 002157 2353 ISZ TSTCH1 1373 002160 4570 TSTALP 1374 002161 7410 SKP 1375 002162 2353 ISZ TSTCH1 1376 002163 6213 CIF CDF 10 1377 002164 5753 JMP I TSTCH1 1378 002165 6212 PATCH8, CIF 10 /+ 1379 002166 5767 JMP I .+1 /+ 1380 002167 5256 PTCH8B /+ 1381 1382 1383 002175 7641 PAGE 002176 7746 002177 0771 1384 /*EDIT* COMMAND 1385 002200 4565 EDIT, GETLN /GET LINE NUMBER 1386 002201 4566 TSTCCR 1387 002202 4557 ERR001, ERROR /JUNK 1388 002203 4574 FINDLN /FIND THE LINE 1389 002204 5202 JMP ERR001 /NOT THERE 1390 002205 2032 ISZ SPACSW 1391 002206 4637 JMS I EPINPACK /SET TO PACK IT 1392 002207 3130 MODF2, DCA LSTMOD /READ SILENTLY 1393 002210 4467 READC 1394 002211 1026 MODF3, TAD CHAR 1395 002212 3130 DCA LSTMOD /SET SEARCH CHARACTER 1396 002213 4544 MODF1, GETC 1397 002214 4471 FREE2 1398 002215 4470 PRINTC /PRINT LINE UNTIL... 1399 002216 4545 SORTJ 1400 002217 0123 CCR-1 1401 002220 2041 MODL1-CCR 1402 002221 4564 PACKC /KEEP PACKING 1403 002222 5213 JMP MODF1 1404 1405 002223 4564 MODF4, PACKC /PACK IT 1406 002224 4467 READC /GET CHARS 1407 002225 4545 SORTJ /CHECK THEM 1408 002226 0123 CCR-1 1409 002227 1225 MODL2-CCR 1410 002230 5223 JMP MODF4 1411 1412 002231 4564 MODF5, PACKC /PACK THE CR 1413 002232 4564 PACKC 1414 002233 4635 JMS I .+2 1415 002234 5636 JMP I .+2 1416 002235 5620 OTPACK 1417 002236 0510 SRETN 1418 002237 5607 EPINPACK,INPACK 1419 /*DELETE* COMMAND 1420 002240 4336 DELETE, JMS GETLIM /GET LIMITS 1421 002241 1054 TAD BUFR 1422 002242 3016 DCA AXIN /PROTECT TEXT 1423 002243 4317 JMS GETLIN /GET A LINE 1424 002244 5771 JMP I CVARKIL /WE ARE DONE 1425 002245 4770 JMS I CXDELET /DELETE IT 1426 002246 1031 TAD LASTLN 1427 002247 3027 DCA LINEPC /RESTORE POINTERS 1428 002250 5243 JMP .-5 /LOOP 1429 1430 /*LIST* COMMAND 1431 002251 4336 LIST, JMS GETLIM /GET LIMITS 1432 002252 2032 ISZ SPACSW /KEEP SPACES 1433 002253 1140 TAD M100 1434 002254 3025 DCA PT1 1435 002255 1034 TAD OUTPUT 1436 002256 7650 SNA CLA 1437 002257 5266 JMP LLIST3-3 /NORMAL MODE 1438 002260 3034 DCA OUTPUT /WE WILL OUTPUT FOR A WHILE 1439 002261 4471 LLIST5, FREE2 1440 002262 7330 L4000 1441 002263 4470 PRINTC 1442 002264 2025 ISZ PT1 1443 002265 5261 JMP LLIST5 1444 002266 4471 FREE2 1445 002267 1124 TAD CCR 1446 002270 4470 PRINTC 1447 002271 4317 LLIST3, JMS GETLIN /GET A LINE 1448 002272 5304 JMP LLIST4 /WE ARE DONE 1449 002273 4472 FREE13 1450 002274 1030 TAD LINENO 1451 002275 4762 JMS I CITPRNT /PRINT THE NUMBER 1452 002276 4544 GETC 1453 002277 4471 FREE2 1454 002300 4470 PRINTC /PRINT THE LINE 1455 002301 4566 TSTCCR 1456 002302 5276 JMP .-4 /UNTIL A CR 1457 002303 5271 JMP LLIST3 /LOOP 1458 1459 002304 1025 LLIST4, TAD PT1 1460 002305 7640 SZA CLA 1461 002306 5772 JMP I CSAVDON /SEE IF THIS IS A 'SAVE' 1462 002307 1140 TAD M100 1463 002310 3025 DCA PT1 1464 002311 4471 LLIST6, FREE2 1465 002312 7330 L4000 1466 002313 4470 PRINTC /DO L/T 1467 002314 2025 ISZ PT1 1468 002315 5311 JMP LLIST6 1469 002316 5773 JMP I CTAPE 1470 1471 002317 0000 GETLIN, 0 1472 002320 1124 TAD CCR /FAKE OUT GETNXT! 1473 002321 3026 DCA CHAR 1474 002322 4573 GETNXT /GET NEXT LINE 1475 002323 5717 JMP I GETLIN /OUT OF TEXT 1476 002324 4552 POPA 1477 002325 3115 DCA T3 /GET LIMIT 1478 002326 1115 TAD T3 1479 002327 4547 PUSHA /SAVE LIMIT 1480 002330 1030 TAD LINENO 1481 002331 7041 CIA 1482 002332 1115 TAD T3 1483 002333 7700 SMA CLA 1484 002334 2317 ISZ GETLIN /OK 1485 002335 5717 JMP I GETLIN 1486 1487 002336 0000 GETLIM, 0 1488 002337 4566 TSTCCR 1489 002340 5344 JMP LIMGT1 /NOT ALL 1490 002341 3031 DCA LASTLN /START AT 0 1491 002342 7350 L3777 1492 002343 5354 JMP LIMGT3 1493 1494 002344 4565 LIMGT1, GETLN /GET A LINE NUMBER 1495 002345 1030 TAD LINENO 1496 002346 3031 DCA LASTLN /AND SAVE IT 1497 002347 4567 TSTCOM 1498 002350 5366 JMP LIMGT2 /ONLY ONE LINE 1499 002351 4544 GETC 1500 002352 4565 GETLN /GET LINE NUMBER 1501 002353 1030 TAD LINENO 1502 002354 4547 LIMGT3, PUSHA /UPPER LIMIT 1503 002355 1031 TAD LASTLN 1504 002356 3030 DCA LINENO /LOWER LIMIT 1505 002357 4566 TSTCCR 1506 002360 5202 JMP EDIT+2 /JUNK 1507 002361 4574 LIMGT4, FINDLN /FIND THE LINE 1508 002362 0231 CITPRNT,ITPRNT 1509 002363 1031 TAD LASTLN 1510 002364 3027 DCA LINEPC /AND GO BACK ONE 1511 002365 5736 JMP I GETLIM 1512 1513 002366 1031 LIMGT2, TAD LASTLN /1ST = 2ND 1514 002367 5354 JMP LIMGT3 1515 1516 1517 002370 1600 CXDELET,XDELET 1518 002371 4235 CVARKIL,VARKILL 1519 002372 7124 CSAVDON,SAVDON 1520 002373 5077 CTAPE, TAPE 1521 /*NEXT* COMMAND 1522 002374 4550 NEXT, PUSHJ /GET VARIABLE 1523 002375 4400 GETVAR 1524 002376 7650 SNA CLA 1525 002377 4566 TSTCCR 1526 002400 4557 ERR460, ERROR /WAS FUNCTION 1527 002401 4407 FINT 1528 002402 0522 FGET I FLARGP /PUT VARIABLE INTO FLAC 1529 002403 0000 FEXT 1530 002404 4560 UDF 1531 002405 1417 TAD I AXOUT /GET *FOR* LINE NUMBER 1532 002406 7450 SNA 1533 002407 4557 ERR470, ERROR /*NEXT* NOT INITIALIZED 1534 002410 3112 DCA T1 /SAVE LINE 1535 002411 1417 TAD I AXOUT 1536 002412 3325 DCA RUNSCR 1537 002413 6201 CDF 1538 002414 1017 TAD AXOUT 1539 002415 4555 FLGET /GET INCREMENT 1540 002416 6167 FLARG 1541 002417 1522 GETSGN 1542 002420 7700 NEXT3, SMA CLA 1543 002421 1256 TAD C50 /POSITIVE INCREMENT 1544 002422 1220 TAD NEXT3 /NEGATIVE INCREMENT 1545 002423 3243 DCA NEXT1 /SET LIMIT TEST INSTRUCTION 1546 002424 4407 FINT 1547 002425 1522 FADD I FLARGP /BUMP VARIABLE 1548 002426 7522 FPUT I FLARGP /SAVE VALUE 1549 002427 0000 FEXT 1550 002430 4556 FLPUT /SET VARIABLE 1551 002431 6167 FLARG 1552 002432 1143 TAD C3 1553 002433 1017 TAD AXOUT 1554 002434 4555 FLGET /GET LIMIT 1555 002435 6167 FLARG 1556 002436 4407 FINT 1557 002437 2522 FSUB I FLARGP 1558 002440 7522 FPUT I FLARGP 1559 002441 0000 FEXT 1560 002442 1522 GETSGN /SIGN OF DIFFERENCE 1561 002443 7402 NEXT1, HLT /SKIP IF DONE 1562 002444 5253 JMP NEXT2 /NOT DONE 1563 002445 7340 L7777 1564 002446 1017 TAD AXOUT 1565 002447 3112 DCA T1 1566 002450 4560 UDF 1567 002451 3512 DCA I T1 /NOT INITIALIZED NOW 1568 002452 5553 POPJ 1569 1570 002453 1112 NEXT2, TAD T1 /GET LINE NUMBER OF *FOR* 1571 002454 3030 DCA LINENO 1572 002455 4574 FINDLN 1573 002456 0050 C50, 50 /IF IT AIN'T THERE, WELL... 1574 002457 1325 TAD RUNSCR 1575 002460 3017 FOREXT, DCA AXOUT 1576 002461 3026 DCA CHAR 1577 002462 5553 POPJ 1578 002463 4750 CHAIN1, JMS I PIOFX 1579 002464 4777 JMS I (DTFREE /REALLY FREE IT THIS TIME 1580 /*RUN* COMMAND 1581 002465 1054 RUN, TAD STARTV 1582 002466 3055 DCA LASTV /NO VARIABLES 1583 002467 4551 PUSHF 1584 002470 7736 FRNDX1 1585 002471 4554 POPF /SET RANDOM NUMBER 1586 002472 0106 FRNDX 1587 002473 4351 JMS RUN4 /UNINITIALIZE THE *NEXT* STATEMENTS 1588 002474 1057 TAD ALINE0 1589 002475 3027 DCA LINEPC /START AT LINE ZERO 1590 002476 4573 RUN7, GETNXT /GET NEXT LINE 1591 002477 5776 JMP I (READY /ALL DONE 1592 002500 3032 RUN6, DCA SPACSW 1593 002501 4544 GETC 1594 002502 2022 ISZ PC 1595 002503 5307 JMP RUN8+1 /STILL O.K. 1596 002504 4334 JMS RUN9 /DISMISS US NOW 1597 002505 7410 SKP 1598 002506 2015 RUN8, ISZ PDLXR 1599 002507 4750 JMS I PIOFX 1600 002510 3031 DCA MODE 1601 002511 1030 TAD LINENO 1602 002512 3062 DCA ERLINE /SET CURRENT LINE 1603 002513 4571 COMMAN /GET COMMAND 1604 002514 7540 SMA SZA 1605 002515 5775 JMP I (ERRCHK 1606 002516 1374 TAD (COMGOL 1607 002517 3112 DCA T1 1608 002520 6211 CDF SWAP 1609 002521 1512 TAD I T1 /GET ADDRESS 1610 002522 6201 CDF 1611 002523 3325 DCA .+2 1612 002524 4550 PUSHJ /GO TO IT 1613 002525 0000 RUNSCR, 0 1614 002526 7450 SNA 1615 002527 5276 JMP RUN7 /NORMAL RETURN 1616 002530 3030 DCA LINENO /FOR TRANSFER 1617 002531 4574 GOSUB2, FINDLN /FIND THE LINE 1618 002532 4557 ERR380, ERROR /NOT FOUND 1619 002533 5300 JMP RUN6 1620 1621 002534 0000 RUN9, 0 /DISMISSAL ROUTINE 1622 002535 1334 TAD RUN9 1623 002536 3022 DCA PC /SET RESTART ADDRESS 1624 002537 5177 JMP NULL /DISMISS 1625 1626 002540 4351 IMMED, JMS RUN4 1627 002541 7340 L7777 1628 002542 1060 TAD COMBUF 1629 002543 3027 DCA LINEPC 1630 002544 7340 L7777 1631 002545 3030 DCA LINENO /IMMEDIATE MODE 1632 002546 4773 JMS I (OTPACK 1633 002547 5307 JMP RUN8+1 1634 1635 002550 1365 PIOFX, IOFIX 1636 1637 002551 0000 RUN4, 0 1638 002552 7200 CLA 1639 002553 1124 TAD CCR /SET END OF LINE FOR GETNXT 1640 002554 3026 DCA CHAR 1641 002555 1062 TAD ERLINE 1642 002556 4572 FIND /FIND THE NEXT STATEMENTS 1643 002557 0001 1 /- NEXT CODE 1644 002560 5751 JMP I RUN4 /OUT OF TEXT 1645 002561 3062 DCA ERLINE /SAVE FOR RESTART 1646 002562 4550 PUSHJ 1647 002563 4400 GETVAR 1648 002564 7650 SNA CLA 1649 002565 4566 TSTCCR 1650 002566 5200 JMP ERR460 1651 002567 4560 UDF 1652 002570 3417 DCA I AXOUT /NOT INITIALIZED NOW 1653 002571 5352 JMP RUN4+1 1654 1655 002573 5620 PAGE 002574 3750 002575 1561 002576 0464 002577 6627 1656 /EXPRESSION EVALUATOR 1657 002600 0000 ECALL, 0 1658 002601 1111 TAD SORTCN 1659 002602 4547 PUSHA 1660 002603 1117 TAD LASTOP 1661 002604 4547 PUSHA 1662 002605 1114 TAD EFOP 1663 002606 4547 PUSHA 1664 002607 1200 TAD ECALL 1665 002610 4547 PUSHA /RETURN ADDRESS 1666 002611 4544 GETC 1667 002612 3117 EVAL, DCA LASTOP /0 IS END 1668 002613 1353 TAD EVAL1 1669 002614 4547 PUSHA /SAVE EVAL1 1670 002615 3353 DCA EVAL1 /0 EVAL1 1671 002616 4563 TESTC 1672 002617 5223 JMP ETERM1 /INITIAL TERMINATOR 1673 002620 5241 JMP ENUM /NUMBER 1674 002621 5344 JMP EVAR /VARIABLE 1675 002622 5777 JMP I (QUOTES /CHECK FOR LITERAL STRING 1676 1677 002623 1376 ETERM1, TAD (FLZERO 1678 002624 3025 DCA PT1 /0 DATA 1679 002625 7344 L7776 1680 002626 1111 TAD SORTCN 1681 002627 7450 SNA 1682 002630 5261 JMP ETERM /MINUS 1683 002631 7001 IAC 1684 002632 7650 SNA CLA 1685 002633 5336 JMP ARGNXT /PLUS 1686 002634 4576 ELPAR, TSTLPR 1687 002635 5354 JMP EVAL2 /CHECK UNARY 1688 002636 4200 EPAR2, JMS ECALL /RECURSIVE CALL 1689 002637 2015 ISZ PDLXR 1690 002640 5775 JMP I (ENDFUN /END AS FUNCTION 1691 1692 002641 1122 ENUM, TAD FLARGP 1693 002642 3025 DCA PT1 /DATA TO FLARG 1694 002643 4774 JMS I (FLIN /GET VALUE 1695 002644 2353 OPNEXT, ISZ EVAL1 1696 002645 5251 JMP .+4 /NO UNARY 1697 002646 7330 L4000 1698 002647 1425 TAD I PT1 1699 002650 3425 DCA I PT1 /FLIP SIGN 1700 002651 3353 DCA EVAL1 1701 002652 4546 SORTC 1702 002653 3640 TERMS-1 1703 002654 5256 JMP ETERMN 1704 002655 3111 DCA SORTCN /ALL ELSE IS END 1705 002656 4576 ETERMN, TSTLPR 1706 002657 7410 SKP 1707 002660 4557 ERR120, ERROR /EXCESS L-PARENS 1708 002661 1111 ETERM, TAD SORTCN 1709 002662 3116 DCA THISOP /SET OP 1710 002663 1116 TAD THISOP 1711 002664 1137 TAD M10 1712 002665 7700 SMA CLA 1713 002666 3116 DCA THISOP /END 1714 002667 1116 ETERM2, TAD THISOP 1715 002670 7041 CIA 1716 002671 1117 TAD LASTOP /PRIORITIES 1717 002672 7710 SPA CLA 1718 002673 5323 JMP EPAR /NO GO YET 1719 002674 1117 TAD LASTOP 1720 002675 1373 TAD (OPTABL 1721 002676 3114 DCA CNTR 1722 002677 1514 TAD I CNTR 1723 002700 3307 DCA FLOP /SET OP 1724 002701 1117 TAD LASTOP 1725 002702 7640 SZA CLA 1726 002703 4554 POPF /GET DATA 1727 002704 0112 T1 /DUMB TEMP 1728 002705 4407 FINT 1729 002706 0112 FGET T1 1730 002707 5772 FLOP, FJMP I (FUPARR /FLOATING OP 1731 002710 7522 FPUT I FLARGP /SAVE DATA 1732 002711 0000 FEXT 1733 002712 1122 TAD FLARGP 1734 002713 3025 DCA PT1 /POINT TO DATA 1735 002714 1116 TAD THISOP 1736 002715 1117 TAD LASTOP 1737 002716 7650 SNA CLA 1738 002717 5366 JMP EVAL3 /DONE 1739 002720 4552 POPA 1740 002721 3117 DCA LASTOP /NEW OP 1741 002722 5267 JMP ETERM2 1742 1743 002723 4576 EPAR, TSTLPR 1744 002724 7410 SKP 1745 002725 5236 JMP EPAR2 /DO RECURSIVE 1746 002726 1117 TAD LASTOP 1747 002727 4547 PUSHA 1748 002730 1025 TAD PT1 1749 002731 3333 DCA .+2 1750 002732 4551 PUSHF /SAVE DATA 1751 002733 0000 0 1752 002734 1116 TAD THISOP 1753 002735 3117 DCA LASTOP 1754 002736 4544 ARGNXT, GETC 1755 002737 4563 TESTC 1756 002740 5234 JMP ELPAR /T 1757 002741 5241 JMP ENUM /N 1758 002742 5344 JMP EVAR /V 1759 002743 5357 JMP ERR110 /OTHER 1760 1761 002744 4550 EVAR, PUSHJ /GET VARIABLE 1762 002745 4400 GETVAR 1763 002746 7440 SZA 1764 002747 5771 JMP I (FUNCT3 /FUNCTION 1765 002750 1122 TAD FLARGP 1766 002751 3025 DCA PT1 /POINT TO DATA 1767 002752 5244 JMP OPNEXT 1768 1769 002753 0000 EVAL1, 0 1770 1771 002754 7344 EVAL2, L7776 1772 002755 1111 TAD SORTCN /IS IT + OR -? 1773 002756 7540 SMA SZA 1774 002757 4557 ERR110, ERROR /NO - DOUBLE OPS OR EX L-PARNES 1775 002760 7640 SZA CLA 1776 002761 5336 JMP ARGNXT /WAS + 1777 002762 1353 TAD EVAL1 1778 002763 7040 CMA 1779 002764 3353 DCA EVAL1 /FLIP EVAL1 1780 002765 5336 JMP ARGNXT 1781 1782 002766 4552 EVAL3, POPA 1783 002767 3353 DCA EVAL1 /RESTORE EVAL1 1784 002770 5553 POPJ /EXIT 1785 1786 002771 5710 PAGE 002772 5021 002773 5400 002774 5731 002775 7741 002776 7160 002777 7617 1787 003000 4547 FUNCT6, PUSHA /SAVE CHARACTER 1788 003001 3114 DCA EFOP 1789 003002 2114 ISZ EFOP 1790 003003 4551 PUSHF /SAVE ARGS 1791 003004 6167 FLARG 1792 003005 4567 TSTCOM 1793 003006 5214 JMP .+6 /NO MORE ARGS 1794 003007 4777 JMS I (ECALL /GET NEXT 1795 003010 4552 POPA 1796 003011 2015 ISZ PDLXR 1797 003012 2015 ISZ PDLXR 1798 003013 5201 JMP .-12 1799 1800 003014 1055 TAD LASTV 1801 003015 3024 DCA SUBS /SAVE END OF VARIABLES 1802 003016 1114 TAD EFOP 1803 003017 1376 FUNC10, TAD (2000 1804 003020 3023 DCA ADD /CREATE ILLEGAL NAME 1805 003021 4550 PUSHJ /LOOK IT UP - WILL DEFINE 1806 003022 4435 LOOKUP 1807 003023 4554 POPF 1808 003024 6167 FLARG 1809 003025 4556 FLPUT /SET ARGUMENT 1810 003026 6167 FLARG 1811 003027 7352 L5777 1812 003030 1023 TAD ADD 1813 003031 7440 SZA 1814 003032 5217 JMP FUNC10 /MORE ARGUMENTS 1815 003033 7330 L4000 1816 003034 4552 POPA 1817 003035 7041 CIA 1818 003036 3345 DCA FUNC17 /-CHAR OF FUNCTION 1819 003037 4551 PUSHF 1820 003040 0017 TEXTP 1821 003041 1111 TAD SORTCN 1822 003042 4547 PUSHA 1823 003043 1024 TAD SUBS 1824 003044 4547 PUSHA 1825 003045 7410 SKP 1826 1827 003046 4552 FUNC11, POPA 1828 003047 4572 FIND /FIND A *DEF* 1829 003050 0011 11 /-DEF CODE 1830 003051 4557 ERR170, ERROR /OUT OF TEXT 1831 /- PUSHA /FOR RESTART 1832 003052 7200 CLA /+ 1833 003053 4571 COMMAN /GET WORD 1834 003054 1375 TAD (-5 1835 /- SZA CLA 1836 /- JMP FUNC11 1837 /- TAD CHAR 1838 003055 6212 CIF 10 /+ 1839 003056 5657 JMP I .+1 /+ 1840 003057 5307 PATCH7 /+ 1841 003060 1345 TAD FUNC17 1842 003061 7640 SZA CLA 1843 003062 5246 JMP FUNC11 /NOT PROPER FUNCTION 1844 003063 2015 ISZ PDLXR 1845 003064 1062 TAD ERLINE 1846 003065 4547 PUSHA /SAVE CALLING LINE 1847 003066 1030 TAD LINENO 1848 003067 3062 DCA ERLINE /CALL THIS OUR LINE 1849 003070 4544 GETC 1850 003071 4546 SORTC 1851 003072 3640 TERMS-1 1852 003073 4576 TSTLPR 1853 003074 4557 ERR180, ERROR /NO L-PAREN 1854 003075 1111 TAD SORTCN 1855 003076 4547 PUSHA 1856 003077 4544 GETC 1857 003100 7332 L2000 1858 003101 3112 DCA T1 1859 003102 1055 TAD LASTV 1860 003103 3025 DCA PT1 /POINT TO ARGUMENTS 1861 003104 4570 FUNC14, TSTALP 1862 003105 5274 JMP ERR180 /ILLEGAL VARIABLE 1863 003106 1026 TAD CHAR 1864 003107 0315 AND C37 1865 003110 4561 RTL6 1866 003111 7010 RAR 1867 003112 3113 DCA T2 /SAVE NAME 1868 003113 4544 GETC 1869 003114 4562 TESTN 1870 003115 0037 C37, 37 1871 003116 5324 JMP FUNC13 /NOT NUMBER 1872 003117 1026 TAD CHAR 1873 003120 0315 AND C37 1874 003121 1113 TAD T2 1875 003122 3113 DCA T2 1876 003123 4544 GETC 1877 003124 2112 FUNC13, ISZ T1 /SET ILLEGAL NAME 1878 003125 4560 UDF 1879 003126 1425 TAD I PT1 1880 003127 7041 CIA 1881 003130 1112 TAD T1 1882 003131 7640 SZA CLA 1883 003132 4557 ERR200, ERROR /WRONG NUMBER OF ARGUMENTS 1884 003133 1113 TAD T2 1885 003134 3425 DCA I PT1 /SET TEMPORARY NAME 1886 003135 6201 CDF 1887 003136 1141 TAD M4 1888 003137 1025 TAD PT1 1889 003140 3025 DCA PT1 /POINT TO NEXT 1890 003141 4567 TSTCOM 1891 003142 5346 JMP FUNC12 /NO MORE 1892 003143 4544 GETC 1893 003144 5304 JMP FUNC14 1894 1895 003145 0000 FUNC17, 0 1896 1897 003146 2112 FUNC12, ISZ T1 1898 003147 4560 UDF 1899 003150 1425 TAD I PT1 1900 003151 6201 CDF 1901 003152 7041 CIA 1902 003153 1112 TAD T1 1903 003154 7650 SNA CLA 1904 003155 5332 JMP ERR200 /SHOULD NOT AGREE 1905 003156 4546 SORTC 1906 003157 3640 TERMS-1 1907 003160 7410 SKP 1908 003161 5274 JMP ERR180 /NO PAREN 1909 003162 7344 L7776 1910 003163 1111 TAD SORTCN 1911 003164 7041 CIA 1912 003165 4552 POPA 1913 003166 7640 SZA CLA 1914 003167 5274 JMP ERR180 /NO MATCH 1915 003170 5774 JMP I (FUNC16 1916 1917 /*UDF* ROUTINE 1918 003171 0000 XUDF, 0 1919 003172 6221 CDF 20 /TO USER'S FIELD 1920 003173 5771 JMP I XUDF 1921 003174 5112 PAGE 003175 7773 003176 2000 003177 2600 1922 /COMMON PART FOR *PRINT* AND *INPUT* COMMANDS 1923 003200 4544 PRINT8, GETC /GO BY THE ";" 1924 003201 2025 ISZ PT1 /SHOULD WE SPACE? 1925 003202 5206 JMP PRINT1 /NO 1926 003203 4471 FREE2 1927 003204 1142 TAD C40 1928 003205 4470 PRINTC /PRINT A SPACE 1929 003206 4545 PRINT1, SORTJ /CHECK , " ' CR 1930 003207 5446 PRNTL1-1 1931 003210 6235 PRNTL2-PRNTL1 1932 003211 7340 PRINT4, L7777 1933 003212 4571 COMMAN /TAB? 1934 003213 7640 SZA CLA 1935 003214 5222 JMP PRIN5+1 1936 003215 1377 TAD (-26 1937 003216 4571 COMMAN 1938 003217 7650 SNA CLA 1939 003220 5553 POPJ /MUST BE EXPRESSION 1940 003221 7340 PRIN5, L7777 1941 003222 4547 PUSHA 1942 003223 4546 SORTC 1943 003224 3640 TERMS-1 1944 003225 4576 TSTLPR 1945 003226 4557 ERR340, ERROR 1946 003227 4776 JMS I (ECALL /GET RECURSIVE 1947 003230 2015 ISZ PDLXR /DUMP EFOP 1948 003231 4775 JMS I (PARTST /CHECK MATCH 1949 003232 4560 UDF 1950 003233 2415 ISZ I PDLXR /AHA! 1951 003234 5774 JMP I (PRIN12 /WAS TAB FUNCTION 1952 003235 4523 JMS I INTEGE 1953 003236 1373 TAD (-15 1954 003237 7450 SNA 1955 003240 5252 JMP PRIN11+1 1956 003241 1124 TAD CCR 1957 003242 4547 PUSHA 1958 003243 4471 FREE2 /MAKE SOME ROOM 1959 003244 4552 POPA 1960 003245 7450 SNA 1961 003246 7330 L4000 /MAKE "NULL" PRINTABLE (OTHERWISE WE PRINT CHAR...) 1962 003247 4470 PRINTC 1963 003250 5307 JMP PRIN10 1964 1965 003251 4523 PRIN11, JMS I INTEGE /MAKE INTEGER OF TAB ARG 1966 003252 1372 TAD (-110 1967 003253 7440 SZA /SPECIAL CASE CHECK 1968 003254 1371 TAD (110 1969 003255 7040 CMA 1970 003256 3025 DCA PT1 /SET -COUNT -1 1971 003257 1061 TAD PRNTC1 1972 003260 1371 TAD (110 1973 003261 1025 TAD PT1 1974 003262 7510 SPA 1975 003263 5276 JMP PRINT9 1976 003264 7200 CLA 1977 003265 6002 IOF 1978 003266 1124 TAD CCR 1979 003267 4770 JMS I (XOUTL2 1980 003270 1124 TAD CCR 1981 003271 4770 JMS I (XOUTL2 1982 003272 1372 TAD (-110 1983 003273 3061 DCA PRNTC1 1984 003274 6001 ION 1985 003275 7410 SKP 1986 003276 3025 PRINT9, DCA PT1 1987 003277 2025 ISZ PT1 1988 003300 7410 SKP 1989 003301 5307 JMP PRIN10 1990 003302 4471 FREE2 1991 003303 1142 TAD C40 1992 003304 4470 PRINTC 1993 003305 5277 JMP PRINT9+1 1994 1995 003306 7340 L7777 1996 003307 3025 PRIN10, DCA PT1 /SET SPACE INDICATOR 1997 003310 4545 SORTJ /CHECK ; , ' " CR 1998 003311 5445 PRNTL4-1 1999 003312 6230 PRNTL6-PRNTL4 2000 003313 2025 ISZ PT1 /NO FIND O.K.? 2001 003314 5211 JMP PRINT4 /YES - ASSUME TAB OR EXPRESSION 2002 003315 4557 ERR350, ERROR /NO - SYNTAX ERROR 2003 2004 2005 2006 2007 003316 4471 FREE2 2008 003317 1142 TAD C40 2009 003320 4470 PRINTC /SPACES TO FINISH ZONE 2010 003321 1070 PRINT5, TAD PPRINT 2011 003322 1367 TAD (-XPRNTC 2012 003323 7640 SZA CLA 2013 003324 5336 JMP PRNT5A 2014 003325 1125 TAD C7 2015 003326 1061 TAD PRNTC1 2016 003327 1124 TAD CCR 2017 003330 7510 SPA 2018 003331 5327 JMP .-2 2019 003332 7640 SZA CLA 2020 003333 5316 JMP PRINT5-3 /KEEP GOING 2021 003334 4544 PRNT5B, GETC /GO BY THE "," 2022 003335 5206 JMP PRINT1 2023 003336 4471 PRNT5A, FREE2 2024 003337 4470 PRINTC 2025 003340 5334 JMP PRNT5B 2026 /*PRINTX* ROUTINE 2027 003341 0000 XOUTL, 0 2028 003342 7450 SNA 2029 003343 1026 TAD CHAR /USE CHAR IF AC=0 2030 003344 4770 JMS I (XOUTL2 /DO OUTPUT 2031 003345 1012 TAD XREG3 2032 003346 1373 TAD (-15 /WAS IT A CR 2033 003347 7450 SNA 2034 003350 5362 JMP XOUTL1 /YES! 2035 003351 1366 TAD (15-40 2036 003352 7510 SPA 2037 003353 7610 SKP CLA /IT IS A NON-PRINTING CHARACTER 2038 003354 1140 TAD M100 2039 003355 7710 SPA CLA 2040 003356 2061 ISZ PRNTC1 /IT IS A PRINTING CHAR SO COUNT IT 2041 003357 5741 JMP I XOUTL 2042 2043 003360 1124 TAD CCR /END OF LINE SO DO CR-LF 2044 003361 5344 JMP XOUTL+3 2045 2046 003362 1372 XOUTL1, TAD (-110 2047 003363 3061 DCA PRNTC1 /RESET COUNT 2048 003364 1132 TAD CLF 2049 003365 5344 JMP XOUTL+3 2050 2051 003366 7755 PAGE 003367 0422 003370 3400 003371 0110 003372 7670 003373 7763 003374 4337 003375 5665 003376 2600 003377 7752 2052 003400 0000 XOUTL2, 0 2053 003401 6201 CDF 2054 003402 3012 DCA XREG3 /SAVE CHAR 2055 003403 1034 TAD OUTPUT 2056 003404 7640 SZA CLA 2057 003405 5255 JMP XOUTL4 /NO ECHO 2058 003406 1051 TAD TELSW /BUSY 2059 003407 7640 SZA CLA 2060 003410 5235 JMP XOUTL5 /YES 2061 003411 1136 TAD C10 2062 003412 1035 TAD XIOT 2063 003413 3227 DCA XOUTL6 /SET OUTPUT IOT 2064 003414 1036 TAD DECK 2065 003415 7160 CLL CML CMA 2066 003416 3115 DCA T3 2067 003417 7740 CCM40, SMA SZA CLA /AC=0 SO ITS A SKP 2068 003420 7010 RAR 2069 003421 2115 ISZ T3 2070 003422 5220 JMP .-2 2071 003423 1136 TAD C10 2072 003424 6117 MTON /TURN ON PROPER USER 2073 003425 7200 CLA 2074 003426 1012 TAD XREG3 2075 003427 7402 XOUTL6, HLT 2076 /IF NOT DC02, 2077 /XOUTL6-3 AND XOUTL6+3 ARE SET TO ZERO IN BEG760 2078 003430 3051 DCA TELSW /SET BUSY 2079 003431 1777 TAD I (AUSER 2080 003432 6117 MTON /ALL ON AGAIN 2081 003433 7200 CLA 2082 003434 5255 JMP XOUTL4 2083 2084 003435 4560 XOUTL5, UDF 2085 003436 1447 TAD I OPTRI /ROOM 2086 003437 7640 SZA CLA 2087 003440 4344 ERR080, JMS IERROR /NO ROOM 2088 003441 4560 UDF 2089 003442 1012 TAD XREG3 2090 003443 3447 DCA I OPTRI /FILL BUFFER 2091 003444 2047 ISZ OPTRI /BUMP BUFFER 2092 003445 1047 TAD OPTRI 2093 003446 7041 CIA 2094 003447 1046 TAD IPTR0 2095 003450 7640 SZA CLA 2096 003451 5255 JMP XOUTL4 /OK 2097 003452 1046 TAD IPTR0 2098 003453 1217 TAD CCM40 2099 003454 3047 DCA OPTRI /RESET BUFFER 2100 003455 6201 XOUTL4, CDF 2101 003456 5600 JMP I XOUTL2 2102 /*FINDLN* ROUTINE 2103 003457 0000 XFINDL, 0 2104 003460 1030 TAD LINENO 2105 003461 7710 SPA CLA /IS THIS IMMEDIATE MODE??????? 2106 003462 5321 JMP XFNDL3 /YEP. 2107 003463 4560 UDF 2108 003464 1057 TAD ALINE0 2109 003465 3031 DCA LASTLN 2110 003466 1057 TAD ALINE0 2111 003467 3027 XFNDL1, DCA LINEPC /CURRENT LINE 2112 003470 1027 TAD LINEPC 2113 003471 3012 DCA XREG3 2114 003472 1030 TAD LINENO 2115 003473 7041 CIA 2116 003474 1412 TAD I XREG3 2117 003475 7450 SNA 2118 003476 5307 JMP XFNDL2-1 /FOUND LINE 2119 003477 7700 SMA CLA 2120 003500 5310 JMP XFNDL2 /WENT BEYOND 2121 003501 1027 TAD LINEPC 2122 003502 3031 DCA LASTLN 2123 003503 1427 TAD I LINEPC 2124 003504 7440 SZA 2125 003505 5267 JMP XFNDL1 /LOOP 2126 003506 7410 SKP /OUT OF TEXT 2127 003507 2257 ISZ XFINDL /FOUND LINE 2128 003510 1027 XFNDL2, TAD LINEPC 2129 003511 7001 IAC 2130 003512 3017 DCA AXOUT /SET TO UNPACK 2131 003513 3021 DCA XCT 2132 003514 6201 CDF 2133 003515 5657 JMP I XFINDL 2134 2135 003516 2055 FUPAR1, 2055 2136 003517 0000 0 2137 003520 0000 0 2138 2139 003521 7340 XFNDL3, L7777 2140 003522 1060 TAD COMBUF 2141 003523 3027 DCA LINEPC 2142 003524 5307 JMP XFNDL2-1 /RESET TO DO COMMAND BUFFER NOW 2143 /ERROR ENTERING ROUTINES 2144 003525 0000 XERROR, 0 2145 003526 6002 IOF 2146 003527 7200 CLA 2147 003530 6201 IERRO1, CDF 2148 003531 1126 TAD C177 2149 003532 3344 DCA IERROR 2150 003533 1325 IERRO2, TAD XERROR 2151 003534 7110 CLL RAR /FORM ERROR CODE 2152 003535 3130 DCA LSTMOD 2153 003536 6212 CIF SWAP /DO DECTAPE AND STATUS STOUGH 2154 003537 4776 JMS I (IERDTA 2155 003540 4775 JMS I (IOFIX /RESET FILES 2156 003541 1374 TAD (ERRORX 2157 003542 3022 DCA PC /SET FOR RESTART 2158 003543 5744 JMP I IERROR 2159 2160 003544 0000 IERROR, 0 2161 003545 7340 L7777 2162 003546 1217 TAD CCM40 2163 003547 1046 TAD IPTR0 2164 003550 3012 DCA XREG3 2165 003551 1217 TAD CCM40 2166 003552 3115 DCA T3 /BUFFER COUNT 2167 003553 4560 UDF 2168 003554 3412 DCA I XREG3 /CLEAR BUFFER 2169 003555 2115 ISZ T3 2170 003556 5354 JMP .-2 2171 003557 6201 CDF 2172 003560 1047 TAD OPTRI 2173 003561 3050 DCA OPTRO 2174 003562 1344 TAD IERROR 2175 003563 3325 DCA XERROR 2176 003564 1120 TAD LOOK 2177 003565 7041 CIA 2178 003566 1006 TAD TEMP2 2179 003567 7650 SNA CLA 2180 003570 5330 JMP IERRO1 /RUNNING 2181 003571 5333 JMP IERRO2 /NOT RUNNING 2182 2183 003574 0400 PAGE 003575 1365 003576 5065 003577 5335 2184 2185 2186 /*PACKC* ROUTINE 2187 003600 0000 XPACKC, 0 2188 003601 4545 SORTJ 2189 003602 4164 XPAKL1-1 2190 003603 6303 XPAKL2-XPAKL1 2191 003604 4546 XXPAK, SORTC /CHECK FOR ALTMODE 2192 003605 1774 ALT-1 2193 003606 5265 JMP XPPCK1 /IT IS ALTMODE 2194 003607 1026 TAD CHAR 2195 003610 1377 TAD (-40 2196 003611 2024 XPACK4, ISZ XCTIN 2197 003612 5232 JMP XPACK1 /NO PARTIAL 2198 003613 1023 TAD ADD /FORM WORD 2199 003614 4560 UDF 2200 003615 3416 DCA I AXIN /PACK IT 2201 003616 6201 CDF 2202 003617 3023 DCA ADD 2203 003620 1453 TAD I PACKND 2204 003621 1133 TAD M12 2205 003622 7141 CLL CIA 2206 003623 1016 TAD AXIN 2207 003624 7630 SZL CLA 2208 003625 4557 ERR060, ERROR /TOO FAR 2209 003626 5600 XPACK5, JMP I XPACKC 2210 2211 003627 1376 XPACK2, TAD (37 2212 003630 1142 XPACK3, TAD C40 2213 003631 5211 JMP XPACK4 2214 2215 003632 4561 XPACK1, RTL6 2216 003633 3023 DCA ADD /SAVE PARTIAL 2217 003634 7340 L7777 2218 003635 3024 DCA XCTIN /INDICATE PARTIAL 2219 003636 5600 JMP I XPACKC 2220 2221 003637 2024 XPACK7, ISZ XCTIN /PARTIAL HERE 2222 003640 5245 JMP XPACK8 /NO 2223 003641 3023 XPACK9, DCA ADD 2224 003642 1127 TAD C137 2225 003643 4470 PRINTC /PRINT BACK ARROW 2226 003644 5600 JMP I XPACKC 2227 2228 003645 1052 XPACK8, TAD PACKST 2229 003646 7041 CIA 2230 003647 1016 TAD AXIN 2231 003650 7650 SNA CLA 2232 003651 5600 JMP I XPACKC /ALL GONE ANY HOW 2233 003652 1016 TAD AXIN 2234 003653 3115 DCA T3 2235 003654 7340 L7777 2236 003655 3024 DCA XCTIN /INDICATE PARTIAL 2237 003656 7340 L7777 2238 003657 1016 TAD AXIN 2239 003660 3016 DCA AXIN /PUT IT BACK ONE 2240 003661 4560 UDF 2241 003662 1515 TAD I T3 /GET OLD 2242 003663 0140 AND C7700 2243 003664 5241 JMP XPACK9 2244 2245 003665 4551 XPPCK1, PUSHF /SAVE TEXT POINTERS 2246 003666 0017 TEXTP 2247 003667 1200 TAD XPACKC 2248 003670 4547 PUSHA /SAVE ADDRESS IF DISMISSED 2249 003671 4775 JMS I (READY1 /PRINT "$ DELETED" 2250 003672 4552 POPA 2251 003673 3200 DCA XPACKC /RESTORE ADDRESS 2252 003674 1052 TAD PACKST 2253 003675 3016 DCA AXIN 2254 003676 4554 POPF 2255 003677 0017 TEXTP 2256 003700 3026 DCA CHAR 2257 003701 5235 JMP XPACK1+3 2258 /*READC* ROUTINE 2259 003702 0000 XREADC, 0 2260 003703 4560 UDF 2261 003704 6202 CIF /NO INTERRUPTS WHILE MESSING WITH IPTRO 2262 /OR HIS BUFFER - ELSE WE'RE SKROOD!!!! 2263 003705 1445 TAD I IPTRO /GET CHAR 2264 003706 3026 DCA CHAR /SET CHARACTER 2265 003707 3445 DCA I IPTRO /CLEAR BUFFER 2266 003710 6201 CDF 2267 003711 1026 TAD CHAR 2268 003712 7650 SNA CLA /WAS THERE A CHARACTER 2269 003713 5326 JMP XREAD1 /NO - WAIT 2270 003714 2045 ISZ IPTRO /BUMP BUFFER 2271 003715 1045 TAD IPTRO 2272 003716 7041 CIA 2273 003717 1142 TAD C40 2274 003720 1046 TAD IPTR0 2275 003721 7640 SZA CLA 2276 003722 5325 JMP .+3 /OK 2277 003723 1046 TAD IPTR0 2278 003724 3045 DCA IPTRO /RESET BUFFER 2279 003725 5702 JMP I XREADC 2280 2281 003726 7340 XREAD1, L7777 2282 003727 1302 TAD XREADC 2283 003730 3022 DCA PC /SET TO REDO ROUTINE 2284 003731 4774 JMS I (XOR 2285 003732 4000 4000 /I WAIT AND DISMISS 2286 /*TSTLPR* ROUTINE 2287 003733 0000 LPRTST, 0 2288 003734 1111 TAD SORTCN 2289 003735 1135 TAD M6 2290 003736 7710 SPA CLA 2291 003737 5733 JMP I LPRTST /NOT L-PAREN 2292 003740 1111 TAD SORTCN 2293 003741 1137 TAD M10 2294 003742 7710 SPA CLA 2295 003743 2333 ISZ LPRTST /L-PAREN 2296 003744 5733 JMP I LPRTST 2297 2298 003745 0000 RESETO, 0 /RESET OUTPUT POINTERS 2299 003746 1373 TAD (XPRNTC 2300 003747 3070 DCA PPRINT 2301 003750 1372 TAD (XFREE2 2302 003751 3071 DCA PFREE2 2303 003752 1371 TAD (XFREE3 2304 003753 3072 DCA PFREE3 2305 003754 5745 JMP I RESETO 2306 2307 003755 1370 OLD, TAD (SAVDN1 /SET UP FAKE RETURN FOR *OLD* COMMAND 2308 003756 3105 DCA CHAINP /TO LOCK THE TAPE ON AN OLD 2309 003757 5767 JMP I (OLD1 /GO TO REAL ROUTINE 2310 2311 003760 1366 CHKPAT, TAD (460 2312 003761 3066 DCA EXTEN 2313 003762 1076 TAD IBLK /FILE OPEN? 2314 003763 5765 JMP I (CHKPT1 2315 2316 2317 003765 1143 PAGE 003766 0460 003767 7317 003770 7132 003771 6007 003772 6000 003773 7356 003774 5600 003775 5374 003776 0037 003777 7740 2318 /*POPF* ROUTINE 2319 004000 0000 XPOPF, 0 2320 004001 7340 L7777 2321 004002 1600 TAD I XPOPF 2322 004003 3012 DCA XREG3 /POINT TO DATA AREA 2323 004004 7346 L7775 2324 004005 3115 DCA T3 2325 004006 4552 POPA 2326 004007 3412 DCA I XREG3 /MOVE DATA 2327 004010 2115 ISZ T3 2328 004011 5206 JMP .-3 2329 004012 2200 ISZ XPOPF 2330 004013 5600 JMP I XPOPF 2331 /*TESTC* ROUTINE 2332 004014 0000 XTESTC, 0 2333 004015 4546 SORTC 2334 004016 3640 TERMS-1 2335 004017 5614 JMP I XTESTC /TERMINATOR 2336 004020 2214 ISZ XTESTC 2337 004021 4562 TESTN 2338 004022 5614 JMP I XTESTC 2339 004023 7410 SKP 2340 004024 5614 JMP I XTESTC 2341 004025 2214 ISZ XTESTC 2342 004026 4570 TSTALP 2343 004027 2214 ISZ XTESTC /OTHER 2344 004030 5614 JMP I XTESTC /LETTER 2345 /*TESTN* ROUTINE 2346 004031 0000 XTESTN, 0 2347 004032 1026 TAD CHAR 2348 004033 1377 TAD (-60 2349 004034 3111 DCA SORTCN /SAVE BINARY DIGIT 2350 004035 7326 L0002 2351 004036 1111 TAD SORTCN 2352 004037 7450 SNA 2353 004040 5631 JMP I XTESTN /PERIOD 2354 004041 2231 ISZ XTESTN 2355 004042 1376 TAD (-13 2356 004043 7740 SMA SZA CLA 2357 004044 5631 JMP I XTESTN /GREATER THAN 271 2358 004045 1111 TAD SORTCN 2359 004046 7700 SMA CLA 2360 004047 2231 ISZ XTESTN /DIGIT 2361 004050 5631 JMP I XTESTN 2362 /*GETC* ROUTINE 2363 004051 0000 XGETC, 0 2364 004052 2021 ISZ XCT 2365 004053 5264 JMP XGET1 /NO PARTIAL 2366 004054 1020 TAD GTEM /GET PARTIAL 2367 004055 0134 XGET2, AND C77 /AND OFF JUNK 2368 004056 1142 TAD C40 /CORRECT TO ASCII 2369 004057 3026 DCA CHAR 2370 004060 4545 SORTJ /CHECK SPECIALS 2371 004061 4167 XGETL1-1 2372 004062 5004 XGETL2-XGETL1 2373 004063 5651 JMP I XGETC 2374 2375 004064 4560 XGET1, UDF 2376 004065 1417 TAD I AXOUT /GET NEXT 2377 004066 6201 CDF 2378 004067 3020 DCA GTEM /SAVE PARTIAL 2379 004070 7340 L7777 2380 004071 3021 DCA XCT /INDICATE PARTIAL 2381 004072 1020 TAD GTEM 2382 004073 4561 RTL6 2383 004074 7004 RAL 2384 004075 5255 JMP XGET2 2385 2386 004076 1032 XGET3, TAD SPACSW /SPACE TEST 2387 004077 7640 SZA CLA 2388 004100 5651 JMP I XGETC /KEEP SPACES 2389 004101 5252 JMP XGETC+1 /IGNORE SPACES 2390 2391 004102 1125 XGET4, TAD C7 /BELL 2392 004103 3026 XGET6, DCA CHAR 2393 004104 5651 JMP I XGETC 2394 2395 004105 1124 XGET5, TAD CCR /CR 2396 004106 5303 JMP XGET6 2397 /*GETNXT* ROUTINE 2398 004107 0000 NXTGET, 0 2399 004110 4566 TSTCCR /END OF LINE? 2400 004111 7610 SKP CLA 2401 004112 5321 JMP NXTGT1 /YES, GET NEXT LINE NUMBER 2402 004113 1026 TAD CHAR 2403 004114 1341 TAD MSPLAT 2404 004115 7650 SNA CLA 2405 004116 5333 JMP NXTG /YES, NEXT COMMAND FOUND 2406 004117 4544 GETC /NO, GET ANOTHER CHAR 2407 004120 5310 JMP NXTGET+1 /TRY AGAIN 2408 004121 4560 NXTGT1, UDF 2409 004122 1427 TAD I LINEPC /POINTER TO NEXT 2410 004123 7450 SNA 2411 004124 5334 JMP NXTG+1 /OUT OF TEXT 2412 004125 3027 DCA LINEPC /NEW POINTER 2413 004126 1027 TAD LINEPC 2414 004127 3017 DCA AXOUT 2415 004130 3021 DCA XCT /SET TO UNPACK 2416 004131 1417 TAD I AXOUT /GET LINE NUMBER 2417 004132 3030 DCA LINENO 2418 004133 2307 NXTG, ISZ NXTGET 2419 004134 6201 CDF 2420 004135 5707 JMP I NXTGET 2421 /*FIND* ROUTINE 2422 004136 0000 XFIND, 0 2423 004137 3030 DCA LINENO /SET START LINE 2424 004140 4574 FINDLN 2425 004141 7644 MSPLAT, -"\+200 2426 004142 4573 XFIND1, GETNXT /GET NEXT LINE 2427 004143 5353 JMP XFIND2 /OUT OF TEXT 2428 004144 4544 GETC 2429 004145 4571 COMMAN 2430 004146 1736 TAD I XFIND /CORRECT COMMAND 2431 004147 7640 SZA CLA 2432 004150 5342 JMP XFIND1 /NO - LOOP 2433 004151 2336 ISZ XFIND 2434 004152 1030 TAD LINENO /FOR RESTART 2435 004153 2336 XFIND2, ISZ XFIND 2436 004154 5736 JMP I XFIND 2437 2438 004155 0000 USER0, 0 2439 004156 0001 USER1, 1 2440 004157 0002 USER2, 2 2441 004160 0003 USER3, 3 2442 004161 0004 USER4, 4 2443 004162 0005 USER5, 5 2444 004163 0006 USER6, 6 2445 004164 0007 USER7, 7 2446 2447 004165 0015 XPAKL1, 15 /THE NEXT 6 LOCATIONS MUST STAY TOGETHER 2448 004166 0007 7 /BELL 2449 004167 0177 177 /RUBOUT 2450 004170 0137 XGETL1, 137 /BACK ARROW 2451 004171 0100 100 /USED IN XGETL 2452 004172 0040 40 2453 /BE DAMN SURE THE NEXT WORD IS NEGATIVE!!! 2454 2455 /INTERRUPTS HERE FIRST 2456 004173 6212 INTR8E, CIF SWAP 2457 004174 5775 JMP I .+1 2458 004175 4646 INTR81 2459 2460 004176 7765 PAGE 004177 7720 2461 /*GOSUB* COMMAND 2462 2463 004200 4565 GOSUB, GETLN 2464 004201 4575 TSTEND 2465 004202 4557 ERR290, ERROR 2466 004203 7340 GOSUB3, L7777 2467 004204 1017 TAD AXOUT 2468 004205 4547 PUSHA 2469 004206 1062 TAD ERLINE 2470 004207 4547 PUSHA 2471 004210 1377 TAD (GOSUB1 2472 004211 4547 PUSHA 2473 004212 5776 JMP I (GOSUB2 2474 2475 /*NEW* AND *BYE* AND *SCRATCH* COMMANDS 2476 2477 004213 7340 NEW, L7777 2478 004214 3031 RENAME, DCA MODE /KLUDGE! 2479 004215 4550 PUSHJ 2480 004216 5740 GETNAM 2481 004217 4775 JMS I (DTGRAB /SO WE DON'T BLOW ANY OTHER NAMES 2482 004220 6213 CIF CDF SWAP /UNPACK THE NAME 2483 004221 4774 JMS I (XGETNAM 2484 004222 4240 JMS MOVNAM /GET THE NAME WHERE IT COUNTS 2485 004223 4773 JMS I (DTFREE /SEE, WE DIDN'T USE THE TAPE! 2486 004224 2031 ISZ MODE /NEW OR RENAME COMMAND? 2487 004225 5772 JMP I (READY 2488 2489 004226 4566 BYE, TSTCCR 2490 004227 4557 ERR002, ERROR /JUNK 2491 004230 4560 UDF 2492 004231 3457 DCA I ALINE0 /NO TEXT 2493 004232 7326 L0002 2494 004233 1057 TAD ALINE0 2495 004234 3054 DCA BUFR /FREE UP TEXT SPACE 2496 004235 1054 VARKIL, TAD STARTV 2497 004236 3055 DCA LASTV 2498 004237 5772 JMP I (READY 2499 2500 004240 0000 MOVNAM, 0 2501 004241 6211 CDF SWAP /MOVE NAME DOWN 2502 004242 1524 TAD I CCR /TAD I [NAMEX 2503 004243 3063 DCA NAME 2504 004244 1771 TAD I (NAMEX+1 2505 004245 3064 DCA NAME+1 2506 004246 1770 TAD I (NAMEX+2 2507 004247 3065 DCA NAME+2 2508 004250 6201 CDF 2509 004251 5640 JMP I MOVNAM 2510 2511 004252 3037 INPUTX, DCA DATAPC 2512 004253 1124 TAD CCR 2513 004254 3043 DCA DATAPC+4 /AUTO-RESTORE 2514 004255 4571 COMMAN 2515 004256 1135 TAD M6 2516 004257 7510 SPA 2517 004260 5767 JMP I (IMMED /IMMEDIATE MODE 2518 004261 1366 TAD (COMGO1 2519 004262 3112 DCA T1 2520 004263 6211 CDF SWAP 2521 004264 1512 TAD I T1 2522 004265 6201 CDF 2523 004266 3112 DCA T1 2524 004267 5512 JMP I T1 2525 /*ON* COMMAND--ON-GOTO AND ON-GOSUB 2526 004270 4550 ON, PUSHJ /GET VALUE 2527 004271 2612 EVAL 2528 004272 4571 COMMAN 2529 004273 1125 TAD C7 2530 004274 7450 SNA 2531 004275 5302 JMP .+5 2532 004276 1365 TAD (4 2533 004277 7640 SZA CLA 2534 004300 4557 ERR300, ERROR 2535 004301 7340 L7777 2536 004302 3113 DCA T2 2537 004303 4523 JMS I INTEGE 2538 004304 7570 SNA SPA SZL 2539 004305 5334 JMP ON2 2540 004306 7041 CIA 2541 004307 3112 DCA T1 2542 004310 4565 ON1, GETLN 2543 004311 2112 ISZ T1 2544 004312 5315 JMP .+3 2545 004313 1030 TAD LINENO 2546 004314 4547 PUSHA 2547 004315 4567 TSTCOM 2548 004316 5321 JMP .+3 2549 004317 4544 GETC 2550 004320 5310 JMP ON1 2551 004321 4575 TSTEND 2552 004322 5300 JMP ERR300 2553 004323 1112 TAD T1 2554 004324 7710 SPA CLA 2555 004325 5334 JMP ON2 /IT WASN'T THERE 2556 004326 4552 POPA 2557 004327 3030 DCA LINENO 2558 004330 1030 TAD LINENO 2559 004331 2113 ISZ T2 2560 004332 5553 POPJ /*GOTO* COMMAND--TRANSFER TO IT 2561 004333 5203 JMP GOSUB3 /*GOSUB* CMD--CALL GOSUB (NO NEED TO CLEAR AC) 2562 2563 004334 1062 ON2, TAD ERLINE /INDEX WAS OUT OF RANGE 2564 004335 3030 DCA LINENO 2565 004336 5553 POPJ 2566 004337 4407 PRIN12, FINT 2567 004340 7764 FPUT I (IF1 /SETUP CALL TO 'MOD' 2568 004341 0000 FEXT 2569 004342 4551 PUSHF 2570 004343 5761 F72 2571 004344 4554 POPF 2572 004345 6167 FLARG 2573 004346 4550 PUSHJ 2574 004347 1310 MOD1 2575 004350 4550 PUSHJ 2576 004351 1572 ABS /MAKE IT POSITIVE 2577 004352 5763 JMP I (PRIN11 2578 2579 004353 4552 GOSUB1, POPA 2580 004354 3030 DCA LINENO 2581 004355 4574 FINDLN 2582 004356 2460 AFORE, FOREXT 2583 004357 4552 POPA 2584 004360 5756 JMP I AFORE 2585 2586 2587 004363 3251 PAGE 004364 1363 004365 0004 004366 4707 004367 2540 004370 0017 004371 0016 004372 0464 004373 6627 004374 2661 004375 6603 004376 2531 004377 4353 2588 /GET A VARIABLE OR FUNCTION ROUTINE 2589 /EXIT WITH AC NON-ZERO IF FUNCTION 2590 /AC IS LIST POINTER UNLESS 2591 /AC IS NEGATIVE, THEN AC IS CHAR FOR USER FUNCTION 2592 004400 4570 GETVAR, TSTALP 2593 004401 4557 ERR220, ERROR /MUST BE LETTER 2594 004402 1026 TAD CHAR 2595 004403 0223 AND P37 2596 004404 4561 RTL6 2597 004405 7010 RAR 2598 004406 3023 DCA ADD /SAVE FOR NAME 2599 004407 4544 GETC 2600 004410 4563 TESTC 2601 004411 5334 JMP SUBT /T - TEST FOR SUBSCRIPT 2602 004412 5222 JMP P37-1 /N - ADD TO NAME 2603 004413 5727 JMP I FUNCTI /TRY FOR FUNCTION 2604 004414 1026 TAD CHAR /CHECK FOR $ 2605 004415 1332 TAD MDOLR 2606 004416 7640 SZA CLA 2607 004417 5235 JMP LOOKUP 2608 004420 2031 ISZ MODE /IT'S A STRING! 2609 004421 5225 JMP .+4 2610 2611 004422 4562 TESTN 2612 004423 0037 P37, 37 2613 004424 5235 JMP LOOKUP /WAS A . 2614 004425 1026 TAD CHAR 2615 004426 0223 AND P37 2616 004427 1023 TAD ADD 2617 004430 3023 DCA ADD /NEW NAME 2618 004431 4544 GETC 2619 004432 4546 SORTC 2620 004433 3640 TERMS-1 2621 004434 5334 JMP SUBT 2622 004435 4560 LOOKUP, UDF 2623 004436 1055 TAD LASTV 2624 004437 3025 GS1, DCA PT1 /POINT TO VARIABLES 2625 004440 1054 TAD STARTV 2626 004441 7041 CIA 2627 004442 1025 TAD PT1 2628 004443 7650 SNA CLA 2629 004444 5265 JMP GS2 /NOT FOUND AT ALL 2630 004445 1425 TAD I PT1 /GET NAME 2631 004446 7141 CLL CIA 2632 004447 1023 TAD ADD 2633 004450 7450 SNA 2634 004451 5733 JMP I GFND1I /FOUND NAME 2635 004452 7420 SNL 2636 004453 7041 CIA /POSITIVE DIFFERENCE 2637 004454 7106 CLL RTL /AC WILL BE 0 IF DIFFERENCE WAS 2000 2638 004455 7650 SNA CLA 2639 004456 4557 ERR130, ERROR /ERROR - A(I) AND A(I,I) CANNOT EXIST TOGETHER 2640 004457 1425 TAD I PT1 2641 004460 7710 SPA CLA 2642 004461 7340 L7777 /BACK 1 FOR SUBSCRIPT 2643 004462 1141 GS4, TAD M4 2644 004463 1025 TAD PT1 2645 004464 5237 JMP GS1 2646 2647 004465 1125 GS2, TAD C7 2648 004466 1055 TAD LASTV /ROOM LEFT 2649 004467 7141 CLL CIA 2650 004470 1015 TAD PDLXR 2651 004471 7630 SZL CLA 2652 004472 5276 JMP .+4 2653 004473 1054 TAD STARTV 2654 004474 3055 DCA LASTV /WIPE OUT VARIABLES--OVERFLOW 2655 004475 4557 ERR100, ERROR /NO ROOM 2656 004476 7301 L0001 2657 004477 7006 RTL 2658 004500 1055 TAD LASTV 2659 004501 3025 DCA PT1 /POINT TO NEW SPACE 2660 004502 1023 TAD ADD 2661 004503 7700 SMA CLA 2662 004504 5310 JMP GPUT1 2663 004505 1024 TAD SUBS 2664 004506 3425 DCA I PT1 /SET SUBSCRIPT 2665 004507 2025 ISZ PT1 2666 004510 1023 GPUT1, TAD ADD 2667 004511 3425 DCA I PT1 /SET NAME 2668 004512 6201 CDF 2669 004513 1025 TAD PT1 2670 004514 4547 PUSHA 2671 004515 7301 L0001 2672 004516 1055 TAD LASTV 2673 004517 3025 DCA PT1 /POINT TO NEW DATA SPACE 2674 004520 4552 POPA 2675 004521 3055 DCA LASTV /NEW LIMIT 2676 004522 4556 FLPUT /SET TO 0 2677 004523 7160 FLZERO 2678 004524 5726 JMP I GS5I 2679 2680 004525 4602 SUB2I, SUB2 2681 004526 4623 GS5I, GS5 2682 004527 4626 FUNCTI, FUNCT 2683 004530 2600 ECALLI, ECALL 2684 004531 0046 AC3I, AC3 2685 004532 7734 MDOLR, -44 2686 004533 4604 GFND1I, GFND1 2687 2688 004534 4576 SUBT, TSTLPR 2689 004535 5235 JMP LOOKUP /NOT SUBSCRIPTED 2690 004536 1023 TAD ADD 2691 004537 3114 DCA EFOP 2692 004540 4730 JMS I ECALLI /GET SUBSCRIPT 2693 004541 7330 L4000 2694 004542 4552 POPA 2695 004543 3023 DCA ADD /SAVE NAME 2696 004544 4523 JMS I INTEGE 2697 004545 7530 SPA SZL 2698 004546 4557 SUB1, ERROR /TOO BIG OR NEGATIVE 2699 ERR230=SUB1 2700 004547 3024 DCA SUBS /SET SUBSCRIPT 2701 004550 4567 TSTCOM 2702 004551 5725 JMP I SUB2I /ONLY ONE SUBSCRIPT 2703 004552 4551 PUSHF /SAVE ADD,SUBS 2704 004553 0023 ADD 2705 004554 4550 PUSHJ /GET SECOND SUBSCRIPT 2706 004555 2611 EVAL-1 2707 004556 4554 POPF 2708 004557 0023 ADD 2709 004560 4523 JMS I INTEGE 2710 004561 0140 AND C7700 2711 004562 7010 RAR 2712 004563 7640 SZA CLA 2713 004564 5346 JMP SUB1 /TOO BIG 2714 004565 1024 TAD SUBS 2715 004566 0140 AND C7700 2716 004567 7640 SZA CLA 2717 004570 5346 JMP SUB1 /TOO BIG 2718 004571 1024 TAD SUBS 2719 004572 4561 RTL6 2720 004573 6211 CDF SWAP 2721 004574 1731 TAD I AC3I /FORM DOUBLE SUBSCRIPT 2722 004575 6201 CDF 2723 004576 3024 DCA SUBS 2724 004577 7332 L2000 2725 004600 1023 TAD ADD 2726 004601 3023 DCA ADD /INDICATE 2 SUBSCRIPTS 2727 004602 4777 SUB2, JMS I (PARTST /CHECK PAREN MATCH 2728 004603 5776 JMP I (LOOKUP 2729 2730 004604 1023 GFND1, TAD ADD 2731 004605 7700 SMA CLA 2732 004606 5217 JMP GFND2 /NO SUBSCRIPT 2733 004607 7340 L7777 2734 004610 1025 TAD PT1 2735 004611 3025 DCA PT1 2736 004612 1425 TAD I PT1 /GET SUBSCRIPT 2737 004613 7041 CIA 2738 004614 1024 TAD SUBS 2739 004615 7640 SZA CLA 2740 004616 5775 JMP I (GS4 /WRONG SUBSCRIPT 2741 004617 6201 GFND2, CDF 2742 004620 7346 L7775 2743 004621 1025 TAD PT1 2744 004622 3025 DCA PT1 /POINT TO DATA 2745 004623 4555 GS5, FLGET /GET VARIABLE 2746 004624 6167 FLARG 2747 004625 5553 POPJ 2748 2749 004626 1026 FUNCT, TAD CHAR 2750 004627 0374 AND (37 2751 004630 1023 TAD ADD 2752 004631 4546 SORTC /CHECK 2 LETTERS 2753 004632 3577 FUNL1-1 2754 004633 7410 SKP 2755 004634 5776 JMP I (LOOKUP /NOT A FUNCTION 2756 004635 1111 TAD SORTCN 2757 004636 7650 SNA CLA 2758 004637 5276 JMP FUNCT4 /USER FUNCTION 2759 004640 4551 PUSHF 2760 004641 0017 TEXTP 2761 004642 1026 TAD CHAR 2762 004643 4547 PUSHA 2763 004644 4544 GETC 2764 004645 1026 TAD CHAR 2765 004646 3025 DCA PT1 2766 004647 4552 POPA 2767 004650 3026 DCA CHAR 2768 004651 4554 POPF 2769 004652 0017 TEXTP 2770 004653 1111 TAD SORTCN 2771 004654 1373 TAD (FUNL2-1 2772 004655 3115 DCA T3 2773 004656 6211 CDF SWAP 2774 004657 1515 TAD I T3 /GET CORRECT CODE 2775 004660 1025 TAD PT1 2776 004661 7640 SZA CLA 2777 004662 5776 JMP I (LOOKUP /WAS NOT A FUNCTION 2778 004663 1111 TAD SORTCN 2779 004664 4547 PUSHA /SAVE CONSTANT 2780 004665 4544 GETC 2781 004666 4544 FUNCT5, GETC 2782 004667 4546 SORTC 2783 004670 3640 TERMS-1 2784 004671 4576 TSTLPR 2785 004672 4557 ERR240, ERROR /NO L-PAREN 2786 004673 4552 POPA 2787 004674 7001 IAC /FUNCTION CODE 2788 004675 5553 POPJ 2789 2790 004676 4544 FUNCT4, GETC 2791 004677 4570 TSTALP 2792 004700 4557 ERR250, ERROR /NOT LETTER 2793 004701 7350 L3777 2794 004702 1026 TAD CHAR 2795 004703 4547 PUSHA /SAVE CHAR OF USER FUNCTION 2796 004704 5266 JMP FUNCT5 2797 /*SORTC* ROUTINE 2798 004705 0000 XSORTC, 0 2799 004706 7450 SNA 2800 004707 1026 TAD CHAR /USE CHAR IF AC IS 0 2801 004710 7041 CIA 2802 004711 3115 DCA T3 2803 004712 1705 TAD I XSORTC 2804 004713 3012 DCA XREG3 /SET TO LIST 2805 004714 6211 CDF SWAP 2806 004715 1412 TAD I XREG3 2807 004716 6201 CDF 2808 004717 7510 SPA 2809 004720 5331 JMP XSORT3 /END OF LIST 2810 004721 1115 TAD T3 2811 004722 7640 SZA CLA 2812 004723 5314 JMP .-7 /NO GO - LOOP 2813 004724 1705 TAD I XSORTC 2814 004725 7040 CMA 2815 004726 1012 TAD XREG3 2816 004727 3111 DCA SORTCN /SET CONSTANT 2817 004730 7410 SKP 2818 004731 2305 XSORT3, ISZ XSORTC 2819 004732 2305 ISZ XSORTC 2820 004733 7300 CLL CLA 2821 004734 5705 JMP I XSORTC 2822 /*SORTJ* ROUTINE 2823 004735 0000 XSORTJ, 0 2824 004736 7450 SNA 2825 004737 1026 TAD CHAR /USE CHAR IF AC IS 0 2826 004740 7041 CIA 2827 004741 3115 DCA T3 2828 004742 1735 TAD I XSORTJ 2829 004743 3012 DCA XREG3 /SET TO LIST 2830 004744 2335 ISZ XSORTJ 2831 004745 1412 TAD I XREG3 2832 004746 7510 SPA 2833 004747 5362 JMP XSORT1 /END OF LIST 2834 004750 1115 TAD T3 2835 004751 7640 SZA CLA 2836 004752 5345 JMP .-5 /NO GO - LOOP 2837 004753 1012 TAD XREG3 2838 004754 1735 TAD I XSORTJ 2839 004755 3335 DCA XSORTJ 2840 004756 6211 CDF SWAP 2841 004757 1735 TAD I XSORTJ /GET ADDRESS 2842 004760 6201 CDF 2843 004761 3335 DCA XSORTJ 2844 004762 7300 XSORT1, CLL CLA 2845 004763 2335 ISZ XSORTJ 2846 004764 5735 JMP I XSORTJ 2847 2848 004765 0000 XPRT1, 0 /PRINTC FOR FIELD 1 2849 004766 4470 PRINTC 2850 004767 6213 CIF CDF SWAP 2851 004770 5765 JMP I XPRT1 2852 2853 2854 004773 3620 PAGE 004774 0037 004775 4462 004776 4435 004777 5665 2855 005000 0000 FLOUT, 0 2856 005001 6213 CIF CDF SWAP 2857 005002 4777 JMS I (OFLOUT 2858 005003 5600 JMP I FLOUT 2859 005004 2776 ISZ I (PRNT5 2860 005005 4775 JMS I (ITPRNT 2861 005006 5600 JMP I FLOUT 2862 005007 4407 SGN, FINT 2863 005010 6100 FSGE 2864 005011 0216 FGET MNSONE 2865 005012 6150 FSLE 2866 005013 0774 FGET I (FLTONE 2867 005014 0000 FEXT 2868 005015 5553 POPJ 2869 2870 005016 6014 MNSONE, 6014 2871 005017 0000 0 2872 005020 0000 0 2873 2874 005021 7773 FUPARR, FPUT I (TEMP 2875 005022 0425 FGET I PT1 2876 005023 1772 FADD I (FCN 2877 005024 6425 FCMP I PT1 2878 005025 6050 FSEQ 2879 005026 5264 FJMP EXPLNG 2880 005027 0425 FGET I PT1 2881 005030 6100 FSGE 2882 005031 3216 FMUL MNSONE 2883 005032 2771 FSUB I (FUPAR1 2884 005033 6150 FSLE 2885 005034 5264 FJMP EXPLNG 2886 005035 0425 FGET I PT1 2887 005036 6110 FSLT 2888 005037 5244 FJMP .+5 2889 005040 0774 FGET I (FLTONE 2890 005041 4773 FDIV I (TEMP 2891 005042 7773 FPUT I (TEMP 2892 005043 0425 FGET I PT1 2893 005044 0000 FEXT 2894 005045 4523 JMS I INTEGE 2895 005046 7510 SPA 2896 005047 7041 CIA 2897 005050 7040 CMA 2898 005051 3200 DCA FUPAR2 2899 005052 4407 FINT 2900 005053 0774 FGET I (FLTONE 2901 005054 0000 FEXT 2902 005055 5261 JMP .+4 2903 2904 005056 4407 FINT 2905 005057 3773 FMUL I (TEMP 2906 005060 0000 FEXT 2907 005061 2200 ISZ FUPAR2 2908 005062 5256 JMP .-4 2909 005063 5275 JMP FUPAR3 2910 2911 FUPAR2=FLOUT 2912 2913 005064 0773 EXPLNG, FGET I (TEMP 2914 005065 0000 FEXT 2915 005066 4550 PUSHJ 2916 005067 5467 LOG 2917 005070 4407 FINT 2918 005071 3425 FMUL I PT1 2919 005072 0000 FEXT 2920 005073 4550 PUSHJ 2921 005074 5466 FEXP 2922 005075 4407 FUPAR3, FINT 2923 005076 5770 FJMP I (FLOP+1 2924 005077 7301 TAPE, L0001 2925 005100 3025 KKEY, DCA PT1 /SAVE CONSTANT FOR OUTPUT 2926 005101 4566 TSTCCR 2927 005102 4557 ERR003, ERROR /JUNK 2928 005103 4767 JMS I (RUN9 /DISMISS US NOW 2929 005104 1051 TAD TELSW 2930 005105 7640 SZA CLA 2931 005106 5303 JMP .-3 /STILL BUSY - WAIT 2932 005107 1025 TAD PT1 2933 005110 3034 DCA OUTPUT /SET OUTPUT 2934 005111 5766 JMP I (READY 2935 005112 4544 FUNC16, GETC 2936 005113 1026 TAD CHAR 2937 005114 1330 TAD FMEQL 2938 005115 7640 SZA CLA 2939 005116 4557 ERR210, ERROR 2940 005117 4550 PUSHJ 2941 005120 2611 EVAL-1 2942 005121 4575 TSTEND 2943 005122 5316 JMP .-4 2944 005123 4552 POPA 2945 005124 3062 DCA ERLINE 2946 005125 1062 TAD ERLINE 2947 005126 3030 DCA LINENO 2948 005127 4574 FINDLN 2949 005130 7703 FMEQL, -"=+200 2950 005131 4552 POPA 2951 005132 3055 DCA LASTV 2952 005133 4552 POPA 2953 005134 3111 DCA SORTCN 2954 005135 4554 POPF 2955 005136 0017 TEXTP 2956 005137 3031 DCA MODE /!!! 2957 005140 5765 JMP I (ENDFUN 2958 005141 0000 XFLGET, 0 2959 005142 7440 SZA 2960 005143 5346 JMP .+3 2961 005144 7340 L7777 2962 005145 1025 TAD PT1 2963 005146 3013 XFLGT2, DCA FLTXR 2964 005147 7340 L7777 2965 005150 1741 TAD I XFLGET 2966 005151 3014 DCA FLTXR2 2967 005152 7346 L7775 2968 005153 3115 DCA T3 2969 005154 4560 UDF 2970 005155 1413 TAD I FLTXR 2971 005156 6201 CDF 2972 005157 3414 DCA I FLTXR2 2973 005160 2115 ISZ T3 2974 005161 5354 JMP .-5 2975 005162 2341 ISZ XFLGET 2976 005163 5741 JMP I XFLGET 2977 2978 2979 005165 7741 PAGE 005166 0464 005167 2534 005170 2710 005171 3516 005172 5764 005173 6164 005174 7157 005175 0231 005176 0277 005177 1200 2980 005200 3325 INTRPT, DCA SAVAC /SAVE THE AC 2981 005201 7010 RAR 2982 005202 3326 DCA SAVLK /AND THE LINK 2983 005203 1115 TAD T3 2984 005204 3327 DCA T3SV /SAVE T3 2985 005205 1012 TAD XREG3 2986 005206 3330 DCA XREG3S /SAVE XREG3 2987 005207 1111 TAD SORTCN 2988 005210 3331 DCA SRTCNS /SAVE SORTCN 2989 005211 1560 TAD I AUDF 2990 005212 3332 DCA UDFSV /SAVE UDF ADDRESS 2991 005213 1546 TAD I ASORTC 2992 005214 3336 DCA SORTCS /SAVE SORTC ADDRESS 2993 005215 1723 TAD I PXFREE 2994 005216 3333 DCA FREESV /SAVE XFREE ADDRESS 2995 005217 3003 DCA USER /START AT USER 0 2996 005220 3005 DCA TEMP1 /NO TTY'S TO TURN ON AT FIRST 2997 005221 1320 TAD TADINT 2998 005222 3223 DCA INTRP1 /SET LIST POINTER 2999 005223 7402 INTRP1, HLT /GET TLS IOT 3000 005224 1141 TAD M4 3001 005225 3255 DCA INTRP4 /TCF 3002 005226 7340 L7777 3003 005227 1255 TAD INTRP4 3004 005230 3253 DCA INTRP3 /TSF 3005 005231 1137 TAD M10 3006 005232 1253 TAD INTRP3 3007 005233 3241 DCA INTRP2 /KSF 3008 005234 6213 CIF CDF SWAP /GO CHECK DECTAPE FLAG 3009 005235 4000 JMS DTINTR 3010 005236 1005 TAD TEMP1 3011 005237 6117 MTON /TURN ON PROPER USER 3012 005240 7200 CLA 3013 005241 7402 INTRP2, HLT /KEY? 3014 /IF NOT DC02, 3015 /INTRP2-2 AND INTRP2+4 ARE SET TO ZERO IN BEG760 3016 005242 7410 SKP /NO 3017 005243 4721 JMS I PKEY /READ TTY 3018 005244 1005 TAD TEMP1 3019 005245 6117 MTON /USER ON AGAIN 3020 005246 7110 CLL RAR /SHIFT FOR NEXT USER 3021 005247 7450 SNA /FIRST TIME? 3022 005250 1316 TAD C4004 /YES - GET TTY #1 BIT 3023 005251 1317 TAD C4 3024 005252 3005 DCA TEMP1 3025 005253 7402 INTRP3, HLT /TTY? 3026 005254 5257 JMP .+3 /NO 3027 005255 7402 INTRP4, HLT /CLEAR ITS FLAG 3028 005256 4722 JMS I PTTY /DO TTY OUTPUT 3029 005257 2003 ISZ USER /NEXT USER PLEASE 3030 005260 2223 ISZ INTRP1 /BUMP LIST POINTER 3031 005261 1003 TAD USER 3032 /- TAD MUSER /ARE WE DONE? 3033 /- SZA CLA 3034 /- JMP INTRP1 /NO 3035 005262 6212 CIF 10 /+ 3036 005263 5664 JMP I .+1 /+ 3037 005264 5167 PATCH6 /+ 3038 005265 1335 INTRP5, TAD AUSER 3039 /IF NOT DC02, 3040 /INTRP5 AND INTRP5+1 ARE SET TO ZERO IN BEG760 3041 005266 6117 MTON /TURN ALL USERS ON AGAIN 3042 005267 7200 CLA 3043 005270 1520 TAD I LOOK /GET RUNNING USER 3044 005271 4707 JMS I DECKNI /AND PUT HIM ONDECK 3045 005272 1327 TAD T3SV 3046 005273 3115 DCA T3 /RESTORE ALL THOS STORED THINGS 3047 005274 1330 TAD XREG3S 3048 005275 3012 DCA XREG3 3049 005276 1331 TAD SRTCNS 3050 005277 3111 DCA SORTCN 3051 005300 1332 TAD UDFSV 3052 005301 3560 DCA I AUDF 3053 005302 1336 TAD SORTCS 3054 005303 3546 DCA I ASORTC 3055 005304 1333 TAD FREESV 3056 005305 3723 DCA I PXFREE 3057 005306 2724 ISZ I PINTCN /COUNT INTERRUPTS 3058 005307 0305 DECKNI, DECKON 3059 /IF PDP 8E, AND NOT DC02 - ASSUME KL8E. NEXT THREE WORDS ARE: 3060 / CIF 20 3061 / JMP I .+1 3062 / KL8FIX1 3063 /SEE BEG002 AND BEG540 FOR DETAILS. 3064 005310 1326 KL8JMP, TAD SAVLK /GET LINK BACK 3065 005311 7104 CLL RAL 3066 005312 1325 TAD SAVAC /AND THE AC ALSO 3067 005313 6244 KL8LFL, RMF 3068 005314 6001 ION 3069 005315 5400 JMP I 0 /EXIT FROM INTERRUPT 3070 3071 005316 4004 C4004, 4004 3072 005317 0004 C4, 4 3073 005320 1337 TADINT, TAD INTRPL 3074 005321 0600 PKEY, KEY 3075 005322 0730 PTTY, TTY 3076 005323 6020 PXFREE, XFREE 3077 005324 7404 PINTCN, INTCNT 3078 005325 0000 SAVAC, 0 3079 005326 0000 SAVLK, 0 3080 005327 0000 T3SV, 0 3081 005330 0000 XREG3S, 0 3082 005331 0000 SRTCNS, 0 3083 005332 0000 UDFSV, 0 3084 005333 0000 FREESV, 0 3085 3086 005334 7777 MUSER, -1 /-1 FOR 1 USER, -2 FOR 2, ETC. 3087 /(SET IN INIT) 3088 005335 0000 AUSER, 0 /4000 FOR 2 USERS; 6000 FOR 3 USERS; ETC. 3089 3090 005336 0000 SORTCS, 0 3091 3092 005337 6046 INTRPL, TLS /USER 0 TLS IOT 3093 /- MTLS /USER 1 TLS IOT 3094 /- MTLS /USER 2 3095 /- MTLS /USER 3 3096 /- MTLS /USER 4 3097 /- MTLS /USER 5 3098 /- MTLS /USER 6 3099 /- MTLS /USER 7 3100 005340 7417 7417 /+ USER 1 TLS IOT 3101 005341 7417 7417 /+ USER 2 3102 005342 7417 7417 /+ USER 3 3103 005343 7417 7417 /+ USER 4 3104 005344 7417 7417 /+ USER 5 3105 005345 7417 7417 /+ USER 6 3106 005346 7417 7417 /+ USER 7 3107 3108 3109 005347 6212 CIF SWAP 3110 005350 5736 JMP I INTRPL-1 /AND EXIT 3111 /CHECK IF STRING RETURNED, SET UP TO GET SECOND ARG 3112 /FOR MID AND CAT FUNCTIONS 3113 3114 005351 0000 GETSTR, 0 3115 005352 1031 TAD MODE /MAKE SURE FIRST ARG IS A STRING 3116 005353 7640 SZA CLA 3117 005354 4567 TSTCOM /CHECK FOR COMMA 3118 005355 4557 ERR560, ERROR /FIRST ARG NOT STRING, MISSING ARG 3119 005356 4551 PUSHF /SAVE THE STRING 3120 005357 6167 FLARG 3121 005360 3031 DCA MODE /CLEAR MODE TO CHECK NEXT ARG TYPE 3122 005361 5751 JMP I GETSTR /RETURN 3123 3124 /*RTL6* ROUTINE 3125 3126 005362 0000 XRTL6, 0 3127 005363 7106 CLL RTL 3128 005364 7006 RTL 3129 005365 7006 RTL 3130 005366 5762 JMP I XRTL6 3131 3132 /POP THE AC ROUTINE 3133 005367 0000 XPOPA, 0 3134 005370 4560 UDF 3135 005371 1415 TAD I PDLXR 3136 005372 6201 CDF 3137 005373 5767 JMP I XPOPA 3138 005374 0000 READY1, 0 /+ 3139 005375 6212 CIF 10 /+ 3140 005376 5777 JMP I .+1 /+ 3141 005377 5223 PATCH5 /+ 15223 3142 PATCH5=5223 /+ 3143 3144 PAGE 3145 005400 0425 OPTABL, FGET I PT1 3146 005401 1425 FADD I PT1 3147 005402 2425 FSUB I PT1 3148 005403 3425 FMUL I PT1 3149 005404 4425 FDIV I PT1 3150 005405 5000 FJMP 0 3151 005406 1026 PRNTEX, TAD CHAR 3152 005407 4547 PUSHA 3153 005410 4551 PUSHF 3154 005411 0017 TEXTP 3155 005412 4551 PUSHF 3156 005413 6167 FLARG 3157 005414 1015 TAD PDLXR 3158 005415 3017 DCA AXOUT /SET UP UNPACKING FROM STACK 3159 005416 3021 DCA XCT 3160 005417 1135 TAD M6 3161 005420 3031 DCA MODE 3162 005421 2032 ISZ SPACSW 3163 005422 4544 PRNTX1, GETC 3164 005423 4566 TSTCCR 3165 005424 7410 SKP 3166 005425 5231 JMP .+4 3167 005426 4470 PRINTC 3168 005427 2031 ISZ MODE 3169 005430 5222 JMP PRNTX1 3170 005431 4554 POPF 3171 005432 6167 FLARG 3172 005433 4554 POPF 3173 005434 0017 TEXTP 3174 005435 4552 POPA 3175 005436 3026 DCA CHAR 3176 005437 3031 DCA MODE /IN CASE OF A STRING LESS THAN 6 3177 005440 3032 DCA SPACSW /IGNORE SPACES AGAIN 3178 005441 5323 JMP PRINT 3179 005442 0000 FIX, 0 3180 005443 6213 CIF CDF SWAP /CALL THE FIX ROUTINE 3181 005444 4777 JMS I (FIX1 3182 005445 5642 JMP I FIX 3183 3184 3185 3186 3187 005446 0073 PRNTL4, 73 /; 3188 005447 0054 PRNTL1, 54 /, 3189 005450 0047 47 /' 3190 005451 0042 PRNTL7, 42 /" 3191 005452 0015 15 /CR 3192 005453 0134 134 /\ 3193 3194 /FUNCTIONS IN FIELD 1 CALLED WITH *PUSHJ* 3195 3196 005454 4407 RND, FINT 3197 005455 0106 FGET FRNDX 3198 005456 0000 FEXT 3199 005457 1376 TAD (ORND-OINT 3200 005460 1375 INT, TAD (OINT-OFFIX 3201 005461 1374 FFIX, TAD (OFFIX-OSQR 3202 005462 1373 SQR, TAD (OSQR-OTAN 3203 005463 1372 TAN, TAD (OTAN-OCOS 3204 005464 1371 COS, TAD (OCOS-OFSIN 3205 005465 1370 FSIN, TAD (OFSIN-OFEXP 3206 005466 1367 FEXP, TAD (OFEXP-OLOG 3207 005467 1366 LOG, TAD (OLOG-OATN 3208 005470 1365 ATN, TAD (OATN 3209 005471 3115 DCA T3 3210 005472 6213 CIF CDF SWAP 3211 005473 5515 JMP I T3 3212 3213 005474 0000 SETUPO, 0 3214 005475 1364 TAD (XPUT 3215 005476 3070 DCA PPRINT 3216 005477 1363 TAD (OFREE2 3217 005500 3071 DCA PFREE2 3218 005501 1362 TAD (OFREE3 3219 005502 3072 DCA PFREE3 3220 005503 5674 JMP I SETUPO 3221 3222 005504 1026 PRINT0, TAD CHAR 3223 005505 1361 TAD (200-"# 3224 005506 7640 SZA CLA 3225 005507 5323 JMP PRINT /OK AS IS 3226 005510 1102 TAD OBLK /THIS WILL WORK BECAUSE HE CAN'T USE BLOCK 0 3227 005511 7110 CLL RAR 3228 005512 1103 TAD OBLKH 3229 005513 7640 SZA CLA 3230 005514 4544 GETC 3231 005515 4567 TSTCOM 3232 005516 5760 JMP I (ERR600 3233 005517 4544 GETC 3234 005520 4274 JMS SETUPO 3235 005521 1357 TAD (460 3236 005522 3066 DCA EXTEN 3237 005523 4550 PRINT, PUSHJ 3238 005524 3307 PRIN10 3239 005525 7640 SZA CLA 3240 005526 5553 POPJ /ALL DONE 3241 005527 4472 FREE13 3242 005530 4550 PUSHJ 3243 005531 2612 EVAL /GET EXPR. 3244 005532 1031 TAD MODE 3245 005533 7640 SZA CLA 3246 005534 5206 JMP PRNTEX 3247 /- TAD PRNTC1 3248 005535 5343 JMP PRNTX2-1 /+ 3249 005536 1356 TAD (16 3250 005537 7710 SPA CLA 3251 005540 5343 JMP .+3 /IT WILL FIT 3252 005541 1124 TAD CCR /MAKE IT FIT 3253 005542 4470 PRINTC 3254 005543 4755 JMS I (FLOUT 3255 005544 7340 PRNTX2, L7777 3256 005545 5323 JMP PRINT 3257 005546 4471 FREE2 3258 005547 1124 TAD CCR 3259 005550 4470 PRINTC 3260 005551 7001 PRINT6, IAC 3261 005552 5553 POPJ 3262 005555 5000 PAGE 005556 0016 005557 0460 005560 1150 005561 7735 005562 7312 005563 7271 005564 6541 005565 2201 005566 7700 005567 7677 005570 7661 005571 7775 005572 7761 005573 7740 005574 0561 005575 7757 005576 0047 005577 2161 3263 /*OR* ROUTINE FOR USER STATUS WORD 3264 005600 0000 XOR, 0 3265 005601 1600 TAD I XOR 3266 005602 7040 CMA 3267 005603 0520 AND I LOOK 3268 005604 1600 TAD I XOR 3269 005605 3520 DCA I LOOK 3270 005606 5177 JMP NULL 3271 3272 005607 0000 INPACK, 0 3273 005610 1060 TAD COMBUF 3274 005611 3016 DCA AXIN 3275 005612 3024 DCA XCTIN 3276 005613 1060 TAD COMBUF 3277 005614 3052 DCA PACKST 3278 005615 1377 TAD (ALINE0 3279 005616 3053 DCA PACKND 3280 005617 5607 JMP I INPACK 3281 3282 005620 0000 OTPACK, 0 3283 005621 1060 TAD COMBUF 3284 005622 3017 DCA AXOUT 3285 005623 3021 DCA XCT 3286 005624 1124 TAD CCR /DON'T MOVE PDLXR FROM 15 3287 005625 3053 DCA PACKND 3288 005626 4544 GETC 3289 005627 5620 JMP I OTPACK 3290 3291 005630 4207 PAKLIN, JMS INPACK 3292 005631 4467 READC 3293 005632 5235 JMP .+3 3294 005633 7301 L0001 3295 005634 5553 POPJ 3296 005635 4564 PACKC 3297 005636 4566 TSTCCR 3298 005637 5231 JMP .-6 3299 005640 4564 PACKC 3300 005641 4220 JMS OTPACK 3301 005642 5553 POPJ 3302 3303 005643 0000 FPNT, 0 /CALL THE REAL INTERPRETER 3304 005644 7300 CLA CLL 3305 005645 1243 TAD FPNT 3306 005646 6213 CIF CDF SWAP 3307 005647 3776 DCA I (OFPNT 3308 005650 5775 JMP I (OFPNT+3 /SET FIELD 0 3309 3310 005651 0000 OTEST2, 0 /FIELD 1 *TESTN* 3311 005652 4562 TESTN 3312 005653 5257 JMP .+4 /RETURN +1 3313 005654 7410 SKP /+2 3314 005655 2251 ISZ OTEST2 /+3 3315 005656 2251 ISZ OTEST2 3316 005657 6213 CIF CDF SWAP /RETURN TO FIELD 1 3317 005660 5651 JMP I OTEST2 3318 3319 005661 0000 XGETLN, 0 /*GETLN* 3320 005662 6213 CIF CDF 10 /CALL THE REAL ROUTINE 3321 005663 4774 JMS I (OGETLN 3322 005664 5661 JMP I XGETLN 3323 3324 /PAREN TEST ROUTINE 3325 005665 0000 PARTST, 0 3326 005666 4552 POPA 3327 005667 3117 DCA LASTOP /SAVED BY *ECALL* 3328 005670 7344 L7776 3329 005671 1111 TAD SORTCN 3330 005672 7041 CIA 3331 005673 4552 POPA /CHECK MATCH 3332 005674 7640 SZA CLA 3333 005675 4557 ERR260, ERROR /NO MATCH 3334 005676 4544 GETC 3335 005677 5665 JMP I PARTST 3336 3337 3338 3339 /*RETURN* AND *POPJ* 3340 005700 2015 RETURN, ISZ PDLXR /DUMP ONE RETURN ADDRESS 3341 005701 4575 TSTEND 3342 005702 4557 ERR320, ERROR 3343 005703 3012 XPOPJ, DCA XREG3 /SAVE AC 3344 005704 4552 POPA 3345 005705 3115 DCA T3 /RETURN ADDRESS 3346 005706 1012 TAD XREG3 /GET AC 3347 005707 5515 JMP I T3 3348 3349 005710 3114 FUNCT3, DCA EFOP 3350 005711 4726 JMS I IECALL 3351 005712 4552 POPA 3352 005713 7510 SPA 3353 005714 5727 JMP I FUNC6I 3354 005715 1330 TAD FUNL3I 3355 005716 3114 DCA EFOP 3356 005717 6211 CDF SWAP 3357 005720 1514 TAD I EFOP 3358 005721 6201 CDF 3359 005722 3324 DCA .+2 3360 005723 4550 PUSHJ 3361 005724 0000 0 3362 005725 5773 JMP I (ENDFUN 3363 3364 005726 2600 IECALL, ECALL 3365 005727 3000 FUNC6I, FUNCT6 3366 005730 3654 FUNL3I, FUNL3-2 3367 005731 0000 FLIN, 0 3368 005732 6213 CIF CDF SWAP 3369 005733 4772 JMS I (OFLIN 3370 005734 4407 FINT 3371 005735 7425 FPUT I PT1 3372 005736 0000 FEXT 3373 005737 5731 JMP I FLIN 3374 3375 005740 4575 GETNAM, TSTEND /DID THEY GIVE A NAME? 3376 005741 5553 POPJ /YES, GO UNPACK IT 3377 005742 7301 L0001 /PRINT "NAME--" 3378 005743 4771 JMS I (READY1 3379 005744 4550 PUSHJ /GO PACK THE REPLY 3380 005745 5630 PAKLIN 3381 005746 5553 POPJ 3382 3383 005747 0000 ALPTST, 0 3384 005750 1026 TAD CHAR 3385 005751 1370 TAD (-"A+200 3386 005752 7710 SPA CLA 3387 005753 5747 JMP I ALPTST /LESS THAN *A* 3388 005754 1026 TAD CHAR 3389 005755 1367 TAD (-"Z+200 3390 005756 7750 SPA SNA CLA 3391 005757 2347 ISZ ALPTST 3392 005760 5747 JMP I ALPTST 3393 3394 3395 005761 2074 F72, 2074;4000;0 005762 4000 005763 0000 3396 3397 005764 2330 FCN, 2330;0;0 /INTEGERIZING CONSTANT 005765 0000 005766 0000 3398 3399 005767 7646 PAGE 005770 7677 005771 5374 005772 1000 005773 7741 005774 1143 005775 0203 005776 0200 005777 0057 3400 3401 /*FREE2* AND *FREE13* ROUTINES 3402 006000 0000 XFREE2, 0 3403 006001 4220 JMS XFREE /ROOM 3404 006002 5205 JMP .+3 /WE MUST WAIT 3405 006003 0000 0 3406 006004 5600 JMP I XFREE2 3407 3408 006005 1200 TAD XFREE2 3409 006006 5215 JMP FREEWT /GET ROOM 3410 3411 006007 0000 XFREE3, 0 3412 006010 4220 JMS XFREE /ROOM 3413 006011 0014 FREEC, 14 3414 006012 7410 SKP /MUST WAIT 3415 006013 5607 JMP I XFREE3 3416 3417 006014 1207 TAD XFREE3 3418 006015 3022 FREEWT, DCA PC /SET RESTART 3419 006016 4777 JMS I (XOR /SET O WAIT AND DISMISS 3420 006017 2000 2000 3421 3422 3423 /*FREE* ROUTINE 3424 006020 0000 XFREE, 0 3425 006021 4560 UDF 3426 006022 1447 TAD I OPTRI /ANY ROOM 3427 006023 6201 CDF 3428 006024 7640 SZA CLA 3429 006025 5620 JMP I XFREE /NO 3430 006026 1047 TAD OPTRI 3431 006027 7041 CIA 3432 006030 1050 TAD OPTRO 3433 006031 7550 SPA SNA 3434 006032 1142 TAD C40 3435 006033 7041 CIA /-COUNT 3436 006034 7001 IAC 3437 006035 7450 SNA 3438 006036 5620 JMP I XFREE /ONLY 1 FREE 3439 006037 7001 IAC 3440 006040 7450 SNA 3441 006041 5620 JMP I XFREE /ONLY 2 FREE 3442 006042 2220 ISZ XFREE 3443 006043 1211 TAD FREEC 3444 006044 7750 SPA SNA CLA 3445 006045 2220 ISZ XFREE /14 OR MORE FREE 3446 006046 5620 JMP I XFREE 3447 3448 /*LINPUT* COMMAND, INPUT AN ENTIRE LINE OF TEXT 3449 /INTO A STRING ARRAY 3450 3451 006047 4776 LINPUT, JMS I (CHKFIL /CHECK IF FILE INPUT 3452 006050 3024 DCA SUBS /CLEAR SUBSCRIPT 3453 006051 4550 PUSHJ /GET VARIABLE 3454 006052 4400 GETVAR 3455 006053 7650 SNA CLA /FUNCTION? 3456 006054 4575 TSTEND 3457 006055 4557 ERR540, ERROR /ILLEGAL OR MORE THAN ONE VARIABLE 3458 006056 1031 TAD MODE 3459 006057 7650 SNA CLA 3460 006060 5255 JMP .-3 /NOT STRING VARIABLE 3461 006061 4551 PUSHF /SAVE PT1;CHAR;LINEPC 3462 006062 0025 PT1 3463 006063 4551 PUSHF /SAVE TEXT POINTERS 3464 006064 0017 TEXTP 3465 006065 1023 TAD ADD /CHECK IF SUBSCRIPTED 3466 006066 7104 CLL RAL 3467 006067 7130 STL RAR 3468 006070 3023 DCA ADD 3469 006071 1024 TAD SUBS 3470 006072 0140 AND C7700 /ZERO LAST DIMENSION 3471 006073 3024 DCA SUBS 3472 006074 4551 PUSHF /SAVE NAME AND SUBSCRIPT 3473 006075 0023 ADD 3474 006076 2032 ISZ SPACSW /KEEP LEADING SPACES 3475 006077 4550 PUSHJ /GET LINE OF INPUT 3476 006100 1155 GETINP 3477 006101 3364 DCA LINCT /ZERO CHARACTER COUNTER 3478 3479 006102 4554 POPF /RESTORE NAME AND SUBSCRIPT 3480 006103 0023 ADD 3481 006104 5307 JMP .+3 3482 006105 2032 LINXT, ISZ SPACSW /KEEP SPACES 3483 006106 4544 GETC /SKIP OVER COMMA 3484 006107 2024 ISZ SUBS /INCREMENT SUBSCRIPT 3485 006110 4550 PUSHJ /GET VARIABLE 3486 006111 4435 LOOKUP 3487 006112 4551 PUSHF /SAVE NAME AND SUBSCRIPT 3488 006113 0023 ADD 3489 006114 4550 PUSHJ /GET NEXT 6 CHARS OF STRING 3490 006115 7626 QLINP 3491 3492 006116 1775 LINXT2, TAD I (QCT1 /GET CHARACTER COUNT 3493 006117 1364 TAD LINCT /BUMP CHARACTER COUNT 3494 006120 3364 DCA LINCT 3495 006121 4554 POPF /RESTORE NAME AND SUBSCRIPT 3496 006122 0023 ADD 3497 006123 4556 FLPUT /SET VARIABLE 3498 006124 6167 FLARG 3499 006125 4575 TSTEND /END OF STRING? 3500 006126 5305 JMP LINXT /NO, GET NEXT 6 CHARS 3501 006127 1024 TAD SUBS /ZERO LAST DIMENSION 3502 006130 0140 AND C7700 3503 006131 3024 DCA SUBS 3504 006132 4550 PUSHJ 3505 006133 4435 LOOKUP /GET VARIABLE 3506 006134 1364 TAD LINCT 3507 006135 4774 JMS I (FLOAT /FLOAT AC INTO FLARG 3508 006136 4556 FLPUT /PUT IT AWAY 3509 006137 6167 FLARG 3510 006140 4554 POPF /RESTORE TEXT 3511 006141 0017 TEXTP 3512 006142 4554 POPF /RESTORE OTHER GARBAGE 3513 006143 0025 PT1 3514 006144 5553 POPJ /RETURN 3515 3516 006145 0000 MGET, 0 /FAKE OUT GETC 3517 006146 2113 ISZ T2 /CHECK FLAG 3518 006147 5352 JMP MGET1 3519 006150 1114 TAD CNTR 3520 006151 5362 JMP MGET2 3521 006152 7340 MGET1, L7777 /SET FLAG 3522 006153 3113 DCA T2 3523 006154 1413 TAD I FLTXR /GET NEW PAIR 3524 006155 3114 DCA CNTR 3525 006156 1114 TAD CNTR 3526 006157 7012 RTR 3527 006160 7012 RTR 3528 006161 7012 RTR 3529 006162 0134 MGET2, AND C77 /KILL GARGAGE 3530 006163 5745 JMP I MGET /RETURN 3531 3532 LINCT, 3533 006164 0000 TEMP, 0 3534 006165 0000 0 3535 006166 0000 0 3536 3537 006167 0000 FLARG, 0 3538 006170 0000 0 3539 006171 0000 0 3540 3541 006174 6477 PAGE 006175 7604 006176 1134 006177 5600 3542 /*MID* FUNCTION FORMAT: MID(A$,X,Y) 3543 /RETURNS Y CHARACTERS STARTING WITH THE XTH CHAR IN A$ 3544 3545 3546 3547 006200 4777 MID, JMS I (GETSTR /GET THE FIRST TWO ARGS 3548 006201 4550 PUSHJ 3549 006202 2611 EVAL-1 3550 006203 4267 JMS MIDCHK /CHECK IF ARG IN BOUNDS 3551 006204 4547 PUSHA /SAVE FOR LATER 3552 006205 4567 TSTCOM /ANOTHER COMMA? 3553 006206 4557 ERR550, ERROR /MISSING OR BAD ARG 3554 006207 4550 PUSHJ /GET THIRD ARG 3555 006210 2611 EVAL-1 3556 006211 4267 JMS MIDCHK /CHECK ARG 3557 006212 3302 DCA MIDC2 3558 006213 4552 POPA /GET SECOND ARG 3559 006214 3301 DCA MIDC1 /SAVE 3560 006215 4554 POPF /GET STRING 3561 006216 6167 FLARG 3562 006217 1376 TAD (FLARG-1 3563 006220 3014 DCA FLTXR2 /PACK POINTER 3564 006221 3112 DCA T1 /PACK SWITCH 3565 006222 1301 TAD MIDC1 /# OF CHARS TO IGNORE 3566 006223 7041 CIA 3567 006224 7110 CLL RAR 3568 006225 1014 TAD FLTXR2 /CALCULATE FIRST CHAR 3569 006226 3013 DCA FLTXR 3570 006227 7430 SZL /CHECK IF PARTIAL 3571 006230 7240 CLA CMA 3572 006231 3113 DCA T2 /UNPACK SWITCH 3573 006232 7430 SZL 3574 006233 1413 TAD I FLTXR /GET CHAR IF PARTIAL 3575 006234 3114 DCA CNTR 3576 3577 3578 006235 7340 MID1, L7777 /CALCULATE NUMBER OF CHARS TO TRANSFER 3579 006236 1302 TAD MIDC2 3580 006237 3302 DCA MIDC2 3581 006240 1302 TAD MIDC2 3582 006241 1301 TAD MIDC1 3583 006242 7041 CIA 3584 006243 1135 TAD M6 3585 006244 7740 SMA SZA CLA 3586 006245 5206 JMP ERR550 /SECOND ARG LESS THAN FIRST 3587 006246 1135 TAD M6 /CHARACTER COUNTER 3588 006247 3031 DCA MODE 3589 006250 4775 MID2, JMS I (MGET /GET CHAR 3590 006251 4303 JMS MPUT /PUT CHAR 3591 006252 2031 ISZ MODE 3592 006253 7410 SKP 3593 006254 5263 JMP MID3 /DONE WITH ALL 6 CHARS 3594 006255 2302 ISZ MIDC2 3595 006256 5250 JMP MID2 /GET ANOTHER CHARACTER 3596 006257 1134 TAD C77 3597 006260 4303 JMS MPUT /FILL STRING WITH CR'S 3598 006261 2031 ISZ MODE 3599 006262 5257 JMP .-3 3600 006263 2031 MID3, ISZ MODE /SET STRING MODE FOR STRING *IF*'S 3601 006264 2015 ISZ PDLXR /KILL POPJ RETURN 3602 006265 5666 JMP I .+1 /SPECIAL RETURN FOR STRING FUNCTIONS 3603 006266 7745 ENDF1 3604 3605 3606 006267 0000 MIDCHK, 0 /CHECK ARGUMENT LIMITS 3607 006270 4523 JMS I INTEGE /MAKE AN INTEGER 3608 006271 7570 SPA SNA SZL /CHECK IF ZERO, NEGATIVE OR TOO BIG 3609 006272 5206 JMP ERR550 3610 006273 7041 CIA 3611 006274 1125 TAD C7 /CHECK IF TOO BIG 3612 006275 7550 SPA SNA 3613 006276 5206 JMP ERR550 /TOO BIG 3614 006277 1135 TAD M6 /FIX IT UP 3615 006300 5667 JMP I MIDCHK 3616 3617 006301 0000 MIDC1, 0 /FIRST CHAR TO COPY 3618 006302 0000 MIDC2, 0 /LAST CHAR TO COPY 3619 006303 0000 MPUT, 0 /FAKE OUT PACKC 3620 006304 2112 ISZ T1 /CHECK FLAG 3621 006305 5311 JMP MPUT1 3622 006306 1115 TAD T3 3623 006307 3414 DCA I FLTXR2 /STASH CHAR 3624 006310 5703 JMP I MPUT 3625 006311 4561 MPUT1, RTL6 3626 006312 0140 AND C7700 3627 006313 3115 DCA T3 /SAVE PARTIAL 3628 006314 7340 L7777 /SET FLAG 3629 006315 3112 DCA T1 3630 006316 5703 JMP I MPUT 3631 /*CAT* FUNCTION FORMAT: CAT(A$,B$) 3632 /RETURNS A STRING OF A$ CONCATENATED WITH B$ 3633 3634 006317 4777 CAT, JMS I (GETSTR /GET TWO ARGUMENTS 3635 006320 4550 PUSHJ 3636 006321 2611 EVAL-1 3637 006322 1031 TAD MODE /CHECK IF SECOND ARG IS A STRING 3638 006323 7450 SNA 3639 006324 5206 JMP ERR550 3640 006325 3032 DCA SPACSW /KEEP SPACES 3641 006326 1135 TAD M6 /COUNT FOR 6 CHARS 3642 006327 3302 DCA MIDC2 3643 006330 3267 DCA MIDCHK /CLEAR FLAG 3644 006331 4554 POPF /FIRST STRING INTO FLARG 3645 006332 6167 FLARG 3646 006333 4407 FINT /PUT STRING INTO IF1 3647 006334 7774 FPUT I (IF1 3648 006335 0000 FEXT 3649 006336 1376 TAD (FLARG-1 /POINT TO STRING 3650 006337 3013 DCA FLTXR 3651 006340 3113 DCA T2 /CLEAR UNPACK SWITCH 3652 006341 1376 TAD (FLARG-1 /POINT TO PACKING TEMP 3653 006342 3014 DCA FLTXR2 3654 006343 3112 DCA T1 /CLEAR PACK SWITCH 3655 006344 4775 CCAT1, JMS I (MGET /GET A CHAR 3656 006345 3301 DCA MIDC1 /SAVE 3657 006346 1301 TAD MIDC1 3658 006347 7001 IAC 3659 006350 0140 AND C7700 /CHECK FOR CR 3660 006351 7640 SZA CLA 3661 006352 5360 JMP CCAT2 /CR FOUND 3662 006353 1301 TAD MIDC1 3663 006354 4303 CCAT3, JMS MPUT /REPACK CHAR 3664 006355 2302 ISZ MIDC2 /CHECK IF 6 YET 3665 006356 5344 JMP CCAT1 3666 006357 5263 JMP MID3 /RETURN 3667 3668 006360 1267 CCAT2, TAD MIDCHK /CHECK IF ALREADY HERE 3669 006361 7650 SNA CLA 3670 006362 5365 JMP .+3 3671 006363 1301 TAD MIDC1 /FLAG SET, RESTORE CHAR 3672 006364 5354 JMP CCAT3 3673 006365 1373 TAD (IF1-1 /SET POINTERS TO SECOND STRING 3674 006366 3013 DCA FLTXR 3675 006367 3113 DCA T2 /CLEAR FLAG 3676 006370 2267 ISZ MIDCHK /SET FLAG 3677 006371 5344 JMP CCAT1 3678 3679 006373 1362 PAGE 006374 1363 006375 6145 006376 6166 006377 5351 3680 /*FLPUT* ROUTINE 3681 006400 0000 XFLPUT, 0 3682 006401 7440 SZA 3683 006402 5205 JMP .+3 3684 006403 7340 L7777 3685 006404 1025 TAD PT1 3686 006405 3013 XFLPT2, DCA FLTXR 3687 006406 7340 L7777 3688 006407 1600 TAD I XFLPUT 3689 006410 3014 DCA FLTXR2 3690 006411 7346 L7775 3691 006412 3115 DCA T3 3692 006413 1414 TAD I FLTXR2 /PUT VARIABLE 3693 006414 4560 UDF 3694 006415 3413 DCA I FLTXR 3695 006416 6201 CDF 3696 006417 2115 ISZ T3 3697 006420 5213 JMP .-5 3698 006421 2200 ISZ XFLPUT 3699 006422 5600 JMP I XFLPUT 3700 3701 /CHARACTER TEST ROUTINES 3702 006423 0000 COMTST, 0 3703 006424 1377 TAD (-",+200 3704 006425 1026 TAD CHAR 3705 006426 7650 SNA CLA 3706 006427 2223 ISZ COMTST /FOUND IT 3707 006430 5623 JMP I COMTST 3708 3709 006431 0000 CCRTST, 0 3710 006432 1231 TAD CCRTST 3711 006433 3223 DCA COMTST 3712 006434 1376 TAD (-15 3713 006435 5225 JMP COMTST+2 3714 3715 006436 0000 ENDTST, 0 3716 006437 1375 TAD (-"'+200 3717 006440 1026 TAD CHAR 3718 006441 7440 SZA 3719 006442 1374 TAD ("'-"\ 3720 006443 7650 SNA CLA 3721 006444 2236 ISZ ENDTST 3722 006445 1236 TAD ENDTST 3723 006446 5233 JMP CCRTST+2 3724 /*LEN* FUNCTION, RETURNS NUMBER OF CHARACTERS 3725 /(UP TO 6) IN A STRING 3726 3727 006447 3114 LEN, DCA CNTR /CHAR COUNTER 3728 006450 7346 L7775 /COUNT FOR 3 WORDS 3729 006451 3112 DCA T1 3730 006452 7360 CLA STL CMA 3731 006453 1122 TAD FLARGP 3732 006454 3013 DCA FLTXR 3733 006455 1413 LENXT, TAD I FLTXR /GET NEXT TWO CHARACTERS 3734 006456 1373 TAD (100 3735 006457 7430 SZL /LINK SET ONLY IF TOP HALF IS CR 3736 006460 5272 JMP LENDON 3737 006461 2114 ISZ CNTR /COUNT CHAR 3738 006462 0134 AND C77 /KILL TOP HALF 3739 006463 7001 IAC 3740 006464 0140 AND C7700 /KILL BOTTOM HALF 3741 006465 7640 SZA CLA /AC=100 IF BOTTOM HALF IS CR 3742 006466 5272 JMP LENDON 3743 006467 2114 ISZ CNTR /COUNT CHAR 3744 006470 2112 ISZ T1 /DONE? 3745 006471 5255 JMP LENXT 3746 AXPUT0, 3747 006472 7200 LENDON, CLA /CLEAR GARBAGE IN AC 3748 006473 3031 DCA MODE /NO LONGER STRING MODE 3749 006474 1114 TAD CNTR 3750 006475 4277 JMS FLOAT /FLOAT NUMBER INTO FLARG 3751 006476 5553 POPJ 3752 3753 3754 /FLOATS NUMBER IN AC INTO FLARG 3755 3756 006477 0000 FLOAT, 0 3757 006500 3112 DCA T1 /SAVE NUMBER 3758 006501 1372 TAD (ACSIGN-1 /SET TO FLOAT 3759 006502 3013 DCA FLTXR 3760 006503 6211 CDF SWAP 3761 006504 3413 DCA I FLTXR /ZERO ACSIGN 3762 006505 3413 DCA I FLTXR 3763 006506 1371 TAD (217 /EXPONENT FUDGE 3764 006507 3413 DCA I FLTXR /INTO ACEXP 3765 006510 3413 DCA I FLTXR /ZERO AC3 3766 006511 1112 TAD T1 3767 006512 3413 DCA I FLTXR /NUMBER IN AC2 3768 006513 3413 DCA I FLTXR /ZERO AC1 3769 006514 4407 FINT 3770 006515 6010 FNOR /FLOAT NUMBER 3771 006516 7522 FPUT I FLARGP /PUT INTO FLARG 3772 006517 0000 FEXT 3773 006520 5677 JMP I FLOAT /DONE 3774 3775 006521 4554 POPF 3776 006522 6167 FLARG 3777 006523 3032 ENDFND, DCA SPACSW 3778 006524 4551 PUSHF 3779 006525 0017 TEXTP 3780 006526 4544 GETC 3781 006527 4575 TSTEND 3782 006530 5326 JMP .-2 3783 006531 4566 TSTCCR 3784 006532 5321 JMP ENDFND-2 3785 006533 4554 POPF 3786 006534 0017 TEXTP 3787 006535 4544 GETC 3788 006536 4571 COMMAN 3789 006537 7001 IAC 3790 006540 5553 POPJ 3791 3792 3793 006541 0000 XPUT, 0 /FILE OUTPUT ROUTINE 3794 006542 7450 SNA 3795 006543 1026 TAD CHAR 3796 006544 3115 DCA T3 3797 006545 1341 TAD XPUT 3798 006546 4547 PUSHA 3799 006547 1115 XPUT3, TAD T3 3800 006550 4547 PUSHA 3801 006551 1115 TAD T3 3802 006552 4672 JMS I AXPUT0 3803 006553 4552 POPA 3804 006554 1376 TAD (-15 3805 006555 7640 SZA CLA 3806 006556 5553 POPJ 3807 006557 1132 TAD CLF 3808 006560 3115 DCA T3 3809 006561 5347 JMP XPUT3 3810 006562 4770 CHAIN, JMS I (DTGRAB 3811 006563 1367 TAD (CHAIN1 3812 006564 3105 DCA CHAINP 3813 006565 5766 JMP I (CHAIN2 3814 006566 7341 PAGE 006567 2463 006570 6603 006571 0217 006572 0042 006573 0100 006574 7713 006575 7731 006576 7763 006577 7724 3815 3816 006600 6777 C6777, 6777 /THIS MUST BE AT THE BEGINNING OF THE PAGE CHECK C200 3817 006601 7000 DTQ1, DTQ 3818 006602 7000 DTQ2, DTQ 3819 3820 006603 0000 DTGRAB, 0 /GET THE TAPE! 3821 006604 6212 CIF 10 /CALL CHECKING ROUTINE 3822 006605 4777 JMS I (DTCHKX 3823 006606 3602 DCA I DTQ2 3824 006607 1202 TAD DTQ2 /BUMP QUEUE POINTER 3825 006610 7001 IAC /(MUST BE AT START OF PAGE) 3826 006611 0376 AND (7607 3827 006612 3202 DCA DTQ2 3828 006613 1201 TAD DTQ1 /WAS THE QUEUE EMPTY? 3829 006614 7140 CLL CMA 3830 006615 1202 TAD DTQ2 3831 006616 0125 AND C7 3832 006617 7650 SNA CLA 3833 006620 5225 JMP XDTG1 /YES, GIVE THIS JOB THE TAPE 3834 3835 006621 1203 TAD DTGRAB /SET RESTART ADDRESS 3836 006622 3022 DCA PC 3837 006623 4775 JMS I (XOR /SET DECTAPE BUSY AND DISMISS 3838 006624 1000 1000 3839 3840 006625 6001 XDTG1, ION /RETURN TO THE JOB 3841 006626 5603 JMP I DTGRAB /(WITH THE DECTAPE) 3842 3843 006627 0000 DTFREE, 0 /LET THE TAPE GO 3844 006630 1105 TAD CHAINP /CHECK IF WE SHOULD HOLD ONTO TAPE 3845 006631 1374 TAD (-READY /FOR AN OLD, SAVE, OR CHAIN 3846 006632 7640 SZA CLA 3847 006633 5627 JMP I DTFREE /RETURN, BUT STILL HOLD ONTO TAPE!! 3848 006634 3601 DCA I DTQ1 /CLEAR THE SLOT 3849 006635 6202 CIF 0 /+ *** THIS IS REALLY AN IOF UNTILL JMP I DTFREE 3850 006636 1201 TAD DTQ1 /BUMP THE POINTER 3851 006637 7001 IAC 3852 006640 0376 AND (7607 3853 006641 3201 DCA DTQ1 3854 006642 1601 TAD I DTQ1 /IS THERE ANOTHER REQUEST? 3855 006643 7450 SNA 3856 006644 5627 JMP I DTFREE /NO, ALL DONE! 3857 3858 006645 1121 TAD LOOKST /BUILD A POINTER TO STATUS 3859 006646 3115 DCA T3 3860 /- CIF 0 /*** THIS IS REALLY AN IOF UNTILL JMP I DTFREE 3861 006647 1515 TAD I T3 /CLEAR DECTAPE BUSY 3862 006650 0200 C200, AND C6777 /THIS IS WHY C6777 MUST BE AT THE BEGINNING OF THE PAGE 3863 006651 3515 DCA I T3 3864 006652 5627 JMP I DTFREE /BACK TO CURRENT JOB 3865 3866 006653 0000 XGET, 0 /FILE INPUT ROUTINE 3867 006654 7300 CLA CLL 3868 006655 2075 ISZ I3 /3RD CHAR OF 3? 3869 006656 5302 JMP GET1 /NO, NORMAL 3870 006657 7344 L7776 /BACK UP POINTER 3871 006660 1074 TAD IPNTR 3872 006661 3074 DCA IPNTR 3873 006662 7346 L7775 /RESET 3-WAY SWITCH 3874 006663 3075 DCA I3 3875 006664 6221 CDF BUF /GET THE FIRST HALF 3876 006665 1474 TAD I IPNTR 3877 006666 2074 ISZ IPNTR 3878 006667 0343 AND C7400 3879 006670 7106 CLL RTL 3880 006671 7006 RTL 3881 006672 3026 DCA CHAR /HANDY TEMP 3882 006673 1474 TAD I IPNTR /GET THE SECOND HALF 3883 006674 0343 AND C7400 3884 006675 1026 TAD CHAR /GET THE FIRST HALF (AGAIN?) 3885 006676 7006 RTL 3886 006677 7006 RTL 3887 006700 7004 RAL 3888 006701 5342 JMP GEXIT 3889 3890 006702 1074 GET1, TAD IPNTR /IS THERE ANY BUFFER? 3891 006703 0126 AND C177 3892 006704 7760 C12M32, SZA CLA SMA SNL /DUMMY SMA SNL TO PRODUCE (12-32 3893 006705 5340 JMP GET2 /GUESS SO 3894 3895 006706 1073 TAD BASE /BUILD POINTER TO BUFFER 3896 006707 1250 TAD C200 3897 006710 3074 DCA IPNTR 3898 006711 1253 TAD XGET /SAVE THE RETURN 3899 006712 4547 PUSHA 3900 006713 4203 JMS DTGRAB /GET THE DECTAPE 3901 006714 1074 TAD IPNTR /MOVE THE ARGS 3902 006715 3330 DCA IBUFF 3903 006716 1076 TAD IBLK 3904 006717 3332 DCA INBLK 3905 006720 1077 TAD IBLKH 3906 006721 7110 CLL RAR /LINK WILL HAVE THE HIGH ORDER ADDRESS 3907 006722 2076 ISZ IBLK /NEXT BLOCK, NEXT TIME 3908 006723 7410 SKP /THE NEXT 4 LOCATIONS ARE FOR THOSE WITH RK8E 3909 006724 2077 ISZ IBLKH /WITH 17777 PAGES 3910 006725 7201 CLA IAC /AC=1 FOR READ 3911 006726 6212 CIF SWAP 3912 006727 4773 JMS I (DTAPE /DO THE DECTAPE THING 3913 006730 0000 IBUFF, 0 3914 006731 7620 7620 /READ 200 WORDS (ONE PAGE) INTO FIELD 2 3915 006732 0000 INBLK, 0 3916 006733 4227 JMS DTFREE /ALL THROUGH, GIVE IT BACK 3917 006734 4552 POPA /RESTORE THE RETURN 3918 006735 3253 DCA XGET 3919 006736 7344 L7776 /PRETEND WE SET THE PACK SWITCH 3920 006737 3075 DCA I3 3921 3922 006740 6221 GET2, CDF BUF /NORMAL CHARACTER UNPACKING 3923 006741 1474 TAD I IPNTR /GET THE CHARACTER 3924 006742 2074 GEXIT, ISZ IPNTR 3925 006743 7400 C7400, NOP 400 /IN CASE IT SKIPS 3926 006744 6201 CDF 3927 006745 0126 AND C177 /MASK OFF PARITY 3928 006746 7450 SNA /IGNORE NULLS 3929 006747 5254 JMP XGET+1 3930 006750 1133 TAD M12 /AND LINE FEEDS 3931 006751 7112 CLL RTR /AND FORM FEEDS 3932 006752 7450 SNA 3933 006753 5254 JMP XGET+1 3934 006754 7006 RTL 3935 006755 1304 TAD C12M32 /CHECK FOR ^Z. 12-32=7760=SZA CLA SMA SNL 3936 006756 7440 SZA 3937 006757 5365 JMP .+6 3938 006760 2253 ISZ XGET /SKIP RETURN FOR EOF 3939 006761 3076 DCA IBLK /CLEAR FILE OPEN 3940 006762 3077 DCA IBLKH 3941 006763 1372 TAD (XREADC /RESET 'READC' 3942 006764 3067 DCA PREADC 3943 006765 1371 TAD (32 /RESTORE CHAR 3944 006766 3026 DCA CHAR 3945 006767 5653 JMP I XGET /WHEW! 3946 3947 006771 0032 PAGE 006772 3702 006773 3000 006774 7314 006775 5600 006776 7607 006777 3561 3948 007000 0000 DTQ, ZBLOCK 10 007001 0000 007002 0000 007003 0000 007004 0000 007005 0000 007006 0000 007007 0000 3949 3950 007010 0000 STRFIL, 0 /GET A STRING FILENAME 3951 007011 4777 JMS I (DOLCHK /SET EXTENSION 3952 007012 4550 PUSHJ /GET FILE NAME 3953 007013 2612 EVAL 3954 007014 1026 TAD CHAR /SAVE TEXT POINTERS 3955 007015 4547 PUSHA 3956 007016 4551 PUSHF 3957 007017 0017 TEXTP 3958 007020 7240 CLA CMA /PUSH A CR 3959 007021 4547 PUSHA 3960 007022 4551 PUSHF /FINALLY, PUSH THE STRING 3961 007023 6167 FLARG 3962 007024 1015 TAD PDLXR /SET UP UNPACKING (FROM THE STACK!) 3963 007025 3017 DCA AXOUT 3964 007026 3021 DCA XCT 3965 007027 4544 GETC /GET THE FIRST CHAR 3966 007030 6213 CIF CDF SWAP 3967 007031 4776 JMS I (XGETNAM /GET THE FILE NAME 3968 007032 1015 TAD PDLXR /UNSTACK GARBAGE 3969 007033 1375 TAD (4 3970 007034 3015 DCA PDLXR 3971 007035 4554 POPF /RESTORE THE TEXT POINTERS 3972 007036 0017 TEXTP 3973 007037 4552 POPA 3974 007040 3026 DCA CHAR 3975 007041 5610 JMP I STRFIL /DONE WITH FILENAME 3976 3977 007042 4774 OPEN, JMS I (DTGRAB /GET THE DECTAPE 3978 007043 1140 TAD M100 /SET '.DX' EXTENSION 3979 007044 4210 JMS STRFIL /GET THE FILENAME 3980 007045 1132 TAD CLF /DOUBLE CHECK FOR 'FOR' 3981 007046 4571 COMMAN 3982 007047 7650 SNA CLA 3983 007050 4557 ERR620, ERROR /WASN'T THERE 3984 007051 4571 COMMAN /MUST BE 'INPUT' OR 'OUTPUT' 3985 007052 1373 TAD (5 /CHECK FOR 'INPUT' 3986 007053 7450 SNA 3987 007054 5335 JMP OINPUT 3988 007055 1372 TAD (-5-4+32 3989 007056 7640 SZA CLA 3990 007057 5250 JMP ERR620 3991 3992 007060 4567 FILOUT, TSTCOM /LENGTH GIVEN? 3993 007061 5322 JMP NOLEN /ASSUME 10 BLOCKS 3994 007062 4550 PUSHJ /EVALUATE THE LENTH 3995 007063 2611 EVAL-1 3996 007064 4523 JMS I INTEGER /FIX IT 3997 007065 7570 SPA SNA SZL 3998 007066 4557 ERR650, ERROR /TOO BIG OR TOO LITTLE 3999 4000 007067 3104 LENIN, DCA OMAX /SAVE LENGTH 4001 007070 1036 TAD DECK /USER 0 CAN OPEN ANY LENTH 4002 007071 7640 SZA CLA 4003 007072 1104 TAD OMAX /ANYBODY ELSE IS LIMITED TO 64 4004 007073 1140 TAD C7700 4005 007074 7750 SPA SNA CLA /TOO BIG 4006 4007 007075 4575 LENOK, TSTEND /SHOULD BE END 4008 007076 5266 JMP LENIN-1 4009 007077 1140 TAD M100 /MAKE SURE EXTENSION IS CORRECT 4010 007100 4777 JMS I (DOLCHK /(HE COULD HAVE SAID 'OPEN $' 4011 007101 1104 TAD OMAX /PUT LENGTH FOR ENTER IN AC 4012 007102 6213 CIF CDF SWAP 4013 007103 4771 JMS I (XENTER /ENTER AND CLOSE 4014 007104 4557 ERR630, ERROR 4015 007105 7104 CLL RAL 4016 007106 3102 DCA OBLK 4017 007107 7004 RAL 4018 007110 3103 DCA OBLKH 4019 007111 7346 L7775 4020 007112 3101 DCA O3 /INIT POINTERS 4021 007113 1073 TAD BASE 4022 007114 3100 DCA OPNTR 4023 007115 1104 TAD OMAX /FORM MAXIMUM LENGTH (IN PAGES) 4024 007116 7104 CLL RAL 4025 007117 7040 CMA 4026 007120 3104 DCA OMAX 4027 007121 5347 JMP OUTOUT /USE SOME COMMON CODE 4028 4029 007122 1132 NOLEN, TAD CLF /ASSUME 10 BLOCKS 4030 007123 5267 JMP LENIN 4031 4032 007124 1070 SAVDON, TAD PPRINT /WAS THIS A 'SAVE'? 4033 007125 1370 TAD (-XPRNTC 4034 007126 7650 SNA CLA 4035 007127 5767 JMP I (READY /NO, GOTO 'READY' 4036 007130 4550 PUSHJ /CLOSE THE FILE 4037 007131 7415 CLOSE1 4038 007132 4766 SAVDN1, JMS I (IOFIX 4039 007133 4765 JMS I (DTFREE /RELEASE THE TAPE FOR REAL 4040 007134 5767 JMP I (READY /ALL DONE! 4041 4042 007135 4575 OINPUT, TSTEND 4043 007136 5250 JMP ERR620 4044 007137 6213 CIF CDF SWAP 4045 007140 4764 JMS I (FLOOK /LOOK UP THE FILE 4046 007141 7104 CLL RAL /GET THE TAPE BLOCK*2 FOR PAGES 4047 007142 3076 DCA IBLK 4048 007143 7004 RAL 4049 007144 3077 DCA IBLKH 4050 007145 3075 DCA I3 /CLEAR THE SWITCH 4051 007146 3074 DCA IPNTR /AND THE POINTER 4052 007147 4765 OUTOUT, JMS I (DTFREE /GIVE UP THE TAPE 4053 007150 5553 POPJ 4054 4055 4056 007151 4575 RESTOR, TSTEND 4057 007152 4557 ERR280, ERROR 4058 007153 3037 DCA DATAPC 4059 007154 1124 TAD CCR 4060 007155 3043 DCA DATAPC+4 4061 007156 5553 POPJ 4062 4063 007157 2014 FLTONE, 2014 4064 007160 0000 FLZERO, 0 4065 007161 0000 0 4066 007162 0000 0 4067 4068 007163 4557 ERR330, ERROR 4069 4070 007164 3530 PAGE 007165 6627 007166 1365 007167 0464 007170 0422 007171 3177 007172 0021 007173 0005 007174 6603 007175 0004 007176 2661 007177 7541 4071 007200 0000 XPUT0, 0 4072 IFNZRO XPUT0-7200 4073 007201 6221 CDF BUF 4074 007202 2101 ISZ O3 4075 007203 5251 JMP PUT1 4076 007204 3115 DCA T3 4077 007205 7344 L7776 4078 007206 1100 TAD OPNTR 4079 007207 3100 DCA OPNTR 4080 007210 4256 JMS OPAK 4081 007211 4256 JMS OPAK 4082 007212 6201 CDF 4083 007213 7346 L7775 4084 007214 3101 DCA O3 4085 007215 1100 TAD OPNTR 4086 007216 0126 AND C177 4087 007217 7640 SZA CLA 4088 007220 5600 JMP I XPUT0 4089 4090 007221 2104 ISZ OMAX /GONE TOO FAR? 4091 007222 5226 JMP .+4 4092 007223 3102 DCA OBLK /CLEAR FILE 4093 007224 3103 DCA OBLKH 4094 007225 4557 ERR640, ERROR 4095 007226 1073 TAD BASE 4096 007227 3100 DCA OPNTR 4097 007230 4777 JMS I (DTGRAB 4098 007231 1073 TAD BASE 4099 007232 3244 DCA OBUFF 4100 007233 1102 TAD OBLK 4101 007234 3246 DCA OUTBLK 4102 007235 1103 TAD OBLKH 4103 007236 7110 CLL RAR /OBLKH MUST BE EITHER 0 OR 1 NOTHING ELSE. 4104 007237 2102 ISZ OBLK 4105 007240 7410 SKP /RK8E AGAIN 4106 007241 2103 ISZ OBLKH 4107 007242 6212 CIF SWAP 4108 007243 4776 JMS I (DTAPE 4109 007244 0000 OBUFF, 0 4110 007245 7620 7620 /WRITE 200 WORDS FROM FIELD 2 4111 007246 0000 OUTBLK, 0 4112 007247 4775 JMS I (DTFREE 4113 007250 5600 JMP I XPUT0 4114 4115 007251 0126 PUT1, AND C177 4116 007252 3500 DCA I OPNTR 4117 007253 2100 ISZ OPNTR 4118 007254 6201 CDF 4119 007255 5600 JMP I XPUT0 4120 4121 4122 007256 0000 OPAK, 0 4123 007257 1115 TAD T3 4124 007260 7106 CLL RTL 4125 007261 7006 RTL 4126 007262 3115 DCA T3 4127 007263 1115 TAD T3 4128 007264 0374 AND (7400 4129 007265 1500 TAD I OPNTR 4130 007266 3500 DCA I OPNTR 4131 007267 2100 ISZ OPNTR 4132 007270 5656 JMP I OPAK 4133 4134 007271 0000 OFREE2, 0 4135 007272 1271 TAD OFREE2 4136 007273 4547 PUSHA 4137 007274 1373 TAD (-2+200 4138 007275 1073 TAD BASE 4139 007276 7141 CLL CIA 4140 007277 1100 TAD OPNTR 4141 007300 7620 SNL CLA 4142 007301 5553 POPJ 4143 007302 7330 L4000 4144 007303 4470 PRINTC 4145 007304 1073 TAD BASE 4146 007305 7041 CIA 4147 007306 1100 TAD OPNTR 4148 007307 7640 SZA CLA 4149 007310 5302 JMP .-6 4150 007311 5553 POPJ 4151 4152 007312 0000 OFREE3, 0 4153 007313 1312 TAD OFREE3 4154 007314 4547 PUSHA 4155 007315 1135 TAD M6 4156 007316 5274 JMP OFREE2+3 4157 4158 007317 1026 OLD1, TAD CHAR /CHECK FOR LIBRARY CALL 4159 007320 1372 TAD (-"$+200 4160 007321 7640 SZA CLA 4161 007322 5326 JMP .+4 4162 007323 4544 GETC /SKIP OVER $ 4163 007324 1136 TAD C10 4164 007325 7410 SKP 4165 007326 1036 TAD DECK /PUSH HIS NUMBER IF NOT LIBRARY 4166 007327 4547 PUSHA 4167 007330 4550 PUSHJ /GET THE PROGRAM NAME 4168 007331 5740 GETNAM 4169 007332 4777 JMS I (DTGRAB /GET THE TAPE 4170 007333 4552 POPA /SET THE EXTENSION 4171 007334 1371 TAD (560 /SET "E0" EXTENSION 4172 007335 3066 DCA EXTEN 4173 007336 6213 CIF CDF SWAP /UNPACK THE NAME 4174 007337 4770 JMS I (XGETNAM 4175 4176 007340 7410 SKP 4177 007341 4767 CHAIN2, JMS I (STRFIL 4178 007342 4766 JMS I (MOVNAM /MOVE THE NEW NAME DOWN 4179 007343 4550 PUSHJ /LOOKUP THE FILE 4180 007344 7137 OINPUT+2 /AND SWITCH TO FILE INPUT 4181 007345 4560 UDF /SCRATCH USER AREA 4182 007346 3457 DCA I ALINE0 4183 007347 6201 CDF 0 4184 007350 7326 L0002 4185 007351 1057 TAD ALINE0 4186 007352 3054 DCA BUFR 4187 007353 1365 TAD (XGET 4188 007354 3067 DCA PREADC 4189 007355 5764 JMP I (START /RETURN TO COMMAND INPUT! 4190 4191 4192 007356 0000 XPRNTC, 0 4193 007357 6002 IOF 4194 007360 4763 JMS I (XOUTL 4195 007361 6001 ION 4196 007362 5756 JMP I XPRNTC 4197 4198 4199 4200 007363 3341 PAGE 007364 0467 007365 6653 007366 4240 007367 7010 007370 2661 007371 0560 007372 7734 007373 0176 007374 7400 007375 6627 007376 3000 007377 6603 4201 4202 /-OPUS, POPA 4203 /- DCA T3 4204 /- CDF CIF 10 4205 /- JMP I T3 4206 007400 3115 OPUS, DCA T3 /+ 4207 007401 4552 POPA /+ 4208 007402 6212 CIF 10 /+ 4209 007403 5757 JMP I PPTCH4 /+ 4210 4211 007404 0000 INTCNT, 0 4212 007405 1107 RANDOM, TAD FRNDX+1 4213 007406 1204 TAD INTCNT 4214 007407 3106 DCA FRNDX 4215 007410 1204 TAD INTCNT 4216 007411 3107 DCA FRNDX+1 4217 007412 5553 POPJ 4218 4219 007413 1377 CLOSE0, TAD (460 /SET "D0" EXTENSION 4220 007414 3066 DCA EXTEN 4221 007415 1102 CLOSE1, TAD OBLK /ANY FILE TO CLOSE? 4222 007416 7110 CLL RAR 4223 007417 1103 TAD OBLKH /THIS WILL WORK BECAUSE HE CAN'T USE BLOCK 0 4224 007420 7650 SNA CLA 4225 007421 5776 JMP I (ERR600 4226 007422 4775 JMS I (SETUPO /OPEN OUTPUT 4227 007423 1374 TAD (232 /WRITE A ^Z 4228 007424 4470 PRINTC 4229 007425 1073 TAD BASE 4230 007426 7041 CIA 4231 007427 1100 TAD OPNTR 4232 007430 7640 SZA CLA 4233 007431 5223 JMP .-6 4234 007432 3102 DCA OBLK /CLOSE THE FILE! 4235 007433 3103 DCA OBLKH 4236 007434 5553 POPJ 4237 4238 007435 2105 SAVE, ISZ CHAINP /SET TAPE LOCKING FLAG 4239 007436 4773 JMS I (DTGRAB /GET THE DECTAPE 4240 007437 6211 CDF SWAP /MOVE THE NAME TO 4241 007440 1063 TAD NAME /WORKING SPACE 4242 007441 3524 DCA I CCR /** NAMEX IS AT LOCATION 15 4243 007442 1064 TAD NAME+1 4244 007443 3772 DCA I (NAMEX+1 4245 007444 1065 TAD NAME+2 4246 007445 3771 DCA I (NAMEX+2 4247 007446 6201 CDF 4248 007447 1036 TAD DECK 4249 007450 1370 TAD (560 /SET "EX" EXTENSION 4250 007451 3066 DCA EXTEN 4251 007452 3104 DCA OMAX /SETUP TO COMPUTE LENGTH 4252 007453 1057 TAD ALINE0 /(BUFR)-(ALINE0)=LENGTH IN WORDS 4253 007454 7041 CIA 4254 007455 1054 TAD BUFR 4255 007456 7110 CLL RAR /HALVE IT FOR THOSE USERS WITH OVER 2K 4256 007457 2104 ISZ OMAX /(# WORDS)*2/(CHAR'S/BLOCK)+1=BLOCKS 4257 007460 1367 TAD (-124 /(APPROX # CHAR'S/BLOCK)/2 (AND 2 AGAIN) 4258 007461 7500 SMA 4259 007462 5257 JMP .-3 /CONTINUE DIVISION 4260 007463 7300 CLA CLL /NOW DO ENTER 4261 007464 4550 PUSHJ /OPEN FILE 4262 007465 7101 LENOK+4 4263 007466 3034 DCA OUTPUT /FOR 'LIST' 4264 007467 4775 JMS I (SETUPO /SETUP TO PRINT 4265 007470 5766 JMP I (LIST /CALL 'LIST' 4266 4267 007471 7330 KILL, L4000 4268 007472 3062 DCA ERLINE 4269 007473 4550 UNSAVE, PUSHJ /GET THE NAME 4270 007474 5740 GETNAM 4271 007475 4773 JMS I (DTGRAB /GET THE DECTAPE 4272 007476 6213 CIF CDF SWAP /BUILD THE NAME 4273 007477 4765 JMS I (XGETNAM 4274 007500 1062 TAD ERLINE /WHICH EXTENSION 4275 007501 7640 SZA CLA 4276 007502 1140 TAD M100 /'.DX' EXTENSION 4277 007503 4341 JMS DOLCHK /JUST TO SET '.EX' EXTENSION 4278 007504 6213 CIF CDF SWAP /DO THE CLOSE 4279 007505 4764 JMS I (XENTER /WHAT? 4280 007506 2757 PCAT0, CAT0 /ENTER WITH 0 SHOULD ALWAYS SKIP 4281 007507 4763 UNSAV1, JMS I (DTFREE /RELEASE THE TAPE 4282 007510 5762 JMP I (READY /ALL DONE 4283 4284 007511 7330 DATLOG, L4000 4285 007512 3062 DCA ERLINE 4286 007513 1132 CATLOG, TAD CLF 4287 007514 4470 PRINTC 4288 007515 4773 JMS I (DTGRAB /GET THE TAPE 4289 007516 1062 TAD ERLINE 4290 007517 7640 SZA CLA 4291 007520 1140 TAD M100 /LIST '.DX' EXTENSIONS 4292 007521 4341 JMS DOLCHK /SET CATALOG TO LIST 4293 007522 6213 CIF CDF SWAP /GET THE CATALOG 4294 007523 4706 JMS I PCAT0 4295 4296 007524 4472 CATLUP, FREE13 /MAKE SURE THERE'S ROOM 4297 007525 6213 CIF CDF SWAP /PRINT THE NEXT NAME 4298 007526 4761 JMS I (CAT1 4299 007527 5324 JMP CATLUP /DO IT AGAIN! 4300 007530 5307 JMP UNSAV1 4301 4302 007531 2032 PRINT2, ISZ SPACSW /KEEP SPACES 4303 007532 4544 GETC 4304 007533 4545 SORTJ 4305 007534 5450 PRNTL7-1 /CHECK " CR 4306 007535 6240 PRNTL8-PRNTL7 4307 007536 4471 FREE2 4308 007537 4470 PRINTC 4309 007540 5332 JMP PRINT2+1 /KEEP PRINTING THE LITERAL 4310 4311 007541 0000 DOLCHK, 0 /DECIDE WHICH CATALOG TO USE 4312 007542 3112 DCA T1 /SET EITHER '.E0' OR '.D0' 4313 007543 1026 TAD CHAR /CHECK FOR $ 4314 007544 1360 TAD (-"$+200 4315 007545 7650 SNA CLA 4316 007546 5354 JMP DOL2 4317 007547 1036 TAD DECK /ADD CURRENT USER TO EXTENSION 4318 007550 1112 DOL1, TAD T1 4319 007551 1370 TAD (560 4320 007552 3066 DCA EXTEN 4321 007553 5741 JMP I DOLCHK 4322 007554 4544 DOL2, GETC /SKIP OVER $ 4323 007555 1136 TAD C10 4324 007556 5350 JMP DOL1 4325 007557 5200 PPTCH4, PATCH4 /+ 4326 4327 007560 7734 PAGE 007561 3465 007562 0464 007563 6627 007564 3177 007565 2661 007566 2251 007567 7654 007570 0560 007571 0017 007572 0016 007573 6603 007574 0232 007575 5474 007576 1150 007577 0460 4328 4329 FIELD 1 4330 4331 *7400 4332 MVPAG=. 4333 4334 NOPUNCH 4335 *7600 /THIS WILL BE MOVED LATER 4336 ENPUNCH 4337 4338 017600 5356 JMP 7756 /FOR A MONITOR SYSTEM 4339 017601 7736 QMQOT, -42 4340 017602 7603 QPT1, .+1 4341 017603 0011 11 4342 017604 0000 QCT1, 0 4343 017605 2757 QEVAL2, EVAL2+3 4344 017606 5607 QINPACK,INPACK 4345 017607 0000 QUOCNT, 0 4346 IFNZRO 7610-. 4347 017610 7740 IF5, SMA SZA CLA 4348 017611 7710 SPA CLA 4349 017612 7650 SNA CLA 4350 017613 7700 SMA CLA 4351 017614 7750 SPA SNA CLA 4352 017615 7640 SZA CLA 4353 017616 0000 QCOUNT, 0 4354 017617 1026 QUOTES, TAD CHAR /LITERAL STRING 4355 017620 1201 TAD QMQOT 4356 017621 7640 SZA CLA 4357 017622 5605 JMP I QEVAL2 /ERROR, NOT STRING 4358 017623 1353 TAD QOPNEXT /SET UP POPJ RETURN 4359 017624 4547 PUSHA 4360 4361 017625 1333 QINP, TAD QCON1 /ENTRY POINT FOR INPUT COMMAND 4362 017626 1334 QLINP, TAD QCON2 /ENTRY POINT FOR LINPUT COMMAND 4363 017627 3252 DCA QSLIS /WHICH LIST TO SORT THROUGH 4364 017630 1135 TAD M6 4365 017631 3216 DCA QCOUNT /COUNT FOR 6 CHARS 4366 017632 3207 DCA QUOCNT /QUOTE COUNTER 4367 017633 2032 ISZ SPACSW /KEEP SPACES 4368 017634 2031 ISZ MODE /SET STRING MODE INDICATOR 4369 017635 4551 PUSHF /PUSH 3 WORDS ONTO STACK 4370 017636 0124 CCR 4371 017637 1015 TAD PDLXR 4372 017640 3016 DCA AXIN 4373 017641 3024 DCA XCTIN 4374 017642 1016 TAD AXIN 4375 017643 3052 DCA PACKST 4376 017644 1202 TAD QPT1 4377 017645 3053 DCA PACKND 4378 017646 7410 SKP /WE ALREADY HAVE FIRST CHAR 4379 017647 4544 QUOTE1, GETC 4380 017650 4545 SORTJ 4381 017651 5446 PRNTL1-1 4382 017652 0000 QSLIS, 0 4383 4384 017653 1216 QNEXTC, TAD QCOUNT /HAVE WE GOT 6 CHARS YET 4385 017654 7710 SPA CLA /YES, DON'T BOTHER PACKING 4386 017655 4564 PACKC 4387 017656 2216 ISZ QCOUNT /BUMP CHAR COUNTER 4388 017657 5247 JMP QUOTE1 4389 017660 1252 TAD QSLIS /GOT 6 CHARS; CHECK IF LINPUT COMMAND 4390 017661 7041 CIA 4391 017662 1334 TAD QCON2 4392 017663 7640 SZA CLA 4393 017664 5247 JMP QUOTE1 /NO, IGNORE REST OF STRING 4394 017665 1335 TAD QCOM /YES, FAKE A COMMA 4395 017666 3207 DCA QUOCNT /SO WE CAN GET REST OF STRING 4396 017667 5310 JMP QDONE2 4397 4398 017670 1207 QUOCHK, TAD QUOCNT /CHECK WHICH QUOTE THIS IS 4399 017671 7650 SNA CLA /SECOND QUOTE, ALL DONE 4400 017672 5276 JMP .+4 4401 017673 3032 DCA SPACSW /IGNORE SPACES 4402 017674 4544 GETC /SKIP OVER QUOTE 4403 017675 5304 JMP QDONE /END OF STRING 4404 017676 2207 ISZ QUOCNT 4405 017677 5247 JMP QUOTE1 /SET FLAG AND CONTINUE 4406 4407 017700 1207 QCOMCK, TAD QUOCNT /CHECK IF COMMA INSIDE QUOTES 4408 017701 7650 SNA CLA 4409 017702 5304 JMP QDONE /NO QUOTES, ENDS STRING 4410 017703 5253 JMP QNEXTC /INSIDE QUOTES, KEEP IT 4411 4412 017704 1026 QDONE, TAD CHAR /DONE, SAVE TERMINATOR 4413 017705 3207 DCA QUOCNT 4414 017706 1216 TAD QCOUNT /SAVE CHAR COUNT, FILL WORD WITH CR'S 4415 017707 7041 CIA 4416 017710 1135 QDONE2, TAD M6 4417 017711 7041 CIA 4418 017712 3204 DCA QCT1 4419 017713 1216 TAD QCOUNT 4420 017714 7700 SMA CLA 4421 017715 5323 JMP QDONE1 /YES 4422 017716 1124 TAD CCR /CCR ENDS STRING 4423 017717 3026 DCA CHAR 4424 017720 4564 PACKC 4425 017721 2216 ISZ QCOUNT 4426 017722 5320 JMP .-2 4427 017723 4554 QDONE1, POPF /GET THE STRING 4428 017724 6167 FLARG 4429 017725 1122 TAD FLARGP /POINT TO STRING 4430 017726 3025 DCA PT1 4431 017727 1207 TAD QUOCNT 4432 017730 3026 DCA CHAR /RESTORE CHARACTER 4433 017731 3032 DCA SPACSW /SET TO IGNORE SPACES 4434 017732 5553 POPJ /RETURN 4435 4436 4437 4438 017733 7774 QCON1, QLIS2-QLIS1 4439 017734 5271 QCON2, QLIS1-PRNTL1 4440 017735 0054 QCOM, ",-200 4441 4442 017736 0001 FRNDX1, 0001 /INITIALIZE RANDOM NUMBER 4443 017737 0203 0203 4444 017740 5555 5555 4445 4446 017741 4407 ENDFUN, FINT 4447 017742 6010 FNOR /NORMALIZE IT 4448 017743 7522 FPUT I FLARGP /SAVE DATA 4449 017744 0000 FEXT 4450 017745 1122 ENDF1, TAD FLARGP 4451 017746 3025 DCA PT1 /POINT TO DATA 4452 017747 3032 DCA SPACSW 4453 017750 4752 JMS I QPARTST 4454 017751 5753 JMP I QOPNEXT 4455 4456 017752 5665 QPARTST,PARTST 4457 017753 2644 QOPNEXT,OPNEXT 4458 4459 4460 PAGE 0 4461 4462 010000 0000 DTINTR, 0 4463 010001 3056 DCA INTAC1 /JUST FOR *DECKON* 4464 010002 0000 0 /DTSF IF TC08, DSKP IF RK8E 4465 010003 5020 JMP DIS 4466 010004 5467 JMP I MCOM /YES, GO TO IT 4467 4468 010005 0000 OCNTR, 0 /FLT PT COUNTER 4469 010006 0000 XENTMP, 0 4470 4471 /!!!!! WARNING DON'T MOVE OFPNT OR ITS ENTRY POINT !!!!! 4472 4473 *7 4474 010007 0200 Z200, OFPNT /FLOATING INTERPRETER CALL 4475 010010 0000 FXR1, 0 /FLOATING POINT INDEX REG 4476 010011 0000 FXR2, 0 4477 010012 0000 XR1, 0 4478 010013 0000 XR2, 0 4479 010014 0000 XR3, 0 4480 *15 /NAMEX MUST BE AT LOCN. 15 FOR MOVNAM TO WORK 4481 010015 0000 NAMEX, ZBLOCK 3 010016 0000 010017 0000 4482 010020 1056 DIS, TAD INTAC1 /RESTORE AC 4483 010021 6203 CIF CDF 4484 010022 5400 JMP I DTINTR /RESUME INTERRUPT PROCESSING 4485 4486 CALL=JMS I . /CALL AN OVERLAY OVER ENTER 4487 010023 2764 XCALL 4488 OPRINTC=JMS I . /FIELD 1 PRINTC 4489 010024 1170 OPRINC 4490 OERROR= JMS I . /FIELD 1 ERROR CALL 4491 010025 2462 OERRX 4492 OGETC= JMS I . /FIELD 1 GETC 4493 010026 2456 OGETCX 4494 OTESTN= JMS I . /FIELD 1 TESTN 4495 010027 2442 OTESTX 4496 OPOPJ= JMP I . 4497 010030 2364 OPOPJX 4498 OPUSHJ= JMS I . 4499 010031 2447 OPUSHX 4500 DECTAP= JMS I . /DO READ OR WRITE 4501 010032 3000 DTAPE 4502 ERROX= JMP . 4503 010033 4425 ERR530, OERROR 4504 GETCAT= JMS I . /READ IN DIRECTORY 4505 010034 3440 XGETCAT 4506 BUMPXR= JMS I . /UTILITY 4507 010035 2654 XBUMPXR 4508 DIRSCH= JMS I . /FIND A FILE NAME 4509 010036 2600 XDIRSCH 4510 SETPT= JMS I . /SETUP DIRECTORY POINTERS 4511 010037 3416 XSETPT 4512 TADCHR= JMS I . /TAD CHAR FROM FIELD 0 4513 010040 2727 XTADCH 4514 TADEXT= JMS I . 4515 010041 4736 XTADEX 4516 4517 /FLOATING POINT STORAGE 4518 4519 010042 0000 OPSIGN, 0 /OPERAND SIGN 4520 010043 0000 ACSIGN, 0 /FLAC SIGN 4521 010044 0000 OPEXP, 0 /OPERAND EXPONENT 4522 010045 0000 ACEXP, 0 /FLAC EXPONENT 4523 010046 0000 AC3, 0 /FLAC 4524 010047 0000 AC2, 0 4525 010050 0000 AC1, 0 4526 010051 0000 OP3, 0 /OPERAND 4527 010052 0000 OP2, 0 4528 010053 0000 OP1, 0 4529 010054 0000 OVER, 0 /OVERFLOW INTO HERE 4530 010055 0000 FFLAG, 0 /-1 IF OP NOT 0 4531 4532 010056 0000 INTAC1, 0 4533 010057 0000 TEMPX, 0 4534 010060 0000 TEMPX1, 0 4535 010061 0000 FILEN, 0 4536 010062 0000 BLOCK, 0 4537 010063 0000 WASTE, 0 4538 010064 0000 ENTRIES, 0 4539 010065 3453 PSQUISH, SQUISH 4540 010066 0000 FOUND, 0 4541 010067 0000 MCOM, 0 4542 010070 4423 PPLINK, CALL /CALL LINK OVERLAY. MOVE THIS IF YOU CAN FIND ROOM 4543 010071 0060 CLINK^2 4544 010072 3200 LINK 4545 4546 010073 0010 Z10, 10 4547 010074 0070 Z70, 70 4548 010075 0100 Z100, 100 4549 010076 1000 Z1000, 1000 4550 010077 6777 Z6777, 6777 4551 010100 0120 ZLOOK, LOOK 4552 010101 1766 ZRUN9X, RUN9X 4553 010102 6601 ZDTQ1, DTQ1 4554 010103 4207 ZDIRBUF, DIRBUF 4555 010104 3052 ZDXIT, DXIT /POINTER TO DTAPE (RK8E) RETURN 4556 010105 5001 PXCALLB, -XCALLB-1 4557 010106 4425 ZOERROR, OERROR 4558 010107 6771 DTSF1, DTSF /DTSF IF TC08, DSKP IF RK8E 4559 010110 0000 DTLOOK, 0 /ADDRESS OF DECTAPE USER STATUS WORD 4560 010111 6201 ZCDF, CDF /FOR RK8E HANDLER 4561 4562 DCON, /DECTAPE (OR DISK) CONSTANTS 4563 D4000, /4000 4564 010112 3055 DDR128, DR128 4565 D6260, /6260 4566 010113 3113 DDTBLK, DTBLOK 4567 D1400, /1400 4568 010114 3073 DDINT, DINT-1 4569 DDIRB, /DIRBUF-1 4570 010115 0614 D614, 614 4571 DM200, /-200 4572 010116 0020 D20, 20 4573 4574 PAGE 4575 010200 0000 OFPNT, 0 /ENTRY POINT 4576 010201 7600 C7600, 7600 4577 010202 6214 RDF 4578 010203 1021 TAD DIS+1 /OPERANDS IN CALLING FIELD 4579 010204 3210 DCA FLOOP+2 4580 010205 5210 JMP .+3 4581 4582 010206 4577 FLOOP, JMS I [FNORM /NORMALIZE RESULT 4583 010207 2200 ISZ OFPNT /GET NEXT 4584 010210 6203 CIF CDF 4585 010211 1600 TAD I OFPNT /GET OPERATION 4586 010212 7450 SNA 4587 010213 5600 JMP I OFPNT /0000 => EXIT 4588 010214 6212 CIF SWAP 4589 010215 7006 RTL 4590 010216 7006 RTL 4591 010217 0176 AND [7 4592 010220 3273 DCA FGOTO /SAVE OP 4593 010221 1600 TAD I OFPNT 4594 010222 0175 AND [200 4595 010223 7650 SNA CLA 4596 010224 5227 JMP FPNT1 /PAGE ZERO MODE 4597 010225 1200 TAD OFPNT 4598 010226 0201 AND C7600 /GET PAGE 4599 010227 3304 FPNT1, DCA FADDR 4600 010230 1600 TAD I OFPNT 4601 010231 0174 AND [177 4602 010232 1304 TAD FADDR 4603 010233 3304 DCA FADDR /GET ADDRESS 4604 010234 7420 SNL 4605 010235 5240 JMP FPNT2 4606 010236 1704 TAD I FADDR /DO INDIRECT 4607 010237 3304 DCA FADDR 4608 010240 7330 FPNT2, L4000 4609 010241 0704 AND I FADDR 4610 010242 3042 DCA OPSIGN /SET SIGN 4611 010243 1704 TAD I FADDR 4612 010244 7640 SZA CLA 4613 010245 7340 L7777 4614 010246 3055 DCA FFLAG /-1 IF NOT 0 4615 010247 1704 TAD I FADDR 4616 010250 7012 RTR 4617 010251 7010 RAR 4618 010252 0173 AND [377 4619 010253 3044 DCA OPEXP /SET EXP 4620 010254 1704 TAD I FADDR 4621 010255 0176 AND [7 4622 010256 3053 DCA OP1 /SET WORDS 4623 010257 2304 ISZ FADDR 4624 010260 1704 TAD I FADDR 4625 010261 3052 DCA OP2 4626 010262 2304 ISZ FADDR 4627 010263 1704 TAD I FADDR 4628 010264 3051 DCA OP3 4629 010265 7346 L7775 4630 010266 1304 TAD FADDR 4631 010267 3011 DCA FXR2 4632 010270 1273 FPNT3, TAD FGOTO 4633 010271 1172 TAD [JMP I FJUMP 4634 010272 3273 DCA .+1 /FIND OP ADDRESS 4635 010273 7402 FGOTO, HLT 4636 4637 010274 0334 FJUMP, FPGET 4638 010275 0455 FPADD 4639 010276 0452 FPSUB 4640 010277 0531 FPMUL 4641 010300 0662 FPDIV 4642 010301 0305 FPJMP 4643 010302 0311 FPCMP 4644 010303 0325 FPPUT 4645 4646 010304 0000 FADDR, 0 4647 010305 7344 FPJMP, L7776 /FLOATING JUMP 4648 010306 1304 TAD FADDR 4649 010307 3200 DCA OFPNT 4650 010310 5210 JMP FLOOP+2 4651 4652 010311 1600 FPCMP, TAD I OFPNT 4653 010312 7006 RTL 4654 010313 7006 RTL 4655 010314 7730 SZL SPA CLA 4656 010315 5361 JMP FPNT4 /FLOATING COMPARE 4657 010316 1600 TAD I OFPNT 4658 010317 1316 TAD .-1 /TAD (1600 4659 010320 3322 DCA .+2 /SET SKIP WORD 4660 010321 4347 JMS HIGHWD /GET WORD 4661 010322 7402 HLT /SKIP IF FALSE 4662 010323 2200 ISZ OFPNT /TRUE => SKIP 4663 010324 5206 JMP FLOOP 4664 4665 010325 4347 FPPUT, JMS HIGHWD 4666 010326 3411 DCA I FXR2 /SET WORD 1 4667 010327 1047 TAD AC2 4668 010330 3411 DCA I FXR2 /SET WORD 2 4669 010331 1046 TAD AC3 4670 010332 3411 DCA I FXR2 /SET WORD 3 4671 010333 5207 JMP FLOOP+1 4672 4673 010334 1042 FPGET, TAD OPSIGN 4674 010335 3043 DCA ACSIGN /TRANSFER INTO FLAC 4675 010336 1044 TAD OPEXP 4676 010337 3045 DCA ACEXP 4677 010340 1053 TAD OP1 4678 010341 3050 DCA AC1 4679 010342 1052 TAD OP2 4680 010343 3047 DCA AC2 4681 010344 1051 TAD OP3 4682 010345 3046 DCA AC3 4683 010346 5207 JMP FLOOP+1 4684 4685 010347 0000 HIGHWD, 0 4686 010350 1045 TAD ACEXP 4687 010351 7104 CLL RAL 4688 010352 7500 SMA 4689 010353 7106 CLL RTL 4690 010354 7530 SPA SZL 4691 010355 4425 ERR040, OERROR /OVERFLOW 4692 010356 1043 TAD ACSIGN 4693 010357 1050 TAD AC1 /FORM WORD 4694 010360 5747 JMP I HIGHWD 4695 4696 010361 7330 FPNT4, L4000 4697 010362 1042 TAD OPSIGN 4698 010363 3042 DCA OPSIGN 4699 010364 4571 JMS I [OCTADD 4700 010365 1050 TAD AC1 4701 010366 7450 SNA 4702 010367 1047 TAD AC2 4703 010370 7640 SZA CLA 4704 010371 5206 JMP FLOOP /NOT ZERO 4705 010372 1046 TAD AC3 4706 010373 0170 AND [7774 4707 010374 7640 SZA CLA 4708 010375 5206 JMP FLOOP /NOT ZERO 4709 010376 5567 JMP I [MULCLR /CALL IT ZERO 4710 4711 PAGE 4712 010400 0000 AR1, 0 4713 010401 1050 TAD AC1 4714 010402 7110 CLL RAR 4715 010403 3050 DCA AC1 4716 010404 1047 TAD AC2 4717 010405 7010 RAR 4718 010406 3047 DCA AC2 4719 010407 1046 TAD AC3 4720 010410 7010 RAR 4721 010411 3046 DCA AC3 4722 010412 7010 RAR 4723 010413 3054 DCA OVER 4724 010414 5600 JMP I AR1 4725 4726 010415 0000 ACN, 0 4727 010416 1377 TAD (OP3 4728 010417 3234 DCA OADD 4729 010420 7346 L7775 4730 010421 3200 DCA AR1 4731 010422 6211 CDF SWAP /MAKE SURE 4732 010423 1634 TAD I OADD 4733 010424 7040 CMA 4734 010425 7430 SZL 4735 010426 7101 CLL IAC 4736 010427 3634 DCA I OADD 4737 010430 2234 ISZ OADD 4738 010431 2200 ISZ AR1 4739 010432 5223 JMP .-7 4740 010433 5615 JMP I ACN 4741 4742 010434 0000 OADD, 0 4743 010435 7100 CLL 4744 010436 1046 TAD AC3 4745 010437 1051 TAD OP3 4746 010440 3046 DCA AC3 4747 010441 7004 RAL 4748 010442 1047 TAD AC2 4749 010443 1052 TAD OP2 4750 010444 3047 DCA AC2 4751 010445 7004 RAL 4752 010446 1050 TAD AC1 4753 010447 1053 TAD OP1 4754 010450 3050 DCA AC1 4755 010451 5634 JMP I OADD 4756 4757 010452 7330 FPSUB, L4000 4758 010453 1042 TAD OPSIGN 4759 010454 3042 DCA OPSIGN 4760 010455 4257 FPADD, JMS OCTADD 4761 010456 5566 JMP I [FLOOP 4762 4763 010457 0000 OCTADD, 0 4764 010460 2055 ISZ FFLAG 4765 010461 5657 JMP I OCTADD 4766 010462 1045 TAD ACEXP 4767 010463 7141 CLL CIA 4768 010464 1044 TAD OPEXP 4769 010465 7430 SZL 4770 010466 5304 JMP BCKWDS 4771 010467 3234 DCA OADD 4772 010470 1053 ALGNLP, TAD OP1 4773 010471 7110 CLL RAR 4774 010472 3053 DCA OP1 4775 010473 1052 TAD OP2 4776 010474 7010 RAR 4777 010475 3052 DCA OP2 4778 010476 1051 TAD OP3 4779 010477 7010 RAR 4780 010500 3051 DCA OP3 4781 010501 2234 ISZ OADD 4782 010502 5270 JMP ALGNLP 4783 010503 5314 JMP SETSGN 4784 4785 010504 7040 BCKWDS, CMA 4786 010505 3234 DCA OADD 4787 010506 1044 TAD OPEXP 4788 010507 3045 DCA ACEXP 4789 010510 7410 SKP 4790 010511 4200 JMS AR1 4791 010512 2234 ISZ OADD 4792 010513 5311 JMP .-2 4793 010514 1043 SETSGN, TAD ACSIGN 4794 010515 1042 TAD OPSIGN 4795 010516 7710 SPA CLA 4796 010517 4215 JMS ACN 4797 010520 4234 JMS OADD 4798 010521 1050 TAD AC1 4799 010522 7700 SMA CLA 4800 010523 5657 JMP I OCTADD 4801 010524 7346 L7775 4802 010525 4215 JMS ACN 4803 010526 1042 TAD OPSIGN 4804 010527 3043 DCA ACSIGN 4805 010530 5657 JMP I OCTADD 4806 4807 010531 2055 FPMUL, ISZ FFLAG 4808 010532 5371 JMP MULCLR 4809 010533 1043 TAD ACSIGN 4810 010534 1042 TAD OPSIGN 4811 010535 3043 DCA ACSIGN 4812 010536 1045 TAD ACEXP 4813 010537 1044 TAD OPEXP 4814 010540 1376 TAD (-201 4815 010541 3045 DCA ACEXP 4816 010542 1050 TAD AC1 4817 010543 3042 DCA OPSIGN 4818 010544 1047 TAD AC2 4819 010545 3044 DCA OPEXP 4820 010546 1046 TAD AC3 4821 010547 3057 DCA TEMPX 4822 010550 1375 TAD (-33 4823 010551 3005 DCA OCNTR 4824 010552 4200 MPYLUP, JMS AR1 4825 010553 1042 TAD OPSIGN 4826 010554 7010 RAR 4827 010555 3042 DCA OPSIGN 4828 010556 1044 TAD OPEXP 4829 010557 7010 RAR 4830 010560 3044 DCA OPEXP 4831 010561 1057 TAD TEMPX 4832 010562 7010 RAR 4833 010563 3057 DCA TEMPX 4834 010564 7430 SZL 4835 010565 4234 JMS OADD 4836 010566 2005 ISZ OCNTR 4837 010567 5352 JMP MPYLUP 4838 010570 5566 JMP I [FLOOP 4839 4840 010571 3050 MULCLR, DCA AC1 4841 010572 4774 JMS I (NFIX 4842 010573 5566 JMP I [FLOOP 4843 4844 010574 0730 PAGE 010575 7745 010576 7577 010577 0051 4845 010600 0000 FNORM, 0 4846 010601 3054 DCA OVER 4847 010602 1050 TAD AC1 4848 010603 1235 TAD KM10 4849 010604 7710 SPA CLA 4850 010605 5211 JMP NOTBIG 4851 010606 4565 JMS I [AR1 4852 010607 2045 ISZ ACEXP 4853 010610 5202 JMP FNORM+2 4854 010611 1054 NOTBIG, TAD OVER 4855 010612 7700 SMA CLA 4856 010613 5223 JMP NOBUMP 4857 010614 2046 ISZ AC3 4858 010615 5223 JMP NOBUMP 4859 010616 2047 ISZ AC2 4860 010617 5223 JMP NOBUMP 4861 010620 2050 ISZ AC1 4862 010621 5201 JMP FNORM+1 4863 4864 010622 7340 L7777 4865 010623 1045 NOBUMP, TAD ACEXP 4866 010624 7510 SPA 4867 010625 5235 JMP UNDERF /UNDERFLOW OR ZERO 4868 010626 3045 DCA ACEXP 4869 010627 7346 L7775 4870 010630 1050 TAD AC1 4871 010631 7740 SMA SZA CLA 4872 010632 5600 JMP I FNORM 4873 010633 4247 JMS AL1 4874 010634 5222 JMP NOBUMP-1 4875 4876 KM10=. 4877 010635 7770 UNDERF, SPA SNA SZL CLA 4878 010636 1050 TAD AC1 4879 010637 7450 SNA 4880 010640 1047 TAD AC2 4881 010641 7450 SNA 4882 010642 1046 TAD AC3 4883 010643 7640 SZA CLA 4884 010644 4425 ERR050, OERROR /UNDERFLOW 4885 010645 4330 JMS NFIX 4886 010646 5600 JMP I FNORM 4887 4888 010647 0000 AL1, 0 4889 010650 1046 TAD AC3 4890 010651 7104 CLL RAL 4891 010652 3046 DCA AC3 4892 010653 1047 TAD AC2 4893 010654 7004 RAL 4894 010655 3047 DCA AC2 4895 010656 1050 TAD AC1 4896 010657 7004 RAL 4897 010660 3050 DCA AC1 4898 010661 5647 JMP I AL1 4899 4900 010662 2055 FPDIV, ISZ FFLAG 4901 010663 4425 ERR030, OERROR 4902 010664 1043 TAD ACSIGN 4903 010665 1042 TAD OPSIGN 4904 010666 3043 DCA ACSIGN 4905 010667 1044 TAD OPEXP 4906 010670 7041 CIA 4907 010671 1045 TAD ACEXP 4908 010672 1174 TAD [177 4909 010673 3045 DCA ACEXP 4910 010674 3005 DCA OCNTR 4911 010675 1377 TAD (-35 4912 010676 3200 DCA FNORM 4913 010677 7330 DIVLP, L4000 4914 010700 0053 AND OP1 4915 010701 1050 TAD AC1 4916 010702 7700 SMA CLA 4917 010703 4776 JMS I (ACN 4918 010704 4775 JMS I (OADD 4919 010705 1005 TAD OCNTR 4920 010706 7004 RAL 4921 010707 3005 DCA OCNTR 4922 010710 1044 TAD OPEXP 4923 010711 7004 RAL 4924 010712 3044 DCA OPEXP 4925 010713 1042 TAD OPSIGN 4926 010714 7004 RAL 4927 010715 3042 DCA OPSIGN 4928 010716 4247 JMS AL1 4929 010717 2200 ISZ FNORM 4930 010720 5277 JMP DIVLP 4931 010721 1042 TAD OPSIGN 4932 010722 3050 DCA AC1 4933 010723 1044 TAD OPEXP 4934 010724 3047 DCA AC2 4935 010725 1005 TAD OCNTR 4936 010726 3046 DCA AC3 4937 010727 5566 JMP I [FLOOP 4938 4939 010730 0000 NFIX, 0 4940 010731 1050 TAD AC1 4941 010732 7650 SNA CLA 4942 010733 5343 JMP ZFIXEX 4943 010734 1045 FIXLUP, TAD ACEXP 4944 010735 1374 TAD (-233 4945 010736 7700 SMA CLA 4946 010737 5350 JMP FIXEXT 4947 010740 4565 JMS I [AR1 4948 010741 2045 ISZ ACEXP 4949 010742 5334 JMP FIXLUP 4950 010743 3045 ZFIXEX, DCA ACEXP 4951 010744 3043 DCA ACSIGN 4952 010745 3050 DCA AC1 4953 010746 3047 DCA AC2 4954 010747 3046 DCA AC3 4955 010750 1046 FIXEXT, TAD AC3 4956 010751 5730 JMP I NFIX 4957 4958 010752 0000 MULT10, 0 4959 010753 4247 JMS AL1 4960 010754 1046 TAD AC3 4961 010755 3051 DCA OP3 4962 010756 1047 TAD AC2 4963 010757 3052 DCA OP2 4964 010760 1050 TAD AC1 4965 010761 3053 DCA OP1 4966 010762 4247 JMS AL1 4967 010763 4247 JMS AL1 4968 010764 4775 JMS I (OADD 4969 010765 5752 JMP I MULT10 4970 4971 010766 1544 FIXCON, 1544 4972 010767 1433 1433 4973 010770 6750 6750 4974 010771 0522 LIST7, 12^40+22 4975 010772 1360 LIST70 4976 010773 2021 -"O+337^100-"N+337 4977 4978 010774 7545 PAGE 010775 0434 010776 0415 010777 7743 4979 011000 0000 OFLIN, 0 4980 011001 1164 TAD [-11 4981 011002 3302 DCA DNUMBR 4982 011003 4303 JMS DECONV 4983 011004 4440 TADCHR 4984 011005 1163 TAD [-".+200 4985 011006 7640 SZA CLA 4986 011007 5217 JMP FIGO1 4987 4988 011010 4426 OGETC 4989 011011 1302 TAD DNUMBR 4990 011012 3010 DCA FXR1 4991 011013 4324 JMS DECON 4992 011014 1302 TAD DNUMBR 4993 011015 7041 CIA 4994 011016 1010 TAD FXR1 4995 4996 011017 3010 FIGO1, DCA FXR1 4997 011020 1345 TAD C233 4998 011021 3045 DCA ACEXP 4999 011022 4407 FINT 5000 011023 6010 FNOR 5001 011024 7562 FPUT I [OTEMP 5002 011025 0000 FEXT 5003 011026 1302 TAD DNUMBR 5004 011027 1161 TAD [11 5005 011030 7650 SNA CLA 5006 011031 4425 ERR150, OERROR 5007 011032 4440 TADCHR 5008 011033 1160 TAD [-"E+200 5009 011034 7640 SZA CLA 5010 011035 5255 JMP FIGO2 5011 5012 011036 4426 OGETC 5013 011037 7346 L7775 5014 011040 3302 DCA DNUMBR 5015 011041 4303 JMS DECONV 5016 011042 7326 L0002 5017 011043 1302 TAD DNUMBR 5018 011044 7710 SPA CLA 5019 011045 5231 JMP .-14 5020 011046 1043 TAD ACSIGN 5021 011047 7104 CLL RAL 5022 011050 1046 TAD AC3 5023 011051 7430 SZL 5024 011052 7041 CIA 5025 011053 1010 TAD FXR1 5026 011054 3010 DCA FXR1 5027 5028 011055 4407 FIGO2, FINT 5029 011056 0562 FGET I [OTEMP 5030 011057 0000 FEXT 5031 011060 1010 TAD FXR1 5032 011061 7450 SNA 5033 011062 5300 JMP FLINGO 5034 5035 011063 7710 SPA CLA 5036 011064 5271 JMP FIGO4 5037 011065 1010 TAD FXR1 5038 011066 7041 CIA 5039 011067 3010 DCA FXR1 5040 011070 1326 TAD M1000 5041 5042 011071 1156 FIGO4, TAD [FDIV I [TEN 5043 011072 3274 DCA .+2 5044 011073 4407 FIGO3, FINT 5045 011074 7402 HLT 5046 011075 0000 FEXT 5047 011076 2010 ISZ FXR1 5048 011077 5273 JMP FIGO3 5049 011100 6203 FLINGO, CIF CDF 5050 011101 5600 JMP I OFLIN 5051 5052 011102 0000 DNUMBR, 0 5053 011103 0000 DECONV, 0 5054 011104 3046 DCA AC3 5055 011105 3047 DCA AC2 5056 011106 3050 DCA AC1 5057 011107 3043 DCA ACSIGN 5058 011110 4440 TADCHR 5059 011111 1155 TAD [-"++200 5060 011112 7450 SNA 5061 011113 5321 JMP .+6 5062 011114 7112 CLL RTR 5063 011115 7640 SZA CLA 5064 011116 5322 JMP .+4 5065 011117 7330 L4000 5066 011120 3043 DCA ACSIGN 5067 011121 4426 OGETC 5068 011122 4324 JMS DECON 5069 011123 5703 JMP I DECONV 5070 5071 011124 0000 DECON, 0 5072 011125 4427 OTESTN 5073 011126 7000 M1000, NOP 5074 011127 5724 JMP I DECON 5075 011130 4554 JMS I [MULT10 5076 011131 3053 DCA OP1 5077 011132 3052 DCA OP2 5078 011133 4440 TADCHR 5079 011134 1153 TAD [-60 5080 011135 3051 DCA OP3 5081 011136 4552 JMS I [OADD 5082 011137 4426 OGETC 5083 011140 2302 ISZ DNUMBR 5084 011141 5325 JMP DECON+1 5085 011142 4425 ERR160, OERROR 5086 5087 011143 0000 OGETLN, 0 5088 011144 4427 OTESTN 5089 011145 0233 C233, 233 5090 011146 4425 ERR370, OERROR 5091 011147 1151 TAD [-6 5092 011150 3302 DCA DNUMBR 5093 011151 4303 JMS DECONV 5094 011152 1047 TAD AC2 5095 011153 7640 SZA CLA 5096 011154 5346 JMP OGETLN+3 5097 011155 1046 TAD AC3 5098 011156 7550 SPA SNA 5099 011157 5346 JMP OGETLN+3 5100 011160 6201 CDF 5101 011161 3550 DCA I [LINENO 5102 011162 1550 TAD I [LINENO 5103 011163 7001 IAC 5104 011164 7710 SPA CLA 5105 011165 5346 JMP OGETLN+3 5106 011166 6203 CIF CDF 5107 011167 5743 JMP I OGETLN 5108 5109 011170 0000 OPRINC, 0 5110 011171 6203 CIF CDF 5111 011172 4777 JMS I (XPRT1 5112 011173 5770 JMP I OPRINC 5113 5114 011174 4104 XGETL2, XGET5-1 /CR 5115 011175 4101 XGET4-1 /BELL 5116 011176 4075 XGET3-1 /SPACE 5117 5118 5119 011177 4765 PAGE 5120 011200 0000 OFLOUT, 0 5121 011201 1043 TAD ACSIGN 5122 011202 7710 SPA CLA 5123 011203 1377 TAD (55-40 5124 011204 1147 TAD [40 5125 011205 4424 OPRINTC 5126 011206 1050 TAD AC1 5127 011207 7640 SZA CLA 5128 011210 5214 JMP FOGO1 5129 011211 1376 TAD (60 5130 011212 4424 OPRINTC 5131 011213 5300 JMP FLOXIT 5132 5133 011214 4775 FOGO1, JMS I (FIXUP 5134 011215 1374 TAD (-7 5135 011216 3005 DCA OCNTR 5136 011217 1373 TAD (NUMBUF-1 5137 011220 3010 DCA FXR1 5138 011221 5226 JMP .+5 5139 5140 011222 1050 FOGO2, TAD AC1 5141 011223 0174 AND [177 5142 011224 3050 DCA AC1 5143 011225 4772 JMS I (MULT10 5144 011226 1050 TAD AC1 5145 011227 7106 CLL RTL 5146 011230 7006 RTL 5147 011231 7006 RTL 5148 011232 0371 AND (17 5149 011233 1376 TAD (60 5150 011234 3410 DCA I FXR1 5151 011235 2005 ISZ OCNTR 5152 011236 5222 JMP FOGO2 5153 5154 011237 1373 TAD (NUMBUF-1 5155 011240 3010 DCA FXR1 5156 011241 7326 L0002 5157 011242 1773 TAD I (DECEXP 5158 011243 7450 SNA 5159 011244 5302 JMP FOGO4 5160 011245 7510 SPA 5161 011246 5252 JMP FOGO3 5162 011247 1370 TAD (-10 5163 011250 7710 SPA CLA 5164 011251 5306 JMP FOGO5 5165 011252 7200 FOGO3, CLA 5166 011253 1410 TAD I FXR1 5167 011254 4424 OPRINTC 5168 011255 1367 TAD (".-200 5169 011256 4424 OPRINTC 5170 011257 1151 TAD [-6 5171 011260 3005 DCA OCNTR 5172 011261 1410 TAD I FXR1 5173 011262 4424 OPRINTC 5174 011263 2005 ISZ OCNTR 5175 011264 5261 JMP .-3 5176 011265 1366 TAD ("E-200 5177 011266 4424 OPRINTC 5178 011267 1773 TAD I (DECEXP 5179 011270 7710 SPA CLA 5180 011271 7326 L0002 5181 011272 1365 TAD ("+-200 5182 011273 4424 OPRINTC 5183 011274 1773 TAD I (DECEXP 5184 011275 7510 SPA 5185 011276 7041 CIA 5186 011277 2200 ISZ OFLOUT 5187 011300 6203 FLOXIT, CIF CDF 5188 011301 5600 JMP I OFLOUT 5189 5190 011302 1367 FOGO4, TAD (".-200 5191 011303 4424 OPRINTC 5192 011304 1376 TAD (60 5193 011305 4424 OPRINTC 5194 011306 1374 FOGO5, TAD (-7 5195 011307 3005 DCA OCNTR 5196 011310 1364 TAD (NUMBUF+6 5197 011311 3057 FOGO6, DCA TEMPX 5198 011312 1457 TAD I TEMPX 5199 011313 1153 TAD [-60 5200 011314 7640 SZA CLA 5201 011315 5322 JMP FOGO7 5202 011316 2005 ISZ OCNTR 5203 011317 7340 L7777 5204 011320 1057 TAD TEMPX 5205 011321 5311 JMP FOGO6 5206 5207 011322 1773 FOGO7, TAD I (DECEXP 5208 011323 1005 TAD OCNTR 5209 011324 7710 SPA CLA 5210 011325 5331 JMP .+4 5211 011326 1773 TAD I (DECEXP 5212 011327 7040 CMA 5213 011330 3005 DCA OCNTR 5214 011331 7344 L7776 5215 011332 7040 FOGO8, CMA 5216 011333 1773 TAD I (DECEXP 5217 011334 7440 SZA 5218 011335 5340 JMP .+3 5219 011336 1367 TAD (".-200 5220 011337 4424 OPRINTC 5221 011340 3773 DCA I (DECEXP 5222 011341 1410 TAD I FXR1 5223 011342 4424 OPRINTC 5224 011343 2005 ISZ OCNTR 5225 011344 5332 JMP FOGO8 5226 011345 5300 JMP FLOXIT 5227 5228 011346 2045 TEN, 2045 5229 011347 0000 0 5230 011350 0000 0 5231 5232 011351 2230 MODL2, MODF5-1 /CR 5233 011352 2206 MODF2-1 /BELL 5234 011353 2222 MODF4-1 /RUBOUT 5235 011354 2222 MODF4-1 /_ 5236 011355 2213 MODF1 /CHAR 5237 011356 2212 MODF1-1 /FORM 5238 011357 2210 MODF3-1 /LINE FEED 5239 011360 0574 LIST70, 13^40+34 5240 011361 2552 LIST71 5241 011362 1413 337-"S^100-"T+337 5242 011363 2017 337-"O^100-"P+337 5243 5244 5245 011364 1543 PAGE 011365 0053 011366 0105 011367 0056 011370 7770 011371 0017 011372 0752 011373 1534 011374 7771 011375 1400 011376 0060 011377 0015 5246 011400 0000 FIXUP, 0 5247 011401 1045 TAD ACEXP 5248 011402 1204 TAD .+2 5249 011403 3045 DCA ACEXP 5250 011404 7610 CLA SKP /THIS IS 7610 OR -170 5251 5252 011405 1334 FIXUP4, TAD DECEXP 5253 011406 3334 DCA DECEXP 5254 011407 1050 FIXUP1, TAD AC1 5255 011410 7006 RTL 5256 011411 7630 SZL CLA 5257 011412 5230 JMP FIXUP2 5258 011413 4620 JMS I PAL1 5259 011414 7340 L7777 5260 011415 1045 TAD ACEXP 5261 011416 3045 DCA ACEXP 5262 011417 5207 JMP FIXUP1 5263 011420 0647 PAL1, AL1 5264 011421 5400 K5400, 5400 5265 011422 2166 K2166, 2166 5266 011423 7773 KM5, -5 5267 011424 0377 K377, 377 5268 011425 0752 PMULT10, MULT10 5269 011426 0766 PFIXCON, FIXCON 5270 011427 0730 PNFIX, NFIX 5271 5272 011430 1045 FIXUP2, TAD ACEXP 5273 011431 7740 KM40, SMA SZA CLA 5274 011432 5245 JMP FIXUP3 5275 011433 4565 JMS I [AR1 5276 011434 4565 JMS I [AR1 5277 011435 4565 JMS I [AR1 5278 011436 4565 JMS I [AR1 5279 011437 4625 JMS I PMULT10 5280 011440 1045 TAD ACEXP 5281 011441 1332 TAD FIXC4 5282 011442 3045 DCA ACEXP 5283 011443 7340 L7777 5284 011444 5205 JMP FIXUP4 5285 5286 011445 1045 FIXUP3, TAD ACEXP 5287 011446 1223 TAD KM5 5288 011447 7510 SPA 5289 011450 5301 JMP FIXUP5 5290 011451 7300 FIXUP7, CLL CLA 5291 011452 1231 TAD KM40 5292 011453 3005 DCA OCNTR 5293 011454 1050 FIXUP8, TAD AC1 5294 011455 1221 TAD K5400 5295 011456 7500 SMA 5296 011457 3050 DCA AC1 5297 011460 7200 CLA 5298 011461 1046 TAD AC3 5299 011462 7004 RAL 5300 011463 3046 DCA AC3 5301 011464 1047 TAD AC2 5302 011465 7004 RAL 5303 011466 3047 DCA AC2 5304 011467 1050 TAD AC1 5305 011470 7004 RAL 5306 011471 3050 DCA AC1 5307 011472 2005 ISZ OCNTR 5308 011473 5254 JMP FIXUP8 5309 011474 1050 TAD AC1 5310 011475 0224 AND K377 5311 011476 3050 DCA AC1 5312 011477 7301 L0001 5313 011500 5205 JMP FIXUP4 5314 5315 011501 3005 FIXUP5, DCA OCNTR 5316 011502 7410 SKP 5317 011503 4565 JMS I [AR1 5318 011504 2005 ISZ OCNTR 5319 011505 5303 JMP .-2 5320 011506 1050 TAD AC1 5321 011507 1221 TAD K5400 5322 011510 7700 SMA CLA 5323 011511 5251 JMP FIXUP7 5324 011512 7100 CLL 5325 011513 1222 TAD K2166 5326 011514 1046 TAD AC3 5327 011515 3046 DCA AC3 5328 011516 7430 SZL 5329 011517 2047 ISZ AC2 5330 011520 7410 SKP 5331 011521 2050 ISZ AC1 5332 011522 1050 TAD AC1 5333 011523 1221 TAD K5400 5334 011524 7640 SZA CLA 5335 011525 5600 JMP I FIXUP 5336 5337 011526 1175 TAD [200 5338 011527 3050 DCA AC1 5339 011530 3046 DCA AC3 5340 011531 2334 ISZ DECEXP 5341 011532 0004 FIXC4, 4 5342 011533 5600 JMP I FIXUP 5343 5344 011534 0000 DECEXP, 0 5345 5346 011535 0000 NUMBUF, ZBLOCK 7 011536 0000 011537 0000 011540 0000 011541 0000 011542 0000 011543 0000 5347 5348 FATNC=NUMBUF 5349 OTEMP=NUMBUF+3 5350 011544 0000 FIX2, 0 5351 011545 4407 FINT 5352 011546 6150 FSLE 5353 011547 1626 FADD I PFIXCON 5354 011550 6100 FSGE 5355 011551 2626 FSUB I PFIXCON 5356 011552 0000 FEXT 5357 011553 4627 JMS I PNFIX 5358 011554 7110 CLL RAR 5359 011555 1043 TAD ACSIGN 5360 011556 7004 RAL 5361 011557 7430 SZL 5362 011560 7041 CIA 5363 011561 3200 DCA FIXUP 5364 011562 7100 CLL 5365 011563 1050 TAD AC1 5366 011564 7450 SNA 5367 011565 1047 TAD AC2 5368 011566 7640 SZA CLA 5369 011567 7120 CLL CML 5370 011570 1200 TAD FIXUP 5371 011571 5744 JMP I FIX2 5372 5373 011572 0775 LIST75, 17^40+35 5374 011573 4203 LIST76 5375 011574 3020 337-"G^100-"O+337 5376 011575 1412 337-"S^100-"U+337 5377 011576 3500 337-"B^100 5378 IFNZRO .-1577 5379 5380 011577 4407 OSQR, FINT 5381 011600 7335 FPUT FSINZ 5382 011601 6040 FSNE 5383 011602 5234 FJMP SQEXIT 5384 011603 0000 FEXT 5385 011604 1043 TAD ACSIGN 5386 011605 7710 SPA CLA 5387 011606 4425 ERR020, OERROR 5388 011607 1045 TAD ACEXP 5389 011610 1365 TAD KK7600 5390 011611 7100 CLL 5391 011612 7510 SPA 5392 011613 7020 CML 5393 011614 7010 RAR 5394 011615 1175 TAD [200 5395 011616 3045 DCA ACEXP 5396 011617 1366 TAD KKM10 5397 011620 3236 DCA SQCNT 5398 011621 4407 SQLOOP, FINT 5399 011622 7340 FPUT FSINZZ 5400 011623 0335 FGET FSINZ 5401 011624 4340 FDIV FSINZZ 5402 011625 1340 FADD FSINZZ 5403 011626 0000 FEXT 5404 011627 7340 L7777 5405 011630 1045 TAD ACEXP 5406 011631 3045 DCA ACEXP 5407 011632 2236 ISZ SQCNT 5408 011633 5221 JMP SQLOOP 5409 011634 0000 SQEXIT, FEXT 5410 011635 5430 OPOPJ 5411 5412 011636 0000 SQCNT, 0 5413 011637 4407 OTAN, FINT 5414 011640 7767 FPUT I POTEMP 5415 011641 0000 FEXT 5416 011642 4431 OPUSHJ 5417 011643 5464 COS 5418 011644 4407 FINT 5419 011645 7770 FPUT I PFATNC 5420 011646 0767 FGET I POTEMP 5421 011647 0000 FEXT 5422 011650 4431 OPUSHJ 5423 011651 5465 FSIN 5424 011652 4407 FINT 5425 011653 4770 FDIV I PFATNC 5426 011654 0000 FEXT 5427 011655 5430 OPOPJ 5428 5429 011656 4407 OCOS, FINT 5430 011657 1362 FADD FSINC7 5431 011660 6000 FSKP 5432 011661 4407 OFSIN, FINT 5433 011662 4343 FDIV FSINC1 5434 011663 7335 FPUT FSINZ 5435 011664 0000 FEXT 5436 011665 4431 OPUSHJ 5437 011666 5461 FFIX 5438 011667 7330 L4000 5439 011670 1043 TAD ACSIGN 5440 011671 3043 DCA ACSIGN 5441 011672 4407 FINT 5442 011673 1335 FADD FSINZ 5443 011674 0000 FEXT 5444 011675 2045 ISZ ACEXP 5445 011676 2045 ISZ ACEXP 5446 011677 4407 FINT 5447 011700 7335 FSINXX, FPUT FSINZ 5448 011701 0000 FEXT 5449 011702 3043 DCA ACSIGN 5450 011703 4407 FINT 5451 011704 2371 FSUB OFLTONE 5452 011705 6140 FSGT 5453 011706 5317 FJMP FSINOK 5454 011707 0335 FGET FSINZ 5455 011710 0000 FEXT 5456 011711 4431 OPUSHJ 5457 011712 5007 SGN 5458 011713 2045 ISZ ACEXP 5459 011714 4407 FINT 5460 011715 2335 FSUB FSINZ 5461 011716 5300 FJMP FSINXX 5462 011717 0335 FSINOK, FGET FSINZ 5463 011720 3335 FMUL FSINZ 5464 011721 7340 FPUT FSINZZ 5465 011722 3346 FMUL FSINC3 5466 011723 1351 FADD FSINC4 5467 011724 3340 FMUL FSINZZ 5468 011725 1354 FADD FSINC5 5469 011726 3340 FMUL FSINZZ 5470 011727 1357 FADD FSINC6 5471 011730 3340 FMUL FSINZZ 5472 011731 1362 FADD FSINC7 5473 011732 3335 FMUL FSINZ 5474 011733 0000 FEXT 5475 011734 5430 OPOPJ 5476 5477 011735 0000 FSINZ, 0;0;0 011736 0000 011737 0000 5478 011740 0000 FSINZZ, 0;0;0 011741 0000 011742 0000 5479 011743 2036 FSINC1, 2036;2207;7325 011744 2207 011745 7325 5480 011746 1644 FSINC3, 1644;7553;6722 011747 7553 011750 6722 5481 011751 5714 FSINC4, 5714;6223;1423 011752 6223 011753 1423 5482 011754 1755 FSINC5, 1755;632;1276 011755 0632 011756 1276 5483 011757 6005 FSINC6, 6005;1256;7406 011760 1256 011761 7406 5484 011762 2016 FSINC7, 2016;2207;7325 011763 2207 011764 7325 5485 5486 011765 7600 KK7600, 7600 5487 011766 7770 KKM10, -10 5488 011767 1540 POTEMP, OTEMP 5489 011770 1535 PFATNC, FATNC 5490 011771 2014 OFLTONE, 2014 5491 011772 0000 OFLZERO, 0 5492 011773 0000 0 5493 011774 0000 0 5494 011775 0175 ALT, 175 5495 011776 0176 176 5496 011777 0033 33 5497 5498 012000 4407 OFEXP, FINT 5499 012001 4257 FDIV FEXPC1 5500 012002 7777 FPUT I (FEXPU 5501 012003 0000 FEXT 5502 012004 4431 OPUSHJ 5503 012005 5460 INT 5504 012006 7330 L4000 5505 012007 1043 TAD ACSIGN 5506 012010 3043 DCA ACSIGN 5507 012011 4407 FINT 5508 012012 7254 FPUT FEXPI 5509 012013 1777 FADD I (FEXPU 5510 012014 7776 FPUT I (FEXPF 5511 012015 3776 FMUL I (FEXPF 5512 012016 1262 FADD FEXPC2 5513 012017 7777 FPUT I (FEXPU 5514 012020 0254 FGET FEXPI 5515 012021 0000 FEXT 5516 012022 4775 JMS I (FIX2 5517 012023 7041 CIA 5518 012024 7001 IAC 5519 012025 3254 DCA FEXPI 5520 012026 4407 FINT 5521 012027 0265 FGET FEXPC3 5522 012030 4777 FDIV I (FEXPU 5523 012031 1270 FADD FEXPC4 5524 012032 2776 FSUB I (FEXPF 5525 012033 7777 FPUT I (FEXPU 5526 012034 0776 FGET I (FEXPF 5527 012035 3776 FMUL I (FEXPF 5528 012036 3273 FMUL FEXPC5 5529 012037 1777 FADD I (FEXPU 5530 012040 7777 FPUT I (FEXPU 5531 012041 0776 FGET I (FEXPF 5532 012042 4777 FDIV I (FEXPU 5533 012043 1276 FADD FEXPC6 5534 012044 0000 FEXT 5535 012045 1045 TAD ACEXP 5536 012046 1254 TAD FEXPI 5537 012047 3045 DCA ACEXP 5538 012050 4407 FINT 5539 012051 6010 FNOR 5540 012052 0000 FEXT 5541 012053 5430 OPOPJ 5542 5543 012054 0000 FEXPI, 0;0;0 012055 0000 012056 0000 5544 FEXPU=FSINZ 5545 FEXPF=FSINZZ 5546 012057 2005 FEXPC1, 2005;4271;300 012060 4271 012061 0300 5547 012062 2075 FEXPC2, 2075;3552;7022 012063 3552 012064 7022 5548 012065 6124 FEXPC3, 6124;6477;715 012066 6477 012067 0715 5549 012070 2044 FEXPC4, 2044;7643;62 012071 7643 012072 0062 5550 012073 1744 FEXPC5, 1744;3372;3400 012074 3372 012075 3400 5551 012076 2004 FEXPC6, 2004;0;0 012077 0000 012100 0000 5552 012101 4767 OLOG, JMS I PHIGHWD 5553 012102 7750 SPA SNA CLA 5554 012103 4425 ERR010, OERROR 5555 012104 1045 TAD ACEXP 5556 012105 3354 DCA LOGEXP 5557 012106 1357 TAD L200 5558 012107 3045 DCA ACEXP 5559 012110 4407 FINT 5560 012111 7777 FPUT I (FEXPU 5561 012112 1337 FADD FLOGC1 5562 012113 7776 FPUT I (FEXPF 5563 012114 0777 FGET I (FEXPU 5564 012115 2337 FSUB FLOGC1 5565 012116 4776 FDIV I (FEXPF 5566 012117 7776 FPUT I (FEXPF 5567 012120 3776 FMUL I (FEXPF 5568 012121 3342 FMUL FLOGC2 5569 012122 1345 FADD FLOGC3 5570 012123 3776 FMUL I (FEXPF 5571 012124 3776 FMUL I (FEXPF 5572 012125 1350 FADD FLOGC4 5573 012126 3776 FMUL I (FEXPF 5574 012127 2276 FSUB FEXPC6 5575 012130 7776 FPUT I (FEXPF 5576 012131 0353 FGET LOGFWD 5577 012132 2356 FSUB LOGOKW 5578 012133 1776 FADD I (FEXPF 5579 012134 3257 FMUL FEXPC1 5580 012135 0000 FEXT 5581 012136 5430 OPOPJ 5582 5583 012137 2005 FLOGC1, 2005;5202;3632 012140 5202 012141 3632 5584 012142 2004 FLOGC2, 2004;6253;2521 012143 6253 012144 2521 5585 012145 2007 FLOGC3, 2007;5421;3604 012146 5421 012147 3604 5586 012150 2025 FLOGC4, 2025;6125;1007 012151 6125 012152 1007 5587 012153 2174 LOGFWD, 2174 5588 012154 0000 LOGEXP, 0 5589 012155 0000 0 5590 012156 2174 LOGOKW, 2174 5591 012157 0200 L200, 200 5592 012160 0000 0 5593 5594 012161 0000 FIX1, 0 /FIELD 0 'INTEGER' 5595 012162 4770 JMS I PFIX2 5596 012163 6203 CIF CDF 5597 012164 5761 JMP I FIX1 5598 5599 012165 2230 MODL1, MODF5-1 /CR 5600 012166 2220 MODF1+5 /BELL 5601 012167 0347 PHIGHWD,HIGHWD /RUBOUT 5602 012170 1544 PFIX2, FIX2 /_ 5603 012171 2222 MODF4-1 /CHAR 5604 5605 012175 1544 PAGE 012176 1740 012177 1735 5606 012200 0000 ATNSGN, 0 5607 5608 012201 1043 OATN, TAD ACSIGN 5609 012202 3200 DCA ATNSGN 5610 012203 3043 DCA ACSIGN 5611 012204 4407 FINT 5612 012205 7777 FPUT I (FATNT 5613 012206 7776 FPUT I (FATNAX 5614 012207 2275 FSUB FATNC1 5615 012210 6140 FSGT 5616 012211 5265 FJMP ATNBIG 5617 012212 2300 FSUB FATNC2 5618 012213 6140 FSGT 5619 012214 5220 FJMP ATNLOW 5620 012215 0775 FGET I (OFLTONE 5621 012216 4777 FDIV I (FATNT 5622 012217 7777 FPUT I (FATNT 5623 012220 0774 ATNLOW, FGET I (OFLZERO 5624 012221 7773 FPUT I (FATNC 5625 012222 0777 FGET I (FATNT 5626 012223 2303 FSUB FATNC3 5627 012224 6100 FSGE 5628 012225 5237 FJMP ATNNOT 5629 012226 0777 FGET I (FATNT 5630 012227 1306 FADD FATNC4 5631 012230 7777 FPUT I (FATNT 5632 012231 0272 FGET FATNCJ 5633 012232 4777 FDIV I (FATNT 5634 012233 1306 FADD FATNC4 5635 012234 7777 FPUT I (FATNT 5636 012235 0311 FGET FATNC5 5637 012236 7773 FPUT I (FATNC 5638 012237 0777 ATNNOT, FGET I (FATNT 5639 012240 3777 FMUL I (FATNT 5640 012241 7772 FPUT I (FATNTT 5641 012242 0314 FGET FATNC6 5642 012243 3772 FMUL I (FATNTT 5643 012244 1317 FADD FATNC7 5644 012245 3772 FMUL I (FATNTT 5645 012246 1322 FADD FATNC8 5646 012247 3772 FMUL I (FATNTT 5647 012250 1325 FADD FATNC9 5648 012251 3772 FMUL I (FATNTT 5649 012252 1775 FADD I (OFLTONE 5650 012253 3777 FMUL I (FATNT 5651 012254 1773 FADD I (FATNC 5652 012255 7777 FPUT I (FATNT 5653 012256 0776 FGET I (FATNAX 5654 012257 2775 FSUB I (OFLTONE 5655 012260 6140 FSGT 5656 012261 5265 FJMP ATNBIG 5657 012262 0771 FGET I (FSINC7 5658 012263 2777 FSUB I (FATNT 5659 012264 7777 FPUT I (FATNT 5660 012265 0777 ATNBIG, FGET I (FATNT 5661 012266 0000 FEXT 5662 012267 1200 TAD ATNSGN 5663 012270 3043 DCA ACSIGN 5664 012271 5430 OPOPJ 5665 5666 FATNAX=FSINZ 5667 FATNT=FSINZZ 5668 FATNTT=FEXPI 5669 012272 6034 FATNCJ, 6034;0;0 012273 0000 012274 0000 5670 012275 1634 FATNC1, 1634;0;0 012276 0000 012277 0000 5671 012300 2007 FATNC2, 2007;7776;0 012301 7776 012302 0000 5672 012303 1774 FATNC3, 1774;2230;2427 012304 2230 012305 2427 5673 012306 2016 FATNC4, 2016;7331;7272 012307 7331 012310 7272 5674 012311 2004 FATNC5, 2004;1405;2216 012312 1405 012313 2216 5675 012314 1756 FATNC6, 1756;462;4562 012315 0462 012316 4562 5676 012317 5764 FATNC7, 5764;4221;3403 012320 4221 012321 3403 5677 012322 1766 FATNC8, 1766;3141;6672 012323 3141 012324 6672 5678 012325 5775 FATNC9, 5775;2525;2377 012326 2525 012327 2377 5679 012330 0015 XCCR, 15 5680 012331 0007 7 5681 012332 0177 177 5682 012333 0137 137 5683 012334 0000 0 5684 012335 0014 14 5685 012336 0012 12 5686 5687 012337 1043 OINT, TAD ACSIGN 5688 012340 7700 SMA CLA 5689 012341 5360 JMP OFFIX 5690 012342 4407 FINT 5691 012343 7770 FPUT I (OTEMP 5692 012344 0000 FEXT 5693 012345 4431 OPUSHJ 5694 012346 5461 FFIX 5695 012347 4407 FINT 5696 012350 6770 FCMP I (OTEMP 5697 012351 6040 FSNE 5698 012352 5356 FJMP .+4 5699 012353 0770 FGET I (OTEMP 5700 012354 2775 FSUB I (OFLTONE 5701 012355 5357 FJMP .+2 5702 012356 0770 FGET I (OTEMP 5703 012357 0000 FEXT 5704 5705 012360 4767 OFFIX, JMS I (FIX2 5706 012361 4407 FINT 5707 012362 6010 FNOR 5708 012363 0000 FEXT 5709 012364 6203 OPOPJX, CIF CDF 5710 012365 5766 JMP I (XPOPJ 5711 5712 5713 012366 5703 PAGE 012367 1544 012370 1540 012371 1762 012372 2054 012373 1535 012374 1772 012375 1771 012376 1735 012377 1740 5714 012400 0002 IF4, 2 /< 5715 012401 0006 6 /> 5716 012402 0012 12 /= 5717 012403 0005 5 /<= 5718 012404 0011 11 />= 5719 012405 0004 4 /<> 5720 012406 4777 ORND, JMS I (AL1 /FLAC=FLAC*2 5721 012407 4776 JMS I (OADD /FLAC=FLAC+FLAC*2=FLAC*3 5722 012410 6201 CDF 5723 012411 1775 TAD I (FRNDX+2 /MULT BY 2^17 MOD 2^27 5724 012412 7106 CLL RTL 5725 012413 7006 RTL 5726 012414 7006 RTL 5727 012415 3774 DCA I (FRNDX 5728 012416 1774 TAD I (FRNDX 5729 012417 7010 RAR 5730 012420 1047 TAD AC2 5731 012421 0373 AND (7740 5732 012422 3772 DCA I (FRNDX+1 5733 012423 7004 RAL 5734 012424 1050 TAD AC1 5735 012425 1774 TAD I (FRNDX 5736 012426 3774 DCA I (FRNDX 5737 012427 1046 TAD AC3 5738 012430 3775 DCA I (FRNDX+2 5739 012431 1371 TAD (200 5740 012432 3045 DCA ACEXP 5741 012433 3043 DCA ACSIGN 5742 012434 1774 TAD I (FRNDX 5743 012435 0370 AND (7 5744 012436 3050 DCA AC1 5745 012437 1772 TAD I (FRNDX+1 5746 012440 3047 DCA AC2 5747 012441 5430 OPOPJ 5748 5749 012442 0000 OTESTX, 0 5750 012443 1242 TAD OTESTX 5751 012444 6203 CIF CDF 5752 012445 3767 DCA I (OTEST2 5753 012446 5766 JMP I (OTEST2+1 5754 5755 012447 0000 OPUSHX, 0 5756 012450 1647 TAD I OPUSHX 5757 012451 6203 CIF CDF 5758 012452 3765 DCA I (T3 5759 012453 1247 TAD OPUSHX 5760 012454 7001 IAC 5761 012455 5764 JMP I (OPUSJ1 5762 5763 012456 0000 OGETCX, 0 5764 012457 6203 CIF CDF 5765 012460 4763 JMS I (GETCX1 5766 012461 5656 JMP I OGETCX 5767 5768 012462 0000 OERRX, 0 5769 012463 7200 CLA 5770 012464 6203 CIF CDF 5771 012465 1262 TAD OERRX 5772 012466 3762 DCA I (XERROR 5773 012467 5761 JMP I (XERROR+1 5774 5775 012470 3626 XPAKL2, XPACK2-1 /CR 5776 012471 3627 XPACK3-1 /BELL 5777 012472 3636 XPACK7-1 /RUBOUT 5778 012473 3636 XPACK7-1 / 5779 012474 3625 XPACK5-1 /@ 5780 012475 3603 XXPAK-1 /SPACE (KLUDGE!!) 5781 5782 5783 5784 012476 2534 LIST15, 52^40+34 5785 012477 2502 LIST16 5786 012500 1436 -"S+337^100-"A+337 5787 012501 1132 -"V+337^100-"E+337 5788 5789 012502 2576 LIST16, 53^40+36 5790 012503 2507 LIST17 5791 012504 1221 -"U+337^100-"N+337 5792 012505 1436 -"S+337^100-"A+337 5793 012506 1132 -"V+337^100-"E+337 5794 5795 012507 2637 LIST17, 54^40+37 5796 012510 2515 LIST18 5797 012511 3436 -"C+337^100-"A+337 5798 012512 1336 -"T+337^100-"A+337 5799 012513 2320 -"L+337^100-"O+337 5800 012514 3000 -"G+337^100 5801 5802 012515 0375 LIST18, 7^40+35 5803 012516 2522 LIST19 5804 012517 3427 -"C+337^100-"H+337 5805 012520 3626 -"A+337^100-"I+337 5806 012521 2100 -"N+337^100 5807 5808 012522 0176 LIST19, 3^40+36 5809 012523 2527 LIST20 5810 012524 1536 -"R+337^100-"A+337 5811 012525 2133 -"N+337^100-"D+337 5812 012526 2022 -"O+337^100-"M+337 5813 5814 012527 0334 LIST20, 6^40+34 5815 012530 2533 LIST21 5816 012531 2017 -"O+337^100-"P+337 5817 012532 3221 -"E+337^100-"N+337 5818 5819 012533 0236 LIST21, 4^40+36 5820 012534 2540 LIST22 5821 012535 2012 -"O+337^100-"U+337 5822 012536 1317 -"T+337^100-"P+337 5823 012537 1213 -"U+337^100-"T+337 5824 5825 012540 0275 LIST22, 5^40+35 5826 012541 2545 LIST23 5827 012542 3423 -"C+337^100-"L+337 5828 012543 2014 -"O+337^100-"S+337 5829 012544 3200 -"E+337^100 5830 5831 012545 2676 LIST23, 55^40+36 5832 012546 3714 LIST24 5833 012547 1532 -"R+337^100-"E+337 5834 012550 2136 -"N+337^100-"A+337 5835 012551 2232 -"M+337^100-"E+337 5836 012552 0473 LIST71, 11^40+33 5837 012553 4730 LIST72 5838 012554 3221 337-"E^100-"N+337 5839 012555 3300 337-"D^100 5840 012556 2051 LIST13, 41^40+11 5841 012557 2476 LIST15 5842 012560 0000 -"_+337^100 5843 5844 5845 012561 3526 PAGE 012562 3525 012563 0560 012564 1566 012565 0115 012566 5652 012567 5651 012570 0007 012571 0200 012572 0107 012573 7740 012574 0106 012575 0110 012576 0434 012577 0647 5846 012600 0000 XDIRSCH, 0 5847 012601 7320 CLA STL /READ FIRST BLOCK 5848 012602 4434 GETCAT 5849 012603 1412 SCHLP, TAD I XR1 5850 012604 7650 SNA CLA 5851 012605 5244 JMP SKPMTF 5852 012606 7240 CLA CMA 5853 012607 1012 TAD XR1 5854 012610 3012 DCA XR1 5855 012611 7346 CLA CLL CMA RTL 5856 012612 3254 DCA XBUMPXR 5857 012613 1146 TAD [NAMEX-1 5858 012614 3014 DCA XR3 5859 012615 1414 SRCWDL, TAD I XR3 5860 012616 7041 CIA 5861 012617 1412 TAD I XR1 5862 012620 7640 SZA CLA 5863 012621 5241 JMP NXTFIL 5864 012622 2254 ISZ XBUMPXR 5865 012623 5215 JMP SRCWDL 5866 012624 4441 TADEXT 5867 012625 7041 CIA 5868 012626 1412 TAD I XR1 5869 012627 7640 SZA CLA 5870 012630 5241 JMP NXTFIL 5871 012631 4435 BUMPXR 5872 012632 1412 TAD I XR1 5873 012633 7450 SNA 5874 012634 5250 JMP SKPMTF+4 5875 012635 3061 DCA FILEN 5876 012636 2200 ISZ XDIRSCH 5877 012637 1062 TAD BLOCK 5878 012640 5600 JMP I XDIRSCH 5879 5880 012641 1254 NXTFIL, TAD XBUMPXR 5881 012642 7041 CIA 5882 012643 4435 BUMPXR 5883 012644 1412 SKPMTF, TAD I XR1 5884 012645 7041 CIA 5885 012646 1062 TAD BLOCK 5886 012647 3062 DCA BLOCK 5887 012650 2064 ISZ ENTRIES 5888 012651 5203 JMP SCHLP 5889 012652 4545 JMS I [CATNEX 5890 012653 5600 JMP I XDIRSCH 5891 5892 012654 0000 XBUMPXR, 0 5893 012655 1063 TAD WASTE 5894 012656 1012 TAD XR1 5895 012657 3012 DCA XR1 5896 012660 5654 JMP I XBUMPXR 5897 5898 012661 0000 XGETNAM, 0 5899 012662 3015 DCA NAMEX 5900 012663 3016 DCA NAMEX+1 5901 012664 3017 DCA NAMEX+2 5902 012665 3057 DCA TEMPX 5903 012666 7410 SKP 5904 5905 012667 4426 NLOOP, OGETC 5906 012670 6203 CIF CDF 5907 012671 4544 JMS I [TSTCH1 5908 012672 5316 JMP NDONE 5909 012673 1057 TAD TEMPX 5910 012674 1151 TAD [-6 5911 012675 7700 SMA CLA 5912 012676 5267 JMP NLOOP 5913 012677 1057 TAD TEMPX 5914 012700 7110 CLL RAR 5915 012701 1143 TAD [NAMEX 5916 012702 3063 DCA WASTE 5917 012703 4440 TADCHR 5918 012704 0142 AND [77 5919 012705 7430 SZL 5920 012706 5312 JMP .+4 5921 012707 7106 CLL RTL 5922 012710 7006 RTL 5923 012711 7006 RTL 5924 012712 1463 TAD I WASTE 5925 012713 3463 DCA I WASTE 5926 012714 2057 ISZ TEMPX 5927 012715 5267 JMP NLOOP 5928 5929 012716 4440 NDONE, TADCHR 5930 012717 1141 TAD [-15 5931 012720 7640 SZA CLA 5932 012721 5033 ERROX 5933 012722 1057 TAD TEMPX 5934 012723 7650 SNA CLA 5935 012724 5033 ERROX 5936 012725 6203 CIF CDF 5937 012726 5661 JMP I XGETNAM 5938 5939 012727 0000 XTADCH, 0 5940 012730 6201 CDF 5941 012731 1540 TAD I [CHAR 5942 012732 6211 CDF SWAP 5943 012733 5727 JMP I XTADCH 5944 5945 012734 7677 QLIS2, QCOMCK-1 /, 5946 012735 7652 QNEXTC-1 /' 5947 012736 7667 QUOCHK-1 /" 5948 012737 7703 QDONE-1 /CR 5949 012740 7652 QLIS1, QNEXTC-1 /\ , 5950 012741 7652 QNEXTC-1 /' 5951 012742 7652 QNEXTC-1 /" 5952 012743 7703 QDONE-1 /CR 5953 012744 7652 QNEXTC-1 /\ 5954 5955 012745 2777 LIST25, 57^40+37 5956 012746 2753 LIST26 5957 012747 3126 -"F+337^100-"I+337 5958 012750 2332 -"L+337^100-"E+337 5959 012751 2320 -"L+337^100-"O+337 5960 012752 3000 -"G+337^100 5961 5962 012753 3034 LIST26, 60^40+34 5963 012754 4703 LIST14 5964 012755 3427 -"C+337^100-"H+337 5965 012756 1573 -"R+337^100-"$+337 5966 5967 012757 0000 CAT0, 0000 5968 012760 7320 CLA STL /GET FIRST BLOCK GETCAT 5969 012761 4434 GETCAT 5970 012762 6203 CIF CDF 5971 012763 5757 JMP I CAT0 5972 5973 012764 0000 XCALL, 0000 /OVERLAY CALLING PROGRAM 5974 012765 1764 TAD I XCALL /BLOCK NUMBER TO READ 5975 012766 2364 ISZ XCALL 5976 012767 3376 DCA XCALLB 5977 012770 1764 TAD I XCALL /LINK ADDRESS 5978 012771 3364 DCA XCALL 5979 012772 7301 L0001 5980 012773 4432 DECTAPE 5981 012774 3200 XENTER+1 /USE ENTER AS OVERLAY AREA 5982 012775 7610 7610 /READ 200 WORDS INTO FIELD 1 5983 012776 0000 XCALLB, 0000 5984 012777 5764 JMP I XCALL 5985 5986 PAGE 5987 5988 5989 013000 0000 DTAPE, 0 /ENTER WITH AC=1 FOR READ 5990 013001 6002 IOF /NO INT PLEASE 5991 013002 1112 TAD DDR128 5992 013003 3315 DCA DRET /READ/WRITE RETURN AFTER SEARCH 5993 013004 1375 TAD ENTERF /SAVE CALLING FIELD 5994 013005 6214 RDF 5995 013006 3253 DCA DXIT+1 5996 5997 013007 7240 DGR, CLA CMA 5998 013010 1600 TAD I DTAPE 5999 013011 2200 ISZ DTAPE 6000 013012 3314 DCA DCORE /FIRST CORE LOCATION-1 OF TRANSFER 6001 013013 1600 TAD I DTAPE 6002 013014 0074 AND Z70 6003 013015 3316 DCA DTFLD /SAVE FIELD TO BE READ INTO 6004 013016 1600 TAD I DTAPE 6005 013017 0342 AND D7600 /GET LENGTH IN PAGES 6006 013020 2200 ISZ DTAPE 6007 013021 3312 DCA DWDS / -NUMBER OF WORDS TO BE TRANSFERRED 6008 013022 1600 TAD I DTAPE /GET BLOCK NO. 6009 013023 2200 ISZ DTAPE 6010 013024 3251 DCA DTEM /AND STORE 6011 013025 1107 TAD DTSF1 6012 013026 3002 DCA DTINTR+2 /PUT DTSF IN SKIP CHAIN 6013 6014 /INITIATE SEARCH 6015 6016 013027 1113 DTS1, TAD DDTBLK /DTBLOK TO 7755 (CA) 6017 013030 6201 CDF 6018 013031 3710 DCA I DCAA 6019 013032 1114 TAD DDINT /DINT-1 6020 013033 3067 DCA MCOM /INTERRUPT RETURN 6021 013034 4441 TADEXT /SEE IF .DX OR .EX 6022 013035 0075 AND Z100 6023 013036 7640 SZA CLA 6024 013037 5244 JMP UNIT0 /MUST BE .EX 6025 013040 1105 TAD PXCALLB /AND EXCEPT FOR CALL 6026 013041 1200 TAD DTAPE 6027 013042 7640 SZA CLA 6028 013043 1076 UNIT1, TAD Z1000 /USE UNIT1 6029 013044 1115 UNIT0, TAD D614 /SET TO SEARCH,NORMAL,REVERSE 6030 013045 6766 DTLA /LOAD STATUS A 6031 013046 1073 TAD Z10 /DTBLOCK IS IN FIELD 1 6032 013047 6774 DTLB 6033 013050 5717 JMP I DDTDIS /PUT HIM TO SLEEP FOR A WHILE 6034 6035 013051 0000 DTEM, 0 6036 6037 /CHECK THE LIST OF ERRORS CAREFULLY SO THIS DOESN'T CONFLICT 6038 /WITH ERRORS IN FIELD 0. 6039 013052 3002 DXIT, DCA DTINTR+2 /ZAP DTSF IN SKIP CHAIN 6040 013053 7402 HLT /RETURN TO PROPER FIELD 6041 013054 5600 JMP I DTAPE 6042 6043 013055 1116 DR128, TAD D20 /WRITE (NOT READ),(40-20) 6044 /- TAD K30 /READ NORMAL, CANCEL SEARCH (20+10) 6045 013056 1372 TAD K30 /+ READ NORMAL, CANCEL SEARCH (20+10) 6046 013057 6764 DTXA /SET FUNCTION 6047 013060 1314 TAD DCORE /1ST CORE LOC.-1 OF TRANSFER 6048 013061 6201 CDF 6049 013062 3710 DCA I DCAA /TO 7755(CA) 6050 013063 1316 TAD DTFLD /FIELD OF BUFFER 6051 013064 6774 DTLB /TO DECTAPE REGISTER B 6052 013065 2067 ISZ MCOM /POINT INTERRUPT RETURN TO DATA 6053 013066 1342 DGO, TAD D7600 /SET WORD COUNT FOR 1 PAGE 6054 013067 6201 CDF 6055 013070 3711 DCA I DWC /-128 TO 7754 (WC) 6056 /-DR127, DTXA /IN CASE WE MISSED IT BEFORE 6057 /- JMP DIS /EXIT 6058 013071 5672 DR127, JMP I .+1 /+ 6059 013072 2172 PATCH2 /+ 6060 PATCH2=2172 /+ 6061 013073 5322 JMP DTS3A 6062 013074 6772 DINT, DTRB /READ STATUS B 6063 013075 7710 SPA CLA 6064 013076 5363 JMP DER1 /ERROR FLAG 6065 013077 7300 CLA CLL 6066 013100 1312 TAD DWDS /BUMP COUNT AND CHECK FOR MORE 6067 013101 1007 TAD Z200 /LOCATION 7 HAS LITTERAL 200, 128 WORD PAGE 6068 013102 3312 DCA DWDS /SAVE FOR NEXT TIME 6069 013103 7420 SNL 6070 013104 5266 JMP DGO /GET NEXT PAGE 6071 /- TAD [600 /COMPLEMENT MOTION AND DIRECTION 6072 013105 1373 TAD K602 /+ COMPLEMENT MOTION AND DIRECTION 6073 013106 6764 DTXA 6074 013107 5720 JMP I DDTEND /WAKE HIM UP 6075 6076 013110 7755 DCAA, 7755 /POINTER TO CURRENT ADDRESS 6077 013111 7754 DWC, 7754 /POINTER TO WORD COUNT 6078 013112 0000 DWDS, 0 / -WORDS TO TRANSFER 6079 013113 0000 DTBLOK, 0 /BLOCK NUMBER DEPOSITED HERE BY CONTROL 6080 013114 0000 DCORE, 0 /STARTING ADDRESS-1 6081 013115 0000 DRET, 0 /DR128 IF WRITE, OR DR128+1 IF READ 6082 013116 0000 DTFLD, 0 6083 013117 4744 DDTDIS, DTDIS 6084 013120 4755 DDTEND, DTEND 6085 013121 0774 D774, 774 /ZERO ALL OF DECTAPE REGISTER A EXCEPT THE UNIT 6086 6087 013122 6201 DTS3A, CDF 6088 013123 1510 TAD I DTLOOK 6089 013124 6211 CDF SWAP 6090 013125 0073 AND Z10 /LOOK AT ERROR FLAG 6091 013126 7640 SZA CLA 6092 013127 5365 JMP DTKILL /CTRL-C OR OTHER ERROR STOPS SERCH 6093 013130 6772 DTRB /READ STATUS B 6094 013131 7006 RTL /LOOK AT BIT 2 6095 013132 7710 SPA CLA /END ZONE? 6096 013133 5361 JMP DTURNX /YES (MOTION BIT=0), TURN 6097 013134 6772 DTRB 6098 013135 7710 SPA CLA 6099 013136 5363 JMP DER1 /ERROR FLAG BIT 0=1 6100 013137 6761 DTRA 6101 013140 7006 RTL 6102 013141 7006 RTL /FOR-REV STATUS (BIT 3) IN LINK 6103 013142 7600 D7600, 7600 /GROUP 2 CLA 6104 013143 1313 TAD DTBLOK 6105 013144 7041 CIA 6106 013145 1251 TAD DTEM /LINK COMP. IF REQUIRED BLK NO. 6107 013146 7450 SNA /IS BIGGER I.E. MUST GO FORWARD 6108 013147 5356 JMP DTFIND /FOUND BLOCK CHECK DIRECTION 6109 013150 7041 CIA 6110 013151 7420 SNL 6111 013152 7001 IAC /GO 2 MORE BLOCKS BEFORE TURNING 6112 013153 7620 SNL CLA 6113 013154 1165 DTURN, TAD [400 /TURN IF HERE 6114 013155 5271 JMP DR127 /XOR TO A STATUS AND DISMIS 6115 6116 013156 7620 DTFIND, SNL CLA /TEST DIRECTION 6117 013157 5271 JMP DR127 /DON'T TURN YET, STILL IN REVERSE 6118 013160 5715 JMP I DRET /GO DO READ OR WRITE 6119 6120 /-DTURNX, TAD [600 /REVERSE OUT OF END ZONE 6121 013161 1374 DTURNX, TAD K576 /+ REVERSE OUT OF END ZONE 6122 013162 5271 JMP DR127 6123 013163 1106 DER1, TAD ZOERROR /AC IS CLEAR WHEN WE GET HERE 6124 013164 3253 DCA DXIT+1 6125 013165 3002 DTKILL, DCA DTINTR+2 /REMOVE DTSF FROM SKIP CHAIN 6126 013166 6761 DTRA /GET REGISTER A 6127 013167 0321 AND D774 /GET HIS MOTION AND INTERRUPT ENABLE BITS 6128 013170 6764 DTXA /ZERO THEM BY DOING AN XOR 6129 013171 5720 JMP I DDTEND /HE WAKES UP WITH A CTRL-C 6130 013172 0032 K30, 32 /+ 6131 013173 0602 K602, 602 /+ 6132 013174 0576 K576, 576 /+ 6133 PAGE 6134 *.-3 /BUMP BACK TO 3 LOCATIONS BEFORE PAGE BOUNDRY 6135 013175 6203 ENTERF, CDF CIF 0 6136 013176 5777 JMP I XENTER 6137 013177 0000 XENTER, 0 /OS/8 DIRECTORY 'ENTER' 6138 013200 3060 DCA TEMPX1 /BLOCKS NEEDED 6139 013201 4436 DIRSCH /SEARCH DIRECTORY FOR DUPLICATE FILE. 6140 013202 5227 JMP NODLET /NO FILE TO DELETE 6141 013203 7344 L7776 /FOUND A FILE SO DELETE IT 6142 013204 1012 TAD XR1 6143 013205 3012 DCA XR1 /RESTORE XR1 TO SIZE-2 6144 013206 1012 TAD XR1 6145 013207 3014 DCA XR3 6146 013210 3414 DCA I XR3 /MAKE THIS AN EMPTY ENTRY 6147 013211 7346 L7775 6148 013212 1537 TAD I [DIRBUF+4 /SQUISH OUT NAME.EX+WASTE 6149 013213 4465 JMS I PSQUISH /LEAVING THE EMPTY OF COURSE 6150 013214 4437 CONSOL, SETPT /NOW CLEAN UP THAT MESSY DIRECTORY 6151 013215 1412 TAD I XR1 6152 013216 7650 SNA CLA 6153 013217 5355 JMP CONMTF /ITS AN EMPTY 6154 013220 1136 TAD [4 /ITS NOT. SO IGNORE IT 6155 013221 4435 BUMPXR 6156 013222 2064 ISZ ENTRIES /DONE? 6157 013223 5215 JMP CONSOL+1 /NOPE 6158 013224 7300 EOCLOS, CLA CLL /WRITE (L=0) OUT DIRECTORY 6159 013225 1535 TAD I [CATBLK /USE THE BLOCK WE READ IN 6160 013226 4434 GETCAT /ACTUALLY PUT CAT 6161 013227 1060 NODLET, TAD TEMPX1 6162 013230 7650 SNA CLA 6163 013231 5254 JMP ENTXIT /ALL DONE EXIT 6164 013232 3066 DCA FOUND /CLEAR FOUND FOR SEARCH 6165 013233 7120 STL 6166 013234 4434 GETCAT /READ IN FIRST BLOCK 6167 013235 1412 MLOOP, TAD I XR1 6168 013236 7650 SNA CLA 6169 013237 5261 JMP MEMPTY 6170 013240 1136 TAD [4 6171 013241 4435 BUMPXR 6172 013242 2064 MLOOPC, ISZ ENTRIES 6173 013243 5235 JMP MLOOP 6174 013244 7200 CLA /AC IS NOT 0 AFTER SZL IN MEMPTY 6175 013245 1066 TAD FOUND 6176 013246 7640 SZA CLA 6177 013247 5300 JMP MLOOPF 6178 013250 3066 FLOOPF, DCA FOUND 6179 013251 4545 JMS I [CATNEX /IF ANOTHER CAT BLOCK EXISTS RETURNS TO LAST GETCAT+1 6180 013252 5653 JMP I .+1 /NO ROOM 6181 013253 0070 PPLINK /TRY TO LINK DIRECTORIES 6182 013254 2534 ENTXIT, ISZ I [XENTER /OK EXIT CALL + 1 6183 013255 4436 DIRSCH /SEARCH DIRECTORY FOR ENTRY 6184 013256 7000 NOP /IF SOMEONE OPENS A FILE WITH 0 LENGTH IT WILL COME HERE. 6185 013257 5660 JMP I .+1 6186 013260 3175 ENTERF 6187 013261 1066 MEMPTY, TAD FOUND /SEE IF WE WERE ALREADY HERE 6188 013262 7650 SNA CLA 6189 013263 5266 JMP .+3 6190 013264 2012 ISZ XR1 6191 013265 5242 JMP MLOOPC 6192 013266 7100 CLL /MAKE SURE LINK IS 0 6193 013267 1412 TAD I XR1 /-SIZE OF EMPTY 6194 013270 1060 TAD TEMPX1 /SIZE WE WANT. LINK SHOULD HAVE BEEN 0 AT MEMPTY 6195 013271 7430 SZL 6196 013272 5242 JMP MLOOPC /NOT BIG ENOUGH 6197 013273 3006 DCA XENTMP /SAVE SIZE OF NEW EMPTY IF ANY 6198 013274 7344 L7776 6199 013275 1012 TAD XR1 6200 013276 3066 DCA FOUND /AND WHERE IN THE BLOCK WE CAME FROM 6201 013277 5242 JMP MLOOPC /CONTINUE TO END OF BLOCK 6202 013300 1012 MLOOPF, TAD XR1 6203 013301 3057 DCA TEMPX 6204 013302 1136 TAD [4 6205 013303 4435 BUMPXR 6206 013304 1012 TAD XR1 6207 013305 1133 TAD [-DIRBUF-370 6208 013306 7700 SMA CLA 6209 013307 5250 JMP FLOOPF 6210 013310 1457 MLOOP3, TAD I TEMPX /BUMP UP CATALOG TO MAKE ROOM 6211 013311 3412 DCA I XR1 6212 013312 7344 CLA CLL CMA RAL 6213 013313 1012 TAD XR1 6214 013314 3012 DCA XR1 6215 013315 7240 CLA CMA 6216 013316 1057 TAD TEMPX 6217 013317 3057 DCA TEMPX 6218 013320 1057 TAD TEMPX 6219 013321 7161 CLL CML CIA 6220 013322 1066 TAD FOUND 6221 013323 7670 SZL SNA CLA 6222 013324 5310 JMP MLOOP3 6223 013325 1066 TAD FOUND 6224 013326 3012 DCA XR1 6225 013327 1015 TAD NAMEX 6226 013330 3412 DCA I XR1 6227 013331 1016 TAD NAMEX+1 6228 013332 3412 DCA I XR1 6229 013333 1017 TAD NAMEX+2 6230 013334 3412 DCA I XR1 6231 013335 4441 TADEXT /".EX" EXTENSION 6232 013336 3412 DCA I XR1 6233 013337 3412 DCA I XR1 6234 013340 7240 CLA CMA 6235 013341 4435 BUMPXR 6236 013342 1060 TAD TEMPX1 6237 013343 7041 CIA 6238 013344 3412 DCA I XR1 /PROPER LENGTH 6239 013345 3412 DCA I XR1 /MAKE AN EMPTY 6240 013346 1006 TAD XENTMP 6241 013347 3412 DCA I XR1 /OF NEW LENGTH 6242 013350 7240 CLA CMA 6243 013351 1503 TAD I ZDIRBUF /# OF ENTRIES 6244 013352 3503 DCA I ZDIRBUF 6245 013353 3060 DCA TEMPX1 /SET UP FOR NODLET 6246 013354 5224 JMP EOCLOS 6247 013355 1412 CONMTF, TAD I XR1 6248 013356 7450 SNA 6249 013357 5374 JMP SQTRIV 6250 013360 3057 DCA TEMPX 6251 013361 1012 TAD XR1 6252 013362 3066 DCA FOUND 6253 013363 2064 ISZ ENTRIES 6254 013364 7410 SKP 6255 013365 5224 JMP EOCLOS 6256 013366 1412 TAD I XR1 6257 013367 7640 SZA CLA 6258 013370 5220 JMP CONSOL+4 /NOT A DOUBLE EMPTY 6259 013371 1412 TAD I XR1 6260 013372 1057 TAD TEMPX 6261 013373 3466 DCA I FOUND /MAKE 1 EMPTY OUT OF 2 6262 013374 7344 SQTRIV, L7776 /REMOVE AN EMPTY 6263 013375 4465 JMS I PSQUISH 6264 013376 2503 ISZ I ZDIRBUF /RESET NUMBER OF ENTRIES 6265 013377 5214 JMP CONSOL 6266 6267 6268 6269 6270 6271 013400 1073 LIST77, 21^40+33 6272 013401 3404 LIST78 6273 013402 3332 -"D+337^100-"E+337 6274 013403 3100 -"F+337^100 6275 6276 013404 1133 LIST78, 22^40+33 6277 013405 4047 LIST79 6278 013406 3326 -"D+337^100-"I+337 6279 013407 2200 -"M+337^100 6280 6281 013410 1222 LIST82, 24^40+22 6282 013411 4064 LIST83 6283 013412 2631 337-"I^100-"F+337 6284 6285 013413 1111 LIST12, 22^40+11 6286 013414 2556 LIST13 6287 013415 7000 -"'+337^100 6288 6289 013416 0000 XSETPT, 0 6290 013417 1503 TAD I ZDIRBUF 6291 013420 3064 DCA ENTRIES 6292 013421 1532 TAD I [DIRBUF+1 6293 013422 3062 DCA BLOCK 6294 013423 1537 TAD I [DIRBUF+4 6295 013424 7141 CIA CLL /MAKE SURE L=0 FOR MEMPTY 6296 013425 3063 DCA WASTE 6297 013426 1137 TAD [DIRBUF+4 6298 013427 3012 DCA XR1 6299 013430 5616 JMP I XSETPT 6300 6301 013431 0000 CATNEX, 0000 6302 013432 1531 TAD I [DIRBUF+2 /SEE IF IT LINKS 6303 013433 7104 CLL RAL /MULTIPLY BY TWO 6304 013434 7120 STL /SET LINK FOR READ 6305 013435 7450 SNA 6306 013436 5631 JMP I CATNEX /NO LINKAGE RETURN 6307 013437 7410 SKP /ENTER GETCAT+1 IF LINKAGE EXISTS 6308 013440 0000 XGETCAT, 0 6309 013441 7450 SNA /SEE IF ENTERED WITH SEGMENT NUMBER 6310 013442 1130 TAD [2 /ASSUME FIRST CAT BLOCK. DON'T L0002! 6311 013443 3250 DCA CATBLK /BLOCK NUMBER TO FETCH 6312 013444 7004 RAL /READ OR WRITE WAS IN LINK 6313 013445 4432 DECTAPE 6314 013446 4207 DIRBUF 6315 013447 7410 7410 /400 WORDS IN FIELD 1 6316 013450 0002 CATBLK, 2 6317 013451 4437 SETPT 6318 013452 5640 JMP I XGETCAT 6319 6320 6321 013453 0000 SQUISH, 0 6322 013454 1012 TAD XR1 6323 013455 3013 DCA XR2 6324 013456 1412 TAD I XR1 6325 013457 3413 DCA I XR2 6326 013460 1012 TAD XR1 6327 013461 1127 TAD [-DIRBUF-377 6328 013462 7640 SZA CLA 6329 013463 5256 JMP .-5 6330 013464 5653 JMP I SQUISH 6331 6332 6333 6334 013465 0000 CAT1, 0 6335 013466 1412 TAD I XR1 6336 013467 7450 SNA 6337 013470 5321 JMP DEMPTY 6338 013471 3015 DCA NAMEX 6339 013472 1412 TAD I XR1 6340 013473 3016 DCA NAMEX+1 6341 013474 1412 TAD I XR1 6342 013475 3017 DCA NAMEX+2 6343 013476 4441 TADEXT 6344 013477 7041 CIA 6345 013500 1412 TAD I XR1 6346 013501 7640 SZA CLA /DON'T FORGET TO CLEAR AC!!! 6347 013502 5320 JMP DEMPTY-1 6348 6349 013503 4435 BUMPXR 6350 013504 1412 TAD I XR1 6351 013505 7650 SNA CLA 6352 013506 5322 JMP DEMPTY+1 6353 013507 1015 TAD NAMEX 6354 013510 4335 JMS TWOPRT 6355 013511 1016 TAD NAMEX+1 6356 013512 4335 JMS TWOPRT 6357 013513 1017 TAD NAMEX+2 6358 013514 4335 JMS TWOPRT 6359 013515 1143 TAD [15 6360 013516 4424 OPRINTC 6361 013517 5322 JMP DEMPTY+1 6362 6363 013520 4435 BUMPXR 6364 013521 2012 DEMPTY, ISZ XR1 6365 013522 2064 ISZ ENTRIES 6366 013523 5326 JMP .+3 6367 013524 4545 JMS I [CATNEX 6368 013525 2265 ISZ CAT1 6369 013526 6203 CIF CDF 6370 013527 5665 JMP I CAT1 6371 6372 013530 0000 FLOOK, 0 /GET CATALOG AND LOOKUP 6373 013531 4436 DIRSCH 6374 013532 5033 ERROX 6375 013533 6203 CIF CDF 6376 013534 5730 JMP I FLOOK /THAT WAS EASY 6377 6378 013535 0000 TWOPRT, 0 6379 013536 3015 DCA NAMEX 6380 013537 1015 TAD NAMEX 6381 013540 7112 CLL RTR 6382 013541 7012 RTR 6383 013542 7012 RTR 6384 013543 4347 JMS ONEPRT 6385 013544 1015 TAD NAMEX 6386 013545 4347 JMS ONEPRT 6387 013546 5735 JMP I TWOPRT 6388 6389 013547 0000 ONEPRT, 0 6390 013550 0142 AND [77 6391 013551 7450 SNA 6392 013552 5735 JMP I TWOPRT 6393 013553 1126 TAD [-40 6394 013554 7510 SPA 6395 013555 1075 TAD Z100 6396 013556 1147 TAD [40 6397 013557 4424 OPRINTC 6398 013560 5747 JMP I ONEPRT 6399 6400 6401 013561 0000 DTCHKX, 0 /CHECK IF USER ALREADY HAS TAPE 6402 013562 6002 IOF 6403 013563 1525 TAD I [DECK 6404 013564 7001 IAC 6405 013565 3014 DCA XR3 6406 013566 1502 TAD I ZDTQ1 6407 013567 3051 DCA OP3 6408 013570 1451 TAD I OP3 6409 013571 7041 CIA 6410 013572 1014 TAD XR3 6411 013573 6202 CIF 6412 013574 7650 SNA CLA 6413 013575 5524 JMP I [XDTG1 6414 013576 1014 TAD XR3 6415 013577 5761 JMP I DTCHKX 6416 6417 6418 PAGE 6419 013600 0316 FUNL1, 316 /FN 6420 013601 1151 1151 /SI 6421 013602 0157 157 /CO 6422 013603 0064 64 /AT 6423 013604 0270 270 /EX 6424 013605 0617 617 /LO 6425 013606 0042 42 /AB 6426 013607 1161 1161 /SQ 6427 013610 1147 1147 /SG 6428 013611 0456 456 /IN 6429 013612 1116 1116 /RN 6430 013613 0311 311 /FI 6431 013614 1201 1201 /TA 6432 013615 0651 651 /MI 6433 013616 0141 141 /CA 6434 013617 0657 657 /MO 6435 013620 0605 605 /LE 6436 6437 013621 7662 FUNL2, -"N+200 /SIN 6438 013622 7655 -"S+200 /COS 6439 013623 7662 -"N+200 /ATN 6440 013624 7660 -"P+200 /EXP 6441 013625 7671 -"G+200 /LOG 6442 013626 7655 -"S+200 /ABS 6443 013627 7656 -"R+200 /SQR 6444 013630 7662 -"N+200 /SGN 6445 013631 7654 -"T+200 /INT 6446 013632 7674 -"D+200 /RND 6447 013633 7650 -"X+200 /FIX 6448 013634 7662 -"N+200 /TAN 6449 013635 7674 -"D+200 /MID 6450 013636 7654 -"T+200 /CAT 6451 013637 7674 -"D+200 /MOD 6452 013640 7662 -"N+200 /LEN 6453 6454 013641 0040 TERMS, 40 /SPACE 0 6455 013642 0053 53 /+ 1 6456 013643 0055 55 /- 2 6457 013644 0052 52 /* 3 6458 013645 0057 57 // 4 6459 013646 0136 136 /^ 5 6460 013647 0050 50 /( 6 6461 013650 0133 133 /[ 7 6462 013651 0051 51 /) 10 6463 013652 0135 135 /] 11 6464 013653 0074 74 /< 1 6465 013654 0076 76 /> 13 6466 013655 0075 75 /= 14 6467 013656 5465 FUNL3, FSIN 6468 013657 5464 COS 6469 013660 5470 ATN 6470 013661 5466 FEXP 6471 013662 5467 LOG 6472 013663 1572 ABS 6473 013664 5462 SQR 6474 013665 5007 SGN 6475 013666 5460 INT 6476 013667 5454 RND 6477 013670 5461 FFIX 6478 013671 5463 TAN 6479 013672 6200 MID 6480 013673 6317 CAT 6481 013674 1300 MOD 6482 013675 6447 LEN 6483 6484 013676 3177 PRNTL6, PRINT8-1 /; 6485 013677 3315 PRINT5-4 /, 6486 013700 5545 PRINT6-4 /' 6487 013701 3200 PRINT8 /" 6488 013702 5545 PRINT6-4 /CR 6489 013703 5545 PRINT6-4 /\ 6490 6491 013704 3315 PRNTL2, PRINT5-4 /, 6492 013705 5550 PRINT6-1 /' 6493 013706 7530 PRINT2-1 /" 6494 013707 5550 PRINT6-1 /CR 6495 013710 5550 PRINT6-1 /\ 6496 6497 013711 0762 PRNTL8, PRINT3-1 /" 6498 013712 5545 PRINT6-4 /CR 6499 013713 3302 PRINT9+4 /\ MUST BE PRINTABLE 6500 6501 6502 6503 013714 2734 LIST24, 56^40+34 6504 013715 2745 LIST25 6505 013716 2426 -"K+337^100-"I+337 6506 013717 2323 -"L+337^100-"L+337 6507 013720 1546 UNKWN+1 /ENTER NEW COMMAND HERE 6508 6509 013721 7405 RANDOM 6510 013722 1546 UNKWN+1 /OUTPUT FUDGE 6511 013723 7413 CLOSE0 6512 013724 7042 OPEN 6513 013725 6562 CHAIN 6514 013726 6047 LINPUT 6515 013727 0464 READY /END 6516 013730 4270 ON 6517 013731 0464 READY /STOP 6518 013732 7151 RESTOR 6519 013733 1074 READ 6520 013734 5700 RETURN 6521 013735 4200 GOSUB 6522 013736 1400 FOR 6523 013737 5703 XPOPJ /DEF 6524 013740 5703 XPOPJ /DIM AND REM 6525 013741 1256 GOTO 6526 013742 1176 IF 6527 013743 1110 INPUT 6528 013744 5504 PRINT0 6529 013745 5703 XPOPJ /DATA 6530 013746 1401 LET 6531 013747 2374 NEXT 6532 013750 1545 COMGOL, UNKWN 6533 6534 013751 1565 ERRLST, ERR000 6535 013752 2202 ERR001 6536 013753 4227 ERR002 6537 013754 5102 ERR003 6538 013755 0616 ERR004 6539 6540 013756 2103 ERR010 6541 013757 1606 ERR020 6542 013760 0663 ERR030 6543 013761 0355 ERR040 6544 013762 0644 ERR050 6545 013763 3625 ERR060 6546 013764 0711 ERR070 6547 013765 3440 ERR080 6548 013766 4475 ERR100 6549 013767 2757 ERR110 6550 013770 2660 ERR120 6551 013771 1031 ERR150 6552 013772 1142 ERR160 6553 013773 3051 ERR170 6554 013774 3074 ERR180 6555 013775 3132 ERR200 6556 013776 5116 ERR210 6557 013777 4401 ERR220 6558 014000 4456 ERR130 6559 014001 4546 ERR230 6560 014002 4672 ERR240 6561 014003 4700 ERR250 6562 014004 5675 ERR260 6563 014005 1260 ERR270 6564 014006 7152 ERR280 6565 014007 4202 ERR290 6566 014010 4300 ERR300 6567 014011 7066 ERR650 6568 014012 5702 ERR320 6569 014013 7163 ERR330 6570 014014 3226 ERR340 6571 014015 3315 ERR350 6572 014016 7225 ERR640 6573 014017 1146 ERR370 6574 014020 2532 ERR380 6575 014021 1207 ERR390 6576 014022 1236 ERR400 6577 014023 1410 ERR410 6578 014024 1430 ERR420 6579 014025 1533 ERR430 6580 014026 1457 ERR440 6581 014027 1525 ERR450 6582 014030 2400 ERR460 6583 014031 2407 ERR470 6584 014032 1033 ERR490 6585 014033 1071 ERR500 6586 014034 1103 ERR510 6587 014035 1564 ERR520 6588 014036 0033 ERR530 6589 014037 6055 ERR540 6590 014040 6206 ERR550 6591 014041 5355 ERR560 6592 014042 1150 ERR600 6593 014043 1171 ERR610 6594 014044 7050 ERR620 6595 014045 7104 ERR630 6596 014046 3053 PDXIT, DXIT+1 /DECTAPE ERROR 6597 ERREND=. 6598 6599 014047 1133 LIST79, 22^40+33 6600 014050 4053 LIST80 6601 014051 1532 -"R+337^100-"E+337 6602 014052 2200 -"M+337^100 6603 6604 014053 0436 LIST80, 10^40+36 6605 014054 4060 LIST81 6606 014055 2326 -"L+337^100-"I+337 6607 014056 2117 -"N+337^100-"P+337 6608 014057 1213 -"U+337^100-"T+337 6609 6610 014060 1174 LIST81, 23^40+34 6611 014061 3410 LIST82 6612 014062 3020 -"G+337^100-"O+337 6613 014063 1320 -"T+337^100-"O+337 6614 6615 014064 1275 LIST83, 25^40+35 6616 014065 4071 LIST84 6617 014066 2621 -"I+337^100-"N+337 6618 014067 1712 -"P+337^100-"U+337 6619 014070 1300 -"T+337^100 6620 6621 014071 1335 LIST84, 26^40+35 6622 014072 4076 LIST85 6623 014073 1715 -"P+337^100-"R+337 6624 014074 2621 -"I+337^100-"N+337 6625 014075 1300 -"T+337^100 6626 6627 014076 1374 LIST85, 27^40+34 6628 014077 4102 LIST86 6629 014100 3336 -"D+337^100-"A+337 6630 014101 1336 -"T+337^100-"A+337 6631 6632 014102 1433 LIST86, 30^40+33 6633 014103 4106 LIST87 6634 014104 2332 -"L+337^100-"E+337 6635 014105 1300 -"T+337^100 6636 6637 014106 1474 LIST87, 31^40+34 6638 014107 4112 LIST88 6639 014110 2132 -"N+337^100-"E+337 6640 014111 0713 -"X+337^100-"T+337 6641 6642 014112 1573 LIST88, 33^40+33 6643 014113 4116 LIST89 6644 014114 1336 -"T+337^100-"A+337 6645 014115 3500 -"B+337^100 6646 6647 014116 1634 LIST89, 34^40+34 6648 014117 4122 LIST90 6649 014120 1413 -"S+337^100-"T+337 6650 014121 3217 -"E+337^100-"P+337 6651 6652 014122 1674 LIST90, 35^40+34 6653 014123 4126 LIST91 6654 014124 1327 -"T+337^100-"H+337 6655 014125 3221 -"E+337^100-"N+337 6656 6657 014126 1722 LIST91, 36^40+22 6658 014127 4131 LIST92 6659 014130 1320 -"T+337^100-"O+337 6660 6661 014131 1762 LIST92, 37^40+22 6662 014132 4134 LIST93 6663 014133 3121 -"F+337^100-"N+337 6664 6665 014134 2034 LIST93, 40^40+34 6666 014135 4140 LIST94 6667 014136 2326 -"L+337^100-"I+337 6668 014137 1413 -"S+337^100-"T+337 6669 6670 014140 2133 LIST94, 42^40+33 6671 014141 4144 LIST95 6672 014142 3506 -"B+337^100-"Y+337 6673 014143 3200 -"E+337^100 6674 6675 014144 2433 LIST95, 50^40+33 6676 014145 4150 LIST96 6677 014146 2132 -"N+337^100-"E+337 6678 014147 1000 -"W+337^100 6679 6680 014150 2137 LIST96, 42^40+37 6681 014151 4156 LIST97 6682 014152 1434 -"S+337^100-"C+337 6683 014153 1536 -"R+337^100-"A+337 6684 014154 1334 -"T+337^100-"C+337 6685 014155 2700 -"H+337^100 6686 6687 014156 2176 LIST97, 43^40+36 6688 014157 4163 LIST98 6689 014160 3332 -"D+337^100-"E+337 6690 014161 2332 -"L+337^100-"E+337 6691 014162 1332 -"T+337^100-"E+337 6692 6693 014163 2234 LIST98, 44^40+34 6694 014164 4167 LIST99 6695 014165 3233 -"E+337^100-"D+337 6696 014166 2613 -"I+337^100-"T+337 6697 6698 014167 2273 LIST99, 45^40+33 6699 014170 4173 LIST10 6700 014171 2432 -"K+337^100-"E+337 6701 014172 0600 -"Y+337^100 6702 6703 014173 2334 LIST10, 46^40+34 6704 014174 4177 LIST11 6705 014175 1336 -"T+337^100-"A+337 6706 014176 1732 -"P+337^100-"E+337 6707 6708 014177 2373 LIST11, 47^40+33 6709 014200 3413 LIST12 6710 014201 1512 -"R+337^100-"U+337 6711 014202 2100 -"N+337^100 6712 6713 014203 1033 LIST76, 20^40+33 6714 014204 3400 LIST77 6715 014205 3120 -"F+337^100-"O+337 6716 014206 1500 -"R+337^100 6717 014207 0000 DIRBUF, ZBLOCK 400 014210 0000 014211 0000 014212 0000 014213 0000 014214 0000 014215 0000 014216 0000 014217 0000 014220 0000 014221 0000 014222 0000 014223 0000 014224 0000 014225 0000 014226 0000 014227 0000 014230 0000 014231 0000 014232 0000 014233 0000 014234 0000 014235 0000 014236 0000 014237 0000 014240 0000 014241 0000 014242 0000 014243 0000 014244 0000 014245 0000 014246 0000 014247 0000 014250 0000 014251 0000 014252 0000 014253 0000 014254 0000 014255 0000 014256 0000 014257 0000 014260 0000 014261 0000 014262 0000 014263 0000 014264 0000 014265 0000 014266 0000 014267 0000 014270 0000 014271 0000 014272 0000 014273 0000 014274 0000 014275 0000 014276 0000 014277 0000 014300 0000 014301 0000 014302 0000 014303 0000 014304 0000 014305 0000 014306 0000 014307 0000 014310 0000 014311 0000 014312 0000 014313 0000 014314 0000 014315 0000 014316 0000 014317 0000 014320 0000 014321 0000 014322 0000 014323 0000 014324 0000 014325 0000 014326 0000 014327 0000 014330 0000 014331 0000 014332 0000 014333 0000 014334 0000 014335 0000 014336 0000 014337 0000 014340 0000 014341 0000 014342 0000 014343 0000 014344 0000 014345 0000 014346 0000 014347 0000 014350 0000 014351 0000 014352 0000 014353 0000 014354 0000 014355 0000 014356 0000 014357 0000 014360 0000 014361 0000 014362 0000 014363 0000 014364 0000 014365 0000 014366 0000 014367 0000 014370 0000 014371 0000 014372 0000 014373 0000 014374 0000 014375 0000 014376 0000 014377 0000 014400 0000 014401 0000 014402 0000 014403 0000 014404 0000 014405 0000 014406 0000 014407 0000 014410 0000 014411 0000 014412 0000 014413 0000 014414 0000 014415 0000 014416 0000 014417 0000 014420 0000 014421 0000 014422 0000 014423 0000 014424 0000 014425 0000 014426 0000 014427 0000 014430 0000 014431 0000 014432 0000 014433 0000 014434 0000 014435 0000 014436 0000 014437 0000 014440 0000 014441 0000 014442 0000 014443 0000 014444 0000 014445 0000 014446 0000 014447 0000 014450 0000 014451 0000 014452 0000 014453 0000 014454 0000 014455 0000 014456 0000 014457 0000 014460 0000 014461 0000 014462 0000 014463 0000 014464 0000 014465 0000 014466 0000 014467 0000 014470 0000 014471 0000 014472 0000 014473 0000 014474 0000 014475 0000 014476 0000 014477 0000 014500 0000 014501 0000 014502 0000 014503 0000 014504 0000 014505 0000 014506 0000 014507 0000 014510 0000 014511 0000 014512 0000 014513 0000 014514 0000 014515 0000 014516 0000 014517 0000 014520 0000 014521 0000 014522 0000 014523 0000 014524 0000 014525 0000 014526 0000 014527 0000 014530 0000 014531 0000 014532 0000 014533 0000 014534 0000 014535 0000 014536 0000 014537 0000 014540 0000 014541 0000 014542 0000 014543 0000 014544 0000 014545 0000 014546 0000 014547 0000 014550 0000 014551 0000 014552 0000 014553 0000 014554 0000 014555 0000 014556 0000 014557 0000 014560 0000 014561 0000 014562 0000 014563 0000 014564 0000 014565 0000 014566 0000 014567 0000 014570 0000 014571 0000 014572 0000 014573 0000 014574 0000 014575 0000 014576 0000 014577 0000 014600 0000 014601 0000 014602 0000 014603 0000 014604 0000 014605 0000 014606 0000 6718 INTR80=.-1 /2 POWER FAIL/AUTO RECOVER TEMPS 6719 INTR8F=.-2 6720 014607 6007 INTRRV, CAF /RECOVER - CLEAR ALL 6721 / TLS /IF NOT DC02 - SEE BEG760 6722 / 0 /IF NOT 8-E - SEE BEG550 6723 014610 6203 AAACDF, CIF CDF 6724 014611 1642 INTRV2, TAD I PAUSER 6725 014612 6117 MTON 6726 / 0 /IF NOT DC02 - SEE BEG760 6727 014613 4641 JMS I PINTRP 6728 / MTLS /IF DC02 - SEE BEG760 6729 014614 7200 CLA 6730 014615 1244 TAD PINTR8 6731 014616 3530 DCA I [2 6732 014617 1205 TAD INTR8F 6733 014620 0176 AND [7 6734 014621 7106 CLL RTL 6735 014622 7004 RAL 6736 014623 1210 TAD AAACDF 6737 014624 3234 DCA INTR88 6738 014625 1205 TAD INTR8F 6739 014626 0074 AND Z70 6740 014627 1267 TAD CCIF 6741 014630 3235 DCA INTR89 6742 014631 1205 TAD INTR8F 6743 014632 7004 RAL 6744 014633 7200 CLA 6745 014634 6201 INTR88, CDF 6746 014635 6202 INTR89, CIF 6747 014636 1056 TAD INTAC1 /AND AC 6748 014637 6001 ION 6749 014640 5606 JMP I INTR80 /AND EXIT 6750 014641 5336 PINTRPL, INTRPL-1 6751 014642 5335 PAUSER, AUSER 6752 014643 6212 CCIF2, CIF SWAP 6753 014644 4173 PINTR8, INTR8E 6754 014645 4607 PINTRRV, INTRRV 6755 014646 3056 INTR81, DCA INTAC1 /SAVE AC 6756 014647 6634 6634 /READ CARD READER TO CLEAR FLAG 6757 014650 6674 6674 /AND CARD DONE FLAG 6758 014651 7200 CLA /AND CLEAR AC 6759 014652 6102 SPL /POWER FAIL INTERRUPT? 6760 014653 5266 JMP INTR82 /NO 6761 014654 7010 RAR 6762 014655 6234 RIB 6763 014656 3205 DCA INTR8F /AND FLAGS 6764 014657 1704 TAD I A0000 6765 014660 3206 DCA INTR80 /AND LOCATION 6766 014661 1243 TAD CCIF2 6767 014662 3704 DCA I A0000 /SET "CIF SWAP" 6768 014663 1245 TAD PINTRRV 6769 014664 3530 DCA I [2 /AND SET ADDRESS 6770 014665 7402 HLT 6771 6772 014666 1056 INTR82, TAD INTAC1 /GET THE AC AGAIN 6773 014667 6202 CCIF, CIF 6774 014670 5671 JMP I .+1 /GO TO THE REAL INTERRUPT ROUTINE 6775 014671 5200 INTRPT 6776 014672 0674 LIST73, 15^40+34 6777 014673 4676 LIST74 6778 014674 1532 -"R+337^100-"E+337 6779 014675 3633 -"A+337^100-"D+337 6780 6781 014676 0736 LIST74, 16^40+36 6782 014677 1572 LIST75 6783 014700 1532 -"R+337^100-"E+337 6784 014701 1312 -"T+337^100-"U+337 6785 014702 1521 -"R+337^100-"N+337 6786 6787 014703 2473 LIST14, 51^40+33 6788 014704 0000 A0000, 0 6789 014705 2023 -"O+337^100-"L+337 6790 014706 3300 -"D+337^100 6791 014707 2251 COMGO1, LIST 6792 014710 0467 START /CR 6793 014711 4226 BYE 6794 014712 2240 DELETE 6795 014713 2200 EDIT 6796 014714 5100 KKEY 6797 014715 5077 TAPE 6798 014716 2465 RUN 6799 014717 4213 NEW 6800 014720 3755 OLD 6801 014721 7435 SAVE 6802 014722 7473 UNSAVE 6803 014723 7513 CATLOG 6804 014724 4214 RENAME 6805 014725 7471 KILL 6806 014726 7511 DATLOG 6807 014727 1546 UNKWN+1 /CHR FUDGE!! 6808 6809 014730 0637 LIST72, 14^40+37 6810 014731 4672 LIST73 6811 014732 1532 -"R+337^100-"E+337 6812 014733 1413 -"S+337^100-"T+337 6813 014734 2015 -"O+337^100-"R+337 6814 014735 3200 -"E+337^100 6815 6816 014736 0000 XTADEX, 0 6817 014737 6201 CDF 6818 014740 1743 TAD I .+3 6819 014741 6211 CDF SWAP 6820 014742 5736 JMP I XTADEX 6821 014743 0066 EXTEN 6822 6823 6824 6825 014744 6203 DTDIS, CIF CDF 0 6826 014745 1500 TAD I ZLOOK /SET BUSY FLAG 6827 014746 3110 DCA DTLOOK 6828 014747 1510 TAD I DTLOOK /GET STATUS 6829 014750 0077 AND Z6777 /DO AN OR 6830 014751 1076 TAD Z1000 6831 014752 3510 DCA I DTLOOK 6832 014753 1104 TAD ZDXIT /FAKE RETURN ADDRESS 6833 014754 5501 JMP I ZRUN9X /AND DISMISS 6834 6835 6836 014755 6201 DTEND, CDF 6837 014756 1510 TAD I DTLOOK 6838 014757 0077 AND Z6777 /CLEAR BUSY 6839 014760 3510 DCA I DTLOOK 6840 014761 5020 JMP DIS /FINISH INTERRUPT 6841 6842 014762 3705 MSERROR, TEXT "_ERROR" 014763 2222 014764 1722 014765 0000 6843 014766 4440 MSDELETED, TEXT "$ DELETED_" 014767 0405 014770 1405 014771 2405 014772 0437 014773 0000 6844 014774 1601 MSNAME, TEXT "NAME--" 014775 1505 014776 5555 014777 0000 6845 6846 PAGE 6847 /ROUTINE TO PRINT EDU25'S MESSAGES 6848 015000 0000 READY2, 0 6849 015001 1234 TAD RDYK1 /COMPUTE ADDRESS OF MESSAGE 6850 015002 3051 DCA OP3 6851 015003 1451 TAD I OP3 6852 015004 3051 DCA OP3 6853 015005 1451 READY4, TAD I OP3 /GET CHARACTER 6854 015006 7012 RTR 6855 015007 7012 RTR 6856 015010 7012 RTR 6857 015011 4220 JMS READY3 6858 015012 1451 TAD I OP3 /GET SECOND CHARACTER IN WORD 6859 015013 4220 JMS READY3 6860 015014 2051 ISZ OP3 6861 015015 5205 JMP READY4 6862 015016 6203 READY5, CIF CDF 6863 015017 5600 JMP I READY2 6864 6865 015020 0000 READY3, 0 6866 015021 0142 AND [77 6867 015022 7450 SNA 6868 015023 5216 JMP READY5 6869 015024 1235 TAD RDYK2 6870 015025 7450 SNA 6871 015026 1236 TAD RDYK3 6872 015027 7510 SPA 6873 015030 1075 TAD Z100 6874 015031 1237 TAD RDYK4 6875 015032 4424 OPRINTC 6876 015033 5620 JMP I READY3 6877 6878 015034 5045 RDYK1, RDYLST+5 6879 015035 7741 RDYK2, -37 6880 015036 7456 RDYK3, 15-337 6881 015037 0237 RDYK4, 237 6882 6883 015040 5047 RDYLST, MSWHAT /-5 6884 015041 5053 MSSTOP /-4 6885 015042 5057 MSREADY /-3 6886 015043 5063 MSIN /-2 6887 015044 4762 MSERROR /-1 6888 015045 4766 MSDELETED /0 6889 015046 4774 MSNAME /1 6890 6891 015047 2710 MSWHAT, TEXT "WHAT?_" 015050 0124 015051 7737 015052 0000 6892 015053 3723 MSSTOP, TEXT "_STOP_" 015054 2417 015055 2037 015056 0000 6893 015057 3722 MSREADY, TEXT "_READY_" 015060 0501 015061 0431 015062 3700 6894 015063 1116 MSIN, TEXT "IN " 015064 4000 6895 6896 /ON ANY ERROR, WE COME HERE. IF THE USER THAT CAUSED THE ERROR 6897 /WAS NOT WAITING FOR THE DECTAPE, WE CLEAR HIS INPUT WAIT BIT, SET 6898 /HIS ERROR BIT, AND LEAVE. IF HIS DECTAPE WAIT BIT IS ON, HE 6899 /EITHER ALREADY HAS THE DECTAPE , OR HE IS WAITING ON THE QUEUE. 6900 /SINCE HE IS WAITING, THE ERROR COULD ONLY HAVE BEEN CAUSED 6901 /BY AN INTERRUPT - ^C, KEYBOARD BUFFER FULL, OR THE LIKE. IF HE 6902 /IS AT THE TOP OF THE QUEUE, WE ASSUME HE HAS THE DECTAPE, AND 6903 /DON'T BOTHER HIM HERE EXCEPT FOR HIS INPUT WAIT AND ERROR BITS. 6904 /IF HOWEVER, HE WAS PUT TO SLEEP BY DTGRAB, AND IS STILL WAITING 6905 /TO GET AT THE DECTAPE ROUTINE, IT WOULD BE A SHAME TO MAKE HIM 6906 /WAIT FOR ALL THE USERS AHEAD OF HIM IN THE QUEUE (WHICH COULD BE 6907 /AS MANY AS SEVEN SEEKS FROM ONE END OF THE TAPE TO THE OTHER) 6908 /JUST TO FIND OUT THAT HE WAS TRYING TO CANCEL THE OPERATION ANYWAY. 6909 /IN THAT CASE, WE TURN OFF HIS DECTAPE WAIT BIT AND SQUISH HIM OUT 6910 /OF THE DECTAPE QUEUE. UNFORTUNATELY DTFREE WILL ONLY REMOVE HIM 6911 /IF HE IS ALREADY AT THE TOP OF THE QUEUE. 6912 6913 015065 0000 IERDTA, 0 6914 015066 1741 TAD I ITEMP2 6915 015067 3342 DCA IERR1 /POINTER TO STATUS 6916 015070 1742 TAD I IERR1 6917 015071 0076 AND Z1000 /DECTAPE WAIT? 6918 015072 7650 SNA CLA 6919 015073 5333 JMP IEREND /NO - RETURN 6920 015074 1525 TAD I [DECK 6921 015075 7040 CMA 6922 015076 3343 DCA IERR2 /-(USER#+1) 6923 015077 1502 TAD I ZDTQ1 6924 015100 3344 DCA IERR3 /POINTER INTO QUEUE 6925 015101 1744 TAD I IERR3 /IS HIS ENTRY AT THE TOP? 6926 015102 1343 TAD IERR2 6927 015103 7650 SNA CLA 6928 015104 5333 JMP IEREND /YES - RETURN 6929 6930 /HERE'S WHERE WE SQUISH THE QUEUE 6931 015105 3345 IERLP, DCA IERR4 6932 015106 1744 TAD I IERR3 /SWITCH QUEUE ENTRY WITH IERR4 BY WAY OF IERR5 6933 015107 3346 DCA IERR5 6934 015110 1345 TAD IERR4 6935 015111 3744 DCA I IERR3 6936 015112 1346 TAD IERR5 /IS THIS QUEUE ENTRY OUR USER? 6937 015113 1343 TAD IERR2 6938 015114 7650 SNA CLA 6939 015115 5324 JMP IERFIN /YES - GO FINISH UP ALREADY 6940 015116 1344 TAD IERR3 /NO - POINT TO NEXT QUEUE ENTRY 6941 015117 7001 IAC 6942 015120 0347 AND I7607 6943 015121 3344 DCA IERR3 6944 015122 1346 TAD IERR5 /GO SWITCH WITH NEXT ENTRY 6945 015123 5305 JMP IERLP 6946 6947 015124 1502 IERFIN, TAD I ZDTQ1 /INCREMENT QUEUE POINTER 6948 015125 7001 IAC 6949 015126 0347 AND I7607 6950 015127 3502 DCA I ZDTQ1 6951 015130 1742 TAD I IERR1 /TURN OFF DECTAPE WAIT 6952 015131 0077 AND Z6777 6953 015132 3742 DCA I IERR1 6954 6955 015133 1742 IEREND, TAD I IERR1 /TURN OFF KEYBOARD WAIT 6956 015134 0350 AND I3767 6957 015135 1073 TAD Z10 /AND TURN ON ERROR BIT. 6958 015136 3742 DCA I IERR1 6959 015137 6202 CIF 6960 015140 5665 JMP I IERDTA /RETURN 6961 6962 015141 0006 ITEMP2, TEMP2 6963 015142 0000 IERR1, 0 /POINTS TO HIS STATUS 6964 015143 0000 IERR2, 0 /COMPLEMENTED USER # 6965 015144 0000 IERR3, 0 /POINTER INTO QUEUE 6966 015145 0000 IERR4, 0 /TEMP LOC FOR SQUSH 6967 015146 0000 IERR5, 0 /DITTO 6968 015147 7607 I7607, 7607 6969 015150 3767 I3767, 3767 6970 015151 3200 PATCH9, 3200 /+ 6971 015152 1766 1766 /+ 6972 015153 7120 7120 /+ 6973 015154 7450 7450 /+ 6974 015155 7020 7020 /+ 6975 015156 1200 1200 /+ 6976 015157 6202 6202 /+ 6977 015160 7450 7450 /+ 6978 015161 5765 5765 /+ 6979 015162 7250 7250 /+ 6980 015163 5764 5764 /+ 6981 015164 1252 1252 /+ 6982 015165 1357 1357 /+ 6983 015166 0112 0112 /+ 6984 015167 1517 PATCH6, 1517 /+ 6985 015170 7540 7540 /+ 6986 015171 7402 7402 /+ 6987 015172 6202 6202 /+ 6988 015173 7640 7640 /+ 6989 015174 5776 5776 /+ 6990 015175 5777 5777 /+ 6991 015176 5223 5223 /+ 6992 015177 5265 5265 /+ 6993 6994 PAGE 6995 015200 3204 PATCH4, 3204 /+ 6996 015201 1644 1644 /+ 6997 015202 6211 6211 /+ 6998 015203 5604 5604 /+ 6999 015204 0000 0000 /+ 7000 015205 0000 0000 /+ 7001 015206 3204 3204 /+ 7002 015207 1245 1245 /+ 7003 015210 6203 6203 /+ 7004 015211 3646 3646 /+ 7005 015212 1204 1204 /+ 7006 015213 4647 4647 /+ 7007 015214 5605 5605 /+ 7008 015215 0000 0000 /+ 7009 015216 3204 3204 /+ 7010 015217 1215 1215 /+ 7011 015220 3205 3205 /+ 7012 015221 1250 1250 /+ 7013 015222 5210 5210 /+ 7014 015223 6201 PATCH5, 6201 /+ 7015 015224 3232 3232 /+ 7016 015225 1651 1651 /+ 7017 015226 4205 4205 /+ 7018 015227 1232 1232 /+ 7019 015230 6203 6203 /+ 7020 015231 5652 5652 /+ 7021 015232 0000 0000 /+ 7022 015233 1653 PTCH10, 1653 /+ 7023 015234 4205 4205 /+ 7024 015235 4431 4431 /+ 7025 015236 3307 3307 /+ 7026 015237 4215 4215 /+ 7027 015240 6203 6203 /+ 7028 015241 3653 3653 /+ 7029 015242 3654 3654 /+ 7030 015243 5655 5655 /+ 7031 015244 0115 0115 /+ 7032 015245 4547 4547 /+ 7033 015246 0565 0565 /+ 7034 015247 0564 0564 /+ 7035 015250 4552 4552 /+ 7036 015251 5374 5374 /+ 7037 015252 1757 1757 /+ 7038 015253 1000 1000 /+ 7039 015254 0031 0031 /+ 7040 015255 1006 1006 /+ 7041 015256 1672 PTCH8B, 1672 /+ 7042 015257 3232 3232 /+ 7043 015260 1632 1632 /+ 7044 015261 1273 1273 /+ 7045 015262 7141 7141 /+ 7046 015263 1674 1674 /+ 7047 015264 6202 6202 /+ 7048 015265 7630 7630 /+ 7049 015266 5671 5671 /+ 7050 015267 5670 5670 /+ 7051 015270 2170 2170 /+ 7052 015271 3625 3625 /+ 7053 015272 0053 0053 /+ 7054 015273 7752 7752 /+ 7055 015274 0016 0016 /+ 7056 015275 1170 1170 /+ 7057 015276 3706 3706 /+ 7058 015277 1706 1706 /+ 7059 015300 6202 6202 /+ 7060 015301 7540 7540 /+ 7061 015302 5705 5705 /+ 7062 015303 5704 5704 /+ 7063 015304 0437 0437 /+ 7064 015305 0443 0443 /+ 7065 015306 0130 0130 /+ 7066 015307 7640 PATCH7, 7640 /+ 7067 015310 5320 5320 /+ 7068 015311 1540 1540 /+ 7069 015312 1725 1725 /+ 7070 015313 7640 7640 /+ 7071 015314 5320 5320 /+ 7072 015315 6202 6202 /+ 7073 015316 5717 5717 /+ 7074 015317 3064 3064 /+ 7075 015320 1326 1326 /+ 7076 015321 3727 3727 /+ 7077 015322 6202 6202 /+ 7078 015323 5724 5724 /+ 7079 015324 4142 4142 /+ 7080 7081 *.+1 7082 PAGE /AN EXTRA PAGE (OR SO) FOR PATCHES 7083 7084 ORG1=. 7085 /USER DEFINITIONS 7086 7087 LIMIT=7776 /HIGHEST CORE POSITION 7088 SWAPR=ENSWAP-STSWAP+1 /SWAP LENGTH 7089 ORG=. /USER STARTING ORIGIN 7090 7091 BUFFER=40 7092 BUFCOM=100 7093 LINE0=162 7094 LINE1=164 7095 TOP=LIMIT 7096 010124 6625 FIELD 2 010125 0036 010126 7740 010127 3172 010130 0002 010131 4211 010132 4210 010133 3201 010134 3177 010135 3450 010136 0004 010137 4213 010140 0026 010141 7763 010142 0077 010143 0015 010144 2153 010145 3431 010146 0014 010147 0040 010150 0030 010151 7772 010152 0434 010153 7720 010154 0752 010155 7725 010156 4557 010157 1346 010160 7673 010161 0011 010162 1540 010163 7722 010164 7767 010165 0400 010166 0206 010167 0571 010170 7774 010171 0457 010172 5674 010173 0377 010174 0177 010175 0200 010176 0007 010177 0600 7097 7098 PAGE 0 7099 *20 7100 020020 2600 USRPTR, USRLST 7101 020021 0000 CORPTR, 0 7102 020022 0000 USRPT2, 0 7103 020023 0000 CORPT2, 0 7104 020024 0000 BEGUSR, 0 7105 020025 0000 CURFLD, 0 7106 020026 0000 BEGDEV, 0 7107 020027 0000 USRCTR, 0 7108 020030 0000 SS, 0 7109 020031 0000 BEGCOR, 0 7110 020032 0000 KLTOP, 0 7111 020033 0000 KLSCH, 0 7112 020034 0000 OS8PTR, 0 7113 7114 020035 1377 OSDRK8, 1377 7115 020036 3030 3030 7116 020037 1376 1376 7117 020040 3031 3031 7118 020041 5030 5030 7119 020042 0000 0 7120 020043 0000 0 7121 020044 0000 0 7122 020045 0000 0 7123 020046 0000 0 7124 020047 0000 0 7125 020050 0000 0 7126 020051 0000 0 7127 020052 0000 0 7128 020053 0000 0 7129 020054 0000 0 7130 020055 5031 5031 7131 /- 6733 7132 020056 6743 6743 /+ 7133 7134 020057 1772 OSDDSK, 1772 7135 020060 3771 3771 7136 020061 2371 2371 7137 020062 2372 2372 7138 020063 5356 5356 7139 020064 5350 5350 7140 020065 0000 0 7141 020066 0000 0 7142 020067 0000 0 7143 020070 0000 0 7144 020071 0000 0 7145 020072 7750 7750 7146 020073 7773 7773 7147 020074 7600 7600 7148 020075 6603 6603 7149 020076 6622 6622 7150 020077 5352 5352 7151 020100 5752 5752 7152 7153 020101 6774 OSDDTA, 6774 7154 020102 1377 1377 7155 020103 3354 3354 7156 020104 1376 1376 7157 020105 3355 3355 7158 020106 1375 1375 7159 020107 6766 6766 7160 020110 6771 6771 7161 020111 5365 5365 7162 020112 1374 1374 7163 020113 6766 6766 7164 020114 6771 6771 7165 020115 5371 5371 7166 020116 5200 5200 7167 020117 0220 220 7168 020120 0600 600 7169 020121 7577 7577 7170 020122 7700 7700 7171 7172 PAGE 7173 /*SYSTEM ENTRY POINT FOR INITIALIZATION* 7174 020200 7000 BEGIN, NOP /SO WE CAN CHAIN BACK TO OURSELF 7175 020201 6032 KCC 7176 020202 4777 JMS I (SYSINI 7177 SYSINI=5400 7178 020203 6211 BEGINB, CDF 10 7179 020204 1776 TAD I (7760 /GET DCB OF SYS: 7180 020205 0375 AND (770 7181 /- TAD (-050 /5 IS RK8 7182 020206 1374 TAD (-060 /+ 6 IS ??? 7183 020207 7510 SPA 7184 020210 5220 JMP OS8ERR /<5 IS ERROR 7185 /- SNA 7186 020211 5334 JMP PATCH3 /+ 7187 020212 5231 JMP OS8RK8 /5 = RK8 7188 020213 1373 TAD (050-160 /16 IS DECTAPE 7189 020214 7510 SPA 7190 020215 5225 JMP OS8KSK /6 TO 15 = DSK 7191 020216 7650 SNA CLA 7192 020217 5230 JMP OS8DTA /16 = DTA: 7193 020220 7200 OS8ERR, CLA 7194 020221 6221 CDF 20 7195 020222 4772 JMS I (BEG003 7196 020223 4207 OS8ERM /BAD OS/8 DEVICE 7197 020224 5771 JMP I (BEGMV0 /DO NOT SET UP ANY THING 7198 7199 020225 7200 OS8KSK, CLA 7200 020226 5227 JMP OS8DSK 7201 7202 020227 7001 OS8DSK, IAC 7203 020230 7001 OS8DTA, IAC 7204 020231 7001 OS8RK8, IAC 7205 020232 1370 TAD (OS8LST-1 7206 020233 3034 DCA OS8PTR 7207 020234 6221 CDF 20 7208 020235 1434 TAD I OS8PTR 7209 020236 3034 DCA OS8PTR /POINT TO BOOTSTRAP 7210 020237 4772 JMS I (BEG003 7211 020240 4241 OS8MSG /OS/8 MESSAGE 7212 020241 4772 JMS I (BEG003 7213 020242 4253 OS8AB, OS8M1 7214 020243 4772 JMS I (BEG003 7215 020244 4256 OS8M2 7216 020245 5771 JMP I (BEGMV0 7217 7218 020246 0035 OS8LST, OSDRK8 7219 020247 0101 OSDDTA 7220 020250 0057 OSDDSK 7221 USR=7700 /ENTRY POINT TO OS/8 USR 7222 FETCH=1 /FETCH DEVICE HANDLER 7223 L00KUP=2 /LOOK UP BLOCK NUMBER OF FILE 7224 CHA1N=6 /CHAIN TO PROGRAM ON "SYS:" 7225 7226 020251 4772 ERRLDR, JMS I (BEG003 /COULDN'T FIND HANDLER OR W.L. 7227 020252 4655 LDRERR 7228 020253 4772 JMS I (BEG003 7229 020254 4711 LDRER2 7230 020255 6203 CIF CDF 0 7231 020256 5767 JMP I (7605 /RETURN TO OS/8 7232 7233 020257 4772 ERRCHN, JMS I (BEG003 7234 020260 4723 CHNERR 7235 020261 5253 JMP ERRLDR+2 7236 7237 020262 6212 BEG708, CIF 10 7238 020263 4766 JMS I (USR /LOAD HANDLER AND 7239 020264 0001 FETCH /GET NUMBER OF DEVICE "SYS" 7240 020265 2331 DEVICE SYS 020266 2300 7241 SYSNO=.-1 7242 020267 4001 4001 /NO NEED TO SAVE THE AREA FOR THE HANDLER 7243 020270 5257 JMP ERRCHN /ERROR - CAN'T CHAIN 7244 020271 1266 TAD SYSNO /LOAD DEVICE NUMBER 7245 020272 6212 CIF 10 7246 020273 4766 JMS I (USR 7247 020274 0002 L00KUP 7248 020275 0306 BLOCK0, EDUNAM 7249 020276 0000 0 7250 020277 5257 JMP ERRCHN /ERROR - EDU25 NOT ON "SYS" 7251 020300 1275 TAD BLOCK0 /MOVE BLOCK NUMBER 7252 020301 3305 DCA STCHN /FOR USE BY CHAIN 7253 020302 6212 CIF 10 7254 020303 4766 JMS I (USR 7255 020304 0006 CHA1N 7256 020305 0000 STCHN, 0 7257 7258 020306 0504 EDUNAM, FILENAME EDU25.SV 020307 2562 020310 6500 020311 2326 7259 /CALLING SEQUENCE 7260 / JMS I (BEG01Q 7261 / MSGADR /ADDRESS OF MESSAGE TO BE PRINTED 7262 / JMP NO /RETURNS HERE IF ANSWER IS "N" 7263 / JMP YES /RETURNS HERE IF ANSWER IS "Y" 7264 020312 0000 BEG01Q, 0 /ASK QUESTION - GET ANSWER 7265 020313 1712 TAD I BEG01Q /SKIP IF YES, NOT IF NO 7266 020314 2312 ISZ BEG01Q /OTHERWISE GIVE ERROR AND REPEAT QUESTION 7267 020315 3317 DCA .+2 7268 020316 4772 JMS I (BEG003 7269 020317 0000 0 7270 020320 4765 JMS I (BEG001 7271 020321 1364 TAD (-"Y 7272 020322 7450 SNA 7273 020323 5332 JMP BEG1QR 7274 020324 1363 TAD ("Y-"N 7275 020325 7650 SNA CLA 7276 020326 5333 JMP BEG1QR+1 7277 020327 4772 JMS I (BEG003 7278 020330 4303 BEGME 7279 020331 5316 JMP BEG01Q+4 7280 020332 2312 BEG1QR, ISZ BEG01Q 7281 020333 5712 JMP I BEG01Q 7282 7283 020334 1345 PATCH3, 1345 /+ 7284 020335 7510 7510 /+ 7285 020336 5225 5225 /+ 7286 020337 7450 7450 /+ 7287 020340 5230 5230 /+ 7288 020341 1346 1346 /+ 7289 020342 7650 7650 /+ 7290 020343 5231 5231 /+ 7291 020344 5220 5220 /+ 7292 020363 0013 PAGE 020364 7447 020365 1014 020366 7700 020367 7605 020370 0245 020371 0400 020372 1032 020373 7670 020374 7720 020375 0770 020376 7760 020377 5400 7293 020400 6201 BEGMV0, CDF 7294 020401 1777 TAD I (FLOP 7295 020402 3776 DCA I (OPTABL+5 7296 020403 6211 CDF 10 7297 020404 1732 TAD I BEGIN1 /MAKE SURE THAT NO ERRORS ARE NEG. SO THAT 7298 /THEY DON'T TERMINATE TABLE 7299 020405 7001 IAC 7300 020406 7110 CLL RAR 7301 020407 3732 DCA I BEGIN1 7302 020410 2332 ISZ BEGIN1 7303 020411 2333 ISZ BEGIN2 7304 020412 5204 JMP .-6 7305 020413 1375 BEG002, TAD (BEG009 7306 020414 3334 DCA BEGXR1 7307 020415 1374 TAD (KL8JM0 7308 020416 3335 DCA BEGXR2 7309 020417 4313 JMS BEG008 7310 020420 1373 TAD (KL8JMP 7311 020421 3335 DCA BEGXR2 7312 020422 4313 JMS BEG008 7313 020423 6221 CDF 20 7314 020424 6032 KCC 7315 020425 1372 TAD (BEGIOT 7316 020426 3330 DCA BEG012 7317 020427 1371 TAD (-7 7318 020430 3331 DCA BEG013 7319 020431 1370 TAD (120 7320 020432 3730 DCA I BEG012 7321 020433 2330 ISZ BEG012 7322 020434 2331 ISZ BEG013 7323 020435 5231 JMP .-4 7324 020436 4767 JMS I (BEG003 7325 /- BEGM1 /INIT MESSAGE 7326 020437 3504 3504 /+ BUGBUG: ??? 7327 020440 4767 BEG006, JMS I (BEG003 7328 020441 4331 BEGM2 /# USER MESSAGE 7329 020442 4766 JMS I (BEG001 7330 020443 1365 TAD (-"8 7331 020444 7540 SMA SZA 7332 020445 5764 JMP I (BEG005 7333 020446 1363 TAD (10 7334 020447 7550 SPA SNA 7335 020450 5764 JMP I (BEG005 7336 020451 7041 CIA 7337 020452 3024 DCA BEGUSR 7338 020453 5762 JMP I (BEGX08 7339 020454 1336 CORDON, TAD SIZFUJ /FUDGE CORE SIZE BY ADDING SOMETHING PATCHABLE 7340 020455 1031 TAD BEGCOR 7341 020456 3031 DCA BEGCOR 7342 020457 6221 CDF 20 7343 020460 1024 TAD BEGUSR 7344 020461 7001 IAC 7345 020462 7650 SNA CLA 7346 020463 5266 JMP BEG010 7347 020464 4761 JMS I (BEG01Q 7348 020465 4347 BEGM4 /DC02? 7349 7350 020466 7340 BEG010, L7777 /BEGDEV=-1 IF NOT DC02 7351 020467 3026 DCA BEGDEV /BEGDEV= 0 IF DC02 7352 020470 1026 TAD BEGDEV 7353 020471 7650 SNA CLA 7354 020472 5760 JMP I (BEGCK0 7355 020473 1372 TAD (BEGIOT 7356 020474 3330 DCA BEG012 7357 020475 1024 TAD BEGUSR 7358 020476 3331 DCA BEG013 7359 020477 1357 TAD (410 7360 020500 3327 DCA BEG12A 7361 020501 2331 BEG14B, ISZ BEG013 7362 020502 5304 JMP BEG14A 7363 020503 5756 JMP I (BEG015 7364 7365 020504 1327 BEG14A, TAD BEG12A 7366 020505 3730 DCA I BEG012 7367 020506 2330 ISZ BEG012 7368 020507 1327 TAD BEG12A 7369 020510 1355 TAD (20 7370 020511 3327 DCA BEG12A 7371 020512 5301 JMP BEG14B 7372 7373 020513 0000 BEG008, 0 /UNPATCH SCHEDULER AND INTERRUPT ROUTINE 7374 020514 7346 L7775 /IN CASE WE COME HERE FROM A ^C 7375 020515 3331 DCA BEG013 7376 020516 6221 CDF 20 7377 020517 1734 TAD I BEGXR1 7378 020520 2334 ISZ BEGXR1 7379 020521 6201 CDF 7380 020522 3735 DCA I BEGXR2 7381 020523 2335 ISZ BEGXR2 7382 020524 2331 ISZ BEG013 7383 020525 5316 JMP .-7 7384 020526 5713 JMP I BEG008 7385 7386 020527 0400 BEG12A, 400 7387 020530 0000 BEG012, 0 7388 020531 0000 BEG013, 0 7389 020532 3751 BEGIN1, ERRLST 7390 020533 7702 BEGIN2, ERRLST-ERREND 7391 020534 0000 BEGXR1, 0 7392 020535 0000 BEGXR2, 0 7393 020536 0000 SIZFUJ, 0 /PATCH THIS LOCATION TO USE LESS THAN MAXIMUM CORE 7394 020555 0020 PAGE 020556 0600 020557 0410 020560 1261 020561 0312 020562 0670 020563 0010 020564 1011 020565 7510 020566 1014 020567 1032 020570 0120 020571 7771 020572 3125 020573 5310 020574 0205 020575 1000 020576 5405 020577 2707 7395 7396 020600 1024 BEG015, TAD BEGUSR 7397 020601 7001 IAC 7398 020602 7650 SNA CLA 7399 020603 5777 JMP I (BEG15I /ONE USER 7400 BEG15E, /SEE BEG15I FOR EXPLANATION 7401 / TAD (BEGM7B-1 /"REMOTE" 7402 / JMS I (BEGMFX 7403 020604 4776 JMS I (BEG01Q 7404 020605 4402 BEGM7 /STANDARD? 7405 020606 7410 SKP 7406 020607 5777 JMP I (BEG15I /MULTIPLE USER - STANDARD 7407 020610 1024 BEG15A, TAD BEGUSR 7408 020611 3232 DCA BEG15B 7409 020612 1375 TAD (BEGIOT 7410 020613 3231 DCA BEG15C 7411 020614 1374 TAD (4361 /TEXT "#1" 7412 020615 3773 DCA I (BEGM5A 7413 020616 2232 BEG15D, ISZ BEG15B 7414 020617 7410 SKP 7415 020620 5777 JMP I (BEG15H 7416 020621 4233 JMS BEG014 7417 020622 4365 BEGM5 7418 020623 1030 TAD SS 7419 020624 1372 TAD (10 7420 020625 3631 DCA I BEG15C 7421 020626 2231 ISZ BEG15C 7422 020627 2773 ISZ I (BEGM5A 7423 020630 5216 JMP BEG15D 7424 7425 020631 0000 BEG15C, 0 7426 020632 0000 BEG15B, 0 7427 7428 020633 0000 BEG014, 0 7429 020634 1633 TAD I BEG014 7430 020635 2233 ISZ BEG014 7431 020636 3240 DCA .+2 7432 020637 4771 JMS I (BEG003 7433 020640 0000 0 7434 020641 4770 JMS I (BEG001 7435 020642 1367 TAD (-"7 7436 020643 7540 SMA SZA 7437 020644 5766 JMP I (BEG016 7438 020645 1365 TAD (7 7439 020646 7510 SPA 7440 020647 5766 JMP I (BEG016 7441 020650 7106 CLL RTL 7442 020651 7006 RTL 7443 020652 7006 RTL 7444 020653 3030 DCA SS 7445 020654 4770 JMS I (BEG001 7446 020655 1367 TAD (-"7 7447 020656 7540 SMA SZA 7448 020657 5766 JMP I (BEG016 7449 020660 1365 TAD (7 7450 020661 7510 SPA 7451 020662 5766 JMP I (BEG016 7452 020663 7106 CLL RTL 7453 020664 7004 RAL 7454 020665 1030 TAD SS 7455 020666 3030 DCA SS 7456 020667 5633 JMP I BEG014 7457 /FIGURE OUT HIGHEST CORE FIELD FOR HIM 7458 020670 7301 BEGX08, L0001 7459 020671 3031 DCA BEGCOR /FIELD 1 TOP TO START WITH 7460 020672 1364 TAD (6221 7461 020673 3302 DCA BEGCHK 7462 020674 1305 TAD CNOP 7463 020675 6201 CDF 7464 020676 3763 DCA I (0 7465 020677 6211 CDF 10 7466 020700 1305 TAD CNOP 7467 020701 3763 DCA I (0 7468 020702 0000 BEGCHK, 0 7469 020703 1362 TAD (1000 7470 020704 3763 DCA I (0 7471 020705 7000 CNOP, NOP 7472 020706 1763 TAD I (0 7473 020707 7410 SKP /PDP-8 NXM BUG 7474 020710 7402 HLT /THIS SHOULD HAUL DOWN A PDP-8 7475 020711 6211 CDF 10 /DOUBLE CHECK FOR PDP-8/L 7476 020712 1763 TAD I (0 7477 020713 7640 SZA CLA 7478 020714 5761 JMP I (CORDON /NO MORE CORE 7479 020715 1362 TAD (1000 7480 020716 6201 CDF 7481 020717 1763 TAD I (0 7482 020720 7640 SZA CLA 7483 020721 5761 JMP I (CORDON /NO MORE CORE-PROBABLY A PDP-8/L 7484 020722 2031 ISZ BEGCOR /THIS FIELD WAS SUCCESSFUL 7485 020723 1302 TAD BEGCHK 7486 020724 1372 TAD (10 7487 020725 3302 DCA BEGCHK 7488 020726 5302 JMP BEGCHK 7489 020761 0454 PAGE 020762 1000 020763 0000 020764 6221 020765 0007 020766 1006 020767 7511 020770 1014 020771 1032 020772 0010 020773 4372 020774 4361 020775 3125 020776 0312 020777 1200 7490 7491 BEG009, 7492 NOPUNCH 7493 *KL8JM0 7494 ENPUNCH 7495 020205 6202 CIF 7496 020206 1121 TAD LOOKST 7497 020207 3120 DCA LOOK 7498 NOPUNCH 7499 *KL8JMP 7500 ENPUNCH 7501 025310 1326 TAD SAVLK 7502 025311 7104 CLL RAL 7503 025312 1325 TAD SAVAC 7504 NOPUNCH 7505 *BEG009+6 7506 ENPUNCH 7507 7508 7509 7510 021006 4232 BEG016, JMS BEG003 7511 021007 4303 BEGME 7512 021010 5777 JMP I (BEG014+4 7513 7514 021011 4232 BEG005, JMS BEG003 7515 021012 4303 BEGME 7516 021013 5776 JMP I (BEG006 7517 7518 021014 0000 BEG001, 0 7519 021015 6031 KSF 7520 021016 5215 JMP .-1 7521 021017 6036 KRB 7522 021020 1375 TAD (-203 7523 021021 7450 SNA 7524 021022 5774 JMP I (BEG708 /CHAIN TO EDU25 FOR ^C 7525 021023 1373 TAD (203 7526 021024 6046 TLS 7527 021025 6041 TSF 7528 021026 5225 JMP .-1 7529 021027 0372 AND (177 7530 021030 1371 TAD (200 7531 021031 5614 JMP I BEG001 7532 7533 BEGMF1, 7534 021032 0000 BEG003, 0 7535 021033 7200 CLA 7536 021034 1632 TAD I BEG003 7537 021035 3300 DCA BEG004 7538 021036 2232 ISZ BEG003 7539 021037 1700 TAD I BEG004 7540 021040 7112 CLL RTR 7541 021041 7012 RTR 7542 021042 7012 RTR 7543 021043 4250 JMS BEG03X 7544 021044 1700 TAD I BEG004 7545 021045 4250 JMS BEG03X 7546 021046 2300 ISZ BEG004 7547 021047 5237 JMP BEG003+5 7548 7549 BEGMF2, 7550 021050 0000 BEG03X, 0 7551 021051 0370 AND (77 7552 021052 7450 SNA 7553 021053 5632 JMP I BEG003 7554 021054 1367 TAD (-37 7555 021055 7450 SNA 7556 021056 5274 JMP CRLF 7557 021057 7510 SPA 7558 021060 1366 TAD (100 7559 021061 1365 TAD (237 7560 021062 4264 JMS TTCHAR 7561 021063 5650 JMP I BEG03X 7562 7563 021064 0000 TTCHAR, 0 7564 021065 6046 TLS 7565 021066 7200 CLA 7566 021067 6041 TSF 7567 021070 5267 JMP .-1 7568 021071 6031 KSF 7569 021072 5664 JMP I TTCHAR 7570 021073 5632 JMP I BEG003 /EXIT ON CHAR. 7571 021074 1364 CRLF, TAD (215 7572 021075 4264 JMS TTCHAR 7573 021076 1363 TAD (212 7574 021077 5262 JMP TTCHAR-2 7575 021100 0000 BEG004, 0 7576 7577 /SEE BEG15I FOR EXPLANATION 7578 //MOVE IN MIDDLE OF BEGM7 7579 /BEGMFX, 0 7580 / DCA BEGMF1 7581 / TAD (BEGM7A-1 7582 / DCA BEGMF2 7583 / TAD (-4 7584 / DCA CORPTR 7585 / ISZ BEGMF1 7586 / ISZ BEGMF2 7587 / TAD I BEGMF1 7588 / DCA I BEGMF2 7589 / ISZ CORPTR 7590 / JMP .-5 7591 / JMP I BEGMFX 7592 021163 0212 PAGE 021164 0215 021165 0237 021166 0100 021167 7741 021170 0077 021171 0200 021172 0177 021173 0203 021174 0262 021175 7575 021176 0440 021177 0637 7593 /COMMENTED CODE WILL GENERATE DEVICE CODES FOR THE IDIOT, BUT 7594 /IT IS EASIER TO HAVE HIM TELL US THAN TO TRY TO EXPLAIN TO HIM 7595 /WHEN WE CAN GENERATE HIS CODES. 7596 //STANDARD USED CODES 7597 BEG15I, 7598 / JMS BEG15G /MOVE IN USED IOT'S 7599 / TAD (BEGM7C-1 /"UNUSED" 7600 / JMS I (BEGMFX 7601 / JMS I (BEG01Q 7602 / BEGM7 /"STANDARD UNUSED TTY CODES?" 7603 / JMP BEG15K /NO - GET CODES FROM TTY 7604 / TAD (6305 /YES - GENERATE THEM FROM 30 THRU 56 7605 / DCA SS 7606 / JMP BEG15L /INSERT IF CODE NOT USED 7607 /BEG15M, TAD SS 7608 / TAD (20 /INCREMENT 7609 / DCA SS 7610 / TAD SS 7611 / TAD (-6605 7612 / SZA CLA /LAST? 7613 / JMP .-7 /NO - LOOP 7614 / JMP BEG011 /DONE 7615 / 7616 / 7617 //INSERT IF IOT UNUSED 7618 /BEG15L, TAD SS 7619 / CIA 7620 / DCA BEG15G 7621 / TAD BEGUSR 7622 / DCA USRCTR 7623 / TAD CORPT2 7624 / DCA CORPT2 7625 / TAD BEG15G 7626 / TAD I CORPTR 7627 / SNA CLA 7628 / JMP BEG15M 7629 / ISZ CORPTR 7630 / ISZ USRCTR 7631 / JMP .-6 7632 / TAD SS 7633 / JMS BEG15F 7634 / JMP BEG15M 7635 7636 7637 /NON-STANDARD USED CODES 7638 021200 4224 BEG15H, JMS BEG15G /MOVE IN USED IOT'S 7639 / TAD (BEGM7D-1 7640 / JMS I (BEGMFX /"UNUSED" 7641 021201 4777 JMS I (BEG01Q 7642 / BEGM7A /"UNUSED TTY CODES?" 7643 021202 4626 BEGM9 /"ANY UNUSED TERMINALS?" 7644 021203 5257 JMP BEG011 /NO - DONE 7645 021204 5210 JMP .+4 7646 021205 4777 BEG15K, JMS I (BEG01Q 7647 021206 4622 BEGM8 /"MORE?" 7648 021207 5257 JMP BEG011 /NO 7649 021210 4776 JMS I (BEG014 7650 021211 4646 BEGM10 /"DEVICE CODE?" 7651 021212 1030 TAD SS 7652 021213 1375 TAD (6005 7653 021214 4216 JMS BEG15F /INSERT IN PATCH 7654 021215 5205 JMP BEG15K 7655 7656 7657 /INSERT WORD INTO PATCH 7658 021216 0000 BEG15F, 0 7659 021217 3432 DCA I KLTOP 7660 021220 7340 L7777 7661 021221 1032 TAD KLTOP 7662 021222 3032 DCA KLTOP 7663 021223 5616 JMP I BEG15F 7664 7665 /MOVE IOT'S FROM BEGIOT TO PATCH 7666 021224 0000 BEG15G, 0 7667 021225 7303 CLA CLL IAC BSW /IS IT AN 8/E? 7668 021226 1374 TAD (-100 7669 021227 7640 SZA CLA 7670 021230 5773 JMP I (BEGCK0 7671 021231 1372 TAD (KL8FIX-1 7672 021232 3032 DCA KLTOP 7673 021233 1024 TAD BEGUSR 7674 021234 3027 DCA USRCTR 7675 021235 1371 TAD (BEGIOT-1 7676 021236 3021 DCA CORPTR 7677 021237 1421 TAD I CORPTR 7678 021240 1370 TAD (6005-10 7679 021241 4216 JMS BEG15F 7680 021242 2021 ISZ CORPTR 7681 021243 2027 ISZ USRCTR 7682 021244 5237 JMP .-5 7683 021245 1032 TAD KLTOP 7684 021246 3033 DCA KLSCH /SAVE ENTRY ADDRESS FOR SCHEDULER 7685 021247 7301 L0001 7686 021250 1032 TAD KLTOP 7687 021251 3023 DCA CORPT2 7688 021252 1247 TAD .-3 /INSERT L0001 7689 021253 4216 JMS BEG15F 7690 021254 1367 TAD (KL8INT&177+5200 /INSERT JMP KL8INT 7691 021255 4216 JMS BEG15F 7692 021256 5624 JMP I BEG15G 7693 021257 1366 BEG011, TAD (CLA 7694 021260 3432 DCA I KLTOP 7695 021261 1024 BEGCK0, TAD BEGUSR 7696 021262 7001 IAC 7697 021263 7650 SNA CLA 7698 021264 5765 JMP I (BEGOLD /ONLY 1 USER, ASSUME ANSWER! 7699 021265 4777 JMS I (BEG01Q 7700 021266 4554 BEGMQ /SAME AMT OF STG FOR ALL USERS? 7701 021267 5764 JMP I (BEG500 /NO - GO ASK HIM 7702 021270 5765 JMP I (BEGOLD /YES - ALLOCATE IT FOR HIM 7703 021364 1403 PAGE 021365 3000 021366 7200 021367 5366 021370 5775 021371 3124 021372 7754 021373 1261 021374 7700 021375 6005 021376 0633 021377 0312 7704 LBLK=SS 7705 7706 OLNUM=USRPT2 7707 NUNUM=CORPT2 7708 021400 6221 BEGER0, CDF 20 7709 021401 4777 JMS I (BEG003 7710 021402 4524 WNGDM 7711 021403 6221 BEG500, CDF 20 7712 021404 1024 TAD BEGUSR 7713 021405 3027 DCA USRCTR 7714 021406 1376 TAD (USRLST 7715 021407 3020 DCA USRPTR 7716 021410 1031 TAD BEGCOR 7717 021411 7001 IAC 7718 021412 3025 DCA CURFLD 7719 021413 7340 BEGFLD, L7777 7720 021414 1025 TAD CURFLD 7721 021415 7550 SPA SNA 7722 021416 5200 JMP BEGER0 7723 021417 3025 DCA CURFLD 7724 021420 4777 JMS I (BEG003 7725 021421 4427 BEGMFL 7726 021422 1375 TAD (60 7727 021423 1025 TAD CURFLD 7728 021424 6046 TLS 7729 021425 7200 CLA 7730 021426 6041 TSF 7731 021427 5226 JMP .-1 7732 021430 7344 L7776 7733 021431 1025 TAD CURFLD 7734 021432 7510 SPA 7735 021433 5774 JMP I (BEGXYZ /FUDGE FIELD 1 7736 021434 7650 SNA CLA 7737 021435 1024 TAD BEGUSR /DELETE ONE BLOCK PER USER IN FIELD 2 7738 021436 1373 TAD (20 /FOR USE AS DECTAPE BUFFERS 7739 021437 3030 DCA LBLK 7740 021440 4777 BEGXXX, JMS I (BEG003 7741 021441 4433 BEGMXX 7742 021442 1030 TAD LBLK 7743 021443 4772 JMS I (BEGPRNT 7744 021444 4777 JMS I (BEG003 7745 021445 4441 BEGMX1 7746 021446 4771 JMS I (BEG001 7747 021447 1370 TAD (-"8 7748 021450 7540 SMA SZA 7749 021451 5345 JMP BEGER1 7750 021452 1367 TAD (10 7751 021453 7550 SPA SNA 7752 021454 5345 JMP BEGER1 /BAD USER NUMBER 7753 021455 3420 DCA I USRPTR 7754 021456 1024 TAD BEGUSR 7755 021457 1420 TAD I USRPTR 7756 021460 7740 SMA SZA CLA 7757 021461 5345 JMP BEGER1 /NON-EXISTENT USER DUMMY 7758 021462 2020 ISZ USRPTR 7759 021463 1025 TAD CURFLD 7760 021464 3420 DCA I USRPTR 7761 021465 2020 ISZ USRPTR /AND HIS NO. 7762 021466 4777 BEGRE, JMS I (BEG003 7763 021467 4475 BEGTTI 7764 021470 3022 DCA OLNUM /DOUBLE CHECK! 7765 021471 4771 BEGINP, JMS I (BEG001 7766 021472 1366 TAD (-215 7767 021473 7450 SNA 7768 021474 5314 JMP DN 7769 021475 1365 TAD (215-"9 7770 021476 7540 SMA SZA 7771 021477 5342 JMP BEGER2 /UNGOOD NO 7772 021500 1364 TAD (11 7773 021501 7510 SPA 7774 021502 5342 JMP BEGER2 /LIKEWISE 7775 021503 3023 DCA NUNUM 7776 021504 1022 TAD OLNUM /MULT BY 10 DECIMAL 7777 021505 7104 CLL RAL 7778 021506 7006 RTL 7779 021507 1022 TAD OLNUM 7780 021510 1022 TAD OLNUM 7781 021511 1023 TAD NUNUM /PLUS NEW DIGIT 7782 021512 3022 DCA OLNUM /MAKES NEW NO 7783 021513 5271 JMP BEGINP 7784 021514 1022 DN, TAD OLNUM 7785 021515 7570 SNA SPA SZL 7786 021516 5342 JMP BEGER2 /JUNKY NO 7787 021517 7041 CIA 7788 021520 1030 TAD LBLK 7789 021521 7510 SPA 7790 021522 5200 JMP BEGER0 /TOO MUCH ASKED FOR 7791 021523 3030 DCA LBLK /NEW AMOUNT REMAINING 7792 021524 1022 TAD OLNUM 7793 021525 2027 ISZ USRCTR 7794 021526 7410 SKP 7795 021527 5350 JMP BEGR2 7796 021530 3420 DCA I USRPTR 7797 021531 2020 ISZ USRPTR 7798 021532 1030 TAD LBLK 7799 021533 7640 SZA CLA /MORE TO COME IN THIS FIELD? 7800 021534 5240 JMP BEGXXX /SURE IS 7801 021535 7340 L7777 7802 021536 1025 TAD CURFLD 7803 021537 7750 SNA SPA CLA 7804 021540 5200 JMP BEGER0 7805 021541 5213 JMP BEGFLD /MORE FIELDS TO COME 7806 021542 4777 BEGER2, JMS I (BEG003 7807 021543 4303 BEGME 7808 021544 5266 JMP BEGRE 7809 021545 4777 BEGER1, JMS I (BEG003 7810 021546 4303 BEGME 7811 021547 5240 JMP BEGXXX 7812 021550 1030 BEGR2, TAD LBLK /EXPAND HIM TO FINISH FIELD 7813 021551 3420 DCA I USRPTR /THERE'S NO REASON TO WASTE CORE 7814 021552 2020 ISZ USRPTR /JUST THINK OF ALL THE PEOPLE WHO GO 7815 021553 5763 JMP I (BEG540 /TO BED HUNGRY FOR IT EVERY NIGHT 7816 7817 021563 1600 PAGE 021564 0011 021565 7724 021566 7563 021567 0010 021570 7510 021571 1014 021572 2324 021573 0020 021574 2117 021575 0060 021576 2600 021577 1032 7818 021600 7303 BEG540, CLA CLL IAC BSW 7819 021601 1377 TAD (-100 7820 021602 7640 SZA CLA 7821 021603 5253 JMP BEG550-3 /NOT AN 8/E 7822 021604 1026 TAD BEGDEV 7823 021605 7650 SNA CLA 7824 021606 5255 JMP BEG550-1 /THE FOOL HAS AN 8/E WITH DC02 7825 021607 6201 CDF 7826 021610 1033 TAD KLSCH 7827 021611 3651 DCA I BEGKL5 7828 021612 1032 TAD KLTOP 7829 021613 3652 DCA I BEGKL6 7830 021614 6221 CDF 20 7831 021615 1246 TAD KL8FRST 7832 021616 7640 SZA CLA /FIRST TIME THROUGH 7833 021617 5256 JMP BEG550 /NO 7834 021620 2246 ISZ KL8FRST /SIGNIFY DONE 7835 021621 2245 ISZ BEGKL2 7836 021622 1644 TAD I BEGKL1 7837 021623 3645 DCA I BEGKL2 7838 021624 2244 ISZ BEGKL1 /MOVE PATCH TO PROPER POSITION 7839 021625 5221 JMP .-4 7840 021626 6201 CDF 7841 021627 1376 TAD (CIF 20 7842 021630 3647 DCA I BEGKL3 7843 021631 2247 ISZ BEGKL3 7844 021632 1375 TAD (KL8JMP+2&177+5600 7845 021633 3647 DCA I BEGKL3 7846 021634 1376 TAD (CIF 20 7847 021635 3650 DCA I BEGKL4 7848 021636 2250 ISZ BEGKL4 7849 021637 1374 TAD (KL8JM0+2&177+5600 7850 021640 3650 DCA I BEGKL4 7851 021641 6221 CDF 20 7852 021642 1032 TAD KLTOP 7853 021643 5255 JMP BEG550-1 /SET TOP OF FIELD 2 7854 021644 7755 BEGKL1, KL8LOD 7855 021645 7754 BEGKL2, KL8FIX-1 7856 021646 0000 KL8FRST, 0 7857 021647 5310 BEGKL3, KL8JMP 7858 021650 0205 BEGKL4, KL8JM0 7859 021651 0207 BEGKL5, KL8JM0+2 7860 021652 5312 BEGKL6, KL8JMP+2 7861 7862 021653 6211 CDF 10 7863 021654 3773 DCA I (INTRRV /NOT AN 8/E 7864 021655 3032 DCA KLTOP 7865 021656 6221 BEG550, CDF 20 7866 021657 1372 TAD (USRLST /NOW WE SORT FOR FIELDS TO MAKE IT EASY 7867 021660 3020 DCA USRPTR 7868 021661 1371 TAD (3 7869 021662 1372 TAD (USRLST 7870 021663 3021 DCA CORPTR 7871 021664 1024 TAD BEGUSR 7872 021665 3027 DCA USRCTR 7873 021666 3030 DCA SS /SORT SWITCH FOR MODIFIED BUBBLE SORT 7874 021667 1020 BEG551, TAD USRPTR 7875 021670 7001 IAC 7876 021671 3022 DCA USRPT2 7877 021672 1021 TAD CORPTR 7878 021673 7001 IAC 7879 021674 3023 DCA CORPT2 7880 021675 2027 ISZ USRCTR 7881 021676 7410 SKP 7882 021677 5331 JMP BEG553 7883 021700 1422 TAD I USRPT2 7884 021701 7041 CIA 7885 021702 1423 TAD I CORPT2 7886 021703 7750 SNA SPA CLA /DECREASING SORT ON FIELDS 7887 021704 5322 JMP BEG552 7888 021705 7346 L7775 7889 021706 3030 DCA SS /3 SWAP 7890 021707 1420 TAD I USRPTR 7891 021710 3335 DCA BEG554 7892 021711 1421 TAD I CORPTR 7893 021712 3420 DCA I USRPTR 7894 021713 1335 TAD BEG554 7895 021714 3421 DCA I CORPTR 7896 021715 2020 ISZ USRPTR 7897 021716 2021 ISZ CORPTR 7898 021717 2030 ISZ SS 7899 021720 5307 JMP .-11 7900 021721 2030 ISZ SS /SET TO INDICATE 7901 021722 7326 BEG552, L0002 7902 021723 1022 TAD USRPT2 7903 021724 3020 DCA USRPTR 7904 021725 7326 L0002 7905 021726 1023 TAD CORPT2 7906 021727 3021 DCA CORPTR 7907 021730 5267 JMP BEG551 7908 7909 021731 1030 BEG553, TAD SS 7910 021732 7640 SZA CLA 7911 021733 5256 JMP BEG550 7912 021734 5770 JMP I (BEG600 7913 7914 021735 0000 BEG554, 0000 7915 021770 2000 PAGE 021771 0003 021772 2600 021773 4607 021774 5607 021775 5712 021776 6222 021777 7700 7916 022000 1377 BEG600, TAD (BEGLST 7917 022001 3022 DCA USRPT2 7918 022002 1376 TAD (USRLST 7919 022003 3020 DCA USRPTR 7920 022004 1024 TAD BEGUSR 7921 022005 3027 DCA USRCTR 7922 022006 7340 L7777 7923 022007 3304 DCA BEG603 7924 022010 1775 TAD I (USRLST+1 7925 022011 3025 BEG610, DCA CURFLD 7926 022012 3303 DCA BEG602 7927 022013 1420 NXUSR, TAD I USRPTR 7928 022014 2020 ISZ USRPTR 7929 022015 3422 DCA I USRPT2 7930 022016 2022 ISZ USRPT2 7931 022017 1420 TAD I USRPTR 7932 022020 7041 CIA 7933 022021 1025 TAD CURFLD 7934 022022 7640 SZA CLA 7935 022023 5305 JMP BEG609 /HE WANTS A NEW FIELD 7936 022024 2020 ISZ USRPTR 7937 022025 1025 TAD CURFLD 7938 022026 7104 CLL RAL 7939 022027 7006 RTL 7940 022030 1374 TAD (6201 /MAKE UP XFIELD OP 7941 022031 3422 DCA I USRPT2 /INTO OUR QUICKIE LIST 7942 022032 2022 ISZ USRPT2 7943 022033 1420 TAD I USRPTR 7944 022034 2020 ISZ USRPTR 7945 022035 7041 CIA 7946 022036 3030 DCA SS 7947 022037 1373 TAD (400 7948 022040 2030 ISZ SS 7949 022041 5237 JMP .-2 /MULT. HIS BLOCKSIZE BY 400 OCTAL FOR CORE SIZE 7950 022042 3030 DCA SS 7951 022043 7344 L7776 /FIELD 2? 7952 022044 1025 TAD CURFLD 7953 022045 7640 SZA CLA 7954 022046 5254 JMP .+6 7955 022047 2304 ISZ BEG603 7956 022050 5254 JMP .+4 7957 022051 7344 L7776 7958 022052 1032 TAD KLTOP 7959 022053 5256 JMP .+3 7960 022054 7344 L7776 7961 022055 1303 TAD BEG602 7962 022056 3422 DCA I USRPT2 7963 022057 2022 ISZ USRPT2 7964 022060 1030 TAD SS 7965 022061 7041 CIA 7966 022062 1303 TAD BEG602 7967 022063 3303 DCA BEG602 7968 022064 1303 TAD BEG602 7969 022065 3422 DCA I USRPT2 7970 022066 2022 ISZ USRPT2 7971 022067 2027 ISZ USRCTR 7972 022070 5213 JMP NXUSR 7973 022071 7340 L7777 7974 022072 1025 TAD CURFLD /WAS LAST USER IN FIELD 1? 7975 022073 7640 SZA CLA 7976 022074 5772 JMP I (BEG700 7977 022075 7340 L7777 /YES - DROP HIS LOWER BOUNDRY 7978 022076 1022 TAD USRPT2 /TO END OF LAST SWAP AREA 7979 022077 3303 DCA BEG602 7980 022100 4327 JMS BEGF1S 7981 022101 3703 DCA I BEG602 7982 022102 5772 JMP I (BEG700 7983 022103 0000 BEG602, 0 /TOP 7984 022104 0000 BEG603, 0 /SWITCH FOR FIRST FIELD 2 USER 7985 022105 1020 BEG609, TAD USRPTR 7986 022106 3025 DCA CURFLD /SAVE IT 7987 022107 7340 L7777 7988 022110 1020 TAD USRPTR 7989 022111 3020 DCA USRPTR /TAKE OUT ENTRIES 7990 022112 7340 L7777 7991 022113 1022 TAD USRPT2 7992 022114 3022 DCA USRPT2 7993 022115 1425 TAD I CURFLD /COUNT DOWN FIELD 7994 022116 5211 JMP BEG610 7995 7996 022117 4327 BEGXYZ, JMS BEGF1S /CALCULATE NUMBER OF BLOCKS IN FIELD 1 7997 022120 7041 CIA /SUBTRACT FROM 4K 7998 022121 0371 AND (7400 /ROUND DOWN TO NEAREST INTEGRAL BLOCK 7999 022122 7104 CLL RAL 8000 022123 7006 RTL 8001 022124 7006 RTL 8002 022125 3030 DCA LBLK /TO GET NUMBER OF BLOCKS 8003 022126 5770 JMP I (BEGXXX 8004 022127 0000 BEGF1S, 0 /CALCULATE SIZE OF EDU25 IN FIELD 1 8005 022130 7200 CLA 8006 022131 1024 TAD BEGUSR 8007 022132 3030 DCA LBLK 8008 022133 1367 TAD (SWAPR /ADD SIZE OF ALL SWAP REGIONS 8009 022134 2030 ISZ LBLK 8010 022135 5333 JMP .-2 8011 022136 1366 TAD (ORG1 /TO AREA ALREADY TAKEN UP BY EDU25 8012 022137 5727 JMP I BEGF1S 8013 022166 5400 PAGE 022167 0074 022170 1440 022171 7400 022172 2200 022173 0400 022174 6201 022175 2601 022176 2600 022177 4000 8014 8015 022200 1377 BEG700, TAD (BEGLST 8016 022201 3020 DCA USRPTR 8017 022202 3030 DCA SS 8018 022203 1024 TAD BEGUSR 8019 022204 3027 DCA USRCTR 8020 022205 1376 TAD (4 8021 022206 1377 TAD (BEGLST 8022 022207 3022 DCA USRPT2 8023 022210 2027 BEG7X1, ISZ USRCTR 8024 022211 7410 SKP 8025 022212 5246 JMP BEG703 8026 022213 1420 TAD I USRPTR 8027 022214 7041 CIA 8028 022215 1422 TAD I USRPT2 8029 022216 7450 SNA 8030 022217 5775 JMP I (BEGER0 /MULTIPLE ASSIGNMENTS FOR ONE USER 8031 022220 7700 SMA CLA /ASCENDING SORT ON USER NUMBERS 8032 022221 5240 JMP BEG702 8033 022222 1374 TAD (-4 8034 022223 3030 DCA SS 8035 022224 1420 BEG701, TAD I USRPTR 8036 022225 3021 DCA CORPTR 8037 022226 1422 TAD I USRPT2 8038 022227 3420 DCA I USRPTR 8039 022230 1021 TAD CORPTR 8040 022231 3422 DCA I USRPT2 8041 022232 2020 ISZ USRPTR 8042 022233 2022 ISZ USRPT2 8043 022234 2030 ISZ SS 8044 022235 5224 JMP BEG701 8045 022236 2030 ISZ SS 8046 022237 1374 TAD (-4 8047 022240 1022 BEG702, TAD USRPT2 8048 022241 3020 DCA USRPTR 8049 022242 1376 TAD (4 8050 022243 1020 TAD USRPTR 8051 022244 3022 DCA USRPT2 8052 022245 5210 JMP BEG7X1 8053 8054 022246 1030 BEG703, TAD SS 8055 022247 7640 SZA CLA 8056 022250 5200 JMP BEG700 /MORE TO COME 8057 022251 1377 TAD (BEGLST 8058 022252 3020 DCA USRPTR /NOW TAKE OUT USER NOS. 8059 022253 1024 TAD BEGUSR 8060 022254 3027 DCA USRCTR 8061 022255 7001 IAC 8062 022256 1377 TAD (BEGLST 8063 022257 3022 DCA USRPT2 8064 022260 7346 BEG704, L7775 8065 022261 3030 DCA SS 8066 022262 1422 TAD I USRPT2 8067 022263 3420 DCA I USRPTR 8068 022264 2020 ISZ USRPTR 8069 022265 2022 ISZ USRPT2 8070 022266 2030 ISZ SS 8071 022267 5262 JMP .-5 8072 022270 2022 ISZ USRPT2 /SKIP OVER USER NO. 8073 022271 2027 ISZ USRCTR 8074 022272 5260 JMP BEG704 8075 022273 4773 JMS I (BEG01Q 8076 022274 4602 BEGM6A 8077 022275 5772 JMP I (BEG708 /OH NO--ALL THIS FOR NOTHING! 8078 8079 /ALL'S WELL - PRINT "END OF DIALOGUE" AND MOVE IN OS/8 BOOTSTRAP 8080 / AND PAGE 7600 INTO FIELD 0 8081 022276 4771 JMS I (BEG003 8082 022277 4512 BEGM6 8083 8084 022300 6211 BEGMV4, CDF 10 8085 022301 1721 TAD I BEGMV1 /MOVE PAGE 37 FIELD 0 INTO ITS SPOT 8086 022302 6201 CDF 8087 022303 3722 DCA I BEGMV2 8088 022304 2321 ISZ BEGMV1 8089 022305 2322 ISZ BEGMV2 8090 022306 2323 ISZ BEGMV3 8091 022307 5300 JMP BEGMV4 8092 8093 022310 6221 OS8LP1, CDF 20 8094 022311 1434 TAD I OS8PTR 8095 022312 2034 ISZ OS8PTR 8096 022313 6201 CDF 8097 022314 3720 DCA I OS8PT2 8098 022315 2320 ISZ OS8PT2 8099 022316 5310 JMP OS8LP1 8100 8101 022317 5770 JMP I (BEG750 8102 8103 022320 7756 OS8PT2, 7756 /INTO RIM LOCATIONS 8104 022321 7400 BEGMV1, MVPAG 8105 022322 7600 BEGMV2, 7600 8106 022323 7622 BEGMV3, -156 8107 022324 0000 BEGPRNT,0 8108 022325 3360 DCA BEG705 8109 022326 1367 TAD (-12 8110 022327 3356 DCA BEG706 8111 022330 3357 DCA BEG707 8112 022331 5334 JMP .+3 8113 022332 2357 ISZ BEG707 8114 022333 3360 DCA BEG705 8115 022334 1360 BEGPR1, TAD BEG705 8116 022335 1356 TAD BEG706 8117 022336 7500 SMA 8118 022337 5332 JMP .-5 8119 022340 7200 CLA 8120 022341 1366 TAD (60 8121 022342 1357 TAD BEG707 8122 022343 6046 TLS 8123 022344 6041 TSF 8124 022345 5344 JMP .-1 8125 022346 6032 KCC 8126 022347 2356 ISZ BEG706 8127 022350 7410 SKP 8128 022351 5724 JMP I BEGPRNT /WAS SECOND TIME THROUGH 8129 022352 7340 L7777 8130 022353 3356 DCA BEG706 8131 022354 3357 DCA BEG707 8132 022355 5334 JMP BEGPR1 8133 022356 0000 BEG706, 0 8134 022357 0000 BEG707, 0 8135 022360 0000 BEG705, 0 8136 BEG604=SS 8137 BEG605=USRPTR 8138 022366 0060 PAGE 022367 7766 022370 2400 022371 1032 022372 0262 022373 0312 022374 7774 022375 1400 022376 0004 022377 4000 8139 8140 022400 6221 BEG750, CDF 20 8141 022401 1031 TAD BEGCOR 8142 022402 3777 DCA I (BGCORS 8143 022403 6201 CDF 8144 022404 1776 TAD I (MLOOKE 8145 022405 1024 TAD BEGUSR 8146 022406 3776 DCA I (MLOOKE /CORRECT FOR NO. OF USERS 8147 022407 1776 TAD I (MLOOKE 8148 022410 7041 CIA 8149 022411 3775 DCA I (LOOK 8150 022412 1024 TAD BEGUSR 8151 022413 3774 DCA I (MUSER /SETUP FOR NO. OF USERS 8152 022414 1373 TAD (BEGIOT-1 8153 022415 3030 DCA BEG604 8154 022416 1372 TAD (INTRPL 8155 022417 3020 DCA BEG605 8156 022420 7340 L7777 8157 022421 1024 TAD BEGUSR 8158 022422 3306 DCA BEG60X 8159 /- TAD BEGUSR 8160 022423 1350 TAD LPATCH /+ -10 8161 022424 3027 DCA USRCTR 8162 022425 6221 BEG75Q, CDF 20 8163 022426 1430 TAD I BEG604 8164 022427 2030 ISZ BEG604 8165 022430 6201 CDF 8166 022431 2306 ISZ BEG60X 8167 022432 5236 JMP .+4 8168 022433 7240 CLA CMA 8169 022434 3306 DCA BEG60X 8170 /- TAD (CLA-6006 8171 022435 1371 TAD (7417-6006 /+ LSR?? 8172 022436 1370 TAD (6006 8173 022437 3420 DCA I BEG605 8174 022440 2020 ISZ BEG605 8175 022441 2027 ISZ USRCTR 8176 022442 5225 JMP BEG75Q 8177 022443 6201 CDF 8178 022444 1024 TAD BEGUSR 8179 022445 3030 DCA SS 8180 022446 2030 ISZ SS 8181 022447 7410 SKP 8182 022450 5253 JMP .+3 8183 022451 7130 CLL CML RAR 8184 022452 5246 JMP .-4 8185 022453 1367 TAD (10 8186 022454 3766 DCA I (AUSER 8187 022455 6221 CDF 20 8188 022456 1026 TAD BEGDEV 8189 022457 7650 SNA CLA 8190 022460 5273 JMP BEG76X 8191 022461 6201 CDF 8192 022462 3765 DCA I (XOUTL6+3 8193 022463 3764 DCA I (XOUTL6-3 8194 022464 3763 DCA I (INTRP2-2 8195 022465 3762 DCA I (INTRP2+4 8196 022466 3761 DCA I (INTRP5 8197 022467 3760 DCA I (INTRP5+1 8198 022470 6211 CDF 10 8199 022471 3757 DCA I (INTRV2+1 8200 022472 5756 JMP I (BEG800 8201 8202 022473 1355 BEG76X, TAD (17 8203 022474 6117 MTON 8204 022475 7301 L0001 8205 022476 6115 MINT 8206 022477 7200 CLA /TURN ON INTERRUPTS 8207 022500 6211 CDF 10 8208 022501 1354 TAD (TLS 8209 022502 3753 DCA I (INTRRV 8210 022503 1352 TAD (MTLS 8211 022504 3751 DCA I (INTRV2+2 8212 022505 5756 JMP I (BEG800 8213 8214 022506 0000 BEG60X, 0 8215 *2550 /+ 8216 022550 7770 LPATCH, -10 /+ 8217 022551 4613 PAGE 022552 6126 022553 4607 022554 6046 022555 0017 022556 3600 022557 4612 022560 5266 022561 5265 022562 5245 022563 5237 022564 3424 022565 3432 022566 5335 022567 0010 022570 6006 022571 1411 022572 5337 022573 3124 022574 5334 022575 0120 022576 0230 022577 7247 8218 022600 0000 USRLST, 0 8219 PAGE 8220 023000 7340 BEGOLD, L7777 8221 023001 1031 TAD BEGCOR /COUNT DOWN BY ONE FOR BREVITY OF LISTS 8222 023002 7106 CLL RTL 8223 023003 7004 RAL 8224 023004 1024 TAD BEGUSR /GET ADDR. OF ADDR. OF LIST 8225 023005 1377 TAD (BGLD1 8226 023006 3030 DCA SS 8227 023007 1430 TAD I SS 8228 023010 3030 DCA SS 8229 023011 1376 TAD (USRLST 8230 023012 3020 DCA USRPTR /SETUP TO SLIDE 8231 023013 1024 TAD BEGUSR 8232 023014 3027 DCA USRCTR /NO. OF SLIDES 8233 023015 1430 BEGOL1, TAD I SS 8234 023016 7106 CLL RTL 8235 023017 7006 RTL 8236 023020 0375 AND (7 8237 023021 7001 IAC 8238 023022 3420 DCA I USRPTR /USER NUMBER 8239 023023 2020 ISZ USRPTR 8240 023024 1430 TAD I SS 8241 023025 7112 CLL RTR 8242 023026 7012 RTR 8243 023027 7012 RTR 8244 023030 0375 AND (7 /SET FIELD 8245 023031 3420 DCA I USRPTR 8246 023032 2020 ISZ USRPTR 8247 023033 1430 TAD I SS 8248 023034 0374 AND (17 8249 023035 7001 IAC 8250 023036 3420 DCA I USRPTR /NUMBER OF BLOCKS 8251 023037 2030 ISZ SS 8252 023040 2020 ISZ USRPTR 8253 023041 2027 ISZ USRCTR 8254 023042 5215 JMP BEGOL1 8255 023043 5773 JMP I (BEG540 /CONTINUE ON...WE'VE ANSWERED QUESTIONS FOR HOM NOW. 8256 023044 3424 BGLD1, BGL28 8257 023045 3352 BGL27 8258 023046 3306 BGL26 8259 023047 3250 BGL25 8260 023050 3224 BGL24 8261 023051 3210 BGL23 8262 023052 3202 BGL22 8263 023053 3200 BGL21 8264 023054 3434 BGL38 8265 023055 3361 BGL37 8266 023056 3314 BGL36 8267 023057 3255 BGL35 8268 023060 3230 BGL34 8269 023061 3213 BGL33 8270 023062 3204 BGL32 8271 023063 3201 BGL31 8272 023064 3444 BGL48 8273 023065 3370 BGL47 8274 023066 3322 BGL46 8275 023067 3262 BGL45 8276 023070 3234 BGL44 8277 023071 3216 BGL43 8278 023072 3206 BGL42 8279 023073 3201 BGL41 8280 023074 3454 BGL58 8281 023075 3377 BGL57 8282 023076 3330 BGL56 8283 023077 3267 BGL55 8284 023100 3240 BGL54 8285 023101 3221 BGL53 8286 023102 3206 BGL52 8287 023103 3201 BGL51 8288 023104 3464 BGL68 8289 023105 3406 BGL67 8290 023106 3336 BGL66 8291 023107 3274 BGL65 8292 023110 3244 BGL64 8293 023111 3221 BGL63 8294 023112 3206 BGL62 8295 023113 3201 BGL61 8296 023114 3474 BGL78 8297 023115 3415 BGL77 8298 023116 3344 BGL76 8299 023117 3301 BGL75 8300 023120 3244 BGL74 8301 023121 3221 BGL73 8302 023122 3206 BGL72 8303 023123 3201 BGL71 8304 8305 8306 8307 8308 023124 0040 0040 8309 023125 0120 BEGIOT, 0120 8310 023126 0120 0120 8311 023127 0120 0120 8312 023130 0120 0120 8313 023131 0120 0120 8314 023132 0120 0120 8315 023133 0120 0120 8316 023173 1600 PAGE 023174 0017 023175 0007 023176 2600 023177 3044 8317 X=100 8318 /THE ENTRIES IN THIS TABLE ARE AS FOLLOWS: 8319 /LABELS INDICATE NUMBER OF FIELDS AND NUMBER OF USERS. 8320 / E.G. THE ENTRIES AT BGL32 ARE USED TO ALLOCATE 8321 / A 2 USER SYSTEM IN A 16K (HIGHEST FIELD=3) 8322 / MACHINE. 8323 /THERE IS ONE ENTRY FOR EACH USER IN THE CONFIGURATION. 8324 /EACH ENTRY CONTAINS THE FOLLOWING INFORMATION: 8325 / USER NUMBER MINUS ONE 8326 / USER FIELD 8327 / NUMBER OF BLOCKS MINUS ONE FOR THIS USER 8328 /E.G. THE ENTRIES AT BGL32 ARE: 8329 / BGL32, 03^X+17 8330 / 12^X+15 8331 /THIS INDICATES: 8332 / USER 1 IS IN FIELD 3 WITH 20 BLOCKS 8333 / USER 2 IS IN FIELD 2 WITH 16 BLOCKS 8334 8335 8336 8337 023200 0216 BGL21, 02^X+16 8338 BGL31, 8339 BGL41, 8340 BGL51, 8341 BGL61, 8342 023201 0317 BGL71, 03^X+17 8343 023202 0206 BGL22, 02^X+6 8344 023203 1206 12^X+6 8345 023204 0317 BGL32, 03^X+17 8346 023205 1215 12^X+15 8347 BGL42, 8348 BGL52, 8349 BGL62, 8350 023206 0417 BGL72, 04^X+17 8351 023207 1317 13^X+17 8352 023210 0206 BGL23, 02^X+6 8353 023211 1205 12^X+5 8354 023212 2103 21^X+3 8355 023213 0214 BGL33, 02^X+14 8356 023214 1307 13^X+7 8357 023215 2307 23^X+7 8358 023216 0417 BGL43, 04^X+17 8359 023217 1317 13^X+17 8360 023220 2214 22^X+14 8361 BGL53, 8362 BGL63, 8363 023221 0517 BGL73, 05^X+17 8364 023222 1417 14^X+17 8365 023223 2317 23^X+17 8366 023224 0203 BGL24, 02^X+3 8367 023225 1203 12^X+3 8368 023226 2203 22^X+3 8369 023227 3103 31^X+3 8370 023230 0307 BGL34, 03^X+7 8371 023231 1307 13^X+7 8372 023232 2205 22^X+5 8373 023233 3205 32^X+5 8374 023234 0317 BGL44, 03^X+17 8375 023235 1213 12^X+13 8376 023236 2407 24^X+7 8377 023237 3407 34^X+7 8378 023240 0517 BGL54, 05^X+17 8379 023241 1417 14^X+17 8380 023242 2317 23^X+17 8381 023243 3213 32^X+13 8382 BGL64, 8383 023244 0617 BGL74, 06^X+17 8384 023245 1517 15^X+17 8385 023246 2417 24^X+17 8386 023247 3317 33^X+17 8387 023250 0202 BGL25, 02^X+2 8388 023251 1202 12^X+2 8389 023252 2202 22^X+2 8390 023253 3102 31^X+2 8391 023254 4201 42^X+1 8392 023255 0305 BGL35, 03^X+5 8393 023256 1205 12^X+5 8394 023257 2304 23^X+4 8395 023260 3304 33^X+4 8396 023261 4204 42^X+4 8397 023262 0212 BGL45, 02^X+12 8398 023263 1407 14^X+7 8399 023264 2407 24^X+7 8400 023265 3307 33^X+7 8401 023266 4307 43^X+7 8402 023267 0517 BGL55, 05^X+17 8403 023270 1417 14^X+17 8404 023271 2212 22^X+12 8405 023272 3307 33^X+7 8406 023273 4307 43^X+7 8407 023274 0617 BGL65, 06^X+17 8408 023275 1517 15^X+17 8409 023276 2417 24^X+17 8410 023277 3317 33^X+17 8411 023300 4212 42^X+12 8412 023301 0717 BGL75, 07^X+17 8413 023302 1617 16^X+17 8414 023303 2517 25^X+17 8415 023304 3417 34^X+17 8416 023305 4317 43^X+17 8417 023306 0102 BGL26, 01^X+2 8418 023307 1201 12^X+1 8419 023310 2201 22^X+1 8420 023311 3201 32^X+1 8421 023312 4201 42^X+1 8422 023313 5201 52^X+1 8423 023314 0305 BGL36, 03^X+5 8424 023315 1304 13^X+4 8425 023316 2304 23^X+4 8426 023317 3204 32^X+4 8427 023320 4204 42^X+4 8428 023321 5102 51^X+2 8429 023322 0407 BGL46, 04^X+7 8430 023323 1407 14^X+7 8431 023324 2307 23^X+7 8432 023325 3307 33^X+7 8433 023326 4204 42^X+4 8434 023327 5204 52^X+4 8435 023330 0517 BGL56, 05^X+17 8436 023331 1211 12^X+11 8437 023332 2407 24^X+7 8438 023333 3407 34^X+7 8439 023334 4307 43^X+7 8440 023335 5307 53^X+7 8441 023336 0617 BGL66, 06^X+17 8442 023337 1517 15^X+17 8443 023340 2417 24^X+17 8444 023341 3211 32^X+11 8445 023342 4307 43^X+7 8446 023343 5307 53^X+7 8447 023344 0717 BGL76, 07^X+17 8448 023345 1617 16^X+17 8449 023346 2517 25^X+17 8450 023347 3417 34^X+17 8451 023350 4317 43^X+17 8452 023351 5211 52^X+11 8453 023352 0201 BGL27, 02^X+1 8454 023353 1201 12^X+1 8455 023354 2201 22^X+1 8456 023355 3201 32^X+1 8457 023356 4101 41^X+1 8458 023357 5200 52^X+0 8459 023360 6100 61^X+0 8460 023361 0204 BGL37, 02^X+4 8461 023362 1303 13^X+3 8462 023363 2303 23^X+3 8463 023364 3303 33^X+3 8464 023365 4303 43^X+3 8465 023366 5203 52^X+3 8466 023367 6102 61^X+2 8467 023370 0407 BGL47, 04^X+7 8468 023371 1407 14^X+7 8469 023372 2305 23^X+5 8470 023373 3304 33^X+4 8471 023374 4304 43^X+4 8472 023375 5204 52^X+4 8473 023376 6203 62^X+3 8474 023377 0210 BGL57, 02^X+10 8475 023400 1507 15^X+7 8476 023401 2507 25^X+7 8477 023402 3407 34^X+7 8478 023403 4407 44^X+7 8479 023404 5307 53^X+7 8480 023405 6307 63^X+7 8481 023406 0617 BGL67, 06^X+17 8482 023407 1517 15^X+17 8483 023410 2210 22^X+10 8484 023411 3407 34^X+7 8485 023412 4407 44^X+7 8486 023413 5307 53^X+7 8487 023414 6307 63^X+7 8488 023415 0717 BGL77, 07^X+17 8489 023416 1617 16^X+17 8490 023417 2517 25^X+17 8491 023420 3417 34^X+17 8492 023421 4210 42^X+10 8493 023422 5307 53^X+7 8494 023423 6307 63^X+7 8495 023424 0201 BGL28, 02^X+1 8496 023425 1201 12^X+1 8497 023426 2101 21^X+1 8498 023427 3100 31^X+0 8499 023430 4200 42^X+0 8500 023431 5200 52^X+0 8501 023432 6200 62^X+0 8502 023433 7200 72^X+0 8503 023434 0303 BGL38, 03^X+3 8504 023435 1203 12^X+3 8505 023436 2203 22^X+3 8506 023437 3302 33^X+2 8507 023440 4302 43^X+2 8508 023441 5302 53^X+2 8509 023442 6302 63^X+2 8510 023443 7101 71^X+1 8511 023444 0207 BGL48, 02^X+7 8512 023445 1405 14^X+5 8513 023446 2404 24^X+4 8514 023447 3404 34^X+4 8515 023450 4303 43^X+3 8516 023451 5303 53^X+3 8517 023452 6303 63^X+3 8518 023453 7303 73^X+3 8519 023454 0407 BGL58, 04^X+7 8520 023455 1407 14^X+7 8521 023456 2307 23^X+7 8522 023457 3307 33^X+7 8523 023460 4207 42^X+7 8524 023461 5505 55^X+5 8525 023462 6504 65^X+4 8526 023463 7504 75^X+4 8527 023464 0617 BGL68, 06^X+17 8528 023465 1507 15^X+7 8529 023466 2507 25^X+7 8530 023467 3407 34^X+7 8531 023470 4407 44^X+7 8532 023471 5307 53^X+7 8533 023472 6307 63^X+7 8534 023473 7207 72^X+7 8535 023474 0717 BGL78, 07^X+17 8536 023475 1617 16^X+17 8537 023476 2517 25^X+17 8538 023477 3407 34^X+7 8539 023500 4407 44^X+7 8540 023501 5307 53^X+7 8541 023502 6307 63^X+7 8542 023503 7207 72^X+7 8543 8544 PAGE 8545 8546 023600 6221 BEG800, CDF 20 8547 023601 1737 TAD I BEG804 8548 023602 4777 JMS I (BEG900 8549 023603 1376 TAD (-4 8550 023604 4342 JMS BEGZER 8551 023605 1375 TAD (READY 8552 023606 4777 JMS I (BEG900 8553 023607 1374 TAD (-10 8554 023610 4342 JMS BEGZER 8555 023611 7340 L7777 8556 023612 4777 JMS I (BEG900 8557 023613 4777 JMS I (BEG900 8558 023614 1740 TAD I BEG805 8559 023615 1373 TAD (6006-10 8560 023616 4777 JMS I (BEG900 8561 023617 1735 TAD I BEG802 8562 023620 4777 JMS I (BEG900 8563 023621 1372 TAD (-5 8564 023622 4342 JMS BEGZER 8565 023623 1371 TAD (BUFFER 8566 023624 1736 TAD I BEG803 8567 023625 4777 JMS I (BEG900 8568 023626 1371 TAD (BUFFER 8569 023627 1736 TAD I BEG803 8570 023630 4777 JMS I (BEG900 8571 023631 1371 TAD (BUFFER 8572 023632 1736 TAD I BEG803 8573 023633 4777 JMS I (BEG900 8574 023634 1370 TAD (BUFFER-40 8575 023635 1736 TAD I BEG803 8576 023636 4777 JMS I (BEG900 8577 023637 1370 TAD (BUFFER-40 8578 023640 1736 TAD I BEG803 8579 023641 4777 JMS I (BEG900 8580 023642 7346 L7775 8581 023643 4342 JMS BEGZER 8582 023644 1367 TAD (LINE1 8583 023645 1736 TAD I BEG803 8584 023646 4777 JMS I (BEG900 8585 023647 1367 TAD (LINE1 8586 023650 1736 TAD I BEG803 8587 023651 4777 JMS I (BEG900 8588 023652 1737 TAD I BEG804 8589 023653 4777 JMS I (BEG900 8590 023654 1366 TAD (LINE0 8591 023655 1736 TAD I BEG803 8592 023656 4777 JMS I (BEG900 8593 023657 1365 TAD (BUFCOM 8594 023660 1736 TAD I BEG803 8595 023661 4777 JMS I (BEG900 8596 023662 4777 JMS I (BEG900 8597 023663 4777 JMS I (BEG900 8598 023664 1364 TAD (1617 /"NO" 8599 023665 4777 JMS I (BEG900 8600 023666 1363 TAD (1605 /"NE" 8601 023667 4777 JMS I (BEG900 8602 023670 4777 JMS I (BEG900 8603 023671 1362 TAD (560 /"E0" 8604 023672 4777 JMS I (BEG900 8605 023673 1361 TAD (XREADC 8606 023674 4777 JMS I (BEG900 8607 023675 1360 TAD (XPRNTC 8608 023676 4777 JMS I (BEG900 8609 023677 1357 TAD (XFREE2 8610 023700 4777 JMS I (BEG900 8611 023701 1356 TAD (XFREE3 8612 023702 4777 JMS I (BEG900 8613 023703 1341 TAD BEGBAS 8614 023704 4777 JMS I (BEG900 8615 023705 1341 TAD BEGBAS 8616 023706 1355 TAD (400 8617 023707 3341 DCA BEGBAS 8618 023710 1354 TAD (-12 8619 023711 4342 JMS BEGZER 8620 023712 7301 L0001 8621 023713 4777 JMS I (BEG900 8622 023714 1353 TAD (0203 8623 023715 4777 JMS I (BEG900 8624 023716 1352 TAD (5555 8625 023717 4777 JMS I (BEG900 8626 023720 2335 ISZ BEG802 8627 023721 2335 ISZ BEG802 8628 023722 2335 ISZ BEG802 8629 023723 2336 ISZ BEG803 8630 023724 2336 ISZ BEG803 8631 023725 2336 ISZ BEG803 8632 023726 2337 ISZ BEG804 8633 023727 2337 ISZ BEG804 8634 023730 2337 ISZ BEG804 8635 023731 2340 ISZ BEG805 8636 023732 2024 ISZ BEGUSR 8637 023733 5200 JMP BEG800 8638 023734 5751 JMP I (FINISH 8639 8640 023735 4000 BEG802, BEGLST 8641 023736 4002 BEG803, BEGLST+2 8642 023737 4001 BEG804, BEGLST+1 8643 023740 3124 BEG805, BEGIOT-1 8644 023741 0000 BEGBAS, 0000 /BUFFERS BEGIN AT 0 IN FIELD 2 8645 8646 023742 0000 BEGZER, 0 8647 023743 3350 DCA BEGZCT 8648 023744 4777 JMS I (BEG900 8649 023745 2350 ISZ BEGZCT 8650 023746 5344 JMP .-2 8651 023747 5742 JMP I BEGZER 8652 8653 023750 0000 BEGZCT, 0 8654 8655 023751 7200 PAGE 023752 5555 023753 0203 023754 7766 023755 0400 023756 6007 023757 6000 023760 7356 023761 3702 023762 0560 023763 1605 023764 1617 023765 0100 023766 0162 023767 0164 023770 0000 023771 0040 023772 7773 023773 5776 023774 7770 023775 0464 023776 7774 023777 4201 8656 024000 0000 BEGLST, 0 8657 PAGE 8658 8659 024200 5400 BEG801, ORG1 /KLUDGE TO MAKE EXTRA ROOM 8660 8661 024201 0000 BEG900, 0 8662 024202 6211 CDF 10 8663 024203 3600 DCA I BEG801 8664 024204 6221 CDF 20 8665 024205 2200 ISZ BEG801 8666 024206 5601 JMP I BEG900 8667 8668 024207 3711 OS8ERM, TEXT "_ILLEGAL OS/8 DEVICE FOUND_NO BOOTSTRAP POSSIBLE!__" 024210 1414 024211 0507 024212 0114 024213 4017 024214 2357 024215 7040 024216 0405 024217 2611 024220 0305 024221 4006 024222 1725 024223 1604 024224 3716 024225 1740 024226 0217 024227 1724 024230 2324 024231 2201 024232 2040 024233 2017 024234 2323 024235 1102 024236 1405 024237 4137 024240 3700 8669 024241 3724 OS8MSG, TEXT "_TO BOOTSTRAP BACK " 024242 1740 024243 0217 024244 1724 024245 2324 024246 2201 024247 2040 024250 0201 024251 0313 024252 4000 8670 024253 1723 OS8M1, TEXT "OS/8 " 024254 5770 024255 4000 8671 024256 1517 OS8M2, TEXT "MONITOR:_ LOAD ADDRESS 07600_ AND START__" 024257 1611 024260 2417 024261 2272 024262 3740 024263 1417 024264 0104 024265 4001 024266 0404 024267 2205 024270 2323 024271 4060 024272 6766 024273 6060 024274 3740 024275 0116 024276 0440 024277 2324 024300 0122 024301 2437 024302 3700 8672 024303 3711 BEGME, TEXT %_INVALID RESPONSE_% 024304 1626 024305 0114 024306 1104 024307 4022 024310 0523 024311 2017 024312 1623 024313 0537 024314 0000 8673 024315 3737 BEGM1, TEXT %__EDUSYSTEM 25 BASIC__% 024316 0504 024317 2523 024320 3123 024321 2405 024322 1540 024323 6265 024324 4002 024325 0123 024326 1103 024327 3737 024330 0000 8674 024331 3716 BEGM2, TEXT %_NUMBER OF USERS (1 TO 8)?% 024332 2515 024333 0205 024334 2240 024335 1706 024336 4025 024337 2305 024340 2223 024341 4050 024342 6140 024343 2417 024344 4070 024345 5177 024346 0000 8675 024347 3720 BEGM4, TEXT %_PDP-8/L COMPUTER (Y OR N)?% 024350 0420 024351 5570 024352 5714 024353 4003 024354 1715 024355 2025 024356 2405 024357 2240 024360 5031 024361 4017 024362 2240 024363 1651 024364 7700 8676 024365 3724 BEGM5, TEXT %_TELETYPE #1 DEVICE CODE?% 024366 0514 024367 0524 024370 3120 024371 0540 024372 4361 024373 4004 024374 0526 024375 1103 024376 0540 024377 0317 024400 0405 024401 7700 8677 BEGM5A=BEGM5+5 8678 024402 3723 BEGM7, TEXT %_STANDARD REMOTE TELETYPE CODES (Y OR N)?% 024403 2401 024404 1604 024405 0122 024406 0440 024407 2205 024410 1517 024411 2405 024412 4024 024413 0514 024414 0524 024415 3120 024416 0540 024417 0317 024420 0405 024421 2340 024422 5031 024423 4017 024424 2240 024425 1651 024426 7700 8679 /BEGM7A=BEGM7+4 8680 /BEGM7B, TEXT %D REMOTE% 8681 /*.-1 8682 /BEGM7C, TEXT %D UNUSED% 8683 /*.-1 8684 /BEGM7D, TEXT % _UNUSED% 8685 /*.-1 8686 /-BEGMFL, TEXT %_FIELD% 8687 024427 3706 BEGMFL, TEXT %_FIELD % /+ 024430 1105 024431 1404 024432 4000 8688 024433 3724 BEGMXX, TEXT %_THERE ARE % 024434 1005 024435 2205 024436 4001 024437 2205 024440 4000 8689 024441 4002 BEGMX1, TEXT % BLOCKS LEFT IN THIS FIELD._ YOUR ALLOCATION FOR USER #% 024442 1417 024443 0313 024444 2340 024445 1405 024446 0624 024447 4011 024450 1640 024451 2410 024452 1123 024453 4006 024454 1105 024455 1404 024456 5637 024457 4031 024460 1725 024461 2240 024462 0114 024463 1417 024464 0301 024465 2411 024466 1716 024467 4006 024470 1722 024471 4025 024472 2305 024473 2240 024474 4300 8690 024475 4027 BEGTTI, TEXT % WILL BE HOW MANY BLOCKS?% 024476 1114 024477 1440 024500 0205 024501 4010 024502 1727 024503 4015 024504 0116 024505 3140 024506 0214 024507 1703 024510 1323 024511 7700 8691 024512 3737 BEGM6, TEXT %__END OF DIALOGUE_% 024513 0516 024514 0440 024515 1706 024516 4004 024517 1101 024520 1417 024521 0725 024522 0537 024523 0000 8692 024524 3702 WNGDM, TEXT %_BLOCK SIZES DON'T WORK--HAVE TO START AGAIN__% 024525 1417 024526 0313 024527 4023 024530 1132 024531 0523 024532 4004 024533 1716 024534 4724 024535 4027 024536 1722 024537 1355 024540 5510 024541 0126 024542 0540 024543 2417 024544 4023 024545 2401 024546 2224 024547 4001 024550 0701 024551 1116 024552 3737 024553 0000 8693 024554 3723 BEGMQ, TEXT %_STANDARD USER STORAGE ALLOCATION (Y OR N)?% 024555 2401 024556 1604 024557 0122 024560 0440 024561 2523 024562 0522 024563 4023 024564 2417 024565 2201 024566 0705 024567 4001 024570 1414 024571 1703 024572 0124 024573 1117 024574 1640 024575 5031 024576 4017 024577 2240 024600 1651 024601 7700 8694 024602 3711 BEGM6A, TEXT %_IS THE ABOVE CORRECT (Y OR N)?% 024603 2340 024604 2410 024605 0540 024606 0102 024607 1726 024610 0540 024611 0317 024612 2222 024613 0503 024614 2440 024615 5031 024616 4017 024617 2240 024620 1651 024621 7700 8695 024622 4015 BEGM8, TEXT % MORE?% 024623 1722 024624 0577 024625 0000 8696 024626 3701 BEGM9, TEXT %_ANY UNUSED TERMINALS (Y OR N)?% 024627 1631 024630 4025 024631 1625 024632 2305 024633 0440 024634 2405 024635 2215 024636 1116 024637 0114 024640 2340 024641 5031 024642 4017 024643 2240 024644 1651 024645 7700 8697 024646 3704 BEGM10, TEXT %_DEVICE CODE?% 024647 0526 024650 1103 024651 0540 024652 0317 024653 0405 024654 7700 8698 /-LDRERR, TEXT %_"EDU" NOT ASSIGNED TO 0S/8 DEVICE_OR IT'S WRITE LOCKED% 8699 024655 3742 LDRERR, TEXT %_"EDU" NOT ASSIGNED TO OS8 DEVICE_OR IT'S WRITE LOCKED% /+ 024656 0504 024657 2542 024660 4016 024661 1724 024662 4001 024663 2323 024664 1107 024665 1605 024666 0440 024667 2417 024670 4017 024671 2370 024672 4004 024673 0526 024674 1103 024675 0537 024676 1722 024677 4011 024700 2447 024701 2340 024702 2722 024703 1124 024704 0540 024705 1417 024706 0313 024707 0504 024710 0000 8700 /-LDRER2, TEXT %__RETURNING TO OS/8_% 8701 024711 3737 LDRER2, TEXT %__RETURNING TO OS8_% /+ 024712 2205 024713 2425 024714 2216 024715 1116 024716 0740 024717 2417 024720 4017 024721 2370 024722 3700 8702 024723 3742 CHNERR, TEXT %_"SYS:EDU25.SV" NOT FOUND% 024724 2331 024725 2372 024726 0504 024727 2562 024730 6556 024731 2326 024732 4240 024733 1617 024734 2440 024735 0617 024736 2516 024737 0400 8703 /-BEGMRK, TEXT %__IS THE SYSTEM DEVICE AN RK8E (Y OR N)?% 8704 024740 3737 BEGMRK, TEXT %__IS THE SYSTEM DEVICE AN RK8-E (Y OR N)?% /+ 024741 1123 024742 4024 024743 1005 024744 4023 024745 3123 024746 2405 024747 1540 024750 0405 024751 2611 024752 0305 024753 4001 024754 1640 024755 2213 024756 7055 024757 0540 024760 5031 024761 4017 024762 2240 024763 1651 024764 7700 8705 PAGE 8706 8707 LINK=XENTER+1 8708 025000 4437 PLINK, SETPT 8709 025001 2064 ISZ ENTRIES 8710 025002 7410 SKP 8711 025003 5265 JMP LINKF /TAPE FULL 8712 025004 1412 LINK2, TAD I XR1 8713 025005 7650 SNA CLA 8714 025006 5211 JMP .+3 8715 025007 1377 TAD (3 8716 025010 4435 BUMPXR 8717 025011 1412 TAD I XR1 8718 025012 7041 CIA 8719 025013 1062 TAD BLOCK 8720 025014 3062 DCA BLOCK 8721 025015 2064 ISZ ENTRIES 8722 025016 5204 JMP LINK2 /IGNORE ALL BUT THE LAST ENTRY 8723 025017 1412 TAD I XR1 /SEE IF IT'S AN EMPTY 8724 025020 7640 SZA CLA 8725 025021 5265 JMP LINKF /ITS NOT TAPE FULL 8726 025022 1412 TAD I XR1 /IT IS, SEE IF ITS BIG ENOUGH 8727 025023 3271 DCA LINKS /SAVE SIZE OF EMPTY 8728 025024 1271 TAD LINKS 8729 025025 7100 CLL 8730 025026 1060 TAD TEMPX1 8731 025027 7630 SZL CLA 8732 025030 5265 JMP LINKF /ITS NOT BIG ENOUGH 8733 025031 1776 TAD I (CATBLK /SEE IF ON THE LAST BLOCK 8734 025032 1375 TAD (-14 8735 025033 7630 SZL CLA 8736 025034 5265 JMP LINKF /NO WHERE TO LINK TO 8737 025035 7326 L0002 8738 025036 1776 TAD I (CATBLK 8739 025037 7110 CLL RAR 8740 025040 3774 DCA I (DIRBUF+2 /LINK THE BLOCK 8741 025041 2773 ISZ I (DIRBUF /RESET # ENTRIES 8742 025042 1062 TAD BLOCK 8743 025043 3270 DCA LBLOCK /SAVE BLOCK GETCAT HITS IT 8744 025044 7100 CLL 8745 025045 1776 TAD I (CATBLK 8746 025046 4434 GETCAT /WRITE IT OUT 8747 025047 1270 TAD LBLOCK 8748 025050 3772 DCA I (DIRBUF+1 /SET UP STARTING BLOCK NUMBER 8749 025051 3412 DCA I XR1 /MAKE AN EMPTY 8750 025052 1271 TAD LINKS 8751 025053 3412 DCA I XR1 /OF THE RIGHT SIZE 8752 025054 7240 STA 8753 025055 3773 DCA I (DIRBUF /1 ENTRY FOR THIS BLOCK 8754 025056 3774 DCA I (DIRBUF+2 /ZERO LINK 8755 025057 7326 L0002 8756 025060 1776 TAD I (CATBLK 8757 025061 4434 GETCAT /L=0 SO WRITE 8758 025062 4423 CALL 8759 025063 0056 CENTER^2 8760 025064 3235 MLOOP /GOOD LINK RETURN TO MLOOP 8761 025065 4423 LINKF, CALL 8762 025066 0056 CENTER^2 8763 025067 3175 ENTERF /FAILURE RETURN 8764 025070 0000 LBLOCK, 0 8765 025071 0000 LINKS, 0 8766 025072 0000 GCATS, 0 8767 8768 025172 4210 PAGE 025173 4207 025174 4211 025175 7764 025176 3450 025177 0003 8769 /-SYSINI, 0 8770 /- JMP I SYSINI 8771 025200 0000 0 /+ 8772 025201 6002 IOF /+ 8773 025202 7650 SNA CLA /+ 8774 025203 1112 TAD T1 /+ BUGBUG: Fix stuff following 8775 025204 3370 3370 /+ 8776 025205 3367 3367 /+ 8777 025206 6214 6214 /+ 8778 025207 1375 1375 /+ 8779 025210 3354 3354 /+ 8780 025211 1107 1107 /+ 8781 025212 3002 3002 /+ 8782 025213 1600 1600 /+ 8783 025214 2200 2200 /+ 8784 025215 3362 3362 /+ 8785 025216 1600 1600 /+ 8786 025217 0074 0074 /+ 8787 025220 3373 3373 /+ 8788 025221 1373 1373 /+ 8789 025222 1111 1111 /+ 8790 025223 3321 3321 /+ 8791 025224 1321 1321 /+ 8792 025225 3344 3344 /+ 8793 025226 1600 1600 /+ 8794 025227 2200 2200 /+ 8795 025230 0007 0007 /+ 8796 025231 3363 3363 /+ 8797 025232 1600 1600 /+ 8798 025233 2200 2200 /+ 8799 025234 7010 7010 /+ 8800 025235 3365 3365 /+ 8801 025236 7420 7420 /+ 8802 025237 5244 5244 /+ 8803 025240 1073 1073 /+ 8804 025241 3373 3373 /+ 8805 025242 1103 1103 /+ 8806 025243 7410 7410 /+ 8807 025244 1362 1362 /+ 8808 025245 6744 6744 /+ 8809 025246 7010 7010 /+ 8810 025247 3364 3364 /+ 8811 025250 4441 4441 /+ 8812 025251 0075 0075 /+ 8813 025252 7640 7640 /+ 8814 025253 5265 5265 /+ 8815 025254 1105 1105 /+ 8816 025255 1200 1200 /+ 8817 025256 7640 7640 /+ 8818 025257 1113 1113 /+ 8819 025260 7100 7100 /+ 8820 025261 1365 1365 /+ 8821 025262 3365 3365 /+ 8822 025263 7430 7430 /+ 8823 025264 2367 2367 /+ 8824 025265 1364 1364 /+ 8825 025266 7640 7640 /+ 8826 025267 5273 5273 /+ 8827 025270 1363 1363 /+ 8828 025271 7110 7110 /+ 8829 025272 1370 1370 /+ 8830 025273 1367 1367 /+ 8831 025274 1373 1373 /+ 8832 025275 1114 1114 /+ 8833 025276 6746 6746 /+ 8834 025277 1365 1365 /+ 8835 025300 6743 6743 /+ 8836 025301 5772 5772 /+ 8837 025302 6745 6745 /+ 8838 025303 7104 7104 /+ 8839 025304 7640 7640 /+ 8840 025305 5356 5356 /+ 8841 025306 6742 6742 /+ 8842 025307 1364 1364 /+ 8843 025310 7650 7650 /+ 8844 025311 5771 5771 /+ 8845 025312 1115 1115 /+ 8846 025313 3366 3366 /+ 8847 025314 1116 1116 /+ 8848 025315 3364 3364 /+ 8849 025316 1370 1370 /+ 8850 025317 7700 7700 /+ 8851 025320 5342 5342 /+ 8852 025321 6221 6221 /+ 8853 025322 1762 1762 /+ 8854 025323 6211 6211 /+ 8855 025324 3766 3766 /+ 8856 025325 2362 2362 /+ 8857 025326 2366 2366 /+ 8858 025327 2364 2364 /+ 8859 025330 5321 5321 /+ 8860 025331 1103 1103 /+ 8861 025332 6744 6744 /+ 8862 025333 1367 1367 /+ 8863 025334 1374 1374 /+ 8864 025335 1370 1370 /+ 8865 025336 6746 6746 /+ 8866 025337 1365 1365 /+ 8867 025340 6743 6743 /+ 8868 025341 5020 5020 /+ 8869 025342 6211 6211 /+ 8870 025343 1766 1766 /+ 8871 025344 6221 6221 /+ 8872 025345 3762 3762 /+ 8873 025346 2362 2362 /+ 8874 025347 2366 2366 /+ 8875 025350 2364 2364 /+ 8876 025351 5342 5342 /+ 8877 025352 5771 5771 /+ 8878 025353 3002 3002 /+ 8879 025354 7402 7402 /+ 8880 025355 5600 5600 /+ 8881 025356 6742 6742 /+ 8882 025357 1106 1106 /+ 8883 025360 3354 3354 /+ 8884 025361 5771 5771 /+ 8885 025362 0000 0000 /+ 8886 025363 0000 0000 /+ 8887 025364 0000 0000 /+ 8888 025365 0000 0000 /+ 8889 025366 0000 0000 /+ 8890 025367 0000 0000 /+ 8891 025370 0000 0000 /+ 8892 025371 4755 4755 /+ 8893 025372 4744 4744 /+ 8894 025373 0000 0000 /+ 8895 025374 1410 1410 /+ 8896 025375 6203 CIF CDF 00 8897 025376 5777 JMP I .+1 8898 025377 0000 0000 8899 page 8900 025400 0000 SYSINI, 0000 8901 025401 7300 7300 8902 025402 4777 4777 8903 025403 4740 4740 8904 025404 5237 5237 8905 025405 6211 6211 8906 025406 1376 1376 8907 025407 3775 3775 8908 025410 1374 1374 8909 025411 3773 3773 8910 025412 1372 1372 8911 025413 3771 3771 8912 025414 1370 1370 8913 025415 3767 3767 8914 025416 6221 6221 8915 025417 4307 4307 8916 025420 6221 6221 8917 025421 5200 5200 8918 025422 6211 6211 8919 025423 3000 3000 8920 025424 7600 7600 8921 025425 6221 6221 8922 025426 4307 4307 8923 025427 6221 6221 8924 025430 5543 5543 8925 025431 6211 6211 8926 025432 0112 0112 8927 025433 7773 7773 8928 025434 6221 6221 8929 025435 1366 1366 8930 025436 3765 3765 8931 025437 4307 4307 8932 025440 6201 6201 8933 025441 4000 4000 8934 025442 6211 6211 8935 025443 4207 4207 8936 025444 7600 7600 8937 025445 7300 7300 8938 025446 6221 6221 8939 025447 6212 6212 8940 025450 4764 4764 8941 025451 0001 0001 8942 025452 2331 2331 8943 025453 2300 2300 8944 025454 4000 4000 8945 025455 5763 5763 8946 025456 7300 7300 8947 025457 6221 6221 8948 025460 6202 6202 8949 025461 4654 4654 8950 025462 4120 4120 8951 025463 5000 5000 8952 025464 0030 0030 8953 025465 5763 5763 8954 025466 7300 7300 8955 025467 6221 6221 8956 025470 6202 6202 8957 025471 4654 4654 8958 025472 4110 4110 8959 025473 3200 3200 8960 025474 0027 0027 8961 025475 5763 5763 8962 025476 7300 7300 8963 025477 4307 4307 8964 025500 6211 6211 8965 025501 4207 4207 8966 025502 6201 6201 8967 025503 4000 4000 8968 025504 7600 7600 8969 025505 6221 6221 8970 025506 5600 5600 8971 025507 0000 0000 8972 025510 1707 1707 8973 025511 2307 2307 8974 025512 3327 3327 8975 025513 1707 1707 8976 025514 2307 2307 8977 025515 3340 3340 8978 025516 1707 1707 8979 025517 2307 2307 8980 025520 3331 3331 8981 025521 1707 1707 8982 025522 2307 2307 8983 025523 3341 3341 8984 025524 1707 1707 8985 025525 2307 2307 8986 025526 3342 3342 8987 025527 0000 0000 8988 025530 1740 1740 8989 025531 0000 0000 8990 025532 3741 3741 8991 025533 2340 2340 8992 025534 2341 2341 8993 025535 2342 2342 8994 025536 5327 5327 8995 025537 5707 5707 8996 025540 0000 0000 8997 025541 0000 0000 8998 025542 0000 0000 8999 025543 4000 4000 9000 025544 6260 6260 9001 025545 1400 1400 9002 025546 4407 4407 9003 025547 7600 7600 9004 025550 0000 0000 9005 025551 6201 6201 9006 025552 1652 1652 9007 025553 6211 6211 9008 025554 2252 2252 9009 025555 5750 5750 9010 025556 1523 1523 9011 025557 7200 7200 9012 025560 0777 0777 9013 025561 7233 7233 9014 025562 6544 6544 9015 025563 0251 0251 9016 025564 7700 7700 9017 025565 0056 0056 9018 025566 6743 6743 9019 025567 0104 0104 9020 025570 3153 3153 9021 025571 4046 4046 9022 025572 3154 3154 9023 025573 0067 0067 9024 025574 3102 3102 9025 025575 0107 0107 9026 025576 6741 6741 9027 025577 0312 0312 9028 CENTER=27 9029 CLINK=30 9030 *7200 9031 027200 6221 FINISH, CDF 20 9032 027201 1645 TAD I XPNT /GET ADDRESS OF TOP OF SWAP REGION 9033 027202 3245 DCA XPNT 9034 027203 6211 CDF 10 9035 027204 3645 DCA I XPNT /CLEAR THIS STUFF 9036 027205 2245 ISZ XPNT 9037 027206 5204 JMP .-2 9038 027207 6221 CDF 20 9039 027210 1032 TAD KLTOP 9040 027211 7041 CIA 9041 027212 1246 TAD FIN001 9042 027213 3245 DCA XPNT 9043 027214 3646 DCA I FIN001 9044 027215 2246 ISZ FIN001 9045 027216 7000 NOP 9046 027217 2245 ISZ XPNT 9047 027220 5214 JMP .-4 9048 027221 1247 FIN002, TAD BGCORS 9049 027222 7106 CLL RTL 9050 027223 7004 RAL 9051 027224 1244 TAD FINCDF 9052 027225 3226 DCA XCDF 9053 027226 0000 XCDF, 0 9054 027227 3645 DCA I XPNT /CLEAR FIELD 9055 027230 2245 ISZ XPNT 9056 027231 5227 JMP .-2 9057 027232 7340 L7777 9058 027233 1247 TAD BGCORS 9059 027234 3247 DCA BGCORS 9060 027235 7340 L7777 9061 027236 1247 TAD BGCORS 9062 027237 7640 SZA CLA 9063 027240 5221 JMP FIN002 /ANOTHER FIELD TO WIPE STILL 9064 027241 6203 FINENT, CIF CDF 9065 027242 5643 JMP I .+1 9066 027243 0357 ENTRY 9067 027244 6201 FINCDF, CDF 9068 027245 4200 XPNT, BEG801 9069 027246 7250 FIN001, FIN003 9070 027247 0000 BGCORS, 0 9071 FIN003, 9072 /PRECEDING THIS CODE IN FIELD 2 IS THE FOLLOWING: 9073 / CLA /ENTRY FROM INTERRUPT ROUTINE 9074 / 6XX5 /UNUSED CODES 9075 / . 9076 / . 9077 / . 9078 / JMP KL8INT 9079 / L0001 /ENTRY FROM SCHEDULER 9080 / 6XX5 /USED CODES 9081 / . 9082 / . 9083 / . 9084 / 9085 9086 *7755 9087 9088 KL8LOD, /FIX THE POINTERS EVENTUALLY 9089 027755 7701 KL8FIX, CLA MQA 9090 027756 7001 IAC 9091 027757 7421 MQL 9092 027760 6203 CIF CDF 9093 027761 6002 IOF /DISABLE INTRPT TEMPORARILY (UNTIL LOOK IS ISZ'D) 9094 027762 1776 TAD I PLOOKS /RESET POINTER 9095 027763 3777 DCA I PLOOK 9096 027764 5765 JMP I .+1 /INTERRUPT ON AGAIN AFTER THIS JUMP 9097 027765 0210 KL8LF0 /BACK TO SCHEDULER 9098 027766 1774 KL8INT, TAD I PSAVLK /RESTORE LINK 9099 027767 7104 CLL RAL 9100 027770 1775 TAD I PSAVAC /RESTORE AC 9101 027771 6203 CIF CDF 9102 027772 5773 JMP I .+1 9103 027773 5313 KL8LFL /BACK TO INTERRUPT ROUTINE 9104 9105 027774 5326 PSAVLK, SAVLK 9106 027775 5325 PSAVAC, SAVAC 9107 027776 0121 PLOOKS, LOOKST 9108 027777 0120 PLOOK, LOOK 9109 9110 PAGE 9111 $ A0000 4704 AAACDF 4610 ABS 1572 AC1 0050 AC2 0047 AC3 0046 AC3I 4531 ACEXP 0045 ACN 0415 ACSIGN 0043 ADD 0023 AFORE 4356 AL1 0647 ALGNLP 0470 ALINE0 0057 ALPTST 5747 ALT 1775 ANYINP 0664 AR1 0400 ARGNXT 2736 ASORTC 0146 ATN 5470 ATNBIG 2265 ATNLOW 2220 ATNNOT 2237 ATNSGN 2200 AUDF 0160 AUSER 5335 AXIN 0016 AXOUT 0017 AXPUT0 6472 BASE 0073 BCKWDS 0504 BEG001 1014 BEG002 0413 unreferenced BEG003 1032 BEG004 1100 BEG005 1011 BEG006 0440 BEG008 0513 BEG009 1000 BEG010 0466 BEG011 1257 BEG012 0530 BEG013 0531 BEG014 0633 BEG015 0600 BEG016 1006 BEG01Q 0312 BEG03X 1050 BEG12A 0527 BEG14A 0504 BEG14B 0501 BEG15A 0610 unreferenced BEG15B 0632 BEG15C 0631 BEG15D 0616 BEG15E 0604 unreferenced BEG15F 1216 BEG15G 1224 BEG15H 1200 BEG15I 1200 BEG15K 1205 BEG1QR 0332 BEG500 1403 BEG540 1600 BEG550 1656 BEG551 1667 BEG552 1722 BEG553 1731 BEG554 1735 BEG600 2000 BEG602 2103 BEG603 2104 BEG604 0030 BEG605 0020 BEG609 2105 BEG60X 2506 BEG610 2011 BEG700 2200 BEG701 2224 BEG702 2240 BEG703 2246 BEG704 2260 BEG705 2360 BEG706 2356 BEG707 2357 BEG708 0262 BEG750 2400 BEG75Q 2425 BEG76X 2473 BEG7X1 2210 BEG800 3600 BEG801 4200 BEG802 3735 BEG803 3736 BEG804 3737 BEG805 3740 BEG900 4201 BEGBAS 3741 BEGCHK 0702 BEGCK0 1261 BEGCOR 0031 BEGDEV 0026 BEGER0 1400 BEGER1 1545 BEGER2 1542 BEGF1S 2127 BEGFLD 1413 BEGIN 0200 unreferenced BEGIN1 0532 BEGIN2 0533 BEGINB 0203 unreferenced BEGINP 1471 BEGIOT 3125 BEGKL1 1644 BEGKL2 1645 BEGKL3 1647 BEGKL4 1650 BEGKL5 1651 BEGKL6 1652 BEGLST 4000 BEGM1 4315 unreferenced BEGM10 4646 BEGM2 4331 BEGM4 4347 BEGM5 4365 BEGM5A 4372 BEGM6 4512 BEGM6A 4602 BEGM7 4402 BEGM8 4622 BEGM9 4626 BEGME 4303 BEGMF1 1032 unreferenced BEGMF2 1050 unreferenced BEGMFL 4427 BEGMQ 4554 BEGMRK 4740 unreferenced BEGMV0 0400 BEGMV1 2321 BEGMV2 2322 BEGMV3 2323 BEGMV4 2300 BEGMX1 4441 BEGMXX 4433 BEGOL1 3015 BEGOLD 3000 BEGPR1 2334 BEGPRN 2324 BEGR2 1550 BEGRE 1466 BEGTTI 4475 BEGUSR 0024 BEGX08 0670 BEGXR1 0534 BEGXR2 0535 BEGXXX 1440 BEGXYZ 2117 BEGZCT 3750 BEGZER 3742 BGCORS 7247 BGL21 3200 BGL22 3202 BGL23 3210 BGL24 3224 BGL25 3250 BGL26 3306 BGL27 3352 BGL28 3424 BGL31 3201 BGL32 3204 BGL33 3213 BGL34 3230 BGL35 3255 BGL36 3314 BGL37 3361 BGL38 3434 BGL41 3201 BGL42 3206 BGL43 3216 BGL44 3234 BGL45 3262 BGL46 3322 BGL47 3370 BGL48 3444 BGL51 3201 BGL52 3206 BGL53 3221 BGL54 3240 BGL55 3267 BGL56 3330 BGL57 3377 BGL58 3454 BGL61 3201 BGL62 3206 BGL63 3221 BGL64 3244 BGL65 3274 BGL66 3336 BGL67 3406 BGL68 3464 BGL71 3201 BGL72 3206 BGL73 3221 BGL74 3244 BGL75 3301 BGL76 3344 BGL77 3415 BGL78 3474 BGLD1 3044 BLOCK 0062 BLOCK0 0275 BSW 7002 BUF 0020 BUFCOM 0100 BUFFER 0040 BUFR 0054 BUMPXR 4435 BYE 4226 C10 0136 C12M32 6704 C137 0127 C14 0131 unreferenced C140 0755 C16 0544 unreferenced C177 0126 C200 6650 C233 1145 C3 0143 C37 3115 C4 5317 C40 0142 C4004 5316 C50 2456 C60 0227 C6777 6600 C7 0125 C7400 6743 C7600 0201 C77 0134 C7700 0140 CAF 6007 CALL 4423 CAT 6317 CAT0 2757 CAT1 3465 CATBLK 3450 CATLOG 7513 CATLUP 7524 CATNEX 3431 CCAT1 6344 CCAT2 6360 CCAT3 6354 CCIF 4667 CCIF2 4643 CCM40 3417 CCR 0124 CCRTST 6431 CENTER 0027 CHA1N 0006 CHAIN 6562 CHAIN1 2463 CHAIN2 7341 CHAINP 0105 CHAR 0026 CHKFIL 1134 CHKPAT 3760 CHKPT1 1143 CHNERR 4723 CITPRN 2362 CLF 0132 CLINK 0030 CLOSE0 7413 CLOSE1 7415 CNOP 0705 CNTR 0114 COM11 2063 COM12 2137 COM13 2120 COM3 2027 COM5 2025 COM7 2061 COMBUF 0060 COMDUM 2146 COMGO1 4707 COMGOL 3750 COMK4 2037 COMLP1 2005 COMLP2 2065 COMMAN 4571 COMPOP 2130 COMPUS 2137 COMTST 6423 CONMTF 3355 CONSOL 3214 CORDON 0454 CORPT2 0023 CORPTR 0021 COS 5464 CRLF 1074 CSAVDO 2372 CTAPE 2373 CURFLD 0025 CVARKI 2371 CXDELE 2370 D1400 0114 unreferenced D20 0116 D4000 0112 unreferenced D614 0115 D6260 0113 unreferenced D7600 3142 D774 3121 DATAPC 0037 DATLOG 7511 DCAA 3110 DCON 0112 unreferenced DCORE 3114 DDINT 0114 DDIRB 0115 unreferenced DDR128 0112 DDTBLK 0113 DDTDIS 3117 DDTEND 3120 DECEXP 1534 DECK 0036 DECKNI 5307 DECKON 0305 DECODE 0504 unreferenced DECON 1124 DECONV 1103 DECTAP 4432 DELETE 2240 DEMPTY 3521 DER1 3163 DFIND 0356 DGO 3066 DGR 3007 unreferenced DINPUT 0033 DINT 3074 DIRBUF 4207 DIRSCH 4436 DIS 0020 DIVLP 0677 DM200 0116 unreferenced DN 1514 DNUMBR 1102 DOL1 7550 DOL2 7554 DOLCHK 7541 DR127 3071 DR128 3055 DRET 3115 DTAPE 3000 DTBLOK 3113 DTCHK 0353 DTCHKX 3561 DTDIS 4744 DTEM 3051 DTEND 4755 DTFIND 3156 DTFLD 3116 DTFREE 6627 DTGRAB 6603 DTINTR 0000 DTKILL 3165 DTLA 6766 DTLB 6774 DTLOOK 0110 DTQ 7000 DTQ1 6601 DTQ2 6602 DTRA 6761 DTRB 6772 DTS1 3027 unreferenced DTS3A 3122 DTSF 6771 DTSF1 0107 DTURN 3154 unreferenced DTURNX 3161 DTXA 6764 DWC 3111 DWDS 3112 DXIT 3052 ECALL 2600 ECALLI 4530 EDIT 2200 EDUNAM 0306 EFOP 0114 ELPAR 2634 ENDF1 7745 ENDFND 6523 ENDFUN 7741 ENDTST 6436 ENSWAP 0110 ENTERF 3175 ENTRIE 0064 ENTRY 0357 ENTRY1 0333 ENTXIT 3254 ENUM 2641 EOCLOS 3224 EPAR 2723 EPAR2 2636 EPINPA 2237 ERLINE 0062 ERR000 1565 ERR001 2202 ERR002 4227 ERR003 5102 ERR004 0616 ERR010 2103 ERR020 1606 ERR030 0663 ERR040 0355 ERR050 0644 ERR060 3625 ERR070 0711 ERR080 3440 ERR100 4475 ERR110 2757 ERR120 2660 ERR130 4456 ERR150 1031 ERR160 1142 ERR170 3051 ERR180 3074 ERR200 3132 ERR210 5116 ERR220 4401 ERR230 4546 ERR240 4672 ERR250 4700 ERR260 5675 ERR270 1260 ERR280 7152 ERR290 4202 ERR300 4300 ERR320 5702 ERR330 7163 ERR340 3226 ERR350 3315 ERR370 1146 ERR380 2532 ERR390 1207 ERR400 1236 ERR410 1410 ERR420 1430 ERR430 1533 ERR440 1457 ERR450 1525 ERR460 2400 ERR470 2407 ERR490 1033 ERR500 1071 ERR510 1103 ERR520 1564 ERR530 0033 ERR540 6055 ERR550 6206 ERR560 5355 ERR600 1150 ERR610 1171 ERR620 7050 ERR630 7104 ERR640 7225 ERR650 7066 ERRCHK 1561 ERRCHN 0257 ERREND 4047 ERRLDR 0251 ERRLST 3751 ERROR 4557 ERROR1 0461 ERROR2 0443 unreferenced ERROR3 0463 ERRORX 0400 ERROX 5033 ETERM 2661 ETERM1 2623 ETERM2 2667 ETERMN 2656 EVAL 2612 EVAL1 2753 EVAL2 2754 EVAL3 2766 EVAR 2744 EXPLNG 5064 EXTEN 0066 F72 5761 FADD 1000 FADDR 0304 FATNAX 1735 FATNC 1535 FATNC1 2275 FATNC2 2300 FATNC3 2303 FATNC4 2306 FATNC5 2311 FATNC6 2314 FATNC7 2317 FATNC8 2322 FATNC9 2325 FATNCJ 2272 FATNT 1740 FATNTT 2054 FCMP 6000 FCN 5764 FDIV 4000 FETCH 0001 FEXP 5466 FEXPC1 2057 FEXPC2 2062 FEXPC3 2065 FEXPC4 2070 FEXPC5 2073 FEXPC6 2076 FEXPF 1740 FEXPI 2054 FEXPU 1735 FEXT 0000 FFIX 5461 FFLAG 0055 FGET 0000 FGOTO 0273 FIGO1 1017 FIGO2 1055 FIGO3 1073 FIGO4 1071 FILEN 0061 FILOUT 7060 unreferenced FIN001 7246 FIN002 7221 FIN003 7250 FINCDF 7244 FIND 4572 FINDLN 4574 FINENT 7241 unreferenced FINISH 7200 FINT 4407 FIX 5442 FIX1 2161 FIX2 1544 FIXC4 1532 FIXCON 0766 FIXEXT 0750 FIXLUP 0734 FIXUP 1400 FIXUP1 1407 FIXUP2 1430 FIXUP3 1445 FIXUP4 1405 FIXUP5 1501 FIXUP7 1451 FIXUP8 1454 FJMP 5000 FJUMP 0274 FLARG 6167 FLARGP 0122 FLGET 4555 FLIN 5731 FLINGO 1100 FLOAT 6477 FLOGC1 2137 FLOGC2 2142 FLOGC3 2145 FLOGC4 2150 FLOOK 3530 FLOOP 0206 FLOOPF 3250 FLOP 2707 FLOUT 5000 FLOXIT 1300 FLPUT 4556 FLTONE 7157 FLTXR 0013 FLTXR2 0014 FLZERO 7160 FMEQL 5130 FMUL 3000 FNOR 6010 FNORM 0600 FOGO1 1214 FOGO2 1222 FOGO3 1252 FOGO4 1302 FOGO5 1306 FOGO6 1311 FOGO7 1322 FOGO8 1332 FOR 1400 FOR1 1560 FOR2 1530 FOR3 1450 FOR4 1454 FOR5 1543 FOREXT 2460 FOUND 0066 FPADD 0455 FPCMP 0311 FPDIV 0662 FPGET 0334 FPJMP 0305 FPMUL 0531 FPNT 5643 FPNT1 0227 FPNT2 0240 FPNT3 0270 unreferenced FPNT4 0361 FPPUT 0325 FPSUB 0452 FPUT 7000 FREE13 4472 FREE2 4471 FREEC 6011 FREESV 5333 FREEWT 6015 FRNDX 0106 FRNDX1 7736 FSEQ 6050 FSGE 6100 FSGT 6140 FSIN 5465 FSINC1 1743 FSINC3 1746 FSINC4 1751 FSINC5 1754 FSINC6 1757 FSINC7 1762 FSINOK 1717 FSINXX 1700 FSINZ 1735 FSINZZ 1740 FSKP 6000 FSLE 6150 FSLT 6110 FSNE 6040 FSUB 2000 FUNC10 3017 FUNC11 3046 FUNC12 3146 FUNC13 3124 FUNC14 3104 FUNC16 5112 FUNC17 3145 FUNC6I 5727 FUNCT 4626 FUNCT3 5710 FUNCT4 4676 FUNCT5 4666 FUNCT6 3000 FUNCTI 4527 FUNL1 3600 FUNL2 3621 FUNL3 3656 FUNL3I 5730 FUPAR1 3516 FUPAR2 5000 FUPAR3 5075 FUPARR 5021 FXIT 0000 unreferenced FXR1 0010 FXR2 0011 GCATS 5072 unreferenced GET1 6702 GET2 6740 GETC 4544 GETCAT 4434 GETCX1 0560 GETIN1 1166 GETINP 1155 GETLIM 2336 GETLIN 2317 GETLN 4565 GETNAM 5740 GETNXT 4573 GETSGN 1522 GETSTR 5351 GETVAR 4400 GEXIT 6742 GFND1 4604 GFND1I 4533 GFND2 4617 GOSUB 4200 GOSUB1 4353 GOSUB2 2531 GOSUB3 4203 GOTO 1256 GPUT1 4510 GS1 4437 GS2 4465 GS4 4462 GS5 4623 GS5I 4526 GTEM 0020 HIGHWD 0347 I3 0075 I3767 5150 I7607 5147 IBLK 0076 IBLKH 0077 IBUFF 6730 IECALL 5726 IERDTA 5065 IEREND 5133 IERFIN 5124 IERLP 5105 IERR1 5142 IERR2 5143 IERR3 5144 IERR4 5145 IERR5 5146 IERRO1 3530 IERRO2 3533 IERROR 3544 IF 1176 IF1 1363 IF2 1263 IF3 1216 IF4 2400 IF5 7610 unreferenced IF6 1252 IF7 1251 unreferenced IFDONE 1254 unreferenced IFSTR 1323 IFSTR1 1333 IMMED 2540 INBLK 6732 INPACK 5607 INPUT 1110 INPUT1 1125 INPUT2 1121 INPUTX 4252 INREA1 1032 INREA2 1070 INREA3 1040 INREA4 1030 INREAD 1000 INT 5460 INTAC1 0056 INTCNT 7404 INTEGE 0123 INTR80 4606 INTR81 4646 INTR82 4666 INTR88 4634 INTR89 4635 INTR8E 4173 INTR8F 4605 INTRP1 5223 INTRP2 5241 INTRP3 5253 INTRP4 5255 INTRP5 5265 INTRPL 5337 INTRPT 5200 INTRRV 4607 INTRV2 4611 IOFIX 1365 IPNTR 0074 IPTR0 0046 IPTRI 0044 IPTRO 0045 ITEMP2 5141 ITPRNT 0231 K2166 1422 K30 3172 K377 1424 K5400 1421 K576 3174 K602 3173 KCM40 0672 KEY 0600 KEY3 0700 KEY4 0705 KEY5 0670 KEY6 0676 KEY7 0620 KILL 7471 KK7600 1765 KKEY 5100 KKM10 1766 KL8FIX 7755 KL8FRS 1646 KL8INT 7766 KL8JM0 0205 KL8JMP 5310 KL8LF0 0210 KL8LFL 5313 KL8LOD 7755 KLSCH 0033 KLTOP 0032 KM10 0635 KM140 0614 KM40 1431 KM5 1423 L0001 7301 L0002 7326 L00KUP 0002 L200 2157 L2000 7332 L3777 7350 L4000 7330 L5777 7352 L7775 7346 L7776 7344 L7777 7340 LASTLN 0031 LASTOP 0117 LASTV 0055 LBLK 0030 LBLOCK 5070 LDRER2 4711 LDRERR 4655 LEN 6447 LENDON 6472 LENIN 7067 LENOK 7075 LENXT 6455 LET 1401 LET1 1524 LET2 1411 LIMGT1 2344 LIMGT2 2366 LIMGT3 2354 LIMGT4 2361 unreferenced LIMIT 7776 LINCT 6164 LINE0 0162 LINE1 0164 LINENO 0030 LINEPC 0027 LINK 3200 LINK2 5004 LINKF 5065 LINKS 5071 LINPUT 6047 LINXT 6105 LINXT2 6116 unreferenced LIST 2251 LIST10 4173 LIST11 4177 LIST12 3413 LIST13 2556 LIST14 4703 LIST15 2476 LIST16 2502 LIST17 2507 LIST18 2515 LIST19 2522 LIST20 2527 LIST21 2533 LIST22 2540 LIST23 2545 LIST24 3714 LIST25 2745 LIST26 2753 LIST7 0771 LIST70 1360 LIST71 2552 LIST72 4730 LIST73 4672 LIST74 4676 LIST75 1572 LIST76 4203 LIST77 3400 LIST78 3404 LIST79 4047 LIST80 4053 LIST81 4060 LIST82 3410 LIST83 4064 LIST84 4071 LIST85 4076 LIST86 4102 LIST87 4106 LIST88 4112 LIST89 4116 LIST90 4122 LIST91 4126 LIST92 4131 LIST93 4134 LIST94 4140 LIST95 4144 LIST96 4150 LIST97 4156 LIST98 4163 LIST99 4167 LLIST3 2271 LLIST4 2304 LLIST5 2261 LLIST6 2311 LOG 5467 LOGEXP 2154 LOGFWD 2153 LOGOKW 2156 LOOK 0120 LOOKST 0121 LOOKUP 4435 LPATCH 2550 LPRTST 3733 LSTMOD 0130 M10 0137 M100 0140 M1000 1126 M12 0133 M4 0141 M40 0524 M6 0135 MANCOM 2000 MCOM 0067 MDOLR 4532 MEMPTY 3261 MEQL 1523 MGET 6145 MGET1 6152 MGET2 6162 MID 6200 MID1 6235 unreferenced MID2 6250 MID3 6263 MIDC1 6301 MIDC2 6302 MIDCHK 6267 MINS 6125 unreferenced MINT 6115 MKRB 6116 unreferenced MKSF 6111 unreferenced MLOOKE 0230 MLOOP 3235 MLOOP3 3310 MLOOPC 3242 MLOOPF 3300 MNMSGN 1173 MNSONE 5016 MOD 1300 MOD1 1310 MODE 0031 MODF1 2213 MODF2 2207 MODF3 2211 MODF4 2223 MODF5 2231 MODL1 2165 MODL2 1351 MOVNAM 4240 MPUT 6303 MPUT1 6311 MPYLUP 0552 MQA 7501 MQL 7421 MSDELE 4766 MSERRO 4762 MSIN 5063 MSNAME 4774 MSPLAT 4141 MSREAD 5057 MSSTOP 5053 MSWHAT 5047 MTCF 6122 unreferenced MTKF 6123 unreferenced MTLS 6126 MTON 6117 MTPF 6113 unreferenced MTSF 6121 unreferenced MULCLR 0571 MULT10 0752 MUSER 5334 MVPAG 7400 MXREAD 1175 NAME 0063 NAMEX 0015 NDONE 2716 NEW 4213 NEXERR 1544 NEXT 2374 NEXT1 2443 NEXT2 2453 NEXT3 2420 NFIX 0730 NLOOP 2667 NOBUMP 0623 NODLET 3227 NOLEN 7122 NOTBIG 0611 NULL 0177 NUMBUF 1535 NUNUM 0023 NXTFIL 2641 NXTG 4133 NXTGET 4107 NXTGT1 4121 NXUSR 2013 O3 0101 OADD 0434 OATN 2201 OBLK 0102 OBLKH 0103 OBUFF 7244 OCNTR 0005 OCOS 1656 OCTADD 0457 OERROR 4425 OERRX 2462 OFEXP 2000 OFFIX 2360 OFLIN 1000 OFLOUT 1200 OFLTON 1771 OFLZER 1772 OFPNT 0200 OFREE2 7271 OFREE3 7312 OFSIN 1661 OGETC 4426 OGETCX 2456 OGETLN 1143 OINPUT 7135 OINT 2337 OLD 3755 OLD1 7317 OLNUM 0022 OLOG 2101 OMAX 0104 ON 4270 ON1 4310 ON2 4334 ONEPRT 3547 OP1 0053 OP2 0052 OP3 0051 OPAK 7256 OPEN 7042 OPEXP 0044 OPNEXT 2644 OPNTR 0100 OPOPJ 5430 OPOPJX 2364 OPRINC 1170 OPRINT 4424 OPSIGN 0042 OPTABL 5400 OPTRI 0047 OPTRO 0050 OPUS 7400 OPUSHJ 4431 OPUSHX 2447 OPUSJ1 1566 ORG 5400 unreferenced ORG1 5400 ORND 2406 OS8AB 0242 unreferenced OS8DSK 0227 OS8DTA 0230 OS8ERM 4207 OS8ERR 0220 OS8KSK 0225 OS8LP1 2310 OS8LST 0246 OS8M1 4253 OS8M2 4256 OS8MSG 4241 OS8PT2 2320 OS8PTR 0034 OS8RK8 0231 OSDDSK 0057 OSDDTA 0101 OSDRK8 0035 OSQR 1577 OTAN 1637 OTEMP 1540 OTEST2 5651 OTESTN 4427 OTESTX 2442 OTPACK 5620 OUTBLK 7246 OUTOUT 7147 OUTPUT 0034 OVER 0054 P37 4423 PACKC 4564 PACKND 0053 PACKST 0052 PAKLIN 5630 PAL1 1420 PARTST 5665 PATCH1 5275 PATCH2 2172 PATCH3 0334 PATCH4 5200 PATCH5 5223 PATCH6 5167 PATCH7 5307 PATCH8 2165 PATCH9 5151 PAUSER 4642 PC 0022 PCAT0 7506 PCHK 1722 PDLST 0056 PDLXR 0015 PDXIT 4046 unreferenced PFATNC 1770 PFIX2 2170 PFIXCO 1426 PFREE2 0071 PFREE3 0072 PHIGHW 2167 PIF1 1307 PIF5 1222 PINTCN 5324 PINTR8 4644 PINTRP 4641 PINTRR 4645 PIOFX 2550 PITPRN 0505 PKEY 5321 PLINK 5000 unreferenced PLOOK 7777 PLOOKS 7776 PMULT1 1425 PNFIX 1427 POPA 4552 POPF 4554 POPJ 5553 POTEMP 1767 PPLINK 0070 PPRINT 0070 PPTCH4 7557 PREADC 0067 PRIN10 3307 PRIN11 3251 PRIN12 4337 PRIN5 3221 PRINT 5523 PRINT0 5504 PRINT1 3206 PRINT2 7531 PRINT3 0763 PRINT4 3211 PRINT5 3321 PRINT6 5551 PRINT8 3200 PRINT9 3276 PRINTC 4470 PRNT1 0240 PRNT2 0260 PRNT3 0300 PRNT4 0262 PRNT5 0277 PRNT5A 3336 PRNT5B 3334 PRNT6 0275 PRNT7 0263 PRNTC1 0061 PRNTEX 5406 PRNTL1 5447 PRNTL2 3704 PRNTL4 5446 PRNTL6 3676 PRNTL7 5451 PRNTL8 3711 PRNTLL 0766 PRNTX1 5422 PRNTX2 5544 PSAVAC 7775 PSAVLK 7774 PSQUIS 0065 PT1 0025 PTCH10 5233 PTCH8B 5256 PTTY 5322 PUSHA 4547 PUSHF 4551 PUSHJ 4550 PUT1 7251 PXCALL 0105 PXFREE 5323 QCOM 7735 QCOMCK 7700 QCON1 7733 QCON2 7734 QCOUNT 7616 QCT1 7604 QDONE 7704 QDONE1 7723 QDONE2 7710 QEVAL2 7605 QINP 7625 QINPAC 7606 unreferenced QLINP 7626 QLIS1 2740 QLIS2 2734 QMQOT 7601 QNEXTC 7653 QOPNEX 7753 QPARTS 7752 QPT1 7602 QSLIS 7652 QUOCHK 7670 QUOCNT 7607 QUOTE1 7647 QUOTES 7617 RANDOM 7405 RDYK1 5034 RDYK2 5035 RDYK3 5036 RDYK4 5037 RDYLST 5040 READ 1074 READ1 1076 unreferenced READC 4467 READY 0464 READY1 5374 READY2 5000 READY3 5020 READY4 5005 READY5 5016 RENAME 4214 RESETO 3745 RESTOR 7151 RETURN 5700 RND 5454 RTL6 4561 RUN 2465 RUN4 2551 RUN6 2500 RUN7 2476 RUN8 2506 RUN9 2534 RUN9X 1766 RUNSCR 2525 SAVAC 5325 SAVDN1 7132 SAVDON 7124 SAVE 7435 SAVLK 5326 SCHLP 2603 SETPT 4437 SETSGN 0514 SETUPO 5474 SGN 5007 SIN 0004 SIZFUJ 0536 SKPMTF 2644 SORTC 4546 SORTCN 0111 SORTCS 5336 SORTJ 4545 SPACSW 0032 SPL 6102 SPLCH 1043 unreferenced SPLCH1 1050 SQCNT 1636 SQEXIT 1634 SQLOOP 1621 SQR 5462 SQTRIV 3374 SQUISH 3453 SRCWDL 2615 SRETN 0510 SRTCNS 5331 SS 0030 START 0467 STARTP 0373 STARTV 0054 STCHN 0305 STRFIL 7010 STSWAP 0015 STSWM1 0131 SUB1 4546 SUB2 4602 SUB2I 4525 SUBS 0024 SUBT 4534 SWAP 0010 SWAPR 0074 SYSINI 5400 SYSNO 0266 T1 0112 T2 0113 T3 0115 T3SV 5327 TADCHR 4440 TADEXT 4441 TADINT 5320 TAN 5463 TAPE 5077 TELSW 0051 TEMP 6164 TEMP1 0005 TEMP2 0006 TEMPX 0057 TEMPX1 0060 TEN 1346 TERMS 3641 TESTC 4563 TESTN 4562 TEXTP 0017 THISOP 0116 TOP 7776 TSTALP 4570 TSTCCR 4566 TSTCH1 2153 TSTCOM 4567 TSTCON 2155 TSTEND 4575 TSTLPR 4576 TTCHAR 1064 TTY 0730 TTY2 0754 TTY3 0735 unreferenced TWOPRT 3535 UDF 4560 UDFSV 5332 UNDERF 0635 UNIT0 3044 UNIT1 3043 unreferenced UNKWN 1545 UNSAV1 7507 UNSAVE 7473 USER 0003 USER0 4155 USER1 4156 unreferenced USER2 4157 unreferenced USER3 4160 unreferenced USER4 4161 unreferenced USER5 4162 unreferenced USER6 4163 unreferenced USER7 4164 USR 7700 USRCTR 0027 USRLST 2600 USRPT2 0022 USRPTR 0020 VARKIL 4235 VARSET 0554 VIF1 1275 VREADY 1276 VRESET 1277 VRUN8 1274 VXGET 1174 VXREAD 1322 WASTE 0063 WNGDM 4524 X 0100 XBUMPX 2654 XCALL 2764 XCALLB 2776 XCCR 2330 XCDF 7226 XCT 0021 XCTIN 0024 XDEL2 1654 XDEL3 1636 XDELET 1600 XDIRSC 2600 XDTG1 6625 XENTER 3177 XENTMP 0006 XERROR 3525 XFIELD 0036 XFIND 4136 XFIND1 4142 XFIND2 4153 XFINDL 3457 XFLGET 5141 XFLGT2 5146 unreferenced XFLPT2 6405 unreferenced XFLPUT 6400 XFNDL1 3467 XFNDL2 3510 XFNDL3 3521 XFREE 6020 XFREE2 6000 XFREE3 6007 XGET 6653 XGET1 4064 XGET2 4055 XGET3 4076 XGET4 4102 XGET5 4105 XGET6 4103 XGETC 4051 XGETCA 3440 XGETL1 4170 XGETL2 1174 XGETLN 5661 XGETNA 2661 XIOT 0035 XOR 5600 XOUTL 3341 XOUTL1 3362 XOUTL2 3400 XOUTL4 3455 XOUTL5 3435 XOUTL6 3427 XPACK1 3632 XPACK2 3627 XPACK3 3630 XPACK4 3611 XPACK5 3626 XPACK7 3637 XPACK8 3645 XPACK9 3641 XPACKC 3600 XPAKL1 4165 XPAKL2 2470 XPNT 7245 XPOPA 5367 XPOPF 4000 XPOPJ 5703 XPPCK1 3665 XPRNTC 7356 XPRT1 4765 XPUSHA 1702 XPUSHF 1734 XPUSHJ 1715 XPUT 6541 XPUT0 7200 XPUT3 6547 XR1 0012 XR2 0013 XR3 0014 XREAD1 3726 XREADC 3702 XREG 0010 XREG2 0011 XREG3 0012 XREG3S 5330 XRTL6 5362 XSETPT 3416 XSORT1 4762 XSORT3 4731 XSORTC 4705 XSORTJ 4735 XTADCH 2727 XTADEX 4736 XTESTC 4014 XTESTN 4031 XUDF 3171 XXPAK 3604 Z10 0073 Z100 0075 Z1000 0076 Z200 0007 Z6777 0077 Z70 0074 ZCDF 0111 unreferenced ZDIRBU 0103 ZDTQ1 0102 ZDXIT 0104 ZFIXEX 0743 ZLOOK 0100 ZOERRO 0106 ZRUN9X 0101