1 /EDU-20 2 / 3 /DEC-08-EDU20A-C-LA 4 / 5 /COPYRIGHT 1972,1973 6 / 7 /DIGITAL EQUIPMENT CORPORATION 8 /MAYNARD, MASSACHUSETTS 01754 9 /EDUSYSTEM 20 BASIC 10 11 12 13 14 15 16 17 18 19 /EDUSYSTEM 20 BASIC 20 21 /MARK BRAMHALL 22 /DIGITAL EQUIPMENT CORP. 23 24 /JOHN O'DONNELL 25 /YALE UNIVERSITY 26 27 /MARK ROSENTHAL 28 /DIGITAL EQUIPMENT CORP. 29 30 31 /VERSION AS OF: 32 /24 MAY 73 33 /@33 -- THIS VERSION HAS BEEN RE-CREATED FROM EDU20S.PA 34 /@34 -- TOGETHER WITH AN OLD PAPER COPY OF THE ORIGINAL 35 /@35 -- EDU20C LISTING OUT OF PAL10 & CREF. A SERIOUS 36 /@36 -- ATTEMPT HAS BEEN MADE TO MAKE THIS AN EXACT AS 37 /@37 -- POSSIBLE REPRODUCTION (WITH THE EXCEPTION OF THESE 38 /@38 -- TWO PAGES), INCLUDING ALL ORIGINAL TYPOS. THIS 39 /@39 -- RECONSTRUCTION, BY STEVE TOCKEY, IS DATED 40 /@40 -- 10-OCT-2021 41 /@41 -- LINES ON THESE 2 PAGES WITH "/@" 42 /@42 -- CAN'T BE RELIABLY RECONSTRUCTED FROM THE PAL10 & 43 /@43 -- CREF LISTING BECAUSE OF A MISSING LISTING PAGE. 44 /@44 -- EVERYTHING IN THIS RANGE HAS BEEN RECONSTRUCTED 45 /@45 -- FROM THE SYMBOL TABLE AND CREF LISTING. 46 /@46 -- SEE THE EDUSYSTEM HANDBOOK FOR HOW TO USE EDU20C 47 /@47 -- HTTP://BITSAVERS.TRAILING-EDGE.COM/PDF/DEC/PDP8/ 48 /@48 -- TSS8/EDUSYSTEMHANDBOOKJAN73.PDF 49 /@49 -- 50 /@50 -- ASSEMBLE IN OS/8: .R PAL8 51 /@51 -- *EDU20C,EDU20C 1 MAKES A PROGRAM THAT 66 /@66 -- LETS YOU RE-CONFIGURE EDU20C WITHOUT RE-LOADING THE 67 /@67 -- ENTIRE PAPER TAPE FROM SCRATCH. THIS WAS USEFUL IN 68 /@68 -- THE PUNCHED PAPER TAPE ERA, PARTICULARLY @ 110 BAUD. 69 FOURTY=0 /@69 -- CREF SAYS FOURTY IS REFERENCED HERE 70 /@70 -- ASSEMBLING WITH FOURTY <> 0 RELATES TO EDU 40. SEE 71 /@71 -- CHAPTER 8 OF ABOVE EDUSYSTEM HANDBOOK FOR DETAIL. 72 /@72 73 /@73 -- CREF SAYS CONFIG IS REFERENCED ON THIS LINE 74 /@74 75 /@75 76 /@76 77 DTCA=6762 /@77 -- PAL-8 IS MISSING PRE-DEFINED 78 DTXA=6764 /@78 -- DEC TAPE IOTS WHICH APPEAR TO 79 DTSF=6771 /@79 -- BE PRE-DEFINED IN PAL10, SO DEFINE 80 /@80 81 /@81 82 /@82 83 /@83 -- PROBABLY "/DEFINITIONS" 84 /@84 85 FINT=JMS I 7 /@85 86 /@86 87 FEXT=0000 /@87 88 FXIT=0000 /@88 89 FNOR=6010 /@89 90 FSKP=6000 /@90 91 FSNE=6040 /@91 92 FSEQ=6050 /@92 93 FSGE=6100 /@93 94 FSLT=6110 /@94 95 FSGT=6140 /@95 96 FSLE=6150 /@96 97 /@97 98 /@98 99 CAF=6007 /@99 100 BSW=7002 /@100 101 /@101 102 /@102 103 MQA=7501 /@103 104 MQL=7421 /@104 105 SPL=6102 /@105 106 MTLS=6126 /@106 107 MTKF=6123 /@107 108 MTPF=6113 /@108 109 MTON=6117 /@109 110 MINT=6115 /@110 111 MINS=6125 /@111 112 MKSF=6111 /@112 113 MKRB=6116 /@113 114 MTSF=6121 /@114 115 MTCF=6122 /@115 116 /@116 117 /@117 118 /@118 119 L0001=CLL CLA IAC /@119 120 L0002=CLL CLA CML RTL /@120 121 L7777=CLL CLA CMA /@121 122 L7776=CLL CLA CMA RAL /@122 123 L7775=CLL CLA CMA RTL /@123 124 L3777=CLL CLA CMA RAR /@124 125 L5777=CLL CLA CMA RTR /@125 126 L4000=CLL CLA CML RAR /@126 127 L2000=CLL CLA CML RTR /@127 128 /@128 129 /@129 130 /@130 131 132 SWAP=10 133 134 LMULT=L7775 135 LAL1=L7776 136 LFXUP=L7777 137 LNFIX=CLA 138 LHIGH=L0001 139 /PAGE ZERO 140 141 FIELD 0 142 143 PAGE 0 144 000000 0000 0 145 000001 5402 JMP I .+1 /INTERRUPT HANDLER 146 000002 5200 INTR8E 147 000003 0000 USER, 0 /INTERRUPT USER COUNTER 148 000004 0000 SIN, 0 /INTERRUPT TEMPORARY 149 000005 0000 TEMP1, 0 /INTERRUPT TEMP 150 000006 0765 TEMP2, USER0 /INTERRUPT TEMP 151 000007 5400 ZFPNT /FLOATING POINT 152 000010 0000 XREG, 0 /INTERRUPT XREG 153 000011 0000 XREG2, 0 /INTERRUPT XREG 154 000012 0000 XREG3, 0 /GENERAL XREG 155 000013 0000 FLTXR, 0 /FLOATING XREG 156 000014 0000 FLTXR2, 0 /FLOATING XREG 157 /USER SWAP AREA 158 159 STSWAP=. /START OF SWAP 160 000015 7776 PDLXR, TOP /PUSH-DOWN XREG 161 000016 0000 AXIN, 0 /PACKING XREG 162 TEXTP=. /TEXT POINTERS 163 000017 0000 AXOUT, 0 /UNPACK XREG 164 000020 0000 GTEM, 0 /UNPACK SWITCH 165 000021 0000 XCT, 0 /UNPACK SWITCH 166 000022 0462 PC, READY /PROGRAM RESTART 167 000023 0000 ADD, 0 /PACK TEMPORARY 168 000024 0000 XCTIN, 0 /PACK SWITCH 169 SUBS=XCTIN /SUBSCRIPT 170 000025 0000 PT1, 0 /FLOATING POINTER 171 000026 0000 CHAR, 0 /CHARACTER 172 000027 0000 LINEPC, 0 /LINE POINTER 173 000030 6213 LINENO, CIF CDF 10 /LINE NUMBER 174 000031 5432 LASTLN, JMP I .+1 /LAST LINE POINTER 175 MODE=LASTLN 176 000032 6520 SPACSW, TAPEM /0 IS IGNORE SPACES 177 000033 7777 DINPUT, -1 /-1 FOR BREAK ON CR ONLY 178 /0 FOR BREAK ON ANY AND NO ECHO 179 000034 0000 OUTPUT, 0 /0 IS ECHO 180 000035 6036 XIOT, KRB /INPUT IOT 181 000036 0000 XFIELD, 0 /USER FIELD 182 000037 0000 DATAPC, 0 /LINE NUMBER OF DATA STATEMENT 183 000040 6213 CIF CDF 10 /DATA POINTER 184 000041 5442 JMP I .+1 /DATA TEMPORARY 185 000042 6530 DISKM /DATA UNPACK SWITCH 186 000043 0000 0 /DATA CHARACTER 187 000044 0040 IPTRI, BUFFER /INPUT BUFFER FILL 188 000045 0040 IPTRO, BUFFER /INPUT BUFFER EMPTY 189 000046 0040 IPTR0, BUFFER /START OF BUFFER 190 000047 0000 OPTRI, BUFFER-40 /OUTPUT BUFFER FILL 191 000050 0000 OPTRO, BUFFER-40 /OUTPUT BUFFER EMPTY 192 000051 0000 TELSW, 0 /TTY BUSY SWITCH 193 000052 0000 PACKST, 0 /START OF PACKING 194 000053 0000 PACKND, 0 /POINTER TO END OF PACKING 195 000054 0164 BUFR, LINE1 /NEXT FREE SPACE 196 STARTV=BUFR /START OF VARIABLES 197 000055 0164 LASTV, LINE1 /LAST DEFINED VARIABLE 198 000056 7776 PDLST, TOP /START OF PUSH-DOWN 199 000057 0162 ALINE0, LINE0 /POINTER TO DUMMY LINE 200 000060 0100 COMBUF, BUFCOM /COMMAND BUFFER 201 000061 0000 PRNTC1, 0 /PRINT ZONE COUNT 202 000062 0000 ERLINE, 0 /ERROR LINE 203 000063 0001 FRNDX, 1 /3 WORD 204 000064 0203 203 /RANDOM INTEGER 205 000065 5555 5555 206 ENSWAP=.-1 207 DECK=XFIELD /USER ON DECK 208 000066 0000 ACSIGN, 0 /FLAG SIGN 209 000067 0000 ACEXP, 0 /FLAG EXPONENT 210 000070 0000 AC3, 0 /FLAG 211 000071 0000 AC2, 0 212 000072 0000 AC1, 0 213 000073 0000 SORTCN, 0 /SORT CONSTANT 214 000074 0000 T1, 0 /THREE TEMPS 215 000075 0000 T2, 0 216 000076 0000 T3, 0 217 000077 0000 CNTR, 0 /COUNTER 218 000100 0000 THISOP, 0 /CURRENT OP 219 000101 0000 LASTOP, 0 /LAST OP 220 EFOP=CNTR /FUNCTION OP 221 000102 0462 AREADY, READY 222 000103 6400 FLOUTP, FLOUT /FLOATING OUTPUT 223 000104 6200 FLINTP, FLIN /FLOATING INPUT 224 000105 0764 LOOK, USER0-1 /USER BEING RUN OR LOOKED AT 225 /USER0*#USERS-1 (SEE BEG750) 226 000106 0765 LOOKST, USER0 /TO RESET LOOKING 227 000107 6726 FLARGP, FLARG /POINTER TO TEMP FLAC 228 000110 6735 INTEGE, FIX /FIX THE FLAC ROUTINE 229 IFNZRO PDLXR-15 230 VPDLXR, 231 000111 0015 CCR, 15 /CR 232 000112 0007 C7, 7 /BELL 233 000113 0177 C177, 177 /RUBOUT 234 000114 0137 C137, 137 /BACK ARROW 235 000115 7777 LSTMOD, -1 /SET BY *INPUT* 236 IFNZRO STSWAP-15 237 STSWM1, 238 000116 0014 C14, 14 /FORM FEED 239 000117 0012 CLF, 12 /LINE FEED 240 000120 7766 M12, -12 /-10 DECIMAL 241 000121 0040 C40, 40 /BUFFER SIZE 242 000122 0077 C77, 77 /RIGHT MASK 243 000123 7770 M10, -10 244 000124 0010 C10, 10 245 000125 7740 M40, -40 /-BUFFER SIZE 246 000126 7772 M6, -6 /-MESSAGE LENGTH 247 000127 7700 M100, -100 /CHARACTER TEST 248 C7700=M100 249 000130 7774 M4, -4 /CHARACTER COUNT 250 000131 0100 C100, 100 251 000132 0004 C4, 4 252 000133 0003 C3, 3 253 /NEW INSTRUCTIONS 254 PRINTC=JMS I . /PRINT AC OR CHAR 255 000134 4144 XPRNTC 256 GETC=JMS I . /UNPACK A CHAR 257 000135 4041 APGETC, XGETC 258 SORTJ=JMS I . /SORT JUMP 259 000136 4735 XSORTJ 260 SORTC=JMS I . /SORT 261 000137 4704 ASORTC, XSORTC 262 PUSHA=JMS I . /SAVE AC 263 000140 1717 XPUSHA 264 PUSHJ=JMS I . /PUSH JUMP 265 000141 1732 XPUSHJ 266 PUSHF=JMS I . /SAVE FLOATING DATA 267 000142 1751 XPUSHF 268 POPA=JMS I . /RESTORE AC 269 000143 3751 XPOPA 270 POPJ=JMP I . /POP JUMP 271 000144 2454 XPOPJ 272 POPF=JMS I . /RESTORE FLOATING DATA 273 000145 4003 XPOPF 274 FLGET=JMS I . /FLOATING GET 275 000146 5145 XFLGET 276 FLPUT=JMS I . /FLOATING PUT 277 000147 0742 XFLPUT 278 PRINTX=JMS I . /DO OUTPUT 279 000150 3340 XOUTL 280 ERROR=JMS I . /ERROR 281 000151 3532 XERROR 282 UDF=JMS I . /USER DATA FIELD 283 000152 7166 AUDF, XUDF 284 RTL6=JMS I . /SIX RAL*S 285 000153 7633 XRTL6 286 TESTN=JMS I . /TEST NUMERIC 287 000154 4017 XTESTN 288 TESTC=JMS I . /TEST CHAR 289 000155 4237 XTESTC 290 PACKC=JMS I . /PACK A CHAR 291 000156 3600 XPACKC 292 GETLN=JMS I . /GET A LINE NUMBER 293 000157 6335 XGETLN 294 TSTCCR=JMS I . /SKIP IF CR 295 000160 4206 CCRTST 296 TSTCOM=JMS I . /SKIP IF COMMA 297 000161 4200 COMTST 298 TSTALP=JMS I . /SKIP IF LETTER 299 000162 4225 ALPTST 300 COMMAN=JMS I . /DETERMINE COMMAND 301 000163 2005 MANCOM 302 FIND=JMS I . /FIND A STATEMENT 303 000164 4125 XFIND 304 GETNXT=JMS I . /GET NEXT LINE 305 000165 4077 NXTGET 306 FINDLN=JMS I . /FIND A LINE 307 000166 3467 XFINDL 308 FREE13=JMS I . /FREE 14 OUTPUT SPACES 309 000167 5552 XFREE3 310 FREE2=JMS I . /FREE 3 OUTPUT SPACES 311 000170 5543 XFREE2 312 READC=JMS I . /READ A CHAR 313 000171 3717 XREADC 314 TSTEND=JMS I . /TEST FOR END OF LINE 315 000172 4213 ENDTST 316 TSTLPR=JMS I . /SKIP IF L-PAREN 317 000173 3756 LPRTST 318 CALLF1=JMS I . /CALL SUBR IN FIELD 1 319 000174 5410 F1CALL 320 GETSGN=TAD I FLARGP 321 /MAINLINE BASIC 322 323 /WHENEVER THERE IS NOTHING BETTER TO DO OR A JOB WANTS TO 324 /DISMISS ITSELF SO OTHERS CAN TRY THIS ROUTINE IS ENTERED 325 326 /IT KEEPS LOOKING FOR A JOB WITH BITS 0 AND 1 OFF WHICH 327 /SAYS THAT THE JOB IS NOT WAITING FOR INPUT OR OUTPUT 328 /RESPECTIVELY 329 *177 330 000177 6001 NULL, ION 331 000200 6201 CDF 332 000201 2777 ISZ I (INTCNT /COUNT FOR RANDOMIZE 333 000202 0060 C60, 60 /PROTECT THE ISZ 334 000203 1105 TAD LOOK 335 000204 1230 TAD MLOOKE /CHECK POSITION OF POINTER 336 000205 7710 SPA CLA 337 000206 5212 JMP .+4 /O.K. TO LOOK AT NEXT 338 /IF PDP 8E, AND NOT DC02 = ASSUME KL8E, NEXT THREE WORDS ARE 339 / CIF 340 / JMP I .+1 341 / KL8FIX0 342 /SEE BEG002 AND BEG540 FOR DETAILS. 343 000207 1106 KL8JM0, TAD LOOKST 344 000210 3105 DCA LOOK /RESET POINTER 345 000211 7410 SKP 346 000212 2105 ISZ LOOK /LOOK AT NEXT 347 000213 1505 KL8LF0, TAD I LOOK /GET STATUS 348 000214 7104 CLL RAL 349 000215 7730 SZL SPA CLA 350 000216 5177 JMP NULL /NO GO 351 000217 1505 TAD I LOOK /GET STATUS 352 000220 6002 IOF /NO INTERRUPTS 353 000221 4305 JMS DECKON /PUT HIM ONDECK 354 000222 1022 TAD PC 355 000223 3000 DCA 0 /RESTART LOCATION 356 000224 7346 L7775 /NUMBER OF COMMANDS BEFORE RETURNING 357 000225 3022 DCA PC 358 000226 6001 ION 359 000227 5400 JMP I 0 /GO TO IT... 360 361 000230 7014 MLOOKE, -USER7+10 /LAST STATUS WORD : SUBTRACT NUMBER OF USERS 362 /MINUS NUMBER OF USERS - SEE BEG750 363 /*PRNTIT* ROUTINE 364 /ENTER WITH THE AC CONTAINING THE VALUE TO BE PRINTED AS 365 /A DECIMAL NUMBER BETWEEN 1 AND 2047 366 /IF PRNT5 IS NOT 0 THEN LEADING SPACES ARE NOT PRINTED 367 /PRNT5 IS SET TO 0 AT THE END OF THE ROUTINE 368 000231 0000 ITPRNT, 0 369 000232 3074 DCA T1 370 000233 3013 DCA FLTXR /SIGNIFICANCE TESTER 371 000234 7346 L7775 372 000235 3077 DCA CNTR /DO 3 LOOPS 373 000236 1376 TAD (PRNTLL 374 000237 3075 DCA T2 /LIST OF SUBTRACTIONS 375 000240 3076 PRNT1, DCA T3 /HOLDS DIGIT 376 000241 5244 JMP .+3 377 000242 2076 ISZ T3 /BUMP DIGIT 378 000243 3074 DCA T1 379 000244 1074 TAD T1 380 000245 1475 TAD I T2 /SUBTRACT 381 000246 7500 SMA 382 000247 5242 JMP .-5 383 000250 7200 CLA 384 000251 2075 ISZ T2 /POINT TO NEXT 385 000252 1076 TAD T3 /GET DIGIT 386 000253 7440 SZA 387 000254 5260 JMP PRNT2 /NON-ZERO 388 000255 1013 TAD FLTXR /SIG YET 389 000256 7650 SNA CLA 390 000257 5300 JMP PRNT3 /NO 391 000260 2013 PRNT2, ISZ FLTXR /NOW SIG 392 000261 1202 TAD C60 393 000262 4534 PRNT4, PRINTC /PRINT IT 394 000263 2077 PRNT7, ISZ CNTR 395 000264 5240 JMP PRNT1 /LOOP 396 000265 1074 TAD T1 397 000266 1202 TAD C60 398 000267 4534 PRINTC /UNITS DIGIT 399 000270 1277 TAD PRNT5 /FORMATTING 400 000271 7640 SZA CLA 401 000272 5275 JMP PRNT6 /NO 402 000273 1121 TAD C40 403 000274 4534 PRINTC /PRINT SPACE AFTER 404 000275 3277 PRNT6, DCA PRNT5 /RESET FOR LATER 405 000276 5631 JMP I ITPRNT 406 407 000277 0000 PRNT5, 0 408 409 000300 1277 PRNT3, TAD PRNT5 /FORMATTING 410 000301 7640 SZA CLA 411 000302 5263 JMP PRNT7 /NO 412 000303 1121 TAD C40 413 000304 5262 JMP PRNT4 414 /*ONDECK* ROUTINE 415 /ROUTINE TO PUT A USER "ON DECK" 416 /ENTER WITH HIS NUMBER ON AC BITS 9-11 417 000305 0200 DECKON, NULL+1 418 000306 0112 AND C7 /USER NUMBER ONLY 419 000307 3004 DCA SIN /SAVE NEW 420 000310 1036 TAD DECK 421 000311 7041 CIA 422 000312 1004 TAD SIN 423 000313 7650 SNA CLA 424 000314 5705 JMP I DECKON /FAST EXIT 425 000315 1036 TAD DECK 426 000316 4353 JMS DFIND /LOCATE OLD 427 000317 1115 TAD LSTMOD 428 000320 3033 DCA DINPUT 429 000321 1775 TAD I (XUDF+1 430 000322 3036 DCA XFIELD 431 000323 1411 TAD I XREG2 432 000324 6211 CDF SWAP 433 000325 3410 DCA I XREG /SWAP OUT OLD 434 000326 6201 CDF 435 000327 2006 ISZ TEMP2 436 000330 5323 JMP .-5 437 000331 1004 TAD SIN 438 000332 4353 JMS DFIND /LOCATE NEW 439 000333 6211 ENTRY1, CDF SWAP 440 000334 1410 TAD I XREG 441 000335 6201 CDF 442 000336 3411 DCA I XREG2 /SWAP IN NEW 443 000337 2006 ISZ TEMP2 444 000340 5333 JMP .-5 445 000341 1033 TAD DINPUT 446 000342 3115 DCA LSTMOD 447 000343 1036 TAD XFIELD 448 000344 3775 DCA I (XUDF+1 449 000345 1004 TAD SIN 450 000346 3036 DCA DECK /NEW USER ONDECK 451 000347 1106 TAD LOOKST 452 000350 1036 TAD DECK 453 000351 3006 DCA TEMP2 /POINT TO STATUS 454 000352 5705 JMP I DECKON 455 456 000353 0333 DFIND, ENTRY1 457 000354 7040 ENTRY, CMA 458 000355 3006 DCA TEMP2 459 000356 1374 TAD (ORG-1 460 000357 7410 SKP 461 000360 1371 TAD STARTP /SPACE BETWEEN 462 000361 2006 ISZ TEMP2 463 000362 5360 JMP .-2 464 000363 3010 DCA XREG /POINT TO USER 465 000364 1116 TAD STSWM1 466 000365 3011 DCA XREG2 /POINT TO SWAP AREA 467 000366 1373 TAD (STSWAP-ENSWAP-1 468 000367 3006 DCA TEMP2 /SWAP COUNT 469 000370 5753 JMP I DFIND 470 471 000371 0051 STARTP, ENSWAP-STSWAP+1 /SPACE BETWEEN 472 000373 7727 PAGE 000374 1777 000375 7167 000376 6547 000377 6365 473 474 /ERROR ROUTINE 475 /HERE IS WHERE ERROR MESSAGES ARE PRINTED 476 /IT IS CALLED BY A DISMISSAL WITH THE PC SET TO 477 /ERRORX AND THE ERROR ADDRESS IN LSTMOD 478 000400 4567 ERRORX, FREE13 /GET ROOM 479 000401 1125 TAD M40 480 000402 3076 DCA T3 /BUFFER IS 40 LONG 481 000403 1377 TAD (6007 482 000404 0505 AND I LOOK 483 000405 3505 DCA I LOOK /DEASSIGN ANY DEVICES 484 000406 7340 L7777 485 000407 1046 TAD IPTR0 486 000410 3012 DCA XREG3 /POINT TO I BUFFER 487 000411 4552 UDF 488 000412 3412 DCA I XREG3 /CLEAR BUFFER 489 000413 2076 ISZ T3 490 000414 5212 JMP .-2 491 000415 6201 CDF 492 000416 1044 TAD IPTRI 493 000417 3045 DCA IPTRO /NO INPUT IN BUFFER 494 000420 3034 DCA OUTPUT /HAVE ECHO 495 000421 1376 TAD (CDF SWAP 496 000422 3775 DCA I (CSORTC /TABLE IS IN FIELD 1 497 000423 1115 TAD LSTMOD /GET ERROR CODE 498 000424 4537 SORTC 499 000425 1551 ERRLST-1 500 000426 1130 TAD M4 501 000427 1073 TAD SORTCN 502 000430 7540 SMA SZA 503 000431 5236 JMP ERROR2 /TRUE ERROR 504 000432 7640 SZA CLA 505 000433 7346 L7775 /WHAT? 506 000434 1345 TAD C16 /STOP 507 000435 7410 SKP 508 000436 7340 ERROR2, L7777 509 000437 4774 JMS I (READY1 /PRINT ERROR MESSAGE 510 000440 1130 TAD M4 511 000441 1073 TAD SORTCN 512 000442 7550 SPA SNA 513 000443 5261 JMP ERROR3 /NO NUMBER WITH THESE 514 000444 4706 JMS I PITPRNT /PRINT ERROR NUMBER 515 000445 1062 TAD ERLINE /WERE WE RUNNING DEFERRED? 516 000446 7750 SPA SNA CLA 517 000447 5261 JMP ERROR1 /NO 518 000450 4567 FREE13 519 000451 4535 GETC 520 000452 4534 PRINTC /I 521 000453 4535 GETC 522 000454 4534 PRINTC /N 523 000455 1121 TAD C40 524 000456 4534 PRINTC 525 000457 1062 TAD ERLINE 526 000460 4706 JMS I PITPRNT /PRINT LINE IN ERROR 527 ERROR1, 528 000461 7200 ERROR3, CLA 529 /*READY* ROUTINE 530 /ROUTINE TO PRINT "READY" AND RESET POINTERS 531 /ENTER THE ROUTINE AT START TO OMIT READY MESSAGE 532 000462 4567 READY, FREE13 533 000463 1133 TAD C3 534 000464 4774 JMS I (READY1 /PRINT "READY" 535 000465 4535 GETC 536 000466 4534 PRINTC 537 000467 4534 PRINTC 538 000470 1377 TAD (6007 539 000471 0505 AND I LOOK 540 000472 3505 DCA I LOOK /DEASSIGN DEVICE 541 000473 1056 START, TAD PDLST 542 000474 3015 DCA PDLXR /RESET PUSH-DOWN 543 000475 7340 L7777 544 000476 3115 DCA LSTMOD /SHORT LIST 545 000477 3062 DCA ERLINE /IMMEDIATE MODE 546 000500 3031 DCA MODE /CLEAR STRING MODE FLAG 547 000501 1373 TAD (ERR330 548 000502 4540 PUSHA /TRAP TOO MANY *RETURN*S 549 000503 4541 PUSHJ 550 000504 1167 PAKLIN /GET COMMAND LINE 551 /INSERT LINE OR DO COMMAND 552 /AFTER A COMMAND OR LINE IS PACKED INTO THE COMMAND BUFFER 553 /THIS ROUTINE LOOKS AT IT AND EITHER STORES THE LINE OR 554 /GOES TO THE PROPER COMMAND 555 000505 4554 DECODE, TESTN 556 000506 0231 PITPRNT, ITPRNT /A HARMLESS POINTER 557 000507 5761 JMP I PINPUTX /COMMAND 558 000510 4557 GETLN /GET LINE NUMBER 559 000511 1054 SRETN, TAD BUFR 560 000512 3016 DCA AXIN /SET TO REPACK 561 000513 3024 DCA XCTIN 562 000514 1030 TAD LINENO 563 000515 4552 UDF 564 000516 3416 DCA I AXIN /SET LINE NUMBER 565 000517 6201 CDF 566 000520 4560 TSTCCR /JUST LINE NUMBER 567 000521 5324 JMP .+3 /NO 568 000522 4762 JMS I PXDELET /DELETE THIS LINE 569 000523 5355 JMP VARSET 570 571 000524 2032 ISZ SPACSW /KEEP SPACES 572 000525 7410 SKP 573 000526 4535 GETC 574 000527 4556 PACKC /REPACK LINE 575 000530 4560 TSTCCR 576 000531 5326 JMP .-3 577 000532 4762 JMS I PXDELET /DELETE OLD LINE 578 000533 4552 UDF 579 000534 6002 IOF 580 000535 1431 TAD I LASTLN /POINTER TO NEXT 581 000536 3454 DCA I BUFR /POINT TO NEXT 582 000537 1054 TAD BUFR 583 000540 3431 DCA I LASTLN /OLD POINTS TO NEW 584 000541 1023 TAD ADD 585 000542 7440 SZA 586 000543 3416 DCA I AXIN /FINISH PACKING TO AN EVEN BOUNDARY 587 000544 4566 FINDLN /FIND THE LINE 588 000545 0016 C16, 16 589 000546 4541 PUSHJ 590 000547 4153 ENDFND /GET LAST COMMAND ON LINE--IS IT *NEXT*? 591 000550 7650 SNA CLA 592 000551 1124 TAD C10 /8 EXTRA FOR *NEXT* 593 000552 7001 IAC 594 000553 1016 TAD AXIN 595 000554 3054 DCA BUFR /NEW FREE POSITION 596 000555 1054 VARSET, TAD STARTV /RESET VARIABLES AFTER TEXT IS TOUCHED 597 000556 3055 DCA LASTV 598 000557 6001 ION 599 600 000560 5273 JMP START 601 602 603 000561 7720 PINPUTX, INPUTX 604 000562 1614 PXDELET, XDELET 605 000573 6546 PAGE 000574 2152 000575 4713 000576 6211 000577 6007 606 000600 0000 KEY, 0 607 000601 1003 TAD USER 608 000602 4675 JMS I VDECKON /PUT HIM ONDECK 609 000603 1035 TAD XIOT 610 000604 3205 DCA .+1 /SET READ IOT 611 000605 7402 HLT 612 000606 0113 KEYMSK, AND C177 /IGNORE PARITY 613 000607 7450 SNA 614 000610 5264 JMP KEX /IGNORE 0 AND 200 615 000611 3004 DCA SIN /SAVE INPUT 616 000612 7346 L7775 617 000613 1004 TAD SIN 618 000614 7640 M140, SZA CLA 619 000615 5220 JMP KEY7 /NOT CTRL/C 620 000616 4676 ERR004, JMS I PIERROR /IMMEDIATE RECOVERY 621 000617 5600 JMP I KEY /NO RFC IF HE HAS READER THIS TIME 622 623 000620 1115 KEY7, TAD LSTMOD 624 000621 7650 SNA CLA 625 000622 5307 JMP KEY6 /NO ECHO - BREAK 626 000623 1004 TAD SIN 627 000624 4537 SORTC /CHECK BREAK 628 000625 0110 CCR-1 629 000626 5301 JMP KEY5 /BREAK 630 000627 1004 TAD SIN 631 000630 4537 SORTC 632 000631 2145 ALT-1 633 000632 5307 JMP KEY6 /FOUND AN ALTMODE 634 000633 1004 TAD SIN 635 000634 1120 TAD M12 636 000635 7650 SNA CLA 637 000636 5264 JMP KEX /IGNORE LINE FEED IF NOT BREAK 638 000637 1004 TAD SIN 639 000640 0300 AND P140 640 000641 7450 SNA 641 000642 5311 JMP KEY3 /ILLEGAL CHAR 642 000643 1214 TAD M140 643 000644 7650 SNA CLA 644 000645 5311 JMP KEY3 /ILLEGAL CHAR 645 000646 1004 TAD SIN 646 000647 4550 PRINTX /ECHO THE CHAR 647 000650 4316 JMS KEY4 /STORE THE CHAR 648 000651 1045 TAD IPTRO 649 000652 7041 CIA 650 000653 1044 TAD IPTRI /FILLED YET? 651 000654 7550 SPA SNA 652 000655 1121 TAD C40 653 000656 1120 TAD M12 654 000657 7750 SPA SNA CLA 655 000660 5264 JMP KEX 656 000661 7350 ANYINP, L3777 657 000662 0406 AND I TEMP2 /CLEAR I WAIT 658 000663 3406 DCA I TEMP2 659 000664 4552 KEX, UDF 660 000665 1444 TAD I IPTRI 661 000666 6201 CDF 662 000667 7650 SNA CLA /NO RFC IF BUFFER IS FULL 663 000670 1277 TAD P20 664 000671 0406 AND I TEMP2 /NOPE, NOW, DOES HE HAVE THE PTR? 665 000672 7640 SZA CLA 666 000673 6014 RFC /SURE NUFF 667 000674 5600 JMP I KEY 668 669 000675 0305 VDECKON,DECKON 670 000676 3552 PIERROR,IERROR 671 000677 0020 P20, 20 672 000700 0140 P140, 140 673 000701 7340 KEY5, L7777 674 000702 1073 TAD SORTCN 675 000703 7740 SMA SZA CLA 676 000704 5307 JMP .+3 /NO ECHO HERE 677 000705 1004 TAD SIN 678 000706 4550 PRINTX /ECHO BREAK CHAR - CR AND BELL 679 000707 4316 KEY6, JMS KEY4 /STORE CHAR 680 000710 5261 JMP ANYINP /BREAK HERE 681 682 000711 1112 KEY3, TAD C7 683 000712 4550 PRINTX /2 BELLS FOR ILLEGAL CHAR 684 000713 1112 TAD C7 685 000714 4550 PRINTX 686 000715 5600 JMP I KEY 687 688 000716 0000 KEY4, 0 689 000717 4552 UDF 690 000720 1444 TAD I IPTRI 691 000721 7640 SZA CLA 692 000722 5340 JMP ERR070 693 000723 1004 TAD SIN 694 000724 3444 DCA I IPTRI 695 000725 6201 CDF 696 000726 2044 ISZ IPTRI 697 000727 1044 TAD IPTRI 698 000730 7041 CIA 699 000731 1121 TAD C40 700 000732 1046 TAD IPTR0 701 000733 7640 SZA CLA /OK? 702 000734 5716 JMP I KEY4 703 000735 1046 TAD IPTR0 704 000736 3044 DCA IPTRI /NO-RESET 705 000737 5716 JMP I KEY4 706 707 000740 4676 ERR070, JMS I PIERROR 708 000741 5600 JMP I KEY 709 710 /*FLPUT* ROUTINE 711 000742 0000 XFLPUT, 0 712 000743 7440 SZA 713 000744 5347 JMP XFLPT2 714 000745 7340 XFLPT1, L7777 /USE PT1 715 000746 1025 TAD PT1 716 000747 3013 XFLPT2, DCA FLTXR 717 000750 7340 L7777 718 000751 1742 TAD I XFLPUT 719 000752 3014 DCA FLTXR2 720 000753 7346 L7775 721 000754 3076 DCA T3 722 000755 1414 TAD I FLTXR2 /PUT VARIABLE 723 000756 4552 UDF 724 000757 3413 DCA I FLTXR 725 000760 6201 CDF 726 000761 2076 ISZ T3 727 000762 5355 JMP .-5 728 000763 2342 ISZ XFLPUT 729 000764 5742 JMP I XFLPUT 730 731 732 000765 0000 USER0, 0 733 000766 0001 USER1, 1 734 000767 0002 USER2, 2 735 000770 0003 USER3, 3 736 000771 0004 USER4, 4 737 000772 0005 USER5, 5 738 000773 0006 USER6, 6 739 000774 0007 USER7, 7 740 /SORRY THIS IS TO CHOPPED UP-PAGE BOUNDARY YOU KNOW 741 742 000775 4542 INPUT, PUSHF 743 000776 0017 TEXTP /CURSE YOU GH! 744 000777 4542 PUSHF 745 001000 0040 DATAPC+1 746 001001 1043 TAD DATAPC+4 747 001002 4540 PUSHA 748 001003 1111 TAD CCR 749 001004 3043 DCA DATAPC+4 750 001005 4220 JMS INREAD /SET THOSE VARIABLES 751 001006 5330 JMP INPUT1 /DONE 752 001007 4567 INPUT2, FREE13 753 001010 1122 TAD C77 754 001011 4534 PRINTC 755 001012 1121 TAD C40 756 001013 4534 PRINTC 757 001014 4541 PUSHJ 758 001015 1167 PAKLIN 759 001016 7340 L7777 760 001017 5205 JMP INPUT2-2 761 762 763 001020 0000 INREAD, 0 764 001021 7640 SZA CLA 765 001022 5260 JMP INREA3 /RE-ENTRY 766 001023 4541 PUSHJ 767 001024 3302 PRIN10 768 001025 3031 DCA MODE 769 001026 4541 PUSHJ 770 001027 4400 GETVAR 771 001030 7640 SZA CLA 772 001031 5311 JMP ERR500 /WAS FUNCTION 773 001032 1031 TAD MODE 774 001033 3032 DCA SPACSW 775 001034 4542 PUSHF /SAVE PT1;CHAR;LINEPC 776 001035 0025 PT1 777 001036 4542 PUSHF /SAVE TEXT 778 001037 0017 TEXTP 779 001040 4542 PUSHF 780 001041 0040 DATAPC+1 781 001042 4545 POPF /GET POINTERS 782 001043 0017 TEXTP 783 001044 1043 TAD DATAPC+4 784 001045 3026 DCA CHAR 785 001046 4572 TSTEND /DO WE NEED TO PUT IN MORE? 786 001047 5252 JMP INREA1 /YES 787 001050 2220 INREA4, ISZ INREAD /NO=DONE 788 001051 5620 JMP I INREAD 789 790 001052 4561 INREA1, TSTCOM /MORE? 791 001053 4551 ERR490, ERROR /JUNK 792 001054 4535 GETC 793 001055 4572 TSTEND /COMMA FOLLOWED BY CR OR '? 794 001056 7410 SKP 795 001057 5250 JMP INREA4 /YES - ASK FOR MORE 796 001060 1031 INREA3, TAD MODE 797 001061 7650 SNA CLA 798 001062 5266 JMP .+4 799 001063 4541 PUSHJ 800 001064 5616 QINP 801 001065 5270 JMP .+3 802 001066 4541 PUSHJ 803 001067 2612 EVAL /EVALUATE INPUT 804 001070 4542 PUSHF 805 001071 0017 TEXTP 806 001072 4545 POPF 807 001073 0040 DATAPC+1 808 001074 1026 TAD CHAR 809 001075 3043 DCA DATAPC+4 /SAVE POINTERS 810 001076 4545 POPF 811 001077 0017 TEXTP 812 001100 4545 POPF 813 001101 0025 PT1 814 001102 4547 FLPUT /SET VARIABLE 815 001103 6726 FLARG 816 001104 4561 TSTCOM 817 001105 5310 JMP INREA2 818 001106 4535 GETC 819 001107 5223 JMP INREAD+3 820 821 001110 4572 INREA2, TSTEND 822 001111 4551 ERR500, ERROR /JUNK 823 001112 5620 JMP I INREAD 824 001113 7340 L7777 825 001114 4220 READ, JMS INREAD /SET THOSE VARIABLES 826 001115 5544 POPJ 827 001116 1031 READ1, TAD MODE 828 001117 4540 PUSHA 829 001120 1037 TAD DATAPC 830 001121 4564 FIND 831 001122 0003 3 832 001123 4551 ERR510, ERROR /OUT OF DATA 833 001124 3037 DCA DATAPC 834 001125 4543 POPA 835 001126 3031 DCA MODE 836 001127 5313 JMP READ-1 837 001130 1043 INPUT1, TAD DATAPC+4 /FINISH UP INPUT 838 001131 3026 DCA CHAR 839 001132 4572 TSTEND 840 001133 5253 JMP ERR490 841 001134 4543 POPA 842 001135 3043 DCA DATAPC+4 843 001136 4545 POPF /RESTORE POINTERS--THIS WAS INPUT, NOT *READ*; DONT MOVE 844 /DATA POINTERS 845 846 001137 0040 DATAPC+1 847 001140 4545 POPF 848 001141 0017 TEXTP 849 001142 3026 DCA CHAR 850 001143 5544 POPJ 851 001144 0057 VLIN0, ALINE0 852 /TEXT INITIALIZATION ROUTINES 853 001145 0000 INPACK, 0 854 001146 1060 TAD COMBUF 855 001147 3016 DCA AXIN 856 001150 3024 DCA XCTIN 857 001151 1060 TAD COMBUF 858 001152 3052 DCA PACKST 859 001153 1344 TAD VLIN0 860 001154 3053 DCA PACKND 861 001155 5745 JMP I INPACK 862 001156 0000 OTPACK, 0 863 001157 1060 TAD COMBUF 864 001160 3017 DCA AXOUT 865 001161 3021 DCA XCT 866 001162 3032 DCA SPACSW 867 001163 1111 TAD VPDLXR 868 001164 3053 DCA PACKND 869 001165 4535 GETC 870 001166 5756 JMP I OTPACK 871 001167 4345 PAKLIN, JMS INPACK 872 001170 4571 READC 873 001171 4556 PACKC 874 001172 4560 TSTCCR 875 001173 5370 JMP .-3 876 001174 4556 PACKC /FINISH PACKING CR 877 001175 4356 JMS OTPACK 878 001176 5544 POPJ 879 880 881 /*IF* COMMAND 882 883 001177 4541 IF, PUSHJ /GET FIRST VALUE 884 001200 2612 EVAL 885 001201 4542 PUSHF /AND SAVE IT 886 001202 6726 FLARG 887 001203 1031 TAD MODE 888 001204 4540 PUSHA 889 001205 1073 TAD SORTCN 890 001206 1120 TAD M12 891 001207 7510 SPA 892 001210 4551 ERR390, ERROR /NO RELATION OR BAD RELATION 893 001211 7126 CLL CML RTL 894 001212 3376 DCA IF1 /SAVE REL OP 895 001213 4535 GETC 896 001214 4537 SORTC /ANOTHER OP? 897 001215 1400 TERMS-1 898 001216 5265 JMP IF2 /MIGHT BE... 899 001217 7200 IF3, CLA 900 001220 1376 TAD IF1 901 001221 4537 SORTC /CHECK OP 902 001222 7735 IF4-1 903 001223 7410 SKP 904 001224 5206 JMP IF+7 /BAD OP 905 001225 1073 TAD SORTCN 906 001226 1276 TAD PIF5 907 001227 3376 DCA IF1 908 001230 1776 TAD I IF1 /GET FLOATING SKIP WORD 909 001231 3253 DCA IF6 910 001232 4541 PUSHJ /GET 2ND VALUE 911 001233 2612 EVAL 912 001234 7346 L7775 913 001235 4563 COMMAN /GET THEN 914 001236 7650 SNA CLA 915 001237 4551 ERR400, ERROR 916 001240 4543 POPA 917 001241 1031 TAD MODE 918 001242 7640 SZA CLA 919 001243 5336 JMP IFSTR 920 001244 4545 POPF 921 001245 6726 FLARG 922 001246 4407 FINT 923 001247 6507 FCMP I FLARGP /GET DIFFERENCE 924 001250 7507 FPUT I FLARGP /AND SAVE IT 925 001251 0000 FEXT 926 001252 1507 IF7, GETSGN 927 001253 7402 IF6, HLT /SKIP IF FALSE 928 001254 4554 TESTN 929 001255 5544 POPJ /NOT TRUE (NOTICE WIERD NOP--IF (EXP) (REL) (EXP) THEN .) 930 001256 5664 JMP I PRUNIN /NON-DIGIT--MUST BE COMMAND 931 001257 4557 GOTO, GETLN /DIGIT--ASSUME GOTO 932 001260 4572 TSTEND 933 001261 4551 ERR270, ERROR 934 001262 1030 TAD LINENO /TRANSFER TO THE LINE 935 001263 5544 POPJ 936 937 001264 2514 PRUNIN, RUN8 938 001265 1073 IF2, TAD SORTCN 939 001266 1120 TAD M12 940 001267 7510 SPA 941 001270 5217 JMP IF3 /NO 2ND OP 942 001271 7001 IAC 943 001272 1376 TAD IF1 944 001273 3376 DCA IF1 945 001274 4535 GETC 946 001275 5220 JMP IF3+1 947 001276 3743 PIF5, IF5 948 001277 3400 LXOUTL2, XOUTL2 949 001300 0000 TTY, 0 950 001301 1003 TAD USER 951 001302 4733 JMS I PDECKON /PUT HIM ONDECK 952 001303 3051 DCA TELSW /CLEAR BUSY 953 001304 4552 UDF 954 001305 1450 TTY3, TAD I OPTRO /MORE 955 001306 7450 SNA 956 001307 5324 JMP TTY2 /NO 957 001310 4677 JMS I LXOUTL2 /OUTPUT IT 958 001311 4552 UDF 959 001312 3450 DCA I OPTRO /CLEAR BUFFER 960 001313 2050 ISZ OPTRO /BUMP BUFFER 961 001314 1050 TAD OPTRO 962 001315 7041 CIA 963 001316 1046 TAD IPTR0 964 001317 7640 SZA CLA 965 001320 5324 JMP TTY2 /OK 966 001321 1046 TAD IPTR0 967 001322 1125 TAD M40 968 001323 3050 DCA OPTRO /RESET BUFFER 969 001324 4734 TTY2, JMS I AXFREE /ROOM AVAILABLE 970 001325 7000 NOP 971 001326 5700 JMP I TTY /NOT ENOUGH ROOM 972 001327 7352 L5777 973 001330 0406 AND I TEMP2 /CLEAR O WAIT 974 001331 3406 DCA I TEMP2 975 001332 5700 JMP I TTY 976 977 001333 0305 PDECKON, DECKON 978 001334 5514 AXFREE, XFREE 979 001335 1375 VIF1, IF1-1 980 001336 4545 IFSTR, POPF /STRING *IF* 981 001337 1376 IF1 /SAVE FIRST STRING 982 001340 1107 TAD FLARGP /POINT TO THE STRINGS 983 001341 3031 DCA MODE 984 001342 1335 TAD VIF1 985 001343 3013 DCA FLTXR 986 001344 7346 L7775 /DO AN INTEGER COMPARE ON 3 WORDS 987 001345 3076 DCA T3 988 001346 1413 IFSTR1, TAD I FLTXR /SUBTRACT WORDS, GET SIGN OF DIFFERENCE 989 001347 7040 CMA /THIS GARBAGE CONVERTS CR'S TO ZEROES 990 001350 3074 DCA T1 /AND ADDS ONE TO EACH CHARACTER 991 001351 1074 TAD T1 /SO COMPARES OF DIFFERENT LENGTHS COME OUT OK 992 001352 0122 AND C77 993 001353 7640 SZA CLA 994 001354 1127 TAD C7700 995 001355 1074 TAD T1 996 001356 3074 DCA T1 997 001357 1431 TAD I MODE 998 001360 7001 IAC 999 001361 0122 AND C77 1000 001362 3075 DCA T2 1001 001363 1431 TAD I MODE 1002 001364 1131 TAD C100 1003 001365 0127 AND C7700 1004 001366 1075 TAD T2 1005 001367 1074 TAD T1 1006 001370 7440 SZA /IF DIFFERENCE ZERO, TRY ANOTHER PAIR 1007 001371 5253 JMP IF6 /NON ZERO DIFFERENCE, COMPARE THEM 1008 001372 2031 ISZ MODE 1009 001373 2076 ISZ T3 1010 001374 5346 JMP IFSTR1 1011 001375 5253 JMP IF6 /IF DONE, COMPARE THEM 1012 1013 001376 0000 IF1, 0 1014 001377 0000 0 1015 001400 0000 0 1016 001401 0040 TERMS, 40 /SPACE 0 1017 001402 0053 53 /+ 1 1018 001403 0055 55 /- 2 1019 001404 0052 52 /* 3 1020 001405 0057 57 // 4 1021 001406 0136 136 /^ 5 1022 001407 0050 50 /( 6 1023 001410 0133 133 /[ 7 1024 001411 0051 51 /) 10 1025 001412 0135 135 /] 11 1026 001413 0074 74 /< 12 1027 001414 0076 76 /> 13 1028 001415 0075 75 /= 14 1029 1030 /*LET* AND *FOR* COMMANDS 1031 001416 7340 FOR, L7777 1032 001417 3361 LET, DCA FOR1 /SAVE DETERMINATOR 1033 001420 4541 PUSHJ /GET VARIABLE 1034 001421 4400 GETVAR 1035 001422 7650 SNA CLA /WAS FUNCTION!?! 1036 001423 1026 TAD CHAR 1037 001424 1340 TAD MEQL 1038 001425 7640 SZA CLA 1039 001426 4551 ERR410, ERROR /NO "=" 1040 001427 4542 LET2, PUSHF /SAVE ADD,XCTIN,PT1 1041 001430 0023 ADD 1042 001431 4541 PUSHJ /GET VALUE 1043 001432 2611 EVAL-1 1044 001433 4545 POPF 1045 001434 0023 ADD 1046 001435 4547 FLPUT /SET VARIABLE 1047 001436 6726 FLARG 1048 001437 7340 L7777 /COUNT BACK FOR SAFETY 1049 001440 1017 TAD AXOUT 1050 001441 3362 DCA FOR5 1051 001442 2361 ISZ FOR1 /WHICH COMMAND? 1052 001443 5341 JMP LET1 /LET COMMAND 1053 001444 1023 TAD ADD 1054 001445 7710 SPA CLA 1055 001446 4551 ERR420, ERROR /SUBSCRIPTED 1056 001447 4563 COMMAN /GET WORD 1057 001450 1130 TAD M4 1058 001451 7640 SZA CLA 1059 001452 5351 JMP FOR2+3 /NOT *TO* 1060 001453 1025 TAD PT1 1061 001454 7041 CIA 1062 001455 3361 DCA FOR1 /SAVE POINTER 1063 001456 4541 PUSHJ /GET LIMIT 1064 001457 2612 EVAL 1065 001460 4542 PUSHF /SAVE LIMIT 1066 001461 6726 FLARG 1067 001462 4572 TSTEND 1068 001463 5346 JMP FOR2 /GET INCREMENT 1069 001464 4542 PUSHF /INCREMENT IS ONE 1070 001465 4354 FLTONE 1071 001466 1030 FOR3, TAD LINENO 1072 001467 4540 PUSHA 1073 001470 1030 TAD LINENO 1074 001471 7410 SKP 1075 001472 4543 FOR4, POPA 1076 001473 4564 FIND /FIND A *NEXT* STATEMENT 1077 001474 0001 1 /-NEXT CODE 1078 001475 4551 ERR440, ERROR /OUT OF TEXT 1079 001476 4540 PUSHA /SAVE FOR RESTART 1080 001477 4562 TSTALP 1081 001500 5272 JMP FOR4 1082 001501 4541 PUSHJ /GET VARIABLE 1083 001502 4400 GETVAR 1084 001503 7640 SZA CLA 1085 001504 3025 DCA PT1 /NO SECOND CHANCE ON FUNCTION 1086 001505 4560 TSTCCR 1087 001506 5763 JMP I NEXERR /WE GOTTA CHECK THAT *NEXT* IS LAST ON LINE OR WE MIGHT 1088 /WIPE OUT HIS PROGRAM [AND THE SYSTEM?] 1089 001507 1025 TAD PT1 1090 001510 1361 TAD FOR1 1091 001511 7640 SZA CLA 1092 001512 5272 JMP FOR4 /LOOP 1093 001513 2015 ISZ PDLXR /DUMP RESTART 1094 001514 4543 POPA 1095 001515 3030 DCA LINENO 1096 001516 1030 TAD LINENO 1097 001517 4552 UDF 1098 001520 3417 DCA I AXOUT /SET TEXT AND LINE POINTERS 1099 001521 1362 TAD FOR5 1100 001522 3417 DCA I AXOUT /SET POINTER 1101 001523 6201 CDF 1102 001524 4545 POPF /GET INCREMENT 1103 001525 6726 FLARG 1104 001526 1017 TAD AXOUT 1105 001527 4547 FLPUT /PUT INCREMENT 1106 001530 6726 FLARG 1107 001531 4545 POPF /GET LIMIT 1108 001532 6726 FLARG 1109 001533 1133 TAD C3 1110 001534 1017 TAD AXOUT 1111 001535 4547 FLPUT /SET LIMIT 1112 001536 6726 FLARG 1113 001537 4566 FINDLN 1114 001540 7703 MEQL, -"=+200 1115 001541 4572 LET1, TSTEND 1116 001542 4551 ERR450, ERROR /JUNK 1117 001543 1362 TAD FOR5 1118 001544 5745 JMP I .+1 1119 001545 2470 FOREXT 1120 1121 001546 7344 FOR2, L7776 1122 001547 4563 COMMAN /IS IT STEP 1123 001550 7650 SNA CLA 1124 001551 4551 ERR430, ERROR /NOT STEP 1125 001552 4541 PUSHJ /GET INCREMENT 1126 001553 2612 EVAL 1127 001554 4542 PUSHF /SAVE INCREMENT 1128 001555 6726 FLARG 1129 001556 4572 TSTEND 1130 001557 5351 JMP FOR2+3 /JUNK 1131 001560 5266 JMP FOR3 1132 1133 1134 001561 0000 FOR1, 0 1135 001562 0000 FOR5, 0 /AXOUT SAVE REG 1136 1137 001563 2400 NEXERR, ERR460 1138 1139 001564 4562 UNKWN, TSTALP 1140 001565 5777 JMP I PERRR 1141 001566 4541 PUSHJ 1142 001567 4400 GETVAR 1143 001570 7650 SNA CLA /NO WAY 1144 001571 1026 TAD CHAR 1145 001572 1340 TAD MEQL 1146 001573 7640 SZA CLA 1147 001574 5365 JMP UNKWN+1 /NO "=" 1148 001575 3361 DCA FOR1 1149 001576 5227 JMP LET2 1150 1151 001577 4362 PERRR, ERRCHK 1152 1153 1154 /*NEW* AND *BYE* AND *SCRATCH* AND *END* COMMANDS 1155 001600 4560 BYE, TSTCCR 1156 001601 4551 ERR002, ERROR 1157 001602 4552 UDF 1158 001603 3457 DCA I ALINE0 1159 001604 7326 L0002 1160 001605 1057 TAD ALINE0 1161 001606 3054 DCA BUFR 1162 001607 1054 END, TAD STARTV 1163 001610 3055 DCA LASTV 1164 001611 5502 JMP I AREADY 1165 001612 0000 FATNC, 0 1166 001613 0000 0 /LAST WORD IS SUBR START 1167 /*DELETE* ROUTINE 1168 001614 0000 XDELET, 0 1169 001615 4566 FINDLN /FIND THE LINE 1170 001616 5614 JMP I XDELET /NOT THERE - EXIT 1171 001617 2032 ISZ SPACSW 1172 001620 4535 GETC 1173 001621 4560 TSTCCR /GO TO END OF LINE 1174 001622 5220 JMP .-2 1175 001623 1017 TAD AXOUT 1176 001624 7040 CMA 1177 001625 1027 TAD LINEPC 1178 001626 4540 PUSHA /SAVE COUNT 1179 001627 1027 TAD LINEPC 1180 001630 7001 IAC 1181 001631 3017 DCA AXOUT /TO UNPACK 1182 001632 3021 DCA XCT 1183 001633 4541 PUSHJ 1184 001634 4153 ENDFND /GET LAST COMMAND HERE 1185 001635 7650 SNA CLA 1186 001636 1123 TAD M10 1187 001637 4543 POPA 1188 001640 3076 DCA T3 /CORRECTED COUNT 1189 001641 1027 TAD LINEPC 1190 001642 7041 CIA 1191 001643 1057 TAD ALINE0 1192 001644 7650 SNA CLA 1193 001645 5614 JMP I XDELET /NOT LINE0 1194 001646 4552 UDF 1195 001647 1427 TAD I LINEPC /GET POINTER 1196 001650 3431 DCA I LASTLN /REMOVE LINE 1197 001651 1057 TAD ALINE0 1198 001652 3075 XDEL3, DCA T2 /CURRENT LINE 1199 001653 1475 TAD I T2 1200 001654 7450 SNA 1201 001655 5271 JMP XDEL2 /OUT OF TEXT 1202 001656 3074 DCA T1 1203 001657 1027 TAD LINEPC 1204 001660 7141 CLL CIA 1205 001661 1074 TAD T1 1206 001662 7630 SZL CLA 1207 001663 1076 TAD T3 /CORRECT LINE 1208 001664 1074 TAD T1 1209 001665 3475 DCA I T2 1210 001666 1074 TAD T1 1211 001667 5252 JMP XDEL3 1212 1213 001670 4473 PERR, ERR100-2 1214 001671 7340 XDEL2, L7777 1215 001672 1027 TAD LINEPC 1216 001673 3012 DCA XREG3 1217 001674 1076 TAD T3 1218 001675 7040 CMA 1219 001676 1027 TAD LINEPC 1220 001677 3017 DCA AXOUT 1221 001700 1076 TAD T3 1222 001701 1054 TAD BUFR 1223 001702 3054 DCA BUFR 1224 001703 1016 TAD AXIN 1225 001704 7040 CMA 1226 001705 1017 TAD AXOUT 1227 001706 3074 DCA T1 1228 001707 1076 TAD T3 1229 001710 1016 TAD AXIN 1230 001711 3016 DCA AXIN 1231 001712 1417 TAD I AXOUT 1232 001713 3412 DCA I XREG3 /MOVE TEXT 1233 001714 2074 ISZ T1 1234 001715 5312 JMP .-3 1235 001716 5215 JMP XDELET+1 1236 /PUSH ROUTINES 1237 001717 0000 XPUSHA, 0 1238 001720 3332 DCA XPUSHJ 1239 001721 7340 L7777 /BACK 1 1240 001722 4337 JMS PCHK 1241 001723 1332 TAD XPUSHJ 1242 001724 4552 UDF 1243 001725 3415 DCA I PDLXR /PUSH IT 1244 001726 6201 CDF 1245 001727 7340 L7777 1246 001730 4337 JMS PCHK /BACK AGAIN 1247 001731 5717 JMP I XPUSHA 1248 1249 001732 0000 XPUSHJ, 0 1250 001733 1732 TAD I XPUSHJ /GET SEND ADDRESS 1251 001734 3317 DCA XPUSHA 1252 001735 2332 ISZ XPUSHJ /GET RETURN ADDRESS 1253 001736 5321 JMP XPUSHA+2 1254 1255 001737 0000 PCHK, 0 1256 001740 1015 TAD PDLXR 1257 001741 3015 DCA PDLXR 1258 001742 7326 L0002 1259 001743 1055 TAD LASTV 1260 001744 7141 CLL CIA 1261 001745 1015 TAD PDLXR 1262 001746 7620 SNL CLA 1263 001747 5670 JMP I PERR 1264 001750 5737 JMP I PCHK 1265 1266 /*PUSHF* ROUTINE 1267 001751 0000 XPUSHF, 0 1268 001752 7340 L7777 1269 001753 1751 TAD I XPUSHF 1270 001754 3012 DCA XREG3 /POINT TO DATA 1271 001755 7346 L7775 1272 001756 4337 JMS PCHK /BACK 3 1273 001757 7346 L7775 1274 001760 3076 DCA T3 1275 001761 1412 TAD I XREG3 1276 001762 4552 UDF 1277 001763 3415 DCA I PDLXR /PUSH DATA 1278 001764 6201 CDF 1279 001765 2076 ISZ T3 1280 001766 5361 JMP .-5 1281 001767 7346 L7775 1282 001770 4337 JMS PCHK /BACK 3 AGAIN 1283 001771 2351 ISZ XPUSHF 1284 001772 5751 JMP I XPUSHF 1285 1286 *1777 1287 001777 4407 RND, FINT 1288 002000 0063 FGET FRNDX 1289 002001 0000 FEXT 1290 002002 6212 CIF SWAP 1291 002003 5604 JMP I .+1 1292 002004 1461 RND1 1293 1294 002005 0000 MANCOM, 0 1295 002006 3014 DCA FLTXR2 /SAVE AC 1296 002007 1377 TAD (LIST7 /START AT BEGINNING OF LIST 1297 002010 6211 CDF SWAP /IN FIELD 1 1298 002011 3075 COMLP1, DCA T2 /LIST POINTER 1299 002012 7326 L0002 1300 002013 3074 DCA T1 /LETTER POINTER 1301 002014 1475 TAD I T2 /GET -UNIQUE COUNT-1 1302 002015 7012 RTR / 1303 002016 0112 AND C7 / 1304 002017 7110 CLL RAR / 1305 002020 7040 CMA / 1306 002021 3077 DCA CNTR / 1307 002022 4272 JMS COM11 /UNIQUE? 1308 002023 5232 JMP COM3 /YES - TRY REST 1309 002024 2075 ISZ T2 /GET NEXT COMMAND IN LIST 1310 002025 1475 TAD I T2 / 1311 002026 7440 SZA /END OF LIST? 1312 002027 5211 JMP COMLP1 /NO - GO ON 1313 002030 6201 COM5, CDF /YES - RETURN FAILURE 1314 002031 5605 JMP I MANCOM /AC=0 1315 1316 1317 002032 1475 COM3, TAD I T2 /GET -FULL LENGTH-3 1318 002033 0112 AND C7 / 1319 002034 1376 TAD (2 / 1320 002035 7040 CMA / 1321 002036 1074 TAD T1 /T1=UNIQUE POINTER+1 1322 002037 3077 DCA CNTR /NO. OF CHARS TO GO-1 1323 002040 4272 JMS COM11 /LONG FORM OF COMMAND? 1324 002041 5243 JMP COM4 /YES - THROW OUT SHORT POINTERS 1325 002042 5246 JMP COM8 1326 002043 1132 COM4, TAD C4 /DELETE LAST 4 ENTRIES FROM PDL 1327 002044 1015 TAD PDLXR / 1328 002045 3015 DCA PDLXR / 1329 1330 002046 1475 COM8, TAD I T2 1331 002047 4553 RTL6 1332 002050 7004 RAL 1333 002051 0122 AND C77 /GET CODE 1334 002052 1125 TAD M40 /CORRECT IT 1335 002053 3013 DCA FLTXR /AND SAVE IT 1336 002054 1014 TAD FLTXR2 1337 002055 7450 SNA 1338 002056 5262 JMP .+4 /NO DOUBLE CHECK 1339 002057 1013 TAD FLTXR 1340 002060 7640 SZA CLA 1341 002061 5270 JMP COM7 /DOUBLE CHECK FAILS 1342 002062 6201 CDF 1343 002063 1132 TAD C4 1344 002064 1015 TAD PDLXR /DUMPPDLJUNK 1345 002065 3015 DCA PDLXR 1346 002066 1013 TAD FLTXR 1347 002067 5605 JMP I MANCOM 1348 002070 4333 COM7, JMS COMPOP /RESET POINTERS TO ENTRY VALUES 1349 002071 5230 JMP COM5 /TAKE FAILURE RETURN 1350 1351 1352 002072 0000 COM11, 0 /COMMAND COMPARISON 1353 002073 6201 CDF 1354 002074 4542 PUSHF 1355 002075 0017 TEXTP /SAVE TEXP POINTERS 1356 002076 1026 TAD CHAR / 1357 002077 4540 PUSHA / 1358 002100 6211 COMLP2, CDF SWAP 1359 002101 2077 ISZ CNTR /=NO. OF CHARS TO GO-1 1360 002102 7410 SKP 1361 002103 5672 JMP I COM11 /SUCCESS RETURN FROM COM11 1362 002104 1074 TAD T1 1363 002105 7110 CLL RAR 1364 002106 1075 TAD T2 1365 002107 3012 DCA XREG3 1366 002110 1412 TAD I XREG3 1367 002111 7430 SZL 1368 002112 5315 JMP .+3 1369 002113 4553 RTL6 1370 002114 7004 RAL 1371 002115 0122 AND C77 1372 002116 7450 SNA 1373 002117 1375 TAD (-215+337 1374 002120 1351 TAD M137 1375 002121 1026 TAD CHAR 1376 002122 7640 SZA CLA /SAME SO FAR? 1377 002123 5330 JMP COM13 /NO GO 1378 002124 6201 CDF 1379 002125 4535 GETC /NEXT CHAR 1380 002126 2074 ISZ T1 /LETTER POINTER 1381 002127 5300 JMP COMLP2 /LOOP 1382 002130 2272 COM13, ISZ COM11 /FAILURE RETURN FROM COM11 1383 002131 4333 JMS COMPOP /RESTORE TEXT POINTERS TO ENTRY VALUES 1384 002132 5672 JMP I COM11 1385 1386 1387 002133 0000 COMPOP, 0 /RESTORE TEXT POINTERS FROM PDL 1388 002134 4543 POPA 1389 002135 3026 DCA CHAR 1390 002136 4545 POPF 1391 002137 0017 TEXTP 1392 002140 6211 CDF SWAP 1393 002141 5733 JMP I COMPOP 1394 002142 0137 XGETL1, 137 /CR 1395 002143 0100 100 /BELL 1396 002144 0040 40 /SPACE 1397 002145 7167 AXUDF, XUDF+1 /NEGATIVE ENDS LIST 1398 1399 1400 002146 0175 ALT, 175 1401 002147 0176 176 1402 002150 0033 33 /ALL THOSE ALTMODES 1403 002151 7641 M137, -137 /NEGATIVE ENDS LIST 1404 1405 /SUBROUTINE TO WRITE OUT MESSAGES 1406 002152 0000 READY1, 0 1407 002153 3017 DCA AXOUT /POINT TO MESSAGE 1408 002154 3021 DCA XCT 1409 002155 1126 TAD M6 1410 002156 3075 DCA T2 1411 002157 1745 TAD I AXUDF /FIELD1? 1412 002160 1374 TAD (-6211 1413 002161 7650 SNA CLA 1414 002162 1373 TAD (STMV /YES - DISPLACE ADDRESS 1415 002163 1017 TAD AXOUT 1416 002164 3017 DCA AXOUT 1417 002165 4535 RDY1, GETC 1418 002166 4534 PRINTC /PRINT MESSAGE 1419 002167 2075 ISZ T2 1420 002170 5365 JMP RDY1 1421 002171 5752 JMP I READY1 1422 1423 002173 1000 PAGE 002174 1567 002175 0122 002176 0002 002177 1046 1424 1425 /*EDIT* COMMAND 1426 002200 4557 EDIT, GETLN /GET LINE NUMBER 1427 002201 4560 TSTCCR 1428 002202 7410 SKP /JUNK 1429 002203 4566 FINDLN /FIND THE LINE 1430 002204 4551 ERR001, ERROR /NOT THERE 1431 002205 2032 ISZ SPACSW 1432 002206 4770 JMS I CINPACK /SET TO PACK IT 1433 002207 3115 MODF2, DCA LSTMOD /READ SILENTLY 1434 002210 4571 READC 1435 002211 1026 MODF3, TAD CHAR 1436 002212 3115 DCA LSTMOD /SET SEARCH CHARACTOR 1437 002213 4535 MODF1, GETC 1438 002214 4570 FREE2 1439 002215 4534 PRINTC /PRINT LINE UNTIL... 1440 002216 4536 SORTJ 1441 002217 0110 CCR-1 1442 002220 1316 MODL1-CCR 1443 002221 4556 PACKC /KEEP PACKING 1444 002222 5213 JMP MODF1 1445 1446 002223 4556 MODF4, PACKC /PACK IT 1447 002224 4571 READC /GET CHARS 1448 002225 4536 SORTJ /CHECK THEM 1449 002226 0110 CCR-1 1450 002227 1266 MODL2-CCR 1451 002230 5223 JMP MODF4 1452 1453 002231 4556 MODF5, PACKC /PACK THE CR 1454 002232 4556 PACKC 1455 002233 4771 JMS I COTPACK /SET TO UNPACK IT 1456 002234 5757 JMP I CSRETN 1457 /*DELETE* COMMAND 1458 002235 4333 DELET, JMS GETLIM /GET LIMITS 1459 002236 1054 TAD BUFR 1460 002237 3016 DCA AXIN /PROTECT TEXT 1461 002240 4314 JMS GETLIN /GET A LINE 1462 002241 5502 JMP I AREADY /WE ARE DONE 1463 002242 4765 JMS I CXDELET /DELETE IT 1464 002243 1031 TAD LASTLN 1465 002244 3027 DCA LINEPC /RESTORE POINTERS 1466 002245 5240 JMP .-5 /LOOP 1467 1468 /*LIST* COMMAND 1469 002246 4333 LIST, JMS GETLIM /GET LIMITS 1470 002247 2032 ISZ SPACSW /KEEP SPACES 1471 002250 1127 TAD M100 1472 002251 3025 DCA PT1 1473 002252 1034 TAD OUTPUT 1474 002253 7650 SNA CLA 1475 002254 5263 JMP LLIST3-3 /NORMAL MODE 1476 002255 3034 DCA OUTPUT /WE WILL OUTPUT FOR A WHILE 1477 002256 4570 LLIST5, FREE2 1478 002257 7330 L4000 1479 002260 4534 PRINTC /DO L/T 1480 002261 2025 ISZ PT1 1481 002262 5256 JMP LLIST5 1482 002263 4570 FREE2 1483 002264 1111 TAD CCR 1484 002265 4534 PRINTC 1485 002266 4314 LLIST3, JMS GETLIN /GET A LINE 1486 002267 5301 JMP LLIST4 /WE ARE DONE 1487 002270 4567 FREE13 1488 002271 1030 TAD LINENO 1489 002272 4767 JMS I CITPRNT /PRINT THE NUMBER 1490 002273 4535 GETC 1491 002274 4570 FREE2 1492 002275 4534 PRINTC /PRINT THE LINE 1493 002276 4560 TSTCCR 1494 002277 5273 JMP .-4 /UNTIL A CR 1495 002300 5266 JMP LLIST3 /LOOP 1496 1497 002301 1025 LLIST4, TAD PT1 /DID WE PUNCH TRAILER?? 1498 002302 7640 SZA CLA 1499 002303 5502 JMP I AREADY /NORMAL SO EXIT 1500 002304 1127 TAD M100 1501 002305 3025 DCA PT1 /DO IT AGAIN, TURN ECHO OFF 1502 002306 4570 LLIST6, FREE2 1503 002307 7330 L4000 1504 002310 4534 PRINTC 1505 002311 2025 ISZ PT1 1506 002312 5306 JMP LLIST6 1507 002313 5766 JMP I CTAPE 1508 1509 002314 0000 GETLIN, 0 1510 002315 1111 TAD CCR 1511 002316 3026 DCA CHAR /FOOL NXTGET 1512 002317 4565 GETNXT /GET NEXT LINE 1513 002320 5714 JMP I GETLIN /OUT OF TEXT 1514 002321 4543 POPA 1515 002322 3076 DCA T3 /GET LIMIT 1516 002323 1076 TAD T3 1517 002324 4540 PUSHA /SAVE LIMIT 1518 002325 1030 TAD LINENO 1519 002326 7041 CIA 1520 002327 1076 TAD T3 1521 002330 7700 SMA CLA 1522 002331 2314 ISZ GETLIN /OK 1523 002332 5714 JMP I GETLIN 1524 1525 002333 0000 GETLIM, 0 1526 002334 4560 TSTCCR 1527 002335 5341 JMP LIMGT1 /NOT ALL 1528 002336 3031 DCA LASTLN /START AT 0 1529 002337 7350 L3777 1530 002340 5351 JMP LIMGT3 1531 1532 1533 002341 4557 LIMGT1, GETLN /GET A LINE NUMBER 1534 002342 1030 TAD LINENO 1535 002343 3031 DCA LASTLN /AND SAVE IT 1536 002344 4561 TSTCOM 1537 002345 5363 JMP LIMGT2 /ONLY ONE LINE 1538 002346 4535 GETC 1539 002347 4557 GETLN /GET LINE NUMBER 1540 002350 1030 TAD LINENO 1541 002351 4540 LIMGT3, PUSHA /UPPER LIMIT 1542 002352 1031 TAD LASTLN 1543 002353 3030 DCA LINENO /LOWER LIMIT 1544 002354 4560 TSTCCR 1545 002355 5204 JMP ERR001 /JUNK 1546 002356 4566 LIMGT4, FINDLN /FIND THE LINE 1547 002357 0511 CSRETN, SRETN 1548 002360 1031 TAD LASTLN 1549 002361 3027 DCA LINEPC /AND GO BACK ONE 1550 002362 5733 JMP I GETLIM 1551 1552 002363 1031 LIMGT2, TAD LASTLN /1ST = 2ND 1553 002364 5351 JMP LIMGT3 1554 002365 1614 CXDELET, XDELET 1555 002366 7653 CTAPE, TAPE 1556 002367 0231 CITPRNT, ITPRNT 1557 002370 1145 CINPACK, INPACK 1558 002371 1156 COTPACK, OTPACK 1559 /ABSOLUTE VALUE FUNCTION 1560 002372 3066 ABS, DCA ACSIGN 1561 002373 5544 POPJ /ONE OF THE LONGER FUNCTIONS 1562 1563 /*NEXT* COMMAND 1564 002374 4541 NEXT, PUSHJ /GET VARIABLE 1565 002375 4400 GETVAR 1566 002376 7650 SNA CLA /WAS FUNCTION? 1567 002377 4560 TSTCCR /*NEXT* !MUST! BE LAST ON LINE 1568 002400 4551 ERR460, ERROR 1569 002401 4407 FINT 1570 002402 0507 FGET I FLARGP /PUT VARIABLE INTO FLAC 1571 002403 0000 FEXT 1572 002404 4552 UDF 1573 002405 1417 TAD I AXOUT 1574 002406 7450 SNA 1575 002407 4551 ERR470, ERROR /NEXT NOT INITIALIZED 1576 002410 3075 DCA T2 1577 002411 1417 TAD I AXOUT 1578 002412 4540 PUSHA 1579 002413 1017 TAD AXOUT 1580 002414 4546 FLGET /GET INCREMENT 1581 002415 6726 FLARG 1582 002416 1507 GETSGN 1583 002417 7700 NEXT3, SMA CLA 1584 002420 1266 TAD C50 /POSITIVE INCREMENT 1585 002421 1217 TAD NEXT3 /NEGATIVE INCREMENT 1586 002422 3242 DCA NEXT1 /SET LIMIT TEST INSTRUCTION 1587 002423 4407 FINT 1588 002424 1507 FADD I FLARGP /BUMP VARIABLE 1589 002425 7507 FPUT I FLARGP /SAVE VALUE 1590 002426 0000 FEXT 1591 002427 4547 FLPUT /SET VARIABLE 1592 002430 6726 FLARG 1593 002431 1133 TAD C3 1594 002432 1017 TAD AXOUT 1595 002433 4546 FLGET /GET LIMIT 1596 002434 6726 FLARG 1597 002435 4407 FINT 1598 002436 2507 FSUB I FLARGP 1599 002437 7507 FPUT I FLARGP 1600 002440 0000 FEXT 1601 002441 1507 GETSGN /SIGN OF DIFFERENCE 1602 002442 7402 NEXT1, HLT /SKIP IF DONE 1603 002443 5263 JMP NEXT2 /NOT DONE 1604 002444 7340 L7777 1605 002445 1017 TAD AXOUT 1606 002446 3074 DCA T1 1607 002447 4552 UDF 1608 002450 3474 DCA I T1 /NOT INITIALIZED NOW 1609 002451 2015 RETURN, ISZ PDLXR /*RETURN* AND *POPJ* 1610 002452 4572 TSTEND 1611 002453 4551 ERR320, ERROR 1612 002454 3012 XPOPJ, DCA XREG3 1613 002455 4543 POPA 1614 002456 3076 DCA T3 1615 002457 1012 TAD XREG3 1616 002460 5476 JMP I T3 1617 002461 4543 GOSUB1, POPA 1618 002462 7410 SKP 1619 002463 1075 NEXT2, TAD T2 1620 002464 3030 DCA LINENO 1621 002465 4566 FINDLN 1622 002466 0050 C50, 50 1623 002467 4543 POPA 1624 002470 3017 FOREXT, DCA AXOUT 1625 002471 3026 DCA CHAR 1626 002472 5544 POPJ 1627 /*RUN* COMMAND 1628 002473 1054 RUN, TAD STARTV /NO VARIABLES 1629 002474 3055 DCA LASTV 1630 002475 4542 PUSHF /SET RANDOM NUMBER 1631 002476 2561 FRNDX1 1632 002477 4545 POPF 1633 002500 0063 FRNDX 1634 002501 4355 JMS RUN4 /ZAP THE *NEXT* STATEMENTS 1635 002502 1057 IDNE, TAD ALINE0 1636 002503 3027 DCA LINEPC 1637 002504 4565 RUN7, GETNXT /NEXT COMMAND FOR EXECUTION 1638 002505 5502 JMP I AREADY 1639 002506 3032 RUN6, DCA SPACSW /NEED TO IGNORE SPACES 1640 002507 4535 GETC 1641 002510 2022 ISZ PC 1642 002511 5315 JMP RUN8+1 1643 002512 4341 JMS RUN9 /WE'VE HAD OUR TIME SLICE NOW 1644 002513 7410 SKP 1645 002514 2015 RUN8, ISZ PDLXR /POISON--WATCH IT! 1646 002515 3031 DCA MODE 1647 002516 1030 TAD LINENO 1648 002517 3062 DCA ERLINE 1649 002520 4563 COMMAN 1650 002521 7540 SMA SZA /LEGAL COMMAND? 1651 002522 5777 JMP I (ERRCHK 1652 002523 1376 TAD (COMGOL+16 1653 002524 3074 DCA T1 1654 002525 6211 CDF SWAP 1655 002526 1474 TAD I T1 1656 002527 6201 CDF 1657 002530 3332 DCA .+2 1658 002531 4541 PUSHJ 1659 002532 0000 0 /AND GO TO IT 1660 002533 7450 SNA /NORMAL RETURN:AC=0, TRANSFER RETURN:AC=LINENO 1661 002534 5304 JMP RUN7 1662 002535 3030 DCA LINENO 1663 002536 4566 GOSUB2, FINDLN /LOOK FOR REQUESTED LINE 1664 002537 4551 ERR380, ERROR /IT'S NOT THERE 1665 002540 5306 JMP RUN6 1666 002541 0000 RUN9, 0 /DISMISSAL ROUTINE:SET PC FOR RETURN 1667 002542 1341 TAD RUN9 1668 002543 3022 DCA PC 1669 002544 5177 JMP NULL 1670 1671 002545 4355 FLOTRX, JMS RUN4 /ZAP THE *NEXT* STATEMENTS 1672 002546 7340 L7777 1673 002547 1060 TAD COMBUF 1674 002550 3027 DCA LINEPC 1675 002551 4775 JMS I (OTPACK 1676 002552 7340 L7777 1677 002553 3030 DCA LINENO 1678 002554 5315 JMP RUN8+1 1679 1680 002555 0000 RUN4, 0 /UNINITIALIZE ALL THE *NEXT* STATEMENTS 1681 002556 7200 CLA 1682 002557 1062 TAD ERLINE /START AT LINE 0 1683 002560 4564 FIND /FIND THE *NEXT* STATEMENTS 1684 002561 0001 FRNDX1, 1 1685 002562 5755 JMP I RUN4 1686 002563 3062 DCA ERLINE 1687 002564 4541 PUSHJ 1688 002565 4400 GETVAR 1689 002566 7650 SNA CLA /MUST NOT BE FUNCTION, 1690 002567 4560 TSTCCR /MUST BE END OF LINE 1691 002570 5200 JMP ERR460 1692 002571 4552 UDF 1693 002572 3417 DCA I AXOUT /NOT INITIALIZED NOW 1694 002573 5356 JMP RUN4+1 1695 1696 002575 1156 PAGE 002576 1045 002577 4362 1697 /EXPRESSION EVALUATOR 1698 002600 0000 ECALL, 0 1699 002601 1073 TAD SORTCN 1700 002602 4540 PUSHA 1701 002603 1101 TAD LASTOP 1702 002604 4540 PUSHA 1703 002605 1077 TAD EFOP 1704 002606 4540 PUSHA 1705 002607 1200 TAD ECALL 1706 002610 4540 PUSHA /RETURN ADDRESS 1707 002611 4535 GETC 1708 002612 3101 EVAL, DCA LASTOP /0 IS END 1709 002613 1353 TAD EVAL1 1710 002614 4540 PUSHA /SAVE EVAL1 1711 002615 3353 DCA EVAL1 /0 EVAL1 1712 002616 4555 TESTC 1713 002617 5223 JMP ETERM1 /INITIAL TERMINATOR 1714 002620 5241 JMP ENUM /NUMBER 1715 002621 5344 JMP EVAR /VARIABLE 1716 002622 5777 JMP I (QUOTES /OTHER 1717 1718 002623 1376 ETERM1, TAD (FLZERO 1719 002624 3025 DCA PT1 /0 DATA 1720 002625 7344 L7776 1721 002626 1073 TAD SORTCN 1722 002627 7450 SNA 1723 002630 5261 JMP ETERM /MINUS 1724 002631 7001 IAC 1725 002632 7650 SNA CLA 1726 002633 5336 JMP ARGNXT /PLUS 1727 002634 4573 ELPAR, TSTLPR 1728 002635 5354 JMP EVAL2 /CHECK UNARY 1729 002636 4200 EPAR2, JMS ECALL /RECURSIVE CALL 1730 002637 2015 ISZ PDLXR 1731 002640 5775 JMP I (ENDFUN /END AS FUNCTION 1732 1733 002641 1107 ENUM, TAD FLARGP 1734 002642 3025 DCA PT1 /DATA TO FLARG 1735 002643 4504 JMS I FLINTP /GET VALUE 1736 002644 2353 OPNEXT, ISZ EVAL1 1737 002645 5251 JMP .+4 /NO UNARY 1738 002646 7330 L4000 1739 002647 1425 TAD I PT1 1740 002650 3425 DCA I PT1 /FLIP SIGN 1741 002651 3353 DCA EVAL1 1742 002652 4537 SORTC 1743 002653 1400 TERMS-1 1744 002654 5256 JMP ETERMN 1745 002655 3073 DCA SORTCN /ALL ELSE IS END 1746 002656 4573 ETERMN, TSTLPR 1747 002657 7410 SKP 1748 002660 4551 ERR120, ERROR /EXCESS L-PARENS 1749 002661 1073 ETERM, TAD SORTCN 1750 002662 3100 DCA THISOP /SET OP 1751 002663 1100 TAD THISOP 1752 002664 1123 TAD M10 1753 002665 7700 SMA CLA 1754 002666 3100 DCA THISOP /END 1755 002667 1100 ETERM2, TAD THISOP 1756 002670 7041 CIA 1757 002671 1101 TAD LASTOP /PRIORITIES 1758 002672 7710 SPA CLA 1759 002673 5323 JMP EPAR /NO GO YET 1760 002674 1101 TAD LASTOP 1761 002675 1374 TAD (OPTABL 1762 002676 3077 DCA CNTR 1763 002677 1477 TAD I CNTR 1764 002700 3307 DCA FLOP /SET OP 1765 002701 1101 TAD LASTOP 1766 002702 7640 SZA CLA 1767 002703 4545 POPF /GET DATA 1768 002704 0070 AC3 1769 002705 4407 FINT 1770 002706 0070 FGET AC3 1771 002707 5773 FLOP, FJMP I (FUPARR /FLOATING OP 1772 002710 7507 FPUT I FLARGP /SAVE DATA 1773 002711 0000 FEXT 1774 002712 1107 TAD FLARGP 1775 002713 3025 DCA PT1 /POINT TO DATA 1776 002714 1100 TAD THISOP 1777 002715 1101 TAD LASTOP 1778 002716 7650 SNA CLA 1779 002717 5366 JMP EVAL3 /DONE 1780 002720 4543 POPA 1781 002721 3101 DCA LASTOP /NEW OP 1782 002722 5267 JMP ETERM2 1783 1784 002723 4573 EPAR, TSTLPR 1785 002724 7410 SKP 1786 002725 5236 JMP EPAR2 /DO RECURSIVE 1787 002726 1101 TAD LASTOP 1788 002727 4540 PUSHA 1789 002730 1025 TAD PT1 1790 002731 3333 DCA .+2 1791 002732 4542 PUSHF /SAVE DATA 1792 002733 0000 0 1793 002734 1100 TAD THISOP 1794 002735 3101 DCA LASTOP 1795 002736 4535 ARGNXT, GETC 1796 002737 4555 TESTC 1797 002740 5234 JMP ELPAR /T 1798 002741 5241 JMP ENUM /N 1799 002742 5344 JMP EVAR /V 1800 002743 5357 JMP ERR110 /OTHER 1801 1802 002744 4541 EVAR, PUSHJ /GET VARIABLE 1803 002745 4400 GETVAR 1804 002746 7440 SZA 1805 002747 5772 JMP I (FUNCT3 /FUNCTION 1806 002750 1107 TAD FLARGP 1807 002751 3025 DCA PT1 /POINT TO DATA 1808 002752 5244 JMP OPNEXT 1809 1810 002753 0000 EVAL1, 0 1811 1812 002754 7344 EVAL2, L7776 1813 002755 1073 TAD SORTCN /IS IT + OR -? 1814 002756 7540 SMA SZA 1815 002757 4551 ERR110, ERROR /NO - DOUBLE OPS OR EX L-PARENS 1816 002760 7640 SZA CLA 1817 002761 5336 JMP ARGNXT /WAS + 1818 002762 1353 TAD EVAL1 1819 002763 7040 CMA 1820 002764 3353 DCA EVAL1 /FLIP EVAL1 1821 002765 5336 JMP ARGNXT 1822 1823 002766 4543 EVAL3, POPA 1824 002767 3353 DCA EVAL1 /RESTORE EVAL1 1825 002770 5544 POPJ /EXIT 1826 002772 5017 PAGE 002773 5065 002774 4171 002775 5034 002776 7300 002777 5610 1827 /USER FUNCTION PROCESSING 1828 003000 4540 FUNCT6, PUSHA /SAVE CHARACTER 1829 003001 3077 DCA EFOP 1830 003002 2077 ISZ EFOP 1831 003003 4542 PUSHF /SAVE ARGS 1832 003004 6726 FLARG 1833 003005 4561 TSTCOM 1834 003006 5214 JMP .+6 /NO MORE ARGS 1835 003007 4771 JMS I AECALL /GET NEXT 1836 003010 4543 POPA 1837 003011 2015 ISZ PDLXR 1838 003012 2015 ISZ PDLXR 1839 003013 5201 JMP .-12 1840 1841 003014 1055 TAD LASTV 1842 003015 3024 DCA SUBS /SAVE END OF VARIABLES 1843 003016 1077 TAD EFOP 1844 003017 1374 FUNC10, TAD K2000 1845 003020 3023 DCA ADD /CREATE ILLEGAL NAME 1846 003021 4541 PUSHJ /LOOK IT UP - WILL DEFINE 1847 003022 4435 LOOKUP 1848 003023 4545 POPF 1849 003024 6726 FLARG 1850 003025 4547 FLPUT /SET ARGUMENT 1851 003026 6726 FLARG 1852 003027 7352 L5777 1853 003030 1023 TAD ADD 1854 003031 7440 SZA 1855 003032 5217 JMP FUNC10 /MORE ARGUMENTS 1856 003033 7330 L4000 1857 003034 4543 POPA 1858 003035 7041 CIA 1859 003036 3370 DCA FUNC17 /-CHAR OF FUNCTION 1860 003037 4542 PUSHF 1861 003040 0017 TEXTP 1862 003041 1073 TAD SORTCN 1863 003042 4540 PUSHA 1864 003043 1024 TAD SUBS 1865 003044 4540 PUSHA 1866 003045 7410 SKP 1867 1868 003046 4543 FUNC11, POPA 1869 003047 4564 FIND /FIND A *DEF* 1870 003050 0011 11 /-DEF CODE 1871 003051 4551 ERR170, ERROR /OUT OF TEXT 1872 003052 4540 PUSHA /FOR RESTART 1873 003053 4563 COMMAN /GET WORD 1874 003054 1372 TAD KM5 1875 003055 7640 SZA CLA 1876 003056 5246 JMP FUNC11 1877 003057 1026 TAD CHAR 1878 003060 1370 TAD FUNC17 1879 003061 7640 SZA CLA 1880 003062 5246 JMP FUNC11 /NOT PROPER FUNCTION 1881 003063 2015 ISZ PDLXR 1882 003064 1062 TAD ERLINE 1883 003065 4540 PUSHA /SAVE CALLING LINE 1884 003066 1030 TAD LINENO 1885 003067 3062 DCA ERLINE /CALL THIS OUR LINE 1886 003070 4535 GETC 1887 003071 4537 SORTC 1888 003072 1400 TERMS-1 1889 003073 4573 TSTLPR 1890 003074 4551 ERR180, ERROR /NO L-PAREN 1891 003075 1073 TAD SORTCN 1892 003076 4540 PUSHA 1893 003077 4535 GETC 1894 003100 7332 L2000 1895 003101 3074 DCA T1 1896 003102 1055 TAD LASTV 1897 003103 3025 DCA PT1 /POINT TO ARGUMENTS 1898 003104 4562 FUNC14, TSTALP 1899 003105 5274 JMP ERR180 /ILLEGAL VARIABLE 1900 003106 1026 TAD CHAR 1901 003107 0315 AND C37 1902 003110 4553 RTL6 1903 003111 7010 RAR 1904 003112 3075 DCA T2 /SAVE NAME 1905 003113 4535 GETC 1906 003114 4554 TESTN 1907 003115 0037 C37, 37 1908 003116 5324 JMP FUNC13 /NOT NUMBER 1909 003117 1026 TAD CHAR 1910 003120 0315 AND C37 1911 003121 1075 TAD T2 1912 003122 3075 DCA T2 1913 003123 4535 GETC 1914 003124 2074 FUNC13, ISZ T1 /SET ILLEGAL NAME 1915 003125 4552 UDF 1916 003126 1425 TAD I PT1 1917 003127 7041 CIA 1918 003130 1074 TAD T1 1919 003131 7640 SZA CLA 1920 003132 4551 ERR200, ERROR /WRONG NUMBER OF ARGUMENTS 1921 003133 1075 TAD T2 1922 003134 3425 DCA I PT1 /SET TEMPORARY NAME 1923 003135 6201 CDF 1924 003136 1130 TAD M4 1925 003137 1025 TAD PT1 1926 003140 3025 DCA PT1 /POINT TO NEXT 1927 003141 4561 TSTCOM 1928 003142 5345 JMP FUNC12 /NO MORE 1929 003143 4535 GETC 1930 003144 5304 JMP FUNC14 1931 1932 003145 2074 FUNC12, ISZ T1 1933 003146 4552 UDF 1934 003147 1425 TAD I PT1 1935 003150 6201 CDF 1936 003151 7041 CIA 1937 003152 1074 TAD T1 1938 003153 7650 SNA CLA 1939 003154 5332 JMP ERR200 /SHOULD NOT AGREE 1940 003155 4537 SORTC 1941 003156 1400 TERMS-1 1942 003157 7410 SKP 1943 003160 5274 JMP ERR180 /NO PAREN 1944 003161 7344 L7776 1945 003162 1073 TAD SORTCN 1946 003163 7041 CIA 1947 003164 4543 POPA 1948 003165 7640 SZA CLA 1949 003166 5274 JMP ERR180 /NO MATCH 1950 003167 5773 JMP I AFUN16 1951 1952 003170 0000 FUNC17, 0 /MOVE THIS IF YOU CAN FIND A SAFE TEMP ON PAGE 0 1953 003171 2600 AECALL, ECALL 1954 003172 7773 KM5, -5 1955 003173 4766 AFUN16, FUNC16 1956 003174 2000 K2000, 2000 1957 /*PRINT* COMMAND 1958 003175 4570 FREE2 1959 003176 1111 TAD CCR 1960 003177 4534 PRINTC /PRINT THE CR 1961 003200 7001 PRINT6, IAC /DENOTE END 1962 003201 5544 POPJ /EXIT 1963 1964 003202 4535 PRINT8, GETC /GO BY THE ";" 1965 003203 2025 ISZ PT1 /SHOULD WE SPACE? 1966 003204 5210 JMP PRINT1 /NO 1967 003205 4570 FREE2 1968 003206 1121 TAD C40 1969 003207 4534 PRINTC /PRINT A SPACE 1970 003210 4536 PRINT1, SORTJ /CHECK , " ' CR 1971 003211 7306 PRNTL1-1 1972 003212 2110 PRNTL2-PRNTL1 1973 003213 7340 PRINT4, L7777 1974 003214 4563 COMMAN 1975 003215 7650 SNA CLA 1976 003216 5544 POPJ /MUST BE VALUE 1977 003217 1075 TAD T2 1978 003220 1377 TAD (-LIST14 1979 003221 4540 PUSHA /PUSH A ZERO ON STACK IF CHR$,NONZER IF TAB 1980 003222 4537 SORTC 1981 003223 1400 TERMS-1 1982 003224 4573 TSTLPR 1983 003225 4551 ERR340, ERROR /NO "(" 1984 003226 4776 JMS I (ECALL /GET RECURSIVE 1985 003227 2015 ISZ PDLXR /DUMP EFOP 1986 003230 4632 JMS I .+2 /CALL PARTST 1987 003231 4543 POPA /TAB OR CHR$? 1988 PARTS=SZA CLA 1989 003232 7640 PARTS 1990 003233 5775 JMP I (PRIN12 /GO GET ARG MOD 72 1991 003234 4510 JMS I INTEGE 1992 003235 1374 TAD (-15 /WAS IT CHR$(13)? 1993 003236 7450 SNA /NO- PRINT IT 1994 003237 5250 JMP PRIN11 /YES- TAB(0) TO AVOID THE LINE FEED 1995 003240 1111 TAD CCR /RESET CHARACTER 1996 003241 4540 PUSHA 1997 003242 4570 FREE2 1998 003243 4543 POPA 1999 003244 7450 SNA /AC=0 WILL PRINT CHAR 2000 003245 7330 L4000 2001 003246 4534 PRINTC 2002 003247 5302 JMP PRIN10 2003 2004 2005 2006 003250 7040 PRIN11, CMA 2007 003251 3025 DCA PT1 /SET -COUNT -1 2008 003252 1061 TAD PRNTC1 2009 003253 1373 TAD (110 2010 003254 1025 TAD PT1 2011 003255 7510 SPA 2012 003256 5271 JMP PRINT9 2013 003257 7200 CLA 2014 003260 6002 IOF 2015 003261 1111 TAD CCR 2016 003262 4772 JMS I (XOUTL2 2017 003263 1111 TAD CCR 2018 003264 4772 JMS I (XOUTL2 2019 003265 1371 TAD (-110 2020 003266 3061 DCA PRNTC1 2021 003267 6001 ION 2022 003270 7410 SKP 2023 003271 3025 PRINT9, DCA PT1 2024 003272 2025 ISZ PT1 2025 003273 7410 SKP 2026 003274 5303 JMP PRIN10+1 2027 003275 4570 FREE2 2028 003276 1121 TAD C40 2029 003277 4534 PRINTC 2030 003300 5272 JMP PRINT9+1 2031 2032 003301 7340 L7777 2033 003302 3025 PRIN10, DCA PT1 /SET SPACE INDICATOR 2034 003303 4536 SORTJ /CHECK ; , ' " OR \ 2035 003304 7305 PRNTL4-1 2036 003305 2103 PRNTL6-PRNTL4 2037 003306 2025 ISZ PT1 /NO FIND O.K.? 2038 003307 5213 JMP PRINT4 /YES - ASSUME TAB OR EXPRESSION 2039 003310 4551 ERR350, ERROR /NO - SYNTAX ERROR 2040 2041 003311 2032 PRINT2, ISZ SPACSW /KEEP SPACES 2042 003312 4535 GETC 2043 003313 4536 SORTJ /CHECK = CR 2044 003314 7310 PRNTL7-1 2045 003315 2113 PRNTL8-PRNTL7 2046 003316 4570 FREE2 2047 003317 4534 PRINTC /PRINT THE LITERAL 2048 003320 5312 JMP PRINT2+1 2049 2050 003321 3032 PRINT3, DCA SPACSW 2051 003322 4535 GETC /GO BY THE " 2052 003323 5302 JMP PRIN10 /GO CHECK CHARACTER 2053 2054 003324 4570 FREE2 2055 003325 1121 TAD C40 2056 003326 4534 PRINTC /SPACES TO FINISH ZONE 2057 003327 1112 PRINT5, TAD C7 2058 003330 1061 TAD PRNTC1 2059 003331 1111 TAD CCR 2060 003332 7510 SPA 2061 003333 5331 JMP .-2 2062 003334 7640 SZA CLA 2063 003335 5324 JMP PRINT5-3 /KEEP GOING 2064 003336 4535 GETC /GO BY THE "," 2065 003337 5210 JMP PRINT1 2066 /*PRINTX* ROUTINE 2067 003340 0000 XOUTL, 0 2068 003341 7450 SNA 2069 003342 1026 TAD CHAR /USE CHAR IF AC=0 2070 003343 4772 JMS I (XOUTL2 /DO OUTPUT 2071 003344 1012 TAD XREG3 2072 003345 1374 TAD (-15 /WAS IT A CR 2073 003346 7450 SNA 2074 003347 5361 JMP XOUTL1 /YES! 2075 003350 1370 TAD (215-240 2076 003351 7510 SPA 2077 003352 5365 JMP XOUTL3 /IS IT A NON-PRINTING CHARACTER? 2078 003353 1127 TAD M100 2079 003354 7710 SPA CLA 2080 003355 2061 ISZ PRNTC1 /IT IS A PRINTING CHAR SO COUNT IT 2081 003356 5740 JMP I XOUTL 2082 2083 003357 1111 TAD CCR /END OF LINE SO DO CR-LF 2084 003360 5343 JMP XOUTL+3 2085 2086 003361 1117 XOUTL1, TAD CLF 2087 003362 4772 JMS I (XOUTL2 /OUTPUT A LINE FEED 2088 003363 1371 TAD (-110 2089 003364 3061 DCA PRNTC1 /RESET COUNT 2090 003365 7200 XOUTL3, CLA 2091 003366 5740 JMP I XOUTL 2092 003370 7755 PAGE 003371 7670 003372 3400 003373 0110 003374 7763 003375 7551 003376 2600 003377 6512 2093 003400 0000 XOUTL2, 0 2094 003401 6201 CDF 2095 003402 3012 DCA XREG3 /SAVE CHAR 2096 003403 1034 TAD OUTPUT 2097 003404 7640 SZA CLA 2098 003405 5264 JMP XOUTL4 /NO ECHO 2099 003406 1051 TAD TELSW /BUSY 2100 003407 7640 SZA CLA 2101 003410 5244 JMP XOUTL5 /YES 2102 003411 1124 TAD C10 2103 003412 0406 AND I TEMP2 2104 003413 7650 SNA CLA 2105 003414 5217 JMP .+3 2106 003415 1266 TAD CPLS /HE HAS PUNCH 2107 003416 5221 JMP .+3 2108 003417 1124 TAD C10 2109 003420 1035 TAD XIOT 2110 003421 3235 DCA XOUTL6 /SET OUTPUT IOT 2111 003422 1036 TAD DECK 2112 003423 7160 CLL CML CMA 2113 003424 3076 DCA T3 2114 003425 7410 SKP 2115 003426 7010 RAR 2116 003427 2076 ISZ T3 2117 003430 5226 JMP .-2 2118 003431 1124 TAD C10 /TURN ON GROUP 1 2119 003432 6117 MTON /TURN ON PROPER USER = 0 IF NOT DCO2(SEE BEG760) 2120 003433 7200 CLA 2121 003434 1012 TAD XREG3 2122 003435 7402 XOUTL6, HLT 2123 003436 3051 DCA TELSW /SET BUSY 2124 003437 1643 TAD I XAUSER /0 IF NOT DC02 2125 003440 6117 MTON /ALL ON AGAIN = 0 IF NOT DC02 2126 003441 7200 CLA 2127 003442 5264 JMP XOUTL4 2128 2129 003443 5363 XAUSER, AUSER 2130 003444 4552 XOUTL5, UDF 2131 003445 1447 TAD I OPTRI /ROOM 2132 003446 7640 SZA CLA 2133 003447 4352 ERR080, JMS IERROR /NO ROOM 2134 003450 4552 UDF 2135 003451 1012 TAD XREG3 2136 003452 3447 DCA I OPTRI /FILL BUFFER 2137 003453 2047 ISZ OPTRI /BUMP BUFFER 2138 003454 1047 TAD OPTRI 2139 003455 7041 CIA 2140 003456 1046 TAD IPTR0 2141 003457 7640 SZA CLA 2142 003460 5264 JMP XOUTL4 /OK 2143 003461 1046 TAD IPTR0 2144 003462 1125 TAD M40 2145 003463 3047 DCA OPTRI /RESET BUFFER 2146 003464 6201 XOUTL4, CDF 2147 003465 5600 JMP I XOUTL2 2148 003466 6026 CPLS, PLS 2149 /*FINDLN* ROUTINE 2150 003467 0000 XFINDL, 0 2151 003470 1030 TAD LINENO 2152 003471 7710 SPA CLA 2153 003472 5326 JMP XFNDL3 2154 003473 4552 UDF 2155 003474 1057 TAD ALINE0 2156 003475 3031 DCA LASTLN 2157 003476 1057 TAD ALINE0 2158 003477 3027 XFNDL1, DCA LINEPC /CURRENT LINE 2159 003500 1027 TAD LINEPC 2160 003501 3012 DCA XREG3 2161 003502 1030 TAD LINENO 2162 003503 7041 CIA 2163 003504 1412 TAD I XREG3 2164 003505 7450 SNA 2165 003506 5317 JMP XFNDL2-1 /FOUND LINE 2166 003507 7700 SMA CLA 2167 003510 5320 JMP XFNDL2 /WENT BEYOND 2168 003511 1027 TAD LINEPC 2169 003512 3031 DCA LASTLN 2170 003513 1427 TAD I LINEPC 2171 003514 7440 SZA 2172 003515 5277 JMP XFNDL1 /LOOP 2173 003516 7410 SKP /OUT OF TEXT 2174 003517 2267 ISZ XFINDL /FOUND LINE 2175 003520 1027 XFNDL2, TAD LINEPC 2176 003521 7001 IAC 2177 003522 3017 DCA AXOUT /SET TO UNPACK 2178 003523 3021 DCA XCT 2179 003524 6201 CDF 2180 003525 5667 JMP I XFINDL 2181 003526 7340 XFNDL3, L7777 2182 003527 1060 TAD COMBUF 2183 003530 3027 DCA LINEPC 2184 003531 5317 JMP XFNDL2-1 2185 /ERROR ENTERING ROUTINES 2186 003532 0000 XERROR, 0 2187 003533 6002 IOF 2188 003534 7200 CLA 2189 003535 6201 IERRO1, CDF 2190 003536 1113 TAD C177 2191 003537 3352 DCA IERROR 2192 003540 1332 IERRO2, TAD XERROR 2193 003541 7110 CLL RAR /FORM ERROR CODE 2194 003542 3115 DCA LSTMOD 2195 003543 7350 L3777 2196 003544 0406 AND I TEMP2 /CLEAR I WAIT 2197 003545 3406 DCA I TEMP2 2198 003546 1351 TAD PERRORX 2199 003547 3022 DCA PC /SET FOR RESTART 2200 003550 5752 JMP I IERROR 2201 2202 003551 0400 PERRORX, ERRORX 2203 003552 0000 IERROR, 0 2204 003553 7340 L7777 2205 003554 1125 TAD M40 2206 003555 1046 TAD IPTR0 2207 003556 3012 DCA XREG3 2208 003557 1125 TAD M40 2209 003560 3076 DCA T3 /BUFFER COUNT 2210 003561 4552 UDF 2211 003562 3412 DCA I XREG3 /CLEAR BUFFER 2212 003563 2076 ISZ T3 2213 003564 5362 JMP .-2 2214 003565 6201 CDF 2215 003566 1047 TAD OPTRI 2216 003567 3050 DCA OPTRO 2217 003570 1352 TAD IERROR 2218 003571 3332 DCA XERROR 2219 003572 1105 TAD LOOK 2220 003573 7041 CIA 2221 003574 1006 TAD TEMP2 2222 003575 7650 SNA CLA 2223 003576 5335 JMP IERRO1 2224 003577 5340 JMP IERRO2 /NOT RUNNING 2225 PAGE 2226 /*PACKC* ROUTINE 2227 003600 0000 XPACKC, 0 2228 003601 4536 SORTJ 2229 003602 6767 XPAKL1-1 2230 003603 2444 XPAKL2-XPAKL1 2231 003604 4537 SORTC /CHECK FOR ALTMODE 2232 003605 2145 ALT-1 2233 003606 5270 JMP XPPCK1 /IT IS ALTMODE 2234 003607 1026 TAD CHAR 2235 003610 1125 TAD M40 2236 003611 2024 XPACK4, ISZ XCTIN 2237 003612 5232 JMP XPACK1 /NO PARTIAL 2238 003613 1023 TAD ADD /FORM WORD 2239 003614 4552 UDF 2240 003615 3416 DCA I AXIN /PACK IT 2241 003616 6201 CDF 2242 003617 3023 DCA ADD /RESET PARTIAL JUST TO BE SAFE 2243 003620 1453 TAD I PACKND 2244 003621 1120 TAD M12 2245 003622 7141 CLL CIA 2246 003623 1016 TAD AXIN 2247 003624 7630 SZL CLA 2248 003625 4551 ERR060, ERROR /TOO FAR 2249 003626 5600 XPACK5, JMP I XPACKC 2250 2251 003627 1266 XPACK2, TAD XP37 2252 003630 1121 XPACK3, TAD C40 2253 003631 5211 JMP XPACK4 2254 2255 003632 4553 XPACK1, RTL6 2256 003633 3023 DCA ADD /SAVE PARTIAL 2257 003634 7340 L7777 2258 003635 3024 DCA XCTIN /INDICATE PARTIAL 2259 003636 5600 JMP I XPACKC 2260 2261 003637 2024 XPACK7, ISZ XCTIN /PARTIAL HERE 2262 003640 5245 JMP XPACK8 /NO 2263 003641 3023 XPACK9, DCA ADD 2264 003642 1114 TAD C137 2265 003643 4534 PRINTC /PRINT BACK ARROW 2266 003644 5600 JMP I XPACKC 2267 2268 003645 1052 XPACK8, TAD PACKST 2269 003646 7041 CIA 2270 003647 1016 TAD AXIN 2271 003650 7650 SNA CLA 2272 003651 5600 JMP I XPACKC /ALL GONE ANY HOW 2273 003652 1016 TAD AXIN 2274 003653 3076 DCA T3 2275 003654 7340 L7777 2276 003655 3024 DCA XCTIN /INDICATE PARTIAL 2277 003656 7340 L7777 2278 003657 1016 TAD AXIN 2279 003660 3016 DCA AXIN /PUT IT BACK ONE 2280 003661 4552 UDF 2281 003662 1476 TAD I T3 /GET OLD 2282 003663 0127 AND C7700 2283 003664 5241 JMP XPACK9 2284 2285 003665 2152 XPRDY1, READY1 2286 003666 0037 XP37, 37 2287 003667 0044 C44, 44 2288 003670 4542 XPPCK1, PUSHF /SAVE TEXT POINTERS 2289 003671 0017 TEXTP 2290 003672 1200 TAD XPACKC 2291 003673 4540 PUSHA /SAVE ADDRESS IF DISMISSED 2292 003674 4567 FREE13 2293 003675 1267 TAD C44 2294 003676 4534 PRINTC /PRINT "$" 2295 003677 1121 TAD C40 2296 003700 4534 PRINTC 2297 003701 1112 TAD C7 2298 003702 4665 JMS I XPRDY1 2299 003703 4535 GETC /FINISH MESSAGE 2300 003704 4534 PRINTC 2301 003705 4535 GETC 2302 003706 4534 PRINTC 2303 003707 4543 POPA 2304 003710 3200 DCA XPACKC /RESTORE ADDRESS 2305 003711 1052 TAD PACKST 2306 003712 3016 DCA AXIN 2307 003713 4545 POPF 2308 003714 0017 TEXTP 2309 003715 3026 DCA CHAR 2310 003716 5235 JMP XPACK1+3 2311 /*READC* ROUTINE 2312 003717 0000 XREADC, 0 2313 003720 4552 UDF 2314 003721 6202 CIF /NO INTERRUPTS WHILE MESSING WITH IPTR0 2315 /AND HIS BUFFER - ELSE THE READER DIES 2316 003722 1445 TAD I IPTRO /GET CHAR 2317 003723 3026 DCA CHAR /SET CHARACTER 2318 003724 3445 DCA I IPTRO /CLEAR BUFFER 2319 003725 6201 CDF 2320 003726 1026 TAD CHAR 2321 003727 7650 SNA CLA /WAS THERE A CHARACTER 2322 003730 5371 JMP XREAD1 /NO - WAIT 2323 003731 2045 ISZ IPTRO /BUMP BUFFER 2324 003732 1045 TAD IPTRO 2325 003733 7041 CIA 2326 003734 1121 TAD C40 2327 003735 1046 TAD IPTR0 2328 003736 7640 SZA CLA 2329 003737 5342 JMP .+3 /OK 2330 003740 1046 TAD IPTR0 2331 003741 3045 DCA IPTRO /RESET BUFFER 2332 003742 5717 JMP I XREADC 2333 2334 003743 7740 IF5, SMA SZA CLA 2335 003744 7710 SPA CLA 2336 003745 7650 SNA CLA 2337 003746 7700 SMA CLA 2338 003747 7750 SPA SNA CLA 2339 003750 7640 SZA CLA 2340 /POP THE AC ROUTINE 2341 003751 0000 XPOPA, 0 2342 003752 4552 UDF 2343 003753 1415 TAD I PDLXR 2344 003754 6201 CDF 2345 003755 5751 JMP I XPOPA 2346 /*TSTLPR* ROUTINE 2347 003756 0000 LPRTST, 0 2348 003757 1073 TAD SORTCN 2349 003760 1126 TAD M6 2350 003761 7710 SPA CLA 2351 003762 5756 JMP I LPRTST /NOT L-PAREN 2352 003763 1073 TAD SORTCN 2353 003764 1123 TAD M10 2354 003765 7710 SPA CLA 2355 003766 2356 ISZ LPRTST /L-PAREN 2356 003767 5756 JMP I LPRTST 2357 003770 0020 XR20, 20 2358 003771 7340 XREAD1, L7777 2359 003772 1317 TAD XREADC 2360 003773 3022 DCA PC /SET TO REDO ROUTINE 2361 003774 1505 TAD I LOOK 2362 003775 0370 AND XR20 2363 003776 7640 SZA CLA 2364 003777 6014 RFC /HE'S GOT THE READER WITH AN EMPTY BUFFER! 2365 004000 1505 TAD I LOOK 2366 004001 4777 JMS I (XOR 2367 004002 4000 4000 /I WAIT AND DISMISS 2368 2369 2370 /*POPF* ROUTINE 2371 004003 0000 XPOPF, 0 2372 004004 7340 L7777 2373 004005 1603 TAD I XPOPF 2374 004006 3012 DCA XREG3 /POINT TO DATA AREA 2375 004007 7346 L7775 2376 004010 3076 DCA T3 2377 004011 4543 POPA 2378 004012 3412 DCA I XREG3 /MOVE DATA 2379 004013 2076 ISZ T3 2380 004014 5211 JMP .-3 2381 004015 2203 ISZ XPOPF 2382 004016 5603 JMP I XPOPF 2383 /*TESTN* ROUTINE 2384 004017 0000 XTESTN, 0 2385 004020 1026 TAD CHAR 2386 004021 1237 TAD TH60 2387 004022 3073 DCA SORTCN /SAVE BINARY DIGIT 2388 004023 7326 L0002 2389 004024 1073 TAD SORTCN 2390 004025 7450 SNA 2391 004026 5617 JMP I XTESTN /PERIOD 2392 004027 2217 ISZ XTESTN 2393 004030 1240 TAD TH13 2394 004031 7740 SMA SZA CLA 2395 004032 5617 JMP I XTESTN /GREATER THAN 271 2396 004033 1073 TAD SORTCN 2397 004034 7700 SMA CLA 2398 004035 2217 ISZ XTESTN /DIGIT 2399 004036 5617 JMP I XTESTN 2400 004037 7720 TH60, -60 2401 004040 7765 TH13, -13 2402 /*GETC* ROUTINE 2403 004041 0000 XGETC, 0 2404 004042 2021 ISZ XCT 2405 004043 5254 JMP XGET1 /NO PARTIAL 2406 004044 1020 TAD GTEM /GET PARTIAL 2407 004045 0122 XGET2, AND C77 /AND OFF JUNK 2408 004046 1121 TAD C40 /CORRECT TO ASCII 2409 004047 3026 DCA CHAR 2410 004050 4536 SORTJ /CHECK SPECIALS 2411 004051 2141 XGETL1-1 2412 004052 7244 XGETL2-XGETL1 2413 004053 5641 JMP I XGETC 2414 2415 2416 004054 4552 XGET1, UDF 2417 004055 1417 TAD I AXOUT /GET NEXT 2418 004056 6201 CDF 2419 004057 3020 DCA GTEM /SAVE PARTIAL 2420 004060 7340 L7777 2421 004061 3021 DCA XCT /INDICATE PARTIAL 2422 004062 1020 TAD GTEM 2423 004063 4553 RTL6 2424 004064 7004 RAL 2425 004065 5245 JMP XGET2 2426 2427 004066 1032 XGET3, TAD SPACSW /SPACE TEST 2428 004067 7640 SZA CLA 2429 004070 5641 JMP I XGETC /KEEP SPACES 2430 004071 5242 JMP XGETC+1 /IGNORE SPACES 2431 2432 004072 1112 XGET4, TAD C7 /BELL 2433 004073 3026 XGET6, DCA CHAR 2434 004074 5641 JMP I XGETC 2435 2436 004075 1111 XGET5, TAD CCR /CR 2437 004076 5273 JMP XGET6 2438 /*GETNXT* ROUTINE 2439 2440 004077 0000 NXTGET, 0 2441 004100 7610 SKP CLA 2442 004101 4535 GETC 2443 004102 1026 TAD CHAR 2444 004103 1330 TAD MSPLAT 2445 004104 7650 SNA CLA 2446 004105 5322 JMP NXEX 2447 004106 4560 TSTCCR 2448 004107 5301 JMP NXTGET+2 2449 2450 004110 4552 UDF 2451 004111 1427 TAD I LINEPC 2452 004112 7450 SNA 2453 004113 5323 JMP NXEX+1 /OUT OF TEXT 2454 004114 3027 DCA LINEPC 2455 004115 1027 TAD LINEPC 2456 004116 3017 DCA AXOUT 2457 004117 3021 DCA XCT 2458 004120 1417 TAD I AXOUT 2459 004121 3030 DCA LINENO 2460 004122 2277 NXEX, ISZ NXTGET 2461 004123 6201 CDF 2462 004124 5677 JMP I NXTGET 2463 /*FIND* ROUTINE 2464 004125 0000 XFIND, 0 2465 004126 3030 DCA LINENO 2466 004127 4566 FINDLN 2467 004130 7644 MSPLAT, 200-"\ 2468 004131 4565 XFIND1, GETNXT /GET THE NEXT STATEMENT 2469 004132 5342 JMP XFIND2 /OUT OF TEXT 2470 004133 4535 GETC 2471 004134 4563 COMMAN 2472 004135 1725 TAD I XFIND /CORRECT COMMAND 2473 004136 7640 SZA CLA 2474 004137 5331 JMP XFIND1 /NO - LOOP 2475 004140 2325 ISZ XFIND 2476 004141 1030 TAD LINENO /FOR RESTART 2477 004142 2325 XFIND2, ISZ XFIND 2478 004143 5725 JMP I XFIND 2479 004144 0000 XPRNTC, 0 2480 004145 6002 IOF 2481 004146 4550 PRINTX 2482 004147 6001 ION 2483 004150 5744 JMP I XPRNTC 2484 004151 4545 POPF 2485 004152 6726 FLARG /DUMP IT WHERE IT WONT HURT 2486 004153 3032 ENDFND, DCA SPACSW 2487 004154 4542 PUSHF 2488 004155 0017 TEXTP 2489 004156 4535 GETC 2490 004157 4572 TSTEND 2491 004160 5356 JMP .-2 2492 004161 4560 TSTCCR 2493 004162 5351 JMP ENDFND-2 2494 004163 4545 POPF 2495 004164 0017 TEXTP 2496 004165 4535 GETC 2497 004166 4563 COMMAN 2498 004167 7001 IAC 2499 004170 5544 POPJ 2500 2501 004171 0425 OPTABL, FGET I PT1 2502 004172 1425 FADD I PT1 2503 004173 2425 FSUB I PT1 2504 004174 3425 FMUL I PT1 2505 004175 4425 FDIV I PT1 2506 004176 5000 FJMP 0 /5775 = FJMP I (FUPARR, ON PG 2600 (SEE BEGMV4) 2507 004177 6552 PAGE 2508 /CHARACTER TEST ROUTINES 2509 004200 0000 COMTST, 0 2510 004201 1377 TAD (200-", 2511 004202 1026 TAD CHAR 2512 004203 7650 SNA CLA 2513 004204 2200 ISZ COMTST /FOUND IT 2514 004205 5600 JMP I COMTST 2515 2516 004206 0000 CCRTST, 0 2517 004207 1206 TAD CCRTST 2518 004210 3200 DCA COMTST 2519 004211 1376 TAD (200-215 2520 004212 5202 JMP COMTST+2 2521 2522 004213 0000 ENDTST, 0 2523 004214 1375 TAD (200-"\ 2524 004215 1026 TAD CHAR 2525 004216 7450 SNA 2526 004217 2213 ISZ ENDTST 2527 004220 1374 TAD (-"'+"\ 2528 004221 7650 SNA CLA 2529 004222 7001 IAC 2530 004223 1213 TAD ENDTST 2531 004224 5210 JMP CCRTST+2 2532 004225 0000 ALPTST, 0 2533 004226 1026 TAD CHAR 2534 004227 1373 TAD (200-"A 2535 004230 7710 SPA CLA 2536 004231 5625 JMP I ALPTST /LESS THAN *A* 2537 004232 1026 TAD CHAR 2538 004233 1372 TAD (200-"Z 2539 004234 7750 SPA SNA CLA 2540 004235 2225 ISZ ALPTST /LETTER 2541 004236 5625 JMP I ALPTST 2542 /*TESTC* ROUTINE 2543 004237 0000 XTESTC, 0 2544 004240 4537 SORTC 2545 004241 1400 TERMS-1 2546 004242 5637 JMP I XTESTC /TERMINATOR 2547 004243 2237 ISZ XTESTC 2548 004244 4554 TESTN 2549 004245 5637 JMP I XTESTC 2550 004246 7410 SKP 2551 004247 5637 JMP I XTESTC 2552 004250 2237 ISZ XTESTC 2553 004251 4562 TSTALP 2554 004252 2237 ISZ XTESTC /OTHER 2555 004253 5637 JMP I XTESTC /LETTER 2556 /*GOSUB* COMMAND, WORKS FROM MIDDLE OF LINES AND FROM 2557 /IMMEDIATE MODE 2558 2559 004254 4557 GOSUB, GETLN 2560 004255 4572 TSTEND 2561 004256 4551 ERR290, ERROR 2562 004257 7340 GOSUB3, L7777 2563 004260 1017 TAD AXOUT /COUNT BACK 2564 004261 4540 PUSHA 2565 004262 1062 TAD ERLINE 2566 004263 4540 PUSHA /TO RETURN TO 2567 004264 1371 TAD (GOSUB1 2568 004265 4540 PUSHA 2569 004266 5770 JMP I (GOSUB2 2570 2571 /*ON* COMMAND 2572 2573 004267 4541 ON, PUSHJ 2574 004270 2612 EVAL /GET VALUE 2575 004271 4563 COMMAN 2576 004272 1112 TAD C7 /IS IT GOTO 2577 004273 7450 SNA 2578 004274 5301 JMP .+5 /YES 2579 004275 1367 TAD (4 /HOW ABOUT GOSUB 2580 004276 7640 SZA CLA 2581 004277 4551 ERR300, ERROR /JUNK 2582 004300 7340 L7777 /SIGNIFY GOSUB 2583 004301 3075 DCA T2 2584 004302 4510 JMS I INTEGE 2585 004303 7570 SNA SPA SZL 2586 004304 5333 JMP ON2 /BAD INDEX 2587 004305 7041 CIA 2588 004306 3074 DCA T1 /MAKE COUNT 2589 004307 4557 ON1, GETLN /GET A LINE 2590 004310 2074 ISZ T1 2591 004311 5314 JMP .+3 /NOT THIS ONE 2592 004312 1030 TAD LINENO 2593 004313 4540 PUSHA /SAVE FOR LATER 2594 004314 4561 TSTCOM 2595 004315 5320 JMP .+3 /NOT COMMA--TRY FOR END 2596 004316 4535 GETC 2597 004317 5307 JMP ON1 /LOOK AT NEXT 2598 004320 4572 TSTEND 2599 004321 5277 JMP ERR300 /JUNK 2600 004322 1074 TAD T1 2601 004323 7710 SPA CLA 2602 004324 5333 JMP ON2 /IT AINT THERE 2603 004325 4543 POPA 2604 004326 3030 DCA LINENO 2605 004327 1030 TAD LINENO 2606 004330 2075 ISZ T2 /WHICH COMMAND? 2607 004331 5544 POPJ /JUST GOTO--TRANSFER TO IT 2608 004332 5257 JMP GOSUB3 2609 004333 1062 ON2, TAD ERLINE 2610 004334 3030 DCA LINENO 2611 004335 5544 POPJ 2612 004336 4407 INT, FINT 2613 004337 6110 FSLT 2614 004340 5351 FJMP FFIX+1 /POSITIVE--GREATEST INT(X)=FIX(X) 2615 004341 7766 FPUT I (TEMP 2616 004342 1357 FADD FCN /INTEGERIZE IT ALREADY 2617 004343 6766 FCMP I (TEMP 2618 004344 6050 FSEQ 2619 004345 2354 FSUB FLTONE /NOT AN INT, AND NEG--GOTTA SUBTRACT 1 2620 004346 1766 FADD I (TEMP 2621 004347 6000 FSKP 2622 004350 4407 FFIX, FINT 2623 004351 1357 FADD FCN /DOUBLE CHECK ON INT FUNCTION ALSO 2624 004352 0000 FEXT 2625 004353 5544 POPJ 2626 2627 2628 004354 2014 FLTONE, 2014 2629 004355 0000 0 2630 004356 0000 0 2631 004357 2330 FCN, 2330 2632 004360 0000 0 2633 004361 0000 0 2634 2635 2636 2637 /CHECK FOR IMMEDIATE MODE ON UNRECOGNIZED COMMAND--"WHAT?" 2638 /OR "ERROR 47" 2639 /NOTE THAT THIS MUST BE AN EVEN ADDRESS OR WE DON'T HAVE 2640 /UNIQUENESS ON ERRORS!!!!!!! (SEE INIT CODE AS TO WHY) 2641 IFNZRO .&1 <:"#%&'IDIOT!> 2642 004362 1062 ERRCHK, TAD ERLINE 2643 004363 7740 SMA SZA CLA 2644 004364 4551 ERR520, ERROR 2645 004365 4551 ERR000, ERROR 2646 004366 6731 PAGE 004367 0004 004370 2536 004371 2461 004372 7646 004373 7677 004374 0065 004375 7644 004376 7763 004377 7724 2647 /GET A VARIABLE OR FUNCTION ROUTINE 2648 /EXIT WITH AC NON-ZERO IF FUNCTION 2649 /AC IS LIST POINTER UNLESS 2650 /AC IS NEGATIVE, THEN AC IS CHAR FOR USER FUNCTION 2651 004400 4562 GETVAR, TSTALP 2652 004401 4551 ERR220, ERROR /MUST BE LETTER 2653 004402 1026 TAD CHAR 2654 004403 0223 AND P37 2655 004404 4553 RTL6 2656 004405 7010 RAR 2657 004406 3023 DCA ADD /SAVE FOR NAME 2658 004407 4535 GETC 2659 004410 4555 TESTC 2660 004411 5330 JMP SUBT /T - TEST FOR SUBSCRIPT 2661 004412 5222 JMP P37-1 /N - ADD TO NAME 2662 004413 5726 JMP I FUNCTI /TRY FOR FUNCTION 2663 004414 1026 TAD CHAR 2664 004415 1325 TAD MDOLR 2665 004416 7640 SZA CLA 2666 004417 5235 JMP LOOKUP /0 - VARIABLE LOOKUP 2667 004420 2031 ISZ MODE 2668 004421 5225 JMP P37+2 2669 004422 4554 TESTN 2670 004423 0037 P37, 37 2671 004424 5235 JMP LOOKUP /WAS A . 2672 004425 1026 TAD CHAR 2673 004426 0223 AND P37 2674 004427 1023 TAD ADD 2675 004430 3023 DCA ADD /NEW NAME 2676 004431 4535 GETC 2677 004432 4537 SORTC 2678 004433 1400 TERMS-1 2679 004434 5330 JMP SUBT 2680 004435 4552 LOOKUP, UDF 2681 004436 1055 TAD LASTV 2682 004437 3025 GS1, DCA PT1 /POINT TO VARIABLES 2683 004440 1054 TAD STARTV 2684 004441 7041 CIA 2685 004442 1025 TAD PT1 2686 004443 7650 SNA CLA 2687 004444 5265 JMP GS2 /NOT FOUND AT ALL 2688 004445 1425 TAD I PT1 /GET NAME 2689 004446 7141 CLL CIA 2690 004447 1023 TAD ADD 2691 004450 7450 SNA 2692 004451 5376 JMP GFND1 /FOUND NAME 2693 004452 7420 SNL 2694 004453 7041 CIA /POSITIVE DIFFERENCE 2695 004454 7106 CLL RTL /AC WILL BE 0 IF DIFFERENCE WAS 2000 2696 004455 7650 SNA CLA 2697 004456 4551 ERR130, ERROR /ERROR - A(I) AND A(I,I) CANNOT EXIST TOGETHER 2698 004457 1425 TAD I PT1 2699 004460 7710 SPA CLA 2700 004461 7340 L7777 /BACK 1 FOR SUBSCRIPT 2701 004462 1130 GS4, TAD M4 2702 004463 1025 TAD PT1 2703 004464 5237 JMP GS1 /LOOP 2704 2705 004465 1112 GS2, TAD C7 2706 004466 1055 TAD LASTV /ROOM LEFT 2707 004467 7141 CLL CIA 2708 004470 1015 TAD PDLXR 2709 004471 7630 SZL CLA 2710 004472 5276 JMP .+4 2711 004473 1054 TAD STARTV 2712 004474 3055 DCA LASTV /KILL EM-OVFLOW 2713 004475 4551 ERR100, ERROR /NO ROOM 2714 004476 1132 TAD C4 2715 004477 1055 TAD LASTV 2716 004500 3025 DCA PT1 /POINT TO NEW SPACE 2717 004501 1023 TAD ADD 2718 004502 7700 SMA CLA 2719 004503 5307 JMP GPUT1 2720 004504 1024 TAD SUBS 2721 004505 3425 DCA I PT1 /SET SUBSCRIPT 2722 004506 2025 ISZ PT1 2723 004507 1023 GPUT1, TAD ADD 2724 004510 3425 DCA I PT1 /SET NAME 2725 004511 6201 CDF 2726 004512 1025 TAD PT1 2727 004513 4540 PUSHA 2728 004514 7301 L0001 2729 004515 1055 TAD LASTV 2730 004516 3025 DCA PT1 /POINT TO NEW DATA SPACE 2731 004517 4543 POPA 2732 004520 3055 DCA LASTV /NEW LIMIT 2733 004521 4547 FLPUT /SET TO 0 2734 004522 7300 FLZERO 2735 004523 5724 JMP I GS5I 2736 2737 004524 4615 GS5I, GS5 2738 004525 7734 MDOLR, -44 2739 004526 4620 FUNCTI, FUNCT 2740 004527 2600 ECALLI, ECALL 2741 2742 004530 4573 SUBT, TSTLPR 2743 004531 5235 JMP LOOKUP /NOT SUBSCRIPTED 2744 004532 1023 TAD ADD 2745 004533 3077 DCA EFOP 2746 004534 4727 JMS I ECALLI /GET SUBSCRIPT 2747 004535 7330 L4000 2748 004536 4543 POPA 2749 004537 3023 DCA ADD /SAVE NAME 2750 004540 4510 JMS I INTEGE 2751 004541 7530 SPA SZL 2752 004542 4551 SUB1, ERROR /TOO BIG OR NEGATIVE 2753 ERR230=SUB1 2754 004543 3024 DCA SUBS /SET SUBSCRIPT 2755 004544 4561 TSTCOM 2756 004545 5374 JMP SUB2 /ONLY ONE SUBSCRIPT 2757 004546 4542 PUSHF /SAVE ADD,SUBS 2758 004547 0023 ADD 2759 004550 4541 PUSHJ /GET SECOND SUBSCRIPT 2760 004551 2611 EVAL-1 2761 004552 4545 POPF 2762 004553 0023 ADD 2763 004554 4510 JMS I INTEGE 2764 004555 0127 AND C7700 2765 004556 7010 RAR 2766 004557 7640 PARTS1, SZA CLA 2767 004560 5342 JMP SUB1 /TOO BIG 2768 004561 1024 TAD SUBS 2769 004562 0127 AND C7700 2770 004563 7640 SZA CLA 2771 004564 5342 JMP SUB1 /TOO BIG 2772 004565 1024 TAD SUBS 2773 004566 4553 RTL6 2774 004567 1070 TAD AC3 /FORM DOUBLE SUBSCRIPT 2775 004570 3024 DCA SUBS 2776 004571 7332 L2000 2777 004572 1023 TAD ADD 2778 004573 3023 DCA ADD /INDICATE 2 SUBSCRIPTS 2779 004574 4757 SUB2, JMS I PARTS1 /CHECK PAREN MATCH 2780 004575 5235 JMP LOOKUP 2781 2782 2783 004576 1023 GFND1, TAD ADD 2784 004577 7700 SMA CLA 2785 004600 5211 JMP GFND2 /NO SUBSCRIPT 2786 004601 7340 L7777 2787 004602 1025 TAD PT1 2788 004603 3025 DCA PT1 2789 004604 1425 TAD I PT1 /GET SUBSCRIPT 2790 004605 7041 CIA 2791 004606 1024 TAD SUBS 2792 004607 7640 SZA CLA 2793 004610 5672 JMP I PGS4 /WRONG SUBSCRIPT 2794 004611 6201 GFND2, CDF 2795 004612 7346 L7775 2796 004613 1025 TAD PT1 2797 004614 3025 DCA PT1 /POINT TO DATA 2798 004615 4546 GS5, FLGET /GET VARIABLE 2799 004616 6726 FLARG 2800 004617 5544 POPJ 2801 004620 1026 FUNCT, TAD CHAR 2802 004621 0264 AND F37 2803 004622 1023 TAD ADD 2804 004623 4537 SORTC 2805 004624 7527 FUNL1-1 2806 004625 7410 SKP 2807 004626 5673 JMP I LLOOKUP /NOT A FUNCTION 2808 004627 1073 TAD SORTCN 2809 004630 7650 SNA CLA 2810 004631 5275 JMP FUNCT4 /USER FUNCTION 2811 004632 4542 PUSHF 2812 004633 0017 TEXTP 2813 004634 1026 TAD CHAR 2814 004635 4540 PUSHA 2815 004636 4535 GETC 2816 004637 1026 TAD CHAR 2817 004640 3025 DCA PT1 2818 004641 4543 POPA 2819 004642 3026 DCA CHAR 2820 004643 4545 POPF 2821 004644 0017 TEXTP 2822 004645 1073 TAD SORTCN 2823 004646 1274 TAD LFUNL2 2824 004647 3076 DCA T3 2825 004650 6211 CDF SWAP 2826 004651 1476 TAD I T3 /GET CORRECT CODE 2827 004652 6201 CDF 2828 004653 1025 TAD PT1 2829 004654 7640 SZA CLA 2830 004655 5673 JMP I LLOOKUP /WAS NOT A FUNCTION 2831 004656 1073 TAD SORTCN 2832 004657 4540 PUSHA /SAVE CONSTANT 2833 004660 4535 GETC 2834 004661 4535 FUNCT5, GETC 2835 004662 4537 SORTC 2836 004663 1400 TERMS-1 2837 004664 0037 F37, 37 2838 004665 4573 TSTLPR 2839 004666 4551 ERR240, ERROR /NO L-PAREN 2840 004667 4543 POPA 2841 004670 7001 IAC /FUNCTION CODE 2842 004671 5544 POPJ 2843 2844 004672 4462 PGS4, GS4 2845 004673 4435 LLOOKUP, LOOKUP 2846 004674 1440 LFUNL2, FUNL2-1 2847 004675 4535 FUNCT4, GETC 2848 004676 4562 TSTALP 2849 004677 4551 ERR250, ERROR /NOT LETTER 2850 004700 7350 L3777 2851 004701 1026 TAD CHAR 2852 004702 4540 PUSHA /SAVE CHAR OF USER FUNCTION 2853 004703 5261 JMP FUNCT5 2854 /*SORTC* ROUTINE 2855 004704 0000 XSORTC, 0 2856 004705 7450 SNA 2857 004706 1026 TAD CHAR /USE CHAR IF AC IS 0 2858 004707 7041 CIA 2859 004710 3076 DCA T3 2860 004711 1704 TAD I XSORTC 2861 004712 3012 DCA XREG3 /SET TO LIST 2862 004713 0000 CSORTC, 0 2863 004714 1412 TAD I XREG3 2864 004715 6201 CDF 2865 004716 7510 SPA 2866 004717 5330 JMP XSORT3 /END OF LIST 2867 004720 1076 TAD T3 2868 004721 7640 SZA CLA 2869 004722 5313 JMP CSORTC /NO GO - LOOP 2870 004723 1704 TAD I XSORTC 2871 004724 7040 CMA 2872 004725 1012 TAD XREG3 2873 004726 3073 DCA SORTCN /SET CONSTANT 2874 004727 7410 SKP 2875 004730 2304 XSORT3, ISZ XSORTC 2876 004731 2304 ISZ XSORTC 2877 004732 7300 CLL CLA 2878 004733 3313 DCA CSORTC 2879 004734 5704 JMP I XSORTC 2880 /*SORTJ* ROUTINE 2881 004735 0000 XSORTJ, 0 2882 004736 7450 SNA 2883 004737 1026 TAD CHAR /USE CHAR IF AC IS 0 2884 004740 7041 CIA 2885 004741 3076 DCA T3 2886 004742 1735 TAD I XSORTJ 2887 004743 3012 DCA XREG3 /SET TO LIST 2888 004744 2335 ISZ XSORTJ 2889 004745 1412 TAD I XREG3 2890 004746 7510 SPA 2891 004747 5362 JMP XSORT1 /END OF LIST 2892 004750 1076 TAD T3 2893 004751 7640 SZA CLA 2894 004752 5345 JMP .-5 /NO GO - LOOP 2895 004753 1012 TAD XREG3 2896 004754 1735 TAD I XSORTJ 2897 004755 3335 DCA XSORTJ 2898 004756 6211 CDF SWAP 2899 004757 1735 TAD I XSORTJ /GET ADDRESS 2900 004760 6201 CDF 2901 004761 3335 DCA XSORTJ 2902 004762 7300 XSORT1, CLL CLA 2903 004763 2335 ISZ XSORTJ 2904 004764 5735 JMP I XSORTJ 2905 004765 7703 VMEQL, 200-"= 2906 004766 4535 FUNC16, GETC 2907 004767 1026 TAD CHAR 2908 004770 1365 TAD VMEQL 2909 004771 7640 SZA CLA 2910 004772 4551 ERR210, ERROR 2911 004773 4541 PUSHJ 2912 004774 2611 EVAL-1 2913 004775 4572 TSTEND 2914 004776 5372 JMP .-4 2915 004777 4543 POPA 2916 005000 3062 DCA ERLINE 2917 005001 1062 TAD ERLINE 2918 005002 3030 DCA LINENO 2919 005003 4566 FINDLN 2920 005004 2600 IECALL, ECALL 2921 005005 4543 POPA 2922 005006 3055 DCA LASTV 2923 005007 4543 POPA 2924 005010 3073 DCA SORTCN 2925 005011 4545 POPF 2926 005012 0017 TEXTP 2927 005013 3031 DCA MODE 2928 005014 5234 JMP ENDFUN 2929 005015 3000 FUNC6I, FUNCT6 2930 005016 1520 FUNL3I, FUNL3-2 2931 005017 3077 FUNCT3, DCA EFOP 2932 005020 4604 JMS I IECALL 2933 005021 4543 POPA 2934 005022 7510 SPA 2935 005023 5615 JMP I FUNC6I 2936 005024 1216 TAD FUNL3I 2937 005025 3077 DCA EFOP 2938 005026 6211 CDF SWAP 2939 005027 1477 TAD I EFOP 2940 005030 6201 CDF 2941 005031 3233 DCA .+2 2942 005032 4541 PUSHJ 2943 005033 0000 0 2944 2945 /END OF A FUNCTION 2946 005034 4407 ENDFUN, FINT 2947 005035 6010 FNOR /NORMALIZE IT 2948 005036 7507 FPUT I FLARGP /SAVE DATA 2949 005037 0000 FEXT 2950 005040 1107 ENDF1, TAD FLARGP 2951 005041 3025 DCA PT1 /POINT TO DATA 2952 005042 3032 DCA SPACSW 2953 005043 4645 JMS I .+2 2954 005044 5646 JMP I .+2 2955 005045 7640 PARTST 2956 005046 2644 OPNEXT 2957 /*SGN* FUNCTION 2958 005047 4407 SGN, FINT 2959 005050 6100 FSGE 2960 005051 0262 FGET MNSONE 2961 005052 6150 FSLE 2962 005053 0660 FGET I VFLTONE 2963 005054 0000 FEXT 2964 005055 5544 POPJ 2965 2966 005056 4357 VFCN, FCN 2967 005057 6731 VTEMP, TEMP 2968 005060 4354 VFLTONE, FLTONE 2969 005061 6562 VFUPAR1, FUPAR1 2970 005062 6014 MNSONE, 6014 2971 005063 0000 0 2972 005064 0000 0 2973 005065 7657 FUPARR, FPUT I VTEMP 2974 005066 0425 FGET I PT1 2975 005067 1656 FADD I VFCN 2976 005070 6425 FCMP I PT1 2977 005071 6050 FSEQ 2978 005072 5330 FJMP EXPLNG 2979 005073 0425 FGET I PT1 2980 005074 6100 FSGE 2981 005075 3262 FMUL MNSONE 2982 005076 2661 FSUB I VFUPAR1 2983 005077 6150 FSLE 2984 005100 5330 FJMP EXPLNG 2985 005101 0425 FGET I PT1 2986 005102 6110 FSLT 2987 005103 5310 FJMP .+5 2988 005104 0660 FGET I VFLTONE 2989 005105 4657 FDIV I VTEMP 2990 005106 7657 FPUT I VTEMP 2991 005107 0425 FGET I PT1 2992 005110 0000 FEXT 2993 005111 4510 JMS I INTEGE 2994 005112 7510 SPA 2995 005113 7041 CIA 2996 005114 7040 CMA 2997 005115 3344 DCA FUPAR2 2998 005116 4407 FINT 2999 005117 0660 FGET I VFLTONE 3000 005120 0000 FEXT 3001 005121 5325 JMP .+4 3002 3003 005122 4407 FINT 3004 005123 3657 FMUL I VTEMP 3005 005124 0000 FEXT 3006 005125 2344 ISZ FUPAR2 3007 005126 5322 JMP .-4 3008 005127 5341 JMP FUPAR3 3009 3010 3011 005130 0657 EXPLNG, FGET I VTEMP 3012 005131 0000 FEXT 3013 005132 4541 PUSHJ 3014 005133 7314 LOG 3015 005134 4407 FINT 3016 005135 3425 FMUL I PT1 3017 005136 0000 FEXT 3018 005137 4541 PUSHJ 3019 005140 7200 FEXP 3020 005141 4407 FUPAR3, FINT 3021 005142 5743 FJMP I VFLOP 3022 005143 2710 VFLOP, FLOP+1 3023 005144 0000 FUPAR2, 0 /JUST A TEMP 3024 005145 0000 XFLGET, 0 3025 005146 7440 SZA 3026 005147 5352 JMP XFLGT2 3027 005150 7340 L7777 3028 005151 1025 TAD PT1 3029 005152 3013 XFLGT2, DCA FLTXR 3030 005153 7340 L7777 3031 005154 1745 TAD I XFLGET 3032 005155 3014 DCA FLTXR2 3033 005156 7346 L7775 3034 005157 3076 DCA T3 3035 005160 4552 UDF 3036 005161 1413 TAD I FLTXR /MOVE FLOATING DATUM DOWN 3037 005162 6201 CDF 3038 005163 3414 DCA I FLTXR2 3039 005164 2076 ISZ T3 3040 005165 5360 JMP .-5 3041 005166 2345 ISZ XFLGET 3042 005167 5745 JMP I XFLGET 3043 3044 005170 6046 INTRPL, TLS /USER 0 TLS IOT = INIT BEG750 3045 005171 6126 MTLS /USER 1 TLS IOT 3046 005172 6126 MTLS /USER 2 3047 005173 6126 MTLS /USER 3 3048 005174 6126 MTLS /USER 4 3049 005175 6126 MTLS /USER 5 3050 005176 6126 MTLS /USER 6 3051 005177 6126 MTLS /USER 7 3052 005200 6212 INTR8E, CIF SWAP /FOR POWER FAIL RECOVERY 3053 005201 5602 JMP I .+1 3054 005202 1354 INTR81 3055 3056 005203 3353 INTRPT, DCA SAVAC /SAVE THE AC 3057 005204 7010 RAR 3058 005205 3354 DCA SAVLK /AND THE LINK 3059 005206 1076 TAD T3 3060 005207 3355 DCA T3SV /SAVE T3 3061 005210 1012 TAD XREG3 3062 005211 3356 DCA XREG3S /SAVE XREG3 3063 005212 1073 TAD SORTCN 3064 005213 3357 DCA SRTCNS /SAVE SORTCN 3065 005214 1552 TAD I AUDF 3066 005215 3360 DCA UDFSV /SAVE UDF ADDRESS 3067 005216 1537 TAD I ASORTC 3068 005217 3364 DCA SORTCS /SAVE SORTC ADDRESS 3069 005220 1777 TAD I (CSORTC /SAVE SORTC FIELD OP 3070 005221 3351 DCA SC2SV 3071 005222 3777 DCA I (CSORTC /NOW FIELD 0 3072 005223 1776 TAD I (XFREE 3073 005224 3361 DCA FREESV /SAVE XFREE ADDRESS 3074 005225 3003 DCA USER /START AT USER 0 3075 005226 6011 RSF 3076 005227 5241 JMP PUNCHK 3077 005230 6012 RRB /MAKE SURE TO CLEAR IT 3078 005231 3005 DCA TEMP1 3079 005232 4775 JMS I (RCHK 3080 005233 5241 JMP PUNCHK 3081 005234 4774 JMS I (DECKON /PUT HIM ONDECK 3082 005235 1373 TAD (EXIT /DON'T GO THROUGH THE REST OF THIS GARBAGE 300 TIMES/SEC! 3083 005236 3772 DCA I (KEY 3084 005237 1005 TAD TEMP1 /GET THAT CHAR 3085 005240 5742 JMP I PKEYMK /GO DO IT 3086 005241 6021 PUNCHK, PSF /IS IT THE PUNCH? 3087 005242 5247 JMP NONP /NOPE, 3088 005243 6022 PCF 3089 005244 4771 JMS I (PUNCH /ANYONE GOT IT? 3090 005245 5314 JMP EXIT /NOPE 3091 005246 4770 JMS I (TTY /FOOL THE TTY ROUTINE 3092 005247 3005 NONP, DCA TEMP1 /NO TTY'S TO TURN ON AT FIRST 3093 005250 1367 TAD ( INTRPL 3094 005251 3352 DCA INTRPP /SET LIST POINTER 3095 005252 1752 INTRP1,TAD I INTRPP /GET TLS IOT 3096 005253 1130 TAD M4 3097 005254 3302 DCA INTRP4 /TCF 3098 005255 7340 L7777 3099 005256 1302 TAD INTRP4 3100 005257 3300 DCA INTRP3 /TSF 3101 005260 1123 TAD M10 3102 005261 1300 TAD INTRP3 3103 005262 3266 DCA INTRP2 /KSF 3104 005263 1005 TAD TEMP1 3105 005264 6117 MTON /TURN ON PROPER USER = 0 IF NOT DC02(SEE BEG760) 3106 005265 7200 CLA 3107 005266 7402 INTRP2, HLT /KEY? 3108 005267 7610 SKP CLA /NO 3109 005270 4772 JMS I (KEY /READ TTY 3110 005271 1005 TAD TEMP1 3111 005272 6117 MTON /USER ON AGAIN = 0 IF NOT DC02 3112 005273 7110 CLL RAR /SHIFT FOR NEXT USER 3113 005274 7450 SNA /FIRST TIME? 3114 005275 1366 TAD (4004 /YES = GET TTY #1 BIT 3115 005276 1132 TAD C4 3116 005277 3005 DCA TEMP1 3117 005300 7402 INTRP3, HLT /TTY? 3118 005301 5304 JMP .+3 /NO 3119 005302 7402 INTRP4, HLT /CLEAR ITS FLAG 3120 005303 4770 JMS I (TTY /DO TTY OUTPUT 3121 005304 2003 ISZ USER /NEXT USER PLEASE 3122 005305 2352 ISZ INTRPP /BUMP LIST POINTER 3123 005306 1003 TAD USER 3124 005307 1362 TAD MUSER /ARE WE DONE? 3125 005310 7640 SZA CLA 3126 005311 5252 JMP INTRP1 /NO 3127 005312 1363 INTRP5, TAD AUSER /0 IF NOT DC02 3128 005313 6117 MTON /TURN ALL USERS ON AGAIN = 0 IF NOT DC02 3129 005314 7200 EXIT, CLA 3130 005315 1505 TAD I LOOK /GET RUNNING USER 3131 005316 7004 RAL 3132 005317 7730 SPA SZL CLA 3133 005320 5323 JMP .+3 3134 005321 1505 TAD I LOOK 3135 005322 4774 JMS I (DECKON /PUT HIM ONDECK 3136 005323 1355 TAD T3SV 3137 005324 3076 DCA T3 /RESTORE ALL THOS STORED THINGS 3138 005325 1356 TAD XREG3S 3139 005326 3012 DCA XREG3 3140 005327 1357 TAD SRTCNS 3141 005330 3073 DCA SORTCN 3142 005331 1351 TAD SC2SV 3143 005332 3777 DCA I (CSORTC /MAKE SURE TO RESTORE SORTC FIELD OP 3144 005333 1360 TAD UDFSV 3145 005334 3552 DCA I AUDF 3146 005335 1364 TAD SORTCS 3147 005336 3537 DCA I ASORTC 3148 005337 1361 TAD FREESV 3149 005340 3776 DCA I (XFREE 3150 005341 2765 ISZ I (INTCNT /COUNT INTERRUPTS 3151 005342 0606 PKEYMK, KEYMSK 3152 /IF PDP 8E, AND NOT DC02 - ASSUME KL8E, NEXT THREE WORDS ARE: 3153 / CIF SWAP 3154 / JMP I .+1 3155 / KL8FIX1 3156 /SEE BEG002 AND BEG540 FOR DETAILS. 3157 005343 1354 KL8JMP, TAD SAVLK /GET THE LINK BACK 3158 005344 7104 CLL RAL 3159 005345 1353 TAD SAVAC /AND THE AC ALSO 3160 005346 6244 KL8LFL, RMF 3161 005347 6001 ION 3162 005350 5400 JMP I 0 /EXIT FROM INTERRUPT 3163 3164 005351 0000 SC2SV, 0 3165 005352 5170 INTRPP, INTRPL 3166 005353 0000 SAVAC, 0 3167 005354 0000 SAVLK, 0 3168 005355 0000 T3SV, 0 3169 005356 0000 XREG3S, 0 3170 005357 0000 SRTCNS, 0 3171 005360 0000 UDFSV, 0 3172 005361 0000 FREESV, 0 3173 3174 005362 7777 MUSER, -1 /-1 FOR 1 USER, -2 FOR 2, ETC. 3175 005363 0000 AUSER, 0 /SET TO 0 IN BEG750 3176 005364 0000 SORTCS, 0 3177 005365 6365 PAGE 005366 4004 005367 5170 005370 1300 005371 7606 005372 0600 005373 5314 005374 0305 005375 7601 005376 5514 005377 4713 3178 /CALL TO FP INTERPRETER IN FIELD 1 3179 005400 0000 ZFPNT, 0 3180 005401 7200 CLA /MAY NOT BE NEEDED, BUT JUST TO BE SAFE 3181 005402 6213 CIF CDF SWAP 3182 005403 1200 TAD ZFPNT /GET RETURN ADDRESS 3183 005404 3607 DCA I .+3 /PASS IT ALONG 3184 005405 6201 CDF /INTERPRETER EXECUTES IN DATA FIELD 0 3185 005406 5746 JMP I FPENT /ENTER 3186 005407 0200 FPNT 3187 3188 /ENTRY TO FIELD 1 SUBROUTINE CALLER 3189 005410 0000 F1CALL, 0 3190 005411 6213 CIF CDF SWAP 3191 005412 5613 JMP I .+1 3192 005413 0120 F1CAL1 3193 3194 /*MOD* FUNCTION 3195 005414 4542 MOD, PUSHF 3196 005415 6726 FLARG 3197 005416 4561 TSTCOM 3198 005417 5777 JMP I (ERR560 3199 005420 4541 PUSHJ 3200 005421 2611 EVAL-1 3201 005422 4545 POPF 3202 005423 1376 PIF1, IF1 3203 005424 4407 MOD1, FINT 3204 005425 0623 FGET I PIF1 3205 005426 4507 FDIV I FLARGP 3206 005427 1776 FADD I (FCN 3207 005430 3507 FMUL I FLARGP 3208 005431 7775 FPUT I (TEMP 3209 005432 0623 FGET I PIF1 3210 005433 2775 FSUB I (TEMP 3211 005434 0000 FEXT 3212 005435 5544 POPJ 3213 005436 1026 PRNTEX, TAD CHAR 3214 005437 4540 PUSHA 3215 005440 4542 PUSHF 3216 005441 0017 TEXTP 3217 005442 4542 PUSHF 3218 005443 6726 FLARG 3219 005444 1015 TAD PDLXR 3220 005445 3017 DCA AXOUT /SET UP UNPACKING FROM STACK 3221 005446 3021 DCA XCT 3222 005447 1126 TAD M6 3223 005450 3031 DCA MODE 3224 005451 2032 ISZ SPACSW 3225 005452 4535 PRNTX1, GETC 3226 005453 4560 TSTCCR 3227 005454 7410 SKP 3228 005455 5261 JMP .+4 3229 005456 4534 PRINTC 3230 005457 2031 ISZ MODE 3231 005460 5252 JMP PRNTX1 3232 005461 4545 POPF 3233 005462 6726 FLARG 3234 005463 4545 POPF 3235 005464 0017 TEXTP 3236 005465 4543 POPA 3237 005466 3026 DCA CHAR 3238 005467 3031 DCA MODE /IN CASE OF A STRING LESS THAN 6 3239 005470 3032 DCA SPACSW /IGNORE SPACES AGAIN 3240 005471 4541 PRINT, PUSHJ 3241 005472 3302 PRIN10 3242 005473 7640 SZA CLA 3243 005474 5544 POPJ /ALL DONE 3244 005475 4567 FREE13 3245 005476 4541 PUSHJ 3246 005477 2612 EVAL /GET EXPR. 3247 005500 1031 TAD MODE 3248 005501 7640 SZA CLA 3249 005502 5236 JMP PRNTEX 3250 005503 1061 TAD PRNTC1 3251 005504 1374 TAD (16 3252 005505 7710 SPA CLA 3253 005506 5311 JMP .+3 /IT WILL FIT 3254 005507 1111 TAD CCR /MAKE IT FIT 3255 005510 4534 PRINTC 3256 005511 4503 JMS I FLOUTP 3257 005512 7340 PRNTX2, L7777 3258 005513 5271 JMP PRINT 3259 /*FREE* ROUTINE 3260 005514 0000 XFREE, 0 3261 005515 4552 UDF 3262 005516 1447 TAD I OPTRI /ANY ROOM 3263 005517 6201 CDF 3264 005520 7640 SZA CLA 3265 005521 5714 JMP I XFREE /NO 3266 005522 1047 TAD OPTRI 3267 005523 7041 CIA 3268 005524 1050 TAD OPTRO 3269 005525 7550 SPA SNA 3270 005526 1121 TAD C40 3271 005527 7041 CIA /-COUNT 3272 005530 7001 IAC 3273 005531 7450 SNA 3274 005532 5714 JMP I XFREE /ONLY 1 FREE 3275 005533 7001 IAC 3276 005534 7450 SNA 3277 005535 5714 JMP I XFREE /ONLY 2 FREE 3278 005536 2314 ISZ XFREE 3279 005537 1354 TAD FREEC 3280 005540 7750 SPA SNA CLA 3281 005541 2314 ISZ XFREE /14 OR MORE FREE 3282 005542 5714 JMP I XFREE 3283 /*FREE2* AND *FREE13* ROUTINES 3284 005543 0000 XFREE2, 0 3285 005544 4314 JMS XFREE /ROOM 3286 005545 5350 JMP .+3 /WE MUST WAIT 3287 005546 0201 FPENT, FPNT+1 3288 005547 5743 JMP I XFREE2 3289 3290 005550 1343 TAD XFREE2 3291 005551 5360 JMP FREEWT /GET ROOM 3292 3293 005552 0000 XFREE3, 0 3294 005553 4314 JMS XFREE 3295 005554 0014 FREEC, 14 3296 005555 7410 SKP /MUST WAIT 3297 005556 5752 JMP I XFREE3 3298 3299 005557 1352 TAD XFREE3 3300 005560 3022 FREEWT, DCA PC /SET RESTART 3301 005561 1505 TAD I LOOK 3302 005562 4764 JMS I .+2 /SET O WAIT AND DISMISS 3303 005563 2000 2000 3304 005564 6552 XOR 3305 005565 4572 RESTOR, TSTEND 3306 005566 4551 ERR280, ERROR 3307 005567 3037 DCA DATAPC 3308 005570 1111 TAD CCR 3309 005571 3043 DCA DATAPC+4 3310 005572 5544 POPJ 3311 3312 3313 005574 0016 PAGE 005575 6731 005576 4357 005577 5734 3314 3315 005600 7736 QMDOT, -42 3316 005601 5602 OPT1, .+1 3317 005602 0011 11 3318 005603 0000 QCT1, 0 3319 005604 2757 QERR, ERR110 3320 005605 1145 QINPACK,INPACK 3321 005606 0000 QUOCNT, 0 3322 005607 0000 QCOUNT, 0 3323 005610 1026 QUOTES, TAD CHAR /LITERAL STRING 3324 005611 1200 TAD QMDOT 3325 005612 7640 SZA CLA 3326 005613 5604 JMP I QERR /ERROR, NOT STRING 3327 005614 1327 TAD QOPNEXT /SET UP POPJ RETURN 3328 005615 4540 PUSHA 3329 3330 005616 1324 QINP, TAD QCON1 /ENTRY POINT FOR INPUT COMMAND 3331 005617 1325 QLINP, TAD QCON2 /ENTRY POINT FOR LINPUT COMMAND 3332 005620 3243 DCA QSLIS /WHICH LIST TO SORT THROUGH 3333 005621 1126 TAD M6 3334 005622 3207 DCA QCOUNT /COUNT FOR 6 CHARS 3335 005623 3206 DCA QUOCNT /QUOTE COUNTER 3336 005624 2032 ISZ SPACSW /KEEP SPACES 3337 005625 2031 ISZ MODE /SET STRING MODE INDICATOR 3338 005626 4542 PUSHF /PUSH 3 WORDS ONTO STACK 3339 005627 0111 CCR 3340 005630 1015 TAD PDLXR 3341 005631 3016 DCA AXIN 3342 005632 3024 DCA XCTIN 3343 005633 1016 TAD AXIN 3344 005634 3052 DCA PACKST 3345 005635 1201 TAD OPT1 3346 005636 3053 DCA PACKND 3347 005637 7410 SKP /WE ALREAD HAVE FIRST CHAR 3348 005640 4535 QUOTE1, GETC 3349 005641 4536 SORTJ 3350 005642 7306 PRNTL1-1 3351 005643 0000 QSLIS, 0 3352 3353 005644 1207 QNEXTC, TAD QCOUNT /HAVE WE GOT 6 CHARS YET 3354 005645 7710 SPA CLA /YES, DONT BOTHER PACKING 3355 005646 4556 PACKC 3356 005647 2207 ISZ QCOUNT /BUMP CHARACTER COUNTER 3357 005650 5240 JMP QUOTE1 3358 005651 1243 TAD QSLIS /GOT 6 CHARS: CHECK IF LINPUT COMMMAND 3359 005652 7041 CIA 3360 005653 1325 TAD QCON2 3361 005654 7640 SZA CLA 3362 005655 5240 JMP QUOTE1 /NO, IGNORE REST OF STRING 3363 005656 1326 TAD QCOM /YES, FAKE A COMMA 3364 005657 3206 DCA QUOCNT /SO WE CAN GET REST OF STRING 3365 005660 5301 JMP QDONE2 3366 3367 005661 1206 QUOCHK, TAD QUOCNT /CHECK WHICH QUOTE THIS IS 3368 005662 7650 SNA CLA /SECOND QUOTE, ALL DONE 3369 005663 5267 JMP .+4 3370 005664 3032 DCA SPACSW /IGNORE SPACES 3371 005665 4535 GETC /SKIP OVER QUOTE 3372 005666 5275 JMP QDONE /END OF STRING 3373 005667 2206 ISZ QUOCNT 3374 005670 5240 JMP QUOTE1 /SET FLAG AND CONTINUE 3375 3376 005671 1206 QCOMCK, TAD QUOCNT /CHECK IF COMMA INSIDE QUOTES 3377 005672 7650 SNA CLA 3378 005673 5275 JMP QDONE /NO QUOTES, ENDS STRING 3379 005674 5244 JMP QNEXTC /INSIDE QUOTES, KEEP IT 3380 3381 005675 1026 QDONE, TAD CHAR /DONE, SAVE TERMINATOR 3382 005676 3206 DCA QUOCNT 3383 005677 1207 TAD QCOUNT /SAVE CHAR COUNT, FILL WORD WITH CR'S 3384 005700 7041 CIA 3385 005701 1126 QDONE2, TAD M6 3386 005702 7041 CIA 3387 005703 3203 DCA QCT1 3388 005704 1207 TAD QCOUNT 3389 005705 7700 SMA CLA 3390 005706 5314 JMP QDONE1 /YES 3391 005707 1111 TAD CCR /CCR ENDS STRING 3392 005710 3026 DCA CHAR 3393 005711 4556 PACKC 3394 005712 2207 ISZ QCOUNT 3395 005713 5311 JMP .-2 3396 005714 4545 QDONE1, POPF /GET THE STRING 3397 005715 6726 FLARG 3398 005716 1107 TAD FLARGP /POINT TO STRING 3399 005717 3025 DCA PT1 3400 005720 1206 TAD QUOCNT 3401 005721 3026 DCA CHAR /RESTORE CHARACTER 3402 005722 3032 DCA SPACSW /SET TO IGNORE SPACES 3403 005723 5544 POPJ /RETURN 3404 3405 3406 3407 005724 7774 QCON1, QLIS2-QLIS1 3408 005725 0664 QCON2, QLIS1-PRNTL1 3409 005726 0054 QCOM, ",-200 3410 005727 2644 QOPNEXT,OPNEXT 3411 3412 /CHECK FOR STRING RETURNED, SET UP TO GET SECOND ARG 3413 /FOR MID AND CAT FUNCTIONS 3414 3415 005730 0000 GETSTR, 0 3416 005731 1031 TAD MODE /MAKE SURE FIRST ARG IS A STRING 3417 005732 7640 SZA CLA 3418 005733 4561 TSTCOM /CHECK FOR COMMA 3419 005734 4551 ERR560, ERROR /FIRST ARG NOT STRING, MISSING ARG 3420 005735 4542 PUSHF /SAVE THE STRING 3421 005736 6726 FLARG 3422 005737 3031 DCA MODE /CLEAR MODE TO CHECK NEXT ARG TYPE 3423 005740 5730 JMP I GETSTR /RETURN 3424 3425 /FLOATS NUMBER IN AC INTO FLARG 3426 3427 005741 0000 FLOAT, 0 3428 005742 3074 DCA T1 /SAVE NUMBER 3429 005743 3072 DCA AC1 /ZERO AC1 SO NFIX WILL CLEAR FP AC 3430 005744 7200 LNFIX /CALL NFIX 3431 005745 4574 CALLF1 /IN FIELD 1 3432 005746 1357 TAD C217 /SET EXPONENT 3433 005747 3067 DCA ACEXP 3434 005750 1074 TAD T1 /SET NUMBER 3435 005751 3071 DCA AC2 3436 005752 4407 FINT 3437 005753 6010 FNOR /FLOAT NUMBER 3438 005754 7507 FPUT I FLARGP /PUT INTO FLARG 3439 005755 0000 FEXT 3440 005756 5741 JMP I FLOAT /DONE 3441 3442 005757 0217 C217, 217 3443 005760 0000 MGET, 0 /FAKE OUT GETC 3444 005761 2075 ISZ T2 /CHECK FLAG 3445 005762 5365 JMP MGET1 3446 005763 1077 TAD CNTR 3447 005764 5375 JMP MGET2 3448 005765 7340 MGET1, L7777 /SET FLAG 3449 005766 3075 DCA T2 3450 005767 1413 TAD I FLTXR /GET NEW PAIR 3451 005770 3077 DCA CNTR 3452 005771 1077 TAD CNTR 3453 005772 7012 RTR 3454 005773 7012 RTR 3455 005774 7012 RTR 3456 005775 0122 MGET2, AND C77 /KILL GARGAGE 3457 005776 5760 JMP I MGET /RETURN 3458 PAGE 3459 3460 /*MID* FUNCTION FORMAT: MID(A$,X,Y) 3461 /RETURNS Y CHARACTERS STARTING WITH THE XTH CHAR IN A$ 3462 3463 3464 3465 006000 4777 MID, JMS I (GETSTR /GET THE FIRST TWO ARGS 3466 006001 4541 PUSHJ 3467 006002 2611 EVAL-1 3468 006003 4267 JMS MIDCHK /CHECK IF ARG IN BOUNDS 3469 006004 4540 PUSHA /SAVE FOR LATER 3470 006005 4561 TSTCOM /ANOTHER COMMA? 3471 006006 4551 ERR550, ERROR /MISSING OR BAD ARG 3472 006007 4541 PUSHJ /GET THIRD ARG 3473 006010 2611 EVAL-1 3474 006011 4267 JMS MIDCHK /CHECK ARG 3475 006012 3302 DCA MIDC2 3476 006013 4543 POPA /GET SECOND ARG 3477 006014 3301 DCA MIDC1 /SAVE 3478 006015 4545 POPF /GET STRING 3479 006016 6726 FLARG 3480 006017 1376 TAD (FLARG-1 3481 006020 3014 DCA FLTXR2 /PACK POINTER 3482 006021 3074 DCA T1 /PACK SWITCH 3483 006022 1301 TAD MIDC1 /# OF CHARS TO IGNORE 3484 006023 7041 CIA 3485 006024 7110 CLL RAR 3486 006025 1014 TAD FLTXR2 /CALCULATE FIRST CHAR 3487 006026 3013 DCA FLTXR 3488 006027 7430 SZL /CHECK IF PARTIAL 3489 006030 7240 CLA CMA 3490 006031 3075 DCA T2 /UNPACK SWITCH 3491 006032 7430 SZL 3492 006033 1413 TAD I FLTXR /GET CHAR IF PARTIAL 3493 006034 3077 DCA CNTR 3494 3495 3496 006035 7340 MID1, L7777 /CALCULATE NUMBER OF CHARS TO TRANSFER 3497 006036 1302 TAD MIDC2 3498 006037 3302 DCA MIDC2 3499 006040 1302 TAD MIDC2 3500 006041 1301 TAD MIDC1 3501 006042 7041 CIA 3502 006043 1126 TAD M6 3503 006044 7740 SMA SZA CLA 3504 006045 5206 JMP ERR550 /SECOND ARG LESS THAN FIRST 3505 006046 1126 TAD M6 /CHARACTER COUNTER 3506 006047 3031 DCA MODE 3507 006050 4775 MID2, JMS I (MGET /GET CHAR 3508 006051 4356 JMS MPUT /PUT CHAR 3509 006052 2031 ISZ MODE 3510 006053 7410 SKP 3511 006054 5263 JMP MID3 /DONE WITH ALL 6 CHARS 3512 006055 2302 ISZ MIDC2 3513 006056 5250 JMP MID2 /GET ANOTHER CHARACTER 3514 006057 1122 TAD C77 3515 006060 4356 JMS MPUT /FILL STRING WITH CR'S 3516 006061 2031 ISZ MODE 3517 006062 5257 JMP .-3 3518 006063 2031 MID3, ISZ MODE /SET STRING MODE FOR STRING *IF*'S 3519 006064 2015 ISZ PDLXR /KILL POPJ RETURN 3520 006065 5666 JMP I .+1 /SPECIAL RETURN FOR STRING FUNCTIONS 3521 006066 5040 ENDF1 3522 3523 3524 006067 0000 MIDCHK, 0 /CHECK ARGUMENT LIMITS 3525 006070 4510 JMS I INTEGE /MAKE AN INTEGER 3526 006071 7570 SPA SNA SZL /CHECK IF ZERO, NEGATIVE, OR TOO BIG 3527 006072 5206 JMP ERR550 3528 006073 7041 CIA 3529 006074 1112 TAD C7 /CHECK IF TOO BIG 3530 006075 7550 SPA SNA 3531 006076 5206 JMP ERR550 /TOO BIG 3532 006077 1126 TAD M6 /FIX IT UP 3533 006100 5667 JMP I MIDCHK 3534 3535 006101 0000 MIDC1, 0 /FIRST CHAR TO COPY 3536 006102 0000 MIDC2, 0 /LAST CHAR TO COPY 3537 /*CAT* FUNCTION FORMAT: CAT(A$,B$) 3538 /RETURNS A STRING OF A$ CONCATENATED WITH B$ 3539 3540 006103 4777 CAT, JMS I (GETSTR /GET TWO ARGUMENTS 3541 006104 4541 PUSHJ 3542 006105 2611 EVAL-1 3543 006106 1031 TAD MODE /CHECK IF SECOND ARG IS A STRING 3544 006107 7450 SNA 3545 006110 5206 JMP ERR550 3546 006111 3032 DCA SPACSW /KEEP SPACES 3547 006112 1126 TAD M6 /COUNT FOR 6 CHARACTERS 3548 006113 3302 DCA MIDC2 3549 006114 3267 DCA MIDCHK /CLEAR FLAG 3550 006115 4545 POPF /FIRST STRING INTO FLARG 3551 006116 6726 FLARG 3552 006117 4407 FINT /PUT STRING INTO IF1 3553 006120 7774 FPUT I (IF1 3554 006121 0000 FEXT 3555 006122 1376 TAD (FLARG-1 /POINT TO STRING 3556 006123 3013 DCA FLTXR 3557 006124 3075 DCA T2 /CLEAR UPACK SWITCH 3558 006125 1376 TAD (FLARG-1 /POINT TO PACKING TEMP 3559 006126 3014 DCA FLTXR2 3560 006127 3074 DCA T1 /CLEAR PACK SWITCH 3561 006130 4775 CCAT1, JMS I (MGET /GET A CHAR 3562 006131 3301 DCA MIDC1 /SAVE 3563 006132 1301 TAD MIDC1 3564 006133 7001 IAC 3565 006134 0127 AND C7700 /CHECK FOR CR 3566 006135 7640 SZA CLA 3567 006136 5344 JMP CCAT2 /CR FOUND 3568 006137 1301 TAD MIDC1 3569 006140 4356 CCAT3, JMS MPUT /REPACK CHAR 3570 006141 2302 ISZ MIDC2 /CHECK IF 6 YET 3571 006142 5330 JMP CCAT1 3572 006143 5263 JMP MID3 /RETURN 3573 3574 006144 1267 CCAT2, TAD MIDCHK /CHECK IF ALREADY HERE 3575 006145 7650 SNA CLA 3576 006146 5351 JMP .+3 3577 006147 1301 TAD MIDC1 /FLAG SET, RESTORE CHAR 3578 006150 5340 JMP CCAT3 3579 006151 1373 TAD (IF1-1 /SET POINTERS TO SECOND STRING 3580 006152 3013 DCA FLTXR 3581 006153 3075 DCA T2 /CLEAR FLAG 3582 006154 2267 ISZ MIDCHK /SET FLAG 3583 006155 5330 JMP CCAT1 3584 3585 006156 0000 MPUT, 0 /FAKE OUT PACKC 3586 006157 2074 ISZ T1 /CHECK FLAG 3587 006160 5364 JMP MPUT1 3588 006161 1076 TAD T3 3589 006162 3414 DCA I FLTXR2 /STASH CHAR 3590 006163 5756 JMP I MPUT 3591 006164 4553 MPUT1, RTL6 3592 006165 0127 AND C7700 3593 006166 3076 DCA T3 /SAVE PARTIAL 3594 006167 7340 L7777 /SET FLAG 3595 006170 3074 DCA T1 3596 006171 5756 JMP I MPUT 3597 006173 1375 PAGE 006174 1376 006175 5760 006176 6725 006177 5730 3598 006200 0000 FLIN, 0 3599 006201 1377 TAD (-11 3600 006202 3300 DCA DNUMBR 3601 006203 4301 JMS DECONV 3602 006204 4554 TESTN 3603 006205 5210 JMP .+3 3604 006206 0011 FP11, 11 3605 006207 5217 JMP FIGO1 3606 006210 4535 GETC 3607 006211 1300 TAD DNUMBR 3608 006212 3013 DCA FLTXR 3609 006213 4322 JMS DECON 3610 006214 1300 TAD DNUMBR 3611 006215 7041 CIA 3612 006216 1013 TAD FLTXR 3613 006217 3013 FIGO1, DCA FLTXR 3614 006220 1337 TAD C233 3615 006221 3067 DCA ACEXP 3616 006222 4407 FINT 3617 006223 6010 FNOR 3618 006224 7425 FPUT I PT1 3619 006225 0000 FEXT 3620 006226 1300 TAD DNUMBR 3621 006227 1206 TAD FP11 3622 006230 7650 SNA CLA 3623 006231 4551 ERR150, ERROR 3624 006232 1026 TAD CHAR 3625 006233 1376 TAD (200-"E 3626 006234 7640 SZA CLA 3627 006235 5255 JMP FIGO2 3628 006236 4535 GETC 3629 006237 7346 L7775 3630 006240 3300 DCA DNUMBR 3631 006241 4301 JMS DECONV 3632 006242 7326 L0002 3633 006243 1300 TAD DNUMBR 3634 006244 7710 SPA CLA 3635 006245 5231 JMP .-14 3636 006246 1066 TAD ACSIGN 3637 006247 7104 CLL RAL 3638 006250 1070 TAD AC3 3639 006251 7430 SZL 3640 006252 7041 CIA 3641 006253 1013 TAD FLTXR 3642 006254 3013 DCA FLTXR 3643 006255 1013 FIGO2, TAD FLTXR 3644 006256 7450 SNA 3645 006257 5600 JMP I FLIN 3646 006260 7710 SPA CLA 3647 006261 5266 JMP FIGO4 3648 006262 1013 TAD FLTXR 3649 006263 7041 CIA 3650 006264 3013 DCA FLTXR 3651 006265 1324 TAD M1000 3652 006266 1374 FIGO4, TAD (FDIV I (TEN 3653 006267 3272 DCA FIGO3+2 3654 006270 4407 FIGO3, FINT 3655 006271 0425 FGET I PT1 3656 006272 7402 HLT 3657 006273 7425 FPUT I PT1 3658 006274 0000 FEXT 3659 006275 2013 ISZ FLTXR 3660 006276 5270 JMP FIGO3 3661 006277 5600 JMP I FLIN 3662 3663 006300 0000 DNUMBR, 0 3664 006301 0000 DECONV, 0 3665 006302 3070 DCA AC3 3666 006303 3071 DCA AC2 3667 006304 3072 DCA AC1 3668 006305 3066 DCA ACSIGN 3669 006306 1026 TAD CHAR 3670 006307 1373 TAD (200-"+ 3671 006310 7450 SNA 3672 006311 5317 JMP .+6 3673 006312 7112 CLL RTR 3674 006313 7640 SZA CLA 3675 006314 5320 JMP .+4 3676 006315 7330 L4000 3677 006316 3066 DCA ACSIGN 3678 006317 4535 GETC 3679 006320 4322 JMS DECON 3680 006321 5701 JMP I DECONV 3681 3682 006322 0000 DECON, 0 3683 006323 4554 TESTN 3684 006324 7000 M1000, NOP 3685 006325 5722 JMP I DECON 3686 006326 6212 CIF SWAP /GO DO FIELD 1 STUFF 3687 006327 5730 JMP I .+1 3688 006330 0146 DECON1 3689 006331 4535 DECON2, GETC 3690 006332 2300 ISZ DNUMBR 3691 006333 5323 JMP DECON+1 3692 006334 4551 ERR160, ERROR 3693 3694 006335 0000 XGETLN, 0 3695 006336 4554 TESTN 3696 006337 0233 C233, 233 3697 006340 4551 ERR370, ERROR 3698 006341 1126 TAD M6 3699 006342 3300 DCA DNUMBR 3700 006343 4301 JMS DECONV 3701 006344 1071 TAD AC2 3702 006345 7650 SNA CLA 3703 006346 1070 TAD AC3 3704 006347 7550 SPA SNA 3705 006350 5340 JMP ERR370 3706 006351 3030 DCA LINENO 3707 006352 1030 TAD LINENO 3708 006353 7001 IAC 3709 006354 7710 SPA CLA 3710 006355 5340 JMP ERR370 3711 006356 5735 JMP I XGETLN 3712 /*RANDOMIZE* 3713 006357 1765 RANDOM, TAD I INTCNT /USE INTERRUPT COUNTER AS ADDRESS 3714 006360 1064 TAD FRNDX+1 3715 006361 3063 DCA FRNDX 3716 006362 1365 TAD INTCNT 3717 006363 3064 DCA FRNDX+1 3718 006364 5544 POPJ 3719 006365 0000 INTCNT,0 3720 006373 7725 PAGE 006374 4775 006375 7753 006376 7673 006377 7767 3721 3722 006400 0000 FLOUT, 0 3723 006401 1066 TAD ACSIGN 3724 006402 7710 SPA CLA 3725 006403 1111 TAD CCR 3726 006404 1121 TAD C40 3727 006405 4534 PRINTC 3728 006406 1072 TAD AC1 3729 006407 7640 SZA CLA 3730 006410 5214 JMP FOGO1 3731 006411 1377 TAD (60 3732 006412 4534 PRINTC 3733 006413 5600 JMP I FLOUT 3734 3735 006414 7340 FOGO1, LFXUP /CALL FIXUP 3736 006415 4574 CALLF1 3737 006416 1376 TAD (-7 3738 006417 3077 DCA CNTR 3739 006420 1375 TAD (NUMBUF-1 3740 006421 3013 DCA FLTXR 3741 006422 5230 JMP .+6 3742 3743 006423 1072 FOGO2, TAD AC1 3744 006424 0113 AND C177 3745 006425 3072 DCA AC1 3746 006426 7346 LMULT /CALL MULT10 3747 006427 4574 CALLF1 3748 006430 1072 TAD AC1 3749 006431 4553 RTL6 3750 006432 0374 AND (17 3751 006433 1377 TAD (60 3752 006434 3413 DCA I FLTXR 3753 006435 2077 ISZ CNTR 3754 006436 5223 JMP FOGO2 3755 3756 006437 1375 TAD (NUMBUF-1 3757 006440 3013 DCA FLTXR 3758 006441 7326 L0002 3759 006442 1775 TAD I (DECEXP 3760 006443 7450 SNA 3761 006444 5302 JMP FOGO4 3762 006445 7510 SPA 3763 006446 5252 JMP FOGO3 3764 006447 1123 TAD M10 3765 006450 7710 SPA CLA 3766 006451 5306 JMP FOGO5 3767 006452 7200 FOGO3, CLA 3768 006453 1413 TAD I FLTXR 3769 006454 4534 PRINTC 3770 006455 1373 TAD (".-200 3771 006456 4534 PRINTC 3772 006457 1126 TAD M6 3773 006460 3077 DCA CNTR 3774 006461 1413 TAD I FLTXR 3775 006462 4534 PRINTC 3776 006463 2077 ISZ CNTR 3777 006464 5261 JMP .-3 3778 006465 1372 TAD ("E-200 3779 006466 4534 PRINTC 3780 006467 1775 TAD I (DECEXP 3781 006470 7710 SPA CLA 3782 006471 7326 L0002 3783 006472 1371 TAD ("+-200 3784 006473 4534 PRINTC 3785 006474 1775 TAD I (DECEXP 3786 006475 7510 SPA 3787 006476 7041 CIA 3788 006477 2770 ISZ I (PRNT5 3789 006500 4767 JMS I (ITPRNT 3790 006501 5600 JMP I FLOUT 3791 3792 006502 1373 FOGO4, TAD (".-200 3793 006503 4534 PRINTC 3794 006504 1377 TAD (60 3795 006505 4534 PRINTC 3796 006506 1376 FOGO5, TAD (-7 3797 006507 3077 DCA CNTR 3798 006510 1366 TAD (NUMBUF+6 3799 006511 3075 FOGO6, DCA T2 3800 006512 1475 TAD I T2 3801 006513 1365 TAD (-60 3802 006514 7640 SZA CLA 3803 006515 5322 JMP FOGO7 3804 006516 2077 ISZ CNTR 3805 006517 7340 L7777 3806 006520 1075 TAD T2 3807 006521 5311 JMP FOGO6 3808 3809 006522 1775 FOGO7, TAD I (DECEXP 3810 006523 1077 TAD CNTR 3811 006524 7710 SPA CLA 3812 006525 5331 JMP .+4 3813 006526 1775 TAD I (DECEXP 3814 006527 7040 CMA 3815 006530 3077 DCA CNTR 3816 006531 7344 L7776 3817 006532 7040 FOGO8, CMA 3818 006533 1775 TAD I (DECEXP 3819 006534 7440 SZA 3820 006535 5340 JMP .+3 3821 006536 1373 TAD (".-200 3822 006537 4534 PRINTC 3823 006540 3775 DCA I (DECEXP 3824 006541 1413 TAD I FLTXR 3825 006542 4534 PRINTC 3826 006543 2077 ISZ CNTR 3827 006544 5332 JMP FOGO8 3828 006545 5600 JMP I FLOUT 3829 006546 4551 ERR330, ERROR 3830 3831 DECIMAL 3832 006547 6030 PRNTLL, -1000 3833 006550 7634 -100 3834 006551 7766 -10 3835 OCTAL 3836 3837 /THANKS TO TS8-V228 FOR THIS ONE 3838 /*OR* ROUTINE 3839 006552 0000 XOR, 0 3840 006553 3076 DCA T3 /SAVE A 3841 006554 1752 TAD I XOR 3842 006555 7040 CMA /GET A AND NOT B 3843 006556 0076 AND T3 3844 006557 1752 TAD I XOR /NOW GET BITS IN B, B AND NOT B IS ALWAYS 3845 /0, SO WE NOW HAVE B OR A (NO CHANCE OF OVFLOW) 3846 006560 3505 DCA I LOOK 3847 006561 5177 JMP NULL 3848 3849 006562 2055 FUPAR1, 2055 3850 006563 0000 0 3851 006564 0000 0 3852 3853 006565 7720 PAGE 006566 6734 006567 0231 006570 0277 006571 0053 006572 0105 006573 0056 006574 0017 006575 6725 006576 7771 006577 0060 3854 /*LEN* FUNCTION, RETURNS NUMBER OF CHARACTERS 3855 /(UP TO 6) IN A STRING 3856 3857 006600 3077 LEN, DCA CNTR /CHAR COUNTER 3858 006601 7346 L7775 /COUNT FOR 3 WORDS 3859 006602 3074 DCA T1 3860 006603 7360 CLA STL CMA 3861 006604 1107 TAD FLARGP 3862 006605 3013 DCA FLTXR 3863 006606 1413 LENXT, TAD I FLTXR /GET NEXT TWO CHARACTERS 3864 006607 1131 TAD C100 3865 006610 7430 SZL /LINK SET ONLY IF TOP HALF IS CR 3866 006611 5223 JMP LENDON 3867 006612 2077 ISZ CNTR /COUNT CHAR 3868 006613 0122 AND C77 /KILL TOP HALF 3869 006614 7001 IAC 3870 006615 0127 AND C7700 /KILL BOTTOM HALF 3871 006616 7640 SZA CLA /AC=100 IF BOTTOM HALF IS CR 3872 006617 5223 JMP LENDON 3873 006620 2077 ISZ CNTR /COUNT CHAR 3874 006621 2074 ISZ T1 /DONE? 3875 006622 5206 JMP LENXT 3876 006623 7200 LENDON, CLA /CLEAR GARBAGE IN AC 3877 006624 3031 DCA MODE /NO LONGER IN STRING MODE 3878 006625 1077 TAD CNTR 3879 006626 4777 JMS I (FLOAT /FLOAT NUMBER INTO FLARG 3880 006627 5544 POPJ 3881 3882 3883 /*LINPUT* COMMAND, INPUT AN ENTIRE LINE OF TEXT 3884 /INTO A STRING ARRAY 3885 3886 006630 3024 LINPUT, DCA SUBS /CLEAR SUBSCRIPT 3887 006631 4541 PUSHJ /GET VARIABLE 3888 006632 4400 GETVAR 3889 006633 7650 SNA CLA /FUNCTION? 3890 006634 4572 TSTEND 3891 006635 4551 ERR540, ERROR /ILLEGAL OR MORE THAN ONE VARIABLE 3892 006636 1031 TAD MODE 3893 006637 7650 SNA CLA 3894 006640 5235 JMP .-3 /NOT STRING VARIABLE 3895 006641 4542 PUSHF /SAVE PT1;CHAR;LINEPC 3896 006642 0025 PT1 3897 006643 4542 PUSHF /SAVE TEXT POINTERS 3898 006644 0017 TEXTP 3899 006645 1023 TAD ADD /CHECK IF SUBSCRIPTED 3900 006646 7104 CLL RAL 3901 006647 7130 STL RAR 3902 006650 3023 DCA ADD 3903 006651 1024 TAD SUBS 3904 006652 0127 AND C7700 /ZERO LAST DIMENSION 3905 006653 3024 DCA SUBS 3906 006654 4542 PUSHF /SAVE NAME AND SUBSCRIPT 3907 006655 0023 ADD 3908 006656 2032 ISZ SPACSW /KEEP LEADING SPACES 3909 006657 4541 PUSHJ /GET LINE OF INPUT 3910 006660 1167 PAKLIN 3911 006661 3334 DCA LINCT /ZERO CHARACTER COUNTER 3912 3913 006662 4545 POPF /RESTORE NAME AND SUBSCRIPT 3914 006663 0023 ADD 3915 006664 5267 JMP .+3 3916 006665 2032 LINXT, ISZ SPACSW /KEEP SPACES 3917 006666 4535 GETC /SKIP OVER COMMA 3918 006667 2024 ISZ SUBS /INCREMENT SUBSCRIPT 3919 006670 4541 PUSHJ /GET VARIABLE 3920 006671 4435 LOOKUP 3921 006672 4542 PUSHF /SAVE NAME AND SUBSCRIPT 3922 006673 0023 ADD 3923 006674 4541 PUSHJ /GET NEXT 6 CHARS OF STRING 3924 006675 5617 QLINP 3925 3926 006676 1775 LINXT2, TAD I AQCT1 /GET CHARACTER COUNT 3927 006677 1334 TAD LINCT /BUMP CHARACTER COUNT 3928 006700 3334 DCA LINCT 3929 006701 4545 POPF /RESTORE NAME AND SUBSCRIPT 3930 006702 0023 ADD 3931 006703 4547 FLPUT /SET VARIABLE 3932 006704 6726 FLARG 3933 006705 4572 TSTEND /END OF STRING? 3934 006706 5265 JMP LINXT /NO, GET NEXT 6 CHARS 3935 006707 1024 TAD SUBS /ZERO LAST DIMENSION 3936 006710 0127 AND C7700 3937 006711 3024 DCA SUBS 3938 006712 4541 PUSHJ 3939 006713 4435 LOOKUP /GET VARIABLE 3940 006714 1334 TAD LINCT 3941 006715 4777 JMS I (FLOAT /FLOAT INTO FLARG 3942 006716 4547 FLPUT /PUT IT AWAY 3943 006717 6726 FLARG 3944 006720 4545 POPF /RESTORE TEXT 3945 006721 0017 TEXTP 3946 006722 4545 POPF /RESTORE OTHER GARBAGE 3947 006723 0025 PT1 3948 006724 5544 POPJ /RETURN 3949 3950 3951 006725 0000 DECEXP, 0 3952 3953 006726 0000 NUMBUF, ZBLOCK 7 006727 0000 006730 0000 006731 0000 006732 0000 006733 0000 006734 0000 3954 3955 FLARG=NUMBUF 3956 TEMP=NUMBUF+3 3957 LINCT=NUMBUF+6 3958 3959 006735 0000 FIX, 0 3960 006736 4407 FINT 3961 006737 6150 FSLE 3962 006740 1365 FADD FIXCON 3963 006741 6100 FSGE 3964 006742 2365 FSUB FIXCON 3965 006743 0000 FEXT 3966 006744 7200 LNFIX /CALL NFIX 3967 006745 4574 CALLF1 3968 006746 7110 CLL RAR 3969 006747 1066 TAD ACSIGN 3970 006750 7004 RAL 3971 006751 7430 SZL 3972 006752 7041 CIA 3973 006753 3364 DCA FIXTMP 3974 006754 7100 CLL 3975 006755 1072 TAD AC1 3976 006756 7450 SNA 3977 006757 1071 TAD AC2 3978 006760 7640 SZA CLA 3979 006761 7120 CLL CML 3980 006762 1364 TAD FIXTMP 3981 006763 5735 JMP I FIX 3982 3983 006764 0000 FIXTMP, 0 3984 3985 006765 1544 FIXCON, 1544 3986 006766 1433 1433 3987 006767 6750 6750 3988 3989 006770 0015 XPAKL1, 15 /CR 3990 006771 0007 7 /BELL 3991 006772 0177 177 /RUBOUT 3992 006773 0137 137 /* 3993 006774 0100 100 /@ 3994 IFZERO QCT1&4000 3995 006775 5603 AQCT1, QCT1 3996 006777 5741 PAGE 3997 3998 007000 4407 SQR, FINT 3999 007001 7336 FPUT FSINZ 4000 007002 6040 FSNE 4001 007003 5235 FJMP SQEXIT 4002 007004 0000 FEXT 4003 007005 1066 TAD ACSIGN 4004 007006 7710 SPA CLA 4005 007007 4551 ERR020, ERROR 4006 007010 1067 TAD ACEXP 4007 007011 1377 TAD (7600 4008 007012 7100 CLL 4009 007013 7510 SPA 4010 007014 7020 CML 4011 007015 7010 RAR 4012 007016 1371 TAD PL200 4013 007017 3067 DCA ACEXP 4014 007020 1123 TAD M10 4015 007021 3237 DCA SQCNT 4016 007022 4407 SQLOOP, FINT 4017 007023 7507 FPUT I FLARGP 4018 007024 0336 FGET FSINZ 4019 007025 4507 FDIV I FLARGP 4020 007026 1507 FADD I FLARGP 4021 007027 0000 FEXT 4022 007030 7340 L7777 4023 007031 1067 TAD ACEXP 4024 007032 3067 DCA ACEXP 4025 007033 2237 ISZ SQCNT 4026 007034 5222 JMP SQLOOP 4027 007035 0000 SQEXIT, FEXT 4028 007036 5544 POPJ 4029 4030 007037 0000 SQCNT, 0 4031 007040 4407 TAN, FINT 4032 007041 7776 FPUT I (TEMP 4033 007042 0000 FEXT 4034 007043 4541 PUSHJ 4035 007044 7057 COS 4036 007045 4407 FINT 4037 007046 7507 FPUT I FLARGP 4038 007047 0776 FGET I (TEMP 4039 007050 0000 FEXT 4040 007051 4541 PUSHJ 4041 007052 7062 FSIN 4042 007053 4407 FINT 4043 007054 4507 FDIV I FLARGP 4044 007055 0000 FEXT 4045 007056 5544 POPJ 4046 4047 007057 4407 COS, FINT 4048 007060 1363 FADD FSINC7 4049 007061 6000 FSKP 4050 007062 4407 FSIN, FINT 4051 007063 4344 FDIV FSINC1 4052 007064 7336 FPUT FSINZ 4053 007065 0000 FEXT 4054 007066 4541 PUSHJ 4055 007067 4350 FFIX 4056 007070 7330 L4000 4057 007071 1066 TAD ACSIGN 4058 007072 3066 DCA ACSIGN 4059 007073 4407 FINT 4060 007074 1336 FADD FSINZ 4061 007075 0000 FEXT 4062 007076 2067 ISZ ACEXP 4063 007077 2067 ISZ ACEXP 4064 007100 4407 FINT 4065 007101 7336 FSINXX, FPUT FSINZ 4066 007102 0000 FEXT 4067 007103 3066 DCA ACSIGN 4068 007104 4407 FINT 4069 007105 2775 FSUB I (FLTONE 4070 007106 6140 FSGT 4071 007107 5320 FJMP FSINOK 4072 007110 0336 FGET FSINZ 4073 007111 0000 FEXT 4074 007112 4541 PUSHJ 4075 007113 5047 SGN 4076 007114 2067 ISZ ACEXP 4077 007115 4407 FINT 4078 007116 2336 FSUB FSINZ 4079 007117 5301 FJMP FSINXX 4080 007120 0336 FSINOK, FGET FSINZ 4081 007121 3336 FMUL FSINZ 4082 007122 7341 FPUT FSINZZ 4083 007123 3347 FMUL FSINC3 4084 007124 1352 FADD FSINC4 4085 007125 3341 FMUL FSINZZ 4086 007126 1355 FADD FSINC5 4087 007127 3341 FMUL FSINZZ 4088 007130 1360 FADD FSINC6 4089 007131 3341 FMUL FSINZZ 4090 007132 1363 FADD FSINC7 4091 007133 3336 FMUL FSINZ 4092 007134 0000 FEXT 4093 007135 5544 POPJ 4094 4095 007136 0000 FSINZ, 0;0;0 007137 0000 007140 0000 4096 007141 0000 FSINZZ, 0;0;0 007142 0000 007143 0000 4097 007144 2036 FSINC1, 2036;2207;7325 007145 2207 007146 7325 4098 007147 1644 FSINC3, 1644;7553;6722 007150 7553 007151 6722 4099 007152 5714 FSINC4, 5714;6223;1423 007153 6223 007154 1423 4100 007155 1755 FSINC5, 1755;632;1276 007156 0632 007157 1276 4101 007160 6005 FSINC6, 6005;1256;7406 007161 1256 007162 7406 4102 007163 2016 FSINC7, 2016;2207;7325 007164 2207 007165 7325 4103 /*UDF* ROUTINE 4104 007166 0000 XUDF, 0 4105 IFZERO .&4000 4106 007167 6211 CDF 10 4107 007170 5766 JMP I XUDF 4108 007171 0200 PL200, 200 4109 007175 4354 PAGE 007176 6731 007177 7600 4110 4111 4112 007200 4407 FEXP, FINT 4113 007201 4260 FDIV FEXPC1 4114 007202 7777 FPUT I (FEXPU 4115 007203 0000 FEXT 4116 007204 4541 PUSHJ 4117 007205 4336 INT 4118 007206 7330 L4000 4119 007207 1066 TAD ACSIGN 4120 007210 3066 DCA ACSIGN 4121 007211 4407 FINT 4122 007212 7255 FPUT FEXP1 4123 007213 1777 FADD I (FEXPU 4124 007214 7776 FPUT I (FEXPF 4125 007215 3776 FMUL I (FEXPF 4126 007216 1263 FADD FEXPC2 4127 007217 7777 FPUT I (FEXPU 4128 007220 0255 FGET FEXP1 4129 007221 0000 FEXT 4130 007222 4510 JMS I INTEGE 4131 007223 7041 CIA 4132 007224 7001 IAC 4133 007225 3255 DCA FEXP1 4134 007226 4407 FINT 4135 007227 0266 FGET FEXPC3 4136 007230 4777 FDIV I (FEXPU 4137 007231 1271 FADD FEXPC4 4138 007232 2776 FSUB I (FEXPF 4139 007233 7777 FPUT I (FEXPU 4140 007234 0776 FGET I (FEXPF 4141 007235 3776 FMUL I (FEXPF 4142 007236 3274 FMUL FEXPC5 4143 007237 1777 FADD I (FEXPU 4144 007240 7777 FPUT I (FEXPU 4145 007241 0776 FGET I (FEXPF 4146 007242 4777 FDIV I (FEXPU 4147 007243 1277 FADD FEXPC6 4148 007244 0000 FEXT 4149 007245 1067 TAD ACEXP 4150 007246 1255 TAD FEXP1 4151 007247 3067 DCA ACEXP 4152 007250 4407 FINT 4153 007251 6010 FNOR 4154 007252 1775 FADD I (FLZERO 4155 007253 0000 FEXT 4156 007254 5544 POPJ 4157 4158 007255 0000 FEXP1, 0;0;0 007256 0000 007257 0000 4159 FEXPU=FSINZ 4160 FEXPF=FSINZZ 4161 007260 2005 FEXPC1, 2005;4271;300 007261 4271 007262 0300 4162 007263 2075 FEXPC2, 2075;3552;7022 007264 3552 007265 7022 4163 007266 6124 FEXPC3, 6124;6477;715 007267 6477 007270 0715 4164 007271 2044 FEXPC4, 2044;7643;62 007272 7643 007273 0062 4165 007274 1744 FEXPC5, 1744;3372;3400 007275 3372 007276 3400 4166 007277 2004 FEXPC6, 2004 4167 007300 0000 FLZERO, 0 4168 007301 0000 0 4169 007302 0000 0 4170 4171 007303 2074 F72, 2074;4000;0 007304 4000 007305 0000 4172 007306 0073 PRNTL4, 73 /; 4173 007307 0054 PRNTL1, 54 /, 4174 007310 0047 47 /' 4175 007311 0042 PRNTL7, 42 /" 4176 007312 0015 15 /CR 4177 007313 0134 "\-200 4178 4179 007314 7301 LOG, LHIGH /CALL HIGHWD 4180 007315 4574 CALLF1 4181 007316 7750 SPA SNA CLA 4182 007317 4551 ERR010, ERROR 4183 007320 1067 TAD ACEXP 4184 007321 3370 DCA LOGEXP 4185 007322 1373 TAD L200 4186 007323 3067 DCA ACEXP 4187 007324 4407 FINT 4188 007325 7777 FPUT I (FEXPU 4189 007326 1353 FADD FLOGC1 4190 007327 7776 FPUT I (FEXPF 4191 007330 0777 FGET I (FEXPU 4192 007331 2353 FSUB FLOGC1 4193 007332 4776 FDIV I (FEXPF 4194 007333 7776 FPUT I (FEXPF 4195 007334 3776 FMUL I (FEXPF 4196 007335 3356 FMUL FLOGC2 4197 007336 1361 FADD FLOGC3 4198 007337 3776 FMUL I (FEXPF 4199 007340 3776 FMUL I (FEXPF 4200 007341 1364 FADD FLOGC4 4201 007342 3776 FMUL I (FEXPF 4202 007343 2277 FSUB FEXPC6 4203 007344 7776 FPUT I (FEXPF 4204 007345 0367 FGET LOGFWD 4205 007346 2372 FSUB LOGOKW 4206 007347 1776 FADD I (FEXPF 4207 007350 3260 FMUL FEXPC1 4208 007351 0000 FEXT 4209 007352 5544 POPJ 4210 4211 007353 2005 FLOGC1, 2005;5202;3632 007354 5202 007355 3632 4212 007356 2004 FLOGC2, 2004;6253;2521 007357 6253 007360 2521 4213 007361 2007 FLOGC3, 2007;5421;3604 007362 5421 007363 3604 4214 007364 2025 FLOGC4, 2025;6125;1007 007365 6125 007366 1007 4215 007367 2174 LOGFWD, 2174 4216 007370 0000 LOGEXP, 0 4217 007371 0000 0 4218 007372 2174 LOGOKW, 2174 4219 007373 0200 L200, 200 4220 007374 0000 0 4221 007375 7300 PAGE 007376 7141 007377 7136 4222 4223 007400 0000 ATNSGN, 0 4224 4225 4226 4227 007401 1066 ATN, TAD ACSIGN 4228 007402 3200 DCA ATNSGN 4229 007403 3066 DCA ACSIGN 4230 007404 4407 FINT 4231 007405 7777 FPUT I (FATNT 4232 007406 7776 FPUT I (FATNAX 4233 007407 2275 FSUB FATNC1 4234 007410 6140 FSGT 4235 007411 5265 FJMP ATNBIG 4236 007412 2300 FSUB FATNC2 4237 007413 6140 FSGT 4238 007414 5220 FJMP ATNLOW 4239 007415 0775 FGET I (FLTONE 4240 007416 4777 FDIV I (FATNT 4241 007417 7777 FPUT I (FATNT 4242 007420 0774 ATNLOW, FGET I (FLZERO 4243 007421 7773 FPUT I (FATNC 4244 007422 0777 FGET I (FATNT 4245 007423 2303 FSUB FATNC3 4246 007424 6100 FSGE 4247 007425 5237 FJMP ATNNOT 4248 007426 0777 FGET I (FATNT 4249 007427 1306 FADD FATNC4 4250 007430 7777 FPUT I (FATNT 4251 007431 0272 FGET FATNCJ 4252 007432 4777 FDIV I (FATNT 4253 007433 1306 FADD FATNC4 4254 007434 7777 FPUT I (FATNT 4255 007435 0311 FGET FATNC5 4256 007436 7773 FPUT I (FATNC 4257 007437 0777 ATNNOT, FGET I (FATNT 4258 007440 3777 FMUL I (FATNT 4259 007441 7772 FPUT I (FATNTT 4260 007442 0314 FGET FATNC6 4261 007443 3772 FMUL I (FATNTT 4262 007444 1317 FADD FATNC7 4263 007445 3772 FMUL I (FATNTT 4264 007446 1322 FADD FATNC8 4265 007447 3772 FMUL I (FATNTT 4266 007450 1325 FADD FATNC9 4267 007451 3772 FMUL I (FATNTT 4268 007452 1775 FADD I (FLTONE 4269 007453 3777 FMUL I (FATNT 4270 007454 1773 FADD I (FATNC 4271 007455 7777 FPUT I (FATNT 4272 007456 0776 FGET I (FATNAX 4273 007457 2775 FSUB I (FLTONE 4274 007460 6140 FSGT 4275 007461 5265 FJMP ATNBIG 4276 007462 0771 FGET I (FSINC7 4277 007463 2777 FSUB I (FATNT 4278 007464 7777 FPUT I (FATNT 4279 007465 0777 ATNBIG, FGET I (FATNT 4280 007466 0000 FEXT 4281 007467 1200 TAD ATNSGN 4282 007470 3066 DCA ACSIGN 4283 007471 5544 POPJ 4284 4285 FATNAX=FSINZ 4286 FATNT=FSINZZ 4287 FATNTT=FEXP1 4288 007472 6034 FATNCJ, 6034;0;0 007473 0000 007474 0000 4289 007475 1634 FATNC1, 1634;0;0 007476 0000 007477 0000 4290 007500 2007 FATNC2, 2007;7776;0 007501 7776 007502 0000 4291 007503 1774 FATNC3, 1774;2230;2427 007504 2230 007505 2427 4292 007506 2016 FATNC4, 2016;7331;7272 007507 7331 007510 7272 4293 007511 2004 FATNC5, 2004;1405;2216 007512 1405 007513 2216 4294 007514 1756 FATNC6, 1756;462;4562 007515 0462 007516 4562 4295 007517 5764 FATNC7, 5764;4221;3403 007520 4221 007521 3403 4296 007522 1766 FATNC8, 1766;3141;6672 007523 3141 007524 6672 4297 007525 5775 FATNC9, 5775;2525;2377 007526 2525 007527 2377 4298 007530 0316 FUNL1, 316 /FN 4299 007531 1151 1151 /SI 4300 007532 0157 157 /CO 4301 007533 0064 64 /AT 4302 007534 0270 270 /EX 4303 007535 0617 617 /LO 4304 007536 0042 42 /AB 4305 007537 1161 1161 /SQ 4306 007540 1147 1147 /SG 4307 007541 0456 456 /IN 4308 007542 1116 1116 /RN 4309 007543 0311 311 /FI 4310 007544 1201 1201 /TA 4311 007545 0651 651 /MI 4312 007546 0141 141 /CA 4313 007547 0605 605 /LE 4314 007550 0657 657 /MO 4315 4316 007551 4407 PRIN12, FINT 4317 007552 7770 FPUT I (IF1 /SETUP TO CALL 'MOD' 4318 007553 0000 FEXT 4319 007554 4542 PUSHF 4320 007555 7303 F72 4321 007556 4545 POPF 4322 007557 6726 FLARG 4323 007560 4541 PUSHJ 4324 007561 5424 MOD1 4325 007562 3066 DCA ACSIGN /MAKE IT POSITIVE 4326 007563 4510 JMS I INTEGE 4327 007564 5767 JMP I (PRIN11 4328 4329 IFNZRO CONFIG < 4330 PAGE 4331 XLIST 4332 ENPUNCH 4333 > 4334 007567 3250 FIELD 1 007570 1376 007571 7163 007572 7255 007573 1612 007574 7300 007575 4354 007576 7136 007577 7141 4335 4336 *6600 4337 P7600, 4338 4339 NOPUNCH 4340 FIELD 0 4341 *7600 /THIS WILL BE MOVED LATER 4342 ENPUNCH 4343 4344 007600 5356 JMP 7756 /FOR A MONITOR SYSTEM 4345 4346 /FIND OUT IF ANYONE HAS THE READER OR THE PUNCH 4347 007601 0000 RCHK, 0 4348 007602 1201 TAD RCHK 4349 007603 3206 DCA PUNCH 4350 007604 1124 TAD C10 4351 007605 7410 SKP 4352 007606 0000 PUNCH, 0 4353 007607 1124 TAD C10 4354 007610 3201 DCA RCHK /GET PROPER MASK 4355 007611 1106 TAD LOOKST 4356 007612 3073 DCA SORTCN 4357 007613 7410 SKP 4358 007614 2073 LKLOOP, ISZ SORTCN 4359 007615 1073 TAD SORTCN 4360 007616 1632 TAD I MMLOOKE 4361 007617 7740 SMA SZA CLA 4362 007620 5606 JMP I PUNCH /AINT NOBODY GOT IT 4363 007621 1201 TAD RCHK 4364 007622 0473 AND I SORTCN 4365 007623 7650 SNA CLA 4366 007624 5214 JMP LKLOOP 4367 007625 1106 TAD LOOKST 4368 007626 7041 CIA 4369 007627 1073 TAD SORTCN 4370 007630 2206 ISZ PUNCH 4371 007631 5606 JMP I PUNCH /GET HIS NUMBER INT THE AC AND EXIT. 4372 007632 0230 MMLOOKE, MLOOKE 4373 /*RTL6* ROUTINE 4374 007633 0000 XRTL6, 0 4375 007634 7106 CLL RTL 4376 007635 7006 RTL 4377 007636 7006 RTL 4378 007637 5633 JMP I XRTL6 4379 /PAREN TEST ROUTINE 4380 007640 0000 PARTST, 0 4381 IFNZRO PARTS-PARTST 4382 / PARTST MUST BE AT LOC 7640 4383 / (SEE PARTS1 AND JMS NEAR PRINT4 AS TO WHY) 4384 007641 4543 POPA 4385 007642 3101 DCA LASTOP /SAVED BY *ECALL* 4386 007643 7344 L7776 4387 007644 1073 TAD SORTCN 4388 007645 7041 CIA 4389 007646 4543 POPA /CHECK MATCH 4390 007647 7640 SZA CLA 4391 007650 4551 ERR260, ERROR /NO MATCH 4392 007651 4535 GETC 4393 007652 5640 JMP I PARTST 4394 007653 7301 TAPE, L0001 4395 007654 3025 KKEY, DCA PT1 4396 007655 1075 TAD T2 4397 007656 4540 PUSHA /SAVE IT 4398 007657 4744 JMS I TRUN9 /WAIT FOR TTY TO DIE DOWN 4399 007660 1051 TAD TELSW 4400 007661 7640 SZA CLA 4401 007662 5257 JMP .-3 4402 007663 1025 TAD PT1 4403 007664 3034 DCA OUTPUT 4404 007665 4560 TSTCCR 4405 007666 4551 ERR003, ERROR /JUNK OF SOME SORT 4406 007667 4543 POPA 4407 007670 1345 TAD TDIF1 4408 007671 7450 SNA 4409 007672 5307 JMP LISTN 4410 007673 1346 TAD TDIF2 4411 007674 7640 SZA CLA 4412 007675 5502 JMP I AREADY /TAPE OR KEY COMMAND, NOT PUNCH OR PTR 4413 007676 6002 IOF 4414 007677 4201 JMS RCHK 4415 007700 7610 SKP CLA /FREE 4416 /SKP CLA = FOR PTR: PRESENT = SEE BEG118 4417 /0 FOR NO PTR: 4418 007701 4551 ERRNNN, ERROR /SOMEBODY ALREADY HAS READER OR PUNCH 4419 007702 1201 TAD RCHK /ASSIGN IT TO HIM 4420 007703 1505 TAD I LOOK 4421 007704 3505 DCA I LOOK 4422 007705 6014 RFC /AND START THE STUPID THING 4423 007706 5747 JMP I TSTART /IT WOULD BE USEFUL TO JUMP TO READY HERE 4424 4425 007707 6002 LISTN, IOF 4426 007710 4206 JMS PUNCH 4427 007711 7410 SKP /SKP CLA = FOR PTP: PRESENT - SEE BEGO11 4428 /O FOR NO PTP: 4429 007712 5301 JMP ERRNNN / ALREADY ASSIGNED 4430 007713 1201 TAD RCHK 4431 007714 1505 TAD I LOOK 4432 007715 3505 DCA I LOOK /GIVE IT TO HIM FOR A WHILE 4433 007716 6001 ION 4434 007717 5750 JMP I TLIST 4435 007720 3037 INPUTX, DCA DATAPC 4436 007721 1111 TAD CCR /AUTO-RESTORE 4437 007722 3043 DCA DATAPC+4 4438 007723 4563 COMMAN 4439 007724 1126 TAD M6 4440 007725 7510 SPA 4441 007726 5751 JMP I TFLOTRX /NOT IN STRAIGHT COMMANDS- TRY 4442 /RUN-TIME COMMAND 4443 007727 1352 TAD TCOMGO1 4444 007730 3074 DCA T1 4445 007731 6211 CDF SWAP 4446 007732 1474 TAD I T1 /GET ADDRESS OF COMMAND 4447 007733 6201 CDF 4448 007734 3074 DCA T1 4449 007735 5474 JMP I T1 /AND GO TO IT... 4450 007736 0002 IF4, 2 /< 4451 007737 0006 6 /> 4452 007740 0012 12 /= 4453 007741 0005 5 /<= 4454 007742 0011 11 />= 4455 007743 0004 4 /<> 4456 4457 007744 2541 TRUN9, RUN9 4458 007745 6502 TDIF1, -LIST16 4459 007746 0004 TDIF2, -LIST15+LIST16 4460 007747 0473 TSTART, START 4461 007750 2246 TLIST, LIST 4462 007751 2545 TFLOTRX,FLOTRX 4463 007752 1542 TCOMGO1,COMGO1 4464 4465 007753 2045 TEN, 2045 4466 007754 0000 0 4467 007755 0000 0 4468 FIELD 1 4469 /PRECEDING THIS CODE IN FIELD 1 IS THE FOLLOWING: 4470 / CLA /ENTRY FROM INTERRUPT ROUTINE 4471 / 6XX5 /UNUSED CODES 4472 / . 4473 / . 4474 / . 4475 / JMP KL8INT 4476 / L0001 /ENTRY FROM SCHEDULER 4477 / 6XX6 /USED CODES 4478 / . 4479 / . 4480 / . 4481 / 4482 4483 *7356 4484 KL8LOD, /LOADED HERE INITIALLY 4485 4486 NOPUNCH 4487 *7756 4488 ENPUNCH 4489 4490 017756 7701 KL8FIX, CLA MQA 4491 017757 7001 IAC 4492 017760 7421 MQL 4493 017761 6203 CIF CDF /DISABLE INTRPT TEMPRARILY 4494 017762 1776 TAD I PLOOKS 4495 017763 3777 DCA I PLOOK 4496 017764 5765 JMP I .+1 /INTERRUPT ON AGAIN AFTER THIS JUMP 4497 017765 0213 KL8LF0 /BACK TO SCHEDULER 4498 4499 017766 1774 KL8INT, TAD I PSAVLK /RESTORE LINK 4500 017767 7104 CLL RAL 4501 017770 1775 TAD I PSAVAC /RESTORE AC 4502 017771 6203 CIF CDF 4503 017772 5773 JMP I .+1 4504 017773 5346 KL8LFL /BACK TO INTERRUPT ROUTINE 4505 4506 017774 5354 PSAVLK, SAVLK 4507 017775 5353 PSAVAC, SAVAC 4508 017776 0106 PLOOKS, LOOKST 4509 017777 0105 PLOOK, LOOK 4510 4511 PAGE 4512 IFNZRO CONFIG < 4513 NOPUNCH 4514 XLIST > 4515 FIELD 1 4516 4517 *17 4518 010017 0000 FXR2, 0000 4519 010020 0000 OPSIGN, 0 /OPERAND SIGN 4520 010021 0000 OPEXP, 0 /OPERAND EXPONENT 4521 010022 0000 OP3, 0 /OPERAND 4522 010023 0000 OP2, 0 4523 010024 0000 OP1, 0 4524 010025 0000 OVER, 0 /OVERFLOW INTO HERE 4525 010026 0000 FFLAG, 0 /=-1 IF OP NOT 0 4526 OERROR=JMS . 4527 010027 0000 XERR, 0000 4528 010030 7200 CLA 4529 010031 1027 TAD XERR 4530 010032 6203 CDI0, CIF CDF 4531 010033 3435 DCA I .+2 4532 010034 5436 JMP I .+2 4533 010035 3532 XERROR 4534 010036 3533 XERROR+1 4535 4536 010037 0600 OFNORM, FNORM 4537 010040 0007 O7, 7 4538 010041 0200 O200, 200 4539 010042 0177 O177, 177 4540 010043 0377 O377, 377 4541 010044 1600 O1600, 1600 4542 010045 7774 OM4, -4 4543 010046 7770 OM10, -10 4544 010047 0000 OCNTR, 0000 4545 010050 0460 OOCTAD, OCTADD 4546 010051 0000 MULTMP, 0000 4547 010052 0203 OFLOOP, FLOOP 4548 010053 0066 OACSGN, ACSIGN 4549 010054 0067 OACEXP, ACEXP 4550 010055 0070 OAC3, AC3 4551 010056 0071 OAC2, AC2 4552 010057 0072 OAC1, AC1 4553 010060 6725 ODECXP, DECEXP 4554 4555 4556 *120 4557 010120 1136 F1CAL1, TAD AADR 4558 010121 3027 DCA XERR 4559 010122 1427 TAD I XERR 4560 010123 3017 DCA FXR2 4561 010124 1137 TAD ARET 4562 010125 3417 DCA I FXR2 4563 010126 6201 CDF 4564 010127 5417 JMP I FXR2 4565 4566 010130 6203 F1RET, CIF CDF 4567 010131 3047 DCA OCNTR 4568 010132 1540 TAD I F0RET 4569 010133 3027 DCA XERR 4570 010134 1047 TAD OCNTR 4571 010135 5427 JMP I XERR 4572 4573 010136 0144 AADR, ADRLST+3 4574 010137 0130 ARET, F1RET 4575 010140 5410 F0RET, F1CALL 4576 4577 010141 0751 ADRLST, MULT10-1 4578 010142 0646 AL1-1 4579 010143 1642 FIXUP-1 4580 010144 0727 NFIX-1 4581 010145 0343 HIGHWD-1 4582 4583 4584 010146 4557 DECON1, JMS I AMULT 4585 010147 3024 DCA OP1 4586 010150 3023 DCA OP2 4587 010151 1560 TAD I ASORT 4588 010152 3022 DCA OP3 4589 010153 4561 JMS I AOADD 4590 010154 6202 CIF 4591 010155 5556 JMP I .+1 4592 010156 6331 DECON2 4593 4594 010157 0752 AMULT, MULT10 4595 010160 0073 ASORT, SORTCN 4596 010161 0442 AOADD, OADD 4597 4598 010162 7330 FPSUB, L4000 4599 010163 1020 TAD OPSIGN 4600 010164 3020 DCA OPSIGN 4601 010165 4450 FPADD, JMS I OOCTAD 4602 010166 5452 JMP I OFLOOP 4603 4604 010167 5670 QLIS2, QCOMCK-1 /, 4605 010170 5643 QNEXTC-1 /' 4606 010171 5660 QUOCHK-1 /" 4607 010172 5674 QDONE-1 /CR 4608 010173 5643 QLIS1, QNEXTC-1 /\ , 4609 010174 5643 QNEXTC-1 /' 4610 010175 5643 QNEXTC-1 /" 4611 010176 5674 QDONE-1 /CR 4612 010177 5643 QNEXTC-1 /\ 4613 4614 /RUNS IN DATA FIELD 0!! ALWAYS!!! 4615 *200 4616 010200 0000 FPNT, 0 /ENTRY POINT 4617 010201 7600 C7600, 7600 4618 010202 5205 JMP .+3 4619 010203 4437 FLOOP, JMS I OFNORM /NORMALIZE RESULT 4620 010204 2200 ISZ FPNT /GET NEXT 4621 010205 6202 CIF /CHANGE TO CALLER'S FIELD 4622 010206 1600 TAD I FPNT /GET OPERATION 4623 010207 7450 SNA 4624 010210 5600 JMP I FPNT /0000 -> EXIT 4625 010211 6212 CIF SWAP 4626 010212 7006 RTL 4627 010213 7006 RTL 4628 010214 0040 AND O7 4629 010215 3270 DCA FGOTO /SAVE OP 4630 010216 1600 TAD I FPNT 4631 010217 0041 AND O200 4632 010220 7650 SNA CLA 4633 010221 5224 JMP FPNT1 /PAGE ZERO MODE 4634 010222 1200 TAD FPNT 4635 010223 0201 AND C7600 /GET PAGE 4636 010224 3301 FPNT1, DCA FADDR 4637 010225 1600 TAD I FPNT 4638 010226 0042 AND O177 4639 010227 1301 TAD FADDR 4640 010230 3301 DCA FADDR /GET ADDRESS 4641 010231 7420 SNL 4642 010232 5235 JMP FPNT2 4643 010233 1701 TAD I FADDR /DO INDIRECT 4644 010234 3301 DCA FADDR 4645 010235 7330 FPNT2, L4000 4646 010236 0701 AND I FADDR 4647 010237 3020 DCA OPSIGN /SET SIGN 4648 010240 1701 TAD I FADDR 4649 010241 7640 SZA CLA 4650 010242 7340 L7777 4651 010243 3026 DCA FFLAG /=1 IF NOT 0 4652 010244 1701 TAD I FADDR 4653 010245 7012 RTR 4654 010246 7010 RAR 4655 010247 0043 AND O377 4656 010250 3021 DCA OPEXP /SET EXP 4657 010251 1701 TAD I FADDR 4658 010252 0040 AND O7 4659 010253 3024 DCA OP1 /SET WORDS 4660 010254 2301 ISZ FADDR 4661 010255 1701 TAD I FADDR 4662 010256 3023 DCA OP2 4663 010257 2301 ISZ FADDR 4664 010260 1701 TAD I FADDR 4665 010261 3022 DCA OP3 4666 010262 7346 L7775 4667 010263 1301 TAD FADDR 4668 010264 3017 DCA FXR2 4669 010265 1270 FPNT3, TAD FGOTO 4670 010266 1377 TAD (JMP I FJUMP 4671 010267 3270 DCA .+1 /FIND OP ADDRESS 4672 010270 7402 FGOTO, HLT 4673 4674 010271 0331 FJUMP, FPGET 4675 010272 0165 FPADD 4676 010273 0162 FPSUB 4677 010274 0531 FPMUL 4678 010275 0662 FPDIV 4679 010276 0302 FPJMP 4680 010277 0306 FPCMP 4681 010300 0322 FPPUT 4682 4683 010301 0000 FADDR, 0 4684 010302 7344 FPJMP, L7776 /FLOATING JUMP 4685 010303 1301 TAD FADDR 4686 010304 3200 DCA FPNT 4687 010305 5205 JMP FLOOP+2 4688 4689 010306 1600 FPCMP, TAD I FPNT 4690 010307 7006 RTL 4691 010310 7006 RTL 4692 010311 7730 SZL SPA CLA 4693 010312 5356 JMP FPNT4 /FLOATING COMPARE 4694 010313 1600 TAD I FPNT 4695 010314 1044 TAD O1600 4696 010315 3317 DCA .+2 /SET SKIP WORD 4697 010316 4344 JMS HIGHWD /GET WORD 4698 010317 7402 HLT /SKIP IF FALSE 4699 010320 2200 ISZ FPNT /TRUE => SKIP 4700 010321 5203 JMP FLOOP 4701 4702 010322 4344 FPPUT, JMS HIGHWD 4703 010323 3417 DCA I FXR2 /SET WORD 1 4704 010324 1456 TAD I OAC2 4705 010325 3417 DCA I FXR2 /SET WORD 2 4706 010326 1455 TAD I OAC3 4707 010327 3417 DCA I FXR2 /SET WORD 3 4708 010330 5204 JMP FLOOP+1 4709 4710 010331 1020 FPGET, TAD OPSIGN 4711 010332 3453 DCA I OACSGN /TRANSFER INTO FLAC 4712 010333 1021 TAD OPEXP 4713 010334 3454 DCA I OACEXP 4714 010335 1024 TAD OP1 4715 010336 3457 DCA I OAC1 4716 010337 1023 TAD OP2 4717 010340 3456 DCA I OAC2 4718 010341 1022 TAD OP3 4719 010342 3455 DCA I OAC3 4720 010343 5204 JMP FLOOP+1 4721 4722 010344 0000 HIGHWD, 0 4723 010345 1454 TAD I OACEXP 4724 010346 7104 CLL RAL 4725 010347 7500 SMA 4726 010350 7106 CLL RTL 4727 010351 7530 SPA SZL 4728 010352 4027 ERR040, OERROR /OVERFLOW 4729 010353 1453 TAD I OACSGN 4730 010354 1457 TAD I OAC1 /FORM WORD 4731 010355 5744 JMP I HIGHWD 4732 4733 010356 7330 FPNT4, L4000 4734 010357 1020 TAD OPSIGN 4735 010360 3020 DCA OPSIGN 4736 010361 4450 JMS I OOCTAD 4737 010362 1457 TAD I OAC1 4738 010363 7450 SNA 4739 010364 1456 TAD I OAC2 4740 010365 7640 SZA CLA 4741 010366 5203 JMP FLOOP 4742 010367 1455 TAD I OAC3 4743 010370 0045 AND OM4 4744 010371 7640 SZA CLA 4745 010372 5203 JMP FLOOP 4746 010373 5776 JMP I (MULCLR 4747 4748 010376 0571 PAGE 010377 5671 4749 4750 010400 0000 AR1, 0 4751 010401 1457 TAD I OAC1 4752 010402 7110 CLL RAR 4753 010403 3457 DCA I OAC1 4754 010404 1456 TAD I OAC2 4755 010405 7010 RAR 4756 010406 3456 DCA I OAC2 4757 010407 1455 TAD I OAC3 4758 010410 7010 RAR 4759 010411 3455 DCA I OAC3 4760 010412 7010 RAR 4761 010413 3025 DCA OVER 4762 010414 5600 JMP I AR1 4763 4764 010415 0000 OACN, 0 4765 010416 1215 TAD OACN 4766 010417 3222 DCA ACN 4767 010420 1055 TAD OAC3 4768 010421 5225 JMP ACN+3 4769 4770 010422 0000 ACN, 0 4771 010423 6211 CDF SWAP 4772 010424 1377 TAD (OP3 4773 010425 3242 DCA OADD 4774 010426 7346 L7775 4775 010427 3200 DCA AR1 4776 010430 1642 TAD I OADD 4777 010431 7040 CMA 4778 010432 7430 SZL 4779 010433 7101 CLL IAC 4780 010434 3642 DCA I OADD 4781 010435 2242 ISZ OADD 4782 010436 2200 ISZ AR1 4783 010437 5230 JMP .-7 4784 010440 6201 CDF 4785 010441 5622 JMP I ACN 4786 4787 010442 0000 OADD, 0 4788 010443 7100 CLL 4789 010444 1455 TAD I OAC3 4790 010445 1022 TAD OP3 4791 010446 3455 DCA I OAC3 4792 010447 7004 RAL 4793 010450 1456 TAD I OAC2 4794 010451 1023 TAD OP2 4795 010452 3456 DCA I OAC2 4796 010453 7004 RAL 4797 010454 1457 TAD I OAC1 4798 010455 1024 TAD OP1 4799 010456 3457 DCA I OAC1 4800 010457 5642 JMP I OADD 4801 4802 010460 0000 OCTADD, 0 4803 010461 2026 ISZ FFLAG 4804 010462 5660 JMP I OCTADD 4805 010463 1454 TAD I OACEXP 4806 010464 7141 CLL CIA 4807 010465 1021 TAD OPEXP 4808 010466 7430 SZL 4809 010467 5305 JMP BCKWDS 4810 010470 3242 DCA OADD 4811 010471 1024 ALGNLP, TAD OP1 4812 010472 7110 CLL RAR 4813 010473 3024 DCA OP1 4814 010474 1023 TAD OP2 4815 010475 7010 RAR 4816 010476 3023 DCA OP2 4817 010477 1022 TAD OP3 4818 010500 7010 RAR 4819 010501 3022 DCA OP3 4820 010502 2242 ISZ OADD 4821 010503 5271 JMP ALGNLP 4822 010504 5315 JMP SETSGN 4823 4824 010505 7040 BCKWDS, CMA 4825 010506 3242 DCA OADD 4826 010507 1021 TAD OPEXP 4827 010510 3454 DCA I OACEXP 4828 010511 7410 SKP 4829 010512 4200 JMS AR1 4830 010513 2242 ISZ OADD 4831 010514 5312 JMP .-2 4832 010515 1453 SETSGN, TAD I OACSGN 4833 010516 1020 TAD OPSIGN 4834 010517 7710 SPA CLA 4835 010520 4222 JMS ACN 4836 010521 4242 JMS OADD 4837 010522 1457 TAD I OAC1 4838 010523 7700 SMA CLA 4839 010524 5660 JMP I OCTADD 4840 010525 4215 JMS OACN 4841 010526 1020 TAD OPSIGN 4842 010527 3453 DCA I OACSGN 4843 010530 5660 JMP I OCTADD 4844 4845 010531 2026 FPMUL, ISZ FFLAG 4846 010532 5371 JMP MULCLR 4847 010533 1453 TAD I OACSGN 4848 010534 1020 TAD OPSIGN 4849 010535 3453 DCA I OACSGN 4850 010536 1454 TAD I OACEXP 4851 010537 1021 TAD OPEXP 4852 010540 1376 TAD (-201 4853 010541 3454 DCA I OACEXP 4854 010542 1457 TAD I OAC1 4855 010543 3020 DCA OPSIGN 4856 010544 1456 TAD I OAC2 4857 010545 3021 DCA OPEXP 4858 010546 1455 TAD I OAC3 4859 010547 3051 DCA MULTMP 4860 010550 1375 TAD (-33 4861 010551 3047 DCA OCNTR 4862 010552 4200 MPYLUP, JMS AR1 4863 010553 1020 TAD OPSIGN 4864 010554 7010 RAR 4865 010555 3020 DCA OPSIGN 4866 010556 1021 TAD OPEXP 4867 010557 7010 RAR 4868 010560 3021 DCA OPEXP 4869 010561 1051 TAD MULTMP 4870 010562 7010 RAR 4871 010563 3051 DCA MULTMP 4872 010564 7430 SZL 4873 010565 4242 JMS OADD 4874 010566 2047 ISZ OCNTR 4875 010567 5352 JMP MPYLUP 4876 010570 5452 JMP I OFLOOP 4877 4878 010571 3457 MULCLR, DCA I OAC1 4879 010572 4774 JMS I (NFIX 4880 010573 5452 JMP I OFLOOP 4881 4882 010574 0730 PAGE 010575 7745 010576 7577 010577 0022 4883 4884 010600 0000 FNORM, 0 4885 010601 3025 DCA OVER 4886 010602 1457 TAD I OAC1 4887 010603 1046 TAD OM10 4888 010604 7710 SPA CLA 4889 010605 5211 JMP NOTBIG 4890 010606 4777 JMS I (AR1 4891 010607 2454 ISZ I OACEXP 4892 010610 5202 JMP FNORM+2 4893 010611 1025 NOTBIG, TAD OVER 4894 010612 7700 SMA CLA 4895 010613 5223 JMP NOBUMP 4896 010614 2455 ISZ I OAC3 4897 010615 5223 JMP NOBUMP 4898 010616 2456 ISZ I OAC2 4899 010617 5223 JMP NOBUMP 4900 010620 2457 ISZ I OAC1 4901 010621 5201 JMP FNORM+1 4902 4903 010622 7340 L7777 4904 010623 1454 NOBUMP, TAD I OACEXP 4905 010624 7510 SPA 4906 010625 5235 JMP UNDERF /UNDERFLOW OR ZERO 4907 010626 3454 DCA I OACEXP 4908 010627 7346 L7775 4909 010630 1457 TAD I OAC1 4910 010631 7740 SMA SZA CLA 4911 010632 5600 JMP I FNORM 4912 010633 4247 JMS AL1 4913 010634 5222 JMP NOBUMP-1 4914 4915 010635 7770 UNDERF, SPA SNA SZL CLA 4916 010636 1457 TAD I OAC1 4917 010637 7450 SNA 4918 010640 1456 TAD I OAC2 4919 010641 7450 SNA 4920 010642 1455 TAD I OAC3 4921 010643 7640 SZA CLA 4922 010644 4027 ERR050, OERROR /UNDERFLOW 4923 010645 4330 JMS NFIX 4924 010646 5600 JMP I FNORM 4925 4926 010647 0000 AL1, 0 4927 010650 1455 TAD I OAC3 4928 010651 7104 CLL RAL 4929 010652 3455 DCA I OAC3 4930 010653 1456 TAD I OAC2 4931 010654 7004 RAL 4932 010655 3456 DCA I OAC2 4933 010656 1457 TAD I OAC1 4934 010657 7004 RAL 4935 010660 3457 DCA I OAC1 4936 010661 5647 JMP I AL1 4937 4938 010662 2026 FPDIV, ISZ FFLAG 4939 010663 4027 ERR030, OERROR 4940 010664 1453 TAD I OACSGN 4941 010665 1020 TAD OPSIGN 4942 010666 3453 DCA I OACSGN 4943 010667 1021 TAD OPEXP 4944 010670 7041 CIA 4945 010671 1454 TAD I OACEXP 4946 010672 1376 TAD (177 4947 010673 3454 DCA I OACEXP 4948 010674 3047 DCA OCNTR 4949 010675 1375 TAD (-35 4950 010676 3200 DCA FNORM 4951 010677 7330 DIVLP, L4000 4952 010700 0024 AND OP1 4953 010701 1457 TAD I OAC1 4954 010702 7700 SMA CLA 4955 010703 4774 JMS I (ACN 4956 010704 4773 JMS I (OADD 4957 010705 1047 TAD OCNTR 4958 010706 7004 RAL 4959 010707 3047 DCA OCNTR 4960 010710 1021 TAD OPEXP 4961 010711 7004 RAL 4962 010712 3021 DCA OPEXP 4963 010713 1020 TAD OPSIGN 4964 010714 7004 RAL 4965 010715 3020 DCA OPSIGN 4966 010716 4247 JMS AL1 4967 010717 2200 ISZ FNORM 4968 010720 5277 JMP DIVLP 4969 010721 1020 TAD OPSIGN 4970 010722 3457 DCA I OAC1 4971 010723 1021 TAD OPEXP 4972 010724 3456 DCA I OAC2 4973 010725 1047 TAD OCNTR 4974 010726 3455 DCA I OAC3 4975 010727 5772 JMP I (FLOOP 4976 4977 010730 0000 NFIX, 0 4978 010731 1457 TAD I OAC1 4979 010732 7650 SNA CLA 4980 010733 5343 JMP ZFIXEX 4981 010734 1454 FIXLUP, TAD I OACEXP 4982 010735 1371 TAD (-233 4983 010736 7700 SMA CLA 4984 010737 5350 JMP FIXEXT 4985 010740 4777 JMS I (AR1 4986 010741 2454 ISZ I OACEXP 4987 010742 5334 JMP FIXLUP 4988 010743 3454 ZFIXEX, DCA I OACEXP 4989 010744 3453 DCA I OACSGN 4990 010745 3457 DCA I OAC1 4991 010746 3456 DCA I OAC2 4992 010747 3455 DCA I OAC3 4993 010750 1455 FIXEXT, TAD I OAC3 4994 010751 5730 JMP I NFIX 4995 4996 010752 0000 MULT10, 0 4997 010753 4247 JMS AL1 4998 010754 1455 TAD I OAC3 4999 010755 3022 DCA OP3 5000 010756 1456 TAD I OAC2 5001 010757 3023 DCA OP2 5002 010760 1457 TAD I OAC1 5003 010761 3024 DCA OP1 5004 010762 4247 JMS AL1 5005 010763 4247 JMS AL1 5006 010764 4773 JMS I (OADD 5007 010765 5752 JMP I MULT10 5008 010771 7545 PAGE 010772 0203 010773 0442 010774 0422 010775 7743 010776 0177 010777 0400 5009 STMV, 5010 5011 /USER FIELD DEFINITIONS 5012 5013 011000 7745 7745 /CR,E 5014 011001 6262 6262 /RR 5015 011002 5762 5762 /OR 5016 011003 5156 5156 /IN 5017 011004 7762 7762 /CR,R 5018 011005 4541 4541 /EA 5019 011006 4471 4471 /DY 5020 011007 7777 7777 /CR,CR 5021 011010 4445 4445 /DE 5022 011011 5445 5445 /LE 5023 011012 6445 6445 /TE 5024 011013 4477 4477 /D,CR 5025 011014 6750 6750 /WH 5026 011015 4164 4164 /AT 5027 011016 3777 3777 /?,CR 5028 011017 7763 7763 /CR,S 5029 011020 6457 6457 /TO 5030 011021 6077 6077 /P,CR 5031 CONLEN=.-STMV 5032 5033 5034 011022 6630 LINPUT 5035 011023 6357 RANDOM 5036 011024 1607 END 5037 011025 4267 ON 5038 011026 0462 READY /STOP 5039 011027 5565 COMGOL, RESTOR 5040 011030 1114 READ 5041 011031 2451 RETURN 5042 011032 4254 GOSUB 5043 011033 1416 FOR 5044 011034 2454 XPOPJ /DEF 5045 011035 2454 XPOPJ /DIM AND REM 5046 011036 1257 GOTO 5047 011037 1177 IF 5048 011040 0775 INPUT 5049 011041 5471 PRINT 5050 011042 2454 XPOPJ /DATA 5051 011043 1417 LET 5052 011044 2374 NEXT 5053 011045 1564 UNKWN 5054 5055 011046 2022 LIST7, 2022 5056 011047 1051 LIST70 5057 011050 2021 -"O+337^100-"N+337 5058 5059 011051 2134 LIST70, 2134 5060 011052 1055 LIST71 5061 011053 1413 -"S+337^100-"T+337 5062 011054 2017 -"O+337^100-"P+337 5063 5064 011055 1733 LIST71, 1733 5065 011056 1061 LIST72 5066 011057 3221 -"E+337^100-"N+337 5067 011060 3300 -"D+337^100 5068 5069 011061 2237 LIST72, 2237 5070 011062 1067 LIST73 5071 011063 1532 -"R+337^100-"E+337 5072 011064 1413 -"S+337^100-"T+337 5073 011065 2015 -"O+337^100-"R+337 5074 011066 3200 -"E+337^100 5075 5076 011067 2334 LIST73, 2334 5077 011070 1073 LIST74 5078 011071 1532 -"R+337^100-"E+337 5079 011072 3633 -"A+337^100-"D+337 5080 5081 011073 2436 LIST74, 2436 5082 011074 1100 LIST75 5083 011075 1532 -"R+337^100-"E+337 5084 011076 1312 -"T+337^100-"U+337 5085 011077 1521 -"R+337^100-"N+337 5086 5087 011100 2535 LIST75, 2535 5088 011101 1105 LIST76 5089 011102 3020 -"G+337^100-"O+337 5090 011103 1412 -"S+337^100-"U+337 5091 011104 3500 -"B+337^100 5092 5093 011105 2633 LIST76, 2633 5094 011106 1111 LIST77 5095 011107 3120 -"F+337^100-"O+337 5096 011110 1500 -"R+337^100 5097 5098 011111 2733 LIST77, 2733 5099 011112 1115 LIST78 5100 011113 3332 -"D+337^100-"E+337 5101 011114 3100 -"F+337^100 5102 5103 011115 3033 LIST78, 3033 5104 011116 1121 LIST79 5105 011117 3326 -"D+337^100-"I+337 5106 011120 2200 -"M+337^100 5107 5108 011121 3033 LIST79, 3033 5109 011122 1125 LIST80 5110 011123 1532 -"R+337^100-"E+337 5111 011124 2200 -"M+337^100 5112 5113 011125 1636 LIST80, 1636 5114 011126 1132 LIST81 5115 011127 1536 -"R+337^100-"A+337 5116 011130 2133 -"N+337^100-"D+337 5117 011131 2022 -"O+337^100-"M+337 5118 5119 011132 3134 LIST81, 3134 5120 011133 1136 LIST82 5121 011134 3020 -"G+337^100-"O+337 5122 011135 1320 -"T+337^100-"O+337 5123 5124 011136 3222 LIST82, 3222 5125 011137 1141 LIST83 5126 011140 2631 -"I+337^100-"F+337 5127 5128 011141 3335 LIST83, 3335 5129 011142 1146 LIST84 5130 011143 2621 -"I+337^100-"N+337 5131 011144 1712 -"P+337^100-"U+337 5132 011145 1300 -"T+337^100 5133 5134 011146 3435 LIST84, 3435 5135 011147 1153 LIST85 5136 011150 1715 -"P+337^100-"R+337 5137 011151 2621 -"I+337^100-"N+337 5138 011152 1300 -"T+337^100 5139 5140 011153 3534 LIST85, 3534 5141 011154 1157 LIST86 5142 011155 3336 -"D+337^100-"A+337 5143 011156 1336 -"T+337^100-"A+337 5144 5145 011157 3633 LIST86, 3633 5146 011160 1163 LIST87 5147 011161 2332 -"L+337^100-"E+337 5148 011162 1300 -"T+337^100 5149 5150 011163 3734 LIST87, 3734 5151 011164 1167 LIST88 5152 011165 2132 -"N+337^100-"E+337 5153 011166 0713 -"X+337^100-"T+337 5154 5155 011167 4133 LIST88, 4133 5156 011170 1173 LIST89 5157 011171 1336 -"T+337^100-"A+337 5158 011172 3500 -"B+337^100 5159 5160 011173 4234 LIST89, 4234 5161 011174 1177 LIST90 5162 011175 1413 -"S+337^100-"T+337 5163 011176 3217 -"E+337^100-"P+337 5164 5165 011177 4334 LIST90, 4334 5166 011200 1203 LIST91 5167 011201 1327 -"T+337^100-"H+337 5168 011202 3221 -"E+337^100-"N+337 5169 5170 011203 4422 LIST91, 4422 5171 011204 1206 LIST92 5172 011205 1320 -"T+337^100-"O+337 5173 5174 011206 4522 LIST92, 4522 5175 011207 1211 LIST93 5176 011210 3121 -"F+337^100-"N+337 5177 5178 011211 4634 LIST93, 4634 5179 011212 1215 LIST94 5180 011213 2326 -"L+337^100-"I+337 5181 011214 1413 -"S+337^100-"T+337 5182 5183 011215 5033 LIST94, 5033 5184 011216 1221 LIST95 5185 011217 3506 -"B+337^100-"Y+337 5186 011220 3200 -"E+337^100 5187 5188 011221 5033 LIST95, 5033 5189 011222 1225 LIST96 5190 011223 2132 -"N+337^100-"E+337 5191 011224 1000 -"W+337^100 5192 5193 011225 5037 LIST96, 5037 5194 011226 1233 LIST97 5195 011227 1434 -"S+337^100-"C+337 5196 011230 1536 -"R+337^100-"A+337 5197 011231 1334 -"T+337^100-"C+337 5198 011232 2700 -"H+337^100 5199 5200 011233 5136 LIST97, 5136 5201 011234 1240 LIST98 5202 011235 3332 -"D+337^100-"E+337 5203 011236 2332 -"L+337^100-"E+337 5204 011237 1332 -"T+337^100-"E+337 5205 5206 011240 5234 LIST98, 5234 5207 011241 1244 LIST99 5208 011242 3233 -"E+337^100-"D+337 5209 011243 2613 -"I+337^100-"T+337 5210 5211 011244 5333 LIST99, 5333 5212 011245 1250 LIST10 5213 011246 2432 -"K+337^100-"E+337 5214 011247 0600 -"Y+337^100 5215 5216 011250 5434 LIST10, 5434 5217 011251 1254 LIST11 5218 011252 1336 -"T+337^100-"A+337 5219 011253 1732 -"P+337^100-"E+337 5220 5221 011254 5533 LIST11, 5533 5222 011255 1260 LIST12 5223 011256 1512 -"R+337^100-"U+337 5224 011257 2100 -"N+337^100 5225 5226 011260 3011 LIST12, 3011 5227 011261 1263 LIST13 5228 011262 7000 -"'+337^100 5229 5230 011263 4711 LIST13, 4711 5231 011264 1266 LIST14 5232 011265 0000 -"_+337^100 5233 5234 011266 4134 LIST14, 4134 5235 011267 1272 LIST15 5236 011270 3427 -"C+337^100-"H+337 5237 011271 1573 -"R+337^100-"$+337 5238 5239 011272 5433 LIST15, 5433 5240 011273 1276 LIST16 5241 011274 1713 -"P+337^100-"T+337 5242 011275 1500 -"R+337^100 5243 5244 011276 5433 LIST16, 5433 5245 011277 1302 LIST17 5246 011300 1713 -"P+337^100-"T+337 5247 011301 1700 -"P+337^100 5248 5249 011302 1536 LIST17, 1536 5250 011303 0000 A0000, 0000 5251 011304 2326 -"L+337^100-"I+337 5252 011305 2117 -"N+337^100-"P+337 5253 011306 1213 -"U+337^100-"T+337 5254 5255 011307 0000 INTR8A, 0 /AC SAVE 5256 011310 0000 INTR8F, 0 /FLAGS SAVE 5257 5258 011311 6007 INTRRV, CAF /CLEAR ALL ON RECOVERY 5259 011312 6203 AAACDF, CIF CDF 5260 011313 1345 TAD PST2 5261 011314 3354 DCA INTR81 /SECOND SETUP 5262 011315 1746 TAD I PAUSER 5263 011316 6117 MTON 5264 011317 5747 JMP I INTR8T 5265 011320 7200 INTRV2, CLA 5266 011321 1350 TAD RESTR 5267 011322 3354 DCA INTR81 /NORMAL INTERUPT SEQUENCE 5268 011323 1310 TAD INTR8F 5269 011324 7006 RTL 5270 011325 7004 RAL 5271 011326 0352 AND P70 5272 011327 1312 TAD AAACDF 5273 011330 3340 DCA INTR88 5274 011331 1310 TAD INTR8F 5275 011332 0352 AND P70 5276 011333 1374 TAD CCIF 5277 011334 3341 DCA INTR89 5278 011335 1310 TAD INTR8F 5279 011336 7004 RAL 5280 011337 7200 CLA 5281 011340 6201 INTR88, CDF 5282 011341 6202 INTR89, CIF 5283 011342 1307 TAD INTR8A /AND AC 5284 011343 6001 ION 5285 011344 5753 JMP I INTR80 /AND EXIT 5286 5287 011345 5320 PST2, JMP INTRV2 5288 011346 5363 PAUSER, AUSER 5289 011347 5170 INTR8T, INTRPL 5290 011350 3307 RESTR, DCA INTR8A 5291 011351 5311 SET, JMP INTRRV 5292 011352 0070 P70, 70 5293 011353 0000 INTR80, 0 /INTERRUPT LOCATION 5294 5295 011354 3307 INTR81, DCA INTR8A /SAVE AC 5296 011355 6634 6634 /READ CARD READER AND CLEAR FLAG 5297 011356 6674 6674 /AND CARD DONE FLAG 5298 011357 7200 CLA /AND CLEAR THE AC 5299 011360 6102 SPL /POWER FAIL INTERRUPT? 5300 011361 5373 JMP INTR82 /NO 5301 011362 7010 RAR 5302 011363 6234 RIB 5303 011364 3310 DCA INTR8F /AND FLAGS 5304 011365 1703 TAD I A0000 5305 011366 3353 DCA INTR80 /AND LOCATION 5306 011367 3703 DCA I A0000 5307 011370 1351 TAD SET 5308 011371 3354 DCA INTR81 /SET UP FOR RECOVERY 5309 011372 7402 HLT /THEN HALT 5310 011373 1307 INTR82, TAD INTR8A /GET THE AC AGAIN 5311 011374 6202 CCIF, CIF 5312 011375 5776 JMP I .+1 /GO TO REAL INTRRUPT ROUTINE 5313 011376 5203 INTRPT 5314 5315 011377 2230 MODL2, MODF5-1 /CR 5316 011400 2206 MODF2-1 /BELL 5317 011401 2222 MODF4-1 /RUBOUT 5318 011402 2222 MODF4-1 /_ 5319 011403 2213 MODF1 /CHAR 5320 011404 2212 MODF1-1 /FORM 5321 011405 2210 MODF3-1 /LINE FEED 5322 011406 4074 XGETL2, XGET5-1 /CR 5323 011407 4071 XGET4-1 /BELL 5324 011410 4065 XGET3-1 /SPACE 5325 011411 3201 PRNTL6, PRINT8-1 /; 5326 011412 3323 PRINT5-4 /, 5327 011413 3174 PRINT6-4 /' 5328 011414 3202 PRINT8 /" 5329 011415 3174 PRINT6-4 /CR 5330 011416 3174 PRINT6-4 /\ 5331 5332 011417 3323 PRNTL2, PRINT5-4 /, 5333 011420 3177 PRINT6-1 /' 5334 011421 3310 PRINT2-1 /" 5335 011422 3177 PRINT6-1 /CR 5336 011423 3177 PRINT6-1 /\ 5337 011424 3320 PRNTL8, PRINT3-1 /" 5338 011425 3174 PRINT6-4 /CR 5339 011426 3316 PRINT3-3 / \ MUST BE PRINTABLE 5340 011427 2230 MODL1, MODF5-1 /CR 5341 011430 2220 MODF1+5 /BELL 5342 011431 0647 AL1PNT, AL1 /SPACE OUT MODL1 LIST 5343 011432 0442 OADDP, OADD / 5344 011433 2222 MODF4-1 /CHAR 5345 011434 3626 XPAKL2, XPACK2-1 /CR 5346 011435 3627 XPACK3-1 /BELL 5347 011436 3636 XPACK7-1 /RUBOUT 5348 011437 3636 XPACK7-1 /* 5349 011440 3625 XPACK5-1 /@ 5350 011441 7662 FUNL2, -"N+200 /SIN 5351 011442 7655 -"S+200 /COS 5352 011443 7662 -"N+200 /ATN 5353 011444 7660 -"P+200 /EXP 5354 011445 7671 -"G+200 /LOG 5355 011446 7655 -"S+200 /ABS 5356 011447 7656 -"R+200 /SQR 5357 011450 7662 -"N+200 /SGN 5358 011451 7654 -"T+200 /INT 5359 011452 7674 -"D+200 /RND 5360 011453 7650 -"X+200 /FIX 5361 011454 7662 -"N+200 /TAN 5362 011455 7674 -"D+200 /MID 5363 011456 7654 -"T+200 /CAT 5364 011457 7662 -"N+200 /LEN 5365 011460 7674 -"D+200 /MOD 5366 5367 5368 011461 4631 RND1, JMS I AL1PNT 5369 011462 4632 JMS I OADDP 5370 011463 1716 TAD I PFRND 5371 011464 7006 RTL 5372 011465 7006 RTL 5373 011466 7006 RTL 5374 011467 3717 DCA I PFRNX 5375 011470 1717 TAD I PFRNX 5376 011471 7010 RAR 5377 011472 1456 TAD I OAC2 5378 011473 0320 AND RNDM40 5379 011474 3721 DCA I PFRND1 5380 011475 7004 RAL 5381 011476 1457 TAD I OAC1 5382 011477 1717 TAD I PFRNX 5383 011500 3717 DCA I PFRNX 5384 011501 1455 TAD I OAC3 5385 011502 3716 DCA I PFRND 5386 011503 1041 TAD O200 5387 011504 3454 DCA I OACEXP 5388 011505 3453 DCA I OACSGN 5389 011506 1717 TAD I PFRNX 5390 011507 0040 AND O7 5391 011510 3457 DCA I OAC1 5392 011511 1721 TAD I PFRND1 5393 011512 3456 DCA I OAC2 5394 011513 6202 CIF 5395 011514 5715 JMP I .+1 5396 011515 2454 XPOPJ 5397 011516 0065 PFRND, FRNDX+2 5398 011517 0063 PFRNX, FRNDX 5399 011520 7740 RNDM40, -40 5400 011521 0064 PFRND1, FRNDX+1 5401 011522 7062 FUNL3, FSIN 5402 011523 7057 COS 5403 011524 7401 ATN 5404 011525 7200 FEXP 5405 011526 7314 LOG 5406 011527 2372 ABS 5407 011530 7000 SQR 5408 011531 5047 SGN 5409 011532 4336 INT 5410 011533 1777 RND 5411 011534 4350 FFIX 5412 011535 7040 TAN 5413 011536 6000 MID 5414 011537 6103 CAT 5415 011540 6600 LEN 5416 011541 5414 MOD 5417 011542 2246 COMGO1, LIST 5418 011543 0473 START /CR 5419 011544 1600 BYE 5420 011545 2235 DELET 5421 011546 2200 EDIT 5422 011547 7654 KKEY 5423 011550 7653 TAPE 5424 011551 2473 RUN 5425 011552 4365 ERRLST, ERR000 5426 011553 2204 ERR001 5427 011554 1601 ERR002 5428 011555 7666 ERR003 5429 011556 0616 ERR004 5430 5431 011557 7317 ERR010 5432 011560 7007 ERR020 5433 011561 0663 ERR030 5434 011562 0352 ERR040 5435 011563 0644 ERR050 5436 011564 3625 ERR060 5437 011565 0740 ERR070 5438 011566 3447 ERR080 5439 011567 4475 ERR100 5440 011570 2757 ERR110 5441 011571 2660 ERR120 5442 011572 6231 ERR150 5443 011573 6334 ERR160 5444 011574 3051 ERR170 5445 011575 3074 ERR180 5446 011576 3132 ERR200 5447 011577 4772 ERR210 5448 011600 4401 ERR220 5449 011601 4456 ERR130 5450 011602 4542 ERR230 5451 011603 4666 ERR240 5452 011604 4677 ERR250 5453 011605 7650 ERR260 5454 011606 1261 ERR270 5455 011607 5566 ERR280 5456 011610 4256 ERR290 5457 011611 4277 ERR300 5458 011612 0000 0 /ERROR 28 RESERVED FOR FUTURE USE 5459 011613 2453 ERR320 5460 011614 6546 ERR330 5461 011615 3225 ERR340 5462 011616 3310 ERR350 5463 011617 7701 ERRNNN 5464 011620 6340 ERR370 5465 011621 2537 ERR380 5466 011622 1210 ERR390 5467 011623 1237 ERR400 5468 011624 1426 ERR410 5469 011625 1446 ERR420 5470 011626 1551 ERR430 5471 011627 1475 ERR440 5472 011630 1542 ERR450 5473 011631 2400 ERR460 5474 011632 2407 ERR470 5475 011633 1053 ERR490 5476 011634 1111 ERR500 5477 011635 1123 ERR510 5478 011636 4364 ERR520 5479 011637 0000 0 /ERROR 49 RESERVED FOR FUTURE USE 5480 011640 6635 ERR540 5481 011641 6006 ERR550 5482 011642 5734 ERR560 5483 ERREND=. 5484 011643 0000 FIXUP, 0 5485 011644 1454 TAD I OACEXP 5486 011645 1247 TAD .+2 5487 011646 3454 DCA I OACEXP 5488 011647 7610 CLA SKP /THIS IS 7610 CR -170 5489 5490 011650 1460 FIXUP4, TAD I ODECXP 5491 011651 3460 DCA I ODECXP 5492 011652 1457 FIXUP1, TAD I OAC1 5493 011653 7006 RTL 5494 011654 7630 SZL CLA 5495 011655 5263 JMP FIXUP2 5496 011656 4777 JMS I (AL1 5497 011657 7340 L7777 5498 011660 1454 TAD I OACEXP 5499 011661 3454 DCA I OACEXP 5500 011662 5252 JMP FIXUP1 5501 5502 011663 1454 FIXUP2, TAD I OACEXP 5503 011664 7540 SMA SZA 5504 011665 5301 JMP FIXUP3 5505 011666 7200 CLA 5506 011667 4776 JMS I (AR1 5507 011670 4776 JMS I (AR1 5508 011671 4776 JMS I (AR1 5509 011672 4776 JMS I (AR1 5510 011673 4775 JMS I (MULT10 5511 011674 1374 TAD (4 5512 011675 1454 TAD I OACEXP 5513 011676 3454 DCA I OACEXP 5514 011677 7340 L7777 5515 011700 5250 JMP FIXUP4 5516 5517 011701 1373 FIXUP3, TAD (-5 5518 011702 7510 SPA 5519 011703 5334 JMP FIXUP5 5520 011704 7300 FIXUP7, CLL CLA 5521 011705 1372 TAD (-40 5522 011706 3047 DCA OCNTR 5523 011707 1457 FIXUP8, TAD I OAC1 5524 011710 1371 TAD (5400 5525 011711 7500 SMA 5526 011712 3457 DCA I OAC1 5527 011713 7200 CLA 5528 011714 1455 TAD I OAC3 5529 011715 7004 RAL 5530 011716 3455 DCA I OAC3 5531 011717 1456 TAD I OAC2 5532 011720 7004 RAL 5533 011721 3456 DCA I OAC2 5534 011722 1457 TAD I OAC1 5535 011723 7004 RAL 5536 011724 3457 DCA I OAC1 5537 011725 2047 ISZ OCNTR 5538 011726 5307 JMP FIXUP8 5539 011727 1457 TAD I OAC1 5540 011730 0370 AND (377 5541 011731 3457 DCA I OAC1 5542 011732 7301 L0001 5543 011733 5250 JMP FIXUP4 5544 5545 011734 3047 FIXUP5, DCA OCNTR 5546 011735 7410 SKP 5547 011736 4776 JMS I (AR1 5548 011737 2047 ISZ OCNTR 5549 011740 5336 JMP .-2 5550 011741 1457 TAD I OAC1 5551 011742 1371 TAD (5400 5552 011743 7700 SMA CLA 5553 011744 5304 JMP FIXUP7 5554 011745 7100 CLL 5555 011746 1367 TAD (2166 5556 011747 1455 TAD I OAC3 5557 011750 3455 DCA I OAC3 5558 011751 7430 SZL 5559 011752 2456 ISZ I OAC2 5560 011753 7410 SKP 5561 011754 2457 ISZ I OAC1 5562 011755 1457 TAD I OAC1 5563 011756 1371 TAD (5400 5564 011757 7640 SZA CLA 5565 011760 5643 JMP I FIXUP 5566 5567 011761 1365 TAD F200 5568 011762 3457 DCA I OAC1 5569 011763 3455 DCA I OAC3 5570 011764 2460 ISZ I ODECXP 5571 011765 0200 F200, 0200 5572 011766 5643 JMP I FIXUP 5573 5574 011767 2166 PAGE 011770 0377 011771 5400 011772 7740 011773 7773 011774 0004 011775 0752 011776 0400 011777 0647 5575 ORG=. 5576 IFNZRO CONFIG 5620 /USER DEFINITIONS 5621 5622 LIMIT=7776 /HIGHEST CORE POSITION 5623 SWAPR=ENSWAP-STSWAP+1 /SWAP LENGTH 5624 5625 BUFFER=40 5626 BUFCOM=100 5627 LINE0=162 5628 LINE1=164 5629 TOP=LIMIT 5630 IFNZRO CONFIG < 5631 XLIST 5632 ENPUNCH> 5633 /PAGE ZERO FIELD 1 FOR INITIALIZATION--GETS WIPED OUT LATER 5634 PAGE 0 5635 010000 7000 NOP /FOR CORE DETERMINING 5636 010001 5000 USRPTR, USRLST 5637 010002 0000 CORPTR, 0 5638 010003 0000 USRPT2, 0 5639 010004 0000 CORPT2, 0 5640 010005 0000 BEGUSR, 0 5641 010006 0000 CURFLD, 0 5642 010007 0000 BEGDEV, 0 5643 010010 0000 BEGXR1, 0 5644 010011 0000 BEGXR2, 0 5645 *20 5646 010020 0000 USRCTR, 0 5647 010021 0000 SS, 0 5648 010022 0000 BEGCOR, 0 5649 010023 0000 KLTOP, 0 5650 010024 0000 KLSCH, 0 5651 *2000 5652 5653 012000 5203 BEGIN, JMP .+3 /NORMAL ENTRY 5654 012001 7000 NOP /SO YOU CAN CHAIN TO US 5655 IFNZRO CONFIG < 5656 HLT /NO CONFIG FOR OS/8 5657 > 5658 IFZERO CONFIG < 5659 012002 5777 JMP I (BEGOS8 /OS8 ENTRY POINT 5660 > 5661 IFNZRO FOURTY < 5662 CDF 10 5663 DISKIN, JMP I (E40INT /WRITE IMAGE ON DISK FOR EDU40 SYSTEM 5664 > 5665 012003 6211 BEGMV4, CDF 10 5666 012004 1742 TAD I BEGMV1 /MOVE PAGE 7600 FIELD 0 INTO ITS SPOT 5667 012005 6201 CDF 5668 012006 3743 DCA I BEGMV2 5669 012007 2342 ISZ BEGMV1 5670 012010 2343 ISZ BEGMV2 5671 012011 2344 ISZ BEGMV3 5672 012012 5203 JMP BEGMV4 5673 012013 6201 CDF 5674 IFZERO CONFIG < 5675 012014 1776 TAD I (FLOP 5676 012015 3775 DCA I (OPTABL+5 5677 012016 6211 CDF 10 5678 012017 1740 TAD I BEGIN1 /MAKE SURE THAT NO ERRORS ARE NEG. SO THAT 5679 /THEY DON'T TERMINATE TABLE 5680 5681 012020 7001 IAC 5682 012021 7110 CLL RAR 5683 012022 3740 DCA I BEGIN1 5684 012023 2340 ISZ BEGIN1 5685 012024 2341 ISZ BEGIN2 5686 012025 5217 JMP .-6 > 5687 012026 1374 BEG002, TAD (BEG009-1 5688 012027 3010 DCA BEGXR1 5689 012030 1373 TAD (KL8JM0-1 5690 012031 3011 DCA BEGXR2 5691 012032 4323 JMS BEG008 5692 012033 1372 TAD (KL8JMP-1 5693 012034 3011 DCA BEGXR2 5694 012035 4323 JMS BEG008 5695 012036 6211 CDF 10 5696 012037 6032 KCC 5697 012040 1371 TAD (BEGIOT 5698 012041 3336 DCA BEG012 5699 012042 1370 TAD (-7 5700 012043 3337 DCA BEG013 5701 012044 1367 TAD (120 5702 012045 3736 DCA I BEG012 5703 012046 2336 ISZ BEG012 5704 012047 2337 ISZ BEG013 5705 012050 5244 JMP .-4 5706 012051 4766 JMS I (BEG003 5707 012052 2513 BEGM1 /INIT MESSAGE 5708 012053 4766 BEG006, JMS I (BEG003 5709 012054 2527 BEGM2 /# USER MESSAGE 5710 012055 4765 JMS I (BEG001 5711 012056 1364 TAD (-"8 5712 012057 7540 SMA SZA 5713 012060 5763 JMP I (BEG005 5714 012061 1362 TAD (10 5715 012062 7550 SPA SNA 5716 012063 5763 JMP I (BEG005 5717 012064 7041 CIA 5718 012065 3005 DCA BEGUSR 5719 012066 5761 JMP I (BEGX08 5720 012067 6211 CORDON, CDF 10 5721 012070 1005 TAD BEGUSR 5722 012071 7001 IAC 5723 012072 7650 SNA CLA 5724 012073 5276 JMP BEG010 5725 012074 4760 JMS I (BEG01Q 5726 012075 2637 BEGM4 /DC02? 5727 012076 7340 BEG010, L7777 /NO - BEGDEV=-1 5728 012077 3007 DCA BEGDEV 5729 012100 1007 TAD BEGDEV 5730 012101 7650 SNA CLA 5731 012102 5757 JMP I (BEG11A 5732 012103 1371 TAD (BEGIOT 5733 012104 3336 DCA BEG012 5734 012105 1005 TAD BEGUSR 5735 012106 3337 DCA BEG013 5736 012107 1356 TAD (410 5737 012110 3335 DCA BEG12A 5738 012111 2337 BEG14B, ISZ BEG013 5739 012112 5314 JMP BEG14A 5740 012113 5755 JMP I (BEG015 5741 5742 012114 1335 BEG14A, TAD BEG12A 5743 012115 3736 DCA I BEG012 5744 012116 2336 ISZ BEG012 5745 012117 1335 TAD BEG12A 5746 012120 1354 TAD (20 5747 012121 3335 DCA BEG12A 5748 012122 5311 JMP BEG14B 5749 5750 012123 0000 BEG008, 0 /UNPATCH SCHEDULER AND INTERRUPT ROUTINE 5751 012124 7346 L7775 / IN CASE WE COME HERE FORM A ^C 5752 012125 3337 DCA BEG013 5753 012126 6211 CDF 10 5754 012127 1410 TAD I BEGXR1 5755 012130 6201 CDF 5756 012131 3411 DCA I BEGXR2 5757 012132 2337 ISZ BEG013 5758 012133 5326 JMP .-5 5759 012134 5723 JMP I BEG008 5760 5761 012135 0400 BEG12A, 400 5762 012136 0000 BEG012, 0 5763 012137 0000 BEG013, 0 5764 012140 1552 BEGIN1, ERRLST 5765 012141 7707 BEGIN2, ERRLST-ERREND 5766 012142 6600 BEGMV1, P7600 5767 012143 7600 BEGMV2, 7600 5768 012144 7622 BEGMV3, -156 5769 012154 0020 PAGE 012155 2200 012156 0410 012157 3261 012160 2327 012161 2270 012162 0010 012163 2411 012164 7510 012165 2414 012166 2432 012167 0120 012170 7771 012171 7001 012172 5342 012173 0206 012174 2377 012175 4176 012176 2707 012177 6436 5770 5771 012200 1005 BEG015, TAD BEGUSR 5772 012201 7001 IAC 5773 012202 7650 SNA CLA 5774 012203 5777 JMP I (BEG15I /ONE USER 5775 / TAD (BEGM78-1 /*REMOTE* 5776 / JMS I (BEGMFX /SEE BEG151 5777 012204 4327 JMS BEG01Q 5778 012205 2672 BEGM7 /STANDARD? 5779 012206 7410 SKP 5780 012207 5777 JMP I (BEG15I /MULTIPLE USER = STANDARD 5781 012210 1005 BEG15A, TAD BEGUSR 5782 012211 3232 DCA BEG15B 5783 012212 1376 TAD (BEGIOT 5784 012213 3231 DCA BEG15C 5785 012214 1375 TAD (4361 /TEXT "#1" 5786 012215 3774 DCA I (BEGM5A 5787 012216 2232 BEG15D, ISZ BEG15B 5788 012217 7410 SKP 5789 012220 5777 JMP I (BEG15H 5790 012221 4233 JMS BEG014 5791 012222 2655 BEGM5 5792 012223 1021 TAD SS 5793 012224 1373 TAD (10 5794 012225 3631 DCA I BEG15C 5795 012226 2231 ISZ BEG15C 5796 012227 2774 ISZ I (BEGM5A 5797 012230 5216 JMP BEG15D 5798 5799 012231 0000 BEG15C, 0 5800 012232 0000 BEG15B, 0 5801 5802 012233 0000 BEG014, 0 5803 012234 1633 TAD I BEG014 5804 012235 2233 ISZ BEG014 5805 012236 3240 DCA .+2 5806 012237 4772 JMS I (BEG003 5807 012240 0000 0 5808 012241 4771 JMS I (BEG001 5809 012242 1370 TAD (-"7 5810 012243 7540 SMA SZA 5811 012244 5767 JMP I (BEG016 5812 012245 1366 TAD (7 5813 012246 7510 SPA 5814 012247 5767 JMP I (BEG016 5815 012250 7106 CLL RTL 5816 012251 7006 RTL 5817 012252 7006 RTL 5818 012253 3021 DCA SS 5819 012254 4771 JMS I (BEG001 5820 012255 1370 TAD (-"7 5821 012256 7540 SMA SZA 5822 012257 5767 JMP I (BEG016 5823 012260 1366 TAD (7 5824 012261 7510 SPA 5825 012262 5767 JMP I (BEG016 5826 012263 7106 CLL RTL 5827 012264 7004 RAL 5828 012265 1021 TAD SS 5829 012266 3021 DCA SS 5830 012267 5633 JMP I BEG014 5831 /FIGURE OUT HIGHEST CORE FIELD FOR HIM 5832 012270 7301 BEGX08, L0001 5833 012271 3022 DCA BEGCOR /FIELD 1 TOP TO START WITH 5834 012272 1365 TAD (6221 5835 012273 3302 DCA BEGCHK 5836 012274 1305 TAD CNOP 5837 012275 6201 CDF 5838 012276 3764 DCA I (0 5839 012277 6211 CDF 10 5840 012300 1305 TAD CNOP 5841 012301 3764 DCA I (0 5842 012302 0000 BEGCHK, 0 5843 012303 1363 TAD (1000 5844 012304 3764 DCA I (0 5845 012305 7000 CNOP, NOP 5846 012306 1764 TAD I (0 5847 012307 7410 SKP /PDP-8 NXM BUG 5848 012310 7402 HLT /THIS SHOULD HAUL DOWN A PDP-8 5849 012311 6211 CDF 10 /DOUBLE CHECK FOR PDP8/L 5850 012312 1764 TAD I (0 5851 012313 7640 SZA CLA 5852 012314 5762 JMP I (CORDON /NO MORE CORE 5853 012315 1363 TAD (1000 5854 012316 6201 CDF 5855 012317 1764 TAD I (0 5856 012320 7640 SZA CLA 5857 012321 5762 JMP I (CORDON /NO MORE CORE-PROBABLY A PDP-8/L 5858 012322 2022 ISZ BEGCOR /THIS FIELD WAS SUCCESSFUL 5859 012323 1302 TAD BEGCHK 5860 012324 1373 TAD (10 5861 012325 3302 DCA BEGCHK 5862 012326 5302 JMP BEGCHK 5863 /CALLING SEQUENCE 5864 / JMS I (BEG01Q 5865 / MSGADR /ADDRESS OF MESSAGE TO BE PRINTED 5866 / JMP NO /RETURNS HERE IF ANSWER IS "N" 5867 / JMP YES /RETURNS HERE IF ANSWER IS "Y" 5868 012327 0000 BEG01Q, 0 /ASK QUESTION - GET ANSWER 5869 012330 1727 TAD I BEG01Q /SKIP IF YES, NOT IF NO 5870 012331 2327 ISZ BEG01Q /OTHERWISE GIVE ERROR AND REPEAT QUESTION 5871 012332 3334 DCA .+2 5872 012333 4772 JMS I (BEG003 5873 012334 0000 0 5874 012335 4771 JMS I (BEG001 5875 012336 1361 TAD (-"Y 5876 012337 7450 SNA 5877 012340 5347 JMP BEG10R 5878 012341 1360 TAD ("Y-"N 5879 012342 7650 SNA CLA 5880 012343 5350 JMP BEG10R+1 5881 012344 4772 JMS I (BEG003 5882 012345 2501 BEGME 5883 012346 5333 JMP BEG01Q+4 5884 012347 2327 BEG10R, ISZ BEG01Q 5885 012350 5727 JMP I BEG01Q 5886 5887 012360 0013 PAGE 012361 7447 012362 2067 012363 1000 012364 0000 012365 6221 012366 0007 012367 2406 012370 7511 012371 2414 012372 2432 012373 0010 012374 2662 012375 4361 012376 7001 012377 3200 5888 5889 5890 BEG009, 5891 NOPUNCH 5892 *KL8JM0 5893 ENPUNCH 5894 010207 1106 TAD LOOKST 5895 010210 3105 DCA LOOK 5896 010211 7410 SKP 5897 NOPUNCH 5898 *KL8JMP 5899 ENPUNCH 5900 015343 1354 TAD SAVLK 5901 015344 7104 CLL RAL 5902 015345 1353 TAD SAVAC 5903 NOPUNCH 5904 *BEG009+6 5905 ENPUNCH 5906 5907 012406 4232 BEG016, JMS BEG003 5908 012407 2501 BEGME 5909 012410 5777 JMP I (BEG014+4 5910 5911 012411 4232 BEG005, JMS BEG003 5912 012412 2501 BEGME 5913 012413 5776 JMP I (BEG006 5914 5915 012414 0000 BEG001, 0 5916 012415 6031 KSF 5917 012416 5215 JMP .-1 5918 012417 6036 KRB 5919 012420 1375 TAD (-203 5920 012421 7450 SNA 5921 012422 5774 JMP I (BEG002 5922 012423 1373 TAD (203 5923 012424 6046 TLS 5924 012425 6041 TSF 5925 012426 5225 JMP .-1 5926 012427 0372 AND (177 5927 012430 1371 TAD (200 /FORCE THE PARITY BIT SO WE KNOW WHAT WAS TYPED. 5928 012431 5614 JMP I BEG001 5929 5930 012432 0000 BEG003, 0 5931 012433 7200 CLA 5932 012434 1632 TAD I BEG003 5933 012435 3300 DCA BEG004 5934 012436 2232 ISZ BEG003 5935 012437 1700 TAD I BEG004 5936 012440 7112 CLL RTR 5937 012441 7012 RTR 5938 012442 7012 RTR 5939 012443 4250 JMS BEG03X 5940 012444 1700 TAD I BEG004 5941 012445 4250 JMS BEG03X 5942 012446 2300 ISZ BEG004 5943 012447 5237 JMP BEG003+5 5944 5945 012450 0000 BEG03X, 0 5946 012451 0370 AND (77 5947 012452 7450 SNA 5948 012453 5632 JMP I BEG003 5949 012454 1367 TAD (-37 5950 012455 7450 SNA 5951 012456 5274 JMP CRLF 5952 012457 7510 SPA 5953 012460 1366 TAD (100 5954 012461 1365 TAD (237 5955 012462 4264 JMS TTCHAR 5956 012463 5650 JMP I BEG03X 5957 5958 012464 0000 TTCHAR, 0 5959 012465 6046 TLS 5960 012466 7200 CLA 5961 012467 6041 TSF 5962 012470 5267 JMP .-1 5963 012471 6031 KSF 5964 012472 5664 JMP I TTCHAR 5965 012473 5632 JMP I BEG003 /EXIT ON CHAR. 5966 012474 1364 CRLF, TAD (215 5967 012475 4264 JMS TTCHAR 5968 012476 1363 TAD (212 5969 012477 5262 JMP TTCHAR-2 5970 012500 0000 BEG004, 0 5971 012501 3711 BEGME, TEXT %_INVALID RESPONSE_% 012502 1626 012503 0114 012504 1104 012505 4022 012506 0523 012507 2017 012510 1623 012511 0537 012512 0000 5972 012513 3737 BEGM1, TEXT %__EDUSYSTEM 20 BASIC_% 012514 0504 012515 2523 012516 3123 012517 2405 012520 1540 012521 6260 012522 4040 012523 0201 012524 2311 012525 0337 012526 0000 5973 012527 3716 BEGM2, TEXT %_NUMBER OF USERS (1 TO 8)?% 012530 2515 012531 0205 012532 2240 012533 1706 012534 4025 012535 2305 012536 2223 012537 4050 012540 6140 012541 2417 012542 4070 012543 5177 012544 0000 5974 012563 0212 PAGE 012564 0215 012565 0237 012566 0100 012567 7741 012570 0077 012571 0200 012572 0177 012573 0203 012574 2026 012575 7575 012576 2053 012577 2237 5975 012600 2205 BEGHSS, TEXT %READER (Y OR N)?% 012601 0104 012602 0522 012603 4050 012604 3140 012605 1722 012606 4016 012607 5177 012610 0000 5976 012611 3704 BEGHSR, TEXT %_DO YOU HAVE A HIGH SPEED % 012612 1740 012613 3117 012614 2540 012615 1001 012616 2605 012617 4001 012620 4010 012621 1107 012622 1040 012623 2320 012624 0505 012625 0440 012626 0000 5977 012627 2025 BEGHSP, TEXT %PUNCH (Y OR N)?% 012630 1603 012631 1040 012632 5031 012633 4017 012634 2240 012635 1651 012636 7700 5978 012637 3720 BEGM4, TEXT %_PDP-8/L COMPUTER (Y OR N)?% 012640 0420 012641 5570 012642 5714 012643 4003 012644 1715 012645 2025 012646 2405 012647 2240 012650 5031 012651 4017 012652 2240 012653 1651 012654 7700 5979 012655 3724 BEGM5, TEXT %_TELETYPE #1 DEVICE CODE?% 012656 0514 012657 0524 012660 3120 012661 0540 012662 4361 012663 4004 012664 0526 012665 1103 012666 0540 012667 0317 012670 0405 012671 7700 5980 BEGM5A=BEGM5+5 5981 012672 3723 BEGM7, TEXT %_STANDARD REMOTE TELETYPE CODES (Y OR N)?% 012673 2401 012674 1604 012675 0122 012676 0440 012677 2205 012700 1517 012701 2405 012702 4024 012703 0514 012704 0524 012705 3120 012706 0540 012707 0317 012710 0405 012711 2340 012712 5031 012713 4017 012714 2240 012715 1651 012716 7700 5982 BEGM7A=BEGM7+4 5983 /SEE BEG15I 5984 /BEGM7B, TEXT %D REMOTE% 5985 /*.-1 5986 /BEGM7C, TEXT %D UNUSED% 5987 /*.-1 5988 /BEGM7D, TEXT % _UNUSED% 5989 /*.-1 5990 012717 3706 BEGMFL, TEXT %_FIELD % 012720 1105 012721 1404 012722 4000 5991 012723 3724 BEGMXX, TEXT %_THERE ARE % 012724 1005 012725 2205 012726 4001 012727 2205 012730 4000 5992 012731 4002 BEGMX1, TEXT % BLOCKS LEFT IN THIS FIELD._ YOUR ALLOCATION FOR USER #% 012732 1417 012733 0313 012734 2340 012735 1405 012736 0624 012737 4011 012740 1640 012741 2410 012742 1123 012743 4006 012744 1105 012745 1404 012746 5637 012747 4031 012750 1725 012751 2240 012752 0114 012753 1417 012754 0301 012755 2411 012756 1716 012757 4006 012760 1722 012761 4025 012762 2305 012763 2240 012764 4300 5993 012765 4027 BEGTTI, TEXT % WILL BE HOW MANY BLOCKS?% 012766 1114 012767 1440 012770 0205 012771 4010 012772 1727 012773 4015 012774 0116 012775 3140 012776 0214 012777 1703 013000 1323 013001 7700 5994 013002 3737 BEGM6, TEXT %__END OF DIALOGUE_% 013003 0516 013004 0440 013005 1706 013006 4004 013007 1101 013010 1417 013011 0725 013012 0537 013013 0000 5995 013014 3702 WNGDM, TEXT %_BLOCK SIZES DON'T WORK--HAVE TO START AGAIN__% 013015 1417 013016 0313 013017 4023 013020 1132 013021 0523 013022 4004 013023 1716 013024 4724 013025 4027 013026 1722 013027 1355 013030 5510 013031 0126 013032 0540 013033 2417 013034 4023 013035 2401 013036 2224 013037 4001 013040 0701 013041 1116 013042 3737 013043 0000 5996 013044 3723 BEGMQ, TEXT %_SAME AMOUNT OF STORAGE FOR ALL USERS?% 013045 0115 013046 0540 013047 0115 013050 1725 013051 1624 013052 4017 013053 0640 013054 2324 013055 1722 013056 0107 013057 0540 013060 0617 013061 2240 013062 0114 013063 1440 013064 2523 013065 0522 013066 2377 013067 0000 5997 013070 3711 BEGM6A, TEXT %_IS THE ABOVE CORRECT (Y OR N)?% 013071 2340 013072 2410 013073 0540 013074 0102 013075 1726 013076 0540 013077 0317 013100 2222 013101 0503 013102 2440 013103 5031 013104 4017 013105 2240 013106 1651 013107 7700 5998 013110 4015 BEGM8, TEXT % MORE?% 013111 1722 013112 0577 013113 0000 5999 013114 3701 BEGM9, TEXT %_ANY UNUSED TERMINALS (Y OR N)?% 013115 1631 013116 4025 013117 1625 013120 2305 013121 0440 013122 2405 013123 2215 013124 1116 013125 0114 013126 2340 013127 5031 013130 4017 013131 2240 013132 1651 013133 7700 6000 013134 3704 BEGM10, TEXT %_DEVICE CODE?% 013135 0526 013136 1103 013137 0540 013140 0317 013141 0405 013142 7700 6001 6002 //MOVE IN MIDDLE OF BEGM7 6003 /BEGMFX, 0 6004 / DCA 17 6005 / TAD (BEGH7A-1 6006 / DCA 16 6007 / TAD (-4 6008 / DCA CORPTR 6009 / TAD I 17 6010 / DCA I 16 6011 / ISZ CORPTR 6012 / JMP .-3 6013 / JMP I BEGMFX 6014 PAGE 6015 /COMMENTED MATERIAL WILL GENERATE UNUSED CODES 6016 /BUT GOOD LUCK TRYING TO EXPLAIN TO A USER 6017 /HOW IT WORKS. IT'S SIMPLER TO JUST ASK HIM. 6018 //STANDARD USED CODES 6019 BEG15I, /JMS BEG15C /MOVE IN USED IOT'S 6020 / TAD (BEGM7C-1 /"UNUSED" 6021 / JMS I (BEGMFX 6022 / JMS I (BEG01Q 6023 / BEGM7 /"STANDARD UNUSED TTY CODES?" 6024 / JMP BEG15K /NO = GET CODES FROM TTY 6025 / TAD (6305 /YES = GENERATE THEM FROM 30 THRU 36 6026 / DCA SS 6027 / JMP BEG15L /INSERT IF CODE NOT USED 6028 /BEG15M, TAD SS 6029 / TAD (20 /INCREMENT 6030 / DCA SS 6031 / TAD SS 6032 / TAD (-6605 6033 / SZA CLA /LAST? 6034 / JMP .-7 /NO = LOOP 6035 / JMP BEG011 /DONNE 6036 / 6037 / 6038 //INSERT IF IOT UNUSED 6039 /BEG15L, TAD SS 6040 / CIA 6041 / DCA BEG15G 6042 / TAD BEGUSR 6043 / DCA USRCTR 6044 / TAD CORPT2 6045 / DCA CORPTR 6046 / TAD BEG15G 6047 / TAD I CORPTR 6048 / SNA CLA 6049 / JMP BEG15M 6050 / ISZ CORPTR 6051 / ISZ USRCTR 6052 / JMP .-6 6053 / TAD SS 6054 / JMP BEG15F 6055 / JMP BEG15M 6056 6057 6058 /NON-STANDARD USED CODES 6059 013200 4224 BEG15H, JMS BEG15G /MOVE IN USED IOT'S 6060 013201 4777 JMS I (BEG01Q 6061 013202 3114 BEGM9 /"ANY UNUSED TERMINALS" 6062 013203 5257 JMP BEG011 /NO = DUN 6063 013204 5210 JMP .+4 6064 013205 4777 BEG15K, JMS I (BEG01Q 6065 013206 3110 BEGM8 /"MORE?" 6066 013207 5257 JMP BEG011 /NO = KAPUT! 6067 013210 4776 JMS I (BEG014 6068 013211 3134 BEGM10 /"DEVICE CODE?" 6069 013212 1021 TAD SS 6070 013213 1375 TAD (6005 6071 013214 4216 JMS BEG15F /INSERT IN PATCH 6072 013215 5205 JMP BEG15K 6073 6074 6075 /INSERT WORD INTO PATCH 6076 013216 0000 BEG15F, 0 6077 013217 3423 DCA I KLTOP 6078 013220 7340 L7777 6079 013221 1023 TAD KLTOP 6080 013222 3023 DCA KLTOP 6081 013223 5616 JMP I BEG15F 6082 6083 6084 /MOVE IOT'S FROM BEG10T TO PATCH 6085 013224 0000 BEG15G, 0 6086 013225 7303 CLA CLL IAC BSW /IS IT AN 8E? 6087 013226 1374 TAD (-100 6088 013227 7640 SZA CLA 6089 013230 5773 JMP I (BEG011 6090 013231 1372 TAD (KL8FIX-1 6091 013232 3023 DCA KLTOP 6092 013233 1005 TAD BEGUSR 6093 013234 3020 DCA USRCTR 6094 013235 1371 TAD (BEGIOT-1 6095 013236 3002 DCA CORPTR 6096 013237 1402 TAD I CORPTR 6097 013240 1370 TAD (6005-10 6098 013241 4216 JMS BEG15F 6099 013242 2002 ISZ CORPTR 6100 013243 2020 ISZ USRCTR 6101 013244 5237 JMP .-5 6102 013245 1023 TAD KLTOP 6103 013246 3024 DCA KLSCH /SAVE ENTRY ADDRESS FOR SCHEDULER 6104 013247 7301 L0001 6105 013250 1023 TAD KLTOP 6106 013251 3004 DCA CORPT2 6107 013252 1247 TAD .-3 /INSERT L0001 6108 013253 4216 JMS BEG15F 6109 013254 1367 TAD (KL8INT&177+5200 /INSERT JMP KL8INT 6110 013255 4216 JMS BEG15F 6111 013256 5624 JMP I BEG15G 6112 6113 6114 013257 1366 BEG011, TAD (CLA 6115 013260 3423 DCA I KLTOP 6116 013261 6201 BEG11A, CDF 6117 013262 1365 TAD (SKP CLA 6118 013263 3764 DCA I (LISTN+2 6119 013264 1365 TAD (SKP CLA 6120 013265 3774 DCA I (ERRNNN-1 6121 013266 6211 CDF 10 6122 013267 4763 JMS I (BEG003 6123 013270 2611 BEGHSR 6124 013271 4777 JMS I (BEG01Q 6125 013272 2627 BEGHSP 6126 013273 7410 SKP /NO PUNCH = KILL INST 6127 013274 5300 JMP BEG11B 6128 013275 6201 CDF 6129 013276 3764 DCA I (LISTN+2 /NO PUNCH 6130 013277 6211 CDF 10 6131 013300 4763 BEG11B, JMS I (BEG003 6132 013301 2611 BEGHSR 6133 013302 4777 JMS I (BEG01Q 6134 013303 2600 BEGHSS 6135 013304 7410 SKP /NO READER = KILL INST 6136 013305 5311 JMP BEGCK0 /YES = GO ON 6137 013306 6201 CDF 6138 013307 3774 DCA I (ERRNNN-1 6139 013310 6211 CDF 10 6140 013311 1005 BEGCK0, TAD BEGUSR 6141 013312 7001 IAC 6142 013313 7650 SNA CLA 6143 013314 5762 JMP I (BEGOLD /ONLY 1 USER, ASSUME ANSWER: 6144 013315 4777 JMS I (BEG01Q 6145 013316 3044 BEGMQ /SAME AMT OF STG FOR ALL USRS? 6146 013317 5761 JMP I (BEG500 /NO = GO ASK HIM 6147 013320 5762 JMP I (BEGOLD /YES = ALLOCATE IT FOR HIM 6148 6149 013361 3403 PAGE 013362 5200 013363 2432 013364 7711 013365 7610 013366 7200 013367 5366 013370 5775 013371 7000 013372 7755 013373 3257 013374 7700 013375 6005 013376 2233 013377 2327 6150 LBLK=SS 6151 6152 OLNUM=USRPT2 6153 NUNUM=CORPT2 6154 013400 6211 BEGER0, CDF 10 6155 013401 4777 JMS I (BEG003 6156 013402 3014 WNGDM 6157 013403 6211 BEG500, CDF 10 6158 013404 1005 TAD BEGUSR 6159 013405 3020 DCA USRCTR 6160 013406 1376 TAD (USRLST 6161 013407 3001 DCA USRPTR 6162 013410 1022 TAD BEGCOR 6163 013411 7001 IAC 6164 013412 3006 DCA CURFLD 6165 013413 7340 BEGFLD, L7777 6166 013414 1006 TAD CURFLD 6167 013415 7550 SPA SNA 6168 013416 5200 JMP BEGER0 /EH? 6169 013417 3006 DCA CURFLD 6170 013420 4777 JMS I (BEG003 6171 013421 2717 BEGMFL 6172 013422 1375 TAD (60 6173 013423 1006 TAD CURFLD 6174 013424 6046 TLS 6175 013425 6041 TSF 6176 013426 5225 JMP .-1 6177 013427 7340 L7777 6178 013430 1006 TAD CURFLD 6179 013431 7650 SNA CLA 6180 013432 1374 TAD (-6 /6 'BLOCKS' LESS IN FLD1 6181 013433 1373 TAD (20 /20 LOGICAL BLOCKS IN OTHERS 6182 013434 3021 DCA LBLK 6183 013435 4777 BEGXXX, JMS I (BEG003 6184 013436 2723 BEGMXX 6185 013437 1021 TAD LBLK 6186 013440 4772 JMS I (BEGPRNT 6187 013441 4777 JMS I (BEG003 6188 013442 2731 BEGMX1 6189 013443 4771 JMS I (BEG001 6190 013444 1370 TAD (-"8 6191 013445 7540 SMA SZA 6192 013446 5342 JMP BEGER1 6193 013447 1367 TAD (10 6194 013450 7550 SPA SNA 6195 013451 5342 JMP BEGER1 /BAD USERNO 6196 013452 3401 DCA I USRPTR 6197 013453 1005 TAD BEGUSR 6198 013454 1401 TAD I USRPTR 6199 013455 7740 SMA SZA CLA 6200 013456 5342 JMP BEGER1 /NONEXISTENT USER DUMMY 6201 013457 2001 ISZ USRPTR 6202 013460 1006 TAD CURFLD 6203 013461 3401 DCA I USRPTR 6204 013462 2001 ISZ USRPTR /AND HIS NO. 6205 013463 4777 BEGRE, JMS I (BEG003 6206 013464 2765 BEGTTI 6207 013465 3003 DCA OLNUM /DOUBLE CHECK! 6208 013466 4771 BEGINP, JMS I (BEG001 6209 013467 1366 TAD (-215 6210 013470 7450 SNA 6211 013471 5311 JMP DN 6212 013472 1365 TAD (215-"9 6213 013473 7540 SMA SZA 6214 013474 5337 JMP BEGER2 /UNGOOD NO 6215 013475 1364 TAD (11 6216 013476 7510 SPA 6217 013477 5337 JMP BEGER2 /LIKEWISE 6218 013500 3004 DCA NUNUM 6219 013501 1003 TAD OLNUM /MULT BY 10 DECIM 6220 013502 7104 CLL RAL 6221 013503 7006 RTL 6222 013504 1003 TAD OLNUM 6223 013505 1003 TAD OLNUM 6224 013506 1004 TAD NUNUM /PLUS NEW DIGIT 6225 013507 3003 DCA OLNUM /MAKES NEW NO 6226 013510 5266 JMP BEGINP 6227 013511 1003 DN, TAD OLNUM 6228 013512 7570 SNA SPA SZL 6229 013513 5337 JMP BEGER2 /JUNKY NO 6230 013514 7041 CIA 6231 013515 1021 TAD LBLK 6232 013516 7510 SPA 6233 013517 5200 JMP BEGER0 /TOO MUCH ASKED FOR 6234 013520 3021 DCA LBLK /NEW AMOUNT REMAINING 6235 013521 1003 TAD OLNUM 6236 013522 2020 ISZ USRCTR 6237 013523 7410 SKP 6238 013524 5345 JMP BEGR2 6239 013525 3401 DCA I USRPTR 6240 013526 2001 ISZ USRPTR 6241 013527 1021 TAD LBLK 6242 013530 7640 SZA CLA /MORE TO COME IN THIS FIELD? 6243 013531 5235 JMP BEGXXX /SURE IS 6244 013532 7340 L7777 6245 013533 1006 TAD CURFLD 6246 013534 7710 SPA CLA 6247 013535 5200 JMP BEGER0 6248 013536 5213 JMP BEGFLD /MORE FIELDS TO COME 6249 013537 4777 BEGER2, JMS I (BEG003 6250 013540 2501 BEGME 6251 013541 5263 JMP BEGRE 6252 013542 4777 BEGER1, JMS I (BEG003 6253 013543 2501 BEGME 6254 013544 5235 JMP BEGXXX 6255 013545 1021 BEGR2, TAD LBLK /EXPAND HIM TO FINISH FIELD 6256 013546 3401 DCA I USRPTR /THERE'S NO REASON TO WASTE CORE 6257 013547 2001 ISZ USRPTR /JUST THINK OF ALL THE PEOPLE WHO GO TO BED HUNGRY FOR IT EVERY NIGHT! 6258 013550 5763 JMP I (BEG540 6259 6260 013563 3600 PAGE 013564 0011 013565 7724 013566 7563 013567 0010 013570 7510 013571 2414 013572 4301 013573 0020 013574 7772 013575 0060 013576 5000 013577 2432 6261 013600 7303 BEG540, CLA CLL IAC BSW 6262 013601 1377 TAD (-100 6263 013602 7640 SZA CLA 6264 013603 5253 JMP BEG550-2 /NOT AN 8/E 6265 013604 1007 TAD BEGDEV 6266 013605 7650 SNA CLA 6267 013606 5254 JMP BEG550-1 /THE FOOL HAS AN 8/E WITH DC02 6268 013607 6201 CDF 6269 013610 1024 TAD KLSCH 6270 013611 3651 DCA I BEGKL5 6271 013612 1023 TAD KLTOP 6272 013613 3652 DCA I BEGKL6 6273 013614 6211 CDF 10 6274 013615 1246 TAD KL8FRST 6275 013616 7640 SZA CLA /FIRST TIME THROUGH 6276 013617 5255 JMP BEG550 /NO 6277 013620 2246 ISZ KL8FRST /SIGNIFY DONE 6278 013621 1644 TAD I BEGKL1 6279 013622 3645 DCA I BEGKL2 6280 013623 2244 ISZ BEGKL1 6281 013624 2245 ISZ BEGKL2 /MOVE PATCH TO PROPER POSITION 6282 013625 5221 JMP .-4 6283 013626 6201 CDF 6284 013627 1376 TAD (CIF SWAP 6285 013630 3647 DCA I BEGKL3 6286 013631 2247 ISZ BEGKL3 6287 013632 1375 TAD (KL8JMP+2&177+5600 6288 013633 3647 DCA I BEGKL3 6289 013634 1376 TAD (CIF SWAP 6290 013635 3650 DCA I BEGKL4 6291 013636 2250 ISZ BEGKL4 6292 013637 1374 TAD (KL8JM0+2&177+5600 6293 013640 3650 DCA I BEGKL4 6294 013641 6211 CDF 10 6295 013642 1023 TAD KLTOP 6296 013643 5254 JMP BEG550-1 /SET TOP OF FIELD 1 6297 013644 7356 BEGKL1, KL8LOD 6298 013645 7756 BEGKL2, KL8FIX 6299 013646 0000 KL8FRST, 0 6300 013647 5343 BEGKL3, KL8JMP 6301 013650 0207 BEGKL4, KL8JM0 6302 013651 0211 BEGKL5, KL8JM0+2 6303 013652 5345 BEGKL6, KL8JMP+2 6304 013653 3773 DCA I (INTRRV 6305 013654 3023 DCA KLTOP 6306 013655 1372 BEG550, TAD (USRLST /NOW WE SORT FOR FIELDS TO MAKE IT EASY 6307 013656 3001 DCA USRPTR 6308 013657 1371 TAD (3 6309 013660 1372 TAD (USRLST 6310 013661 3002 DCA CORPTR 6311 013662 1005 TAD BEGUSR 6312 013663 3020 DCA USRCTR 6313 013664 3021 DCA SS /SORT SWITCH FOR MODIFIED BUBBLE SORT 6314 013665 1001 BEG551, TAD USRPTR 6315 013666 7001 IAC 6316 013667 3003 DCA USRPT2 6317 013670 1002 TAD CORPTR 6318 013671 7001 IAC 6319 013672 3004 DCA CORPT2 6320 013673 2020 ISZ USRCTR 6321 013674 7410 SKP 6322 013675 5327 JMP BEG553 6323 013676 1403 TAD I USRPT2 6324 013677 7041 CIA 6325 013700 1404 TAD I CORPT2 6326 013701 7750 SNA SPA CLA 6327 013702 5320 JMP BEG552 6328 013703 7346 L7775 6329 013704 3021 DCA SS /3 SWAPS 6330 013705 1401 TAD I USRPTR 6331 013706 3000 DCA 0 6332 013707 1402 TAD I CORPTR 6333 013710 3401 DCA I USRPTR 6334 013711 1000 TAD 0 6335 013712 3402 DCA I CORPTR 6336 013713 2001 ISZ USRPTR 6337 013714 2002 ISZ CORPTR 6338 013715 2021 ISZ SS 6339 013716 5305 JMP .-11 6340 013717 2021 ISZ SS /SET TO INDICATE 6341 013720 7326 BEG552, L0002 6342 013721 1003 TAD USRPT2 6343 013722 3001 DCA USRPTR 6344 013723 7326 L0002 6345 013724 1004 TAD CORPT2 6346 013725 3002 DCA CORPTR 6347 013726 5265 JMP BEG551 6348 6349 013727 1021 BEG553, TAD SS 6350 013730 7640 SZA CLA 6351 013731 5255 JMP BEG550 6352 013732 5770 JMP I (BEG600 6353 013770 4000 PAGE 013771 0003 013772 5000 013773 1311 013774 5611 013775 5745 013776 6212 013777 7700 6354 014000 1377 BEG600, TAD (BEGLST 6355 014001 3003 DCA USRPT2 6356 014002 1376 TAD (USRLST 6357 014003 3001 DCA USRPTR 6358 014004 1005 TAD BEGUSR 6359 014005 3020 DCA USRCTR 6360 014006 1005 TAD BEGUSR 6361 014007 3775 DCA I (BEGUS1 6362 014010 1774 TAD I (USRLST+1 6363 014011 3006 BEG610, DCA CURFLD 6364 014012 7340 L7777 6365 014013 1006 TAD CURFLD 6366 014014 7640 SZA CLA 6367 014015 5227 JMP .+12 6368 014016 1023 TAD KLTOP 6369 014017 3314 DCA BEG602 6370 014020 1005 TAD BEGUSR 6371 014021 3021 DCA SS 6372 014022 1373 TAD (ENSWAP-STSWAP+1 6373 014023 2021 ISZ SS 6374 014024 5222 JMP .-2 6375 014025 1372 TAD (ORG 6376 014026 5231 JMP .+3 6377 014027 3314 DCA BEG602 6378 014030 1371 TAD (CONLEN 6379 014031 3313 DCA BEG601 6380 014032 1401 NXUSR, TAD I USRPTR 6381 014033 2001 ISZ USRPTR 6382 014034 3403 DCA I USRPT2 6383 014035 2003 ISZ USRPT2 6384 014036 1401 TAD I USRPTR 6385 014037 7041 CIA 6386 014040 1006 TAD CURFLD 6387 014041 7640 SZA CLA 6388 014042 5315 JMP BEG609 /HE WANTS A NEW FIELD 6389 014043 2001 ISZ USRPTR 6390 014044 1006 TAD CURFLD 6391 014045 7104 CLL RAL 6392 014046 7006 RTL 6393 014047 1370 TAD (6201 /MAKE UP XFIELD OP 6394 014050 3403 DCA I USRPT2 /INTO OUR QUICKIE LIST 6395 014051 2003 ISZ USRPT2 6396 014052 1401 TAD I USRPTR 6397 014053 2001 ISZ USRPTR 6398 014054 7041 CIA 6399 014055 3021 DCA SS 6400 014056 1367 TAD (400 6401 014057 2021 ISZ SS 6402 014060 5256 JMP .-2 /MULT. HIS BLOCKSIZE BY 400 OCTAL FOR CORE SIZE 6403 014061 3021 DCA SS 6404 014062 7344 L7776 6405 014063 1314 TAD BEG602 6406 014064 3403 DCA I USRPT2 6407 014065 2003 ISZ USRPT2 6408 014066 1021 TAD SS 6409 014067 7041 CIA 6410 014070 1314 TAD BEG602 6411 014071 3314 DCA BEG602 6412 014072 1366 TAD (4 6413 014073 1314 TAD BEG602 6414 014074 7710 SPA CLA 6415 014075 5305 JMP BEG608-1 6416 014076 1314 TAD BEG602 6417 014077 7510 SPA 6418 014100 5327 JMP BEG607 6419 014101 7041 CIA 6420 014102 1313 TAD BEG601 6421 014103 7700 SMA CLA 6422 014104 5327 JMP BEG607 6423 014105 1314 TAD BEG602 6424 014106 3403 BEG608, DCA I USRPT2 6425 014107 2003 ISZ USRPT2 6426 014110 2020 ISZ USRCTR 6427 014111 5232 JMP NXUSR 6428 014112 5765 JMP I (BEG700 /WHEW..THAT WENT QUICKLY ANYWAY 6429 014113 0000 BEG601, 0 /BOTTOM 6430 014114 0000 BEG602, 0 /TOP 6431 014115 1001 BEG609, TAD USRPTR 6432 014116 3006 DCA CURFLD /SAVE IT 6433 014117 7340 L7777 6434 014120 1001 TAD USRPTR 6435 014121 3001 DCA USRPTR /TAKE OUT ENTRIES 6436 014122 7340 L7777 6437 014123 1003 TAD USRPT2 6438 014124 3003 DCA USRPT2 6439 014125 1406 TAD I CURFLD /COUNT DOWN FIELD 6440 014126 5211 JMP BEG610 6441 014127 7200 BEG607, CLA 6442 014130 1313 TAD BEG601 6443 014131 5306 JMP BEG608 6444 014165 4200 PAGE 014166 0004 014167 0400 014170 6201 014171 0022 014172 2000 014173 0051 014174 5001 014175 7130 014176 5000 014177 7400 6445 6446 014200 1377 BEG700, TAD (BEGLST 6447 014201 3001 DCA USRPTR 6448 014202 3021 DCA SS 6449 014203 1005 TAD BEGUSR 6450 014204 3020 DCA USRCTR 6451 014205 1376 TAD (4 6452 014206 1377 TAD (BEGLST 6453 014207 3003 DCA USRPT2 6454 014210 2020 BEG7X1, ISZ USRCTR 6455 014211 7410 SKP 6456 014212 5246 JMP BEG703 6457 014213 1401 TAD I USRPTR 6458 014214 7041 CIA 6459 014215 1403 TAD I USRPT2 6460 014216 7450 SNA 6461 014217 5775 JMP I (BEGER0 /MULTIPLE ASSIGNMENTS FOR ONE USER 6462 014220 7700 SMA CLA 6463 014221 5240 JMP BEG702 6464 014222 1374 TAD (-4 6465 014223 3021 DCA SS 6466 014224 1401 BEG701, TAD I USRPTR 6467 014225 3002 DCA CORPTR 6468 014226 1403 TAD I USRPT2 6469 014227 3401 DCA I USRPTR 6470 014230 1002 TAD CORPTR 6471 014231 3403 DCA I USRPT2 6472 014232 2001 ISZ USRPTR 6473 014233 2003 ISZ USRPT2 6474 014234 2021 ISZ SS 6475 014235 5224 JMP BEG701 6476 014236 2021 ISZ SS 6477 014237 1374 TAD (-4 6478 014240 1003 BEG702, TAD USRPT2 6479 014241 3001 DCA USRPTR 6480 014242 1376 TAD (4 6481 014243 1001 TAD USRPTR 6482 014244 3003 DCA USRPT2 6483 014245 5210 JMP BEG7X1 6484 6485 014246 1021 BEG703, TAD SS 6486 014247 7640 SZA CLA 6487 014250 5200 JMP BEG700 /MORE TO COME 6488 014251 1377 TAD (BEGLST 6489 014252 3001 DCA USRPTR /NOW TAKE OUT USER NOS. 6490 014253 1005 TAD BEGUSR 6491 014254 3020 DCA USRCTR 6492 014255 7001 IAC 6493 014256 1377 TAD (BEGLST 6494 014257 3003 DCA USRPT2 6495 014260 7346 BEG704, L7775 6496 014261 3021 DCA SS 6497 014262 1403 TAD I USRPT2 6498 014263 3401 DCA I USRPTR 6499 014264 2001 ISZ USRPTR 6500 014265 2003 ISZ USRPT2 6501 014266 2021 ISZ SS 6502 014267 5262 JMP .-5 6503 014270 2003 ISZ USRPT2 /SKIP OVER USER NO. 6504 014271 2020 ISZ USRCTR 6505 014272 5260 JMP BEG704 6506 014273 4773 JMS I (BEG01Q 6507 014274 3070 BEGM6A 6508 014275 5772 JMP I (BEG002 /OH NO--ALL THIS JUNK FOR NOTHING! 6509 014276 4771 JMS I (BEG003 6510 014277 3002 BEGM6 6511 014300 5770 JMP I (BEG750 6512 6513 014301 0000 BEGPRNT,0 6514 014302 3335 DCA BEG705 6515 014303 1367 TAD (-12 6516 014304 3333 DCA BEG706 6517 014305 3334 DCA BEG707 6518 014306 5311 JMP .+3 6519 014307 2334 ISZ BEG707 6520 014310 3335 DCA BEG705 6521 014311 1335 BEGPR1, TAD BEG705 6522 014312 1333 TAD BEG706 6523 014313 7500 SMA 6524 014314 5307 JMP .-5 6525 014315 7200 CLA 6526 014316 1366 TAD (60 6527 014317 1334 TAD BEG707 6528 014320 6046 TLS 6529 014321 6041 TSF 6530 014322 5321 JMP .-1 6531 014323 6032 KCC 6532 014324 2333 ISZ BEG706 6533 014325 7410 SKP 6534 014326 5701 JMP I BEGPRNT /WAS SECOND TIME THROUGH 6535 014327 7340 L7777 6536 014330 3333 DCA BEG706 6537 014331 3334 DCA BEG707 6538 014332 5311 JMP BEGPR1 6539 014333 0000 BEG706, 0 6540 014334 0000 BEG707, 0 6541 014335 0000 BEG705, 0 6542 BEG604=SS 6543 BEG605=USRPTR 6544 014366 0060 PAGE 014367 7766 014370 4400 014371 2432 014372 2026 014373 2327 014374 7774 014375 3400 014376 0004 014377 7400 6545 6546 014400 6201 BEG750, CDF 6547 014401 1777 TAD I (MLOOKE 6548 014402 1005 TAD BEGUSR 6549 014403 3777 DCA I (MLOOKE /CORRECT FOR NO. OF USERS 6550 014404 1777 TAD I (MLOOKE 6551 014405 7041 CIA 6552 014406 3776 DCA I (LOOK 6553 014407 1005 TAD BEGUSR 6554 014410 3775 DCA I (MUSER /SETUP FOR NO. OF USERS 6555 014411 6211 CDF 10 6556 014412 1374 TAD (BEGIOT-1 6557 014413 3021 DCA BEG604 6558 014414 1373 TAD (INTRPL 6559 014415 3001 DCA BEG605 6560 014416 7340 L7777 6561 014417 1005 TAD BEGUSR 6562 014420 3306 DCA BEG60X 6563 014421 1005 TAD BEGUSR 6564 014422 3020 DCA USRCTR 6565 014423 6211 BEG75Q, CDF 10 6566 014424 1421 TAD I BEG604 6567 014425 2021 ISZ BEG604 6568 014426 6201 CDF 6569 014427 2306 ISZ BEG60X 6570 014430 5234 JMP .+4 6571 014431 7240 CLA CMA 6572 014432 3306 DCA BEG60X 6573 014433 1372 TAD (CLA-6006 6574 014434 1371 TAD (6006 6575 014435 3401 DCA I BEG605 6576 014436 2001 ISZ BEG605 6577 014437 2020 ISZ USRCTR 6578 014440 5223 JMP BEG75Q 6579 014441 6201 CDF 6580 014442 1005 TAD BEGUSR 6581 014443 3021 DCA SS 6582 014444 2021 ISZ SS 6583 014445 7410 SKP 6584 014446 5251 JMP .+3 6585 014447 7130 CLL CML RAR 6586 014450 5244 JMP .-4 6587 014451 1370 TAD (10 /GROUP 1 6588 014452 3767 DCA I (AUSER 6589 014453 6211 CDF 10 6590 014454 1022 BEG75X, TAD BEGCOR 6591 014455 7106 CLL RTL 6592 014456 7004 RAL 6593 014457 1366 TAD (CDF 6594 014460 3276 DCA BEG756 6595 014461 1276 TAD BEG756 6596 014462 1365 TAD (-6211 6597 014463 7650 SNA CLA 6598 014464 5317 JMP BEG760 6599 014465 1364 TAD (-CONLEN 6600 014466 3311 DCA BEG753 6601 014467 1363 TAD (STMV 6602 014470 3307 DCA BEG751 6603 014471 3310 DCA BEG752 6604 014472 6211 BEG755, CDF 10 6605 014473 1707 TAD I BEG751 6606 014474 2307 ISZ BEG751 6607 014475 7000 NOP 6608 014476 6221 BEG756, CDF 20 6609 014477 3710 DCA I BEG752 6610 014500 2310 ISZ BEG752 6611 014501 5312 JMP BEG754 6612 014502 7340 L7777 6613 014503 1022 TAD BEGCOR 6614 014504 3022 DCA BEGCOR 6615 014505 5254 JMP BEG75X 6616 6617 014506 0000 BEG60X, 0 6618 014507 0000 BEG751, 0 6619 014510 0000 BEG752, 0 6620 014511 0000 BEG753, 0 6621 014512 2311 BEG754, ISZ BEG753 6622 014513 5272 JMP BEG755 6623 014514 7340 L7777 6624 014515 3311 DCA BEG753 6625 014516 5276 JMP BEG756 6626 014517 1007 BEG760, TAD BEGDEV 6627 014520 7650 SNA CLA 6628 014521 5762 JMP I (BEG76X 6629 014522 6201 CDF 6630 014523 3761 DCA I (XOUTL6+3 6631 014524 3760 DCA I (XOUTL6-3 6632 014525 3757 DCA I (INTRP2-2 6633 014526 3756 DCA I (INTRP2+4 6634 014527 3755 DCA I (INTRP5+1 6635 014530 6211 CDF 10 6636 014531 3754 DCA I (INTRV2-2 6637 014532 5753 JMP I (BEG80X 6638 014553 4613 PAGE 014554 1316 014555 5313 014556 5272 014557 5264 014560 3432 014561 3440 014562 4600 014563 1000 014564 7756 014565 1567 014566 6201 014567 5363 014570 0010 014571 6006 014572 1172 014573 5170 014574 7000 014575 5362 014576 0105 014577 0230 6639 014600 6211 BEG76X, CDF 10 6640 014601 1377 TAD (TLS 6641 014602 3776 DCA I (AAACDF+1 6642 014603 3775 DCA I (AAACDF+2 6643 014604 1374 TAD (MTLS 6644 014605 3773 DCA I (INTRV2-1 6645 014606 1372 TAD (17 6646 014607 6117 MTON /DESELECT ALL TTY'S 6647 014610 7301 L0001 6648 014611 6115 MINT 6649 014612 7300 CLA CLL 6650 014613 6211 BEG80X, CDF 10 6651 014614 1023 TAD KLTOP 6652 014615 3771 DCA I (KLTOP2 6653 014616 5770 JMP I (BEG800 6654 6655 014770 7010 PAGE 014771 7202 014772 0017 014773 1317 014774 6126 014775 1314 014776 1313 014777 6046 6656 015000 0000 USRLST, 0 6657 IFNZRO FOURTY < 6658 *5200 /DO NOT MOVE FROM 5200 WITHOUT 6659 /CHANGING CONSTANT FOR SWAP 6660 6661 DCMA=6601 6662 DMAW=6605 6663 DEAL=6615 6664 DCIM=6611 6665 DIML=6615 6666 DCXA=6641 6667 DXAL=6643 6668 DFSC=6622 6669 6670 /ROUTINE TO COPY EDU20 IMAGE ONTO DISK TO SET UP EDU40 SYSTEM 6671 6672 E40INT, JMS I (BEG01Q 6673 E40M1 /IS SYSTEM DEVICE A DF32 DISK? 6674 SKP 6675 JMP EDF32 /YES-DISK IS DF32 6676 JMS I (BEG01Q 6677 E40M2 /IS SYSTEM DEVICE AN RF08 DISK? 6678 JMP E40INT /NO-HE DOESN'T KNOW WHAT HE IS TALKING ABOUT 6679 /ROUTINE TO PUT EDU20 ON RF08 DISK 6680 CDF 10 6681 DCIM /WRITE FROM FIELD 0 6682 DCXA /WRITE TO TRACK 0 6683 TAD (200 6684 DCA I (7750 /WC TO 7600 6685 TAD (177 6686 DCA I (7751 /CA TO 200 6687 TAD (200 6688 DMAW /WRITE FIELD 0 IMAGE ONTO TRACK 0 6689 DFSC 6690 JMP .-1 6691 TAD (10 6692 DIML /WRITE FROM FIELD 1 6693 CLA CLL IAC 6694 DXAL /WRITE ONTO TRACK 1 6695 CLA CMA 6696 DCA I (7751 /CA TO 0 6697 DCA I (7750 /WC TO 10000 6698 TAD (7000 6699 CDF 10 6700 DCA I (DISKIN /NOP CALL TO THIS CODE SO WHEN LOADED FROM DISK 6701 CDF 0 6702 /THIS CODE WILL NOT BE RUN 6703 DMAW /WRITE FIELD 1 IMAGE ON DISK 6704 DFSC 6705 JMP .-1 6706 DCIM /WRITE FROM FIELD 0 6707 CLA CLL IAC 6708 DXAL /ONTO TRACK 1 6709 LASTW, TAD (7600 6710 DCA I (7750 /WC TO 200 6711 CLA CMA 6712 DCA I (7751 /CA TO 0 6713 TAD (5200 6714 DMAW /WRITE FIELD0,PAGE 0 IMAGE ONTO TRACK 1 AT 5200 6715 DFSC 6716 JMP .-1 6717 DCMA /CLEAR DISK FLAGS 6718 JMP I (DISKIN+1 /RETURN 6719 6720 /ROUTINE TO PUT EDU20 IMAGE ON DF32 DISK 6721 EDF32, CDF 0 6722 DEAL 6723 TAD (200 6724 DCA I (7750 /WC TO 7600 6725 TAD (177 6726 DCA I (7751 /CA TO 200 6727 TAD (200 6728 DMAW 6729 DFSC 6730 JMP .-1 6731 TAD (110 6732 DEAL 6733 CLA CMA 6734 DCA I (7751 /CA TO 0 6735 DCA I (7750 /WC TO 10000 6736 TAD (7000 6737 CDF 10 6738 DCA I (DISKIN /NOP CALL TO THIS CODE 6739 CDF 0 6740 DMAW /WRITE FIELD 1 ONTO TRACK 1 6741 DFSC 6742 JMP .-1 6743 TAD (100 6744 DEAL /WRITE FROM FIELD 0 ONTO TRACK 1 6745 CLA 6746 JMP LASTW 6747 6748 E40M1, TEXT %_IS SYSTEM DEVICE A DF32 DISK?% 6749 E40M2, TEXT %_IS SYSTEM DEVICE AN RF08 DISK?% 6750 > 6751 PAGE 6752 /THIS ROUTINE DOES ALLOCATION THE OLD WAY IF YOU ASK FOR THE SAME AMOUNT 6753 /OF CORE FOR ALL USERS. IT DOES A TABLE LOOKUP ON BEGCOR&BEGUSR AND 6754 /ENTERS THINGS IN USRLST THE WAY YOU WOULD IF YOU ANSWERED QUESTIONS 6755 015200 1022 BEGOLD, TAD BEGCOR 6756 015201 7106 CLL RTL 6757 015202 7004 RAL 6758 015203 1005 TAD BEGUSR /GET ADDR. OF ADDR. OF LIST 6759 015204 1377 TAD (BGLD1 6760 015205 3021 DCA SS 6761 015206 1421 TAD I SS 6762 015207 3021 DCA SS 6763 015210 1376 TAD (USRLST 6764 015211 3001 DCA USRPTR /SETUP TO SLIDE 6765 015212 1005 TAD BEGUSR 6766 015213 3020 DCA USRCTR /NO. OF SLIDES 6767 015214 1421 BEGOL1, TAD I SS 6768 015215 7106 CLL RTL 6769 015216 7006 RTL 6770 015217 0375 AND (7 6771 015220 7001 IAC /CORRECT USERNO. 6772 015221 3401 DCA I USRPTR 6773 015222 2001 ISZ USRPTR 6774 015223 1421 TAD I SS 6775 015224 7112 CLL RTR 6776 015225 7012 RTR 6777 015226 7012 RTR 6778 015227 0375 AND (7 /SET FIELD 6779 015230 3401 DCA I USRPTR 6780 015231 2001 ISZ USRPTR 6781 015232 1421 TAD I SS 6782 015233 0374 AND (37 6783 015234 3401 DCA I USRPTR 6784 015235 2021 ISZ SS 6785 015236 2001 ISZ USRPTR 6786 015237 2020 ISZ USRCTR 6787 015240 5214 JMP BEGOL1 6788 015241 5773 JMP I (BEG540 /CONTINUE ON...WE'VE ANSWERED QUESTIONS FOR HIM NOW. 6789 015373 3600 PAGE 015374 0037 015375 0007 015376 5000 015377 5674 6790 /THE FORMAT OF THE FOLLOWING LIST OF ANSWERS IS THE FOLLOWING: 6791 /(USER NO. [0 TO 7] +FIELD)TIMES 100 PLUS BLOCKSIZE. 6792 /THIS GETS ALL THREE DATA ABOUT EACH USER INTO ONE WORD. 6793 /THE USER NO. IS INTERNAL USER NO. OR EXTERNAL USER NO.-1 6794 X=100 6795 015400 0112 BGL11, 01^X+12 6796 015401 0105 BGL12, 01^X+5 6797 015402 1105 11^X+5 6798 015403 0104 BGL13, 01^X+4 6799 015404 1103 11^X+3 6800 015405 2103 21^X+3 6801 015406 0103 BGL14, 01^X+3 6802 015407 1103 11^X+3 6803 015410 2102 21^X+2 6804 015411 3102 31^X+2 6805 015412 0102 BGL15, 01^X+2 6806 015413 1102 11^X+2 6807 015414 2102 21^X+2 6808 015415 3102 31^X+2 6809 015416 4102 41^X+2 6810 015417 0102 BGL16, 01^X+2 6811 015420 1102 11^X+2 6812 015421 2102 21^X+2 6813 015422 3102 31^X+2 6814 015423 4101 41^X+1 6815 015424 5101 51^X+1 6816 015425 0102 BGL17, 01^X+2 6817 015426 1102 11^X+2 6818 015427 2102 21^X+2 6819 015430 3101 31^X+1 6820 015431 4101 41^X+1 6821 015432 5101 51^X+1 6822 015433 6101 61^X+1 6823 015434 0102 BGL18, 01^X+2 6824 015435 1102 11^X+2 6825 015436 2101 21^X+1 6826 015437 3101 31^X+1 6827 015440 4101 41^X+1 6828 015441 5101 51^X+1 6829 015442 6101 61^X+1 6830 015443 7101 71^X+1 6831 015444 1112 BGL22, 11^X+12 6832 015445 0220 BGL21, 02^X+20 6833 BGL31=BGL21 6834 BGL41=BGL21 6835 BGL51=BGL21 6836 BGL61=BGL21 6837 BGL71=BGL21 6838 015446 0112 BGL23, 01^X+12 6839 015447 1210 12^X+10 6840 015450 2210 22^X+10 6841 015451 0210 BGL24, 02^X+10 6842 015452 1210 12^X+10 6843 015453 2105 21^X+5 6844 015454 3105 31^X+5 6845 015455 0206 BGL25, 02^X+6 6846 015456 1105 11^X+5 6847 015457 2105 21^X+5 6848 015460 3205 32^X+5 6849 015461 4205 42^X+5 6850 015462 0105 BGL26, 01^X+5 6851 015463 1105 11^X+5 6852 015464 2204 22^X+4 6853 015465 3204 32^X+4 6854 015466 4204 42^X+4 6855 015467 5204 52^X+4 6856 015470 0104 BGL27, 01^X+4 6857 015471 1204 12^X+4 6858 015472 2204 22^X+4 6859 015473 3204 32^X+4 6860 015474 4204 42^X+4 6861 015475 5103 51^X+3 6862 015476 6103 61^X+3 6863 015477 0104 BGL28, 01^X+4 6864 015500 1204 12^X+4 6865 015501 2103 21^X+3 6866 015502 3103 31^X+3 6867 015503 4203 42^X+3 6868 015504 5203 52^X+3 6869 015505 6203 62^X+3 6870 015506 7203 72^X+3 6871 015507 2112 BGL33, 21^X+12 6872 015510 0220 BGL32, 02^X+20 6873 015511 1320 13^X+20 6874 BGL42=BGL32 6875 BGL52=BGL32 6876 BGL62=BGL32 6877 BGL72=BGL32 6878 015512 0220 BGL34, 02^X+20 6879 015513 1112 11^X+12 6880 015514 2310 23^X+10 6881 015515 3310 33^X+10 6882 015516 0112 BGL35, 01^X+12 6883 015517 1210 12^X+10 6884 015520 2210 22^X+10 6885 015521 3310 33^X+10 6886 015522 4310 43^X+10 6887 015523 0210 BGL36, 02^X+10 6888 015524 1210 12^X+10 6889 015525 2310 23^X+10 6890 015526 3310 33^X+10 6891 015527 4105 41^X+5 6892 015530 5105 51^X+5 6893 015531 0210 BGL37, 02^X+10 6894 015532 1210 12^X+10 6895 015533 2306 23^X+6 6896 015534 3105 31^X+5 6897 015535 4105 41^X+5 6898 015536 5305 53^X+5 6899 015537 6305 63^X+5 6900 015540 0206 BGL38, 02^X+6 6901 015541 1306 13^X+6 6902 015542 2105 21^X+5 6903 015543 3105 31^X+5 6904 015544 4205 42^X+5 6905 015545 5205 52^X+5 6906 015546 6305 63^X+5 6907 015547 7305 73^X+5 6908 6909 6910 6911 015550 3112 BGL44, 31^X+12 6912 015551 0220 BGL43, 02^X+20 6913 015552 1320 13^X+20 6914 015553 2420 24^X+20 6915 BGL53=BGL43 6916 BGL63=BGL43 6917 BGL73=BGL43 6918 015554 0220 BGL45, 02^X+20 6919 015555 1320 13^X+20 6920 015556 2112 21^X+12 6921 015557 3410 34^X+10 6922 015560 4410 44^X+10 6923 015561 0220 BGL46, 02^X+20 6924 015562 1112 11^X+12 6925 015563 2310 23^X+10 6926 015564 3310 33^X+10 6927 015565 4410 44^X+10 6928 015566 5410 54^X+10 6929 015567 0112 BGL47, 01^X+12 6930 015570 1210 12^X+10 6931 015571 2210 22^X+10 6932 015572 3310 33^X+10 6933 015573 4310 43^X+10 6934 015574 5410 54^X+10 6935 015575 6410 64^X+10 6936 015576 6105 BGL48, 61^X+5 6937 015577 7105 71^X+5 6938 015600 0210 02^X+10 6939 015601 1210 12^X+10 6940 015602 2310 23^X+10 6941 015603 3310 33^X+10 6942 015604 4410 44^X+10 6943 015605 5410 54^X+10 6944 015606 4112 BGL55, 41^X+12 6945 015607 0220 BGL54, 02^X+20 6946 015610 1320 13^X+20 6947 015611 2420 24^X+20 6948 015612 3520 35^X+20 6949 BGL64=BGL54 6950 BGL74=BGL54 6951 6952 015613 0220 BGL56, 02^X+20 6953 015614 1320 13^X+20 6954 015615 2420 24^X+20 6955 015616 3112 31^X+12 6956 015617 4510 45^X+10 6957 015620 5510 55^X+10 6958 015621 0220 BGL57, 02^X+20 6959 015622 1320 13^X+20 6960 015623 2112 21^X+12 6961 015624 3410 34^X+10 6962 015625 4410 44^X+10 6963 015626 5510 55^X+10 6964 015627 6510 65^X+10 6965 015630 0220 BGL58, 02^X+20 6966 015631 1112 11^X+12 6967 015632 2310 23^X+10 6968 015633 3310 33^X+10 6969 015634 4410 44^X+10 6970 015635 5410 54^X+10 6971 015636 6510 65^X+10 6972 015637 7510 75^X+10 6973 015640 5112 BGL66, 51^X+12 6974 015641 0220 BGL65, 02^X+20 6975 015642 1320 13^X+20 6976 015643 2420 24^X+20 6977 015644 3520 35^X+20 6978 015645 4620 46^X+20 6979 BGL75=BGL65 6980 015646 4112 BGL67, 41^X+12 6981 015647 0220 02^X+20 6982 015650 1320 13^X+20 6983 015651 2420 24^X+20 6984 015652 3520 35^X+20 6985 015653 5610 56^X+10 6986 015654 6610 66^X+10 6987 015655 0220 BGL68, 02^X+20 6988 015656 1320 13^X+20 6989 015657 2420 24^X+20 6990 015660 3112 31^X+12 6991 015661 4510 45^X+10 6992 015662 5510 55^X+10 6993 015663 6610 66^X+10 6994 015664 7610 76^X+10 6995 015665 7112 BGL78, 71^X+12 6996 015666 6720 BGL77, 67^X+20 6997 015667 0220 BGL76, 02^X+20 6998 015670 1320 13^X+20 6999 015671 2420 24^X+20 7000 015672 4620 46^X+20 7001 015673 3520 35^X+20 7002 015674 5434 BGLD1, BGL18 7003 015675 5425 BGL17 7004 015676 5417 BGL16 7005 015677 5412 BGL15 7006 015700 5406 BGL14 7007 015701 5403 BGL13 7008 015702 5401 BGL12 7009 015703 5400 BGL11 7010 015704 5477 BGL28 7011 015705 5470 BGL27 7012 015706 5462 BGL26 7013 015707 5455 BGL25 7014 015710 5451 BGL24 7015 015711 5446 BGL23 7016 015712 5444 BGL22 7017 015713 5445 BGL21 7018 015714 5540 BGL38 7019 015715 5531 BGL37 7020 015716 5523 BGL36 7021 015717 5516 BGL35 7022 015720 5512 BGL34 7023 015721 5507 BGL33 7024 015722 5510 BGL32 7025 015723 5445 BGL31 7026 015724 5576 BGL48 7027 015725 5567 BGL47 7028 015726 5561 BGL46 7029 015727 5554 BGL45 7030 015730 5550 BGL44 7031 015731 5551 BGL43 7032 015732 5510 BGL42 7033 015733 5445 BGL41 7034 015734 5630 BGL58 7035 015735 5621 BGL57 7036 015736 5613 BGL56 7037 015737 5606 BGL55 7038 015740 5607 BGL54 7039 015741 5551 BGL53 7040 015742 5510 BGL52 7041 015743 5445 BGL51 7042 015744 5655 BGL68 7043 015745 5646 BGL67 7044 015746 5640 BGL66 7045 015747 5641 BGL65 7046 015750 5607 BGL64 7047 015751 5551 BGL63 7048 015752 5510 BGL62 7049 015753 5445 BGL61 7050 015754 5665 BGL78 7051 015755 5666 BGL77 7052 015756 5667 BGL76 7053 015757 5641 BGL75 7054 015760 5607 BGL74 7055 015761 5551 BGL73 7056 015762 5510 BGL72 7057 015763 5445 BGL71 7058 7059 7060 7061 7062 7063 7064 7065 7066 IFNZRO CONFIG < 7067 XLIST 7068 NOPUNCH> 7069 7070 *6200 7071 7072 016200 1773 MONDSK, 1773 7073 016201 3772 3772 7074 016202 2372 2372 7075 016203 2373 2373 7076 016204 5356 5356 7077 016205 1371 1371 7078 016206 3350 3350 7079 016207 1371 1371 7080 016210 3351 3351 7081 016211 5770 5770 7082 016212 7573 7573 7083 016213 7576 7576 7084 016214 7573 7573 7085 016215 7774 7774 7086 016216 6603 6603 7087 016217 6622 6622 7088 016220 5374 5374 7089 016221 7610 7610 7090 7091 016222 1774 MONTAP, 1774 7092 016223 3773 3773 7093 016224 2373 2373 7094 016225 2374 2374 7095 016226 5356 5356 7096 016227 3354 3354 7097 016230 1372 1372 7098 016231 3355 3355 7099 016232 1371 1371 7100 016233 5770 5770 7101 016234 7575 7575 7102 016235 0220 0220 7103 016236 7577 7577 7104 016237 7575 7575 7105 016240 7775 7775 7106 016241 6766 6766 7107 016242 6771 6771 7108 016243 5376 5376 7109 7110 016244 1377 OSDRK8, 1377 7111 016245 3030 3030 7112 016246 1376 1376 7113 016247 3031 3031 7114 016250 5030 5030 7115 016251 0000 0 7116 016252 0000 0 7117 016253 0000 0 7118 016254 0000 0 7119 016255 0000 0 7120 016256 0000 0 7121 016257 0000 0 7122 016260 0000 0 7123 016261 0000 0 7124 016262 0000 0 7125 016263 0000 0 7126 016264 5031 5031 7127 016265 6733 6733 7128 7129 016266 1772 OSDDSK, 1772 7130 016267 3771 3771 7131 016270 2371 2371 7132 016271 2372 2372 7133 016272 5356 5356 7134 016273 5350 5350 7135 016274 0000 0 7136 016275 0000 0 7137 016276 0000 0 7138 016277 0000 0 7139 016300 0000 0 7140 016301 7750 7750 7141 016302 7773 7773 7142 016303 7600 7600 7143 016304 6603 6603 7144 016305 6622 6622 7145 016306 5352 5352 7146 016307 5752 5752 7147 7148 016310 6774 OSDDTA, 6774 7149 016311 1377 1377 7150 016312 3354 3354 7151 016313 1376 1376 7152 016314 3355 3355 7153 016315 1375 1375 7154 016316 6766 6766 7155 016317 6771 6771 7156 016320 5365 5365 7157 016321 1374 1374 7158 016322 6766 6766 7159 016323 6771 6771 7160 016324 5371 5371 7161 016325 5200 5200 7162 016326 0220 220 7163 016327 0600 600 7164 016330 7577 7577 7165 016331 7700 7700 7166 7167 016332 1114 OS8ERM, TEXT %ILLEGAL OS/8 DEVICE FOUND_CAN'T SAVE BOOTSTRAP__% 016333 1405 016334 0701 016335 1440 016336 1723 016337 5770 016340 4004 016341 0526 016342 1103 016343 0540 016344 0617 016345 2516 016346 0437 016347 0301 016350 1647 016351 2440 016352 2301 016353 2605 016354 4002 016355 1717 016356 2423 016357 2422 016360 0120 016361 3737 016362 0000 7168 016363 3737 OS8MSG, TEXT %__TO BOOTSTRAP BACK % 016364 2417 016365 4002 016366 1717 016367 2423 016370 2422 016371 0120 016372 4002 016373 0103 016374 1340 016375 0000 7169 016376 1723 OS8M1, TEXT %OS/8% 016377 5770 016400 0000 7170 016401 4015 OS8M2, TEXT % MONITOR:_ LOAD ADDRESS 07600_ AND START__% 016402 1716 016403 1124 016404 1722 016405 7237 016406 4040 016407 1417 016410 0104 016411 4001 016412 0404 016413 2205 016414 2323 016415 4060 016416 6766 016417 6060 016420 3740 016421 4001 016422 1604 016423 4023 016424 2401 016425 2224 016426 3737 016427 0000 7171 016430 0411 DISKMM, TEXT %DISK% 016431 2313 016432 0000 7172 016433 2401 TAPMM, TEXT %TAPE% 016434 2005 016435 0000 7173 7174 016436 6211 BEGOS8, CDF 10 7175 016437 1777 TAD I (7760 /GET DCB OF SYS: 7176 016440 0376 AND (770 7177 016441 1375 TAD (-050 /5 IS RK8 7178 016442 7510 SPA 7179 016443 5253 JMP OS8ERR /<5 IS ERROR 7180 016444 7450 SNA 7181 016445 5265 JMP OS8RK8 /5 = RK8 7182 016446 1374 TAD (050-160 /16 IS DECTAPE 7183 016447 7510 SPA 7184 016450 5257 JMP OS8KSK /6 TO 15 = DSK 7185 016451 7650 SNA CLA 7186 016452 5264 JMP OS8DTA /16 = DTA: 7187 016453 7200 OS8ERR, CLA 7188 016454 4773 JMS I (BEG003 7189 016455 6332 OS8ERM /BAD OS8 DEVICE 7190 016456 5772 JMP I (BEGMV4 /DO NOT SET UP ANYTHING 7191 7192 016457 7200 OS8KSK, CLA 7193 016460 5263 JMP OS8DSK 7194 7195 016461 7001 IAC 7196 016462 7001 IAC 7197 016463 7001 OS8DSK, IAC 7198 016464 7001 OS8DTA, IAC 7199 016465 7001 OS8RK8, IAC 7200 016466 1371 TAD (OS8LST-1 7201 016467 3311 DCA OS8PTR 7202 016470 1711 TAD I OS8PTR 7203 016471 3311 DCA OS8PTR /POINT TO BOOTSTRAP 7204 016472 6211 OS8LP1, CDF 10 7205 016473 1711 TAD I OS8PTR 7206 016474 2311 ISZ OS8PTR 7207 016475 6201 CDF 7208 016476 3712 DCA I OS8PT2 7209 016477 2312 ISZ OS8PT2 7210 016500 5272 JMP OS8LP1 7211 016501 6211 CDF 10 7212 016502 4773 JMS I (BEG003 7213 016503 6363 OS8MSG /OS8 MESSAGE 7214 016504 4773 JMS I (BEG003 7215 016505 6376 OS8AB, OS8M1 7216 016506 4773 JMS I (BEG003 7217 016507 6401 OS8M2 7218 016510 5772 JMP I (BEGMV4 7219 7220 016511 0000 OS8PTR, 0 7221 016512 7756 OS8PT2, 7756 /INTO RIM LOCATIONS 7222 7223 016513 6244 OS8LST, OSDRK8 7224 016514 6310 OSDDTA 7225 016515 6266 OSDDSK 7226 016516 6200 MONDSK 7227 016517 6222 MONTAP 7228 7229 016520 6211 TAPEM, CDF 10 7230 016521 1370 TAD (600 7231 016522 6766 DTXA DTCA /REWIND TAPE 7232 016523 6771 DTSF 7233 016524 5323 JMP .-1 7234 016525 1367 TAD (TAPMM 7235 016526 3305 DCA OS8AB 7236 016527 5261 JMP OS8DSK-2 7237 7238 016530 6211 DISKM, CDF 10 7239 016531 1366 TAD (DISKMM 7240 016532 3305 DCA OS8AB 7241 016533 5262 JMP OS8DSK-1 7242 IFNZRO CONFIG < 7243 PAGE 7244 XLIST 7245 ENPUNCH 7246 > 7247 016566 6430 *7000 016567 6433 016570 0600 016571 6512 016572 2003 016573 2432 016574 7670 016575 7730 016576 0770 016577 7760 7248 7249 017000 0040 40 7250 017001 0120 BEGIOT, 120 7251 017002 0120 120 7252 017003 0120 120 7253 017004 0120 120 7254 017005 0120 120 7255 017006 0120 120 7256 017007 0120 120 7257 017010 1377 BEG800, TAD (ORG 7258 017011 3331 DCA BEG801 7259 017012 1376 TAD (BEGLST 7260 017013 3332 BEGZCT, DCA BEG802 7261 017014 1375 TAD (BEGLST+1 7262 017015 3334 DCA BEG804 7263 017016 1374 TAD (BEGLST+2 7264 017017 3333 DCA BEG803 7265 017020 1373 TAD (BEGIOT-1 7266 017021 3335 DCA BEG805 7267 017022 1734 BEG810, TAD I BEG804 7268 017023 4336 JMS BEG900 /SETUP PDLXR 7269 017024 1372 TAD (4 7270 017025 4342 JMS BEGZER 7271 017026 1371 TAD (READY /PC GETS READY FOR STARTUP 7272 017027 4336 JMS BEG900 7273 017030 1370 TAD (10 7274 017031 4342 JMS BEGZER 7275 017032 7340 L7777 /DINPUT SET TO INPUT MODE 7276 017033 4336 JMS BEG900 7277 017034 4336 JMS BEG900 /OUTPUT GETS ZEROED FOR ECHO 7278 017035 1735 TAD I BEG805 /MAKE UP XIOT 7279 017036 1367 TAD (6006-10 7280 017037 4336 JMS BEG900 7281 017040 1732 TAD I BEG802 /MAKE UP XFIELD 7282 017041 4336 JMS BEG900 7283 017042 1366 TAD (5 7284 017043 4342 JMS BEGZER 7285 017044 1365 TAD (BUFFER /NOW BUILD BUFFERS USING DEF. OF BUFFER+OFFSET 7286 017045 1733 TAD I BEG803 /THIS IS IPTRI 7287 017046 4336 JMS BEG900 7288 017047 1365 TAD (BUFFER /AND IPTRO 7289 017050 1733 TAD I BEG803 7290 017051 4336 JMS BEG900 7291 017052 1365 TAD (BUFFER 7292 017053 1733 TAD I BEG803 7293 017054 4336 JMS BEG900 7294 017055 1364 TAD (BUFFER-40 7295 017056 1733 TAD I BEG803 7296 017057 4336 JMS BEG900 7297 017060 1364 TAD (BUFFER-40 7298 017061 1733 TAD I BEG803 7299 017062 4336 JMS BEG900 7300 017063 1363 TAD (3 7301 017064 4342 JMS BEGZER 7302 017065 1362 TAD (LINE1 /BUFR 7303 017066 1733 TAD I BEG803 7304 017067 4336 JMS BEG900 7305 017070 1362 TAD (LINE1 /LASTV 7306 017071 1733 TAD I BEG803 7307 017072 4336 JMS BEG900 7308 017073 1734 TAD I BEG804 7309 017074 4336 JMS BEG900 7310 017075 1361 TAD (LINE0 7311 017076 1733 TAD I BEG803 7312 017077 4336 JMS BEG900 7313 017100 1360 TAD (BUFCOM 7314 017101 1733 TAD I BEG803 7315 017102 4336 JMS BEG900 7316 017103 4336 JMS BEG900 7317 017104 4336 JMS BEG900 7318 017105 7301 L0001 7319 017106 4336 JMS BEG900 /SEE FRNDX1 7320 017107 1357 TAD (5321 7321 017110 4336 JMS BEG900 7322 017111 1356 TAD (3062 7323 017112 4336 JMS BEG900 7324 017113 2332 ISZ BEG802 7325 017114 2332 ISZ BEG802 7326 017115 2332 ISZ BEG802 7327 017116 2333 ISZ BEG803 7328 017117 2333 ISZ BEG803 7329 017120 2333 ISZ BEG803 7330 017121 2334 ISZ BEG804 7331 017122 2334 ISZ BEG804 7332 017123 2334 ISZ BEG804 7333 017124 2335 ISZ BEG805 7334 017125 2330 ISZ BEGUS1 7335 017126 5222 JMP BEG810 7336 017127 5755 JMP I (FINISH 7337 7338 017130 0000 BEGUS1, 0 7339 017131 0000 BEG801, 0 7340 017132 0000 BEG802, 0 7341 017133 0000 BEG803, 0 7342 017134 0000 BEG804, 0 7343 017135 0000 BEG805, 0 7344 7345 017136 0000 BEG900, 0 7346 017137 3731 DCA I BEG801 7347 017140 2331 ISZ BEG801 7348 017141 5736 JMP I BEG900 7349 7350 017142 0000 BEGZER, 0 7351 017143 7041 CIA 7352 017144 3213 DCA BEGZCT 7353 017145 4336 JMS BEG900 7354 017146 2213 ISZ BEGZCT 7355 017147 5345 JMP .-2 7356 017150 5742 JMP I BEGZER 7357 7358 017155 7203 *7200 /STAY OUT OF HIS BUFFER AND TEXT AREA 017156 3062 017157 5321 017160 0100 017161 0162 017162 0164 017163 0003 017164 0000 017165 0040 017166 0005 017167 5776 017170 0010 017171 0462 017172 0004 017173 7000 017174 7402 017175 7401 017176 7400 017177 2000 7359 /AS WELL AS THE MONITOR (OR WE WONT GET LOADED) 7360 /ALSO ON THIS PAGE = KL8LOD 7361 7362 017200 0000 FINCNT, 0 7363 017201 7225 FIN001, FIN002+1 7364 017202 0000 KLTOP2, 0 7365 7366 017203 1624 FINISH, TAD I FIN002 /FIND TOP OF USER SWAP AREAS 7367 017204 3224 DCA FIN002 /SAVE IT 7368 017205 1202 TAD KLTOP2 /EFFECTIVE TOP OF THIS FIELD 7369 017206 7041 CIA 7370 017207 1201 TAD FIN001 7371 017210 3200 DCA FINCNT /HOW MANY WORDS TO CLEAR ABOVE US 7372 017211 3601 FINLP1, DCA I FIN001 7373 017212 2201 ISZ FIN001 7374 017213 7000 NOP 7375 017214 2200 ISZ FINCNT 7376 017215 5211 JMP FINLP1 7377 017216 3624 FINLP2, DCA I FIN002 7378 017217 2224 ISZ FIN002 /LOOP TO TOP OF CORE 7379 017220 5216 JMP FINLP2 /DCA WILL GET WIPED, AND KLFIX WILL BE SAFE 7380 017221 6203 CIF CDF 7381 017222 5623 JMP I .+1 7382 017223 0354 ENTRY 7383 7384 017224 7131 FIN002, BEG801 7385 7386 PAGE 7387 BEGLST=. 7388 7389 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$