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