/EDU-20 PAL8-V10D 13-OCT-96 PAGE 1 /EDU-20 / /DEC-08-EDU20A-C-LA / /COPYRIGHT 1972,1973 / /DIGITAL EQUIPMENT CORPORATION /MAYNARD, MASSACHUSETTS 01754 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 2 /EDUSYSTEM 20 BASIC /EDUSYSTEM 20 BASIC /MARK BRAMHALL /DIGITAL EQUIPMENT CORP. /JOHN O'DONNELL /YALE UNIVERSITY /MARK ROSENTHAL /DIGITAL EQUIPMENT CORP. /VERSION AS OF: /24 MAY 73 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 3 /@33 -- THIS VERSION HAS BEEN RE-CREATED FROM EDU20S.PA /@34 -- TOGETHER WITH AN OLD PAPER COPY OF THE ORIGINAL /@35 -- EDU20C LISTING OUT OF PAL10 & CREF. A SERIOUS /@36 -- ATTEMPT HAS BEEN MADE TO MAKE THIS AN EXACT AS /@37 -- POSSIBLE REPRODUCTION (WITH THE EXCEPTION OF THESE /@38 -- TWO PAGES), INCLUDING ALL ORIGINAL TYPOS. THIS /@39 -- RECONSTRUCTION, BY STEVE TOCKEY, IS DATED /@40 -- 13-OCT-2019 /@41 -- LINES ON THESE 2 PAGES WITH "/@" /@42 -- CAN'T BE RELIABLY RECONSTRUCTED FROM THE PAL10 & /@43 -- CREF LISTING BECAUSE OF A MISSING LISTING PAGE. /@44 -- EVERYTHING IN THIS RANGE HAS BEEN RECONSTRUCTED /@45 -- FROM THE SYMBOL TABLE AND CREF LISTING. /@46 -- SEE THE EDUSYSTEM HANDBOOK FOR HOW TO USE EDU20C /@47 -- HTTP://BITSAVERS.TRAILING-EDGE.COM/PDF/DEC/PDP8/ /@48 -- TSS8/EduSystemHandbookJan73.pdf /@49 -- /@50 -- ASSEMBLE IN OS/8: .R PAL8 /@51 -- *EDU20C,EDU20C 1 MAKES A PROGRAM THAT /@66 -- LETS YOU RE-CONFIGURE EDU20C WITHOUT RE-LOADING THE /@67 -- ENTIRE PAPER TAPE FROM SCRATCH. THIS WAS USEFUL IN /@68 -- THE PUNCHED PAPER TAPE ERA, PARTICULARLY @ 110 BAUD. 0000 FOURTY=0 /@69 -- CREF SAYS FOURTY IS REFERENCED HERE /@70 -- ASSEMBLING WITH FOURTY <> 0 RELATES TO EDU 40. SEE /@71 -- CHAPTER 8 OF ABOVE EDUSYSTEM HANDBOOK FOR DETAIL. /@72 /@73 -- CREF SAYS CONFIG IS REFERENCED ON THIS LINE /@74 /@75 /@76 6762 DTCA=6762 /@77 -- PAL-8 IS MISSING PRE-DEFINED 6764 DTXA=6764 /@78 -- DEC TAPE IOTS WHICH APPEAR TO 6771 DTSF=6771 /@79 -- BE PRE-DEFINED IN PAL10, SO DEFINE /@80 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 4 /@81 /@82 /@83 -- PROBABLY "/DEFINITIONS" /@84 4407 FINT=JMS I 7 /@85 /@86 0000 FEXT=0000 /@87 0000 FXIT=0000 /@88 6010 FNOR=6010 /@89 6000 FSKP=6000 /@90 6040 FSNE=6040 /@91 6050 FSEQ=6050 /@92 6100 FSGE=6100 /@93 6110 FSLT=6110 /@94 6140 FSGT=6140 /@95 6150 FSLE=6150 /@96 /@97 /@98 6007 CAF=6007 /@99 7002 BSW=7002 /@100 /@101 /@102 7501 MQA=7501 /@103 7421 MQL=7421 /@104 6102 SPL=6102 /@105 6126 MTLS=6126 /@106 6123 MTKF=6123 /@107 6113 MTPF=6113 /@108 6117 MTON=6117 /@109 6115 MINT=6115 /@110 6125 MINS=6125 /@111 6111 MKSF=6111 /@112 6116 MKRB=6116 /@113 6121 MTSF=6121 /@114 6122 MTCF=6122 /@115 /@116 /@117 /@118 7301 L0001=CLL CLA IAC /@119 7326 L0002=CLL CLA CML RTL /@120 7340 L7777=CLL CLA CMA /@121 7344 L7776=CLL CLA CMA RAL /@122 7346 L7775=CLL CLA CMA RTL /@123 7350 L3777=CLL CLA CMA RAR /@124 7352 L5777=CLL CLA CMA RTR /@125 7330 L4000=CLL CLA CML RAR /@126 7332 L2000=CLL CLA CML RTR /@127 /@128 /@129 /@130 0010 SWAP=10 7346 LMULT=L7775 7344 LAL1=L7776 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 4-1 7340 LFXUP=L7777 7200 LNFIX=CLA 7301 LHIGH=L0001 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 5 /PAGE ZERO 0000 FIELD 0 0000 PAGE 0 00000 0000 0 00001 5402 JMP I .+1 /INTERRUPT HANDLER 00002 5200 INTR8E 00003 0000 USER, 0 /INTERRUPT USER COUNTER 00004 0000 SIN, 0 /INTERRUPT TEMPORARY 00005 0000 TEMP1, 0 /INTERRUPT TEMP 00006 0765 TEMP2, USER0 /INTERRUPT TEMP 00007 5400 ZFPNT /FLOATING POINT 00010 0000 XREG, 0 /INTERRUPT XREG 00011 0000 XREG2, 0 /INTERRUPT XREG 00012 0000 XREG3, 0 /GENERAL XREG 00013 0000 FLTXR, 0 /FLOATING XREG 00014 0000 FLTXR2, 0 /FLOATING XREG /EDU-20 PAL8-V10D 13-OCT-96 PAGE 6 /USER SWAP AREA 0015 STSWAP=. /START OF SWAP 00015 7776 PDLXR, TOP /PUSH-DOWN XREG 00016 0000 AXIN, 0 /PACKING XREG 0017 TEXTP=. /TEXT POINTERS 00017 0000 AXOUT, 0 /UNPACK XREG 00020 0000 GTEM, 0 /UNPACK SWITCH 00021 0000 XCT, 0 /UNPACK SWITCH 00022 0462 PC, READY /PROGRAM RESTART 00023 0000 ADD, 0 /PACK TEMPORARY 00024 0000 XCTIN, 0 /PACK SWITCH 0024 SUBS=XCTIN /SUBSCRIPT 00025 0000 PT1, 0 /FLOATING POINTER 00026 0000 CHAR, 0 /CHARACTER 00027 0000 LINEPC, 0 /LINE POINTER 00030 6213 LINENO, CIF CDF 10 /LINE NUMBER 00031 5432 LASTLN, JMP I .+1 /LAST LINE POINTER 0031 MODE=LASTLN 00032 6520 SPACSW, TAPEM /0 IS IGNORE SPACES 00033 7777 DINPUT, -1 /-1 FOR BREAK ON CR ONLY /0 FOR BREAK ON ANY AND NO ECHO 00034 0000 OUTPUT, 0 /0 IS ECHO 00035 6036 XIOT, KRB /INPUT IOT 00036 0000 XFIELD, 0 /USER FIELD 00037 0000 DATAPC, 0 /LINE NUMBER OF DATA STATEMENT 00040 6213 CIF CDF 10 /DATA POINTER 00041 5442 JMP I .+1 /DATA TEMPORARY 00042 6530 DISKM /DATA UNPACK SWITCH 00043 0000 0 /DATA CHARACTER 00044 0040 IPTRI, BUFFER /INPUT BUFFER FILL 00045 0040 IPTRO, BUFFER /INPUT BUFFER EMPTY 00046 0040 IPTR0, BUFFER /START OF BUFFER 00047 0000 OPTRI, BUFFER-40 /OUTPUT BUFFER FILL 00050 0000 OPTRO, BUFFER-40 /OUTPUT BUFFER EMPTY 00051 0000 TELSW, 0 /TTY BUSY SWITCH 00052 0000 PACKST, 0 /START OF PACKING 00053 0000 PACKND, 0 /POINTER TO END OF PACKING 00054 0164 BUFR, LINE1 /NEXT FREE SPACE 0054 STARTV=BUFR /START OF VARIABLES 00055 0164 LASTV, LINE1 /LAST DEFINED VARIABLE 00056 7776 PDLST, TOP /START OF PUSH-DOWN 00057 0162 ALINE0, LINE0 /POINTER TO DUMMY LINE 00060 0100 COMBUF, BUFCOM /COMMAND BUFFER 00061 0000 PRNTC1, 0 /PRINT ZONE COUNT 00062 0000 ERLINE, 0 /ERROR LINE 00063 0001 FRNDX, 1 /3 WORD 00064 0203 203 /RANDOM INTEGER 00065 5555 5555 0065 ENSWAP=.-1 0036 DECK=XFIELD /USER ON DECK /EDU-20 PAL8-V10D 13-OCT-96 PAGE 7 00066 0000 ACSIGN, 0 /FLAC SIGN 00067 0000 ACEXP, 0 /FLAC EXPONENT 00070 0000 AC3, 0 /FLAC 00071 0000 AC2, 0 00072 0000 AC1, 0 00073 0000 SORTCN, 0 /SORT CONSTANT 00074 0000 T1, 0 /THREE TEMPS 00075 0000 T2, 0 00076 0000 T3, 0 00077 0000 CNTR, 0 /COUNTER 00100 0000 THISOP, 0 /CURRENT OP 00101 0000 LASTOP, 0 /LAST OP 0077 EFOP=CNTR /FUNCTION OP 00102 0462 AREADY, READY 00103 6400 FLOUTP, FLOUT /FLOATING OUTPUT 00104 6200 FLINTP, FLIN /FLOATING INPUT 00105 0764 LOOK, USER0-1 /USER BEING RUN OR LOOKED AT /USER0*#USERS-1 (SEE BEG750) 00106 0765 LOOKST, USER0 /TO RESET LOOKING 00107 6726 FLARGP, FLARG /POINTER TO TEMP FLAC 00110 6735 INTEGE, FIX /FIX THE FLAC ROUTINE IFNZRO PDLXR-15 VPDLXR, 00111 0015 CCR, 15 /CR 00112 0007 C7, 7 /BELL 00113 0177 C177, 177 /RUBOUT 00114 0137 C137, 137 /BACK ARROW 00115 7777 LSTMOD, -1 /SET BY *INPUT* IFNZRO STSWAP-15 STSWM1, 00116 0014 C14, 14 /FORM FEED 00117 0012 CLF, 12 /LINE FEED 00120 7766 M12, -12 /-10 DECIMAL 00121 0040 C40, 40 /BUFFER SIZE 00122 0077 C77, 77 /RIGHT MASK 00123 7770 M10, -10 00124 0010 C10, 10 00125 7740 M40, -40 /-BUFFER SIZE 00126 7772 M6, -6 /-MESSAGE LENGTH 00127 7700 M100, -100 /CHARACTER TEST 0127 C7700=M100 /LEFT MASK 00130 7774 M4, -4 /CHARACTER COUNT 00131 0100 C100, 100 00132 0004 C4, 4 00133 0003 C3, 3 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 8 /NEW INSTRUCTIONS 4534 PRINTC=JMS I . /PRINT AC OR CHAR 00134 4144 XPRNTC 4535 GETC=JMS I . /UNPACK A CHAR 00135 4041 APGETC, XGETC 4536 SORTJ=JMS I . /SORT JUMP 00136 4735 XSORTJ 4537 SORTC=JMS I . /SORT 00137 4704 ASORTC, XSORTC 4540 PUSHA=JMS I . /SAVE AC 00140 1717 XPUSHA 4541 PUSHJ=JMS I . /PUSH JUMP 00141 1732 XPUSHJ 4542 PUSHF=JMS I . /SAVE FLOATING DATA 00142 1751 XPUSHF 4543 POPA=JMS I . /RESTORE AC 00143 3751 XPOPA 5544 POPJ=JMP I . /POP JUMP 00144 2454 XPOPJ 4545 POPF=JMS I . /RESTORE FLOATING DATA 00145 4003 XPOPF 4546 FLGET=JMS I . /FLOATING GET 00146 5145 XFLGET 4547 FLPUT=JMS I . /FLOATING PUT 00147 0742 XFLPUT 4550 PRINTX=JMS I . /DO OUTPUT 00150 3340 XOUTL 4551 ERROR=JMS I . /ERROR 00151 3532 XERROR 4552 UDF=JMS I . /USER DATA FIELD 00152 7166 AUDF, XUDF 4553 RTL6=JMS I . /SIX RAL*S 00153 7633 XRTL6 4554 TESTN=JMS I . /TEST NUMERIC 00154 4017 XTESTN 4555 TESTC=JMS I . /TEST CHAR 00155 4237 XTESTC 4556 PACKC=JMS I . /PACK A CHAR 00156 3600 XPACKC 4557 GETLN=JMS I . /GET A LINE NUMBER 00157 6335 XGETLN 4560 TSTCCR=JMS I . /SKIP IF CR 00160 4206 CCRTST 4561 TSTCOM=JMS I . /SKIP IF COMMA 00161 4200 COMTST 4562 TSTALP=JMS I . /SKIP IF LETTER 00162 4225 ALPTST 4563 COMMAN=JMS I . /DETERMINE COMMAND 00163 2005 MANCOM 4564 FIND=JMS I . /FIND A STATEMENT 00164 4125 XFIND 4565 GETNXT=JMS I . /GET NEXT LINE 00165 4077 NXTGET 4566 FINDLN=JMS I . /FIND A LINE 00166 3467 XFINDL /EDU-20 PAL8-V10D 13-OCT-96 PAGE 8-1 4567 FREE13=JMS I . /FREE 14 OUTPUT SPACES 00167 5552 XFREE3 4570 FREE2=JMS I . /FREE 3 OUTPUT SPACES 00170 5543 XFREE2 4571 READC=JMS I . /READ A CHAR 00171 3717 XREADC 4572 TSTEND=JMS I . /TEST FOR END OF LINE 00172 4213 ENDTST 4573 TSTLPR=JMS I . /SKIP IF L-PAREN 00173 3756 LPRTST 4574 CALLF1=JMS I . /CALL SUBR IN FIELD 1 00174 5410 F1CALL 1507 GETSGN=TAD I FLARGP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 9 /MAINLINE BASIC /WHENEVER THERE IS NOTHING BETTER TO DO OR A JOB WANTS TO /DISMISS ITSELF SO OTHERS CAN TRY THIS ROUTINE IS ENTERED /IT KEEPS LOOKING FOR A JOB WITH BITS 0 AND 1 OFF WHICH /SAYS THAT THE JOB IS NOT WAITING FOR INPUT OR OUTPUT /RESPECTIVELY 0177 *177 00177 6001 NULL, ION 00200 6201 CDF 00201 2777 ISZ I (INTCNT /COUNT FOR RANDOMIZE 00202 0060 C60, 60 /PROTECT THE ISZ 00203 1105 TAD LOOK 00204 1230 TAD MLOOKE /CHECK POSITION OF POINTER 00205 7710 SPA CLA 00206 5212 JMP .+4 /O.K. TO LOOK AT NEXT /IF PDP 8E, AND NOT DC02 = ASSUME KL8E, NEXT THREE WORDS ARE / CIF / JMP I .+1 / KL8FIX0 /SEE BEG002 AND BEG540 FOR DETAILS. 00207 1106 KL8JM0, TAD LOOKST 00210 3105 DCA LOOK /RESET POINTER 00211 7410 SKP 00212 2105 ISZ LOOK /LOOK AT NEXT 00213 1505 KL8LF0, TAD I LOOK /GET STATUS 00214 7104 CLL RAL 00215 7730 SZL SPA CLA 00216 5177 JMP NULL /NO GO 00217 1505 TAD I LOOK /GET STATUS 00220 6002 IOF /NO INTERRUPTS 00221 4305 JMS DECKON /PUT HIM ONDECK 00222 1022 TAD PC 00223 3000 DCA 0 /RESTART LOCATION 00224 7346 L7775 /NUMBER OF COMMANDS BEFORE RETURNING 00225 3022 DCA PC 00226 6001 ION 00227 5400 JMP I 0 /GO TO IT... 00230 7014 MLOOKE, -USER7+10 /LAST STATUS WORD : SUBTRACT NUMBER OF USERS /MINUS NUMBER OF USERS - SEE BEG750 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 10 /*PRNTIT* ROUTINE /ENTER WITH THE AC CONTAINING THE VALUE TO BE PRINTED AS /A DECIMAL NUMBER BETWEEN 1 AND 2047 /IF PRNT5 IS NOT 0 THEN LEADING SPACES ARE NOT PRINTED /PRNT5 IS SET TO 0 AT THE END OF THE ROUTINE 00231 0000 ITPRNT, 0 00232 3074 DCA T1 00233 3013 DCA FLTXR /SIGNIFICANCE TESTER 00234 7346 L7775 00235 3077 DCA CNTR /DO 3 LOOPS 00236 1376 TAD (PRNTLL 00237 3075 DCA T2 /LIST OF SUBTRACTIONS 00240 3076 PRNT1, DCA T3 /HOLDS DIGIT 00241 5244 JMP .+3 00242 2076 ISZ T3 /BUMP DIGIT 00243 3074 DCA T1 00244 1074 TAD T1 00245 1475 TAD I T2 /SUBTRACT 00246 7500 SMA 00247 5242 JMP .-5 00250 7200 CLA 00251 2075 ISZ T2 /POINT TO NEXT 00252 1076 TAD T3 /GET DIGIT 00253 7440 SZA 00254 5260 JMP PRNT2 /NON-ZERO 00255 1013 TAD FLTXR /SIG YET 00256 7650 SNA CLA 00257 5300 JMP PRNT3 /NO 00260 2013 PRNT2, ISZ FLTXR /NOW SIG 00261 1202 TAD C60 00262 4534 PRNT4, PRINTC /PRINT IT 00263 2077 PRNT7, ISZ CNTR 00264 5240 JMP PRNT1 /LOOP 00265 1074 TAD T1 00266 1202 TAD C60 00267 4534 PRINTC /UNITS DIGIT 00270 1277 TAD PRNT5 /FORMATTING 00271 7640 SZA CLA 00272 5275 JMP PRNT6 /NO 00273 1121 TAD C40 00274 4534 PRINTC /PRINT SPACE AFTER 00275 3277 PRNT6, DCA PRNT5 /RESET FOR LATER 00276 5631 JMP I ITPRNT 00277 0000 PRNT5, 0 00300 1277 PRNT3, TAD PRNT5 /FORMATTING 00301 7640 SZA CLA 00302 5263 JMP PRNT7 /NO 00303 1121 TAD C40 00304 5262 JMP PRNT4 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 11 /*ONDECK* ROUTINE /ROUTINE TO PUT A USER "ON DECK" /ENTER WITH HIS NUMBER ON AC BITS 9-11 00305 0200 DECKON, NULL+1 00306 0112 AND C7 /USER NUMBER ONLY 00307 3004 DCA SIN /SAVE NEW 00310 1036 TAD DECK 00311 7041 CIA 00312 1004 TAD SIN 00313 7650 SNA CLA 00314 5705 JMP I DECKON /FAST EXIT 00315 1036 TAD DECK 00316 4353 JMS DFIND /LOCATE OLD 00317 1115 TAD LSTMOD 00320 3033 DCA DINPUT 00321 1775 TAD I (XUDF+1 00322 3036 DCA XFIELD 00323 1411 TAD I XREG2 00324 6211 CDF SWAP 00325 3410 DCA I XREG /SWAP OUT OLD 00326 6201 CDF 00327 2006 ISZ TEMP2 00330 5323 JMP .-5 00331 1004 TAD SIN 00332 4353 JMS DFIND /LOCATE NEW 00333 6211 ENTRY1, CDF SWAP 00334 1410 TAD I XREG 00335 6201 CDF 00336 3411 DCA I XREG2 /SWAP IN NEW 00337 2006 ISZ TEMP2 00340 5333 JMP .-5 00341 1033 TAD DINPUT 00342 3115 DCA LSTMOD 00343 1036 TAD XFIELD 00344 3775 DCA I (XUDF+1 00345 1004 TAD SIN 00346 3036 DCA DECK /NEW USER ONDECK 00347 1106 TAD LOOKST 00350 1036 TAD DECK 00351 3006 DCA TEMP2 /POINT TO STATUS 00352 5705 JMP I DECKON 00353 0333 DFIND, ENTRY1 00354 7040 ENTRY, CMA 00355 3006 DCA TEMP2 00356 1374 TAD (ORG-1 00357 7410 SKP 00360 1371 TAD STARTP /SPACE BETWEEN 00361 2006 ISZ TEMP2 00362 5360 JMP .-2 00363 3010 DCA XREG /POINT TO USER 00364 1116 TAD STSWM1 00365 3011 DCA XREG2 /POINT TO SWAP AREA 00366 1373 TAD (STSWAP-ENSWAP-1 00367 3006 DCA TEMP2 /SWAP COUNT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 11-1 00370 5753 JMP I DFIND 00371 0051 STARTP, ENSWAP-STSWAP+1 /SPACE BETWEEN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 12 00373 7727 00374 1777 00375 7167 00376 6547 00377 6365 0400 PAGE /ERROR ROUTINE /HERE IS WHERE ERROR MESSAGES ARE PRINTED /IT IS CALLED BY A DISMISSAL WITH THE PC SET TO /ERRORX AND THE ERROR ADDRESS IN LSTMOD 00400 4567 ERRORX, FREE13 /GET ROOM 00401 1125 TAD M40 00402 3076 DCA T3 /BUFFER IS 40 LONG 00403 1377 TAD (6007 00404 0505 AND I LOOK 00405 3505 DCA I LOOK /DEASSIGN ANY DEVICES 00406 7340 L7777 00407 1046 TAD IPTR0 00410 3012 DCA XREG3 /POINT TO I BUFFER 00411 4552 UDF 00412 3412 DCA I XREG3 /CLEAR BUFFER 00413 2076 ISZ T3 00414 5212 JMP .-2 00415 6201 CDF 00416 1044 TAD IPTRI 00417 3045 DCA IPTRO /NO INPUT IN BUFFER 00420 3034 DCA OUTPUT /HAVE ECHO 00421 1376 TAD (CDF SWAP 00422 3775 DCA I (CSORTC /TABLE IS IN FIELD 1 00423 1115 TAD LSTMOD /GET ERROR CODE 00424 4537 SORTC 00425 1551 ERRLST-1 00426 1130 TAD M4 00427 1073 TAD SORTCN 00430 7540 SMA SZA 00431 5236 JMP ERROR2 /TRUE ERROR 00432 7640 SZA CLA 00433 7346 L7775 /WHAT? 00434 1345 TAD C16 /STOP 00435 7410 SKP 00436 7340 ERROR2, L7777 00437 4774 JMS I (READY1 /PRINT ERROR MESSAGE 00440 1130 TAD M4 00441 1073 TAD SORTCN 00442 7550 SPA SNA 00443 5261 JMP ERROR3 /NO NUMBER WITH THESE 00444 4706 JMS I PITPRNT /PRINT ERROR NUMBER 00445 1062 TAD ERLINE /WERE WE RUNNING DEFERRED? 00446 7750 SPA SNA CLA 00447 5261 JMP ERROR1 /NO 00450 4567 FREE13 00451 4535 GETC 00452 4534 PRINTC /I 00453 4535 GETC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 12-1 00454 4534 PRINTC /N 00455 1121 TAD C40 00456 4534 PRINTC 00457 1062 TAD ERLINE 00460 4706 JMS I PITPRNT /PRINT LINE IN ERROR ERROR1, 00461 7200 ERROR3, CLA /EDU-20 PAL8-V10D 13-OCT-96 PAGE 13 /*READY* ROUTINE /ROUTINE TO PRINT "READY" AND RESET POINTERS /ENTER THE ROUTINE AT START TO OMIT READY MESSAGE 00462 4567 READY, FREE13 00463 1133 TAD C3 00464 4774 JMS I (READY1 /PRINT "READY" 00465 4535 GETC 00466 4534 PRINTC 00467 4534 PRINTC 00470 1377 TAD (6007 00471 0505 AND I LOOK 00472 3505 DCA I LOOK /DEASSIGN DEVICES 00473 1056 START, TAD PDLST 00474 3015 DCA PDLXR /RESET PUSH-DOWN 00475 7340 L7777 00476 3115 DCA LSTMOD /SHORT LIST 00477 3062 DCA ERLINE /IMMEDIATE MODE 00500 3031 DCA MODE /CLEAR STRING MODE FLAG 00501 1373 TAD (ERR330 00502 4540 PUSHA /TRAP TOO MANY *RETURN*S 00503 4541 PUSHJ 00504 1167 PAKLIN /GET COMMAND LINE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 14 /INSERT LINE OR DO COMMAND /AFTER A COMMAND OR LINE IS PACKED INTO THE COMMAND BUFFER /THIS ROUTINE LOOKS AT IT AND EITHER STORES THE LINE OR /GOES TO THE PROPER COMMAND 00505 4554 DECODE, TESTN 00506 0231 PITPRNT, ITPRNT /A HARMLESS POINTER 00507 5761 JMP I PINPUTX /COMMAND 00510 4557 GETLN /GET LINE NUMBER 00511 1054 SRETN, TAD BUFR 00512 3016 DCA AXIN /SET TO REPACK 00513 3024 DCA XCTIN 00514 1030 TAD LINENO 00515 4552 UDF 00516 3416 DCA I AXIN /SET LINE NUMBER 00517 6201 CDF 00520 4560 TSTCCR /JUST LINE NUMBER 00521 5324 JMP .+3 /NO 00522 4762 JMS I PXDELET /DELETE THIS LINE 00523 5355 JMP VARSET 00524 2032 ISZ SPACSW /KEEP SPACES 00525 7410 SKP 00526 4535 GETC 00527 4556 PACKC /REPACK LINE 00530 4560 TSTCCR 00531 5326 JMP .-3 00532 4762 JMS I PXDELET /DELETE OLD LINE 00533 4552 UDF 00534 6002 IOF 00535 1431 TAD I LASTLN /POINTER TO NEXT 00536 3454 DCA I BUFR /POINT TO NEXT 00537 1054 TAD BUFR 00540 3431 DCA I LASTLN /OLD POINTS TO NEW 00541 1023 TAD ADD 00542 7440 SZA 00543 3416 DCA I AXIN /FINISH PACKING TO AN EVEN BOUNDARY 00544 4566 FINDLN /FIND THE LINE 00545 0016 C16, 16 00546 4541 PUSHJ 00547 4153 ENDFND /GET LAST COMMAND ON LINE--IS IT *NEXT*? 00550 7650 SNA CLA 00551 1124 TAD C10 /8 EXTRA FOR *NEXT* 00552 7001 IAC 00553 1016 TAD AXIN 00554 3054 DCA BUFR /NEW FREE POSITION 00555 1054 VARSET, TAD STARTV /RESET VARIABLES AFTER TEXT IS TOUCHED 00556 3055 DCA LASTV 00557 6001 ION 00560 5273 JMP START 00561 7720 PINPUTX, INPUTX 00562 1614 PXDELET, XDELET /EDU-20 PAL8-V10D 13-OCT-96 PAGE 15 00573 6546 00574 2152 00575 4713 00576 6211 00577 6007 0600 PAGE 00600 0000 KEY, 0 00601 1003 TAD USER 00602 4675 JMS I VDECKON /PUT HIM ONDECK 00603 1035 TAD XIOT 00604 3205 DCA .+1 /SET READ IOT 00605 7402 HLT 00606 0113 KEYMSK, AND C177 /IGNORE PARITY 00607 7450 SNA 00610 5264 JMP KEX /IGNORE 0 AND 200 00611 3004 DCA SIN /SAVE INPUT 00612 7346 L7775 00613 1004 TAD SIN 00614 7640 M140, SZA CLA 00615 5220 JMP KEY7 /NOT CTRL/C 00616 4676 ERR004, JMS I PIERROR /IMMEDIATE RECOVERY 00617 5600 JMP I KEY /NO RFC IF HE HAS READER THIS TIME 00620 1115 KEY7, TAD LSTMOD 00621 7650 SNA CLA 00622 5307 JMP KEY6 /NO ECHO - BREAK 00623 1004 TAD SIN 00624 4537 SORTC /CHECK BREAK 00625 0110 CCR-1 00626 5301 JMP KEY5 /BREAK 00627 1004 TAD SIN 00630 4537 SORTC 00631 2145 ALT-1 00632 5307 JMP KEY6 /FOUND AN ALTMODE 00633 1004 TAD SIN 00634 1120 TAD M12 00635 7650 SNA CLA 00636 5264 JMP KEX /IGNORE LINE FEED IF NOT BREAK 00637 1004 TAD SIN 00640 0300 AND P140 00641 7450 SNA 00642 5311 JMP KEY3 /ILLEGAL CHAR 00643 1214 TAD M140 00644 7650 SNA CLA 00645 5311 JMP KEY3 /ILLEGAL CHAR 00646 1004 TAD SIN 00647 4550 PRINTX /ECHO THE CHAR 00650 4316 JMS KEY4 /STORE THE CHAR 00651 1045 TAD IPTRO 00652 7041 CIA 00653 1044 TAD IPTRI /FILLED YET? 00654 7550 SPA SNA 00655 1121 TAD C40 00656 1120 TAD M12 00657 7750 SPA SNA CLA /EDU-20 PAL8-V10D 13-OCT-96 PAGE 15-1 00660 5264 JMP KEX 00661 7350 ANYINP, L3777 00662 0406 AND I TEMP2 /CLEAR I WAIT 00663 3406 DCA I TEMP2 00664 4552 KEX, UDF 00665 1444 TAD I IPTRI 00666 6201 CDF 00667 7650 SNA CLA /NO RFC IF BUFFER IS FULL 00670 1277 TAD P20 00671 0406 AND I TEMP2 /NOPE, NOW, DOES HE HAVE THE PTR? 00672 7640 SZA CLA 00673 6014 RFC /SURE NUFF 00674 5600 JMP I KEY 00675 0305 VDECKON,DECKON 00676 3552 PIERROR,IERROR 00677 0020 P20, 20 00700 0140 P140, 140 00701 7340 KEY5, L7777 00702 1073 TAD SORTCN 00703 7740 SMA SZA CLA 00704 5307 JMP .+3 /NO ECHO HERE 00705 1004 TAD SIN 00706 4550 PRINTX /ECHO BREAK CHAR - CR AND BELL 00707 4316 KEY6, JMS KEY4 /STORE CHAR 00710 5261 JMP ANYINP /BREAK HERE 00711 1112 KEY3, TAD C7 00712 4550 PRINTX /2 BELLS FOR ILLEGAL CHAR 00713 1112 TAD C7 00714 4550 PRINTX 00715 5600 JMP I KEY 00716 0000 KEY4, 0 00717 4552 UDF 00720 1444 TAD I IPTRI 00721 7640 SZA CLA 00722 5340 JMP ERR070 00723 1004 TAD SIN 00724 3444 DCA I IPTRI 00725 6201 CDF 00726 2044 ISZ IPTRI 00727 1044 TAD IPTRI 00730 7041 CIA 00731 1121 TAD C40 00732 1046 TAD IPTR0 00733 7640 SZA CLA /OK? 00734 5716 JMP I KEY4 00735 1046 TAD IPTR0 00736 3044 DCA IPTRI /NO-RESET 00737 5716 JMP I KEY4 00740 4676 ERR070, JMS I PIERROR 00741 5600 JMP I KEY /EDU-20 PAL8-V10D 13-OCT-96 PAGE 15-2 /*FLPUT* ROUTINE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 16 00742 0000 XFLPUT, 0 00743 7440 SZA 00744 5347 JMP XFLPT2 00745 7340 XFLPT1, L7777 /USE PT1 00746 1025 TAD PT1 00747 3013 XFLPT2, DCA FLTXR 00750 7340 L7777 00751 1742 TAD I XFLPUT 00752 3014 DCA FLTXR2 00753 7346 L7775 00754 3076 DCA T3 00755 1414 TAD I FLTXR2 /PUT VARIABLE 00756 4552 UDF 00757 3413 DCA I FLTXR 00760 6201 CDF 00761 2076 ISZ T3 00762 5355 JMP .-5 00763 2342 ISZ XFLPUT 00764 5742 JMP I XFLPUT 00765 0000 USER0, 0 00766 0001 USER1, 1 00767 0002 USER2, 2 00770 0003 USER3, 3 00771 0004 USER4, 4 00772 0005 USER5, 5 00773 0006 USER6, 6 00774 0007 USER7, 7 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 17 /SORRY THIS IS TO CHOPPED UP-PAGE BOUNDARY YOU KNOW 00775 4542 INPUT, PUSHF 00776 0017 TEXTP /CURSE YOU GH! 00777 4542 PUSHF 01000 0040 DATAPC+1 01001 1043 TAD DATAPC+4 01002 4540 PUSHA 01003 1111 TAD CCR 01004 3043 DCA DATAPC+4 01005 4220 JMS INREAD /SET THOSE VARIABLES 01006 5330 JMP INPUT1 /DONE 01007 4567 INPUT2, FREE13 01010 1122 TAD C77 01011 4534 PRINTC 01012 1121 TAD C40 01013 4534 PRINTC 01014 4541 PUSHJ 01015 1167 PAKLIN 01016 7340 L7777 01017 5205 JMP INPUT2-2 01020 0000 INREAD, 0 01021 7640 SZA CLA 01022 5260 JMP INREA3 /RE-ENTRY 01023 4541 PUSHJ 01024 3302 PRIN10 01025 3031 DCA MODE 01026 4541 PUSHJ 01027 4400 GETVAR 01030 7640 SZA CLA 01031 5311 JMP ERR500 /WAS FUNCTION 01032 1031 TAD MODE 01033 3032 DCA SPACSW 01034 4542 PUSHF /SAVE PT1;CHAR;LINEPC 01035 0025 PT1 01036 4542 PUSHF /SAVE TEXT 01037 0017 TEXTP 01040 4542 PUSHF 01041 0040 DATAPC+1 01042 4545 POPF /GET POINTERS 01043 0017 TEXTP 01044 1043 TAD DATAPC+4 01045 3026 DCA CHAR 01046 4572 TSTEND /DO WE NEED TO PUT IN MORE? 01047 5252 JMP INREA1 /YES 01050 2220 INREA4, ISZ INREAD /NO-DONE 01051 5620 JMP I INREAD 01052 4561 INREA1, TSTCOM /MORE? 01053 4551 ERR490, ERROR /JUNK 01054 4535 GETC 01055 4572 TSTEND /COMMA FOLLOWED BY CR OR '? 01056 7410 SKP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 17-1 01057 5250 JMP INREA4 /YES - ASK FOR MORE 01060 1031 INREA3, TAD MODE 01061 7650 SNA CLA 01062 5266 JMP .+4 01063 4541 PUSHJ 01064 5616 QINP 01065 5270 JMP .+3 01066 4541 PUSHJ 01067 2612 EVAL /EVALUATE INPUT 01070 4542 PUSHF 01071 0017 TEXTP 01072 4545 POPF 01073 0040 DATAPC+1 01074 1026 TAD CHAR 01075 3043 DCA DATAPC+4 /SAVE POINTERS 01076 4545 POPF 01077 0017 TEXTP 01100 4545 POPF 01101 0025 PT1 01102 4547 FLPUT /SET VARIABLE 01103 6726 FLARG 01104 4561 TSTCOM 01105 5310 JMP INREA2 01106 4535 GETC 01107 5223 JMP INREAD+3 01110 4572 INREA2, TSTEND 01111 4551 ERR500, ERROR /JUNK 01112 5620 JMP I INREAD 01113 7340 L7777 01114 4220 READ, JMS INREAD /SET THOSE VARIABLES 01115 5544 POPJ 01116 1031 READ1, TAD MODE 01117 4540 PUSHA 01120 1037 TAD DATAPC 01121 4564 FIND 01122 0003 3 01123 4551 ERR510, ERROR /OUT OF DATA 01124 3037 DCA DATAPC 01125 4543 POPA 01126 3031 DCA MODE 01127 5313 JMP READ-1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 18 01130 1043 INPUT1, TAD DATAPC+4 /FINISH UP INPUT 01131 3026 DCA CHAR 01132 4572 TSTEND 01133 5253 JMP ERR490 01134 4543 POPA 01135 3043 DCA DATAPC+4 01136 4545 POPF /RESTORE POINTERS--THIS WAS INPUT, NOT *READ*; DONT MOVE /DATA POINTERS 01137 0040 DATAPC+1 01140 4545 POPF 01141 0017 TEXTP 01142 3026 DCA CHAR 01143 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 19 01144 0057 VLIN0, ALINE0 /TEXT INITIALIZATION ROUTINES 01145 0000 INPACK, 0 01146 1060 TAD COMBUF 01147 3016 DCA AXIN 01150 3024 DCA XCTIN 01151 1060 TAD COMBUF 01152 3052 DCA PACKST 01153 1344 TAD VLIN0 01154 3053 DCA PACKND 01155 5745 JMP I INPACK 01156 0000 OTPACK, 0 01157 1060 TAD COMBUF 01160 3017 DCA AXOUT 01161 3021 DCA XCT 01162 3032 DCA SPACSW 01163 1111 TAD VPDLXR 01164 3053 DCA PACKND 01165 4535 GETC 01166 5756 JMP I OTPACK 01167 4345 PAKLIN, JMS INPACK 01170 4571 READC 01171 4556 PACKC 01172 4560 TSTCCR 01173 5370 JMP .-3 01174 4556 PACKC /FINISH PACKING CR 01175 4356 JMS OTPACK 01176 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 20 /*IF* COMMAND 01177 4541 IF, PUSHJ /GET FIRST VALUE 01200 2612 EVAL 01201 4542 PUSHF /AND SAVE IT 01202 6726 FLARG 01203 1031 TAD MODE 01204 4540 PUSHA 01205 1073 TAD SORTCN 01206 1120 TAD M12 01207 7510 SPA 01210 4551 ERR390, ERROR /NO RELATION OR BAD RELATION 01211 7126 CLL CML RTL 01212 3376 DCA IF1 /SAVE REL OP 01213 4535 GETC 01214 4537 SORTC /ANOTHER OP? 01215 1400 TERMS-1 01216 5265 JMP IF2 /MIGHT BE... 01217 7200 IF3, CLA 01220 1376 TAD IF1 01221 4537 SORTC /CHECK OP 01222 7735 IF4-1 01223 7410 SKP 01224 5206 JMP IF+7 /BAD OP 01225 1073 TAD SORTCN 01226 1276 TAD PIF5 01227 3376 DCA IF1 01230 1776 TAD I IF1 /GET FLOATING SKIP WORD 01231 3253 DCA IF6 01232 4541 PUSHJ /GET 2ND VALUE 01233 2612 EVAL 01234 7346 L7775 01235 4563 COMMAN /GET THEN 01236 7650 SNA CLA 01237 4551 ERR400, ERROR /NOT THEN 01240 4543 POPA 01241 1031 TAD MODE 01242 7640 SZA CLA 01243 5336 JMP IFSTR 01244 4545 POPF 01245 6726 FLARG 01246 4407 FINT 01247 6507 FCMP I FLARGP /GET DIFFERENCE 01250 7507 FPUT I FLARGP /AND SAVE IT 01251 0000 FEXT 01252 1507 IF7, GETSGN 01253 7402 IF6, HLT /SKIP IF FALSE 01254 4554 TESTN 01255 5544 POPJ /NOT TRUE (NOTICE WIERD NOP--IF (EXP) (REL) (EXP) THEN .) 01256 5664 JMP I PRUNIN /NON-DIGIT--MUST BE COMMAND 01257 4557 GOTO, GETLN /DIGIT--ASSUME GOTO 01260 4572 TSTEND 01261 4551 ERR270, ERROR 01262 1030 TAD LINENO /TRANSFER TO THE LINE 01263 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 20-1 01264 2514 PRUNIN, RUN8 01265 1073 IF2, TAD SORTCN 01266 1120 TAD M12 01267 7510 SPA 01270 5217 JMP IF3 /NO 2ND OP 01271 7001 IAC 01272 1376 TAD IF1 01273 3376 DCA IF1 01274 4535 GETC 01275 5220 JMP IF3+1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 21 01276 3743 PIF5, IF5 01277 3400 LXOUTL2, XOUTL2 01300 0000 TTY, 0 01301 1003 TAD USER 01302 4733 JMS I PDECKON /PUT HIM ONDECK 01303 3051 DCA TELSW /CLEAR BUSY 01304 4552 UDF 01305 1450 TTY3, TAD I OPTRO /MORE 01306 7450 SNA 01307 5324 JMP TTY2 /NO 01310 4677 JMS I LXOUTL2 /OUTPUT IT 01311 4552 UDF 01312 3450 DCA I OPTRO /CLEAR BUFFER 01313 2050 ISZ OPTRO /BUMP BUFFER 01314 1050 TAD OPTRO 01315 7041 CIA 01316 1046 TAD IPTR0 01317 7640 SZA CLA 01320 5324 JMP TTY2 /OK 01321 1046 TAD IPTR0 01322 1125 TAD M40 01323 3050 DCA OPTRO /RESET BUFFER 01324 4734 TTY2, JMS I AXFREE /ROOM AVAILABLE 01325 7000 NOP 01326 5700 JMP I TTY /NOT ENOUGH ROOM 01327 7352 L5777 01330 0406 AND I TEMP2 /CLEAR O WAIT 01331 3406 DCA I TEMP2 01332 5700 JMP I TTY 01333 0305 PDECKON, DECKON 01334 5514 AXFREE, XFREE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 22 01335 1375 VIF1, IF1-1 01336 4545 IFSTR, POPF /STRING *IF* 01337 1376 IF1 /SAVE FIRST STRING 01340 1107 TAD FLARGP /POINT TO THE STRINGS 01341 3031 DCA MODE 01342 1335 TAD VIF1 01343 3013 DCA FLTXR 01344 7346 L7775 /DO AN INTEGER COMPARE ON 3 WORDS 01345 3076 DCA T3 01346 1413 IFSTR1, TAD I FLTXR /SUBTRACT WORDS, GET SIGN OF DIFFERENCE 01347 7040 CMA /THIS GARBAGE CONVERTS CR'S TO ZEROES 01350 3074 DCA T1 /AND ADDS ONE TO EACH CHARACTER 01351 1074 TAD T1 /SO COMPARES OF DIFFERENT LENGTHS COME OUT OK 01352 0122 AND C77 01353 7640 SZA CLA 01354 1127 TAD C7700 01355 1074 TAD T1 01356 3074 DCA T1 01357 1431 TAD I MODE 01360 7001 IAC 01361 0122 AND C77 01362 3075 DCA T2 01363 1431 TAD I MODE 01364 1131 TAD C100 01365 0127 AND C7700 01366 1075 TAD T2 01367 1074 TAD T1 01370 7440 SZA /IF DIFFERENCE ZERO, TRY ANOTHER PAIR 01371 5253 JMP IF6 /NON ZERO DIFFERENCE, COMPARE THEM 01372 2031 ISZ MODE 01373 2076 ISZ T3 01374 5346 JMP IFSTR1 01375 5253 JMP IF6 /IF DONE, COMPARE THEM 01376 0000 IF1, 0 01377 0000 0 01400 0000 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 23 01401 0040 TERMS, 40 /SPACE 0 01402 0053 53 /+ 1 01403 0055 55 /- 2 01404 0052 52 /* 3 01405 0057 57 // 4 01406 0136 136 /^ 5 01407 0050 50 /( 6 01410 0133 133 /[ 7 01411 0051 51 /) 10 01412 0135 135 /] 11 01413 0074 74 /< 12 01414 0076 76 /> 13 01415 0075 75 /= 14 /*LET* AND *FOR* COMMANDS 01416 7340 FOR, L7777 01417 3361 LET, DCA FOR1 /SAVE DETERMINATOR 01420 4541 PUSHJ /GET VARIABLE 01421 4400 GETVAR 01422 7650 SNA CLA /WAS FUNCTION!?! 01423 1026 TAD CHAR 01424 1340 TAD MEQL 01425 7640 SZA CLA 01426 4551 ERR410, ERROR /NO "=" 01427 4542 LET2, PUSHF /SAVE ADD,XCTIN,PT1 01430 0023 ADD 01431 4541 PUSHJ /GET VALUE 01432 2611 EVAL-1 01433 4545 POPF 01434 0023 ADD 01435 4547 FLPUT /SET VARIABLE 01436 6726 FLARG 01437 7340 L7777 /COUNT BACK FOR SAFETY 01440 1017 TAD AXOUT 01441 3362 DCA FOR5 01442 2361 ISZ FOR1 /WHICH COMMAND? 01443 5341 JMP LET1 /LET COMMAND 01444 1023 TAD ADD 01445 7710 SPA CLA 01446 4551 ERR420, ERROR /SUBSCRIPTED 01447 4563 COMMAN /GET WORD 01450 1130 TAD M4 01451 7640 SZA CLA 01452 5351 JMP FOR2+3 /NOT *TO* 01453 1025 TAD PT1 01454 7041 CIA 01455 3361 DCA FOR1 /SAVE POINTER 01456 4541 PUSHJ /GET LIMIT 01457 2612 EVAL 01460 4542 PUSHF /SAVE LIMIT 01461 6726 FLARG 01462 4572 TSTEND 01463 5346 JMP FOR2 /GET INCREMENT 01464 4542 PUSHF /INCREMENT IS ONE 01465 4354 FLTONE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 23-1 01466 1030 FOR3, TAD LINENO 01467 4540 PUSHA 01470 1030 TAD LINENO 01471 7410 SKP 01472 4543 FOR4, POPA 01473 4564 FIND /FIND A *NEXT* STATEMENT 01474 0001 1 /-NEXT CODE 01475 4551 ERR440, ERROR /OUT OF TEXT 01476 4540 PUSHA /SAVE FOR RESTART 01477 4562 TSTALP 01500 5272 JMP FOR4 01501 4541 PUSHJ /GET VARIABLE 01502 4400 GETVAR 01503 7640 SZA CLA 01504 3025 DCA PT1 /NO SECOND CHANCE ON FUNCTION 01505 4560 TSTCCR 01506 5763 JMP I NEXERR /WE GOTTA CHECK THAT *NEXT* IS LAST ON LINE NOW, OR WE MIGHT /WIPE OUT HIS PROGRAM [AND THE SYSTEM?] 01507 1025 TAD PT1 01510 1361 TAD FOR1 01511 7640 SZA CLA 01512 5272 JMP FOR4 /LOOP 01513 2015 ISZ PDLXR /DUMP RESTART 01514 4543 POPA 01515 3030 DCA LINENO 01516 1030 TAD LINENO 01517 4552 UDF 01520 3417 DCA I AXOUT /SET TEXT AND LINE POINTERS 01521 1362 TAD FOR5 01522 3417 DCA I AXOUT /SET POINTER 01523 6201 CDF 01524 4545 POPF /GET INCREMENT 01525 6726 FLARG 01526 1017 TAD AXOUT 01527 4547 FLPUT /PUT INCREMENT 01530 6726 FLARG 01531 4545 POPF /GET LIMIT 01532 6726 FLARG 01533 1133 TAD C3 01534 1017 TAD AXOUT 01535 4547 FLPUT /SET LIMIT 01536 6726 FLARG 01537 4566 FINDLN 01540 7703 MEQL, -"=+200 01541 4572 LET1, TSTEND 01542 4551 ERR450, ERROR /JUNK 01543 1362 TAD FOR5 01544 5745 JMP I .+1 01545 2470 FOREXT 01546 7344 FOR2, L7776 01547 4563 COMMAN /IS IT STEP? 01550 7650 SNA CLA 01551 4551 ERR430, ERROR /NOT STEP 01552 4541 PUSHJ /GET INCREMENT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 23-2 01553 2612 EVAL 01554 4542 PUSHF /SAVE INCREMENT 01555 6726 FLARG 01556 4572 TSTEND 01557 5351 JMP FOR2+3 /JUNK 01560 5266 JMP FOR3 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 24 01561 0000 FOR1, 0 01562 0000 FOR5, 0 /AXOUT SAVE REG 01563 2400 NEXERR, ERR460 01564 4562 UNKWN, TSTALP 01565 5777 JMP I PERRR 01566 4541 PUSHJ 01567 4400 GETVAR 01570 7650 SNA CLA /NO WAY 01571 1026 TAD CHAR 01572 1340 TAD MEQL 01573 7640 SZA CLA 01574 5365 JMP UNKWN+1 /NO "=" 01575 3361 DCA FOR1 /MAKE IT A LET COMMAND 01576 5227 JMP LET2 01577 4362 PERRR, ERRCHK /*NEW* AND *BYE* AND *SCRATCH* AND *END* COMMANDS 01600 4560 BYE, TSTCCR 01601 4551 ERR002, ERROR 01602 4552 UDF 01603 3457 DCA I ALINE0 01604 7326 L0002 01605 1057 TAD ALINE0 01606 3054 DCA BUFR 01607 1054 END, TAD STARTV 01610 3055 DCA LASTV 01611 5502 JMP I AREADY /EDU-20 PAL8-V10D 13-OCT-96 PAGE 25 01612 0000 FATNC, 0 01613 0000 0 /LAST WORD IS SUBR START /*DELETE* ROUTINE 01614 0000 XDELET, 0 01615 4566 FINDLN /FIND THE LINE 01616 5614 JMP I XDELET /NOT THERE - EXIT 01617 2032 ISZ SPACSW 01620 4535 GETC 01621 4560 TSTCCR /GO TO END OF LINE 01622 5220 JMP .-2 01623 1017 TAD AXOUT 01624 7040 CMA 01625 1027 TAD LINEPC 01626 4540 PUSHA /SAVE COUNT 01627 1027 TAD LINEPC 01630 7001 IAC 01631 3017 DCA AXOUT /TO UNPACK 01632 3021 DCA XCT 01633 4541 PUSHJ 01634 4153 ENDFND /GET LAST COMMAND HERE 01635 7650 SNA CLA 01636 1123 TAD M10 01637 4543 POPA 01640 3076 DCA T3 /CORRECTED COUNT 01641 1027 TAD LINEPC 01642 7041 CIA 01643 1057 TAD ALINE0 01644 7650 SNA CLA 01645 5614 JMP I XDELET /NOT LINE0 01646 4552 UDF 01647 1427 TAD I LINEPC /GET POINTER 01650 3431 DCA I LASTLN /REMOVE LINE 01651 1057 TAD ALINE0 01652 3075 XDEL3, DCA T2 /CURRENT LINE 01653 1475 TAD I T2 01654 7450 SNA 01655 5271 JMP XDEL2 /OUT OF TEXT 01656 3074 DCA T1 01657 1027 TAD LINEPC 01660 7141 CLL CIA 01661 1074 TAD T1 01662 7630 SZL CLA 01663 1076 TAD T3 /CORRECT LINE 01664 1074 TAD T1 01665 3475 DCA I T2 01666 1074 TAD T1 01667 5252 JMP XDEL3 01670 4473 PERR, ERR100-2 01671 7340 XDEL2, L7777 01672 1027 TAD LINEPC 01673 3012 DCA XREG3 01674 1076 TAD T3 01675 7040 CMA 01676 1027 TAD LINEPC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 25-1 01677 3017 DCA AXOUT 01700 1076 TAD T3 01701 1054 TAD BUFR 01702 3054 DCA BUFR 01703 1016 TAD AXIN 01704 7040 CMA 01705 1017 TAD AXOUT 01706 3074 DCA T1 01707 1076 TAD T3 01710 1016 TAD AXIN 01711 3016 DCA AXIN 01712 1417 TAD I AXOUT 01713 3412 DCA I XREG3 /MOVE TEXT 01714 2074 ISZ T1 01715 5312 JMP .-3 01716 5215 JMP XDELET+1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 26 /PUSH ROUTINES 01717 0000 XPUSHA, 0 01720 3332 DCA XPUSHJ 01721 7340 L7777 /BACK 1 01722 4337 JMS PCHK 01723 1332 TAD XPUSHJ 01724 4552 UDF 01725 3415 DCA I PDLXR /PUSH IT 01726 6201 CDF 01727 7340 L7777 01730 4337 JMS PCHK /BACK AGAIN 01731 5717 JMP I XPUSHA 01732 0000 XPUSHJ, 0 01733 1732 TAD I XPUSHJ /GET SEND ADDRESS 01734 3317 DCA XPUSHA 01735 2332 ISZ XPUSHJ /GET RETURN ADDRESS 01736 5321 JMP XPUSHA+2 01737 0000 PCHK, 0 01740 1015 TAD PDLXR 01741 3015 DCA PDLXR 01742 7326 L0002 01743 1055 TAD LASTV 01744 7141 CLL CIA 01745 1015 TAD PDLXR 01746 7620 SNL CLA 01747 5670 JMP I PERR 01750 5737 JMP I PCHK /*PUSHF* ROUTINE 01751 0000 XPUSHF, 0 01752 7340 L7777 01753 1751 TAD I XPUSHF 01754 3012 DCA XREG3 /POINT TO DATA 01755 7346 L7775 01756 4337 JMS PCHK /BACK 3 01757 7346 L7775 01760 3076 DCA T3 01761 1412 TAD I XREG3 01762 4552 UDF 01763 3415 DCA I PDLXR /PUSH DATA 01764 6201 CDF 01765 2076 ISZ T3 01766 5361 JMP .-5 01767 7346 L7775 01770 4337 JMS PCHK /BACK 3 AGAIN 01771 2351 ISZ XPUSHF 01772 5751 JMP I XPUSHF 1777 *1777 01777 4407 RND, FINT 02000 0063 FGET FRNDX 02001 0000 FEXT 02002 6212 CIF SWAP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 26-1 02003 5604 JMP I .+1 02004 1461 RND1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 27 02005 0000 MANCOM, 0 02006 3014 DCA FLTXR2 /SAVE AC 02007 1377 TAD (LIST7 /START AT BEGINNING OF LIST 02010 6211 CDF SWAP /IN FIELD 1 02011 3075 COMLP1, DCA T2 /LIST POINTER 02012 7326 L0002 02013 3074 DCA T1 /LETTER POINTER 02014 1475 TAD I T2 /GET -UNIQUE COUNT-1 02015 7012 RTR / 02016 0112 AND C7 / 02017 7110 CLL RAR / 02020 7040 CMA / 02021 3077 DCA CNTR / 02022 4272 JMS COM11 /UNIQUE? 02023 5232 JMP COM3 /YES - TRY REST 02024 2075 ISZ T2 /GET NEXT COMMAND IN LIST 02025 1475 TAD I T2 / 02026 7440 SZA /END OF LIST? 02027 5211 JMP COMLP1 /NO - GO ON 02030 6201 COM5, CDF /YES - RETURN FAILURE 02031 5605 JMP I MANCOM /AC=0 02032 1475 COM3, TAD I T2 /GET -FULL LENGTH-3 02033 0112 AND C7 / 02034 1376 TAD (2 / 02035 7040 CMA / 02036 1074 TAD T1 /T1=UNIQUE POINTER+1 02037 3077 DCA CNTR /-NO. OF CHARS TO GO-1 02040 4272 JMS COM11 /LONG FORM OF COMMAND? 02041 5243 JMP COM4 /YES - THROW OUT SHORT POINTERS 02042 5246 JMP COM8 02043 1132 COM4, TAD C4 /DELETE LAST 4 ENTRIES FROM PDL 02044 1015 TAD PDLXR / 02045 3015 DCA PDLXR / 02046 1475 COM8, TAD I T2 02047 4553 RTL6 02050 7004 RAL 02051 0122 AND C77 /GET CODE 02052 1125 TAD M40 /CORRECT IT 02053 3013 DCA FLTXR /AND SAVE IT 02054 1014 TAD FLTXR2 02055 7450 SNA 02056 5262 JMP .+4 /NO DOUBLE CHECK 02057 1013 TAD FLTXR 02060 7640 SZA CLA 02061 5270 JMP COM7 /DOUBLE CHECK FAILS 02062 6201 CDF 02063 1132 TAD C4 02064 1015 TAD PDLXR /DUMPPDLJUNK 02065 3015 DCA PDLXR 02066 1013 TAD FLTXR 02067 5605 JMP I MANCOM 02070 4333 COM7, JMS COMPOP /RESET POINTERS TO ENTRY VALUES /EDU-20 PAL8-V10D 13-OCT-96 PAGE 27-1 02071 5230 JMP COM5 /TAKE FAILURE RETURN 02072 0000 COM11, 0 /COMMAND COMPARISON 02073 6201 CDF 02074 4542 PUSHF 02075 0017 TEXTP /SAVE TEXT POINTERS 02076 1026 TAD CHAR / 02077 4540 PUSHA / 02100 6211 COMLP2, CDF SWAP 02101 2077 ISZ CNTR /-NO. OF CHARS TO GO-1 02102 7410 SKP 02103 5672 JMP I COM11 /SUCCESS RETURN FROM COM11 02104 1074 TAD T1 02105 7110 CLL RAR 02106 1075 TAD T2 02107 3012 DCA XREG3 02110 1412 TAD I XREG3 02111 7430 SZL 02112 5315 JMP .+3 02113 4553 RTL6 02114 7004 RAL 02115 0122 AND C77 02116 7450 SNA 02117 1375 TAD (-215+337 02120 1351 TAD M137 02121 1026 TAD CHAR 02122 7640 SZA CLA /SAME SO FAR? 02123 5330 JMP COM13 /NO GO 02124 6201 CDF 02125 4535 GETC /NEXT CHAR 02126 2074 ISZ T1 /LETTER POINTER 02127 5300 JMP COMLP2 /LOOP 02130 2272 COM13, ISZ COM11 /FAILURE RETURN FROM COM11 02131 4333 JMS COMPOP /RESTORE TEXT POINTERS TO ENTRY VALUES 02132 5672 JMP I COM11 02133 0000 COMPOP, 0 /RESTORE TEXT POINTERS FROM PDL 02134 4543 POPA 02135 3026 DCA CHAR 02136 4545 POPF 02137 0017 TEXTP 02140 6211 CDF SWAP 02141 5733 JMP I COMPOP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 28 02142 0137 XGETL1, 137 /CR 02143 0100 100 /BELL 02144 0040 40 /SPACE 02145 7167 AXUDF, XUDF+1 /NEGATIVE ENDS LIST 02146 0175 ALT, 175 02147 0176 176 02150 0033 33 /ALL THOSE ALTMODES 02151 7641 M137, -137 /NEGATIVE ENDS LIST /SUBROUTINE TO WRITE OUT MESSAGES 02152 0000 READY1, 0 02153 3017 DCA AXOUT /POINT TO MESSAGE 02154 3021 DCA XCT 02155 1126 TAD M6 02156 3075 DCA T2 02157 1745 TAD I AXUDF /FIELD 1? 02160 1374 TAD (-6211 02161 7650 SNA CLA 02162 1373 TAD (STMV /YES - DISPLACE ADDRESS 02163 1017 TAD AXOUT 02164 3017 DCA AXOUT 02165 4535 RDY1, GETC 02166 4534 PRINTC /PRINT MESSAGE 02167 2075 ISZ T2 02170 5365 JMP RDY1 02171 5752 JMP I READY1 02173 1000 02174 1567 02175 0122 02176 0002 02177 1046 2200 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 29 /*EDIT* COMMAND 02200 4557 EDIT, GETLN /GET LINE NUMBER 02201 4560 TSTCCR 02202 7410 SKP /JUNK 02203 4566 FINDLN /FIND THE LINE 02204 4551 ERR001, ERROR /NOT THERE 02205 2032 ISZ SPACSW 02206 4770 JMS I CINPACK /SET TO PACK IT 02207 3115 MODF2, DCA LSTMOD /READ SILENTLY 02210 4571 READC 02211 1026 MODF3, TAD CHAR 02212 3115 DCA LSTMOD /SET SEARCH CHARACTER 02213 4535 MODF1, GETC 02214 4570 FREE2 02215 4534 PRINTC /PRINT LINE UNTIL... 02216 4536 SORTJ 02217 0110 CCR-1 02220 1316 MODL1-CCR 02221 4556 PACKC /KEEP PACKING 02222 5213 JMP MODF1 02223 4556 MODF4, PACKC /PACK IT 02224 4571 READC /GET CHARS 02225 4536 SORTJ /CHECK THEM 02226 0110 CCR-1 02227 1266 MODL2-CCR 02230 5223 JMP MODF4 02231 4556 MODF5, PACKC /PACK THE CR 02232 4556 PACKC 02233 4771 JMS I COTPACK /SET TO UNPACK IT 02234 5757 JMP I CSRETN /*DELETE* COMMAND 02235 4333 DELET, JMS GETLIM /GET LIMITS 02236 1054 TAD BUFR 02237 3016 DCA AXIN /PROTECT TEXT 02240 4314 JMS GETLIN /GET A LINE 02241 5502 JMP I AREADY /WE ARE DONE 02242 4765 JMS I CXDELET /DELETE IT 02243 1031 TAD LASTLN 02244 3027 DCA LINEPC /RESTORE POINTERS 02245 5240 JMP .-5 /LOOP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 30 /*LIST* COMMAND 02246 4333 LIST, JMS GETLIM /GET LIMITS 02247 2032 ISZ SPACSW /KEEP SPACES 02250 1127 TAD M100 02251 3025 DCA PT1 02252 1034 TAD OUTPUT 02253 7650 SNA CLA 02254 5263 JMP LLIST3-3 /NORMAL MODE 02255 3034 DCA OUTPUT /WE WILL OUTPUT FOR A WHILE 02256 4570 LLIST5, FREE2 02257 7330 L4000 02260 4534 PRINTC /DO L/T 02261 2025 ISZ PT1 02262 5256 JMP LLIST5 02263 4570 FREE2 02264 1111 TAD CCR 02265 4534 PRINTC 02266 4314 LLIST3, JMS GETLIN /GET A LINE 02267 5301 JMP LLIST4 /WE ARE DONE 02270 4567 FREE13 02271 1030 TAD LINENO 02272 4767 JMS I CITPRNT /PRINT THE NUMBER 02273 4535 GETC 02274 4570 FREE2 02275 4534 PRINTC /PRINT THE LINE 02276 4560 TSTCCR 02277 5273 JMP .-4 /UNTIL A CR 02300 5266 JMP LLIST3 /LOOP 02301 1025 LLIST4, TAD PT1 /DID WE PUNCH TRAILER?? 02302 7640 SZA CLA 02303 5502 JMP I AREADY /NORMAL SO EXIT 02304 1127 TAD M100 02305 3025 DCA PT1 /DO IT AGAIN, TURN ECHO OFF 02306 4570 LLIST6, FREE2 02307 7330 L4000 02310 4534 PRINTC 02311 2025 ISZ PT1 02312 5306 JMP LLIST6 02313 5766 JMP I CTAPE 02314 0000 GETLIN, 0 02315 1111 TAD CCR 02316 3026 DCA CHAR /FOOL NXTGET 02317 4565 GETNXT /GET NEXT LINE 02320 5714 JMP I GETLIN /OUT OF TEXT 02321 4543 POPA 02322 3076 DCA T3 /GET LIMIT 02323 1076 TAD T3 02324 4540 PUSHA /SAVE LIMIT 02325 1030 TAD LINENO 02326 7041 CIA 02327 1076 TAD T3 02330 7700 SMA CLA 02331 2314 ISZ GETLIN /OK /EDU-20 PAL8-V10D 13-OCT-96 PAGE 30-1 02332 5714 JMP I GETLIN 02333 0000 GETLIM, 0 02334 4560 TSTCCR 02335 5341 JMP LIMGT1 /NOT ALL 02336 3031 DCA LASTLN /START AT 0 02337 7350 L3777 02340 5351 JMP LIMGT3 02341 4557 LIMGT1, GETLN /GET A LINE NUMBER 02342 1030 TAD LINENO 02343 3031 DCA LASTLN /AND SAVE IT 02344 4561 TSTCOM 02345 5363 JMP LIMGT2 /ONLY ONE LINE 02346 4535 GETC 02347 4557 GETLN /GET LINE NUMBER 02350 1030 TAD LINENO 02351 4540 LIMGT3, PUSHA /UPPER LIMIT 02352 1031 TAD LASTLN 02353 3030 DCA LINENO /LOWER LIMIT 02354 4560 TSTCCR 02355 5204 JMP ERR001 /JUNK 02356 4566 LIMGT4, FINDLN /FIND THE LINE 02357 0511 CSRETN, SRETN 02360 1031 TAD LASTLN 02361 3027 DCA LINEPC /AND GO BACK ONE 02362 5733 JMP I GETLIM 02363 1031 LIMGT2, TAD LASTLN /1ST = 2ND 02364 5351 JMP LIMGT3 02365 1614 CXDELET, XDELET 02366 7653 CTAPE, TAPE 02367 0231 CITPRNT, ITPRNT 02370 1145 CINPACK, INPACK 02371 1156 COTPACK, OTPACK /EDU-20 PAL8-V10D 13-OCT-96 PAGE 31 /ABSOLUTE VALUE FUNCTION 02372 3066 ABS, DCA ACSIGN 02373 5544 POPJ /ONE OF THE LONGER FUNCTIONS /*NEXT* COMMAND 02374 4541 NEXT, PUSHJ /GET VARIABLE 02375 4400 GETVAR 02376 7650 SNA CLA /WAS FUNCTION? 02377 4560 TSTCCR /*NEXT* !MUST! BE LAST ON LINE 02400 4551 ERR460, ERROR 02401 4407 FINT 02402 0507 FGET I FLARGP /PUT VARIABLE INTO FLAC 02403 0000 FEXT 02404 4552 UDF 02405 1417 TAD I AXOUT 02406 7450 SNA 02407 4551 ERR470, ERROR /NEXT NOT INITIALIZED 02410 3075 DCA T2 02411 1417 TAD I AXOUT 02412 4540 PUSHA 02413 1017 TAD AXOUT 02414 4546 FLGET /GET INCREMENT 02415 6726 FLARG 02416 1507 GETSGN 02417 7700 NEXT3, SMA CLA 02420 1266 TAD C50 /POSITIVE INCREMENT 02421 1217 TAD NEXT3 /NEGATIVE INCREMENT 02422 3242 DCA NEXT1 /SET LIMIT TEST INSTRUCTION 02423 4407 FINT 02424 1507 FADD I FLARGP /BUMP VARIABLE 02425 7507 FPUT I FLARGP /SAVE VALUE 02426 0000 FEXT 02427 4547 FLPUT /SET VARIABLE 02430 6726 FLARG 02431 1133 TAD C3 02432 1017 TAD AXOUT 02433 4546 FLGET /GET LIMIT 02434 6726 FLARG 02435 4407 FINT 02436 2507 FSUB I FLARGP 02437 7507 FPUT I FLARGP 02440 0000 FEXT 02441 1507 GETSGN /SIGN OF DIFFERENCE 02442 7402 NEXT1, HLT /SKIP IF DONE 02443 5263 JMP NEXT2 /NOT DONE 02444 7340 L7777 02445 1017 TAD AXOUT 02446 3074 DCA T1 02447 4552 UDF 02450 3474 DCA I T1 /NOT INITIALIZED NOW 02451 2015 RETURN, ISZ PDLXR /*RETURN* AND *POPJ* 02452 4572 TSTEND 02453 4551 ERR320, ERROR 02454 3012 XPOPJ, DCA XREG3 02455 4543 POPA /EDU-20 PAL8-V10D 13-OCT-96 PAGE 31-1 02456 3076 DCA T3 02457 1012 TAD XREG3 02460 5476 JMP I T3 02461 4543 GOSUB1, POPA 02462 7410 SKP 02463 1075 NEXT2, TAD T2 02464 3030 DCA LINENO 02465 4566 FINDLN 02466 0050 C50, 50 02467 4543 POPA 02470 3017 FOREXT, DCA AXOUT 02471 3026 DCA CHAR 02472 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 32 /*RUN* COMMAND 02473 1054 RUN, TAD STARTV /NO VARIABLES 02474 3055 DCA LASTV 02475 4542 PUSHF /SET RANDOM NUMBER 02476 2561 FRNDX1 02477 4545 POPF 02500 0063 FRNDX 02501 4355 JMS RUN4 /ZAP THE *NEXT* STATEMENTS 02502 1057 IDNE, TAD ALINE0 02503 3027 DCA LINEPC 02504 4565 RUN7, GETNXT /NEXT COMMAND FOR EXECUTION 02505 5502 JMP I AREADY 02506 3032 RUN6, DCA SPACSW /NEED TO IGNORE SPACES 02507 4535 GETC 02510 2022 ISZ PC 02511 5315 JMP RUN8+1 02512 4341 JMS RUN9 /WE'VE HAD OUR TIME SLICE NOW 02513 7410 SKP 02514 2015 RUN8, ISZ PDLXR /POISON--WATCH IT! 02515 3031 DCA MODE 02516 1030 TAD LINENO 02517 3062 DCA ERLINE 02520 4563 COMMAN 02521 7540 SMA SZA /LEGAL COMMAND? 02522 5777 JMP I (ERRCHK 02523 1376 TAD (COMGOL+16 02524 3074 DCA T1 02525 6211 CDF SWAP 02526 1474 TAD I T1 02527 6201 CDF 02530 3332 DCA .+2 02531 4541 PUSHJ 02532 0000 0 /AND GO TO IT 02533 7450 SNA /NORMAL RETURN:AC=0, TRANSFER RETURN:AC=LINENO 02534 5304 JMP RUN7 02535 3030 DCA LINENO 02536 4566 GOSUB2, FINDLN /LOOK FOR REQUESTED LINE 02537 4551 ERR380, ERROR /IT'S NOT THERE 02540 5306 JMP RUN6 02541 0000 RUN9, 0 /DISMISSAL ROUTINE:SET PC FOR RETURN 02542 1341 TAD RUN9 02543 3022 DCA PC 02544 5177 JMP NULL /EDU-20 PAL8-V10D 13-OCT-96 PAGE 33 02545 4355 FLOTRX, JMS RUN4 /ZAP THE *NEXT* STATEMENTS 02546 7340 L7777 02547 1060 TAD COMBUF 02550 3027 DCA LINEPC 02551 4775 JMS I (OTPACK 02552 7340 L7777 02553 3030 DCA LINENO 02554 5315 JMP RUN8+1 02555 0000 RUN4, 0 /UNINITIALIZE ALL THE *NEXT* STATEMENTS 02556 7200 CLA 02557 1062 TAD ERLINE /START AT LINE 0 02560 4564 FIND /FIND THE *NEXT* STATEMENTS 02561 0001 FRNDX1, 1 02562 5755 JMP I RUN4 02563 3062 DCA ERLINE 02564 4541 PUSHJ 02565 4400 GETVAR 02566 7650 SNA CLA /MUST NOT BE FUNCTION, 02567 4560 TSTCCR /MUST BE END OF LINE 02570 5200 JMP ERR460 02571 4552 UDF 02572 3417 DCA I AXOUT /NOT INITIALIZED NOW 02573 5356 JMP RUN4+1 02575 1156 02576 1045 02577 4362 2600 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 34 /EXPRESSION EVALUATOR 02600 0000 ECALL, 0 02601 1073 TAD SORTCN 02602 4540 PUSHA 02603 1101 TAD LASTOP 02604 4540 PUSHA 02605 1077 TAD EFOP 02606 4540 PUSHA 02607 1200 TAD ECALL 02610 4540 PUSHA /RETURN ADDRESS 02611 4535 GETC 02612 3101 EVAL, DCA LASTOP /0 IS END 02613 1353 TAD EVAL1 02614 4540 PUSHA /SAVE EVAL1 02615 3353 DCA EVAL1 /0 EVAL1 02616 4555 TESTC 02617 5223 JMP ETERM1 /INITIAL TERMINATOR 02620 5241 JMP ENUM /NUMBER 02621 5344 JMP EVAR /VARIABLE 02622 5777 JMP I (QUOTES /OTHER 02623 1376 ETERM1, TAD (FLZERO 02624 3025 DCA PT1 /0 DATA 02625 7344 L7776 02626 1073 TAD SORTCN 02627 7450 SNA 02630 5261 JMP ETERM /MINUS 02631 7001 IAC 02632 7650 SNA CLA 02633 5336 JMP ARGNXT /PLUS 02634 4573 ELPAR, TSTLPR 02635 5354 JMP EVAL2 /CHECK UNARY 02636 4200 EPAR2, JMS ECALL /RECURSIVE CALL 02637 2015 ISZ PDLXR 02640 5775 JMP I (ENDFUN /END AS FUNCTION 02641 1107 ENUM, TAD FLARGP 02642 3025 DCA PT1 /DATA TO FLARG 02643 4504 JMS I FLINTP /GET VALUE 02644 2353 OPNEXT, ISZ EVAL1 02645 5251 JMP .+4 /NO UNARY 02646 7330 L4000 02647 1425 TAD I PT1 02650 3425 DCA I PT1 /FLIP SIGN 02651 3353 DCA EVAL1 02652 4537 SORTC 02653 1400 TERMS-1 02654 5256 JMP ETERMN 02655 3073 DCA SORTCN /ALL ELSE IS END 02656 4573 ETERMN, TSTLPR 02657 7410 SKP 02660 4551 ERR120, ERROR /EXCESS L-PARENS 02661 1073 ETERM, TAD SORTCN 02662 3100 DCA THISOP /SET OP 02663 1100 TAD THISOP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 34-1 02664 1123 TAD M10 02665 7700 SMA CLA 02666 3100 DCA THISOP /END 02667 1100 ETERM2, TAD THISOP 02670 7041 CIA 02671 1101 TAD LASTOP /PRIORITIES 02672 7710 SPA CLA 02673 5323 JMP EPAR /NO GO YET 02674 1101 TAD LASTOP 02675 1374 TAD (OPTABL 02676 3077 DCA CNTR 02677 1477 TAD I CNTR 02700 3307 DCA FLOP /SET OP 02701 1101 TAD LASTOP 02702 7640 SZA CLA 02703 4545 POPF /GET DATA 02704 0070 AC3 02705 4407 FINT 02706 0070 FGET AC3 02707 5773 FLOP, FJMP I (FUPARR /FLOATING OP 02710 7507 FPUT I FLARGP /SAVE DATA 02711 0000 FEXT 02712 1107 TAD FLARGP 02713 3025 DCA PT1 /POINT TO DATA 02714 1100 TAD THISOP 02715 1101 TAD LASTOP 02716 7650 SNA CLA 02717 5366 JMP EVAL3 /DONE 02720 4543 POPA 02721 3101 DCA LASTOP /NEW OP 02722 5267 JMP ETERM2 02723 4573 EPAR, TSTLPR 02724 7410 SKP 02725 5236 JMP EPAR2 /DO RECURSIVE 02726 1101 TAD LASTOP 02727 4540 PUSHA 02730 1025 TAD PT1 02731 3333 DCA .+2 02732 4542 PUSHF /SAVE DATA 02733 0000 0 02734 1100 TAD THISOP 02735 3101 DCA LASTOP 02736 4535 ARGNXT, GETC 02737 4555 TESTC 02740 5234 JMP ELPAR /T 02741 5241 JMP ENUM /N 02742 5344 JMP EVAR /V 02743 5357 JMP ERR110 /OTHER 02744 4541 EVAR, PUSHJ /GET VARIABLE 02745 4400 GETVAR 02746 7440 SZA 02747 5772 JMP I (FUNCT3 /FUNCTION 02750 1107 TAD FLARGP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 34-2 02751 3025 DCA PT1 /POINT TO DATA 02752 5244 JMP OPNEXT 02753 0000 EVAL1, 0 02754 7344 EVAL2, L7776 02755 1073 TAD SORTCN /IS IT + OR -? 02756 7540 SMA SZA 02757 4551 ERR110, ERROR /NO - DOUBLE OPS OR EX L-PARENS 02760 7640 SZA CLA 02761 5336 JMP ARGNXT /WAS + 02762 1353 TAD EVAL1 02763 7040 CMA 02764 3353 DCA EVAL1 /FLIP EVAL1 02765 5336 JMP ARGNXT 02766 4543 EVAL3, POPA 02767 3353 DCA EVAL1 /RESTORE EVAL1 02770 5544 POPJ /EXIT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 35 02772 5017 02773 5065 02774 4171 02775 5034 02776 7300 02777 5610 3000 PAGE /USER FUNCTION PROCESSING 03000 4540 FUNCT6, PUSHA /SAVE CHARACTER 03001 3077 DCA EFOP 03002 2077 ISZ EFOP 03003 4542 PUSHF /SAVE ARGS 03004 6726 FLARG 03005 4561 TSTCOM 03006 5214 JMP .+6 /NO MORE ARGS 03007 4771 JMS I AECALL /GET NEXT 03010 4543 POPA 03011 2015 ISZ PDLXR 03012 2015 ISZ PDLXR 03013 5201 JMP .-12 03014 1055 TAD LASTV 03015 3024 DCA SUBS /SAVE END OF VARIABLES 03016 1077 TAD EFOP 03017 1374 FUNC10, TAD K2000 03020 3023 DCA ADD /CREATE ILLEGAL NAME 03021 4541 PUSHJ /LOOK IT UP - WILL DEFINE 03022 4435 LOOKUP 03023 4545 POPF 03024 6726 FLARG 03025 4547 FLPUT /SET ARGUMENT 03026 6726 FLARG 03027 7352 L5777 03030 1023 TAD ADD 03031 7440 SZA 03032 5217 JMP FUNC10 /MORE ARGUMENTS 03033 7330 L4000 03034 4543 POPA 03035 7041 CIA 03036 3370 DCA FUNC17 /-CHAR OF FUNCTION 03037 4542 PUSHF 03040 0017 TEXTP 03041 1073 TAD SORTCN 03042 4540 PUSHA 03043 1024 TAD SUBS 03044 4540 PUSHA 03045 7410 SKP 03046 4543 FUNC11, POPA 03047 4564 FIND /FIND A *DEF* 03050 0011 11 /-DEF CODE 03051 4551 ERR170, ERROR /OUT OF TEXT 03052 4540 PUSHA /FOR RESTART 03053 4563 COMMAN /GET WORD 03054 1372 TAD KM5 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 35-1 03055 7640 SZA CLA 03056 5246 JMP FUNC11 03057 1026 TAD CHAR 03060 1370 TAD FUNC17 03061 7640 SZA CLA 03062 5246 JMP FUNC11 /NOT PROPER FUNCTION 03063 2015 ISZ PDLXR 03064 1062 TAD ERLINE 03065 4540 PUSHA /SAVE CALLING LINE 03066 1030 TAD LINENO 03067 3062 DCA ERLINE /CALL THIS OUR LINE 03070 4535 GETC 03071 4537 SORTC 03072 1400 TERMS-1 03073 4573 TSTLPR 03074 4551 ERR180, ERROR /NO L-PAREN 03075 1073 TAD SORTCN 03076 4540 PUSHA 03077 4535 GETC 03100 7332 L2000 03101 3074 DCA T1 03102 1055 TAD LASTV 03103 3025 DCA PT1 /POINT TO ARGUMENTS 03104 4562 FUNC14, TSTALP 03105 5274 JMP ERR180 /ILLEGAL VARIABLE 03106 1026 TAD CHAR 03107 0315 AND C37 03110 4553 RTL6 03111 7010 RAR 03112 3075 DCA T2 /SAVE NAME 03113 4535 GETC 03114 4554 TESTN 03115 0037 C37, 37 03116 5324 JMP FUNC13 /NOT NUMBER 03117 1026 TAD CHAR 03120 0315 AND C37 03121 1075 TAD T2 03122 3075 DCA T2 03123 4535 GETC 03124 2074 FUNC13, ISZ T1 /SET ILLEGAL NAME 03125 4552 UDF 03126 1425 TAD I PT1 03127 7041 CIA 03130 1074 TAD T1 03131 7640 SZA CLA 03132 4551 ERR200, ERROR /WRONG NUMBER OF ARGUMENTS 03133 1075 TAD T2 03134 3425 DCA I PT1 /SET TEMPORARY NAME 03135 6201 CDF 03136 1130 TAD M4 03137 1025 TAD PT1 03140 3025 DCA PT1 /POINT TO NEXT 03141 4561 TSTCOM 03142 5345 JMP FUNC12 /NO MORE 03143 4535 GETC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 35-2 03144 5304 JMP FUNC14 03145 2074 FUNC12, ISZ T1 03146 4552 UDF 03147 1425 TAD I PT1 03150 6201 CDF 03151 7041 CIA 03152 1074 TAD T1 03153 7650 SNA CLA 03154 5332 JMP ERR200 /SHOULD NOT AGREE 03155 4537 SORTC 03156 1400 TERMS-1 03157 7410 SKP 03160 5274 JMP ERR180 /NO PAREN 03161 7344 L7776 03162 1073 TAD SORTCN 03163 7041 CIA 03164 4543 POPA 03165 7640 SZA CLA 03166 5274 JMP ERR180 /NO MATCH 03167 5773 JMP I AFUN16 03170 0000 FUNC17, 0 /MOVE THIS IF YOU CAN FIND A SAFE TEMP ON PAGE 0 03171 2600 AECALL, ECALL 03172 7773 KM5, -5 03173 4766 AFUN16, FUNC16 03174 2000 K2000, 2000 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 36 /*PRINT* COMMAND 03175 4570 FREE2 03176 1111 TAD CCR 03177 4534 PRINTC /PRINT THE CR 03200 7001 PRINT6, IAC /DENOTE END 03201 5544 POPJ /EXIT 03202 4535 PRINT8, GETC /GO BY THE ";" 03203 2025 ISZ PT1 /SHOULD WE SPACE? 03204 5210 JMP PRINT1 /NO 03205 4570 FREE2 03206 1121 TAD C40 03207 4534 PRINTC /PRINT A SPACE 03210 4536 PRINT1, SORTJ /CHECK , " ' CR 03211 7306 PRNTL1-1 03212 2110 PRNTL2-PRNTL1 03213 7340 PRINT4, L7777 03214 4563 COMMAN 03215 7650 SNA CLA 03216 5544 POPJ /MUST BE VALUE 03217 1075 TAD T2 03220 1377 TAD (-LIST14 03221 4540 PUSHA /PUSH A ZERO ON STACK IF CHR$,NONZER IF TAB 03222 4537 SORTC 03223 1400 TERMS-1 03224 4573 TSTLPR 03225 4551 ERR340, ERROR /NO "(" 03226 4776 JMS I (ECALL /GET RECURSIVE 03227 2015 ISZ PDLXR /DUMP EFOP 03230 4632 JMS I .+2 /CALL PARTST 03231 4543 POPA /TAB OR CHR$? 7640 PARTS=SZA CLA 03232 7640 PARTS 03233 5775 JMP I (PRIN12 /GO GET ARG MOD 72 03234 4510 JMS I INTEGE 03235 1374 TAD (-15 /WAS IT CHR$(13)? 03236 7450 SNA /NO- PRINT IT 03237 5250 JMP PRIN11 /YES- TAB(0) TO AVOID THE LINE FEED 03240 1111 TAD CCR /RESET CHARACTER 03241 4540 PUSHA 03242 4570 FREE2 03243 4543 POPA 03244 7450 SNA /AC=0 WILL PRINT CHAR 03245 7330 L4000 03246 4534 PRINTC 03247 5302 JMP PRIN10 03250 7040 PRIN11, CMA 03251 3025 DCA PT1 /SET -COUNT -1 03252 1061 TAD PRNTC1 03253 1373 TAD (110 03254 1025 TAD PT1 03255 7510 SPA /EDU-20 PAL8-V10D 13-OCT-96 PAGE 36-1 03256 5271 JMP PRINT9 03257 7200 CLA 03260 6002 IOF 03261 1111 TAD CCR 03262 4772 JMS I (XOUTL2 03263 1111 TAD CCR 03264 4772 JMS I (XOUTL2 03265 1371 TAD (-110 03266 3061 DCA PRNTC1 03267 6001 ION 03270 7410 SKP 03271 3025 PRINT9, DCA PT1 03272 2025 ISZ PT1 03273 7410 SKP 03274 5303 JMP PRIN10+1 03275 4570 FREE2 03276 1121 TAD C40 03277 4534 PRINTC 03300 5272 JMP PRINT9+1 03301 7340 L7777 03302 3025 PRIN10, DCA PT1 /SET SPACE INDICATOR 03303 4536 SORTJ /CHECK ; , ' " OR \ 03304 7305 PRNTL4-1 03305 2103 PRNTL6-PRNTL4 03306 2025 ISZ PT1 /NO FIND O.K.? 03307 5213 JMP PRINT4 /YES - ASSUME TAB OR EXPRESSION 03310 4551 ERR350, ERROR /NO - SYNTAX ERROR 03311 2032 PRINT2, ISZ SPACSW /KEEP SPACES 03312 4535 GETC 03313 4536 SORTJ /CHECK - CR 03314 7310 PRNTL7-1 03315 2113 PRNTL8-PRNTL7 03316 4570 FREE2 03317 4534 PRINTC /PRINT THE LITERAL 03320 5312 JMP PRINT2+1 03321 3032 PRINT3, DCA SPACSW 03322 4535 GETC /GO BY THE " 03323 5302 JMP PRIN10 /GO CHECK CHARACTER 03324 4570 FREE2 03325 1121 TAD C40 03326 4534 PRINTC /SPACES TO FINISH ZONE 03327 1112 PRINT5, TAD C7 03330 1061 TAD PRNTC1 03331 1111 TAD CCR 03332 7510 SPA 03333 5331 JMP .-2 03334 7640 SZA CLA 03335 5324 JMP PRINT5-3 /KEEP GOING 03336 4535 GETC /GO BY THE "," 03337 5210 JMP PRINT1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 37 /*PRINTX* ROUTINE 03340 0000 XOUTL, 0 03341 7450 SNA 03342 1026 TAD CHAR /USE CHAR IF AC=0 03343 4772 JMS I (XOUTL2 /DO OUTPUT 03344 1012 TAD XREG3 03345 1374 TAD (-15 /WAS IT A CR 03346 7450 SNA 03347 5361 JMP XOUTL1 /YES! 03350 1370 TAD (215-240 03351 7510 SPA 03352 5365 JMP XOUTL3 /IT IS A NON-PRINTING CHARACTER 03353 1127 TAD M100 03354 7710 SPA CLA 03355 2061 ISZ PRNTC1 /IT IS A PRINTING CHAR SO COUNT IT 03356 5740 JMP I XOUTL 03357 1111 TAD CCR /END OF LINE SO DO CR-LF 03360 5343 JMP XOUTL+3 03361 1117 XOUTL1, TAD CLF 03362 4772 JMS I (XOUTL2 /OUTPUT A LINE FEED 03363 1371 TAD (-110 03364 3061 DCA PRNTC1 /RESET COUNT 03365 7200 XOUTL3, CLA 03366 5740 JMP I XOUTL /EDU-20 PAL8-V10D 13-OCT-96 PAGE 38 03370 7755 03371 7670 03372 3400 03373 0110 03374 7763 03375 7551 03376 2600 03377 6512 3400 PAGE 03400 0000 XOUTL2, 0 03401 6201 CDF 03402 3012 DCA XREG3 /SAVE CHAR 03403 1034 TAD OUTPUT 03404 7640 SZA CLA 03405 5264 JMP XOUTL4 /NO ECHO 03406 1051 TAD TELSW /BUSY 03407 7640 SZA CLA 03410 5244 JMP XOUTL5 /YES 03411 1124 TAD C10 03412 0406 AND I TEMP2 03413 7650 SNA CLA 03414 5217 JMP .+3 03415 1266 TAD CPLS /HE HAS PUNCH 03416 5221 JMP .+3 03417 1124 TAD C10 03420 1035 TAD XIOT 03421 3235 DCA XOUTL6 /SET OUTPUT IOT 03422 1036 TAD DECK 03423 7160 CLL CML CMA 03424 3076 DCA T3 03425 7410 SKP 03426 7010 RAR 03427 2076 ISZ T3 03430 5226 JMP .-2 03431 1124 TAD C10 /TURN ON GROUP 1 03432 6117 MTON /TURN ON PROPER USER - 0 IF NOT DCO2(SEE BEG760) 03433 7200 CLA 03434 1012 TAD XREG3 03435 7402 XOUTL6, HLT 03436 3051 DCA TELSW /SET BUSY 03437 1643 TAD I XAUSER /0 IF NOT DC02 03440 6117 MTON /ALL ON AGAIN - 0 IF NOT DC02 03441 7200 CLA 03442 5264 JMP XOUTL4 03443 5363 XAUSER, AUSER 03444 4552 XOUTL5, UDF 03445 1447 TAD I OPTRI /ROOM 03446 7640 SZA CLA 03447 4352 ERR080, JMS IERROR /NO ROOM 03450 4552 UDF 03451 1012 TAD XREG3 03452 3447 DCA I OPTRI /FILL BUFFER 03453 2047 ISZ OPTRI /BUMP BUFFER 03454 1047 TAD OPTRI /EDU-20 PAL8-V10D 13-OCT-96 PAGE 38-1 03455 7041 CIA 03456 1046 TAD IPTR0 03457 7640 SZA CLA 03460 5264 JMP XOUTL4 /OK 03461 1046 TAD IPTR0 03462 1125 TAD M40 03463 3047 DCA OPTRI /RESET BUFFER 03464 6201 XOUTL4, CDF 03465 5600 JMP I XOUTL2 03466 6026 CPLS, PLS /EDU-20 PAL8-V10D 13-OCT-96 PAGE 39 /*FINDLN* ROUTINE 03467 0000 XFINDL, 0 03470 1030 TAD LINENO 03471 7710 SPA CLA 03472 5326 JMP XFNDL3 03473 4552 UDF 03474 1057 TAD ALINE0 03475 3031 DCA LASTLN 03476 1057 TAD ALINE0 03477 3027 XFNDL1, DCA LINEPC /CURRENT LINE 03500 1027 TAD LINEPC 03501 3012 DCA XREG3 03502 1030 TAD LINENO 03503 7041 CIA 03504 1412 TAD I XREG3 03505 7450 SNA 03506 5317 JMP XFNDL2-1 /FOUND LINE 03507 7700 SMA CLA 03510 5320 JMP XFNDL2 /WENT BEYOND 03511 1027 TAD LINEPC 03512 3031 DCA LASTLN 03513 1427 TAD I LINEPC 03514 7440 SZA 03515 5277 JMP XFNDL1 /LOOP 03516 7410 SKP /OUT OF TEXT 03517 2267 ISZ XFINDL /FOUND LINE 03520 1027 XFNDL2, TAD LINEPC 03521 7001 IAC 03522 3017 DCA AXOUT /SET TO UNPACK 03523 3021 DCA XCT 03524 6201 CDF 03525 5667 JMP I XFINDL 03526 7340 XFNDL3, L7777 03527 1060 TAD COMBUF 03530 3027 DCA LINEPC 03531 5317 JMP XFNDL2-1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 40 /ERROR ENTERING ROUTINES 03532 0000 XERROR, 0 03533 6002 IOF 03534 7200 CLA 03535 6201 IERRO1, CDF 03536 1113 TAD C177 03537 3352 DCA IERROR 03540 1332 IERRO2, TAD XERROR 03541 7110 CLL RAR /FORM ERROR CODE 03542 3115 DCA LSTMOD 03543 7350 L3777 03544 0406 AND I TEMP2 /CLEAR I WAIT 03545 3406 DCA I TEMP2 03546 1351 TAD PERRORX 03547 3022 DCA PC /SET FOR RESTART 03550 5752 JMP I IERROR 03551 0400 PERRORX, ERRORX 03552 0000 IERROR, 0 03553 7340 L7777 03554 1125 TAD M40 03555 1046 TAD IPTR0 03556 3012 DCA XREG3 03557 1125 TAD M40 03560 3076 DCA T3 /BUFFER COUNT 03561 4552 UDF 03562 3412 DCA I XREG3 /CLEAR BUFFER 03563 2076 ISZ T3 03564 5362 JMP .-2 03565 6201 CDF 03566 1047 TAD OPTRI 03567 3050 DCA OPTRO 03570 1352 TAD IERROR 03571 3332 DCA XERROR 03572 1105 TAD LOOK 03573 7041 CIA 03574 1006 TAD TEMP2 03575 7650 SNA CLA 03576 5335 JMP IERRO1 03577 5340 JMP IERRO2 /NOT RUNNING /EDU-20 PAL8-V10D 13-OCT-96 PAGE 41 3600 PAGE /*PACKC* ROUTINE 03600 0000 XPACKC, 0 03601 4536 SORTJ 03602 6767 XPAKL1-1 03603 2444 XPAKL2-XPAKL1 03604 4537 SORTC /CHECK FOR ALTMODE 03605 2145 ALT-1 03606 5270 JMP XPPCK1 /IT IS ALTMODE 03607 1026 TAD CHAR 03610 1125 TAD M40 03611 2024 XPACK4, ISZ XCTIN 03612 5232 JMP XPACK1 /NO PARTIAL 03613 1023 TAD ADD /FORM WORD 03614 4552 UDF 03615 3416 DCA I AXIN /PACK IT 03616 6201 CDF 03617 3023 DCA ADD 03620 1453 TAD I PACKND 03621 1120 TAD M12 03622 7141 CLL CIA 03623 1016 TAD AXIN 03624 7630 SZL CLA 03625 4551 ERR060, ERROR /TOO FAR 03626 5600 XPACK5, JMP I XPACKC 03627 1266 XPACK2, TAD XP37 03630 1121 XPACK3, TAD C40 03631 5211 JMP XPACK4 03632 4553 XPACK1, RTL6 03633 3023 DCA ADD /SAVE PARTIAL 03634 7340 L7777 03635 3024 DCA XCTIN /INDICATE PARTIAL 03636 5600 JMP I XPACKC 03637 2024 XPACK7, ISZ XCTIN /PARTIAL HERE 03640 5245 JMP XPACK8 /NO 03641 3023 XPACK9, DCA ADD 03642 1114 TAD C137 03643 4534 PRINTC /PRINT BACK ARROW 03644 5600 JMP I XPACKC 03645 1052 XPACK8, TAD PACKST 03646 7041 CIA 03647 1016 TAD AXIN 03650 7650 SNA CLA 03651 5600 JMP I XPACKC /ALL GONE ANY HOW 03652 1016 TAD AXIN 03653 3076 DCA T3 03654 7340 L7777 03655 3024 DCA XCTIN /INDICATE PARTIAL 03656 7340 L7777 03657 1016 TAD AXIN 03660 3016 DCA AXIN /PUT IT BACK ONE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 41-1 03661 4552 UDF 03662 1476 TAD I T3 /GET OLD 03663 0127 AND C7700 03664 5241 JMP XPACK9 03665 2152 XPRDY1, READY1 03666 0037 XP37, 37 03667 0044 C44, 44 03670 4542 XPPCK1, PUSHF /SAVE TEXT POINTERS 03671 0017 TEXTP 03672 1200 TAD XPACKC 03673 4540 PUSHA /SAVE ADDRESS IF DISMISSED 03674 4567 FREE13 03675 1267 TAD C44 03676 4534 PRINTC /PRINT "$" 03677 1121 TAD C40 03700 4534 PRINTC 03701 1112 TAD C7 03702 4665 JMS I XPRDY1 03703 4535 GETC /FINISH MESSAGE 03704 4534 PRINTC 03705 4535 GETC 03706 4534 PRINTC 03707 4543 POPA 03710 3200 DCA XPACKC /RESTORE ADDRESS 03711 1052 TAD PACKST 03712 3016 DCA AXIN 03713 4545 POPF 03714 0017 TEXTP 03715 3026 DCA CHAR 03716 5235 JMP XPACK1+3 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 42 /*READC* ROUTINE 03717 0000 XREADC, 0 03720 4552 UDF 03721 6202 CIF /NO INTERRUPTS WHILE MESSING WITH IPTR0 /AND HIS BUFFER - ELSE THE READER DIES 03722 1445 TAD I IPTRO /GET CHAR 03723 3026 DCA CHAR /SET CHARACTER 03724 3445 DCA I IPTRO /CLEAR BUFFER 03725 6201 CDF 03726 1026 TAD CHAR 03727 7650 SNA CLA /WAS THERE A CHARACTER 03730 5371 JMP XREAD1 /NO - WAIT 03731 2045 ISZ IPTRO /BUMP BUFFER 03732 1045 TAD IPTRO 03733 7041 CIA 03734 1121 TAD C40 03735 1046 TAD IPTR0 03736 7640 SZA CLA 03737 5342 JMP .+3 /OK 03740 1046 TAD IPTR0 03741 3045 DCA IPTRO /RESET BUFFER 03742 5717 JMP I XREADC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 43 03743 7740 IF5, SMA SZA CLA 03744 7710 SPA CLA 03745 7650 SNA CLA 03746 7700 SMA CLA 03747 7750 SPA SNA CLA 03750 7640 SZA CLA /POP THE AC ROUTINE 03751 0000 XPOPA, 0 03752 4552 UDF 03753 1415 TAD I PDLXR 03754 6201 CDF 03755 5751 JMP I XPOPA /*TSTLPR* ROUTINE 03756 0000 LPRTST, 0 03757 1073 TAD SORTCN 03760 1126 TAD M6 03761 7710 SPA CLA 03762 5756 JMP I LPRTST /NOT L-PAREN 03763 1073 TAD SORTCN 03764 1123 TAD M10 03765 7710 SPA CLA 03766 2356 ISZ LPRTST /L-PAREN 03767 5756 JMP I LPRTST 03770 0020 XR20, 20 03771 7340 XREAD1, L7777 03772 1317 TAD XREADC 03773 3022 DCA PC /SET TO REDO ROUTINE 03774 1505 TAD I LOOK 03775 0370 AND XR20 03776 7640 SZA CLA 03777 6014 RFC /HE'S GOT THE READER WITH AN EMPTY BUFFER! 04000 1505 TAD I LOOK 04001 4777 JMS I (XOR 04002 4000 4000 /I WAIT AND DISMISS /EDU-20 PAL8-V10D 13-OCT-96 PAGE 44 /*POPF* ROUTINE 04003 0000 XPOPF, 0 04004 7340 L7777 04005 1603 TAD I XPOPF 04006 3012 DCA XREG3 /POINT TO DATA AREA 04007 7346 L7775 04010 3076 DCA T3 04011 4543 POPA 04012 3412 DCA I XREG3 /MOVE DATA 04013 2076 ISZ T3 04014 5211 JMP .-3 04015 2203 ISZ XPOPF 04016 5603 JMP I XPOPF /EDU-20 PAL8-V10D 13-OCT-96 PAGE 45 /*TESTN* ROUTINE 04017 0000 XTESTN, 0 04020 1026 TAD CHAR 04021 1237 TAD TH60 04022 3073 DCA SORTCN /SAVE BINARY DIGIT 04023 7326 L0002 04024 1073 TAD SORTCN 04025 7450 SNA 04026 5617 JMP I XTESTN /PERIOD 04027 2217 ISZ XTESTN 04030 1240 TAD TH13 04031 7740 SMA SZA CLA 04032 5617 JMP I XTESTN /GREATER THAN 271 04033 1073 TAD SORTCN 04034 7700 SMA CLA 04035 2217 ISZ XTESTN /DIGIT 04036 5617 JMP I XTESTN 04037 7720 TH60, -60 04040 7765 TH13, -13 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 46 /*GETC* ROUTINE 04041 0000 XGETC, 0 04042 2021 ISZ XCT 04043 5254 JMP XGET1 /NO PARTIAL 04044 1020 TAD GTEM /GET PARTIAL 04045 0122 XGET2, AND C77 /AND OFF JUNK 04046 1121 TAD C40 /CORRECT TO ASCII 04047 3026 DCA CHAR 04050 4536 SORTJ /CHECK SPECIALS 04051 2141 XGETL1-1 04052 7244 XGETL2-XGETL1 04053 5641 JMP I XGETC 04054 4552 XGET1, UDF 04055 1417 TAD I AXOUT /GET NEXT 04056 6201 CDF 04057 3020 DCA GTEM /SAVE PARTIAL 04060 7340 L7777 04061 3021 DCA XCT /INDICATE PARTIAL 04062 1020 TAD GTEM 04063 4553 RTL6 04064 7004 RAL 04065 5245 JMP XGET2 04066 1032 XGET3, TAD SPACSW /SPACE TEST 04067 7640 SZA CLA 04070 5641 JMP I XGETC /KEEP SPACES 04071 5242 JMP XGETC+1 /IGNORE SPACES 04072 1112 XGET4, TAD C7 /BELL 04073 3026 XGET6, DCA CHAR 04074 5641 JMP I XGETC 04075 1111 XGET5, TAD CCR /CR 04076 5273 JMP XGET6 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 47 /*GETNXT* ROUTINE 04077 0000 NXTGET, 0 04100 7610 SKP CLA 04101 4535 GETC 04102 1026 TAD CHAR 04103 1330 TAD MSPLAT 04104 7650 SNA CLA 04105 5322 JMP NXEX 04106 4560 TSTCCR 04107 5301 JMP NXTGET+2 04110 4552 UDF 04111 1427 TAD I LINEPC 04112 7450 SNA 04113 5323 JMP NXEX+1 /OUT OF TEXT 04114 3027 DCA LINEPC 04115 1027 TAD LINEPC 04116 3017 DCA AXOUT 04117 3021 DCA XCT 04120 1417 TAD I AXOUT 04121 3030 DCA LINENO 04122 2277 NXEX, ISZ NXTGET 04123 6201 CDF 04124 5677 JMP I NXTGET /EDU-20 PAL8-V10D 13-OCT-96 PAGE 48 /*FIND* ROUTINE 04125 0000 XFIND, 0 04126 3030 DCA LINENO 04127 4566 FINDLN 04130 7644 MSPLAT, 200-"\ 04131 4565 XFIND1, GETNXT /GET THE NEXT STATEMENT 04132 5342 JMP XFIND2 /OUT OF TEXT 04133 4535 GETC 04134 4563 COMMAN 04135 1725 TAD I XFIND /CORRECT COMMAND 04136 7640 SZA CLA 04137 5331 JMP XFIND1 /NO - LOOP 04140 2325 ISZ XFIND 04141 1030 TAD LINENO /FOR RESTART 04142 2325 XFIND2, ISZ XFIND 04143 5725 JMP I XFIND 04144 0000 XPRNTC, 0 04145 6002 IOF 04146 4550 PRINTX 04147 6001 ION 04150 5744 JMP I XPRNTC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 49 04151 4545 POPF 04152 6726 FLARG /DUMP IT WHERE IT WONT HURT 04153 3032 ENDFND, DCA SPACSW 04154 4542 PUSHF 04155 0017 TEXTP 04156 4535 GETC 04157 4572 TSTEND 04160 5356 JMP .-2 04161 4560 TSTCCR 04162 5351 JMP ENDFND-2 04163 4545 POPF 04164 0017 TEXTP 04165 4535 GETC 04166 4563 COMMAN 04167 7001 IAC 04170 5544 POPJ 04171 0425 OPTABL, FGET I PT1 04172 1425 FADD I PT1 04173 2425 FSUB I PT1 04174 3425 FMUL I PT1 04175 4425 FDIV I PT1 04176 5000 FJMP 0 /5775 = FJMP I (FUPARR, ON PG 2600 (SEE BEGMV4) /EDU-20 PAL8-V10D 13-OCT-96 PAGE 50 04177 6552 4200 PAGE /CHARACTER TEST ROUTINES 04200 0000 COMTST, 0 04201 1377 TAD (200-", 04202 1026 TAD CHAR 04203 7650 SNA CLA 04204 2200 ISZ COMTST /FOUND IT 04205 5600 JMP I COMTST 04206 0000 CCRTST, 0 04207 1206 TAD CCRTST 04210 3200 DCA COMTST 04211 1376 TAD (200-215 04212 5202 JMP COMTST+2 04213 0000 ENDTST, 0 04214 1375 TAD (200-"\ 04215 1026 TAD CHAR 04216 7450 SNA 04217 2213 ISZ ENDTST 04220 1374 TAD (-"'+"\ 04221 7650 SNA CLA 04222 7001 IAC 04223 1213 TAD ENDTST 04224 5210 JMP CCRTST+2 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 51 04225 0000 ALPTST, 0 04226 1026 TAD CHAR 04227 1373 TAD (200-"A 04230 7710 SPA CLA 04231 5625 JMP I ALPTST /LESS THAN *A* 04232 1026 TAD CHAR 04233 1372 TAD (200-"Z 04234 7750 SPA SNA CLA 04235 2225 ISZ ALPTST /LETTER 04236 5625 JMP I ALPTST /EDU-20 PAL8-V10D 13-OCT-96 PAGE 52 /*TESTC* ROUTINE 04237 0000 XTESTC, 0 04240 4537 SORTC 04241 1400 TERMS-1 04242 5637 JMP I XTESTC /TERMINATOR 04243 2237 ISZ XTESTC 04244 4554 TESTN 04245 5637 JMP I XTESTC 04246 7410 SKP 04247 5637 JMP I XTESTC 04250 2237 ISZ XTESTC 04251 4562 TSTALP 04252 2237 ISZ XTESTC /OTHER 04253 5637 JMP I XTESTC /LETTER /EDU-20 PAL8-V10D 13-OCT-96 PAGE 53 /*GOSUB* COMMAND, WORKS FROM MIDDLE OF LINES AND FROM /IMMEDIATE MODE 04254 4557 GOSUB, GETLN 04255 4572 TSTEND 04256 4551 ERR290, ERROR 04257 7340 GOSUB3, L7777 04260 1017 TAD AXOUT /COUNT BACK 04261 4540 PUSHA 04262 1062 TAD ERLINE 04263 4540 PUSHA /TO RETURN TO 04264 1371 TAD (GOSUB1 04265 4540 PUSHA 04266 5770 JMP I (GOSUB2 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 54 /*ON* COMMAND 04267 4541 ON, PUSHJ 04270 2612 EVAL /GET VALUE 04271 4563 COMMAN 04272 1112 TAD C7 /IS IT GOTO 04273 7450 SNA 04274 5301 JMP .+5 /YES 04275 1367 TAD (4 /HOW ABOUT GOSUB 04276 7640 SZA CLA 04277 4551 ERR300, ERROR /JUNK 04300 7340 L7777 /SIGNIFY GOSUB 04301 3075 DCA T2 04302 4510 JMS I INTEGE 04303 7570 SNA SPA SZL 04304 5333 JMP ON2 /BAD INDEX 04305 7041 CIA 04306 3074 DCA T1 /MAKE COUNT 04307 4557 ON1, GETLN /GET A LINE 04310 2074 ISZ T1 04311 5314 JMP .+3 /NOT THIS ONE 04312 1030 TAD LINENO 04313 4540 PUSHA /SAVE FOR LATER 04314 4561 TSTCOM 04315 5320 JMP .+3 /NOT COMMA--TRY FOR END 04316 4535 GETC 04317 5307 JMP ON1 /LOOK AT NEXT 04320 4572 TSTEND 04321 5277 JMP ERR300 /JUNK 04322 1074 TAD T1 04323 7710 SPA CLA 04324 5333 JMP ON2 /IT AINT THERE 04325 4543 POPA 04326 3030 DCA LINENO 04327 1030 TAD LINENO 04330 2075 ISZ T2 /WHICH COMMAND? 04331 5544 POPJ /JUST GOTO--TRANSFER TO IT 04332 5257 JMP GOSUB3 04333 1062 ON2, TAD ERLINE 04334 3030 DCA LINENO 04335 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 55 04336 4407 INT, FINT 04337 6110 FSLT 04340 5351 FJMP FFIX+1 /POSITIVE--GREATEST INT(X)=FIX(X) 04341 7766 FPUT I (TEMP 04342 1357 FADD FCN /INTEGERIZE IT ALREADY 04343 6766 FCMP I (TEMP 04344 6050 FSEQ 04345 2354 FSUB FLTONE /NOT AN INT, AND NEG--GOTTA SUBTRACT 1 04346 1766 FADD I (TEMP 04347 6000 FSKP 04350 4407 FFIX, FINT 04351 1357 FADD FCN /DOUBLE CHECK ON INT FUNCTION ALSO 04352 0000 FEXT 04353 5544 POPJ 04354 2014 FLTONE, 2014 04355 0000 0 04356 0000 0 04357 2330 FCN, 2330 04360 0000 0 04361 0000 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 56 /CHECK FOR IMMEDIATE MODE ON UNRECOGNIZED COMMAND--"WHAT?" /OR "ERROR 47" /NOTE THAT THIS MUST BE AN EVEN ADDRESS OR WE DON'T HAVE /UNIQUENESS ON ERRORS!!!!!!! (SEE INIT CODE AS TO WHY) IFNZRO .&1 <:"#%&'IDIOT!> 04362 1062 ERRCHK, TAD ERLINE 04363 7740 SMA SZA CLA 04364 4551 ERR520, ERROR 04365 4551 ERR000, ERROR /EDU-20 PAL8-V10D 13-OCT-96 PAGE 57 04366 6731 04367 0004 04370 2536 04371 2461 04372 7646 04373 7677 04374 0065 04375 7644 04376 7763 04377 7724 4400 PAGE /GET A VARIABLE OR FUNCTION ROUTINE /EXIT WITH AC NON-ZERO IF FUNCTION /AC IS LIST POINTER UNLESS /AC IS NEGATIVE, THEN AC IS CHAR FOR USER FUNCTION 04400 4562 GETVAR, TSTALP 04401 4551 ERR220, ERROR /MUST BE LETTER 04402 1026 TAD CHAR 04403 0223 AND P37 04404 4553 RTL6 04405 7010 RAR 04406 3023 DCA ADD /SAVE FOR NAME 04407 4535 GETC 04410 4555 TESTC 04411 5330 JMP SUBT /T - TEST FOR SUBSCRIPT 04412 5222 JMP P37-1 /N - ADD TO NAME 04413 5726 JMP I FUNCTI /TRY FOR FUNCTION 04414 1026 TAD CHAR 04415 1325 TAD MDOLR 04416 7640 SZA CLA 04417 5235 JMP LOOKUP /0 - VARIABLE LOOKUP 04420 2031 ISZ MODE 04421 5225 JMP P37+2 04422 4554 TESTN 04423 0037 P37, 37 04424 5235 JMP LOOKUP /WAS A . 04425 1026 TAD CHAR 04426 0223 AND P37 04427 1023 TAD ADD 04430 3023 DCA ADD /NEW NAME 04431 4535 GETC 04432 4537 SORTC 04433 1400 TERMS-1 04434 5330 JMP SUBT 04435 4552 LOOKUP, UDF 04436 1055 TAD LASTV 04437 3025 GS1, DCA PT1 /POINT TO VARIABLES 04440 1054 TAD STARTV 04441 7041 CIA 04442 1025 TAD PT1 04443 7650 SNA CLA 04444 5265 JMP GS2 /NOT FOUND AT ALL 04445 1425 TAD I PT1 /GET NAME 04446 7141 CLL CIA 04447 1023 TAD ADD /EDU-20 PAL8-V10D 13-OCT-96 PAGE 57-1 04450 7450 SNA 04451 5376 JMP GFND1 /FOUND NAME 04452 7420 SNL 04453 7041 CIA /POSITIVE DIFFERENCE 04454 7106 CLL RTL /AC WILL BE 0 IF DIFFERENCE WAS 2000 04455 7650 SNA CLA 04456 4551 ERR130, ERROR /ERROR - A(I) AND A(I,I) CANNOT EXIST TOGETHER 04457 1425 TAD I PT1 04460 7710 SPA CLA 04461 7340 L7777 /BACK 1 FOR SUBSCRIPT 04462 1130 GS4, TAD M4 04463 1025 TAD PT1 04464 5237 JMP GS1 /LOOP 04465 1112 GS2, TAD C7 04466 1055 TAD LASTV /ROOM LEFT 04467 7141 CLL CIA 04470 1015 TAD PDLXR 04471 7630 SZL CLA 04472 5276 JMP .+4 04473 1054 TAD STARTV 04474 3055 DCA LASTV /KILL EM-OVFLOW 04475 4551 ERR100, ERROR /NO ROOM 04476 1132 TAD C4 04477 1055 TAD LASTV 04500 3025 DCA PT1 /POINT TO NEW SPACE 04501 1023 TAD ADD 04502 7700 SMA CLA 04503 5307 JMP GPUT1 04504 1024 TAD SUBS 04505 3425 DCA I PT1 /SET SUBSCRIPT 04506 2025 ISZ PT1 04507 1023 GPUT1, TAD ADD 04510 3425 DCA I PT1 /SET NAME 04511 6201 CDF 04512 1025 TAD PT1 04513 4540 PUSHA 04514 7301 L0001 04515 1055 TAD LASTV 04516 3025 DCA PT1 /POINT TO NEW DATA SPACE 04517 4543 POPA 04520 3055 DCA LASTV /NEW LIMIT 04521 4547 FLPUT /SET TO 0 04522 7300 FLZERO 04523 5724 JMP I GS5I 04524 4615 GS5I, GS5 04525 7734 MDOLR, -44 04526 4620 FUNCTI, FUNCT 04527 2600 ECALLI, ECALL 04530 4573 SUBT, TSTLPR 04531 5235 JMP LOOKUP /NOT SUBSCRIPTED 04532 1023 TAD ADD 04533 3077 DCA EFOP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 57-2 04534 4727 JMS I ECALLI /GET SUBSCRIPT 04535 7330 L4000 04536 4543 POPA 04537 3023 DCA ADD /SAVE NAME 04540 4510 JMS I INTEGE 04541 7530 SPA SZL 04542 4551 SUB1, ERROR /TOO BIG OR NEGATIVE 4542 ERR230=SUB1 04543 3024 DCA SUBS /SET SUBSCRIPT 04544 4561 TSTCOM 04545 5374 JMP SUB2 /ONLY ONE SUBSCRIPT 04546 4542 PUSHF /SAVE ADD,SUBS 04547 0023 ADD 04550 4541 PUSHJ /GET SECOND SUBSCRIPT 04551 2611 EVAL-1 04552 4545 POPF 04553 0023 ADD 04554 4510 JMS I INTEGE 04555 0127 AND C7700 04556 7010 RAR 04557 7640 PARTS1, SZA CLA 04560 5342 JMP SUB1 /TOO BIG 04561 1024 TAD SUBS 04562 0127 AND C7700 04563 7640 SZA CLA 04564 5342 JMP SUB1 /TOO BIG 04565 1024 TAD SUBS 04566 4553 RTL6 04567 1070 TAD AC3 /FORM DOUBLE SUBSCRIPT 04570 3024 DCA SUBS 04571 7332 L2000 04572 1023 TAD ADD 04573 3023 DCA ADD /INDICATE 2 SUBSCRIPTS 04574 4757 SUB2, JMS I PARTS1 /CHECK PAREN MATCH 04575 5235 JMP LOOKUP 04576 1023 GFND1, TAD ADD 04577 7700 SMA CLA 04600 5211 JMP GFND2 /NO SUBSCRIPT 04601 7340 L7777 04602 1025 TAD PT1 04603 3025 DCA PT1 04604 1425 TAD I PT1 /GET SUBSCRIPT 04605 7041 CIA 04606 1024 TAD SUBS 04607 7640 SZA CLA 04610 5672 JMP I PGS4 /WRONG SUBSCRIPT 04611 6201 GFND2, CDF 04612 7346 L7775 04613 1025 TAD PT1 04614 3025 DCA PT1 /POINT TO DATA 04615 4546 GS5, FLGET /GET VARIABLE 04616 6726 FLARG 04617 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 58 04620 1026 FUNCT, TAD CHAR 04621 0264 AND F37 04622 1023 TAD ADD 04623 4537 SORTC 04624 7527 FUNL1-1 04625 7410 SKP 04626 5673 JMP I LLOOKUP /NOT A FUNCTION 04627 1073 TAD SORTCN 04630 7650 SNA CLA 04631 5275 JMP FUNCT4 /USER FUNCTION 04632 4542 PUSHF 04633 0017 TEXTP 04634 1026 TAD CHAR 04635 4540 PUSHA 04636 4535 GETC 04637 1026 TAD CHAR 04640 3025 DCA PT1 04641 4543 POPA 04642 3026 DCA CHAR 04643 4545 POPF 04644 0017 TEXTP 04645 1073 TAD SORTCN 04646 1274 TAD LFUNL2 04647 3076 DCA T3 04650 6211 CDF SWAP 04651 1476 TAD I T3 /GET CORRECT CODE 04652 6201 CDF 04653 1025 TAD PT1 04654 7640 SZA CLA 04655 5673 JMP I LLOOKUP /WAS NOT A FUNCTION 04656 1073 TAD SORTCN 04657 4540 PUSHA /SAVE CONSTANT 04660 4535 GETC 04661 4535 FUNCT5, GETC 04662 4537 SORTC 04663 1400 TERMS-1 04664 0037 F37, 37 04665 4573 TSTLPR 04666 4551 ERR240, ERROR /NO L-PAREN 04667 4543 POPA 04670 7001 IAC /FUNCTION CODE 04671 5544 POPJ 04672 4462 PGS4, GS4 04673 4435 LLOOKUP, LOOKUP 04674 1440 LFUNL2, FUNL2-1 04675 4535 FUNCT4, GETC 04676 4562 TSTALP 04677 4551 ERR250, ERROR /NOT LETTER 04700 7350 L3777 04701 1026 TAD CHAR 04702 4540 PUSHA /SAVE CHAR OF USER FUNCTION 04703 5261 JMP FUNCT5 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 59 /*SORTC* ROUTINE 04704 0000 XSORTC, 0 04705 7450 SNA 04706 1026 TAD CHAR /USE CHAR IF AC IS 0 04707 7041 CIA 04710 3076 DCA T3 04711 1704 TAD I XSORTC 04712 3012 DCA XREG3 /SET TO LIST 04713 0000 CSORTC, 0 04714 1412 TAD I XREG3 04715 6201 CDF 04716 7510 SPA 04717 5330 JMP XSORT3 /END OF LIST 04720 1076 TAD T3 04721 7640 SZA CLA 04722 5313 JMP CSORTC /NO GO - LOOP 04723 1704 TAD I XSORTC 04724 7040 CMA 04725 1012 TAD XREG3 04726 3073 DCA SORTCN /SET CONSTANT 04727 7410 SKP 04730 2304 XSORT3, ISZ XSORTC 04731 2304 ISZ XSORTC 04732 7300 CLL CLA 04733 3313 DCA CSORTC 04734 5704 JMP I XSORTC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 60 /*SORTJ* ROUTINE 04735 0000 XSORTJ, 0 04736 7450 SNA 04737 1026 TAD CHAR /USE CHAR IF AC IS 0 04740 7041 CIA 04741 3076 DCA T3 04742 1735 TAD I XSORTJ 04743 3012 DCA XREG3 /SET TO LIST 04744 2335 ISZ XSORTJ 04745 1412 TAD I XREG3 04746 7510 SPA 04747 5362 JMP XSORT1 /END OF LIST 04750 1076 TAD T3 04751 7640 SZA CLA 04752 5345 JMP .-5 /NO GO - LOOP 04753 1012 TAD XREG3 04754 1735 TAD I XSORTJ 04755 3335 DCA XSORTJ 04756 6211 CDF SWAP 04757 1735 TAD I XSORTJ /GET ADDRESS 04760 6201 CDF 04761 3335 DCA XSORTJ 04762 7300 XSORT1, CLL CLA 04763 2335 ISZ XSORTJ 04764 5735 JMP I XSORTJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 61 04765 7703 VMEQL, 200-"= 04766 4535 FUNC16, GETC 04767 1026 TAD CHAR 04770 1365 TAD VMEQL 04771 7640 SZA CLA 04772 4551 ERR210, ERROR 04773 4541 PUSHJ 04774 2611 EVAL-1 04775 4572 TSTEND 04776 5372 JMP .-4 04777 4543 POPA 05000 3062 DCA ERLINE 05001 1062 TAD ERLINE 05002 3030 DCA LINENO 05003 4566 FINDLN 05004 2600 IECALL, ECALL 05005 4543 POPA 05006 3055 DCA LASTV 05007 4543 POPA 05010 3073 DCA SORTCN 05011 4545 POPF 05012 0017 TEXTP 05013 3031 DCA MODE 05014 5234 JMP ENDFUN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 62 05015 3000 FUNC6I, FUNCT6 05016 1520 FUNL3I, FUNL3-2 05017 3077 FUNCT3, DCA EFOP 05020 4604 JMS I IECALL 05021 4543 POPA 05022 7510 SPA 05023 5615 JMP I FUNC6I 05024 1216 TAD FUNL3I 05025 3077 DCA EFOP 05026 6211 CDF SWAP 05027 1477 TAD I EFOP 05030 6201 CDF 05031 3233 DCA .+2 05032 4541 PUSHJ 05033 0000 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 63 /END OF A FUNCTION 05034 4407 ENDFUN, FINT 05035 6010 FNOR /NORMALIZE IT 05036 7507 FPUT I FLARGP /SAVE DATA 05037 0000 FEXT 05040 1107 ENDF1, TAD FLARGP 05041 3025 DCA PT1 /POINT TO DATA 05042 3032 DCA SPACSW 05043 4645 JMS I .+2 05044 5646 JMP I .+2 05045 7640 PARTST 05046 2644 OPNEXT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 64 05047 4407 SGN, FINT 05050 6100 FSGE 05051 0262 FGET MNSONE 05052 6150 FSLE 05053 0660 FGET I VFLTONE 05054 0000 FEXT 05055 5544 POPJ 05056 4357 VFCN, FCN 05057 6731 VTEMP, TEMP 05060 4354 VFLTONE, FLTONE 05061 6562 VFUPAR1, FUPAR1 05062 6014 MNSONE, 6014 05063 0000 0 05064 0000 0 05065 7657 FUPARR, FPUT I VTEMP 05066 0425 FGET I PT1 05067 1656 FADD I VFCN 05070 6425 FCMP I PT1 05071 6050 FSEQ 05072 5330 FJMP EXPLNG 05073 0425 FGET I PT1 05074 6100 FSGE 05075 3262 FMUL MNSONE 05076 2661 FSUB I VFUPAR1 05077 6150 FSLE 05100 5330 FJMP EXPLNG 05101 0425 FGET I PT1 05102 6110 FSLT 05103 5310 FJMP .+5 05104 0660 FGET I VFLTONE 05105 4657 FDIV I VTEMP 05106 7657 FPUT I VTEMP 05107 0425 FGET I PT1 05110 0000 FEXT 05111 4510 JMS I INTEGE 05112 7510 SPA 05113 7041 CIA 05114 7040 CMA 05115 3344 DCA FUPAR2 05116 4407 FINT 05117 0660 FGET I VFLTONE 05120 0000 FEXT 05121 5325 JMP .+4 05122 4407 FINT 05123 3657 FMUL I VTEMP 05124 0000 FEXT 05125 2344 ISZ FUPAR2 05126 5322 JMP .-4 05127 5341 JMP FUPAR3 05130 0657 EXPLNG, FGET I VTEMP 05131 0000 FEXT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 64-1 05132 4541 PUSHJ 05133 7314 LOG 05134 4407 FINT 05135 3425 FMUL I PT1 05136 0000 FEXT 05137 4541 PUSHJ 05140 7200 FEXP 05141 4407 FUPAR3, FINT 05142 5743 FJMP I VFLOP 05143 2710 VFLOP, FLOP+1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 65 05144 0000 FUPAR2, 0 /JUST A TEMP 05145 0000 XFLGET, 0 05146 7440 SZA 05147 5352 JMP XFLGT2 05150 7340 L7777 05151 1025 TAD PT1 05152 3013 XFLGT2, DCA FLTXR 05153 7340 L7777 05154 1745 TAD I XFLGET 05155 3014 DCA FLTXR2 05156 7346 L7775 05157 3076 DCA T3 05160 4552 UDF 05161 1413 TAD I FLTXR /MOVE FLOATING DATUM DOWN 05162 6201 CDF 05163 3414 DCA I FLTXR2 05164 2076 ISZ T3 05165 5360 JMP .-5 05166 2345 ISZ XFLGET 05167 5745 JMP I XFLGET /EDU-20 PAL8-V10D 13-OCT-96 PAGE 66 05170 6046 INTRPL, TLS /USER 0 TLS IOT = INIT BEG750 05171 6126 MTLS /USER 1 TLS IOT 05172 6126 MTLS /USER 2 05173 6126 MTLS /USER 3 05174 6126 MTLS /USER 4 05175 6126 MTLS /USER 5 05176 6126 MTLS /USER 6 05177 6126 MTLS /USER 7 05200 6212 INTR8E, CIF SWAP /FOR POWER FAIL RECOVERY 05201 5602 JMP I .+1 05202 1354 INTR81 05203 3353 INTRPT, DCA SAVAC /SAVE THE AC 05204 7010 RAR 05205 3354 DCA SAVLK /AND THE LINK 05206 1076 TAD T3 05207 3355 DCA T3SV /SAVE T3 05210 1012 TAD XREG3 05211 3356 DCA XREG3S /SAVE XREG3 05212 1073 TAD SORTCN 05213 3357 DCA SRTCNS /SAVE SORTCN 05214 1552 TAD I AUDF 05215 3360 DCA UDFSV /SAVE UDF ADDRESS 05216 1537 TAD I ASORTC 05217 3364 DCA SORTCS /SAVE SORTC ADDRESS 05220 1777 TAD I (CSORTC /SAVE SORTC FIELD OP 05221 3351 DCA SC2SV 05222 3777 DCA I (CSORTC /NOW FIELD 0 05223 1776 TAD I (XFREE 05224 3361 DCA FREESV /SAVE XFREE ADDRESS 05225 3003 DCA USER /START AT USER 0 05226 6011 RSF 05227 5241 JMP PUNCHK 05230 6012 RRB /MAKE SURE TO CLEAR IT 05231 3005 DCA TEMP1 05232 4775 JMS I (RCHK 05233 5241 JMP PUNCHK 05234 4774 JMS I (DECKON /PUT HIM ONDECK 05235 1373 TAD (EXIT /DON'T GO THROUGH THE REST OF THIS GARBAGE 300 TIMES/SEC! 05236 3772 DCA I (KEY 05237 1005 TAD TEMP1 /GET THAT CHAR 05240 5742 JMP I PKEYMK /GO DO IT 05241 6021 PUNCHK, PSF /IS IT THE PUNCH? 05242 5247 JMP NONP /NOPE, 05243 6022 PCF 05244 4771 JMS I (PUNCH /ANYONE GOT IT? 05245 5314 JMP EXIT /NOPE 05246 4770 JMS I (TTY /FOOL THE TTY ROUTINE 05247 3005 NONP, DCA TEMP1 /NO TTY'S TO TURN ON AT FIRST 05250 1367 TAD ( INTRPL 05251 3352 DCA INTRPP /SET LIST POINTER 05252 1752 INTRP1,TAD I INTRPP /GET TLS IOT 05253 1130 TAD M4 05254 3302 DCA INTRP4 /TCF 05255 7340 L7777 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 66-1 05256 1302 TAD INTRP4 05257 3300 DCA INTRP3 /TSF 05260 1123 TAD M10 05261 1300 TAD INTRP3 05262 3266 DCA INTRP2 /KSF 05263 1005 TAD TEMP1 05264 6117 MTON /TURN ON PROPER USER - 0 IF NOT DC02(SEE BEG760) 05265 7200 CLA 05266 7402 INTRP2, HLT /KEY? 05267 7610 SKP CLA /NO 05270 4772 JMS I (KEY /READ TTY 05271 1005 TAD TEMP1 05272 6117 MTON /USER ON AGAIN - 0 IF NOT DC02 05273 7110 CLL RAR /SHIFT FOR NEXT USER 05274 7450 SNA /FIRST TIME? 05275 1366 TAD (4004 /YES = GET TTY #1 BIT 05276 1132 TAD C4 05277 3005 DCA TEMP1 05300 7402 INTRP3, HLT /TTY? 05301 5304 JMP .+3 /NO 05302 7402 INTRP4, HLT /CLEAR ITS FLAG 05303 4770 JMS I (TTY /DO TTY OUTPUT 05304 2003 ISZ USER /NEXT USER PLEASE 05305 2352 ISZ INTRPP /BUMP LIST POINTER 05306 1003 TAD USER 05307 1362 TAD MUSER /ARE WE DONE? 05310 7640 SZA CLA 05311 5252 JMP INTRP1 /NO 05312 1363 INTRP5, TAD AUSER /0 IF NOT DC02 05313 6117 MTON /TURN ALL USERS ON AGAIN - 0 IF NOT DC02 05314 7200 EXIT, CLA 05315 1505 TAD I LOOK /GET RUNNING USER 05316 7004 RAL 05317 7730 SPA SZL CLA 05320 5323 JMP .+3 05321 1505 TAD I LOOK 05322 4774 JMS I (DECKON /AND PUT HIM ONDECK 05323 1355 TAD T3SV 05324 3076 DCA T3 /RESTORE ALL THOS STORED THINGS 05325 1356 TAD XREG3S 05326 3012 DCA XREG3 05327 1357 TAD SRTCNS 05330 3073 DCA SORTCN 05331 1351 TAD SC2SV 05332 3777 DCA I (CSORTC /MAKE SURE TO RESTORE SORTC FIELD OP 05333 1360 TAD UDFSV 05334 3552 DCA I AUDF 05335 1364 TAD SORTCS 05336 3537 DCA I ASORTC 05337 1361 TAD FREESV 05340 3776 DCA I (XFREE 05341 2765 ISZ I (INTCNT /COUNT INTERRUPTS 05342 0606 PKEYMK, KEYMSK /IF PDP 8E, AND NOT DC02 - ASSUME KL8E, NEXT THREE WORDS ARE: / CIF SWAP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 66-2 / JMP I .+1 / KL8FIX1 /SEE BEG002 AND BEG540 FOR DETAILS. 05343 1354 KL8JMP, TAD SAVLK /GET THE LINK BACK 05344 7104 CLL RAL 05345 1353 TAD SAVAC /AND THE AC ALSO 05346 6244 KL8LFL, RMF 05347 6001 ION 05350 5400 JMP I 0 /EXIT FROM INTERRUPT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 67 05351 0000 SC2SV, 0 05352 5170 INTRPP, INTRPL 05353 0000 SAVAC, 0 05354 0000 SAVLK, 0 05355 0000 T3SV, 0 05356 0000 XREG3S, 0 05357 0000 SRTCNS, 0 05360 0000 UDFSV, 0 05361 0000 FREESV, 0 05362 7777 MUSER, -1 /-1 FOR 1 USER, -2 FOR 2, ETC. 05363 0000 AUSER, 0 /SET TO 0 IN BEG750 05364 0000 SORTCS, 0 05365 6365 05366 4004 05367 5170 05370 1300 05371 7606 05372 0600 05373 5314 05374 0305 05375 7601 05376 5514 05377 4713 5400 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 68 /CALL TO FP INTERPRETER IN FIELD 1 05400 0000 ZFPNT, 0 05401 7200 CLA /MAY NOT BE NEEDED, BUT JUST TO BE SAFE 05402 6213 CIF CDF SWAP 05403 1200 TAD ZFPNT /GET RETURN ADDRESS 05404 3607 DCA I .+3 /PASS IT ALONG 05405 6201 CDF /INTERPRETER EXECUTES IN DATA FIELD 0 05406 5746 JMP I FPENT /ENTER 05407 0200 FPNT /ENTRY TO FIELD 1 SUBROUTINE CALLER 05410 0000 F1CALL, 0 05411 6213 CIF CDF SWAP 05412 5613 JMP I .+1 05413 0120 F1CAL1 /*MOD* FUNCTION 05414 4542 MOD, PUSHF 05415 6726 FLARG 05416 4561 TSTCOM 05417 5777 JMP I (ERR560 05420 4541 PUSHJ 05421 2611 EVAL-1 05422 4545 POPF 05423 1376 PIF1, IF1 05424 4407 MOD1, FINT 05425 0623 FGET I PIF1 05426 4507 FDIV I FLARGP 05427 1776 FADD I (FCN 05430 3507 FMUL I FLARGP 05431 7775 FPUT I (TEMP 05432 0623 FGET I PIF1 05433 2775 FSUB I (TEMP 05434 0000 FEXT 05435 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 69 05436 1026 PRNTEX, TAD CHAR 05437 4540 PUSHA 05440 4542 PUSHF 05441 0017 TEXTP 05442 4542 PUSHF 05443 6726 FLARG 05444 1015 TAD PDLXR 05445 3017 DCA AXOUT /SET UP UNPACKING FROM STACK 05446 3021 DCA XCT 05447 1126 TAD M6 05450 3031 DCA MODE 05451 2032 ISZ SPACSW 05452 4535 PRNTX1, GETC 05453 4560 TSTCCR 05454 7410 SKP 05455 5261 JMP .+4 05456 4534 PRINTC 05457 2031 ISZ MODE 05460 5252 JMP PRNTX1 05461 4545 POPF 05462 6726 FLARG 05463 4545 POPF 05464 0017 TEXTP 05465 4543 POPA 05466 3026 DCA CHAR 05467 3031 DCA MODE /IN CASE OF A STRING LESS THAN 6 05470 3032 DCA SPACSW /IGNORE SPACES AGAIN 05471 4541 PRINT, PUSHJ 05472 3302 PRIN10 05473 7640 SZA CLA 05474 5544 POPJ /ALL DONE 05475 4567 FREE13 05476 4541 PUSHJ 05477 2612 EVAL /GET EXPR. 05500 1031 TAD MODE 05501 7640 SZA CLA 05502 5236 JMP PRNTEX 05503 1061 TAD PRNTC1 05504 1374 TAD (16 05505 7710 SPA CLA 05506 5311 JMP .+3 /IT WILL FIT 05507 1111 TAD CCR /MAKE IT FIT 05510 4534 PRINTC 05511 4503 JMS I FLOUTP 05512 7340 PRNTX2, L7777 05513 5271 JMP PRINT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 70 /*FREE* ROUTINE 05514 0000 XFREE, 0 05515 4552 UDF 05516 1447 TAD I OPTRI /ANY ROOM 05517 6201 CDF 05520 7640 SZA CLA 05521 5714 JMP I XFREE /NO 05522 1047 TAD OPTRI 05523 7041 CIA 05524 1050 TAD OPTRO 05525 7550 SPA SNA 05526 1121 TAD C40 05527 7041 CIA /-COUNT 05530 7001 IAC 05531 7450 SNA 05532 5714 JMP I XFREE /ONLY 1 FREE 05533 7001 IAC 05534 7450 SNA 05535 5714 JMP I XFREE /ONLY 2 FREE 05536 2314 ISZ XFREE 05537 1354 TAD FREEC 05540 7750 SPA SNA CLA 05541 2314 ISZ XFREE /14 OR MORE FREE 05542 5714 JMP I XFREE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 71 /*FREE2* AND *FREE13* ROUTINES 05543 0000 XFREE2, 0 05544 4314 JMS XFREE /ROOM 05545 5350 JMP .+3 /WE MUST WAIT 05546 0201 FPENT, FPNT+1 05547 5743 JMP I XFREE2 05550 1343 TAD XFREE2 05551 5360 JMP FREEWT /GET ROOM 05552 0000 XFREE3, 0 05553 4314 JMS XFREE 05554 0014 FREEC, 14 05555 7410 SKP /MUST WAIT 05556 5752 JMP I XFREE3 05557 1352 TAD XFREE3 05560 3022 FREEWT, DCA PC /SET RESTART 05561 1505 TAD I LOOK 05562 4764 JMS I .+2 /SET O WAIT AND DISMISS 05563 2000 2000 05564 6552 XOR /EDU-20 PAL8-V10D 13-OCT-96 PAGE 72 05565 4572 RESTOR, TSTEND 05566 4551 ERR280, ERROR 05567 3037 DCA DATAPC 05570 1111 TAD CCR 05571 3043 DCA DATAPC+4 05572 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 73 05574 0016 05575 6731 05576 4357 05577 5734 5600 PAGE 05600 7736 QMDOT, -42 05601 5602 OPT1, .+1 05602 0011 11 05603 0000 QCT1, 0 05604 2757 QERR, ERR110 05605 1145 QINPACK,INPACK 05606 0000 QUOCNT, 0 05607 0000 QCOUNT, 0 05610 1026 QUOTES, TAD CHAR /LITERAL STRING 05611 1200 TAD QMDOT 05612 7640 SZA CLA 05613 5604 JMP I QERR /ERROR, NOT STRING 05614 1327 TAD QOPNEXT /SET UP POPJ RETURN 05615 4540 PUSHA 05616 1324 QINP, TAD QCON1 /ENTRY POINT FOR INPUT COMMAND 05617 1325 QLINP, TAD QCON2 /ENTRY POINT FOR LINPUT COMMAND 05620 3243 DCA QSLIS /WHICH LIST TO SORT THROUGH 05621 1126 TAD M6 05622 3207 DCA QCOUNT /COUNT FOR 6 CHARS 05623 3206 DCA QUOCNT /QUOTE COUNTER 05624 2032 ISZ SPACSW /KEEP SPACES 05625 2031 ISZ MODE /SET STRING MODE INDICATOR 05626 4542 PUSHF /PUSH 3 WORDS ONTO STACK 05627 0111 CCR 05630 1015 TAD PDLXR 05631 3016 DCA AXIN 05632 3024 DCA XCTIN 05633 1016 TAD AXIN 05634 3052 DCA PACKST 05635 1201 TAD OPT1 05636 3053 DCA PACKND 05637 7410 SKP /WE ALREAD HAVE FIRST CHAR 05640 4535 QUOTE1, GETC 05641 4536 SORTJ 05642 7306 PRNTL1-1 05643 0000 QSLIS, 0 05644 1207 QNEXTC, TAD QCOUNT /HAVE WE GOT 6 CHARS YET 05645 7710 SPA CLA /YES, DON'T BOTHER PACKING 05646 4556 PACKC 05647 2207 ISZ QCOUNT /BUMP CHAR COUNTER 05650 5240 JMP QUOTE1 05651 1243 TAD QSLIS /GOT 6 CHARS: CHECK IF LINPUT COMMMAND 05652 7041 CIA 05653 1325 TAD QCON2 05654 7640 SZA CLA 05655 5240 JMP QUOTE1 /NO, IGNORE REST OF STRING 05656 1326 TAD QCOM /YES, FAKE A COMMA /EDU-20 PAL8-V10D 13-OCT-96 PAGE 73-1 05657 3206 DCA QUOCNT /SO WE CAN GET REST OF STRING 05660 5301 JMP QDONE2 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 74 05661 1206 QUOCHK, TAD QUOCNT /CHECK WHICH QUOTE THIS IS 05662 7650 SNA CLA /SECOND QUOTE, ALL DONE 05663 5267 JMP .+4 05664 3032 DCA SPACSW /IGNORE SPACES 05665 4535 GETC /SKIP OVER QUOTE 05666 5275 JMP QDONE /END OF STRING 05667 2206 ISZ QUOCNT 05670 5240 JMP QUOTE1 /SET FLAG AND CONTINUE 05671 1206 QCOMCK, TAD QUOCNT /CHECK IF COMMA INSIDE QUOTES 05672 7650 SNA CLA 05673 5275 JMP QDONE /NO QUOTES, ENDS STRING 05674 5244 JMP QNEXTC /INSIDE QUOTES, KEEP IT 05675 1026 QDONE, TAD CHAR /DONE, SAVE TERMINATOR 05676 3206 DCA QUOCNT 05677 1207 TAD QCOUNT /SAVE CHAR COUNT, FILL WORD WITH CR'S 05700 7041 CIA 05701 1126 QDONE2, TAD M6 05702 7041 CIA 05703 3203 DCA QCT1 05704 1207 TAD QCOUNT 05705 7700 SMA CLA 05706 5314 JMP QDONE1 /YES 05707 1111 TAD CCR /CCR ENDS STRING 05710 3026 DCA CHAR 05711 4556 PACKC 05712 2207 ISZ QCOUNT 05713 5311 JMP .-2 05714 4545 QDONE1, POPF /GET THE STRING 05715 6726 FLARG 05716 1107 TAD FLARGP /POINT TO STRING 05717 3025 DCA PT1 05720 1206 TAD QUOCNT 05721 3026 DCA CHAR /RESTORE CHARACTER 05722 3032 DCA SPACSW /SET TO IGNORE SPACES 05723 5544 POPJ /RETURN 05724 7774 QCON1, QLIS2-QLIS1 05725 0664 QCON2, QLIS1-PRNTL1 05726 0054 QCOM, ",-200 05727 2644 QOPNEXT,OPNEXT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 75 /CHECK IF STRING RETURNED, SET UP TO GET SECOND ARG /FOR MID AND CAT FUNCTIONS 05730 0000 GETSTR, 0 05731 1031 TAD MODE /MAKE SURE FIRST ARG IS A STRING 05732 7640 SZA CLA 05733 4561 TSTCOM /CHECK FOR COMMA 05734 4551 ERR560, ERROR /FIRST ARG NOT STRING, MISSING ARG 05735 4542 PUSHF /SAVE THE STRING 05736 6726 FLARG 05737 3031 DCA MODE /CLEAR MODE TO CHECK NEXT ARG TYPE 05740 5730 JMP I GETSTR /RETURN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 76 /FLOATS NUMBER IN AC INTO FLARG 05741 0000 FLOAT, 0 05742 3074 DCA T1 /SAVE NUMBER 05743 3072 DCA AC1 /ZERO AC1 SO NFIX WILL CLEAR FP AC 05744 7200 LNFIX /CALL NFIX 05745 4574 CALLF1 /IN FIELD 1 05746 1357 TAD C217 /SET EXPONENT 05747 3067 DCA ACEXP 05750 1074 TAD T1 /SET NUMBER 05751 3071 DCA AC2 05752 4407 FINT 05753 6010 FNOR /FLOAT NUMBER 05754 7507 FPUT I FLARGP /PUT INTO FLARG 05755 0000 FEXT 05756 5741 JMP I FLOAT /DONE 05757 0217 C217, 217 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 77 05760 0000 MGET, 0 /FAKE OUT GETC 05761 2075 ISZ T2 /CHECK FLAG 05762 5365 JMP MGET1 05763 1077 TAD CNTR 05764 5375 JMP MGET2 05765 7340 MGET1, L7777 /SET FLAG 05766 3075 DCA T2 05767 1413 TAD I FLTXR /GET NEW PAIR 05770 3077 DCA CNTR 05771 1077 TAD CNTR 05772 7012 RTR 05773 7012 RTR 05774 7012 RTR 05775 0122 MGET2, AND C77 /KILL GARGAGE 05776 5760 JMP I MGET /RETURN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 78 6000 PAGE /*MID* FUNCTION FORMAT: MID(A$,X,Y) /RETURNS Y CHARACTERS STARTING WITH THE XTH CHAR IN A$ 06000 4777 MID, JMS I (GETSTR /GET THE FIRST TWO ARGS 06001 4541 PUSHJ 06002 2611 EVAL-1 06003 4267 JMS MIDCHK /CHECK IF ARG IN BOUNDS 06004 4540 PUSHA /SAVE FOR LATER 06005 4561 TSTCOM /ANOTHER COMMA? 06006 4551 ERR550, ERROR /MISSING OR BAD ARG 06007 4541 PUSHJ /GET THIRD ARG 06010 2611 EVAL-1 06011 4267 JMS MIDCHK /CHECK ARG 06012 3302 DCA MIDC2 06013 4543 POPA /GET SECOND ARG 06014 3301 DCA MIDC1 /SAVE 06015 4545 POPF /GET STRING 06016 6726 FLARG 06017 1376 TAD (FLARG-1 06020 3014 DCA FLTXR2 /PACK POINTER 06021 3074 DCA T1 /PACK SWITCH 06022 1301 TAD MIDC1 /# OF CHARS TO IGNORE 06023 7041 CIA 06024 7110 CLL RAR 06025 1014 TAD FLTXR2 /CALCULATE FIRST CHAR 06026 3013 DCA FLTXR 06027 7430 SZL /CHECK IF PARTIAL 06030 7240 CLA CMA 06031 3075 DCA T2 /UNPACK SWITCH 06032 7430 SZL 06033 1413 TAD I FLTXR /GET CHAR IF PARTIAL 06034 3077 DCA CNTR 06035 7340 MID1, L7777 /CALCULATE NUMBER OF CHARS TO TRANSFER 06036 1302 TAD MIDC2 06037 3302 DCA MIDC2 06040 1302 TAD MIDC2 06041 1301 TAD MIDC1 06042 7041 CIA 06043 1126 TAD M6 06044 7740 SMA SZA CLA 06045 5206 JMP ERR550 /SECOND ARG LESS THAN FIRST 06046 1126 TAD M6 /CHARACTER COUNTER 06047 3031 DCA MODE 06050 4775 MID2, JMS I (MGET /GET CHAR 06051 4356 JMS MPUT /PUT CHAR 06052 2031 ISZ MODE 06053 7410 SKP 06054 5263 JMP MID3 /DONE WITH ALL 6 CHARS 06055 2302 ISZ MIDC2 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 78-1 06056 5250 JMP MID2 /GET ANOTHER CHARACTER 06057 1122 TAD C77 06060 4356 JMS MPUT /FILL STRING WITH CR'S 06061 2031 ISZ MODE 06062 5257 JMP .-3 06063 2031 MID3, ISZ MODE /SET STRING MODE FOR STRING *IF*'S 06064 2015 ISZ PDLXR /KILL POPJ RETURN 06065 5666 JMP I .+1 /SPECIAL RETURN FOR STRING FUNCTIONS 06066 5040 ENDF1 06067 0000 MIDCHK, 0 /CHECK ARGUMENT LIMITS 06070 4510 JMS I INTEGE /MAKE AN INTEGER 06071 7570 SPA SNA SZL /CHECK IF ZERO, NEGATIVE OR TOO BIG 06072 5206 JMP ERR550 06073 7041 CIA 06074 1112 TAD C7 /CHECK IF TOO BIG 06075 7550 SPA SNA 06076 5206 JMP ERR550 /TOO BIG 06077 1126 TAD M6 /FIX IT UP 06100 5667 JMP I MIDCHK 06101 0000 MIDC1, 0 /FIRST CHAR TO COPY 06102 0000 MIDC2, 0 /LAST CHAR TO COPY /EDU-20 PAL8-V10D 13-OCT-96 PAGE 79 /*CAT* FUNCTION FORMAT: CAT(A$,B$) /RETURNS A STRING OF A$ CONCATENATED WITH B$ 06103 4777 CAT, JMS I (GETSTR /GET TWO ARGUMENTS 06104 4541 PUSHJ 06105 2611 EVAL-1 06106 1031 TAD MODE /CHECK IF SECOND ARG IS A STRING 06107 7450 SNA 06110 5206 JMP ERR550 06111 3032 DCA SPACSW /KEEP SPACES 06112 1126 TAD M6 /COUNT FOR 6 CHARS 06113 3302 DCA MIDC2 06114 3267 DCA MIDCHK /CLEAR FLAG 06115 4545 POPF /FIRST STRING INTO FLARG 06116 6726 FLARG 06117 4407 FINT /PUT STRING INTO IF1 06120 7774 FPUT I (IF1 06121 0000 FEXT 06122 1376 TAD (FLARG-1 /POINT TO STRING 06123 3013 DCA FLTXR 06124 3075 DCA T2 /CLEAR UPACK SWITCH 06125 1376 TAD (FLARG-1 /POINT TO PACKING TEMP 06126 3014 DCA FLTXR2 06127 3074 DCA T1 /CLEAR PACK SWITCH 06130 4775 CCAT1, JMS I (MGET /GET A CHAR 06131 3301 DCA MIDC1 /SAVE 06132 1301 TAD MIDC1 06133 7001 IAC 06134 0127 AND C7700 /CHECK FOR CR 06135 7640 SZA CLA 06136 5344 JMP CCAT2 /CR FOUND 06137 1301 TAD MIDC1 06140 4356 CCAT3, JMS MPUT /REPACK CHAR 06141 2302 ISZ MIDC2 /CHECK IF 6 YET 06142 5330 JMP CCAT1 06143 5263 JMP MID3 /RETURN 06144 1267 CCAT2, TAD MIDCHK /CHECK IF ALREADY HERE 06145 7650 SNA CLA 06146 5351 JMP .+3 06147 1301 TAD MIDC1 /FLAG SET, RESTORE CHAR 06150 5340 JMP CCAT3 06151 1373 TAD (IF1-1 /SET POINTERS TO SECOND STRING 06152 3013 DCA FLTXR 06153 3075 DCA T2 /CLEAR FLAG 06154 2267 ISZ MIDCHK /SET FLAG 06155 5330 JMP CCAT1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 80 06156 0000 MPUT, 0 /FAKE OUT PACKC 06157 2074 ISZ T1 /CHECK FLAG 06160 5364 JMP MPUT1 06161 1076 TAD T3 06162 3414 DCA I FLTXR2 /STASH CHAR 06163 5756 JMP I MPUT 06164 4553 MPUT1, RTL6 06165 0127 AND C7700 06166 3076 DCA T3 /SAVE PARTIAL 06167 7340 L7777 /SET FLAG 06170 3074 DCA T1 06171 5756 JMP I MPUT 06173 1375 06174 1376 06175 5760 06176 6725 06177 5730 6200 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 81 06200 0000 FLIN, 0 06201 1377 TAD (-11 06202 3300 DCA DNUMBR 06203 4301 JMS DECONV 06204 4554 TESTN 06205 5210 JMP .+3 06206 0011 FP11, 11 06207 5217 JMP FIGO1 06210 4535 GETC 06211 1300 TAD DNUMBR 06212 3013 DCA FLTXR 06213 4322 JMS DECON 06214 1300 TAD DNUMBR 06215 7041 CIA 06216 1013 TAD FLTXR 06217 3013 FIGO1, DCA FLTXR 06220 1337 TAD C233 06221 3067 DCA ACEXP 06222 4407 FINT 06223 6010 FNOR 06224 7425 FPUT I PT1 06225 0000 FEXT 06226 1300 TAD DNUMBR 06227 1206 TAD FP11 06230 7650 SNA CLA 06231 4551 ERR150, ERROR 06232 1026 TAD CHAR 06233 1376 TAD (200-"E 06234 7640 SZA CLA 06235 5255 JMP FIGO2 06236 4535 GETC 06237 7346 L7775 06240 3300 DCA DNUMBR 06241 4301 JMS DECONV 06242 7326 L0002 06243 1300 TAD DNUMBR 06244 7710 SPA CLA 06245 5231 JMP .-14 06246 1066 TAD ACSIGN 06247 7104 CLL RAL 06250 1070 TAD AC3 06251 7430 SZL 06252 7041 CIA 06253 1013 TAD FLTXR 06254 3013 DCA FLTXR 06255 1013 FIGO2, TAD FLTXR 06256 7450 SNA 06257 5600 JMP I FLIN 06260 7710 SPA CLA 06261 5266 JMP FIGO4 06262 1013 TAD FLTXR 06263 7041 CIA 06264 3013 DCA FLTXR 06265 1324 TAD M1000 06266 1374 FIGO4, TAD (FDIV I (TEN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 81-1 06267 3272 DCA FIGO3+2 06270 4407 FIGO3, FINT 06271 0425 FGET I PT1 06272 7402 HLT 06273 7425 FPUT I PT1 06274 0000 FEXT 06275 2013 ISZ FLTXR 06276 5270 JMP FIGO3 06277 5600 JMP I FLIN 06300 0000 DNUMBR, 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 82 06301 0000 DECONV, 0 06302 3070 DCA AC3 06303 3071 DCA AC2 06304 3072 DCA AC1 06305 3066 DCA ACSIGN 06306 1026 TAD CHAR 06307 1373 TAD (200-"+ 06310 7450 SNA 06311 5317 JMP .+6 06312 7112 CLL RTR 06313 7640 SZA CLA 06314 5320 JMP .+4 06315 7330 L4000 06316 3066 DCA ACSIGN 06317 4535 GETC 06320 4322 JMS DECON 06321 5701 JMP I DECONV 06322 0000 DECON, 0 06323 4554 TESTN 06324 7000 M1000, NOP 06325 5722 JMP I DECON 06326 6212 CIF SWAP /GO DO FIELD 1 STUFF 06327 5730 JMP I .+1 06330 0146 DECON1 06331 4535 DECON2, GETC 06332 2300 ISZ DNUMBR 06333 5323 JMP DECON+1 06334 4551 ERR160, ERROR 06335 0000 XGETLN, 0 06336 4554 TESTN 06337 0233 C233, 233 06340 4551 ERR370, ERROR 06341 1126 TAD M6 06342 3300 DCA DNUMBR 06343 4301 JMS DECONV 06344 1071 TAD AC2 06345 7650 SNA CLA 06346 1070 TAD AC3 06347 7550 SPA SNA 06350 5340 JMP ERR370 06351 3030 DCA LINENO 06352 1030 TAD LINENO 06353 7001 IAC 06354 7710 SPA CLA 06355 5340 JMP ERR370 06356 5735 JMP I XGETLN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 83 /*RANDOMIZE* 06357 1765 RANDOM, TAD I INTCNT /USE INTERRUPT COUNTER AS ADDRESS 06360 1064 TAD FRNDX+1 06361 3063 DCA FRNDX 06362 1365 TAD INTCNT 06363 3064 DCA FRNDX+1 06364 5544 POPJ 06365 0000 INTCNT,0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 84 06373 7725 06374 4775 06375 7753 06376 7673 06377 7767 6400 PAGE 06400 0000 FLOUT, 0 06401 1066 TAD ACSIGN 06402 7710 SPA CLA 06403 1111 TAD CCR 06404 1121 TAD C40 06405 4534 PRINTC 06406 1072 TAD AC1 06407 7640 SZA CLA 06410 5214 JMP FOGO1 06411 1377 TAD (60 06412 4534 PRINTC 06413 5600 JMP I FLOUT 06414 7340 FOGO1, LFXUP /CALL FIXUP 06415 4574 CALLF1 06416 1376 TAD (-7 06417 3077 DCA CNTR 06420 1375 TAD (NUMBUF-1 06421 3013 DCA FLTXR 06422 5230 JMP .+6 06423 1072 FOGO2, TAD AC1 06424 0113 AND C177 06425 3072 DCA AC1 06426 7346 LMULT /CALL MULT10 06427 4574 CALLF1 06430 1072 TAD AC1 06431 4553 RTL6 06432 0374 AND (17 06433 1377 TAD (60 06434 3413 DCA I FLTXR 06435 2077 ISZ CNTR 06436 5223 JMP FOGO2 06437 1375 TAD (NUMBUF-1 06440 3013 DCA FLTXR 06441 7326 L0002 06442 1775 TAD I (DECEXP 06443 7450 SNA 06444 5302 JMP FOGO4 06445 7510 SPA 06446 5252 JMP FOGO3 06447 1123 TAD M10 06450 7710 SPA CLA 06451 5306 JMP FOGO5 06452 7200 FOGO3, CLA 06453 1413 TAD I FLTXR 06454 4534 PRINTC /EDU-20 PAL8-V10D 13-OCT-96 PAGE 84-1 06455 1373 TAD (".-200 06456 4534 PRINTC 06457 1126 TAD M6 06460 3077 DCA CNTR 06461 1413 TAD I FLTXR 06462 4534 PRINTC 06463 2077 ISZ CNTR 06464 5261 JMP .-3 06465 1372 TAD ("E-200 06466 4534 PRINTC 06467 1775 TAD I (DECEXP 06470 7710 SPA CLA 06471 7326 L0002 06472 1371 TAD ("+-200 06473 4534 PRINTC 06474 1775 TAD I (DECEXP 06475 7510 SPA 06476 7041 CIA 06477 2770 ISZ I (PRNT5 06500 4767 JMS I (ITPRNT 06501 5600 JMP I FLOUT 06502 1373 FOGO4, TAD (".-200 06503 4534 PRINTC 06504 1377 TAD (60 06505 4534 PRINTC 06506 1376 FOGO5, TAD (-7 06507 3077 DCA CNTR 06510 1366 TAD (NUMBUF+6 06511 3075 FOGO6, DCA T2 06512 1475 TAD I T2 06513 1365 TAD (-60 06514 7640 SZA CLA 06515 5322 JMP FOGO7 06516 2077 ISZ CNTR 06517 7340 L7777 06520 1075 TAD T2 06521 5311 JMP FOGO6 06522 1775 FOGO7, TAD I (DECEXP 06523 1077 TAD CNTR 06524 7710 SPA CLA 06525 5331 JMP .+4 06526 1775 TAD I (DECEXP 06527 7040 CMA 06530 3077 DCA CNTR 06531 7344 L7776 06532 7040 FOGO8, CMA 06533 1775 TAD I (DECEXP 06534 7440 SZA 06535 5340 JMP .+3 06536 1373 TAD (".-200 06537 4534 PRINTC 06540 3775 DCA I (DECEXP 06541 1413 TAD I FLTXR /EDU-20 PAL8-V10D 13-OCT-96 PAGE 84-2 06542 4534 PRINTC 06543 2077 ISZ CNTR 06544 5332 JMP FOGO8 06545 5600 JMP I FLOUT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 85 06546 4551 ERR330, ERROR DECIMAL 06547 6030 PRNTLL, -1000 06550 7634 -100 06551 7766 -10 OCTAL /THANKS TO TS8-V228 FOR THIS ONE /*OR* ROUTINE 06552 0000 XOR, 0 06553 3076 DCA T3 /SAVE A 06554 1752 TAD I XOR 06555 7040 CMA /GET A AND NOT B 06556 0076 AND T3 06557 1752 TAD I XOR /NOW GET BITS IN B, B AND NOT B IS ALWAYS /0, SO WE NOW HAVE B OR A (NO CHANCE OF OVFLOW) 06560 3505 DCA I LOOK 06561 5177 JMP NULL 06562 2055 FUPAR1, 2055 06563 0000 0 06564 0000 0 06565 7720 06566 6734 06567 0231 06570 0277 06571 0053 06572 0105 06573 0056 06574 0017 06575 6725 06576 7771 06577 0060 6600 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 86 /*LEN* FUNCTION, RETURNS NUMBER OF CHARACTERS /(UP TO 6) IN A STRING 06600 3077 LEN, DCA CNTR /CHAR COUNTER 06601 7346 L7775 /COUNT FOR 3 WORDS 06602 3074 DCA T1 06603 7360 CLA STL CMA 06604 1107 TAD FLARGP 06605 3013 DCA FLTXR 06606 1413 LENXT, TAD I FLTXR /GET NEXT TWO CHARACTERS 06607 1131 TAD C100 06610 7430 SZL /LINK SET ONLY IF TOP HALF IS CR 06611 5223 JMP LENDON 06612 2077 ISZ CNTR /COUNT CHAR 06613 0122 AND C77 /KILL TOP HALF 06614 7001 IAC 06615 0127 AND C7700 /KILL BOTTOM HALF 06616 7640 SZA CLA /AC=100 IF BOTTOM HALF IS CR 06617 5223 JMP LENDON 06620 2077 ISZ CNTR /COUNT CHAR 06621 2074 ISZ T1 /DONE? 06622 5206 JMP LENXT 06623 7200 LENDON, CLA /CLEAR GARBAGE IN AC 06624 3031 DCA MODE /NO LONGER IN STRING MODE 06625 1077 TAD CNTR 06626 4777 JMS I (FLOAT /FLOAT NUMBER INTO FLARG 06627 5544 POPJ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 87 /*LINPUT* COMMAND, INPUT AN ENTIRE LINE OF TEXT /INTO A STRING ARRAY 06630 3024 LINPUT, DCA SUBS /CLEAR SUBSCRIPT 06631 4541 PUSHJ /GET VARIABLE 06632 4400 GETVAR 06633 7650 SNA CLA /FUNCTION? 06634 4572 TSTEND 06635 4551 ERR540, ERROR /ILLEGAL OR MORE THAN ONE VARIABLE 06636 1031 TAD MODE 06637 7650 SNA CLA 06640 5235 JMP .-3 /NOT STRING VARIABLE 06641 4542 PUSHF /SAVE PT1;CHAR;LINEPC 06642 0025 PT1 06643 4542 PUSHF /SAVE TEXT POINTERS 06644 0017 TEXTP 06645 1023 TAD ADD /CHECK IF SUBSCRIPTED 06646 7104 CLL RAL 06647 7130 STL RAR 06650 3023 DCA ADD 06651 1024 TAD SUBS 06652 0127 AND C7700 /ZERO LAST DIMENSION 06653 3024 DCA SUBS 06654 4542 PUSHF /SAVE NAME AND SUBSCRIPT 06655 0023 ADD 06656 2032 ISZ SPACSW /KEEP LEADING SPACES 06657 4541 PUSHJ /GET LINE OF INPUT 06660 1167 PAKLIN 06661 3334 DCA LINCT /ZERO CHARACTER COUNTER 06662 4545 POPF /RESTORE NAME AND SUBSCRIPT 06663 0023 ADD 06664 5267 JMP .+3 06665 2032 LINXT, ISZ SPACSW /KEEP SPACES 06666 4535 GETC /SKIP OVER COMMA 06667 2024 ISZ SUBS /INCREMENT SUBSCRIPT 06670 4541 PUSHJ /GET VARIABLE 06671 4435 LOOKUP 06672 4542 PUSHF /SAVE NAME AND SUBSCRIPT 06673 0023 ADD 06674 4541 PUSHJ /GET NEXT 6 CHARS OF STRING 06675 5617 QLINP 06676 1775 LINXT2, TAD I AQCT1 /GET CHARACTER COUNT 06677 1334 TAD LINCT /BUMP CHARACTER COUNT 06700 3334 DCA LINCT 06701 4545 POPF /RESTORE NAME AND SUBSCRIPT 06702 0023 ADD 06703 4547 FLPUT /SET VARIABLE 06704 6726 FLARG 06705 4572 TSTEND /END OF STRING? 06706 5265 JMP LINXT /NO, GET NEXT 6 CHARS 06707 1024 TAD SUBS /ZERO LAST DIMENSION 06710 0127 AND C7700 06711 3024 DCA SUBS /EDU-20 PAL8-V10D 13-OCT-96 PAGE 87-1 06712 4541 PUSHJ 06713 4435 LOOKUP /GET VARIABLE 06714 1334 TAD LINCT 06715 4777 JMS I (FLOAT /FLOAT AC INTO FLARG 06716 4547 FLPUT /PUT IT AWAY 06717 6726 FLARG 06720 4545 POPF /RESTORE TEXT 06721 0017 TEXTP 06722 4545 POPF /RESTORE OTHER GARBAGE 06723 0025 PT1 06724 5544 POPJ /RETURN 06725 0000 DECEXP, 0 06726 0000 NUMBUF, ZBLOCK 7 6726 FLARG=NUMBUF 6731 TEMP=NUMBUF+3 6734 LINCT=NUMBUF+6 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 88 06735 0000 FIX, 0 06736 4407 FINT 06737 6150 FSLE 06740 1365 FADD FIXCON 06741 6100 FSGE 06742 2365 FSUB FIXCON 06743 0000 FEXT 06744 7200 LNFIX /CALL NFIX 06745 4574 CALLF1 06746 7110 CLL RAR 06747 1066 TAD ACSIGN 06750 7004 RAL 06751 7430 SZL 06752 7041 CIA 06753 3364 DCA FIXTMP 06754 7100 CLL 06755 1072 TAD AC1 06756 7450 SNA 06757 1071 TAD AC2 06760 7640 SZA CLA 06761 7120 CLL CML 06762 1364 TAD FIXTMP 06763 5735 JMP I FIX 06764 0000 FIXTMP, 0 06765 1544 FIXCON, 1544 06766 1433 1433 06767 6750 6750 06770 0015 XPAKL1, 15 /CR 06771 0007 7 /BELL 06772 0177 177 /RUBOUT 06773 0137 137 /* 06774 0100 100 /@ IFZERO QCT1&4000 06775 5603 AQCT1, QCT1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 89 06777 5741 7000 PAGE 07000 4407 SQR, FINT 07001 7336 FPUT FSINZ 07002 6040 FSNE 07003 5235 FJMP SQEXIT 07004 0000 FEXT 07005 1066 TAD ACSIGN 07006 7710 SPA CLA 07007 4551 ERR020, ERROR 07010 1067 TAD ACEXP 07011 1377 TAD (7600 07012 7100 CLL 07013 7510 SPA 07014 7020 CML 07015 7010 RAR 07016 1371 TAD PL200 07017 3067 DCA ACEXP 07020 1123 TAD M10 07021 3237 DCA SQCNT 07022 4407 SQLOOP, FINT 07023 7507 FPUT I FLARGP 07024 0336 FGET FSINZ 07025 4507 FDIV I FLARGP 07026 1507 FADD I FLARGP 07027 0000 FEXT 07030 7340 L7777 07031 1067 TAD ACEXP 07032 3067 DCA ACEXP 07033 2237 ISZ SQCNT 07034 5222 JMP SQLOOP 07035 0000 SQEXIT, FEXT 07036 5544 POPJ 07037 0000 SQCNT, 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 90 07040 4407 TAN, FINT 07041 7776 FPUT I (TEMP 07042 0000 FEXT 07043 4541 PUSHJ 07044 7057 COS 07045 4407 FINT 07046 7507 FPUT I FLARGP 07047 0776 FGET I (TEMP 07050 0000 FEXT 07051 4541 PUSHJ 07052 7062 FSIN 07053 4407 FINT 07054 4507 FDIV I FLARGP 07055 0000 FEXT 07056 5544 POPJ 07057 4407 COS, FINT 07060 1363 FADD FSINC7 07061 6000 FSKP 07062 4407 FSIN, FINT 07063 4344 FDIV FSINC1 07064 7336 FPUT FSINZ 07065 0000 FEXT 07066 4541 PUSHJ 07067 4350 FFIX 07070 7330 L4000 07071 1066 TAD ACSIGN 07072 3066 DCA ACSIGN 07073 4407 FINT 07074 1336 FADD FSINZ 07075 0000 FEXT 07076 2067 ISZ ACEXP 07077 2067 ISZ ACEXP 07100 4407 FINT 07101 7336 FSINXX, FPUT FSINZ 07102 0000 FEXT 07103 3066 DCA ACSIGN 07104 4407 FINT 07105 2775 FSUB I (FLTONE 07106 6140 FSGT 07107 5320 FJMP FSINOK 07110 0336 FGET FSINZ 07111 0000 FEXT 07112 4541 PUSHJ 07113 5047 SGN 07114 2067 ISZ ACEXP 07115 4407 FINT 07116 2336 FSUB FSINZ 07117 5301 FJMP FSINXX 07120 0336 FSINOK, FGET FSINZ 07121 3336 FMUL FSINZ 07122 7341 FPUT FSINZZ 07123 3347 FMUL FSINC3 07124 1352 FADD FSINC4 07125 3341 FMUL FSINZZ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 90-1 07126 1355 FADD FSINC5 07127 3341 FMUL FSINZZ 07130 1360 FADD FSINC6 07131 3341 FMUL FSINZZ 07132 1363 FADD FSINC7 07133 3336 FMUL FSINZ 07134 0000 FEXT 07135 5544 POPJ 07136 0000 FSINZ, 0;0;0 07137 0000 07140 0000 07141 0000 FSINZZ, 0;0;0 07142 0000 07143 0000 07144 2036 FSINC1, 2036;2207;7325 07145 2207 07146 7325 07147 1644 FSINC3, 1644;7553;6722 07150 7553 07151 6722 07152 5714 FSINC4, 5714;6223;1423 07153 6223 07154 1423 07155 1755 FSINC5, 1755;632;1276 07156 0632 07157 1276 07160 6005 FSINC6, 6005;1256;7406 07161 1256 07162 7406 07163 2016 FSINC7, 2016;2207;7325 07164 2207 07165 7325 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 91 /*UDF* ROUTINE 07166 0000 XUDF, 0 IFZERO .&4000 07167 6211 CDF 10 07170 5766 JMP I XUDF 07171 0200 PL200, 200 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 92 07175 4354 07176 6731 07177 7600 7200 PAGE 07200 4407 FEXP, FINT 07201 4260 FDIV FEXPC1 07202 7777 FPUT I (FEXPU 07203 0000 FEXT 07204 4541 PUSHJ 07205 4336 INT 07206 7330 L4000 07207 1066 TAD ACSIGN 07210 3066 DCA ACSIGN 07211 4407 FINT 07212 7255 FPUT FEXP1 07213 1777 FADD I (FEXPU 07214 7776 FPUT I (FEXPF 07215 3776 FMUL I (FEXPF 07216 1263 FADD FEXPC2 07217 7777 FPUT I (FEXPU 07220 0255 FGET FEXP1 07221 0000 FEXT 07222 4510 JMS I INTEGE 07223 7041 CIA 07224 7001 IAC 07225 3255 DCA FEXP1 07226 4407 FINT 07227 0266 FGET FEXPC3 07230 4777 FDIV I (FEXPU 07231 1271 FADD FEXPC4 07232 2776 FSUB I (FEXPF 07233 7777 FPUT I (FEXPU 07234 0776 FGET I (FEXPF 07235 3776 FMUL I (FEXPF 07236 3274 FMUL FEXPC5 07237 1777 FADD I (FEXPU 07240 7777 FPUT I (FEXPU 07241 0776 FGET I (FEXPF 07242 4777 FDIV I (FEXPU 07243 1277 FADD FEXPC6 07244 0000 FEXT 07245 1067 TAD ACEXP 07246 1255 TAD FEXP1 07247 3067 DCA ACEXP 07250 4407 FINT 07251 6010 FNOR 07252 1775 FADD I (FLZERO 07253 0000 FEXT 07254 5544 POPJ 07255 0000 FEXP1, 0;0;0 07256 0000 07257 0000 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 92-1 7136 FEXPU=FSINZ 7141 FEXPF=FSINZZ 07260 2005 FEXPC1, 2005;4271;300 07261 4271 07262 0300 07263 2075 FEXPC2, 2075;3552;7022 07264 3552 07265 7022 07266 6124 FEXPC3, 6124;6477;715 07267 6477 07270 0715 07271 2044 FEXPC4, 2044;7643;62 07272 7643 07273 0062 07274 1744 FEXPC5, 1744;3372;3400 07275 3372 07276 3400 07277 2004 FEXPC6, 2004 07300 0000 FLZERO, 0 07301 0000 0 07302 0000 0 07303 2074 F72, 2074;4000;0 07304 4000 07305 0000 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 93 07306 0073 PRNTL4, 73 /; 07307 0054 PRNTL1, 54 /, 07310 0047 47 /' 07311 0042 PRNTL7, 42 /" 07312 0015 15 /CR 07313 0134 "\-200 07314 7301 LOG, LHIGH /CALL HIGHWD 07315 4574 CALLF1 07316 7750 SPA SNA CLA 07317 4551 ERR010, ERROR 07320 1067 TAD ACEXP 07321 3370 DCA LOGEXP 07322 1373 TAD L200 07323 3067 DCA ACEXP 07324 4407 FINT 07325 7777 FPUT I (FEXPU 07326 1353 FADD FLOGC1 07327 7776 FPUT I (FEXPF 07330 0777 FGET I (FEXPU 07331 2353 FSUB FLOGC1 07332 4776 FDIV I (FEXPF 07333 7776 FPUT I (FEXPF 07334 3776 FMUL I (FEXPF 07335 3356 FMUL FLOGC2 07336 1361 FADD FLOGC3 07337 3776 FMUL I (FEXPF 07340 3776 FMUL I (FEXPF 07341 1364 FADD FLOGC4 07342 3776 FMUL I (FEXPF 07343 2277 FSUB FEXPC6 07344 7776 FPUT I (FEXPF 07345 0367 FGET LOGFWD 07346 2372 FSUB LOGOKW 07347 1776 FADD I (FEXPF 07350 3260 FMUL FEXPC1 07351 0000 FEXT 07352 5544 POPJ 07353 2005 FLOGC1, 2005;5202;3632 07354 5202 07355 3632 07356 2004 FLOGC2, 2004;6253;2521 07357 6253 07360 2521 07361 2007 FLOGC3, 2007;5421;3604 07362 5421 07363 3604 07364 2025 FLOGC4, 2025;6125;1007 07365 6125 07366 1007 07367 2174 LOGFWD, 2174 07370 0000 LOGEXP, 0 07371 0000 0 07372 2174 LOGOKW, 2174 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 93-1 07373 0200 L200, 200 07374 0000 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 94 07375 7300 07376 7141 07377 7136 7400 PAGE 07400 0000 ATNSGN, 0 07401 1066 ATN, TAD ACSIGN 07402 3200 DCA ATNSGN 07403 3066 DCA ACSIGN 07404 4407 FINT 07405 7777 FPUT I (FATNT 07406 7776 FPUT I (FATNAX 07407 2275 FSUB FATNC1 07410 6140 FSGT 07411 5265 FJMP ATNBIG 07412 2300 FSUB FATNC2 07413 6140 FSGT 07414 5220 FJMP ATNLOW 07415 0775 FGET I (FLTONE 07416 4777 FDIV I (FATNT 07417 7777 FPUT I (FATNT 07420 0774 ATNLOW, FGET I (FLZERO 07421 7773 FPUT I (FATNC 07422 0777 FGET I (FATNT 07423 2303 FSUB FATNC3 07424 6100 FSGE 07425 5237 FJMP ATNNOT 07426 0777 FGET I (FATNT 07427 1306 FADD FATNC4 07430 7777 FPUT I (FATNT 07431 0272 FGET FATNCJ 07432 4777 FDIV I (FATNT 07433 1306 FADD FATNC4 07434 7777 FPUT I (FATNT 07435 0311 FGET FATNC5 07436 7773 FPUT I (FATNC 07437 0777 ATNNOT, FGET I (FATNT 07440 3777 FMUL I (FATNT 07441 7772 FPUT I (FATNTT 07442 0314 FGET FATNC6 07443 3772 FMUL I (FATNTT 07444 1317 FADD FATNC7 07445 3772 FMUL I (FATNTT 07446 1322 FADD FATNC8 07447 3772 FMUL I (FATNTT 07450 1325 FADD FATNC9 07451 3772 FMUL I (FATNTT 07452 1775 FADD I (FLTONE 07453 3777 FMUL I (FATNT 07454 1773 FADD I (FATNC 07455 7777 FPUT I (FATNT 07456 0776 FGET I (FATNAX /EDU-20 PAL8-V10D 13-OCT-96 PAGE 94-1 07457 2775 FSUB I (FLTONE 07460 6140 FSGT 07461 5265 FJMP ATNBIG 07462 0771 FGET I (FSINC7 07463 2777 FSUB I (FATNT 07464 7777 FPUT I (FATNT 07465 0777 ATNBIG, FGET I (FATNT 07466 0000 FEXT 07467 1200 TAD ATNSGN 07470 3066 DCA ACSIGN 07471 5544 POPJ 7136 FATNAX=FSINZ 7141 FATNT=FSINZZ 7255 FATNTT=FEXP1 07472 6034 FATNCJ, 6034;0;0 07473 0000 07474 0000 07475 1634 FATNC1, 1634;0;0 07476 0000 07477 0000 07500 2007 FATNC2, 2007;7776;0 07501 7776 07502 0000 07503 1774 FATNC3, 1774;2230;2427 07504 2230 07505 2427 07506 2016 FATNC4, 2016;7331;7272 07507 7331 07510 7272 07511 2004 FATNC5, 2004;1405;2216 07512 1405 07513 2216 07514 1756 FATNC6, 1756;462;4562 07515 0462 07516 4562 07517 5764 FATNC7, 5764;4221;3403 07520 4221 07521 3403 07522 1766 FATNC8, 1766;3141;6672 07523 3141 07524 6672 07525 5775 FATNC9, 5775;2525;2377 07526 2525 07527 2377 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 95 07530 0316 FUNL1, 316 /FN 07531 1151 1151 /SI 07532 0157 157 /CO 07533 0064 64 /AT 07534 0270 270 /EX 07535 0617 617 /LO 07536 0042 42 /AB 07537 1161 1161 /SQ 07540 1147 1147 /SG 07541 0456 456 /IN 07542 1116 1116 /RN 07543 0311 311 /FI 07544 1201 1201 /TA 07545 0651 651 /MI 07546 0141 141 /CA 07547 0605 605 /LE 07550 0657 657 /MO 07551 4407 PRIN12, FINT 07552 7770 FPUT I (IF1 /SETUP TO CALL 'MOD' 07553 0000 FEXT 07554 4542 PUSHF 07555 7303 F72 07556 4545 POPF 07557 6726 FLARG 07560 4541 PUSHJ 07561 5424 MOD1 07562 3066 DCA ACSIGN /MAKE IT POSITIVE 07563 4510 JMS I INTEGE 07564 5767 JMP I (PRIN11 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 96 IFNZRO CONFIG < PAGE XLIST ENPUNCH > /EDU-20 PAL8-V10D 13-OCT-96 PAGE 97 07567 3250 07570 1376 07571 7163 07572 7255 07573 1612 07574 7300 07575 4354 07576 7136 07577 7141 0001 FIELD 1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 98 6600 *6600 P7600, NOPUNCH 0000 FIELD 0 7600 *7600 /THIS WILL BE MOVED LATER ENPUNCH 07600 5356 JMP 7756 /FOR A MONITOR SYSTEM /FIND OUT IF ANYONE HAS THE READER OR THE PUNCH 07601 0000 RCHK, 0 07602 1201 TAD RCHK 07603 3206 DCA PUNCH 07604 1124 TAD C10 07605 7410 SKP 07606 0000 PUNCH, 0 07607 1124 TAD C10 07610 3201 DCA RCHK /GET PROPER MASK 07611 1106 TAD LOOKST 07612 3073 DCA SORTCN 07613 7410 SKP 07614 2073 LKLOOP, ISZ SORTCN 07615 1073 TAD SORTCN 07616 1632 TAD I MMLOOKE 07617 7740 SMA SZA CLA 07620 5606 JMP I PUNCH /AIN'T NOBODY GOT IT 07621 1201 TAD RCHK 07622 0473 AND I SORTCN 07623 7650 SNA CLA 07624 5214 JMP LKLOOP 07625 1106 TAD LOOKST 07626 7041 CIA 07627 1073 TAD SORTCN 07630 2206 ISZ PUNCH 07631 5606 JMP I PUNCH /GET HIS NUMBER INTO THE AC AND EXIT. 07632 0230 MMLOOKE, MLOOKE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 99 /*RTL6* ROUTINE 07633 0000 XRTL6, 0 07634 7106 CLL RTL 07635 7006 RTL 07636 7006 RTL 07637 5633 JMP I XRTL6 /PAREN TEST ROUTINE 07640 0000 PARTST, 0 IFNZRO PARTS-PARTST / PARTST MUST BE AT LOC 7640 / (SEE PARTS1 AND JMS NEAR PRINT4 AS TO WHY) 07641 4543 POPA 07642 3101 DCA LASTOP /SAVED BY *ECALL* 07643 7344 L7776 07644 1073 TAD SORTCN 07645 7041 CIA 07646 4543 POPA /CHECK MATCH 07647 7640 SZA CLA 07650 4551 ERR260, ERROR /NO MATCH 07651 4535 GETC 07652 5640 JMP I PARTST /EDU-20 PAL8-V10D 13-OCT-96 PAGE 100 07653 7301 TAPE, L0001 07654 3025 KKEY, DCA PT1 07655 1075 TAD T2 07656 4540 PUSHA /SAVE IT 07657 4744 JMS I TRUN9 /WAIT FOR TTY TO DIE DOWN 07660 1051 TAD TELSW 07661 7640 SZA CLA 07662 5257 JMP .-3 07663 1025 TAD PT1 07664 3034 DCA OUTPUT 07665 4560 TSTCCR 07666 4551 ERR003, ERROR /JUNK OF SOME SORT 07667 4543 POPA 07670 1345 TAD TDIF1 07671 7450 SNA 07672 5307 JMP LISTN 07673 1346 TAD TDIF2 07674 7640 SZA CLA 07675 5502 JMP I AREADY /TAPE OR KEY COMMAND, NOT PUNCH OR PTR 07676 6002 IOF 07677 4201 JMS RCHK 07700 7610 SKP CLA /FREE /SKP CLA = FOR PTR: PRESENT = SEE BEG118 /0 FOR NO PTR: 07701 4551 ERRNNN, ERROR /SOMEBODY ALREADY HAS READER OR PUNCH 07702 1201 TAD RCHK /ASSIGN IT TO HIM 07703 1505 TAD I LOOK 07704 3505 DCA I LOOK 07705 6014 RFC /AND START THE STUPID THING 07706 5747 JMP I TSTART /IT WOULD BE USEFUL TO JUMP TO READY HERE 07707 6002 LISTN, IOF 07710 4206 JMS PUNCH 07711 7410 SKP /SKP CLA = FOR PTP: PRESENT - SEE BEGO11 /0 FOR NO PTP: 07712 5301 JMP ERRNNN /ALREADY ASSIGNED 07713 1201 TAD RCHK 07714 1505 TAD I LOOK 07715 3505 DCA I LOOK /GIVE IT TO HIM FOR A WHILE 07716 6001 ION 07717 5750 JMP I TLIST 07720 3037 INPUTX, DCA DATAPC 07721 1111 TAD CCR /AUTO-RESTORE 07722 3043 DCA DATAPC+4 07723 4563 COMMAN 07724 1126 TAD M6 07725 7510 SPA 07726 5751 JMP I TFLOTRX /NOT IN STRAIGHT COMMANDS- TRY /FOR RUN-TIME COMMAND 07727 1352 TAD TCOMGO1 07730 3074 DCA T1 07731 6211 CDF SWAP 07732 1474 TAD I T1 /GET ADDRESS OF COMMAND 07733 6201 CDF 07734 3074 DCA T1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 100-1 07735 5474 JMP I T1 /AND GO TO IT... 07736 0002 IF4, 2 /< 07737 0006 6 /> 07740 0012 12 /= 07741 0005 5 /<= 07742 0011 11 />= 07743 0004 4 /<> 07744 2541 TRUN9, RUN9 07745 6502 TDIF1, -LIST16 07746 0004 TDIF2, -LIST15+LIST16 07747 0473 TSTART, START 07750 2246 TLIST, LIST 07751 2545 TFLOTRX,FLOTRX 07752 1542 TCOMGO1,COMGO1 07753 2045 TEN, 2045 07754 0000 0 07755 0000 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 101 0001 FIELD 1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 102 /PRECEDING THIS CODE IN FIELD 1 IS THE FOLLOWING: / CLA /ENTRY FROM INTERRUPT ROUTINE / 6XX5 /UNUSED CODES / . / . / . / JMP KL8INT / L0001 /ENTRY FROM SCHEDULER / 6XX6 /USED CODES / . / . / . 7356 *7356 KL8LOD, /LOADED HERE INITIALLY NOPUNCH 7756 *7756 ENPUNCH 17756 7701 KL8FIX, CLA MQA 17757 7001 IAC 17760 7421 MQL 17761 6203 CIF CDF /DISABLE INTRPT TEMPORARILY 17762 1776 TAD I PLOOKS 17763 3777 DCA I PLOOK 17764 5765 JMP I .+1 /INTERRUPT ON AGAIN AFTER THIS JUMP 17765 0213 KL8LF0 /BACK TO SCHEDULER 17766 1774 KL8INT, TAD I PSAVLK /RESTORE LINK 17767 7104 CLL RAL 17770 1775 TAD I PSAVAC /RESTORE AC 17771 6203 CIF CDF 17772 5773 JMP I .+1 17773 5346 KL8LFL /BACK TO INTERRUPT ROUTINE 17774 5354 PSAVLK, SAVLK 17775 5353 PSAVAC, SAVAC 17776 0106 PLOOKS, LOOKST 17777 0105 PLOOK, LOOK 0000 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 103 IFNZRO CONFIG < NOPUNCH XLIST > /EDU-20 PAL8-V10D 13-OCT-96 PAGE 104 0001 FIELD 1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 105 0017 *17 10017 0000 FXR2, 0000 10020 0000 OPSIGN, 0 /OPERAND SIGN 10021 0000 OPEXP, 0 /OPERAND EXPONENT 10022 0000 OP3, 0 /OPERAND 10023 0000 OP2, 0 10024 0000 OP1, 0 10025 0000 OVER, 0 /OVERFLOW INTO HERE 10026 0000 FFLAG, 0 /=-1 IF OP NOT 0 4027 OERROR=JMS . 10027 0000 XERR, 0000 10030 7200 CLA 10031 1027 TAD XERR 10032 6203 CDI0, CIF CDF 10033 3435 DCA I .+2 10034 5436 JMP I .+2 10035 3532 XERROR 10036 3533 XERROR+1 10037 0600 OFNORM, FNORM 10040 0007 O7, 7 10041 0200 O200, 200 10042 0177 O177, 177 10043 0377 O377, 377 10044 1600 O1600, 1600 10045 7774 OM4, -4 10046 7770 OM10, -10 10047 0000 OCNTR, 0000 10050 0460 OOCTAD, OCTADD 10051 0000 MULTMP, 0000 10052 0203 OFLOOP, FLOOP 10053 0066 OACSGN, ACSIGN 10054 0067 OACEXP, ACEXP 10055 0070 OAC3, AC3 10056 0071 OAC2, AC2 10057 0072 OAC1, AC1 10060 6725 ODECXP, DECEXP 0120 *120 10120 1136 F1CAL1, TAD AADR 10121 3027 DCA XERR 10122 1427 TAD I XERR 10123 3017 DCA FXR2 10124 1137 TAD ARET 10125 3417 DCA I FXR2 10126 6201 CDF 10127 5417 JMP I FXR2 10130 6203 F1RET, CIF CDF 10131 3047 DCA OCNTR 10132 1540 TAD I F0RET 10133 3027 DCA XERR 10134 1047 TAD OCNTR 10135 5427 JMP I XERR /EDU-20 PAL8-V10D 13-OCT-96 PAGE 105-1 10136 0144 AADR, ADRLST+3 10137 0130 ARET, F1RET 10140 5410 F0RET, F1CALL 10141 0751 ADRLST, MULT10-1 10142 0646 AL1-1 10143 1642 FIXUP-1 10144 0727 NFIX-1 10145 0343 HIGHWD-1 10146 4557 DECON1, JMS I AMULT 10147 3024 DCA OP1 10150 3023 DCA OP2 10151 1560 TAD I ASORT 10152 3022 DCA OP3 10153 4561 JMS I AOADD 10154 6202 CIF 10155 5556 JMP I .+1 10156 6331 DECON2 10157 0752 AMULT, MULT10 10160 0073 ASORT, SORTCN 10161 0442 AOADD, OADD 10162 7330 FPSUB, L4000 10163 1020 TAD OPSIGN 10164 3020 DCA OPSIGN 10165 4450 FPADD, JMS I OOCTAD 10166 5452 JMP I OFLOOP 10167 5670 QLIS2, QCOMCK-1 /, 10170 5643 QNEXTC-1 /' 10171 5660 QUOCHK-1 /" 10172 5674 QDONE-1 /CR 10173 5643 QLIS1, QNEXTC-1 /\ , 10174 5643 QNEXTC-1 /' 10175 5643 QNEXTC-1 /" 10176 5674 QDONE-1 /CR 10177 5643 QNEXTC-1 /\ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 106 /RUNS IN DATA FIELD 0!! ALWAYS!!! 0200 *200 10200 0000 FPNT, 0 /ENTRY POINT 10201 7600 C7600, 7600 10202 5205 JMP .+3 10203 4437 FLOOP, JMS I OFNORM /NORMALIZE RESULT 10204 2200 ISZ FPNT /GET NEXT 10205 6202 CIF /CHANGE TO CALLER'S FIELD 10206 1600 TAD I FPNT /GET OPERATION 10207 7450 SNA 10210 5600 JMP I FPNT /0000 -> EXIT 10211 6212 CIF SWAP 10212 7006 RTL 10213 7006 RTL 10214 0040 AND O7 10215 3270 DCA FGOTO /SAVE OP 10216 1600 TAD I FPNT 10217 0041 AND O200 10220 7650 SNA CLA 10221 5224 JMP FPNT1 /PAGE ZERO MODE 10222 1200 TAD FPNT 10223 0201 AND C7600 /GET PAGE 10224 3301 FPNT1, DCA FADDR 10225 1600 TAD I FPNT 10226 0042 AND O177 10227 1301 TAD FADDR 10230 3301 DCA FADDR /GET ADDRESS 10231 7420 SNL 10232 5235 JMP FPNT2 10233 1701 TAD I FADDR /DO INDIRECT 10234 3301 DCA FADDR 10235 7330 FPNT2, L4000 10236 0701 AND I FADDR 10237 3020 DCA OPSIGN /SET SIGN 10240 1701 TAD I FADDR 10241 7640 SZA CLA 10242 7340 L7777 10243 3026 DCA FFLAG /-1 IF NOT 0 10244 1701 TAD I FADDR 10245 7012 RTR 10246 7010 RAR 10247 0043 AND O377 10250 3021 DCA OPEXP /SET EXP 10251 1701 TAD I FADDR 10252 0040 AND O7 10253 3024 DCA OP1 /SET WORDS 10254 2301 ISZ FADDR 10255 1701 TAD I FADDR 10256 3023 DCA OP2 10257 2301 ISZ FADDR 10260 1701 TAD I FADDR 10261 3022 DCA OP3 10262 7346 L7775 10263 1301 TAD FADDR 10264 3017 DCA FXR2 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 106-1 10265 1270 FPNT3, TAD FGOTO 10266 1377 TAD (JMP I FJUMP 10267 3270 DCA .+1 /FIND OP ADDRESS 10270 7402 FGOTO, HLT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 107 10271 0331 FJUMP, FPGET 10272 0165 FPADD 10273 0162 FPSUB 10274 0531 FPMUL 10275 0662 FPDIV 10276 0302 FPJMP 10277 0306 FPCMP 10300 0322 FPPUT 10301 0000 FADDR, 0 10302 7344 FPJMP, L7776 /FLOATING JUMP 10303 1301 TAD FADDR 10304 3200 DCA FPNT 10305 5205 JMP FLOOP+2 10306 1600 FPCMP, TAD I FPNT 10307 7006 RTL 10310 7006 RTL 10311 7730 SZL SPA CLA 10312 5356 JMP FPNT4 /FLOATING COMPARE 10313 1600 TAD I FPNT 10314 1044 TAD O1600 10315 3317 DCA .+2 /SET SKIP WORD 10316 4344 JMS HIGHWD /GET WORD 10317 7402 HLT /SKIP IF FALSE 10320 2200 ISZ FPNT /TRUE => SKIP 10321 5203 JMP FLOOP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 108 10322 4344 FPPUT, JMS HIGHWD 10323 3417 DCA I FXR2 /SET WORD 1 10324 1456 TAD I OAC2 10325 3417 DCA I FXR2 /SET WORD 2 10326 1455 TAD I OAC3 10327 3417 DCA I FXR2 /SET WORD 3 10330 5204 JMP FLOOP+1 10331 1020 FPGET, TAD OPSIGN 10332 3453 DCA I OACSGN /TRANSFER INTO FLAC 10333 1021 TAD OPEXP 10334 3454 DCA I OACEXP 10335 1024 TAD OP1 10336 3457 DCA I OAC1 10337 1023 TAD OP2 10340 3456 DCA I OAC2 10341 1022 TAD OP3 10342 3455 DCA I OAC3 10343 5204 JMP FLOOP+1 10344 0000 HIGHWD, 0 10345 1454 TAD I OACEXP 10346 7104 CLL RAL 10347 7500 SMA 10350 7106 CLL RTL 10351 7530 SPA SZL 10352 4027 ERR040, OERROR /OVERFLOW 10353 1453 TAD I OACSGN 10354 1457 TAD I OAC1 /FORM WORD 10355 5744 JMP I HIGHWD /EDU-20 PAL8-V10D 13-OCT-96 PAGE 109 10356 7330 FPNT4, L4000 10357 1020 TAD OPSIGN 10360 3020 DCA OPSIGN 10361 4450 JMS I OOCTAD 10362 1457 TAD I OAC1 10363 7450 SNA 10364 1456 TAD I OAC2 10365 7640 SZA CLA 10366 5203 JMP FLOOP 10367 1455 TAD I OAC3 10370 0045 AND OM4 10371 7640 SZA CLA 10372 5203 JMP FLOOP 10373 5776 JMP I (MULCLR /EDU-20 PAL8-V10D 13-OCT-96 PAGE 110 10376 0571 10377 5671 0400 PAGE 10400 0000 AR1, 0 10401 1457 TAD I OAC1 10402 7110 CLL RAR 10403 3457 DCA I OAC1 10404 1456 TAD I OAC2 10405 7010 RAR 10406 3456 DCA I OAC2 10407 1455 TAD I OAC3 10410 7010 RAR 10411 3455 DCA I OAC3 10412 7010 RAR 10413 3025 DCA OVER 10414 5600 JMP I AR1 10415 0000 OACN, 0 10416 1215 TAD OACN 10417 3222 DCA ACN 10420 1055 TAD OAC3 10421 5225 JMP ACN+3 10422 0000 ACN, 0 10423 6211 CDF SWAP 10424 1377 TAD (OP3 10425 3242 DCA OADD 10426 7346 L7775 10427 3200 DCA AR1 10430 1642 TAD I OADD 10431 7040 CMA 10432 7430 SZL 10433 7101 CLL IAC 10434 3642 DCA I OADD 10435 2242 ISZ OADD 10436 2200 ISZ AR1 10437 5230 JMP .-7 10440 6201 CDF 10441 5622 JMP I ACN 10442 0000 OADD, 0 10443 7100 CLL 10444 1455 TAD I OAC3 10445 1022 TAD OP3 10446 3455 DCA I OAC3 10447 7004 RAL 10450 1456 TAD I OAC2 10451 1023 TAD OP2 10452 3456 DCA I OAC2 10453 7004 RAL 10454 1457 TAD I OAC1 10455 1024 TAD OP1 10456 3457 DCA I OAC1 10457 5642 JMP I OADD /EDU-20 PAL8-V10D 13-OCT-96 PAGE 110-1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 111 10460 0000 OCTADD, 0 10461 2026 ISZ FFLAG 10462 5660 JMP I OCTADD 10463 1454 TAD I OACEXP 10464 7141 CLL CIA 10465 1021 TAD OPEXP 10466 7430 SZL 10467 5305 JMP BCKWDS 10470 3242 DCA OADD 10471 1024 ALGNLP, TAD OP1 10472 7110 CLL RAR 10473 3024 DCA OP1 10474 1023 TAD OP2 10475 7010 RAR 10476 3023 DCA OP2 10477 1022 TAD OP3 10500 7010 RAR 10501 3022 DCA OP3 10502 2242 ISZ OADD 10503 5271 JMP ALGNLP 10504 5315 JMP SETSGN 10505 7040 BCKWDS, CMA 10506 3242 DCA OADD 10507 1021 TAD OPEXP 10510 3454 DCA I OACEXP 10511 7410 SKP 10512 4200 JMS AR1 10513 2242 ISZ OADD 10514 5312 JMP .-2 10515 1453 SETSGN, TAD I OACSGN 10516 1020 TAD OPSIGN 10517 7710 SPA CLA 10520 4222 JMS ACN 10521 4242 JMS OADD 10522 1457 TAD I OAC1 10523 7700 SMA CLA 10524 5660 JMP I OCTADD 10525 4215 JMS OACN 10526 1020 TAD OPSIGN 10527 3453 DCA I OACSGN 10530 5660 JMP I OCTADD /EDU-20 PAL8-V10D 13-OCT-96 PAGE 112 10531 2026 FPMUL, ISZ FFLAG 10532 5371 JMP MULCLR 10533 1453 TAD I OACSGN 10534 1020 TAD OPSIGN 10535 3453 DCA I OACSGN 10536 1454 TAD I OACEXP 10537 1021 TAD OPEXP 10540 1376 TAD (-201 10541 3454 DCA I OACEXP 10542 1457 TAD I OAC1 10543 3020 DCA OPSIGN 10544 1456 TAD I OAC2 10545 3021 DCA OPEXP 10546 1455 TAD I OAC3 10547 3051 DCA MULTMP 10550 1375 TAD (-33 10551 3047 DCA OCNTR 10552 4200 MPYLUP, JMS AR1 10553 1020 TAD OPSIGN 10554 7010 RAR 10555 3020 DCA OPSIGN 10556 1021 TAD OPEXP 10557 7010 RAR 10560 3021 DCA OPEXP 10561 1051 TAD MULTMP 10562 7010 RAR 10563 3051 DCA MULTMP 10564 7430 SZL 10565 4242 JMS OADD 10566 2047 ISZ OCNTR 10567 5352 JMP MPYLUP 10570 5452 JMP I OFLOOP 10571 3457 MULCLR, DCA I OAC1 10572 4774 JMS I (NFIX 10573 5452 JMP I OFLOOP 10574 0730 10575 7745 10576 7577 10577 0022 0600 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 113 10600 0000 FNORM, 0 10601 3025 DCA OVER 10602 1457 TAD I OAC1 10603 1046 TAD OM10 10604 7710 SPA CLA 10605 5211 JMP NOTBIG 10606 4777 JMS I (AR1 10607 2454 ISZ I OACEXP 10610 5202 JMP FNORM+2 10611 1025 NOTBIG, TAD OVER 10612 7700 SMA CLA 10613 5223 JMP NOBUMP 10614 2455 ISZ I OAC3 10615 5223 JMP NOBUMP 10616 2456 ISZ I OAC2 10617 5223 JMP NOBUMP 10620 2457 ISZ I OAC1 10621 5201 JMP FNORM+1 10622 7340 L7777 10623 1454 NOBUMP, TAD I OACEXP 10624 7510 SPA 10625 5235 JMP UNDERF /UNDERFLOW OR ZERO 10626 3454 DCA I OACEXP 10627 7346 L7775 10630 1457 TAD I OAC1 10631 7740 SMA SZA CLA 10632 5600 JMP I FNORM 10633 4247 JMS AL1 10634 5222 JMP NOBUMP-1 10635 7770 UNDERF, SPA SNA SZL CLA 10636 1457 TAD I OAC1 10637 7450 SNA 10640 1456 TAD I OAC2 10641 7450 SNA 10642 1455 TAD I OAC3 10643 7640 SZA CLA 10644 4027 ERR050, OERROR /UNDERFLOW 10645 4330 JMS NFIX 10646 5600 JMP I FNORM 10647 0000 AL1, 0 10650 1455 TAD I OAC3 10651 7104 CLL RAL 10652 3455 DCA I OAC3 10653 1456 TAD I OAC2 10654 7004 RAL 10655 3456 DCA I OAC2 10656 1457 TAD I OAC1 10657 7004 RAL 10660 3457 DCA I OAC1 10661 5647 JMP I AL1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 114 10662 2026 FPDIV, ISZ FFLAG 10663 4027 ERR030, OERROR 10664 1453 TAD I OACSGN 10665 1020 TAD OPSIGN 10666 3453 DCA I OACSGN 10667 1021 TAD OPEXP 10670 7041 CIA 10671 1454 TAD I OACEXP 10672 1376 TAD (177 10673 3454 DCA I OACEXP 10674 3047 DCA OCNTR 10675 1375 TAD (-35 10676 3200 DCA FNORM 10677 7330 DIVLP, L4000 10700 0024 AND OP1 10701 1457 TAD I OAC1 10702 7700 SMA CLA 10703 4774 JMS I (ACN 10704 4773 JMS I (OADD 10705 1047 TAD OCNTR 10706 7004 RAL 10707 3047 DCA OCNTR 10710 1021 TAD OPEXP 10711 7004 RAL 10712 3021 DCA OPEXP 10713 1020 TAD OPSIGN 10714 7004 RAL 10715 3020 DCA OPSIGN 10716 4247 JMS AL1 10717 2200 ISZ FNORM 10720 5277 JMP DIVLP 10721 1020 TAD OPSIGN 10722 3457 DCA I OAC1 10723 1021 TAD OPEXP 10724 3456 DCA I OAC2 10725 1047 TAD OCNTR 10726 3455 DCA I OAC3 10727 5772 JMP I (FLOOP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 115 10730 0000 NFIX, 0 10731 1457 TAD I OAC1 10732 7650 SNA CLA 10733 5343 JMP ZFIXEX 10734 1454 FIXLUP, TAD I OACEXP 10735 1371 TAD (-233 10736 7700 SMA CLA 10737 5350 JMP FIXEXT 10740 4777 JMS I (AR1 10741 2454 ISZ I OACEXP 10742 5334 JMP FIXLUP 10743 3454 ZFIXEX, DCA I OACEXP 10744 3453 DCA I OACSGN 10745 3457 DCA I OAC1 10746 3456 DCA I OAC2 10747 3455 DCA I OAC3 10750 1455 FIXEXT, TAD I OAC3 10751 5730 JMP I NFIX 10752 0000 MULT10, 0 10753 4247 JMS AL1 10754 1455 TAD I OAC3 10755 3022 DCA OP3 10756 1456 TAD I OAC2 10757 3023 DCA OP2 10760 1457 TAD I OAC1 10761 3024 DCA OP1 10762 4247 JMS AL1 10763 4247 JMS AL1 10764 4773 JMS I (OADD 10765 5752 JMP I MULT10 10771 7545 10772 0203 10773 0442 10774 0422 10775 7743 10776 0177 10777 0400 1000 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 116 STMV, /USER FIELD DEFINITIONS 11000 7745 7745 /CR,E 11001 6262 6262 /RR 11002 5762 5762 /OR 11003 5156 5156 /IN 11004 7762 7762 /CR,R 11005 4541 4541 /EA 11006 4471 4471 /DY 11007 7777 7777 /CR,CR 11010 4445 4445 /DE 11011 5445 5445 /LE 11012 6445 6445 /TE 11013 4477 4477 /D,CR 11014 6750 6750 /WH 11015 4164 4164 /AT 11016 3777 3777 /?,CR 11017 7763 7763 /CR,S 11020 6457 6457 /TO 11021 6077 6077 /P,CR 0022 CONLEN=.-STMV 11022 6630 LINPUT 11023 6357 RANDOM 11024 1607 END 11025 4267 ON 11026 0462 READY /STOP 11027 5565 COMGOL, RESTOR 11030 1114 READ 11031 2451 RETURN 11032 4254 GOSUB 11033 1416 FOR 11034 2454 XPOPJ /DEF 11035 2454 XPOPJ /DIM AND REM 11036 1257 GOTO 11037 1177 IF 11040 0775 INPUT 11041 5471 PRINT 11042 2454 XPOPJ /DATA 11043 1417 LET 11044 2374 NEXT 11045 1564 UNKWN /EDU-20 PAL8-V10D 13-OCT-96 PAGE 117 11046 2022 LIST7, 2022 11047 1051 LIST70 11050 2021 -"O+337^100-"N+337 11051 2134 LIST70, 2134 11052 1055 LIST71 11053 1413 -"S+337^100-"T+337 11054 2017 -"O+337^100-"P+337 11055 1733 LIST71, 1733 11056 1061 LIST72 11057 3221 -"E+337^100-"N+337 11060 3300 -"D+337^100 11061 2237 LIST72, 2237 11062 1067 LIST73 11063 1532 -"R+337^100-"E+337 11064 1413 -"S+337^100-"T+337 11065 2015 -"O+337^100-"R+337 11066 3200 -"E+337^100 11067 2334 LIST73, 2334 11070 1073 LIST74 11071 1532 -"R+337^100-"E+337 11072 3633 -"A+337^100-"D+337 11073 2436 LIST74, 2436 11074 1100 LIST75 11075 1532 -"R+337^100-"E+337 11076 1312 -"T+337^100-"U+337 11077 1521 -"R+337^100-"N+337 11100 2535 LIST75, 2535 11101 1105 LIST76 11102 3020 -"G+337^100-"O+337 11103 1412 -"S+337^100-"U+337 11104 3500 -"B+337^100 11105 2633 LIST76, 2633 11106 1111 LIST77 11107 3120 -"F+337^100-"O+337 11110 1500 -"R+337^100 11111 2733 LIST77, 2733 11112 1115 LIST78 11113 3332 -"D+337^100-"E+337 11114 3100 -"F+337^100 11115 3033 LIST78, 3033 11116 1121 LIST79 11117 3326 -"D+337^100-"I+337 11120 2200 -"M+337^100 11121 3033 LIST79, 3033 11122 1125 LIST80 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 117-1 11123 1532 -"R+337^100-"E+337 11124 2200 -"M+337^100 11125 1636 LIST80, 1636 11126 1132 LIST81 11127 1536 -"R+337^100-"A+337 11130 2133 -"N+337^100-"D+337 11131 2022 -"O+337^100-"M+337 11132 3134 LIST81, 3134 11133 1136 LIST82 11134 3020 -"G+337^100-"O+337 11135 1320 -"T+337^100-"O+337 11136 3222 LIST82, 3222 11137 1141 LIST83 11140 2631 -"I+337^100-"F+337 11141 3335 LIST83, 3335 11142 1146 LIST84 11143 2621 -"I+337^100-"N+337 11144 1712 -"P+337^100-"U+337 11145 1300 -"T+337^100 11146 3435 LIST84, 3435 11147 1153 LIST85 11150 1715 -"P+337^100-"R+337 11151 2621 -"I+337^100-"N+337 11152 1300 -"T+337^100 11153 3534 LIST85, 3534 11154 1157 LIST86 11155 3336 -"D+337^100-"A+337 11156 1336 -"T+337^100-"A+337 11157 3633 LIST86, 3633 11160 1163 LIST87 11161 2332 -"L+337^100-"E+337 11162 1300 -"T+337^100 11163 3734 LIST87, 3734 11164 1167 LIST88 11165 2132 -"N+337^100-"E+337 11166 0713 -"X+337^100-"T+337 11167 4133 LIST88, 4133 11170 1173 LIST89 11171 1336 -"T+337^100-"A+337 11172 3500 -"B+337^100 11173 4234 LIST89, 4234 11174 1177 LIST90 11175 1413 -"S+337^100-"T+337 11176 3217 -"E+337^100-"P+337 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 117-2 11177 4334 LIST90, 4334 11200 1203 LIST91 11201 1327 -"T+337^100-"H+337 11202 3221 -"E+337^100-"N+337 11203 4422 LIST91, 4422 11204 1206 LIST92 11205 1320 -"T+337^100-"O+337 11206 4522 LIST92, 4522 11207 1211 LIST93 11210 3121 -"F+337^100-"N+337 11211 4634 LIST93, 4634 11212 1215 LIST94 11213 2326 -"L+337^100-"I+337 11214 1413 -"S+337^100-"T+337 11215 5033 LIST94, 5033 11216 1221 LIST95 11217 3506 -"B+337^100-"Y+337 11220 3200 -"E+337^100 11221 5033 LIST95, 5033 11222 1225 LIST96 11223 2132 -"N+337^100-"E+337 11224 1000 -"W+337^100 11225 5037 LIST96, 5037 11226 1233 LIST97 11227 1434 -"S+337^100-"C+337 11230 1536 -"R+337^100-"A+337 11231 1334 -"T+337^100-"C+337 11232 2700 -"H+337^100 11233 5136 LIST97, 5136 11234 1240 LIST98 11235 3332 -"D+337^100-"E+337 11236 2332 -"L+337^100-"E+337 11237 1332 -"T+337^100-"E+337 11240 5234 LIST98, 5234 11241 1244 LIST99 11242 3233 -"E+337^100-"D+337 11243 2613 -"I+337^100-"T+337 11244 5333 LIST99, 5333 11245 1250 LIST10 11246 2432 -"K+337^100-"E+337 11247 0600 -"Y+337^100 11250 5434 LIST10, 5434 11251 1254 LIST11 11252 1336 -"T+337^100-"A+337 11253 1732 -"P+337^100-"E+337 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 117-3 11254 5533 LIST11, 5533 11255 1260 LIST12 11256 1512 -"R+337^100-"U+337 11257 2100 -"N+337^100 11260 3011 LIST12, 3011 11261 1263 LIST13 11262 7000 -"'+337^100 11263 4711 LIST13, 4711 11264 1266 LIST14 11265 0000 -"_+337^100 11266 4134 LIST14, 4134 11267 1272 LIST15 11270 3427 -"C+337^100-"H+337 11271 1573 -"R+337^100-"$+337 11272 5433 LIST15, 5433 11273 1276 LIST16 11274 1713 -"P+337^100-"T+337 11275 1500 -"R+337^100 11276 5433 LIST16, 5433 11277 1302 LIST17 11300 1713 -"P+337^100-"T+337 11301 1700 -"P+337^100 11302 1536 LIST17, 1536 11303 0000 A0000, 0000 11304 2326 -"L+337^100-"I+337 11305 2117 -"N+337^100-"P+337 11306 1213 -"U+337^100-"T+337 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 118 11307 0000 INTR8A, 0 /AC SAVE 11310 0000 INTR8F, 0 /FLAGS SAVE 11311 6007 INTRRV, CAF /CLEAR ALL ON RECOVERY 11312 6203 AAACDF, CIF CDF 11313 1345 TAD PST2 11314 3354 DCA INTR81 /SECOND SETUP 11315 1746 TAD I PAUSER 11316 6117 MTON 11317 5747 JMP I INTR8T 11320 7200 INTRV2, CLA 11321 1350 TAD RESTR 11322 3354 DCA INTR81 /NORMAL INTERUPT SEQUENCE 11323 1310 TAD INTR8F 11324 7006 RTL 11325 7004 RAL 11326 0352 AND P70 11327 1312 TAD AAACDF 11330 3340 DCA INTR88 11331 1310 TAD INTR8F 11332 0352 AND P70 11333 1374 TAD CCIF 11334 3341 DCA INTR89 11335 1310 TAD INTR8F 11336 7004 RAL 11337 7200 CLA 11340 6201 INTR88, CDF 11341 6202 INTR89, CIF 11342 1307 TAD INTR8A /AND AC 11343 6001 ION 11344 5753 JMP I INTR80 /AND EXIT 11345 5320 PST2, JMP INTRV2 11346 5363 PAUSER, AUSER 11347 5170 INTR8T, INTRPL 11350 3307 RESTR, DCA INTR8A 11351 5311 SET, JMP INTRRV 11352 0070 P70, 70 11353 0000 INTR80, 0 /INTERRUPT LOCATION 11354 3307 INTR81, DCA INTR8A /SAVE AC 11355 6634 6634 /READ CARD READER TO CLEAR FLAG 11356 6674 6674 /AND CARD DONE FLAG 11357 7200 CLA /AND CLEAR THE AC 11360 6102 SPL /POWER FAIL INTERRUPT? 11361 5373 JMP INTR82 /NO 11362 7010 RAR 11363 6234 RIB 11364 3310 DCA INTR8F /AND FLAGS 11365 1703 TAD I A0000 11366 3353 DCA INTR80 /AND LOCATION 11367 3703 DCA I A0000 11370 1351 TAD SET 11371 3354 DCA INTR81 /SET UP FOR RECOVERY 11372 7402 HLT /THEN HALT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 118-1 11373 1307 INTR82, TAD INTR8A /GET THE AC AGAIN 11374 6202 CCIF, CIF 11375 5776 JMP I .+1 /GO TO REAL INTERRUPT ROUTINE 11376 5203 INTRPT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 119 11377 2230 MODL2, MODF5-1 /CR 11400 2206 MODF2-1 /BELL 11401 2222 MODF4-1 /RUBOUT 11402 2222 MODF4-1 /_ 11403 2213 MODF1 /CHAR 11404 2212 MODF1-1 /FORM 11405 2210 MODF3-1 /LINE FEED 11406 4074 XGETL2, XGET5-1 /CR 11407 4071 XGET4-1 /BELL 11410 4065 XGET3-1 /SPACE 11411 3201 PRNTL6, PRINT8-1 /; 11412 3323 PRINT5-4 /, 11413 3174 PRINT6-4 /' 11414 3202 PRINT8 /" 11415 3174 PRINT6-4 /CR 11416 3174 PRINT6-4 /\ 11417 3323 PRNTL2, PRINT5-4 /, 11420 3177 PRINT6-1 /' 11421 3310 PRINT2-1 /" 11422 3177 PRINT6-1 /CR 11423 3177 PRINT6-1 /\ 11424 3320 PRNTL8, PRINT3-1 /" 11425 3174 PRINT6-4 /CR 11426 3316 PRINT3-3 / \ MUST BE PRINTABLE 11427 2230 MODL1, MODF5-1 /CR 11430 2220 MODF1+5 /BELL 11431 0647 AL1PNT, AL1 /SPACE OUT MODL1 LIST 11432 0442 OADDP, OADD / 11433 2222 MODF4-1 /CHAR 11434 3626 XPAKL2, XPACK2-1 /CR 11435 3627 XPACK3-1 /BELL 11436 3636 XPACK7-1 /RUBOUT 11437 3636 XPACK7-1 /* 11440 3625 XPACK5-1 /@ 11441 7662 FUNL2, -"N+200 /SIN 11442 7655 -"S+200 /COS 11443 7662 -"N+200 /ATN 11444 7660 -"P+200 /EXP 11445 7671 -"G+200 /LOG 11446 7655 -"S+200 /ABS 11447 7656 -"R+200 /SQR 11450 7662 -"N+200 /SGN 11451 7654 -"T+200 /INT 11452 7674 -"D+200 /RND 11453 7650 -"X+200 /FIX 11454 7662 -"N+200 /TAN 11455 7674 -"D+200 /MID 11456 7654 -"T+200 /CAT 11457 7662 -"N+200 /LEN 11460 7674 -"D+200 /MOD /EDU-20 PAL8-V10D 13-OCT-96 PAGE 120 11461 4631 RND1, JMS I AL1PNT 11462 4632 JMS I OADDP 11463 1716 TAD I PFRND 11464 7006 RTL 11465 7006 RTL 11466 7006 RTL 11467 3717 DCA I PFRNX 11470 1717 TAD I PFRNX 11471 7010 RAR 11472 1456 TAD I OAC2 11473 0320 AND RNDM40 11474 3721 DCA I PFRND1 11475 7004 RAL 11476 1457 TAD I OAC1 11477 1717 TAD I PFRNX 11500 3717 DCA I PFRNX 11501 1455 TAD I OAC3 11502 3716 DCA I PFRND 11503 1041 TAD O200 11504 3454 DCA I OACEXP 11505 3453 DCA I OACSGN 11506 1717 TAD I PFRNX 11507 0040 AND O7 11510 3457 DCA I OAC1 11511 1721 TAD I PFRND1 11512 3456 DCA I OAC2 11513 6202 CIF 11514 5715 JMP I .+1 11515 2454 XPOPJ 11516 0065 PFRND, FRNDX+2 11517 0063 PFRNX, FRNDX 11520 7740 RNDM40, -40 11521 0064 PFRND1, FRNDX+1 11522 7062 FUNL3, FSIN 11523 7057 COS 11524 7401 ATN 11525 7200 FEXP 11526 7314 LOG 11527 2372 ABS 11530 7000 SQR 11531 5047 SGN 11532 4336 INT 11533 1777 RND 11534 4350 FFIX 11535 7040 TAN 11536 6000 MID 11537 6103 CAT 11540 6600 LEN 11541 5414 MOD /EDU-20 PAL8-V10D 13-OCT-96 PAGE 121 11542 2246 COMGO1, LIST 11543 0473 START /CR 11544 1600 BYE 11545 2235 DELET 11546 2200 EDIT 11547 7654 KKEY 11550 7653 TAPE 11551 2473 RUN 11552 4365 ERRLST, ERR000 11553 2204 ERR001 11554 1601 ERR002 11555 7666 ERR003 11556 0616 ERR004 11557 7317 ERR010 11560 7007 ERR020 11561 0663 ERR030 11562 0352 ERR040 11563 0644 ERR050 11564 3625 ERR060 11565 0740 ERR070 11566 3447 ERR080 11567 4475 ERR100 11570 2757 ERR110 11571 2660 ERR120 11572 6231 ERR150 11573 6334 ERR160 11574 3051 ERR170 11575 3074 ERR180 11576 3132 ERR200 11577 4772 ERR210 11600 4401 ERR220 11601 4456 ERR130 11602 4542 ERR230 11603 4666 ERR240 11604 4677 ERR250 11605 7650 ERR260 11606 1261 ERR270 11607 5566 ERR280 11610 4256 ERR290 11611 4277 ERR300 11612 0000 0 /ERROR 28 RESERVED FOR FUTURE USE 11613 2453 ERR320 11614 6546 ERR330 11615 3225 ERR340 11616 3310 ERR350 11617 7701 ERRNNN 11620 6340 ERR370 11621 2537 ERR380 11622 1210 ERR390 11623 1237 ERR400 11624 1426 ERR410 11625 1446 ERR420 11626 1551 ERR430 11627 1475 ERR440 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 121-1 11630 1542 ERR450 11631 2400 ERR460 11632 2407 ERR470 11633 1053 ERR490 11634 1111 ERR500 11635 1123 ERR510 11636 4364 ERR520 11637 0000 0 /ERROR 49 RESERVED FOR FUTURE USE 11640 6635 ERR540 11641 6006 ERR550 11642 5734 ERR560 1643 ERREND=. /EDU-20 PAL8-V10D 13-OCT-96 PAGE 122 11643 0000 FIXUP, 0 11644 1454 TAD I OACEXP 11645 1247 TAD .+2 11646 3454 DCA I OACEXP 11647 7610 CLA SKP /THIS IS 7610 CR -170 11650 1460 FIXUP4, TAD I ODECXP 11651 3460 DCA I ODECXP 11652 1457 FIXUP1, TAD I OAC1 11653 7006 RTL 11654 7630 SZL CLA 11655 5263 JMP FIXUP2 11656 4777 JMS I (AL1 11657 7340 L7777 11660 1454 TAD I OACEXP 11661 3454 DCA I OACEXP 11662 5252 JMP FIXUP1 11663 1454 FIXUP2, TAD I OACEXP 11664 7540 SMA SZA 11665 5301 JMP FIXUP3 11666 7200 CLA 11667 4776 JMS I (AR1 11670 4776 JMS I (AR1 11671 4776 JMS I (AR1 11672 4776 JMS I (AR1 11673 4775 JMS I (MULT10 11674 1374 TAD (4 11675 1454 TAD I OACEXP 11676 3454 DCA I OACEXP 11677 7340 L7777 11700 5250 JMP FIXUP4 11701 1373 FIXUP3, TAD (-5 11702 7510 SPA 11703 5334 JMP FIXUP5 11704 7300 FIXUP7, CLL CLA 11705 1372 TAD (-40 11706 3047 DCA OCNTR 11707 1457 FIXUP8, TAD I OAC1 11710 1371 TAD (5400 11711 7500 SMA 11712 3457 DCA I OAC1 11713 7200 CLA 11714 1455 TAD I OAC3 11715 7004 RAL 11716 3455 DCA I OAC3 11717 1456 TAD I OAC2 11720 7004 RAL 11721 3456 DCA I OAC2 11722 1457 TAD I OAC1 11723 7004 RAL 11724 3457 DCA I OAC1 11725 2047 ISZ OCNTR 11726 5307 JMP FIXUP8 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 122-1 11727 1457 TAD I OAC1 11730 0370 AND (377 11731 3457 DCA I OAC1 11732 7301 L0001 11733 5250 JMP FIXUP4 11734 3047 FIXUP5, DCA OCNTR 11735 7410 SKP 11736 4776 JMS I (AR1 11737 2047 ISZ OCNTR 11740 5336 JMP .-2 11741 1457 TAD I OAC1 11742 1371 TAD (5400 11743 7700 SMA CLA 11744 5304 JMP FIXUP7 11745 7100 CLL 11746 1367 TAD (2166 11747 1455 TAD I OAC3 11750 3455 DCA I OAC3 11751 7430 SZL 11752 2456 ISZ I OAC2 11753 7410 SKP 11754 2457 ISZ I OAC1 11755 1457 TAD I OAC1 11756 1371 TAD (5400 11757 7640 SZA CLA 11760 5643 JMP I FIXUP 11761 1365 TAD F200 11762 3457 DCA I OAC1 11763 3455 DCA I OAC3 11764 2460 ISZ I ODECXP 11765 0200 F200, 0200 11766 5643 JMP I FIXUP 11767 2166 11770 0377 11771 5400 11772 7740 11773 7773 11774 0004 11775 0752 11776 0400 11777 0647 2000 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 123 2000 ORG=. IFNZRO CONFIG /EDU-20 PAL8-V10D 13-OCT-96 PAGE 125 /USER DEFINITIONS 7776 LIMIT=7776 /HIGHEST CORE POSITION 0051 SWAPR=ENSWAP-STSWAP+1 /SWAP LENGTH 0040 BUFFER=40 0100 BUFCOM=100 0162 LINE0=162 0164 LINE1=164 7776 TOP=LIMIT /EDU-20 PAL8-V10D 13-OCT-96 PAGE 126 IFNZRO CONFIG < XLIST ENPUNCH> /PAGE ZERO FIELD 1 FOR INITIALIZATION--GETS WIPED OUT LATER 0000 PAGE 0 10000 7000 NOP /FOR CORE DETERMINING 10001 5000 USRPTR, USRLST 10002 0000 CORPTR, 0 10003 0000 USRPT2, 0 10004 0000 CORPT2, 0 10005 0000 BEGUSR, 0 10006 0000 CURFLD, 0 10007 0000 BEGDEV, 0 10010 0000 BEGXR1, 0 10011 0000 BEGXR2, 0 0020 *20 10020 0000 USRCTR, 0 10021 0000 SS, 0 10022 0000 BEGCOR, 0 10023 0000 KLTOP, 0 10024 0000 KLSCH, 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 127 2000 *2000 12000 5203 BEGIN, JMP .+3 /NORMAL ENTRY 12001 7000 NOP /SO YOU CAN CHAIN TO US IFNZRO CONFIG < HLT /NO CONFIG FOR OS/8 > IFZERO CONFIG < 12002 5777 JMP I (BEGOS8 /OS8 ENTRY POINT > IFNZRO FOURTY < CDF 10 DISKIN, JMP I (E40INT /WRITE IMAGE ON DISK FOR EDU40 SYSTEM > 12003 6211 BEGMV4, CDF 10 12004 1742 TAD I BEGMV1 /MOVE PAGE 7600 FIELD 0 INTO ITS SPOT 12005 6201 CDF 12006 3743 DCA I BEGMV2 12007 2342 ISZ BEGMV1 12010 2343 ISZ BEGMV2 12011 2344 ISZ BEGMV3 12012 5203 JMP BEGMV4 12013 6201 CDF IFZERO CONFIG < 12014 1776 TAD I (FLOP 12015 3775 DCA I (OPTABL+5 12016 6211 CDF 10 12017 1740 TAD I BEGIN1 /MAKE SURE THAT NO ERRORS ARE NEG. SO THAT /THEY DON'T TERMINATE TABLE 12020 7001 IAC 12021 7110 CLL RAR 12022 3740 DCA I BEGIN1 12023 2340 ISZ BEGIN1 12024 2341 ISZ BEGIN2 12025 5217 JMP .-6 > 12026 1374 BEG002, TAD (BEG009-1 12027 3010 DCA BEGXR1 12030 1373 TAD (KL8JM0-1 12031 3011 DCA BEGXR2 12032 4323 JMS BEG008 12033 1372 TAD (KL8JMP-1 12034 3011 DCA BEGXR2 12035 4323 JMS BEG008 12036 6211 CDF 10 12037 6032 KCC 12040 1371 TAD (BEGIOT 12041 3336 DCA BEG012 12042 1370 TAD (-7 12043 3337 DCA BEG013 12044 1367 TAD (120 12045 3736 DCA I BEG012 12046 2336 ISZ BEG012 12047 2337 ISZ BEG013 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 127-1 12050 5244 JMP .-4 12051 4766 JMS I (BEG003 12052 2513 BEGM1 /INIT MESSAGE 12053 4766 BEG006, JMS I (BEG003 12054 2527 BEGM2 /# USER MESSAGE 12055 4765 JMS I (BEG001 12056 1364 TAD (-"8 12057 7540 SMA SZA 12060 5763 JMP I (BEG005 12061 1362 TAD (10 12062 7550 SPA SNA 12063 5763 JMP I (BEG005 12064 7041 CIA 12065 3005 DCA BEGUSR 12066 5761 JMP I (BEGX08 12067 6211 CORDON, CDF 10 12070 1005 TAD BEGUSR 12071 7001 IAC 12072 7650 SNA CLA 12073 5276 JMP BEG010 12074 4760 JMS I (BEG01Q 12075 2637 BEGM4 /DC02? 12076 7340 BEG010, L7777 /NO - BEGDEV=-1 12077 3007 DCA BEGDEV 12100 1007 TAD BEGDEV 12101 7650 SNA CLA 12102 5757 JMP I (BEG11A 12103 1371 TAD (BEGIOT 12104 3336 DCA BEG012 12105 1005 TAD BEGUSR 12106 3337 DCA BEG013 12107 1356 TAD (410 12110 3335 DCA BEG12A 12111 2337 BEG14B, ISZ BEG013 12112 5314 JMP BEG14A 12113 5755 JMP I (BEG015 12114 1335 BEG14A, TAD BEG12A 12115 3736 DCA I BEG012 12116 2336 ISZ BEG012 12117 1335 TAD BEG12A 12120 1354 TAD (20 12121 3335 DCA BEG12A 12122 5311 JMP BEG14B 12123 0000 BEG008, 0 /UNPATCH SCHEDULER AND INTERRUPT ROUTINE 12124 7346 L7775 / IN CASE WE COME HERE FORM A ^C 12125 3337 DCA BEG013 12126 6211 CDF 10 12127 1410 TAD I BEGXR1 12130 6201 CDF 12131 3411 DCA I BEGXR2 12132 2337 ISZ BEG013 12133 5326 JMP .-5 12134 5723 JMP I BEG008 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 127-2 12135 0400 BEG12A, 400 12136 0000 BEG012, 0 12137 0000 BEG013, 0 12140 1552 BEGIN1, ERRLST 12141 7707 BEGIN2, ERRLST-ERREND 12142 6600 BEGMV1, P7600 12143 7600 BEGMV2, 7600 12144 7622 BEGMV3, -156 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 128 12154 0020 12155 2200 12156 0410 12157 3261 12160 2327 12161 2270 12162 0010 12163 2411 12164 7510 12165 2414 12166 2432 12167 0120 12170 7771 12171 7001 12172 5342 12173 0206 12174 2377 12175 4176 12176 2707 12177 6436 2200 PAGE 12200 1005 BEG015, TAD BEGUSR 12201 7001 IAC 12202 7650 SNA CLA 12203 5777 JMP I (BEG15I /ONE USER / TAD (BEGM78-1 /"REMOTE" / JMS I (BEGMFX /SEE BEG151 12204 4327 JMS BEG01Q 12205 2672 BEGM7 /STANDARD? 12206 7410 SKP 12207 5777 JMP I (BEG15I /MULTIPLE USER = STANDARD 12210 1005 BEG15A, TAD BEGUSR 12211 3232 DCA BEG15B 12212 1376 TAD (BEGIOT 12213 3231 DCA BEG15C 12214 1375 TAD (4361 /TEXT "#1" 12215 3774 DCA I (BEGM5A 12216 2232 BEG15D, ISZ BEG15B 12217 7410 SKP 12220 5777 JMP I (BEG15H 12221 4233 JMS BEG014 12222 2655 BEGM5 12223 1021 TAD SS 12224 1373 TAD (10 12225 3631 DCA I BEG15C 12226 2231 ISZ BEG15C 12227 2774 ISZ I (BEGM5A 12230 5216 JMP BEG15D 12231 0000 BEG15C, 0 12232 0000 BEG15B, 0 12233 0000 BEG014, 0 12234 1633 TAD I BEG014 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 128-1 12235 2233 ISZ BEG014 12236 3240 DCA .+2 12237 4772 JMS I (BEG003 12240 0000 0 12241 4771 JMS I (BEG001 12242 1370 TAD (-"7 12243 7540 SMA SZA 12244 5767 JMP I (BEG016 12245 1366 TAD (7 12246 7510 SPA 12247 5767 JMP I (BEG016 12250 7106 CLL RTL 12251 7006 RTL 12252 7006 RTL 12253 3021 DCA SS 12254 4771 JMS I (BEG001 12255 1370 TAD (-"7 12256 7540 SMA SZA 12257 5767 JMP I (BEG016 12260 1366 TAD (7 12261 7510 SPA 12262 5767 JMP I (BEG016 12263 7106 CLL RTL 12264 7004 RAL 12265 1021 TAD SS 12266 3021 DCA SS 12267 5633 JMP I BEG014 /FIGURE OUT HIGHEST CORE FIELD FOR HIM 12270 7301 BEGX08, L0001 12271 3022 DCA BEGCOR /FIELD 1 TOP TO START WITH 12272 1365 TAD (6221 12273 3302 DCA BEGCHK 12274 1305 TAD CNOP 12275 6201 CDF 12276 3764 DCA I (0 12277 6211 CDF 10 12300 1305 TAD CNOP 12301 3764 DCA I (0 12302 0000 BEGCHK, 0 12303 1363 TAD (1000 12304 3764 DCA I (0 12305 7000 CNOP, NOP 12306 1764 TAD I (0 12307 7410 SKP /PDP-8 NXM BUG 12310 7402 HLT /THIS SHOULD HAUL DOWN A PDP-8 12311 6211 CDF 10 /DOUBLE CHECK FOR PDP8/L 12312 1764 TAD I (0 12313 7640 SZA CLA 12314 5762 JMP I (CORDON /NO MORE CORE 12315 1363 TAD (1000 12316 6201 CDF 12317 1764 TAD I (0 12320 7640 SZA CLA 12321 5762 JMP I (CORDON /NO MORE CORE-PROBABLY A PDP-8/L 12322 2022 ISZ BEGCOR /THIS FIELD WAS SUCCESSFUL /EDU-20 PAL8-V10D 13-OCT-96 PAGE 128-2 12323 1302 TAD BEGCHK 12324 1373 TAD (10 12325 3302 DCA BEGCHK 12326 5302 JMP BEGCHK /EDU-20 PAL8-V10D 13-OCT-96 PAGE 129 /CALLING SEQUENCE / JMS I (BEG01Q / MSGADR /ADDRESS OF MESSAGE TO BE PRINTED / JMP NO /RETURNS HERE IF ANSWER IS "N" / JMP YES /RETURNS HERE IF ANSWER IS "Y" 12327 0000 BEG01Q, 0 /ASK QUESTION - GET ANSWER 12330 1727 TAD I BEG01Q /SKIP IF YES, NOT IF NO 12331 2327 ISZ BEG01Q /OTHERWISE GIVE ERROR AND REPEAT QUESTION 12332 3334 DCA .+2 12333 4772 JMS I (BEG003 12334 0000 0 12335 4771 JMS I (BEG001 12336 1361 TAD (-"Y 12337 7450 SNA 12340 5347 JMP BEG10R 12341 1360 TAD ("Y-"N 12342 7650 SNA CLA 12343 5350 JMP BEG10R+1 12344 4772 JMS I (BEG003 12345 2501 BEGME 12346 5333 JMP BEG01Q+4 12347 2327 BEG10R, ISZ BEG01Q 12350 5727 JMP I BEG01Q /EDU-20 PAL8-V10D 13-OCT-96 PAGE 130 12360 0013 12361 7447 12362 2067 12363 1000 12364 0000 12365 6221 12366 0007 12367 2406 12370 7511 12371 2414 12372 2432 12373 0010 12374 2662 12375 4361 12376 7001 12377 3200 2400 PAGE BEG009, NOPUNCH 0207 *KL8JM0 ENPUNCH 10207 1106 TAD LOOKST 10210 3105 DCA LOOK 10211 7410 SKP NOPUNCH 5343 *KL8JMP ENPUNCH 15343 1354 TAD SAVLK 15344 7104 CLL RAL 15345 1353 TAD SAVAC NOPUNCH 2406 *BEG009+6 ENPUNCH 12406 4232 BEG016, JMS BEG003 12407 2501 BEGME 12410 5777 JMP I (BEG014+4 12411 4232 BEG005, JMS BEG003 12412 2501 BEGME 12413 5776 JMP I (BEG006 12414 0000 BEG001, 0 12415 6031 KSF 12416 5215 JMP .-1 12417 6036 KRB 12420 1375 TAD (-203 12421 7450 SNA 12422 5774 JMP I (BEG002 12423 1373 TAD (203 12424 6046 TLS 12425 6041 TSF 12426 5225 JMP .-1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 130-1 12427 0372 AND (177 12430 1371 TAD (200 /FORCE THE PARITY BIT SO WE KNOW WHAT WAS TYPED. 12431 5614 JMP I BEG001 12432 0000 BEG003, 0 12433 7200 CLA 12434 1632 TAD I BEG003 12435 3300 DCA BEG004 12436 2232 ISZ BEG003 12437 1700 TAD I BEG004 12440 7112 CLL RTR 12441 7012 RTR 12442 7012 RTR 12443 4250 JMS BEG03X 12444 1700 TAD I BEG004 12445 4250 JMS BEG03X 12446 2300 ISZ BEG004 12447 5237 JMP BEG003+5 12450 0000 BEG03X, 0 12451 0370 AND (77 12452 7450 SNA 12453 5632 JMP I BEG003 12454 1367 TAD (-37 12455 7450 SNA 12456 5274 JMP CRLF 12457 7510 SPA 12460 1366 TAD (100 12461 1365 TAD (237 12462 4264 JMS TTCHAR 12463 5650 JMP I BEG03X 12464 0000 TTCHAR, 0 12465 6046 TLS 12466 7200 CLA 12467 6041 TSF 12470 5267 JMP .-1 12471 6031 KSF 12472 5664 JMP I TTCHAR 12473 5632 JMP I BEG003 /EXIT ON CHAR. 12474 1364 CRLF, TAD (215 12475 4264 JMS TTCHAR 12476 1363 TAD (212 12477 5262 JMP TTCHAR-2 12500 0000 BEG004, 0 12501 3711 BEGME, TEXT %_INVALID RESPONSE_% 12502 1626 12503 0114 12504 1104 12505 4022 12506 0523 12507 2017 12510 1623 12511 0537 12512 0000 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 130-2 12513 3737 BEGM1, TEXT %__EDUSYSTEM 20 BASIC_% 12514 0504 12515 2523 12516 3123 12517 2405 12520 1540 12521 6260 12522 4040 12523 0201 12524 2311 12525 0337 12526 0000 12527 3716 BEGM2, TEXT %_NUMBER OF USERS (1 TO 8)?% 12530 2515 12531 0205 12532 2240 12533 1706 12534 4025 12535 2305 12536 2223 12537 4050 12540 6140 12541 2417 12542 4070 12543 5177 12544 0000 12563 0212 12564 0215 12565 0237 12566 0100 12567 7741 12570 0077 12571 0200 12572 0177 12573 0203 12574 2026 12575 7575 12576 2053 12577 2237 2600 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 131 12600 2205 BEGHSS, TEXT %READER (Y OR N)?% 12601 0104 12602 0522 12603 4050 12604 3140 12605 1722 12606 4016 12607 5177 12610 0000 12611 3704 BEGHSR, TEXT %_DO YOU HAVE A HIGH SPEED % 12612 1740 12613 3117 12614 2540 12615 1001 12616 2605 12617 4001 12620 4010 12621 1107 12622 1040 12623 2320 12624 0505 12625 0440 12626 0000 12627 2025 BEGHSP, TEXT %PUNCH (Y OR N)?% 12630 1603 12631 1040 12632 5031 12633 4017 12634 2240 12635 1651 12636 7700 12637 3720 BEGM4, TEXT %_PDP-8/L COMPUTER (Y OR N)?% 12640 0420 12641 5570 12642 5714 12643 4003 12644 1715 12645 2025 12646 2405 12647 2240 12650 5031 12651 4017 12652 2240 12653 1651 12654 7700 12655 3724 BEGM5, TEXT %_TELETYPE #1 DEVICE CODE?% 12656 0514 12657 0524 12660 3120 12661 0540 12662 4361 12663 4004 12664 0526 12665 1103 12666 0540 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 131-1 12667 0317 12670 0405 12671 7700 2662 BEGM5A=BEGM5+5 12672 3723 BEGM7, TEXT %_STANDARD REMOTE TELETYPE CODES (Y OR N)?% 12673 2401 12674 1604 12675 0122 12676 0440 12677 2205 12700 1517 12701 2405 12702 4024 12703 0514 12704 0524 12705 3120 12706 0540 12707 0317 12710 0405 12711 2340 12712 5031 12713 4017 12714 2240 12715 1651 12716 7700 2676 BEGM7A=BEGM7+4 /SEE BEG15I /BEGM7B, TEXT %D REMOTE% /*.-1 /BEGM7C, TEXT %D UNUSED% /*.-1 /BEGM7D, TEXT % _UNUSED% /*.-1 12717 3706 BEGMFL, TEXT %_FIELD % 12720 1105 12721 1404 12722 4000 12723 3724 BEGMXX, TEXT %_THERE ARE % 12724 1005 12725 2205 12726 4001 12727 2205 12730 4000 12731 4002 BEGMX1, TEXT % BLOCKS LEFT IN THIS FIELD._ YOUR ALLOCATION FOR USER #% 12732 1417 12733 0313 12734 2340 12735 1405 12736 0624 12737 4011 12740 1640 12741 2410 12742 1123 12743 4006 12744 1105 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 131-2 12745 1404 12746 5637 12747 4031 12750 1725 12751 2240 12752 0114 12753 1417 12754 0301 12755 2411 12756 1716 12757 4006 12760 1722 12761 4025 12762 2305 12763 2240 12764 4300 12765 4027 BEGTTI, TEXT % WILL BE HOW MANY BLOCKS?% 12766 1114 12767 1440 12770 0205 12771 4010 12772 1727 12773 4015 12774 0116 12775 3140 12776 0214 12777 1703 13000 1323 13001 7700 13002 3737 BEGM6, TEXT %__END OF DIALOGUE_% 13003 0516 13004 0440 13005 1706 13006 4004 13007 1101 13010 1417 13011 0725 13012 0537 13013 0000 13014 3702 WNGDM, TEXT %_BLOCK SIZES DON'T WORK--HAVE TO START AGAIN__% 13015 1417 13016 0313 13017 4023 13020 1132 13021 0523 13022 4004 13023 1716 13024 4724 13025 4027 13026 1722 13027 1355 13030 5510 13031 0126 13032 0540 13033 2417 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 131-3 13034 4023 13035 2401 13036 2224 13037 4001 13040 0701 13041 1116 13042 3737 13043 0000 13044 3723 BEGMQ, TEXT %_SAME AMOUNT OF STORAGE FOR ALL USERS?% 13045 0115 13046 0540 13047 0115 13050 1725 13051 1624 13052 4017 13053 0640 13054 2324 13055 1722 13056 0107 13057 0540 13060 0617 13061 2240 13062 0114 13063 1440 13064 2523 13065 0522 13066 2377 13067 0000 13070 3711 BEGM6A, TEXT %_IS THE ABOVE CORRECT (Y OR N)?% 13071 2340 13072 2410 13073 0540 13074 0102 13075 1726 13076 0540 13077 0317 13100 2222 13101 0503 13102 2440 13103 5031 13104 4017 13105 2240 13106 1651 13107 7700 13110 4015 BEGM8, TEXT % MORE?% 13111 1722 13112 0577 13113 0000 13114 3701 BEGM9, TEXT %_ANY UNUSED TERMINALS (Y OR N)?% 13115 1631 13116 4025 13117 1625 13120 2305 13121 0440 13122 2405 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 131-4 13123 2215 13124 1116 13125 0114 13126 2340 13127 5031 13130 4017 13131 2240 13132 1651 13133 7700 13134 3704 BEGM10, TEXT %_DEVICE CODE?% 13135 0526 13136 1103 13137 0540 13140 0317 13141 0405 13142 7700 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 132 //MOVE IN MIDDLE OF BEGM7 /BEGMFX, 0 / DCA 17 / TAD (BEGH7A-1 / DCA 16 / TAD (-4 / DCA CORPTR / TAD I 17 / DCA I 16 / ISZ CORPTR / JMP .-3 / JMP I BEGMFX /EDU-20 PAL8-V10D 13-OCT-96 PAGE 133 3200 PAGE /COMMENTED MATERIAL WILL GENERATE UNUSED CODES /BUT GOOD LUCK TRYING TO EXPLAIN TO A USER /HOW IT WORKS. IT'S SIMPLER TO JUST ASK HIM. //STANDARD USED CODES BEG15I, /JMS BEG15C /MOVE IN USED IOT'S / TAD (BEGM7C-1 /"UNUSED" / JMS I (BEGMFX / JMS I (BEG01Q / BEGM7 /"STANDARD UNUSED TTY CODES?" / JMP BEG15K /NO = GET CODES FROM TTY / TAD (6305 /YES = GENERATE THEM FROM 30 THRU 56 / DCA SS / JMP BEG15L /INSERT IF CODE NOT USED /BEG15M, TAD SS / TAD (20 /INCREMENT / DCA SS / TAD SS / TAD (-6605 / SZA CLA /LAST? / JMP .-7 /NO = LOOP / JMP BEG011 /DONNE / / //INSERT IF IOT UNUSED /BEG15L, TAD SS / CIA / DCA BEG15G / TAD BEGUSR / DCA USRCTR / TAD CORPT2 / DCA CORPTR / TAD BEG15G / TAD I CORPTR / SNA CLA / JMP BEG15M / ISZ CORPTR / ISZ USRCTR / JMP .-6 / TAD SS / JMP BEG15F / JMP BEG15M /NON-STANDARD USED CODES 13200 4224 BEG15H, JMS BEG15G /MOVE IN USED IOT'S 13201 4777 JMS I (BEG01Q 13202 3114 BEGM9 /"ANY UNUSED TERMINALS" 13203 5257 JMP BEG011 /NO = DUN 13204 5210 JMP .+4 13205 4777 BEG15K, JMS I (BEG01Q 13206 3110 BEGM8 /"MORE?" /EDU-20 PAL8-V10D 13-OCT-96 PAGE 133-1 13207 5257 JMP BEG011 /NO = KAPUT! 13210 4776 JMS I (BEG014 13211 3134 BEGM10 /"DEVICE CODE?" 13212 1021 TAD SS 13213 1375 TAD (6005 13214 4216 JMS BEG15F /INSERT IN PATCH 13215 5205 JMP BEG15K /INSERT WORD INTO PATCH 13216 0000 BEG15F, 0 13217 3423 DCA I KLTOP 13220 7340 L7777 13221 1023 TAD KLTOP 13222 3023 DCA KLTOP 13223 5616 JMP I BEG15F /MOVE IOT'S FROM BEG10T TO PATCH 13224 0000 BEG15G, 0 13225 7303 CLA CLL IAC BSW /IS IT AN 8E? 13226 1374 TAD (-100 13227 7640 SZA CLA 13230 5773 JMP I (BEG011 13231 1372 TAD (KL8FIX-1 13232 3023 DCA KLTOP 13233 1005 TAD BEGUSR 13234 3020 DCA USRCTR 13235 1371 TAD (BEGIOT-1 13236 3002 DCA CORPTR 13237 1402 TAD I CORPTR 13240 1370 TAD (6005-10 13241 4216 JMS BEG15F 13242 2002 ISZ CORPTR 13243 2020 ISZ USRCTR 13244 5237 JMP .-5 13245 1023 TAD KLTOP 13246 3024 DCA KLSCH /SAVE ENTRY ADDRESS FOR SCHEDULER 13247 7301 L0001 13250 1023 TAD KLTOP 13251 3004 DCA CORPT2 13252 1247 TAD .-3 /INSERT L0001 13253 4216 JMS BEG15F 13254 1367 TAD (KL8INT&177+5200 /INSERT JMP KL8INT 13255 4216 JMS BEG15F 13256 5624 JMP I BEG15G /EDU-20 PAL8-V10D 13-OCT-96 PAGE 134 13257 1366 BEG011, TAD (CLA 13260 3423 DCA I KLTOP 13261 6201 BEG11A, CDF 13262 1365 TAD (SKP CLA 13263 3764 DCA I (LISTN+2 13264 1365 TAD (SKP CLA 13265 3774 DCA I (ERRNNN-1 13266 6211 CDF 10 13267 4763 JMS I (BEG003 13270 2611 BEGHSR 13271 4777 JMS I (BEG01Q 13272 2627 BEGHSP 13273 7410 SKP /NO PUNCH = KILL INST 13274 5300 JMP BEG11B 13275 6201 CDF 13276 3764 DCA I (LISTN+2 /NO PUNCH 13277 6211 CDF 10 13300 4763 BEG11B, JMS I (BEG003 13301 2611 BEGHSR 13302 4777 JMS I (BEG01Q 13303 2600 BEGHSS 13304 7410 SKP /NO READER = KILL INST 13305 5311 JMP BEGCK0 /YES = GO ON 13306 6201 CDF 13307 3774 DCA I (ERRNNN-1 13310 6211 CDF 10 13311 1005 BEGCK0, TAD BEGUSR 13312 7001 IAC 13313 7650 SNA CLA 13314 5762 JMP I (BEGOLD /ONLY 1 USER, ASSUME ANSWER! 13315 4777 JMS I (BEG01Q 13316 3044 BEGMQ /SAME AMT OF STG FOR ALL USRS? 13317 5761 JMP I (BEG500 /NO = GO ASK HIM 13320 5762 JMP I (BEGOLD /YES = ALLOCATE IT FOR HIM 13361 3403 13362 5200 13363 2432 13364 7711 13365 7610 13366 7200 13367 5366 13370 5775 13371 7000 13372 7755 13373 3257 13374 7700 13375 6005 13376 2233 13377 2327 3400 PAGE /EDU-20 PAL8-V10D 13-OCT-96 PAGE 135 0021 LBLK=SS 0003 OLNUM=USRPT2 0004 NUNUM=CORPT2 13400 6211 BEGER0, CDF 10 13401 4777 JMS I (BEG003 13402 3014 WNGDM 13403 6211 BEG500, CDF 10 13404 1005 TAD BEGUSR 13405 3020 DCA USRCTR 13406 1376 TAD (USRLST 13407 3001 DCA USRPTR 13410 1022 TAD BEGCOR 13411 7001 IAC 13412 3006 DCA CURFLD 13413 7340 BEGFLD, L7777 13414 1006 TAD CURFLD 13415 7550 SPA SNA 13416 5200 JMP BEGER0 /EH? 13417 3006 DCA CURFLD 13420 4777 JMS I (BEG003 13421 2717 BEGMFL 13422 1375 TAD (60 13423 1006 TAD CURFLD 13424 6046 TLS 13425 6041 TSF 13426 5225 JMP .-1 13427 7340 L7777 13430 1006 TAD CURFLD 13431 7650 SNA CLA 13432 1374 TAD (-6 /6 'BLOCKS' LESS IN FLD1 13433 1373 TAD (20 /20 LOGICAL BLOCKS IN OTHERS 13434 3021 DCA LBLK 13435 4777 BEGXXX, JMS I (BEG003 13436 2723 BEGMXX 13437 1021 TAD LBLK 13440 4772 JMS I (BEGPRNT 13441 4777 JMS I (BEG003 13442 2731 BEGMX1 13443 4771 JMS I (BEG001 13444 1370 TAD (-"8 13445 7540 SMA SZA 13446 5342 JMP BEGER1 13447 1367 TAD (10 13450 7550 SPA SNA 13451 5342 JMP BEGER1 /BAD USERNO 13452 3401 DCA I USRPTR 13453 1005 TAD BEGUSR 13454 1401 TAD I USRPTR 13455 7740 SMA SZA CLA 13456 5342 JMP BEGER1 /NONEXISTENT USER DUMMY 13457 2001 ISZ USRPTR 13460 1006 TAD CURFLD 13461 3401 DCA I USRPTR 13462 2001 ISZ USRPTR /AND HIS NO. /EDU-20 PAL8-V10D 13-OCT-96 PAGE 135-1 13463 4777 BEGRE, JMS I (BEG003 13464 2765 BEGTTI 13465 3003 DCA OLNUM /DOUBLE CHECK! 13466 4771 BEGINP, JMS I (BEG001 13467 1366 TAD (-215 13470 7450 SNA 13471 5311 JMP DN 13472 1365 TAD (215-"9 13473 7540 SMA SZA 13474 5337 JMP BEGER2 /UNGOOD NO 13475 1364 TAD (11 13476 7510 SPA 13477 5337 JMP BEGER2 /LIKEWISE 13500 3004 DCA NUNUM 13501 1003 TAD OLNUM /MULT BY 10 DECIM 13502 7104 CLL RAL 13503 7006 RTL 13504 1003 TAD OLNUM 13505 1003 TAD OLNUM 13506 1004 TAD NUNUM /PLUS NEW DIGIT 13507 3003 DCA OLNUM /MAKES NEW NO 13510 5266 JMP BEGINP 13511 1003 DN, TAD OLNUM 13512 7570 SNA SPA SZL 13513 5337 JMP BEGER2 /JUNKY NO 13514 7041 CIA 13515 1021 TAD LBLK 13516 7510 SPA 13517 5200 JMP BEGER0 /TOO MUCH ASKED FOR 13520 3021 DCA LBLK /NEW AMOUNT REMAINING 13521 1003 TAD OLNUM 13522 2020 ISZ USRCTR 13523 7410 SKP 13524 5345 JMP BEGR2 13525 3401 DCA I USRPTR 13526 2001 ISZ USRPTR 13527 1021 TAD LBLK 13530 7640 SZA CLA /MORE TO COME IN THIS FIELD? 13531 5235 JMP BEGXXX /SURE IS 13532 7340 L7777 13533 1006 TAD CURFLD 13534 7710 SPA CLA 13535 5200 JMP BEGER0 13536 5213 JMP BEGFLD /MORE FIELDS TO COME 13537 4777 BEGER2, JMS I (BEG003 13540 2501 BEGME 13541 5263 JMP BEGRE 13542 4777 BEGER1, JMS I (BEG003 13543 2501 BEGME 13544 5235 JMP BEGXXX 13545 1021 BEGR2, TAD LBLK /EXPAND HIM TO FINISH FIELD 13546 3401 DCA I USRPTR /THERE'S NO REASON TO WASTE CORE 13547 2001 ISZ USRPTR /JUST THINK OF ALL THE PEOPLE WHO GO TO BED HUNGRY FOR IT EVERY NIGH 13550 5763 JMP I (BEG540 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 136 13563 3600 13564 0011 13565 7724 13566 7563 13567 0010 13570 7510 13571 2414 13572 4301 13573 0020 13574 7772 13575 0060 13576 5000 13577 2432 3600 PAGE 13600 7303 BEG540, CLA CLL IAC BSW 13601 1377 TAD (-100 13602 7640 SZA CLA 13603 5253 JMP BEG550-2 /NOT AN 8/E 13604 1007 TAD BEGDEV 13605 7650 SNA CLA 13606 5254 JMP BEG550-1 /THE FOOL HAS AN 8/E WITH DC02 13607 6201 CDF 13610 1024 TAD KLSCH 13611 3651 DCA I BEGKL5 13612 1023 TAD KLTOP 13613 3652 DCA I BEGKL6 13614 6211 CDF 10 13615 1246 TAD KL8FRST 13616 7640 SZA CLA /FIRST TIME THROUGH 13617 5255 JMP BEG550 /NO 13620 2246 ISZ KL8FRST /SIGNIFY DONE 13621 1644 TAD I BEGKL1 13622 3645 DCA I BEGKL2 13623 2244 ISZ BEGKL1 13624 2245 ISZ BEGKL2 /MOVE PATCH TO PROPER POSITION 13625 5221 JMP .-4 13626 6201 CDF 13627 1376 TAD (CIF SWAP 13630 3647 DCA I BEGKL3 13631 2247 ISZ BEGKL3 13632 1375 TAD (KL8JMP+2&177+5600 13633 3647 DCA I BEGKL3 13634 1376 TAD (CIF SWAP 13635 3650 DCA I BEGKL4 13636 2250 ISZ BEGKL4 13637 1374 TAD (KL8JM0+2&177+5600 13640 3650 DCA I BEGKL4 13641 6211 CDF 10 13642 1023 TAD KLTOP 13643 5254 JMP BEG550-1 /SET TOP OF FIELD 1 13644 7356 BEGKL1, KL8LOD 13645 7756 BEGKL2, KL8FIX 13646 0000 KL8FRST, 0 13647 5343 BEGKL3, KL8JMP 13650 0207 BEGKL4, KL8JM0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 136-1 13651 0211 BEGKL5, KL8JM0+2 13652 5345 BEGKL6, KL8JMP+2 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 137 13653 3773 DCA I (INTRRV 13654 3023 DCA KLTOP 13655 1372 BEG550, TAD (USRLST /NOW WE SORT FOR FIELDS TO MAKE IT EASY 13656 3001 DCA USRPTR 13657 1371 TAD (3 13660 1372 TAD (USRLST 13661 3002 DCA CORPTR 13662 1005 TAD BEGUSR 13663 3020 DCA USRCTR 13664 3021 DCA SS /SORT SWITCH FOR MODIFIED BUBBLE SORT 13665 1001 BEG551, TAD USRPTR 13666 7001 IAC 13667 3003 DCA USRPT2 13670 1002 TAD CORPTR 13671 7001 IAC 13672 3004 DCA CORPT2 13673 2020 ISZ USRCTR 13674 7410 SKP 13675 5327 JMP BEG553 13676 1403 TAD I USRPT2 13677 7041 CIA 13700 1404 TAD I CORPT2 13701 7750 SNA SPA CLA 13702 5320 JMP BEG552 13703 7346 L7775 13704 3021 DCA SS /3 SWAPS 13705 1401 TAD I USRPTR 13706 3000 DCA 0 13707 1402 TAD I CORPTR 13710 3401 DCA I USRPTR 13711 1000 TAD 0 13712 3402 DCA I CORPTR 13713 2001 ISZ USRPTR 13714 2002 ISZ CORPTR 13715 2021 ISZ SS 13716 5305 JMP .-11 13717 2021 ISZ SS /SET TO INDICATE 13720 7326 BEG552, L0002 13721 1003 TAD USRPT2 13722 3001 DCA USRPTR 13723 7326 L0002 13724 1004 TAD CORPT2 13725 3002 DCA CORPTR 13726 5265 JMP BEG551 13727 1021 BEG553, TAD SS 13730 7640 SZA CLA 13731 5255 JMP BEG550 13732 5770 JMP I (BEG600 13770 4000 13771 0003 13772 5000 13773 1311 13774 5611 13775 5745 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 137-1 13776 6212 13777 7700 4000 PAGE 14000 1377 BEG600, TAD (BEGLST 14001 3003 DCA USRPT2 14002 1376 TAD (USRLST 14003 3001 DCA USRPTR 14004 1005 TAD BEGUSR 14005 3020 DCA USRCTR 14006 1005 TAD BEGUSR 14007 3775 DCA I (BEGUS1 14010 1774 TAD I (USRLST+1 14011 3006 BEG610, DCA CURFLD 14012 7340 L7777 14013 1006 TAD CURFLD 14014 7640 SZA CLA 14015 5227 JMP .+12 14016 1023 TAD KLTOP 14017 3314 DCA BEG602 14020 1005 TAD BEGUSR 14021 3021 DCA SS 14022 1373 TAD (ENSWAP-STSWAP+1 14023 2021 ISZ SS 14024 5222 JMP .-2 14025 1372 TAD (ORG 14026 5231 JMP .+3 14027 3314 DCA BEG602 14030 1371 TAD (CONLEN 14031 3313 DCA BEG601 14032 1401 NXUSR, TAD I USRPTR 14033 2001 ISZ USRPTR 14034 3403 DCA I USRPT2 14035 2003 ISZ USRPT2 14036 1401 TAD I USRPTR 14037 7041 CIA 14040 1006 TAD CURFLD 14041 7640 SZA CLA 14042 5315 JMP BEG609 /HE WANTS A NEW FIELD 14043 2001 ISZ USRPTR 14044 1006 TAD CURFLD 14045 7104 CLL RAL 14046 7006 RTL 14047 1370 TAD (6201 /MAKE UP XFIELD OP 14050 3403 DCA I USRPT2 /INTO OUR QUICKIE LIST 14051 2003 ISZ USRPT2 14052 1401 TAD I USRPTR 14053 2001 ISZ USRPTR 14054 7041 CIA 14055 3021 DCA SS 14056 1367 TAD (400 14057 2021 ISZ SS 14060 5256 JMP .-2 /MULT. HIS BLOCKSIZE BY 400 OCTAL FOR CORE SIZE 14061 3021 DCA SS 14062 7344 L7776 14063 1314 TAD BEG602 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 137-2 14064 3403 DCA I USRPT2 14065 2003 ISZ USRPT2 14066 1021 TAD SS 14067 7041 CIA 14070 1314 TAD BEG602 14071 3314 DCA BEG602 14072 1366 TAD (4 14073 1314 TAD BEG602 14074 7710 SPA CLA 14075 5305 JMP BEG608-1 14076 1314 TAD BEG602 14077 7510 SPA 14100 5327 JMP BEG607 14101 7041 CIA 14102 1313 TAD BEG601 14103 7700 SMA CLA 14104 5327 JMP BEG607 14105 1314 TAD BEG602 14106 3403 BEG608, DCA I USRPT2 14107 2003 ISZ USRPT2 14110 2020 ISZ USRCTR 14111 5232 JMP NXUSR 14112 5765 JMP I (BEG700 /WHEW..THAT WENT QUICKLY ANYWAY 14113 0000 BEG601, 0 /BOTTOM 14114 0000 BEG602, 0 /TOP 14115 1001 BEG609, TAD USRPTR 14116 3006 DCA CURFLD /SAVE IT 14117 7340 L7777 14120 1001 TAD USRPTR 14121 3001 DCA USRPTR /TAKE OUT ENTRIES 14122 7340 L7777 14123 1003 TAD USRPT2 14124 3003 DCA USRPT2 14125 1406 TAD I CURFLD /COUNT DOWN FIELD 14126 5211 JMP BEG610 14127 7200 BEG607, CLA 14130 1313 TAD BEG601 14131 5306 JMP BEG608 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 138 14165 4200 14166 0004 14167 0400 14170 6201 14171 0022 14172 2000 14173 0051 14174 5001 14175 7130 14176 5000 14177 7400 4200 PAGE 14200 1377 BEG700, TAD (BEGLST 14201 3001 DCA USRPTR 14202 3021 DCA SS 14203 1005 TAD BEGUSR 14204 3020 DCA USRCTR 14205 1376 TAD (4 14206 1377 TAD (BEGLST 14207 3003 DCA USRPT2 14210 2020 BEG7X1, ISZ USRCTR 14211 7410 SKP 14212 5246 JMP BEG703 14213 1401 TAD I USRPTR 14214 7041 CIA 14215 1403 TAD I USRPT2 14216 7450 SNA 14217 5775 JMP I (BEGER0 /MULTIPLE ASSIGNMENTS FOR ONE USER 14220 7700 SMA CLA 14221 5240 JMP BEG702 14222 1374 TAD (-4 14223 3021 DCA SS 14224 1401 BEG701, TAD I USRPTR 14225 3002 DCA CORPTR 14226 1403 TAD I USRPT2 14227 3401 DCA I USRPTR 14230 1002 TAD CORPTR 14231 3403 DCA I USRPT2 14232 2001 ISZ USRPTR 14233 2003 ISZ USRPT2 14234 2021 ISZ SS 14235 5224 JMP BEG701 14236 2021 ISZ SS 14237 1374 TAD (-4 14240 1003 BEG702, TAD USRPT2 14241 3001 DCA USRPTR 14242 1376 TAD (4 14243 1001 TAD USRPTR 14244 3003 DCA USRPT2 14245 5210 JMP BEG7X1 14246 1021 BEG703, TAD SS 14247 7640 SZA CLA 14250 5200 JMP BEG700 /MORE TO COME /EDU-20 PAL8-V10D 13-OCT-96 PAGE 138-1 14251 1377 TAD (BEGLST 14252 3001 DCA USRPTR /NOW TAKE OUT USER NOS. 14253 1005 TAD BEGUSR 14254 3020 DCA USRCTR 14255 7001 IAC 14256 1377 TAD (BEGLST 14257 3003 DCA USRPT2 14260 7346 BEG704, L7775 14261 3021 DCA SS 14262 1403 TAD I USRPT2 14263 3401 DCA I USRPTR 14264 2001 ISZ USRPTR 14265 2003 ISZ USRPT2 14266 2021 ISZ SS 14267 5262 JMP .-5 14270 2003 ISZ USRPT2 /SKIP OVER USER NO. 14271 2020 ISZ USRCTR 14272 5260 JMP BEG704 14273 4773 JMS I (BEG01Q 14274 3070 BEGM6A 14275 5772 JMP I (BEG002 /OH NO--ALL THIS JUNK FOR NOTHING! 14276 4771 JMS I (BEG003 14277 3002 BEGM6 14300 5770 JMP I (BEG750 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 139 14301 0000 BEGPRNT,0 14302 3335 DCA BEG705 14303 1367 TAD (-12 14304 3333 DCA BEG706 14305 3334 DCA BEG707 14306 5311 JMP .+3 14307 2334 ISZ BEG707 14310 3335 DCA BEG705 14311 1335 BEGPR1, TAD BEG705 14312 1333 TAD BEG706 14313 7500 SMA 14314 5307 JMP .-5 14315 7200 CLA 14316 1366 TAD (60 14317 1334 TAD BEG707 14320 6046 TLS 14321 6041 TSF 14322 5321 JMP .-1 14323 6032 KCC 14324 2333 ISZ BEG706 14325 7410 SKP 14326 5701 JMP I BEGPRNT /WAS SECOND TIME THROUGH 14327 7340 L7777 14330 3333 DCA BEG706 14331 3334 DCA BEG707 14332 5311 JMP BEGPR1 14333 0000 BEG706, 0 14334 0000 BEG707, 0 14335 0000 BEG705, 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 140 0021 BEG604=SS 0001 BEG605=USRPTR 14366 0060 14367 7766 14370 4400 14371 2432 14372 2026 14373 2327 14374 7774 14375 3400 14376 0004 14377 7400 4400 PAGE 14400 6201 BEG750, CDF 14401 1777 TAD I (MLOOKE 14402 1005 TAD BEGUSR 14403 3777 DCA I (MLOOKE /CORRECT FOR NO. OF USERS 14404 1777 TAD I (MLOOKE 14405 7041 CIA 14406 3776 DCA I (LOOK 14407 1005 TAD BEGUSR 14410 3775 DCA I (MUSER /SETUP FOR NO. OF USERS 14411 6211 CDF 10 14412 1374 TAD (BEGIOT-1 14413 3021 DCA BEG604 14414 1373 TAD (INTRPL 14415 3001 DCA BEG605 14416 7340 L7777 14417 1005 TAD BEGUSR 14420 3306 DCA BEG60X 14421 1005 TAD BEGUSR 14422 3020 DCA USRCTR 14423 6211 BEG75Q, CDF 10 14424 1421 TAD I BEG604 14425 2021 ISZ BEG604 14426 6201 CDF 14427 2306 ISZ BEG60X 14430 5234 JMP .+4 14431 7240 CLA CMA 14432 3306 DCA BEG60X 14433 1372 TAD (CLA-6006 14434 1371 TAD (6006 14435 3401 DCA I BEG605 14436 2001 ISZ BEG605 14437 2020 ISZ USRCTR 14440 5223 JMP BEG75Q 14441 6201 CDF 14442 1005 TAD BEGUSR 14443 3021 DCA SS 14444 2021 ISZ SS 14445 7410 SKP 14446 5251 JMP .+3 14447 7130 CLL CML RAR 14450 5244 JMP .-4 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 140-1 14451 1370 TAD (10 /GROUP 1 14452 3767 DCA I (AUSER 14453 6211 CDF 10 14454 1022 BEG75X, TAD BEGCOR 14455 7106 CLL RTL 14456 7004 RAL 14457 1366 TAD (CDF 14460 3276 DCA BEG756 14461 1276 TAD BEG756 14462 1365 TAD (-6211 14463 7650 SNA CLA 14464 5317 JMP BEG760 14465 1364 TAD (-CONLEN 14466 3311 DCA BEG753 14467 1363 TAD (STMV 14470 3307 DCA BEG751 14471 3310 DCA BEG752 14472 6211 BEG755, CDF 10 14473 1707 TAD I BEG751 14474 2307 ISZ BEG751 14475 7000 NOP 14476 6221 BEG756, CDF 20 14477 3710 DCA I BEG752 14500 2310 ISZ BEG752 14501 5312 JMP BEG754 14502 7340 L7777 14503 1022 TAD BEGCOR 14504 3022 DCA BEGCOR 14505 5254 JMP BEG75X 14506 0000 BEG60X, 0 14507 0000 BEG751, 0 14510 0000 BEG752, 0 14511 0000 BEG753, 0 14512 2311 BEG754, ISZ BEG753 14513 5272 JMP BEG755 14514 7340 L7777 14515 3311 DCA BEG753 14516 5276 JMP BEG756 14517 1007 BEG760, TAD BEGDEV 14520 7650 SNA CLA 14521 5762 JMP I (BEG76X 14522 6201 CDF 14523 3761 DCA I (XOUTL6+3 14524 3760 DCA I (XOUTL6-3 14525 3757 DCA I (INTRP2-2 14526 3756 DCA I (INTRP2+4 14527 3755 DCA I (INTRP5+1 14530 6211 CDF 10 14531 3754 DCA I (INTRV2-2 14532 5753 JMP I (BEG80X 14553 4613 14554 1316 14555 5313 14556 5272 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 140-2 14557 5264 14560 3432 14561 3440 14562 4600 14563 1000 14564 7756 14565 1567 14566 6201 14567 5363 14570 0010 14571 6006 14572 1172 14573 5170 14574 7000 14575 5362 14576 0105 14577 0230 4600 PAGE 14600 6211 BEG76X, CDF 10 14601 1377 TAD (TLS 14602 3776 DCA I (AAACDF+1 14603 3775 DCA I (AAACDF+2 14604 1374 TAD (MTLS 14605 3773 DCA I (INTRV2-1 14606 1372 TAD (17 14607 6117 MTON /DESELECT ALL TTY'S 14610 7301 L0001 14611 6115 MINT 14612 7300 CLA CLL 14613 6211 BEG80X, CDF 10 14614 1023 TAD KLTOP 14615 3771 DCA I (KLTOP2 14616 5770 JMP I (BEG800 14770 7010 14771 7202 14772 0017 14773 1317 14774 6126 14775 1314 14776 1313 14777 6046 5000 PAGE 15000 0000 USRLST, 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 141 IFNZRO FOURTY < *5200 /DO NOT MOVE FROM 5200 WITHOUT /CHANGING CONSTANT FOR SWAP DCMA=6601 DMAW=6605 DEAL=6615 DCIM=6611 DIML=6615 DCXA=6641 DXAL=6643 DFSC=6622 /ROUTINE TO COPY EDU20 IMAGE ONTO DISK TO SET UP EDU40 SYSTEM E40INT, JMS I (BEG01Q E40M1 /IS SYSTEM DEVICE A DF32 DISK? SKP JMP EDF32 /YES-DISK IS DF32 JMS I (BEG01Q E40M2 /IS SYSTEM DEVICE AN RF08 DISK? JMP E40INT /NO-HE DOESN'T KNOW WHAT HE IS TALKING ABOUT /ROUTINE TO PUT EDU20 ON RF08 DISK CDF 10 DCIM /WRITE FROM FIELD 0 DCXA /WRITE TO TRACK 0 TAD (200 DCA I (7750 /WC TO 7600 TAD (177 DCA I (7751 /CA TO 200 TAD (200 DMAW /WRITE FIELD 0 IMAGE ONTO TRACK 0 DFSC JMP .-1 TAD (10 DIML /WRITE FROM FIELD 1 CLA CLL IAC DXAL /WRITE ONTO TRACK 1 CLA CMA DCA I (7751 /CA TO 0 DCA I (7750 /WC TO 10000 TAD (7000 CDF 10 DCA I (DISKIN /NOP CALL TO THIS CODE SO WHEN LOADED FROM DISK CDF 0 /THIS CODE WILL NOT BE RUN DMAW /WRITE FIELD 1 IMAGE ON DISK DFSC JMP .-1 DCIM /WRITE FROM FIELD 0 CLA CLL IAC DXAL /ONTO TRACK 1 LASTW, TAD (7600 DCA I (7750 /WC TO 200 CLA CMA /EDU-20 PAL8-V10D 13-OCT-96 PAGE 141-1 DCA I (7751 /CA TO 0 TAD (5200 DMAW /WRITE FIELD 0,PAGE 0 IMAGE ONTO TRACK 1 AT 5200 DFSC JMP .-1 DCMA /CLEAR DISK FLAGS JMP I (DISKIN+1 /RETURN /ROUTINE TO PUT EDU20 IMAGE ON DF32 DISK EDF32, CDF 0 DEAL TAD (200 DCA I (7750 /WC TO 7600 TAD (177 DCA I (7751 /CA TO 200 TAD (200 DMAW DFSC JMP .-1 TAD (110 DEAL CLA CMA DCA I (7751 /CA TO 0 DCA I (7750 /WC TO 10000 TAD (7000 CDF 10 DCA I (DISKIN /NOP CALL TO THIS CODE CDF 0 DMAW /WRITE FIELD 1 ONTO TRACK 1 DFSC JMP .-1 TAD (100 DEAL /WRITE FROM FIELD 0 ONTO TRACK 1 CLA JMP LASTW E40M1, TEXT %_IS SYSTEM DEVICE A DF32 DISK?% E40M2, TEXT %_IS SYSTEM DEVICE AN RF08 DISK?% > /EDU-20 PAL8-V10D 13-OCT-96 PAGE 142 5200 PAGE /THIS ROUTINE DOES ALLOCATION THE OLD WAY IF YOU ASK FOR THE SAME AMOUNT /OF CORE FOR ALL USERS. IT DOES A TABLE LOOKUP ON BEGCOR&BEGUSR AND /ENTERS THINGS IN USRLST THE WAY YOU WOULD IF YOU ANSWERED QUESTIONS 15200 1022 BEGOLD, TAD BEGCOR 15201 7106 CLL RTL 15202 7004 RAL 15203 1005 TAD BEGUSR /GET ADDR. OF ADDR. OF LIST 15204 1377 TAD (BGLD1 15205 3021 DCA SS 15206 1421 TAD I SS 15207 3021 DCA SS 15210 1376 TAD (USRLST 15211 3001 DCA USRPTR /SETUP TO SLIDE 15212 1005 TAD BEGUSR 15213 3020 DCA USRCTR /NO. OF SLIDES 15214 1421 BEGOL1, TAD I SS 15215 7106 CLL RTL 15216 7006 RTL 15217 0375 AND (7 15220 7001 IAC /CORRECT USERNO. 15221 3401 DCA I USRPTR 15222 2001 ISZ USRPTR 15223 1421 TAD I SS 15224 7112 CLL RTR 15225 7012 RTR 15226 7012 RTR 15227 0375 AND (7 /SET FIELD 15230 3401 DCA I USRPTR 15231 2001 ISZ USRPTR 15232 1421 TAD I SS 15233 0374 AND (37 15234 3401 DCA I USRPTR 15235 2021 ISZ SS 15236 2001 ISZ USRPTR 15237 2020 ISZ USRCTR 15240 5214 JMP BEGOL1 15241 5773 JMP I (BEG540 /CONTINUE ON...WE'VE ANSWERED QUESTIONS FOR HIM NOW. 15373 3600 15374 0037 15375 0007 15376 5000 15377 5674 5400 PAGE /THE FORMAT OF THE FOLLOWING LIST OF ANSWERS IS THE FOLLOWING: /(USER NO. [0 TO 7] +FIELD)TIMES 100 PLUS BLOCKSIZE. /THIS GETS ALL THREE DATA ABOUT EACH USER INTO ONE WORD. /THE USER NO. IS INTERNAL USER NO. OR EXTERNAL USER NO.-1 0100 X=100 15400 0112 BGL11, 01^X+12 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 142-1 15401 0105 BGL12, 01^X+5 15402 1105 11^X+5 15403 0104 BGL13, 01^X+4 15404 1103 11^X+3 15405 2103 21^X+3 15406 0103 BGL14, 01^X+3 15407 1103 11^X+3 15410 2102 21^X+2 15411 3102 31^X+2 15412 0102 BGL15, 01^X+2 15413 1102 11^X+2 15414 2102 21^X+2 15415 3102 31^X+2 15416 4102 41^X+2 15417 0102 BGL16, 01^X+2 15420 1102 11^X+2 15421 2102 21^X+2 15422 3102 31^X+2 15423 4101 41^X+1 15424 5101 51^X+1 15425 0102 BGL17, 01^X+2 15426 1102 11^X+2 15427 2102 21^X+2 15430 3101 31^X+1 15431 4101 41^X+1 15432 5101 51^X+1 15433 6101 61^X+1 15434 0102 BGL18, 01^X+2 15435 1102 11^X+2 15436 2101 21^X+1 15437 3101 31^X+1 15440 4101 41^X+1 15441 5101 51^X+1 15442 6101 61^X+1 15443 7101 71^X+1 15444 1112 BGL22, 11^X+12 15445 0220 BGL21, 02^X+20 5445 BGL31=BGL21 5445 BGL41=BGL21 5445 BGL51=BGL21 5445 BGL61=BGL21 5445 BGL71=BGL21 15446 0112 BGL23, 01^X+12 15447 1210 12^X+10 15450 2210 22^X+10 15451 0210 BGL24, 02^X+10 15452 1210 12^X+10 15453 2105 21^X+5 15454 3105 31^X+5 15455 0206 BGL25, 02^X+6 15456 1105 11^X+5 15457 2105 21^X+5 15460 3205 32^X+5 15461 4205 42^X+5 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 143 15462 0105 BGL26, 01^X+5 15463 1105 11^X+5 15464 2204 22^X+4 15465 3204 32^X+4 15466 4204 42^X+4 15467 5204 52^X+4 15470 0104 BGL27, 01^X+4 15471 1204 12^X+4 15472 2204 22^X+4 15473 3204 32^X+4 15474 4204 42^X+4 15475 5103 51^X+3 15476 6103 61^X+3 15477 0104 BGL28, 01^X+4 15500 1204 12^X+4 15501 2103 21^X+3 15502 3103 31^X+3 15503 4203 42^X+3 15504 5203 52^X+3 15505 6203 62^X+3 15506 7203 72^X+3 15507 2112 BGL33, 21^X+12 15510 0220 BGL32, 02^X+20 15511 1320 13^X+20 5510 BGL42=BGL32 5510 BGL52=BGL32 5510 BGL62=BGL32 5510 BGL72=BGL32 15512 0220 BGL34, 02^X+20 15513 1112 11^X+12 15514 2310 23^X+10 15515 3310 33^X+10 15516 0112 BGL35, 01^X+12 15517 1210 12^X+10 15520 2210 22^X+10 15521 3310 33^X+10 15522 4310 43^X+10 15523 0210 BGL36, 02^X+10 15524 1210 12^X+10 15525 2310 23^X+10 15526 3310 33^X+10 15527 4105 41^X+5 15530 5105 51^X+5 15531 0210 BGL37, 02^X+10 15532 1210 12^X+10 15533 2306 23^X+6 15534 3105 31^X+5 15535 4105 41^X+5 15536 5305 53^X+5 15537 6305 63^X+5 15540 0206 BGL38, 02^X+6 15541 1306 13^X+6 15542 2105 21^X+5 15543 3105 31^X+5 15544 4205 42^X+5 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 143-1 15545 5205 52^X+5 15546 6305 63^X+5 15547 7305 73^X+5 15550 3112 BGL44, 31^X+12 15551 0220 BGL43, 02^X+20 15552 1320 13^X+20 15553 2420 24^X+20 5551 BGL53=BGL43 5551 BGL63=BGL43 5551 BGL73=BGL43 15554 0220 BGL45, 02^X+20 15555 1320 13^X+20 15556 2112 21^X+12 15557 3410 34^X+10 15560 4410 44^X+10 15561 0220 BGL46, 02^X+20 15562 1112 11^X+12 15563 2310 23^X+10 15564 3310 33^X+10 15565 4410 44^X+10 15566 5410 54^X+10 15567 0112 BGL47, 01^X+12 15570 1210 12^X+10 15571 2210 22^X+10 15572 3310 33^X+10 15573 4310 43^X+10 15574 5410 54^X+10 15575 6410 64^X+10 15576 6105 BGL48, 61^X+5 15577 7105 71^X+5 15600 0210 02^X+10 15601 1210 12^X+10 15602 2310 23^X+10 15603 3310 33^X+10 15604 4410 44^X+10 15605 5410 54^X+10 15606 4112 BGL55, 41^X+12 15607 0220 BGL54, 02^X+20 15610 1320 13^X+20 15611 2420 24^X+20 15612 3520 35^X+20 5607 BGL64=BGL54 5607 BGL74=BGL54 15613 0220 BGL56, 02^X+20 15614 1320 13^X+20 15615 2420 24^X+20 15616 3112 31^X+12 15617 4510 45^X+10 15620 5510 55^X+10 15621 0220 BGL57, 02^X+20 15622 1320 13^X+20 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 143-2 15623 2112 21^X+12 15624 3410 34^X+10 15625 4410 44^X+10 15626 5510 55^X+10 15627 6510 65^X+10 15630 0220 BGL58, 02^X+20 15631 1112 11^X+12 15632 2310 23^X+10 15633 3310 33^X+10 15634 4410 44^X+10 15635 5410 54^X+10 15636 6510 65^X+10 15637 7510 75^X+10 15640 5112 BGL66, 51^X+12 15641 0220 BGL65, 02^X+20 15642 1320 13^X+20 15643 2420 24^X+20 15644 3520 35^X+20 15645 4620 46^X+20 5641 BGL75=BGL65 15646 4112 BGL67, 41^X+12 15647 0220 02^X+20 15650 1320 13^X+20 15651 2420 24^X+20 15652 3520 35^X+20 15653 5610 56^X+10 15654 6610 66^X+10 15655 0220 BGL68, 02^X+20 15656 1320 13^X+20 15657 2420 24^X+20 15660 3112 31^X+12 15661 4510 45^X+10 15662 5510 55^X+10 15663 6610 66^X+10 15664 7610 76^X+10 15665 7112 BGL78, 71^X+12 15666 6720 BGL77, 67^X+20 15667 0220 BGL76, 02^X+20 15670 1320 13^X+20 15671 2420 24^X+20 15672 4620 46^X+20 15673 3520 35^X+20 15674 5434 BGLD1, BGL18 15675 5425 BGL17 15676 5417 BGL16 15677 5412 BGL15 15700 5406 BGL14 15701 5403 BGL13 15702 5401 BGL12 15703 5400 BGL11 15704 5477 BGL28 15705 5470 BGL27 15706 5462 BGL26 15707 5455 BGL25 15710 5451 BGL24 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 143-3 15711 5446 BGL23 15712 5444 BGL22 15713 5445 BGL21 15714 5540 BGL38 15715 5531 BGL37 15716 5523 BGL36 15717 5516 BGL35 15720 5512 BGL34 15721 5507 BGL33 15722 5510 BGL32 15723 5445 BGL31 15724 5576 BGL48 15725 5567 BGL47 15726 5561 BGL46 15727 5554 BGL45 15730 5550 BGL44 15731 5551 BGL43 15732 5510 BGL42 15733 5445 BGL41 15734 5630 BGL58 15735 5621 BGL57 15736 5613 BGL56 15737 5606 BGL55 15740 5607 BGL54 15741 5551 BGL53 15742 5510 BGL52 15743 5445 BGL51 15744 5655 BGL68 15745 5646 BGL67 15746 5640 BGL66 15747 5641 BGL65 15750 5607 BGL64 15751 5551 BGL63 15752 5510 BGL62 15753 5445 BGL61 15754 5665 BGL78 15755 5666 BGL77 15756 5667 BGL76 15757 5641 BGL75 15760 5607 BGL74 15761 5551 BGL73 15762 5510 BGL72 15763 5445 BGL71 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 144 IFNZRO CONFIG < XLIST NOPUNCH> 6200 *6200 16200 1773 MONDSK, 1773 16201 3772 3772 16202 2372 2372 16203 2373 2373 16204 5356 5356 16205 1371 1371 16206 3350 3350 16207 1371 1371 16210 3351 3351 16211 5770 5770 16212 7573 7573 16213 7576 7576 16214 7573 7573 16215 7774 7774 16216 6603 6603 16217 6622 6622 16220 5374 5374 16221 7610 7610 16222 1774 MONTAP, 1774 16223 3773 3773 16224 2373 2373 16225 2374 2374 16226 5356 5356 16227 3354 3354 16230 1372 1372 16231 3355 3355 16232 1371 1371 16233 5770 5770 16234 7575 7575 16235 0220 0220 16236 7577 7577 16237 7575 7575 16240 7775 7775 16241 6766 6766 16242 6771 6771 16243 5376 5376 16244 1377 OSDRK8, 1377 16245 3030 3030 16246 1376 1376 16247 3031 3031 16250 5030 5030 16251 0000 0 16252 0000 0 16253 0000 0 16254 0000 0 16255 0000 0 16256 0000 0 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 144-1 16257 0000 0 16260 0000 0 16261 0000 0 16262 0000 0 16263 0000 0 16264 5031 5031 16265 6733 6733 16266 1772 OSDDSK, 1772 16267 3771 3771 16270 2371 2371 16271 2372 2372 16272 5356 5356 16273 5350 5350 16274 0000 0 16275 0000 0 16276 0000 0 16277 0000 0 16300 0000 0 16301 7750 7750 16302 7773 7773 16303 7600 7600 16304 6603 6603 16305 6622 6622 16306 5352 5352 16307 5752 5752 16310 6774 OSDDTA, 6774 16311 1377 1377 16312 3354 3354 16313 1376 1376 16314 3355 3355 16315 1375 1375 16316 6766 6766 16317 6771 6771 16320 5365 5365 16321 1374 1374 16322 6766 6766 16323 6771 6771 16324 5371 5371 16325 5200 5200 16326 0220 220 16327 0600 600 16330 7577 7577 16331 7700 7700 16332 1114 OS8ERM, TEXT %ILLEGAL OS/8 DEVICE FOUND_CAN'T SAVE BOOTSTRAP__% 16333 1405 16334 0701 16335 1440 16336 1723 16337 5770 16340 4004 16341 0526 16342 1103 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 144-2 16343 0540 16344 0617 16345 2516 16346 0437 16347 0301 16350 1647 16351 2440 16352 2301 16353 2605 16354 4002 16355 1717 16356 2423 16357 2422 16360 0120 16361 3737 16362 0000 16363 3737 OS8MSG, TEXT %__TO BOOTSTRAP BACK % 16364 2417 16365 4002 16366 1717 16367 2423 16370 2422 16371 0120 16372 4002 16373 0103 16374 1340 16375 0000 16376 1723 OS8M1, TEXT %OS/8% 16377 5770 16400 0000 16401 4015 OS8M2, TEXT % MONITOR:_ LOAD ADDRESS 07600_ AND START__% 16402 1716 16403 1124 16404 1722 16405 7237 16406 4040 16407 1417 16410 0104 16411 4001 16412 0404 16413 2205 16414 2323 16415 4060 16416 6766 16417 6060 16420 3740 16421 4001 16422 1604 16423 4023 16424 2401 16425 2224 16426 3737 16427 0000 16430 0411 DISKMM, TEXT %DISK% 16431 2313 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 144-3 16432 0000 16433 2401 TAPMM, TEXT %TAPE% 16434 2005 16435 0000 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 145 16436 6211 BEGOS8, CDF 10 16437 1777 TAD I (7760 /GET DCB OF SYS: 16440 0376 AND (770 16441 1375 TAD (-050 /5 IS RK8 16442 7510 SPA 16443 5253 JMP OS8ERR /<5 IS ERROR 16444 7450 SNA 16445 5265 JMP OS8RK8 /5 = RK8 16446 1374 TAD (050-160 /16 IS DECTAPE 16447 7510 SPA 16450 5257 JMP OS8KSK /6 TO 15 = DSK 16451 7650 SNA CLA 16452 5264 JMP OS8DTA /16 = DTA: 16453 7200 OS8ERR, CLA 16454 4773 JMS I (BEG003 16455 6332 OS8ERM /BAD OS8 DEVICE 16456 5772 JMP I (BEGMV4 /DO NOT SET UP ANYTHING 16457 7200 OS8KSK, CLA 16460 5263 JMP OS8DSK 16461 7001 IAC 16462 7001 IAC 16463 7001 OS8DSK, IAC 16464 7001 OS8DTA, IAC 16465 7001 OS8RK8, IAC 16466 1371 TAD (OS8LST-1 16467 3311 DCA OS8PTR 16470 1711 TAD I OS8PTR 16471 3311 DCA OS8PTR /POINT TO BOOTSTRAP 16472 6211 OS8LP1, CDF 10 16473 1711 TAD I OS8PTR 16474 2311 ISZ OS8PTR 16475 6201 CDF 16476 3712 DCA I OS8PT2 16477 2312 ISZ OS8PT2 16500 5272 JMP OS8LP1 16501 6211 CDF 10 16502 4773 JMS I (BEG003 16503 6363 OS8MSG /OS8 MESSAGE 16504 4773 JMS I (BEG003 16505 6376 OS8AB, OS8M1 16506 4773 JMS I (BEG003 16507 6401 OS8M2 16510 5772 JMP I (BEGMV4 16511 0000 OS8PTR, 0 16512 7756 OS8PT2, 7756 /INTO RIM LOCATIONS 16513 6244 OS8LST, OSDRK8 16514 6310 OSDDTA 16515 6266 OSDDSK 16516 6200 MONDSK 16517 6222 MONTAP /EDU-20 PAL8-V10D 13-OCT-96 PAGE 145-1 16520 6211 TAPEM, CDF 10 16521 1370 TAD (600 16522 6766 DTXA DTCA /REWIND TAPE 16523 6771 DTSF 16524 5323 JMP .-1 16525 1367 TAD (TAPMM 16526 3305 DCA OS8AB 16527 5261 JMP OS8DSK-2 16530 6211 DISKM, CDF 10 16531 1366 TAD (DISKMM 16532 3305 DCA OS8AB 16533 5262 JMP OS8DSK-1 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 146 IFNZRO CONFIG < PAGE XLIST ENPUNCH > /EDU-20 PAL8-V10D 13-OCT-96 PAGE 147 16566 6430 16567 6433 16570 0600 16571 6512 16572 2003 16573 2432 16574 7670 16575 7730 16576 0770 16577 7760 7000 *7000 17000 0040 40 17001 0120 BEGIOT, 120 17002 0120 120 17003 0120 120 17004 0120 120 17005 0120 120 17006 0120 120 17007 0120 120 17010 1377 BEG800, TAD (ORG 17011 3331 DCA BEG801 17012 1376 TAD (BEGLST 17013 3332 BEGZCT, DCA BEG802 17014 1375 TAD (BEGLST+1 17015 3334 DCA BEG804 17016 1374 TAD (BEGLST+2 17017 3333 DCA BEG803 17020 1373 TAD (BEGIOT-1 17021 3335 DCA BEG805 17022 1734 BEG810, TAD I BEG804 17023 4336 JMS BEG900 /SETUP PDLXR 17024 1372 TAD (4 17025 4342 JMS BEGZER 17026 1371 TAD (READY /PC GETS READY FOR STARTUP 17027 4336 JMS BEG900 17030 1370 TAD (10 17031 4342 JMS BEGZER 17032 7340 L7777 /DINPUT SET TO INPUT MODE 17033 4336 JMS BEG900 17034 4336 JMS BEG900 /OUTPUT GETS ZEROED FOR ECHO 17035 1735 TAD I BEG805 /MAKE UP XIOT 17036 1367 TAD (6006-10 17037 4336 JMS BEG900 17040 1732 TAD I BEG802 /MAKE UP XFIELD 17041 4336 JMS BEG900 17042 1366 TAD (5 17043 4342 JMS BEGZER 17044 1365 TAD (BUFFER /NOW BUILD BUFFERS USING DEF. OF BUFFER+OFFSET 17045 1733 TAD I BEG803 /THIS IS IPTRI 17046 4336 JMS BEG900 17047 1365 TAD (BUFFER /AND IPTRO 17050 1733 TAD I BEG803 17051 4336 JMS BEG900 17052 1365 TAD (BUFFER /EDU-20 PAL8-V10D 13-OCT-96 PAGE 147-1 17053 1733 TAD I BEG803 17054 4336 JMS BEG900 17055 1364 TAD (BUFFER-40 17056 1733 TAD I BEG803 17057 4336 JMS BEG900 17060 1364 TAD (BUFFER-40 17061 1733 TAD I BEG803 17062 4336 JMS BEG900 17063 1363 TAD (3 17064 4342 JMS BEGZER 17065 1362 TAD (LINE1 /BUFR 17066 1733 TAD I BEG803 17067 4336 JMS BEG900 17070 1362 TAD (LINE1 /LASTV 17071 1733 TAD I BEG803 17072 4336 JMS BEG900 17073 1734 TAD I BEG804 17074 4336 JMS BEG900 17075 1361 TAD (LINE0 17076 1733 TAD I BEG803 17077 4336 JMS BEG900 17100 1360 TAD (BUFCOM 17101 1733 TAD I BEG803 17102 4336 JMS BEG900 17103 4336 JMS BEG900 17104 4336 JMS BEG900 17105 7301 L0001 17106 4336 JMS BEG900 /SEE FRNDX1 17107 1357 TAD (5321 17110 4336 JMS BEG900 17111 1356 TAD (3062 17112 4336 JMS BEG900 17113 2332 ISZ BEG802 17114 2332 ISZ BEG802 17115 2332 ISZ BEG802 17116 2333 ISZ BEG803 17117 2333 ISZ BEG803 17120 2333 ISZ BEG803 17121 2334 ISZ BEG804 17122 2334 ISZ BEG804 17123 2334 ISZ BEG804 17124 2335 ISZ BEG805 17125 2330 ISZ BEGUS1 17126 5222 JMP BEG810 17127 5755 JMP I (FINISH 17130 0000 BEGUS1, 0 17131 0000 BEG801, 0 17132 0000 BEG802, 0 17133 0000 BEG803, 0 17134 0000 BEG804, 0 17135 0000 BEG805, 0 17136 0000 BEG900, 0 17137 3731 DCA I BEG801 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 147-2 17140 2331 ISZ BEG801 17141 5736 JMP I BEG900 17142 0000 BEGZER, 0 17143 7041 CIA 17144 3213 DCA BEGZCT 17145 4336 JMS BEG900 17146 2213 ISZ BEGZCT 17147 5345 JMP .-2 17150 5742 JMP I BEGZER /EDU-20 PAL8-V10D 13-OCT-96 PAGE 148 17155 7203 17156 3062 17157 5321 17160 0100 17161 0162 17162 0164 17163 0003 17164 0000 17165 0040 17166 0005 17167 5776 17170 0010 17171 0462 17172 0004 17173 7000 17174 7402 17175 7401 17176 7400 17177 2000 7200 *7200 /STAY OUT OF HIS BUFFER AND TEXT AREA /AS WELL AS THE MONITOR (OR WE WONT GET LOADED) /ALSO ON THIS PAGE = KL8LOD 17200 0000 FINCNT, 0 17201 7225 FIN001, FIN002+1 17202 0000 KLTOP2, 0 17203 1624 FINISH, TAD I FIN002 /FIND TOP OF USER SWAP AREAS 17204 3224 DCA FIN002 /SAVE IT 17205 1202 TAD KLTOP2 /EFFECTIVE TOP OF THIS FIELD 17206 7041 CIA 17207 1201 TAD FIN001 17210 3200 DCA FINCNT /HOW MANY WORDS TO CLEAR ABOVE US 17211 3601 FINLP1, DCA I FIN001 17212 2201 ISZ FIN001 17213 7000 NOP 17214 2200 ISZ FINCNT 17215 5211 JMP FINLP1 17216 3624 FINLP2, DCA I FIN002 17217 2224 ISZ FIN002 /LOOP TO TOP OF CORE 17220 5216 JMP FINLP2 /DCA WILL GET WIPED, AND KLFIX WILL BE SAFE 17221 6203 CIF CDF 17222 5623 JMP I .+1 17223 0354 ENTRY 17224 7131 FIN002, BEG801 7400 PAGE 7400 BEGLST=. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ /EDU-20 PAL8-V10D 13-OCT-96 PAGE 149 AAACDF 1312 BEGINP 3466 BEG009 2400 BEG753 4511 AADR 0136 BEGIN1 2140 BEG01Q 2327 BEG754 4512 ABS 2372 BEGIN2 2141 BEG010 2076 BEG755 4472 ACEXP 0067 BEGIOT 7001 BEG011 3257 BEG756 4476 ACN 0422 BEGKL1 3644 BEG012 2136 BEG76X 4600 ACSIGN 0066 BEGKL2 3645 BEG013 2137 BEG760 4517 AC1 0072 BEGKL3 3647 BEG014 2233 BEG80X 4613 AC2 0071 BEGKL4 3650 BEG015 2200 BEG800 7010 AC3 0070 BEGKL5 3651 BEG016 2406 BEG801 7131 ADD 0023 BEGKL6 3652 BEG03X 2450 BEG802 7132 ADRLST 0141 BEGLST 7400 BEG10R 2347 BEG803 7133 AECALL 3171 BEGME 2501 BEG11A 3261 BEG804 7134 AFUN16 3173 BEGMFL 2717 BEG11B 3300 BEG805 7135 ALGNLP 0471 BEGMQ 3044 BEG12A 2135 BEG810 7022 ALINE0 0057 BEGMV1 2142 BEG14A 2114 BEG900 7136 ALPTST 4225 BEGMV2 2143 BEG14B 2111 BGLD1 5674 ALT 2146 BEGMV3 2144 BEG15A 2210 BGL11 5400 AL1 0647 BEGMV4 2003 BEG15B 2232 BGL12 5401 AL1PNT 1431 BEGMXX 2723 BEG15C 2231 BGL13 5403 AMULT 0157 BEGMX1 2731 BEG15D 2216 BGL14 5406 ANYINP 0661 BEGM1 2513 BEG15F 3216 BGL15 5412 AOADD 0161 BEGM10 3134 BEG15G 3224 BGL16 5417 APGETC 0135 BEGM2 2527 BEG15H 3200 BGL17 5425 AQCT1 6775 BEGM4 2637 BEG15I 3200 BGL18 5434 AREADY 0102 BEGM5 2655 BEG15K 3205 BGL21 5445 ARET 0137 BEGM5A 2662 BEG500 3403 BGL22 5444 ARGNXT 2736 BEGM6 3002 BEG540 3600 BGL23 5446 AR1 0400 BEGM6A 3070 BEG550 3655 BGL24 5451 ASORT 0160 BEGM7 2672 BEG551 3665 BGL25 5455 ASORTC 0137 BEGM7A 2676 BEG552 3720 BGL26 5462 ATN 7401 BEGM8 3110 BEG553 3727 BGL27 5470 ATNBIG 7465 BEGM9 3114 BEG60X 4506 BGL28 5477 ATNLOW 7420 BEGOLD 5200 BEG600 4000 BGL31 5445 ATNNOT 7437 BEGOL1 5214 BEG601 4113 BGL32 5510 ATNSGN 7400 BEGOS8 6436 BEG602 4114 BGL33 5507 AUDF 0152 BEGPRN 4301 BEG604 0021 BGL34 5512 AUSER 5363 BEGPR1 4311 BEG605 0001 BGL35 5516 AXFREE 1334 BEGRE 3463 BEG607 4127 BGL36 5523 AXIN 0016 BEGR2 3545 BEG608 4106 BGL37 5531 AXOUT 0017 BEGTTI 2765 BEG609 4115 BGL38 5540 AXUDF 2145 BEGUSR 0005 BEG610 4011 BGL41 5445 A0000 1303 BEGUS1 7130 BEG7X1 4210 BGL42 5510 BCKWDS 0505 BEGXR1 0010 BEG700 4200 BGL43 5551 BEGCHK 2302 BEGXR2 0011 BEG701 4224 BGL44 5550 BEGCK0 3311 BEGXXX 3435 BEG702 4240 BGL45 5554 BEGCOR 0022 BEGX08 2270 BEG703 4246 BGL46 5561 BEGDEV 0007 BEGZCT 7013 BEG704 4260 BGL47 5567 BEGER0 3400 BEGZER 7142 BEG705 4335 BGL48 5576 BEGER1 3542 BEG001 2414 BEG706 4333 BGL51 5445 BEGER2 3537 BEG002 2026 BEG707 4334 BGL52 5510 BEGFLD 3413 BEG003 2432 BEG75Q 4423 BGL53 5551 BEGHSP 2627 BEG004 2500 BEG75X 4454 BGL54 5607 BEGHSR 2611 BEG005 2411 BEG750 4400 BGL55 5606 BEGHSS 2600 BEG006 2053 BEG751 4507 BGL56 5613 BEGIN 2000 BEG008 2123 BEG752 4510 BGL57 5621 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 149-1 BGL58 5630 CORPT2 0004 ENDFND 4153 ERR350 3310 BGL61 5445 COS 7057 ENDFUN 5034 ERR370 6340 BGL62 5510 COTPAC 2371 ENDF1 5040 ERR380 2537 BGL63 5551 CPLS 3466 ENDTST 4213 ERR390 1210 BGL64 5607 CRLF 2474 ENSWAP 0065 ERR400 1237 BGL65 5641 CSORTC 4713 ENTRY 0354 ERR410 1426 BGL66 5640 CSRETN 2357 ENTRY1 0333 ERR420 1446 BGL67 5646 CTAPE 2366 ENUM 2641 ERR430 1551 BGL68 5655 CURFLD 0006 EPAR 2723 ERR440 1475 BGL71 5445 CXDELE 2365 EPAR2 2636 ERR450 1542 BGL72 5510 C10 0124 ERLINE 0062 ERR460 2400 BGL73 5551 C100 0131 ERRCHK 4362 ERR470 2407 BGL74 5607 C137 0114 ERREND 1643 ERR490 1053 BGL75 5641 C14 0116 ERRLST 1552 ERR500 1111 BGL76 5667 C16 0545 ERRNNN 7701 ERR510 1123 BGL77 5666 C177 0113 ERROR 4551 ERR520 4364 BGL78 5665 C217 5757 ERRORX 0400 ERR540 6635 BUFCOM 0100 C233 6337 ERROR1 0461 ERR550 6006 BUFFER 0040 C3 0133 ERROR2 0436 ERR560 5734 BUFR 0054 C37 3115 ERROR3 0461 ETERM 2661 BYE 1600 C4 0132 ERR000 4365 ETERMN 2656 CALLF1 4574 C40 0121 ERR001 2204 ETERM1 2623 CAT 6103 C44 3667 ERR002 1601 ETERM2 2667 CCAT1 6130 C50 2466 ERR003 7666 EVAL 2612 CCAT2 6144 C60 0202 ERR004 0616 EVAL1 2753 CCAT3 6140 C7 0112 ERR010 7317 EVAL2 2754 CCIF 1374 C7600 0201 ERR020 7007 EVAL3 2766 CCR 0111 C77 0122 ERR030 0663 EVAR 2744 CCRTST 4206 C7700 0127 ERR040 0352 EXIT 5314 CDI0 0032 DATAPC 0037 ERR050 0644 EXPLNG 5130 CHAR 0026 DECEXP 6725 ERR060 3625 FADD 1000 CINPAC 2370 DECK 0036 ERR070 0740 FADDR 0301 CITPRN 2367 DECKON 0305 ERR080 3447 FATNAX 7136 CLF 0117 DECODE 0505 ERR100 4475 FATNC 1612 CNOP 2305 DECON 6322 ERR110 2757 FATNCJ 7472 CNTR 0077 DECONV 6301 ERR120 2660 FATNC1 7475 COMBUF 0060 DECON1 0146 ERR130 4456 FATNC2 7500 COMGOL 1027 DECON2 6331 ERR150 6231 FATNC3 7503 COMGO1 1542 DELET 2235 ERR160 6334 FATNC4 7506 COMLP1 2011 DFIND 0353 ERR170 3051 FATNC5 7511 COMLP2 2100 DINPUT 0033 ERR180 3074 FATNC6 7514 COMMAN 4563 DISKM 6530 ERR200 3132 FATNC7 7517 COMPOP 2133 DISKMM 6430 ERR210 4772 FATNC8 7522 COMTST 4200 DIVLP 0677 ERR220 4401 FATNC9 7525 COM11 2072 DN 3511 ERR230 4542 FATNT 7141 COM13 2130 DNUMBR 6300 ERR240 4666 FATNTT 7255 COM3 2032 DTCA 6762 ERR250 4677 FCMP 6000 COM4 2043 DTSF 6771 ERR260 7650 FCN 4357 COM5 2030 DTXA 6764 ERR270 1261 FDIV 4000 COM7 2070 ECALL 2600 ERR280 5566 FEXP 7200 COM8 2046 ECALLI 4527 ERR290 4256 FEXPC1 7260 CONFIG 0000 EDIT 2200 ERR300 4277 FEXPC2 7263 CONLEN 0022 EFOP 0077 ERR320 2453 FEXPC3 7266 CORDON 2067 ELPAR 2634 ERR330 6546 FEXPC4 7271 CORPTR 0002 END 1607 ERR340 3225 FEXPC5 7274 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 149-2 FEXPC6 7277 FLTXR2 0014 FSINXX 7101 GS1 4437 FEXPF 7141 FLZERO 7300 FSINZ 7136 GS2 4465 FEXPU 7136 FMUL 3000 FSINZZ 7141 GS4 4462 FEXP1 7255 FNOR 6010 FSKP 6000 GS5 4615 FEXT 0000 FNORM 0600 FSLE 6150 GS5I 4524 FFIX 4350 FOGO1 6414 FSLT 6110 GTEM 0020 FFLAG 0026 FOGO2 6423 FSNE 6040 HIGHWD 0344 FGET 0000 FOGO3 6452 FSUB 2000 IDNE 2502 FGOTO 0270 FOGO4 6502 FUNCT 4620 IECALL 5004 FIGO1 6217 FOGO5 6506 FUNCTI 4526 IERROR 3552 FIGO2 6255 FOGO6 6511 FUNCT3 5017 IERRO1 3535 FIGO3 6270 FOGO7 6522 FUNCT4 4675 IERRO2 3540 FIGO4 6266 FOGO8 6532 FUNCT5 4661 IF 1177 FINCNT 7200 FOR 1416 FUNCT6 3000 IFSTR 1336 FIND 4564 FOREXT 2470 FUNC10 3017 IFSTR1 1346 FINDLN 4566 FOR1 1561 FUNC11 3046 IF1 1376 FINISH 7203 FOR2 1546 FUNC12 3145 IF2 1265 FINLP1 7211 FOR3 1466 FUNC13 3124 IF3 1217 FINLP2 7216 FOR4 1472 FUNC14 3104 IF4 7736 FINT 4407 FOR5 1562 FUNC16 4766 IF5 3743 FIN001 7201 FOURTY 0000 FUNC17 3170 IF6 1253 FIN002 7224 FPADD 0165 FUNC6I 5015 IF7 1252 FIX 6735 FPCMP 0306 FUNL1 7530 INPACK 1145 FIXCON 6765 FPDIV 0662 FUNL2 1441 INPUT 0775 FIXEXT 0750 FPENT 5546 FUNL3 1522 INPUTX 7720 FIXLUP 0734 FPGET 0331 FUNL3I 5016 INPUT1 1130 FIXTMP 6764 FPJMP 0302 FUPARR 5065 INPUT2 1007 FIXUP 1643 FPMUL 0531 FUPAR1 6562 INREAD 1020 FIXUP1 1652 FPNT 0200 FUPAR2 5144 INREA1 1052 FIXUP2 1663 FPNT1 0224 FUPAR3 5141 INREA2 1110 FIXUP3 1701 FPNT2 0235 FXIT 0000 INREA3 1060 FIXUP4 1650 FPNT3 0265 FXR2 0017 INREA4 1050 FIXUP5 1734 FPNT4 0356 F0RET 0140 INT 4336 FIXUP7 1704 FPPUT 0322 F1CALL 5410 INTCNT 6365 FIXUP8 1707 FPSUB 0162 F1CAL1 0120 INTEGE 0110 FJMP 5000 FPUT 7000 F1RET 0130 INTRPL 5170 FJUMP 0271 FP11 6206 F200 1765 INTRPP 5352 FLARG 6726 FREEC 5554 F37 4664 INTRPT 5203 FLARGP 0107 FREESV 5361 F72 7303 INTRP1 5252 FLGET 4546 FREEWT 5560 GETC 4535 INTRP2 5266 FLIN 6200 FREE13 4567 GETLIM 2333 INTRP3 5300 FLINTP 0104 FREE2 4570 GETLIN 2314 INTRP4 5302 FLOAT 5741 FRNDX 0063 GETLN 4557 INTRP5 5312 FLOGC1 7353 FRNDX1 2561 GETNXT 4565 INTRRV 1311 FLOGC2 7356 FSEQ 6050 GETSGN 1507 INTRV2 1320 FLOGC3 7361 FSGE 6100 GETSTR 5730 INTR8A 1307 FLOGC4 7364 FSGT 6140 GETVAR 4400 INTR8E 5200 FLOOP 0203 FSIN 7062 GFND1 4576 INTR8F 1310 FLOP 2707 FSINC1 7144 GFND2 4611 INTR8T 1347 FLOTRX 2545 FSINC3 7147 GOSUB 4254 INTR80 1353 FLOUT 6400 FSINC4 7152 GOSUB1 2461 INTR81 1354 FLOUTP 0103 FSINC5 7155 GOSUB2 2536 INTR82 1373 FLPUT 4547 FSINC6 7160 GOSUB3 4257 INTR88 1340 FLTONE 4354 FSINC7 7163 GOTO 1257 INTR89 1341 FLTXR 0013 FSINOK 7120 GPUT1 4507 IPTRI 0044 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 149-3 IPTRO 0045 LIST11 1254 LXOUTL 1277 MULT10 0752 IPTR0 0046 LIST12 1260 L0001 7301 MUSER 5362 ITPRNT 0231 LIST13 1263 L0002 7326 M10 0123 KEX 0664 LIST14 1266 L200 7373 M100 0127 KEY 0600 LIST15 1272 L2000 7332 M1000 6324 KEYMSK 0606 LIST16 1276 L3777 7350 M12 0120 KEY3 0711 LIST17 1302 L4000 7330 M137 2151 KEY4 0716 LIST7 1046 L5777 7352 M140 0614 KEY5 0701 LIST70 1051 L7775 7346 M4 0130 KEY6 0707 LIST71 1055 L7776 7344 M40 0125 KEY7 0620 LIST72 1061 L7777 7340 M6 0126 KKEY 7654 LIST73 1067 MANCOM 2005 NEXERR 1563 KLSCH 0024 LIST74 1073 MDOLR 4525 NEXT 2374 KLTOP 0023 LIST75 1100 MEQL 1540 NEXT1 2442 KLTOP2 7202 LIST76 1105 MGET 5760 NEXT2 2463 KL8FIX 7756 LIST77 1111 MGET1 5765 NEXT3 2417 KL8FRS 3646 LIST78 1115 MGET2 5775 NFIX 0730 KL8INT 7766 LIST79 1121 MID 6000 NOBUMP 0623 KL8JMP 5343 LIST80 1125 MIDCHK 6067 NONP 5247 KL8JM0 0207 LIST81 1132 MIDC1 6101 NOTBIG 0611 KL8LFL 5346 LIST82 1136 MIDC2 6102 NULL 0177 KL8LF0 0213 LIST83 1141 MID1 6035 NUMBUF 6726 KL8LOD 7356 LIST84 1146 MID2 6050 NUNUM 0004 KM5 3172 LIST85 1153 MID3 6063 NXEX 4122 K2000 3174 LIST86 1157 MINS 6125 NXTGET 4077 LAL1 7344 LIST87 1163 MINT 6115 NXUSR 4032 LASTLN 0031 LIST88 1167 MKRB 6116 OACEXP 0054 LASTOP 0101 LIST89 1173 MKSF 6111 OACN 0415 LASTV 0055 LIST90 1177 MLOOKE 0230 OACSGN 0053 LBLK 0021 LIST91 1203 MMLOOK 7632 OAC1 0057 LEN 6600 LIST92 1206 MNSONE 5062 OAC2 0056 LENDON 6623 LIST93 1211 MOD 5414 OAC3 0055 LENXT 6606 LIST94 1215 MODE 0031 OADD 0442 LET 1417 LIST95 1221 MODF1 2213 OADDP 1432 LET1 1541 LIST96 1225 MODF2 2207 OCNTR 0047 LET2 1427 LIST97 1233 MODF3 2211 OCTADD 0460 LFUNL2 4674 LIST98 1240 MODF4 2223 ODECXP 0060 LFXUP 7340 LIST99 1244 MODF5 2231 OERROR 4027 LHIGH 7301 LKLOOP 7614 MODL1 1427 OFLOOP 0052 LIMGT1 2341 LLIST3 2266 MODL2 1377 OFNORM 0037 LIMGT2 2363 LLIST4 2301 MOD1 5424 OLNUM 0003 LIMGT3 2351 LLIST5 2256 MONDSK 6200 OM10 0046 LIMGT4 2356 LLIST6 2306 MONTAP 6222 OM4 0045 LIMIT 7776 LLOOKU 4673 MPUT 6156 ON 4267 LINCT 6734 LMULT 7346 MPUT1 6164 ON1 4307 LINENO 0030 LNFIX 7200 MPYLUP 0552 ON2 4333 LINEPC 0027 LOG 7314 MSPLAT 4130 OOCTAD 0050 LINE0 0162 LOGEXP 7370 MTCF 6122 OPEXP 0021 LINE1 0164 LOGFWD 7367 MTKF 6123 OPNEXT 2644 LINPUT 6630 LOGOKW 7372 MTLS 6126 OPSIGN 0020 LINXT 6665 LOOK 0105 MTON 6117 OPTABL 4171 LINXT2 6676 LOOKST 0106 MTPF 6113 OPTRI 0047 LIST 2246 LOOKUP 4435 MTSF 6121 OPTRO 0050 LISTN 7707 LPRTST 3756 MULCLR 0571 OPT1 5601 LIST10 1250 LSTMOD 0115 MULTMP 0051 OP1 0024 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 149-4 OP2 0023 PLOOKS 7776 QCON1 5724 SQCNT 7037 OP3 0022 PL200 7171 QCON2 5725 SQEXIT 7035 ORG 2000 POPA 4543 QCOUNT 5607 SQLOOP 7022 OSDDSK 6266 POPF 4545 QCT1 5603 SQR 7000 OSDDTA 6310 POPJ 5544 QDONE 5675 SRETN 0511 OSDRK8 6244 PRINT 5471 QDONE1 5714 SRTCNS 5357 OS8AB 6505 PRINTC 4534 QDONE2 5701 SS 0021 OS8DSK 6463 PRINTX 4550 QERR 5604 START 0473 OS8DTA 6464 PRINT1 3210 QINP 5616 STARTP 0371 OS8ERM 6332 PRINT2 3311 QINPAC 5605 STARTV 0054 OS8ERR 6453 PRINT3 3321 QLINP 5617 STMV 1000 OS8KSK 6457 PRINT4 3213 QLIS1 0173 STSWAP 0015 OS8LP1 6472 PRINT5 3327 QLIS2 0167 STSWM1 0116 OS8LST 6513 PRINT6 3200 QMDOT 5600 SUBS 0024 OS8MSG 6363 PRINT8 3202 QNEXTC 5644 SUBT 4530 OS8M1 6376 PRINT9 3271 QOPNEX 5727 SUB1 4542 OS8M2 6401 PRIN10 3302 QSLIS 5643 SUB2 4574 OS8PTR 6511 PRIN11 3250 QUOCHK 5661 SWAP 0010 OS8PT2 6512 PRIN12 7551 QUOCNT 5606 SWAPR 0051 OS8RK8 6465 PRNTC1 0061 QUOTES 5610 TAN 7040 OTPACK 1156 PRNTEX 5436 QUOTE1 5640 TAPE 7653 OUTPUT 0034 PRNTLL 6547 RANDOM 6357 TAPEM 6520 OVER 0025 PRNTL1 7307 RCHK 7601 TAPMM 6433 O1600 0044 PRNTL2 1417 RDY1 2165 TCOMGO 7752 O177 0042 PRNTL4 7306 READ 1114 TDIF1 7745 O200 0041 PRNTL6 1411 READC 4571 TDIF2 7746 O377 0043 PRNTL7 7311 READY 0462 TELSW 0051 O7 0040 PRNTL8 1424 READY1 2152 TEMP 6731 PACKC 4556 PRNTX1 5452 READ1 1116 TEMP1 0005 PACKND 0053 PRNTX2 5512 RESTOR 5565 TEMP2 0006 PACKST 0052 PRNT1 0240 RESTR 1350 TEN 7753 PAKLIN 1167 PRNT2 0260 RETURN 2451 TERMS 1401 PARTS 7640 PRNT3 0300 RND 1777 TESTC 4555 PARTST 7640 PRNT4 0262 RNDM40 1520 TESTN 4554 PARTS1 4557 PRNT5 0277 RND1 1461 TEXTP 0017 PAUSER 1346 PRNT6 0275 RTL6 4553 TFLOTR 7751 PC 0022 PRNT7 0263 RUN 2473 THISOP 0100 PCHK 1737 PRUNIN 1264 RUN4 2555 TH13 4040 PDECKO 1333 PSAVAC 7775 RUN6 2506 TH60 4037 PDLST 0056 PSAVLK 7774 RUN7 2504 TLIST 7750 PDLXR 0015 PST2 1345 RUN8 2514 TOP 7776 PERR 1670 PT1 0025 RUN9 2541 TRUN9 7744 PERROR 3551 PUNCH 7606 SAVAC 5353 TSTALP 4562 PERRR 1577 PUNCHK 5241 SAVLK 5354 TSTART 7747 PFRND 1516 PUSHA 4540 SC2SV 5351 TSTCCR 4560 PFRND1 1521 PUSHF 4542 SET 1351 TSTCOM 4561 PFRNX 1517 PUSHJ 4541 SETSGN 0515 TSTEND 4572 PGS4 4672 PXDELE 0562 SGN 5047 TSTLPR 4573 PIERRO 0676 P140 0700 SIN 0004 TTCHAR 2464 PIF1 5423 P20 0677 SORTC 4537 TTY 1300 PIF5 1276 P37 4423 SORTCN 0073 TTY2 1324 PINPUT 0561 P70 1352 SORTCS 5364 TTY3 1305 PITPRN 0506 P7600 6600 SORTJ 4536 T1 0074 PKEYMK 5342 QCOM 5726 SPACSW 0032 T2 0075 PLOOK 7777 QCOMCK 5671 SPL 6102 T3 0076 /EDU-20 PAL8-V10D 13-OCT-96 PAGE 149-5 T3SV 5355 XGETC 4041 ZFIXEX 0743 UDF 4552 XGETLN 6335 ZFPNT 5400 UDFSV 5360 XGETL1 2142 UNDERF 0635 XGETL2 1406 UNKWN 1564 XGET1 4054 USER 0003 XGET2 4045 USER0 0765 XGET3 4066 USER1 0766 XGET4 4072 USER2 0767 XGET5 4075 USER3 0770 XGET6 4073 USER4 0771 XIOT 0035 USER5 0772 XOR 6552 USER6 0773 XOUTL 3340 USER7 0774 XOUTL1 3361 USRCTR 0020 XOUTL2 3400 USRLST 5000 XOUTL3 3365 USRPTR 0001 XOUTL4 3464 USRPT2 0003 XOUTL5 3444 VARSET 0555 XOUTL6 3435 VDECKO 0675 XPACKC 3600 VFCN 5056 XPACK1 3632 VFLOP 5143 XPACK2 3627 VFLTON 5060 XPACK3 3630 VFUPAR 5061 XPACK4 3611 VIF1 1335 XPACK5 3626 VLIN0 1144 XPACK7 3637 VMEQL 4765 XPACK8 3645 VPDLXR 0111 XPACK9 3641 VTEMP 5057 XPAKL1 6770 WNGDM 3014 XPAKL2 1434 X 0100 XPOPA 3751 XAUSER 3443 XPOPF 4003 XCT 0021 XPOPJ 2454 XCTIN 0024 XPPCK1 3670 XDELET 1614 XPRDY1 3665 XDEL2 1671 XPRNTC 4144 XDEL3 1652 XPUSHA 1717 XERR 0027 XPUSHF 1751 XERROR 3532 XPUSHJ 1732 XFIELD 0036 XP37 3666 XFIND 4125 XREADC 3717 XFINDL 3467 XREAD1 3771 XFIND1 4131 XREG 0010 XFIND2 4142 XREG2 0011 XFLGET 5145 XREG3 0012 XFLGT2 5152 XREG3S 5356 XFLPT1 0745 XRTL6 7633 XFLPT2 0747 XR20 3770 XFLPUT 0742 XSORTC 4704 XFNDL1 3477 XSORTJ 4735 XFNDL2 3520 XSORT1 4762 XFNDL3 3526 XSORT3 4730 XFREE 5514 XTESTC 4237 XFREE2 5543 XTESTN 4017 XFREE3 5552 XUDF 7166 ERRORS DETECTED: 0 LINKS GENERATED: 0