0001 HED ** MONITOR/BASIC LINKAGE AREA ** 0002 00100 ORG 100B 0003 SPC 10 0004* 0005* TIME-SHARE BASIC COMPILER 0006* 0007* KILE B. BAKER 0008* JOHN S. SHEMA 0009* 0010* DATA RECORDING CENTER 0011* 0012* MONTANA STATE UNIVERSITY 0013* 0014* 16K SYSTEM 0015* 0016* 0017 SKP 0018* 0019*** BASE PAGE LINKAGE AREA 0020* 0021 00002 ORG 2B 0022 00002 124003 JMP 3B,I ADDRESS IS SET BY PREPARE BASIC 0023 00060 ORG 60B 0024 00000 A EQU 0 0025 00001 B EQU 1 0026* 0027*** THESE LOCATIONS ARE SET BY PREPARE BASIC 0028* 0029 00060 .CARD BSS 1 0030 00061 002147 ?PTAP DEF PTAPE LINK TO PHOTOREADER INPUT 0031 00062 .HSPR BSS 1 PHOTOREADER LINK 0032 00063 000000 USN NOP ACTIVATED USER NUMBER 0033 00064 000111 ASTK DEF ACTIV LINK TO ACTIVE STACK 0034* 0035*** EXECUTION FLAGS 0036* 0037 00065 000000 EXU1 NOP 0038 00066 000000 EXU2 NOP 0039 00067 000000 EXU3 NOP 0040 00070 000000 EXU4 NOP 0041* 0042*** USER STACK ADDRESSES 0043* 0044 00071 BSK1 BSS 1 0045 00072 BSK2 BSS 1 0046 00073 BSK3 BSS 1 0047 00074 BSK4 BSS 1 0048* 0049 00100 ORR 0050 00100 002012 START DEF FLUSH START OF BASIC 0051 00101 ?OFF BSS 1 LINK TO LOG-OFF SUBROUTINE 0052 00102 ?MESG BSS 1 LINK TO MESSAGE EXECUTION 0053 00103 MONIT BSS 1 PRIMARY ENTRY POINT TO MONITOR 0054 00104 SEXU BSS 1 SET EXECITION FLAG LINK TO MONITOR 0055 00105 IMON BSS 1 LINK TO TURN ON INT 0056 00106 IMOFF BSS 1 LINK TO TURN OFF INT. 0057 00107 006055 XECUT DEF XEC4. EXECUTION RETURN 0058 00110 002163 I.STP DEF STOP LINK TO STOP ROUTINE 0059* 0060*** ACTIVE STACK LOCATION 0061* 0062 00111 ACTIV EQU * 0063 00111 TAPE! BSS 1 TAPE INPUT LINK 0064 00112 WRITE BSS 1 TTY OUTPUT LINK 0065 00113 REED BSS 1 TTY INPUT LINK 0066 00114 FWAM BSS 1 FIRST WORD AVAIL MEM 0067 00115 LWAM BSS 1 LAST WORD AVAIL MEM 0068 00116 .BUFA BSS 1 I/O BUFFER ADDRESS 0069 00117 SYMTA BSS 1 SYMBOL TABLE END 0070 00120 SBUFA BSS 1 SYNTAX BUFFER ADDRESS 0071 00121 PBUFF BSS 1 FIRST WORD OF USER'S PROGRAM 0072 00122 PBPTR BSS 1 LAST WORD+1 OF USER'S PROG 0073 00123 BLANK BSS 1 0074 00124 .LNUM BSS 1 CURRENT LINE NUMBER 0075 00125 BADDR BSS 1 I/O BUFFER 0076 00126 CCNT BSS 1 POINTERS 0077 00127 000000 TFLAG NOP PHOTOREADER FLAG 0078 00130 000000 TTYFL NOP TAPE FLAG 0079 00131 FCORE BSS 1 START OF FREE CORE 0080 00132 SYMTF BSS 1 START OF SYMBOL TABLE 0081 00133 SBPTR BSS 1 SYNTAX BUFFER POINTER 0082 00134 LSTAK BSS 1 LOW-CORE STACK ADDRESS 0083 00135 TSTPT BSS 1 TEMPORARY STACK POINTER 0084 00136 LSTPT BSS 1 LOW-CORE STACK POINTER 0085 00137 HSTPT BSS 1 HIGH-CORE STACK POINTER 0086 00140 PRADD BSS 1 PROGRAM EXECUTION 0087 00141 NXTST BSS 1 SEQUENCING INFORMATION 0088 00142 TYPE BSS 1 CURRENT STATEMENT TYPE 0089 00143 DSTRT BSS 1 DATA 0090 00144 NXTDT BSS 1 STATEMENT 0091 00145 DCCNT BSS 1 POINTERS 0092 00146 RSYM BSS 1 0093 00147 SIGN BSS 1 0094 00150 EXP BSS 1 0095 00151 XH BSS 1 RANDOM 0096 00152 XL BSS 1 VARIABLES 0097 00153 EOL BSS 1 * 0098 00154 STK1 BSS 1 * STORAGE 0099 00155 STK2 BSS 1 * 0100 00156 STK3 BSS 1 * FOR 0101 00157 STK4 BSS 1 * 0102 00160 STK5 BSS 1 * RETURN 0103 00161 STK6 BSS 1 * 0104 00162 STK7 BSS 1 * ADDRESSES 0105 00163 STK8 BSS 1 * 0106 00164 STK9 BSS 1 * IN USER 0107 00165 STK10 BSS 1 * 0108 00166 STK11 BSS 1 * STACK 0109 00167 STK12 BSS 1 * 0110 00170 STK13 BSS 1 * AREA 0111 00171 STK14 BSS 1 * 0112 00172 STK15 BSS 1 0113 00173 STK16 BSS 1 STORAGE FOR ERROR CCNT 0114 00174 STK17 BSS 1 STOREAGE FOR ERROR BUFAD 0115 00175 STK18 BSS 1 STORAGE FOR ERROR # 0116 00176 STK19 BSS 1 RETURN ADDR FOR ERROR 0117 00177 STK20 BSS 1 0118 00200 STK21 BSS 1 0119 00201 STK22 BSS 1 0120 00202 STK23 BSS 1 0121 00203 STK24 BSS 1 0122 00204 SBOXX BSS 1 0123* 0124 00205 TEMPS BSS 12 TEMPORARIES 0125 00217 MLBX1 EQU TEMPS+10 0126 00221 B1 BSS 2 * TEMPS USED 0127 00223 B2 BSS 2 * BY MATRIX AND 0128 00225 B3 BSS 2 * LIB FUNCTIONS 0129 00227 A1 BSS 1 0130 00230 A2 BSS 1 0131 00231 C1 BSS 1 0132 00232 C2 BSS 1 0133 00233 FORM& BSS 1 0134 00234 MANT1 BSS 1 0135 00235 MANT2 BSS 1 0136 00236 EXPON BSS 1 0137 00237 DPFLG BSS 1 0138 00204 FFLAG EQU SBOXX 0139 00221 TT1 EQU B1 0140 00223 TT2 EQU B2 0141 00211 TT3 EQU TEMPS+4 0142 00212 TT4 EQU TEMPS+5 0143 00240 000205 MBUF DEF TEMPS 0144 00205 MBOX1 EQU TEMPS 0145 00160 MBIN1 EQU STK5 0146 00157 MBIN2 EQU STK4 0147 00155 MPTR EQU STK2 0148 00156 MNPTR EQU STK3 0149 00216 COML EQU TEMPS+9 0150 00217 MWDNO EQU TEMPS+10 0151 HED ** BASIC LINKAGE AND CONSTANTS ** 0152 00241 000242 RDYA DEF READY 0153 00242 051105 READY ASC 2,READ 00243 040504 0154 00244 054415 OCT 54415 0155 00245 000456 LFEED DEF LF 0156 00246 000251 QMRKA DEF QMARK 0157 00247 003657 STOPA DEF STCMD 0158 00250 002140 CMNDA DEF CMNDS 0159 00251 037421 QMARK OCT 37421 0160* 0161 00252 005146 RUNA DEF MFASE PHASE 2: BUILD SYMBOL TABLE 0162 00253 006016 FASE3 DEF XEC PHASE 3: PROGRAM EXECUTION 0163 00254 002032 PEXMA DEF PEXMK RETURN TO MONITOR FROM SYNTAX 0164 00255 002021 RDYDA DEF RDYPT RETURN TO MONITOR FROM PHASE 3 0165 00256 002113 DRQSA DEF DRQST REQUEST DATA INPUT 0166 00257 004470 LISTA DEF LIST LIST PROGRAM 0167 00260 004006 MATA DEF MAT+1 0168 00261 011445 EMATA DEF EMAT 0169 00262 004121 TSRCH DEF TBSRH SEARCH PRINT-NAME TABLE 0170 00263 004411 FNDPA DEF FNDPS 0171 00264 000642 CNSTA DEF CONST 0172 00265 000672 NUMCA DEF NUMCK 0173 00266 004247 INCHK DEF INTCK 0174 00267 001711 ENOTA DEF ENOUT 0175 00270 010014 NUMOA DEF NUMOT 0176 00271 004231 PGINT DEF PRGIN 0177 00272 004713 OUTIA DEF OUTIN 0178 00273 004753 OUTSA DEF OUTST 0179 00274 001753 OUTLA DEF OUTLN 0180 00275 001773 OUTCA DEF OUTCR 0181 00276 001662 GETCA DEF GETCR 0182 00277 001636 DIGCA DEF DIGCK 0183 00300 001651 LETCA DEF LETCK 0184 00301 007625 SSYMA DEF SSYMT 0185 00302 006075 FETCA DEF FETCH EVALUATE A FORMULA 0186 00303 005552 FORMA DEF FORMX 0187 00304 011053 .LOGA DEF .LOG 0188 00305 011162 .EXPA DEF .EXP 0189 00306 007340 .FADA DEF .FAD 0190 00307 007346 .FSBA DEF .FSB 0191 00310 007417 .FMPA DEF .FMP 0192 00311 007466 .FDVA DEF .FDV 0193 00312 001471 ARINA DEF ARINV 0194 00313 001317 MPYA DEF MPY 0195 00314 001524 FLUNA DEF .FLUN 0196 00315 001077 PACKA DEF .PACK 0197 00316 011417 FLT DEF FLOAT 0198 00317 001432 IFIXA DEF IFIX 0199 00320 006425 PRNIA DEF PRNIN 0200 00321 004306 CHRSA DEF CHRST 0201 00322 004345 ACCST DEF ACTST 0202 00323 004335 DELST DEF DLSTM 0203 00324 006141 FDAT DEF FDATA 0204 00325 012053 LCK2A DEF LCHK2 0205 00326 006054 XEC4A DEF XEC4 0206 00327 003250 FSC1A DEF FSC14 0207 00330 005557 FOR1A DEF FORM1 0208 00331 005622 FOR0A DEF FORM0 0209 00332 005627 FOR0B DEF FOR11 0210 00333 005636 FOR1B DEF FOR10 0211 00334 005724 FR12A ABS FOR12 0212 00335 014544 EOF JSB ERROR 0213 00336 014544 NOEOF JSB ERROR 0214 00337 001573 E8M1A DEF E8-1 0215 00340 002345 ESYN3 DEF SYNE3-1 0216 00341 003332 FSCEF DEF FSCE4 0217 00342 006752 E6M1A DEF E6-1 0218 00343 007705 ERBS DEF ERR-1 0219 00344 000100 RECER DEF RCERR-ERR 0220 00345 002242 FOPBS DEF QUOTE-2 0221 00346 102766 STBAS DEF SYNTB-26,I 0222 00347 105737 XECBR DEF XECTB-26,I 0223 00350 106650 ARBAS DEF AROTB-6,I 0224 00351 011771 PDFBS DEF PDFT-1 0225 00352 003656 TBLAD DEF SYCMD 0226 00353 003712 STTYP DEF LET 0227 00354 003765 MATIO DEF READ 0228 00355 004023 MCBOP DEF AND 0229 00356 004041 PDFNS DEF SIN 0230 00357 004102 MATFN DEF ZER 0231 00360 003741 ANEXT DEF NEXT 0232 00361 003762 ADATA DEF DATA 0233 00362 004010 ATHEN DEF THEN 0234 00363 004013 ATO DEF TO 0235 00364 004015 ASTEP DEF STEP 0236 00365 004020 ANOT DEF NOT 0237 00366 004036 ATAB DEF TAB 0238 00367 000217 MBXL DEF MLBX1 0239 00370 000001 .1 DEC 1 0240 00371 000002 .2 DEC 2 0241 00372 000003 .3 DEC 3 0242 00373 000004 .4 DEC 4 0243 00374 000006 .6 DEC 6 0244 00375 000007 .7 DEC 7 0245 00376 000010 .8 DEC 8 0246 00377 000011 .9 DEC 9 0247 00400 000012 .10 DEC 10 0248 00401 000014 .12 DEC 12 0249 00402 000017 .15 DEC 15 0250 00403 000027 .23 DEC 23 0251 00404 000032 .26 DEC 26 0252 00405 000033 .27 DEC 27 0253 00406 000034 .28 DEC 28 0254 00407 000036 .30 DEC 30 0255 00410 000037 .31 DEC 31 0256 00411 000040 .32 DEC 32 0257 00412 000041 .33 DEC 33 0258 00413 000042 .34 DEC 34 0259 00414 000043 .35 DEC 35 0260 00415 000044 .36 DEC 36 0261 00416 000045 .37 DEC 37 0262 00417 000050 .40 DEC 40 0263 00420 000051 .41 DEC 41 0264 00421 000053 .43 DEC 43 0265 00422 000055 .45 DEC 45 0266 00423 000056 .46 DEC 46 0267 00424 000057 .47 DEC 47 0268 00425 000060 .48 DEC 48 0269 00426 000061 .49 DEC 49 0270 00427 000072 .58 DEC 58 0271 00430 000077 .63 DEC 63 0272 00431 000100 B100 OCT 100 0273 00432 000105 E OCT 105 0274 00433 000106 F OCT 106 0275 00434 000110 .72 DEC 72 0276 00435 000112 .74 DEC 74 0277 00436 000113 .75 DEC 75 0278 00437 000116 N OCT 116 0279 00440 000122 R OCT 122 0280 00441 000123 S OCT 123 0281 00442 000133 B133 OCT 133 0282 00443 000177 B177 OCT 177 0283 00444 000200 B200 OCT 200 0284 00445 000377 MSK0 OCT 377 0285 00446 000400 B400 OCT 400 0286 00447 000776 B776 OCT 776 0287 00450 000777 MSK1 OCT 777 0288 00451 001000 B1000 OCT 1000 0289 00452 002000 B2000 OCT 2000 0290 00453 003000 B3000 OCT 3000 0291 00454 003002 SCCNT OCT 3002 0292 00455 004000 B4000 OCT 4000 0293 00456 005000 LF OCT 5000 0294 00457 014000 B1400 OCT 14000 0295 00460 021000 UNMNC OCT 21000 0296 00461 022000 B2200 OCT 22000 0297 00462 023000 B2300 OCT 23000 0298 00463 035000 DEFOP OCT 35000 0299 00464 036000 REMOP OCT 36000 0300 00465 052000 RDOP OCT 52000 0301 00466 063146 TENTH OCT 63146 0302 00467 077000 OPMSK OCT 77000 0303 00470 077600 MSK4 OCT 77600 0304 00471 077777 INF OCT 77777 0305 00472 100017 TYPFL OCT 100017 0306 00473 100037 TABCN OCT 100037 0307 00474 100777 OPDMK OCT 100777 0308 00475 140000 UNNRM OCT 140000 0309 00476 174000 HIMSK OCT 174000 0310 00477 177777 M1 DEC -1 0311 00500 177776 M2 DEC -2 0312 00501 177775 M3 DEC -3 0313 00502 177774 M4 DEC -4 0314 00503 177773 M5 DEC -5 0315 00504 177772 M6 DEC -6 0316 00505 177771 M7 DEC -7 0317 00506 177770 M8 DEC -8 0318 00507 177767 M9 DEC -9 0319 00510 177766 M10 DEC -10 0320 00511 177765 M11 DEC -11 0321 00512 177761 M15 DEC -15 0322 00513 177760 M16 DEC -16 0323 00514 177755 M19 DEC -19 0324 00515 177753 M21 DEC -21 0325 00516 177747 M25 DEC -25 0326 00517 177740 M32 DEC -32 0327 00520 177725 D53 OCT -53 0328 00521 177706 D72 OCT -72 0329 00522 177700 D100 OCT -100 0330 00523 177670 M72 DEC -72 0331 00524 177667 M73 DEC -73 0332 00525 177664 M76 DEC -76 0333 00526 177645 D133 OCT -133 0334 00527 177400 M256 DEC -256 0335 00530 177312 M310 DEC -310 0336 00531 176030 M1000 DEC -1000 0337 00532 154360 MAXSN DEC -10000 0338 00505 MSK3 EQU M7 0339 00533 043116 FN ASC 1,FN 0340 00534 040000 HALF OCT 40000 0341 00535 000000 NOP 0342 00534 HONE EQU HALF 0343 00536 100000 MNEG OCT 100000 MAXIMUM NEGATIVE FLOATING 0344 00537 000376 OCT 376 POINT NUMBER 0345 00536 FLGBT EQU MNEG 0346 00540 102756 MAXFX DEC -999999.5 00541 002050 0347 00542 114631 MINFX DEC -0.099999959 00543 116373 0348 00427 COLON EQU .58 0349 00206 TEMP EQU TEMPS+1 0350 00207 TEMP1 EQU TEMPS+2 0351 00210 TEMP2 EQU TEMPS+3 0352 00211 TEMP3 EQU TEMPS+4 0353 00212 TEMP4 EQU TEMPS+5 0354 00213 COUNT EQU TEMPS+6 0355 00211 STEMP EQU TEMPS+4 0356 00226 ARYAD EQU B3+1 0357 00172 LFLAG EQU STK15 0358 00177 DIGCT EQU STK20 0359 00200 DIVSR EQU STK21 0360 00201 LDZRO EQU STK22 0361 00202 MIND EQU STK23 0362 HED ** BASE PAGE SUBROUTINES ** 0363* 0364*** EMIT ERROR MESSAGE 0365* 0366 00544 000000 ERROR NOP 0367 00545 060544 LDA ERROR SAVE ERROR RETURN 0368 00546 070176 STA STK19 STORE RETURN ADDRESS 0369 00547 060126 LDA CCNT SAVE CHAR-OUT COUNT 0370 00550 070173 STA STK16 SAVE COUNT 0371 00551 060125 LDA BADDR SAVE I/O BUFFER 0372 00552 070174 STA STK17 SAVE ADDRESS 0373* 0374 00553 002400 CLA SET EXU FLAG TO I/O 0375 00554 114104 JSB SEXU,I TO "IN I/O" 0376 00555 070130 STA TTYFL TAPE FLAG TO ZERO 0377 00556 070126 STA CCNT CHARS-OUT COUNT TO ZERO 0378 00557 114112 JSB WRITE,I OUTPUT CR-LF 0379 00560 064414 LDB .35 0380 00561 044116 ADB .BUFA COMPUTE BUFF ADR-1 0381 00562 074125 STB BADDR STORE AS POINTER 0382* 0383 00563 060432 LDA E LOAD ASCII "E" 0384 00564 015773 JSB OUTCR PUT IT IN BUFFER 0385 00565 060440 LDA R LOAD ASCII "R" 0386 00566 015773 JSB OUTCR PUT IT IN BUFFER 0387 00567 015773 JSB OUTCR PUT IT IN BUFFER 0388 00570 060123 LDA BLANK LOAD BLANK 0389 00571 015773 JSB OUTCR PUT IT IN BUFFER 0390* 0391 00572 064176 LDB STK19 LOAD RETURN ADDRESS 0392 00573 060343 LDA ERBS ERROR ADDRESS IN (A) 0393 00574 002004 INA MOVE TO NEXT ERROR 0394 00575 154000 CPB A,I SAME AS ACTUAL ERROR 0395 00576 003005 CMA,INA,RSS YES 0396 00577 024574 JMP *-3 NO 0397 00600 040343 ADA ERBS COMPUTE ERROR 0398 00601 070175 STA STK18 SAVE NEG. ERROR NUMBER 0399 00602 003004 CMA,INA 0400 00603 114272 JSB OUTIA,I PUT ERROR CODE IN BUFFER 0401 00604 060427 LDA COLON LOAD COLON 0402 00605 015773 JSB OUTCR PUT IT IN BUFFER 0403 00606 060124 LDA .LNUM LOAD LINE NUMBER 0404 00607 114272 JSB OUTIA,I PUT IT IN BUFFER 0405* 0406*** OUTPUT ERROR CODE ON TTY 0407* 0408 00610 060126 LDA CCNT 0409 00611 064415 LDB .36 0410 00612 044116 ADB .BUFA INDEX TO BUFF START ADR 0411 00613 114112 JSB WRITE,I OUTPUT ERR MESSAGE ON TTY 0412* 0413 00614 060175 LDA STK18 GET ERROR NUMBER 0414 00615 040344 ADA RECER RECOVERABLE ERROR? 0415 00616 002021 SSA,RSS 0416 00617 124254 JMP PEXMA,I RETURN TO SYNTAX MODE 0417 00620 002404 CLA,INA SET EXECUTION 0418 00621 114104 JSB SEXU,I FLAG TO IN EXU. 0419 00622 060173 LDA STK16 LOAD COUNT 0420 00623 064174 LDB STK17 LOAD ADDRESS 0421 00624 070126 STA CCNT CCNT AND 0422 00625 074125 STB BADDR BADDR 0423 00626 124176 JMP STK19,I RETURN 0424* 0425** 0426*** MOVE WORDS TO HIGHER CORE ** 0427** 0428 00627 000000 MVTOH NOP 0429 00630 064210 LDB TEMP2 FETCH SOURCE ADDRESS 0430 00631 054211 MVTO1 CPB TEMP3 ALL RELOCATION DONE? 0431 00632 124627 JMP MVTOH,I YES,EXIT 0432 00633 003400 CCA BACK UP 0433 00634 040212 ADA TEMP4 SOURCE AND 0434 00635 070212 STA TEMP4 DESTINATION 0435 00636 044477 ADB M1 ADDRESSES 0436 00637 160001 LDA 1,I MOVE 0437 00640 170212 STA TEMP4,I WORD 0438 00641 024631 JMP MVTO1 0439** 0440*** INPUT A CONSTANT ** 0441** 0442 00642 000000 CONST NOP 0443 00643 064642 LDB CONST 0444 00644 074161 STB STK6 0445 00645 015662 JSB GETCR 0446 00646 124161 JMP STK6,I 0447 00647 006400 CLB SET SIGN 0448 00650 074147 STB SIGN POSITIVE 0449 00651 006004 INB 0450 00652 050421 CPA .43 "+"? 0451 00653 024657 JMP CONS1 YES, IGNORE IT 0452 00654 050422 CPA .45 "-"? 0453 00655 007401 CCB,RSS YES 0454 00656 024662 JMP CONS2 NO 0455 00657 074147 CONS1 STB SIGN RECORD SIGN 0456 00660 015662 JSB GETCR FETCH NEXT 0457 00661 024670 JMP SYE12-1 CHARACTER 0458 00662 014672 CONS2 JSB NUMCK FETCH CONSTANT 0459 00663 024666 JMP CONS3 NONE FOUND 0460 00664 034161 ISZ STK6 0461 00665 124161 JMP STK6,I 0462 00666 054147 CONS3 CPB SIGN 0463 00667 003401 CCA,RSS 0464 00670 014544 JSB ERROR 0465 00671 124161 SYE12 JMP STK6,I 0466** 0467*** FETCH NUMBER AND CONVERT TO BINARY ** 0468** 0469 00672 000000 NUMCK NOP CHARACTER IN (A), SIGN SET 0470 00673 064672 LDB NUMCK 0471 00674 074162 STB STK7 0472 00675 006400 CLB 0473 00676 074150 STB EXP ZERO 0474 00677 074234 STB MANT1 ALL 0475 00700 074235 STB MANT2 COMPONENTS 0476 00701 074236 STB EXPON 0477 00702 074211 STB TEMP3 SET "NUMBER" FLAG FALSE 0478 00703 007400 CCB SET "DECIMAL POINT" 0479 00704 074237 STB DPFLG FLAG FALSE 0480 00705 050423 NUMC1 CPA .46 DECIMAL POINT? 0481 00706 034237 ISZ DPFLG YES, SET FLAG TRUE 0482 00707 024713 JMP NUMC2 NO 0483 00710 002400 CLA INITIALIZE POST-DECIMAL DIGIT 0484 00711 070236 STA EXPON DIGIT COUNTER TO ZERO 0485 00712 024732 JMP NUMC3+1 FETCH A CHARACTER 0486 00713 015636 NUMC2 JSB DIGCK DIGIT? 0487 00714 024765 JMP NUMC7 NO 0488 00715 034236 ISZ EXPON COUNT DIGIT 0489 00716 001727 ALF,ALF LEFT-JUSTIFY 0490 00717 001723 ALF,RAR DIGIT AND 0491 00720 070212 STA TEMP4 SAVE IT 0492 00721 015230 JSB MBY10 MULTIPLY PREVIOUS NUMBER BY 10 0493 00722 064150 LDB EXP 0494 00723 006002 SZB ZERO EXPONENT? 0495 00724 024736 JMP NUMC4 NO 0496 00725 060373 LDA .4 YES, SET 0497 00726 070150 STA EXP EXPONENT TO 4 0498 00727 060212 LDA TEMP4 LOAD 0499 00730 006400 CLB NUMBER 0500 00731 015174 NUMC3 JSB NORML NORMALIZE THE NUMBER 0501 00732 034211 ISZ TEMP3 YES, SET "NUMBER" FLAG TRUE 0502 00733 015662 JSB GETCR ANOTHER CHARACTER? 0503 00734 025034 JMP NUM12 NO 0504 00735 024705 JMP NUMC1 YES 0505 00736 044502 NUMC4 ADB M4 COMPUTE 0506 00737 007000 CMB EXPONENT 0507 00740 060212 LDA TEMP4 BIAS AND 0508 00741 074212 STB TEMP4 SAVE IT 0509 00742 006400 CLB 0510 00743 034212 NUMC5 ISZ TEMP4 DIGIT POSITIONED? 0511 00744 024762 JMP NUMC6 NO 0512 00745 000040 CLE YES, ADD IN 0513 00746 044235 ADB MANT2 LOW PART 0514 00747 103101 CLO OF NUMBER 0515 00750 002040 SEZ OVERFLOW? 0516 00751 002004 INA YES, BUMP (A) 0517 00752 040234 ADA MANT1 ADD IN HIGH PART OF NUMBER 0518 00753 102301 SOS OVERFLOW? 0519 00754 024731 JMP NUMC3 NO 0520 00755 000065 CLE,ERA YES, ROTATE 0521 00756 005500 ERB DOWN AND 0522 00757 034150 ISZ EXP BUMP 0523 00760 000000 NOP EXPONENT 0524 00761 024731 JMP NUMC3 0525 00762 000065 NUMC6 CLE,ERA SHIFT 0526 00763 005500 ERB DIGIT 0527 00764 024743 JMP NUMC5 RIGHT 0528 00765 006400 NUMC7 CLB DECIMAL POINT 0529 00766 074212 STB TEMP4 SET EXPONENT PART TO ZERO 0530 00767 054211 CPB TEMP3 OR DIGIT FOUND? 0531 00770 124162 JMP STK7,I 0532 00771 050432 CPA E "E"? 0533 00772 002001 RSS YES 0534 00773 025034 JMP NUM12 NO, NO EXPONENT PART 0535 00774 015662 JSB GETCR 0536 00775 014544 NUMER JSB ERROR 0537 00776 050421 CPA .43 0538 00777 025004 JMP NUMC8 0539 01000 050422 CPA .45 NO, "-"? 0540 01001 003401 CCA,RSS 0541 01002 025006 JMP NUMC9 YES 0542 01003 070212 STA TEMP4 0543 01004 015662 NUMC8 JSB GETCR 0544 01005 024775 JMP NUMER 0545 01006 015636 NUMC9 JSB DIGCK 0546 01007 024775 JMP NUMER 0547 01010 070211 STA TEMP3 0548 01011 015662 JSB GETCR 0549 01012 025030 JMP NUM10 0550 01013 015636 JSB DIGCK 0551 01014 025030 JMP NUM10 0552 01015 064211 LDB TEMP3 0553 01016 005020 BLS,BLS 0554 01017 044211 ADB TEMP3 0555 01020 005000 BLS 0556 01021 040001 ADA 1 0557 01022 070211 STA TEMP3 0558 01023 015662 JSB GETCR 0559 01024 025030 JMP NUM10 0560 01025 015636 JSB DIGCK 0561 01026 002001 RSS 0562 01027 024775 JMP NUMER 0563 01030 060211 NUM10 LDA TEMP3 0564 01031 034212 ISZ TEMP4 0565 01032 003004 CMA,INA YES, COMPLEMENT IT 0566 01033 002001 RSS NO 0567 01034 002400 NUM12 CLA CLEAR IF NO EXPONENT PART 0568 01035 034237 ISZ DPFLG DECIMAL POINT? 0569 01036 040236 ADA EXPON YES, CORRECT EXPONENT 0570 01037 002003 SZA,RSS ZERO EXPONENT? 0571 01040 025055 JMP NUM14 YES 0572 01041 002020 SSA NO, NEGATIVE EXPONENT? 0573 01042 025051 JMP NUM13 NO 0574 01043 003004 CMA,INA YES, SET 0575 01044 070236 STA EXPON COUNTER 0576 01045 015261 JSB DBY10 DIVIDE NUMBER BY 10 0577 01046 034236 ISZ EXPON DONE? 0578 01047 025045 JMP *-2 NO 0579 01050 025055 JMP NUM14 YES 0580 01051 070236 NUM13 STA EXPON SET COUNTER 0581 01052 015230 JSB MBY10 MULTIPLY BY 10 0582 01053 034236 ISZ EXPON DONE? 0583 01054 025052 JMP *-2 NO 0584 01055 060234 NUM14 LDA MANT1 YES, LOAD 0585 01056 064235 LDB MANT2 NUMBER 0586 01057 034147 ISZ SIGN POSITIVE? 0587 01060 025064 JMP NUM15 YES 0588 01061 003000 CMA NO, 0589 01062 007007 CMB,INB,SZB,RSS COMPLEMENT 0590 01063 002004 INA IT 0591 01064 015077 NUM15 JSB .PACK PACK NUMBER INTO (A) AND (B) 0592 01065 034133 ISZ SBPTR 0593 01066 170133 STA SBPTR,I STORE 0594 01067 034133 ISZ SBPTR NUMBER IN 0595 01070 174133 STB SBPTR,I PROPER 0596 01071 034133 ISZ SBPTR LOCATION 0597 01072 015701 JSB BCKSP FETCH 0598 01073 015662 JSB GETCR FIRST 0599 01074 060400 LDA .10 UNUSED CHARACTER 0600 01075 034162 ISZ STK7 0601 01076 124162 JMP STK7,I 0602** 0603*** NORMALIZE AND PACK FLOATING POINT NUMBER ** 0604** 0605 01077 000000 .PACK NOP MANTISSA IN (A) AND (B), 0606 01100 015174 JSB NORML EXPONENT IN EXP, (E) CLEARED 0607 01101 002103 CLE,SZA,RSS ZERO RESULT? 0608 01102 125077 JMP .PACK,I 0609 01103 044443 ADB B177 NO, ROUND 0610 01104 002021 SSA,RSS POSITIVE NUMBER? 0611 01105 006004 INB YES, FINISH ROUND 0612 01106 103101 CLO 0613 01107 002040 SEZ OVERFLOW FROM (B)? 0614 01110 002104 CLE,INA YES, BUMP (A) 0615 01111 102301 SOS OVERFLOW? (A=100000, B=0) 0616 01112 001200 RAL 0617 01113 002031 SSA,SLA,RSS TWO HIGH BITS 1'S? (A=140000)) 0618 01114 025117 JMP PACK1 NO 0619 01115 002300 CCE YES 0620 01116 001130 ARS,SLA,ALS SET (A) =100000 AND SKIP 0621 01117 001300 PACK1 RAR COUNTERPART TO *-5 0622 01120 071230 STA MBY10 SAVE (A) 0623 01121 060001 LDA 1 DELETE 8 LOW 0624 01122 010527 AND M256 ORDER BITS OF MANTISSA 0625 01123 070001 STA 1 SAVE LOWER MANTISSA 0626 01124 061077 LDA .PACK 0627 01125 070171 STA STK14 0628 01126 060150 LDA EXP FETCH EXPONENT 0629 01127 002040 SEZ DECREMENT EXPONENT? 0630 01130 040477 ADA M1 YES 0631 01131 102201 SOC NO, PRIOR OVERFLOW? 0632 01132 002004 INA YES, INCREMENT EXPONENT 0633 01133 040444 ADA B200 NO, EXPONENT 0634 01134 002020 SSA UNDERFLOW? 0635 01135 025154 JMP PACK3 YES 0636 01136 040527 ADA M256 NO, EXPONENT 0637 01137 002021 SSA,RSS OVERFLOW? 0638 01140 025160 JMP PACK4 YES 0639 01141 040444 ADA B200 NO, RESTORE EXPONENT, 0640 01142 001200 RAL POSITION SIGN, 0641 01143 010445 AND MSK0 MASK TO 8 BITS, AND 0642 01144 044000 ADB 0 COMBINE WITH LOW MANTISSA 0643 01145 061230 LDA MBY10 RETRIEVE HIGH MANTISSA 0644 01146 050536 CPA MNEG 0645 01147 002001 RSS NEGATIVE 0646 01150 124171 JMP STK14,I 0647 01151 054537 CPB MNEG+1 OVERFLOW? 0648 01152 025160 JMP PACK4 YES 0649 01153 124171 JMP STK14,I 0650 01154 014544 PACK3 JSB ERROR 0651 01155 002400 UNDER CLA ZERO RESULT 0652 01156 006400 CLB ON UNDERFLOW 0653 01157 124171 JMP STK14,I 0654 01160 014544 PACK4 JSB ERROR 0655 01161 061230 OVRER LDA MBY10 0656 01162 015164 JSB OVFLW 0657 01163 124171 JMP STK14,I 0658** 0659*** LOAD INFINITY ON OVERFLOW ** 0660** 0661 01164 000000 OVFLW NOP 0662 01165 064500 LDB M2 0663 01166 002020 SSA 0664 01167 064447 LDB B776 0665 01170 030471 IOR INF 0666 01171 002020 SSA 0667 01172 060536 LDA MNEG 0668 01173 125164 JMP OVFLW,I INFINITY 0669** 0670*** NORMALIZE (A), (B), AND EXP ** 0671** 0672 01174 000000 NORML NOP SET 0673 01175 071230 STA MBY10 LEFT-SHIFT 0674 01176 002400 CLA COUNTER 0675 01177 071317 STA MPY TO ZERO 0676 01200 061230 LDA MBY10 0677 01201 002003 SZA,RSS ON 0678 01202 006002 SZB ZERO 0679 01203 025211 JMP NORM3 CLEAR 0680 01204 070150 STA EXP EVERYTHING 0681 01205 070234 STA MANT1 STORE 0682 01206 074235 NORM1 STB MANT2 MANTISSA 0683 01207 125174 JMP NORML,I AND RETURN 0684 01210 035317 NORM2 ISZ MPY COUNT LEFT SHIFTS 0685 01211 004066 NORM3 CLE,ELB ROTATE (A) AND 0686 01212 001600 ELA (B) LEFT INTO (E) 0687 01213 002061 SEZ,SSA,RSS TWO HIGHEST BITS 0? 0688 01214 025210 JMP NORM2 YES, + UNNORMALIZED 0689 01215 002060 SEZ,SSA NO, TWO HIGHEST BITS 1? 0690 01216 025210 JMP NORM2 YES, -UNNORMALIZED 0691 01217 001500 ERA SHIFT TO 0692 01220 005540 ERB,CLE NORMALIZE MANTISSA 0693 01221 070234 STA MANT1 NO, 0694 01222 061317 LDA MPY COMPUTE 0695 01223 003004 CMA,INA CORRECTED 0696 01224 040150 ADA EXP EXPONENT 0697 01225 070150 STA EXP VALUE 0698 01226 060234 LDA MANT1 0699 01227 025206 JMP NORM1 0700** 0701*** MULTIPLY UNPACKED NUMBER BY 10 ** 0702** 0703 01230 000000 MBY10 NOP 0704 01231 060234 LDA MANT1 RETURN ON 0705 01232 002003 SZA,RSS ZERO 0706 01233 125230 JMP MBY10,I MANTISSA 0707 01234 064150 LDB EXP MULTIPLY 0708 01235 044372 ADB .3 BY 0709 01236 074150 STB EXP 8 0710 01237 064235 LDB MANT2 LOAD MANTISSA 0711 01240 000065 CLE,ERA DIVIDE 0712 01241 005500 ERB BY 0713 01242 000065 CLE,ERA 4 0714 01243 005540 ERB,CLE 0715 01244 044235 ADB MANT2 DOUBLE 0716 01245 002040 SEZ ADD TO 0717 01246 002004 INA PRODUCE 0718 01247 040234 ADA MANT1 1.25 * MANTISSA 0719 01250 002021 SSA,RSS CORRECT 0720 01251 025256 JMP *+5 0721 01252 000065 CLE,ERA ON 0722 01253 005500 ERB 0723 01254 034150 ISZ EXP OVERFLOW 0724 01255 000000 NOP 0725 01256 070234 STA MANT1 0726 01257 074235 STB MANT2 0727 01260 125230 JMP MBY10,I 0728** 0729*** DIVIDE UNPACKED NUMBER BY 10 ** 0730** 0731 01261 000000 DBY10 NOP MULTIPLY BY DOUBLE-LENGTH TENTH 0732 01262 060234 LDA MANT1 RETURN 0733 01263 002003 SZA,RSS ON ZERO 0734 01264 125261 JMP DBY10,I MANTISSA 0735 01265 064500 LDB M2 ADD EXPONENT OF 0736 01266 044150 ADB EXP "TENTH" TO 0737 01267 074150 STB EXP MANTISSA EXPONENT 0738 01270 060235 LDA MANT2 JUSTIFY 0739 01271 000065 CLE,ERA LOWER MANTISSA 0740 01272 015317 JSB MPY MULTIPLY BY 0741 01273 000466 DEF TENTH 63146 (ONE TENTH) 0742 01274 000066 CLE,ELA SHIFT 0743 01275 005640 ELB,CLE BACK 0744 01276 040001 ADA 1 ADD IN LOWER MANTISSA * 0745 01277 002040 SEZ TENTH*(2)-16 0746 01300 006004 INB AND ROUND 0747 01301 074235 STB MANT2 TO 16 BITS 0748 01302 060234 LDA MANT1 DO 0749 01303 015317 JSB MPY SAME 0750 01304 000466 DEF TENTH FOR 0751 01305 000040 CLE HIGH 0752 01306 040001 ADA 1 MANTISSA 0753 01307 040235 ADA MANT2 (EFFECTIVELY) SUM 0754 01310 002040 SEZ DOUBLE-LENGTH 0755 01311 006004 INB PRODUCTS 0756 01312 074234 STB MANT1 EXCHANGE 0757 01313 070001 STA 1 (A) AND (B) 0758 01314 060234 LDA MANT1 REGISTERS 0759 01315 015174 JSB NORML NORMALIZE RESULT 0760 01316 125261 JMP DBY10,I 0761** 0762*** MULTIPLY INTEGER IN (A) ** 0763** 0764 01317 000000 MPY NOP ADDRESS OF MULTIPLIER IN MPY,I 0765 01320 064500 LDB M2 SET -2 IN 0766 01321 075230 STB MBY10 SIGN TEMP 0767 01322 165317 LDB MPY,I LOAD 0768 01323 164001 LDB 1,I MULTIPLIER 0769 01324 002120 CLE,SSA (A) NEGATIVE? 0770 01325 003204 CMA,CME,INA YES COMPLEMENT (A) AND (E) 0771 01326 006020 SSB (B) NEGATIVE? 0772 01327 007204 CMB,CME,INB YES, COMPLEMENT (B) AND (E) 0773 01330 002040 SEZ (E) = 0? 0774 01331 035230 ISZ MBY10 NO, SET SIGN OF RESULT NEGATIVE 0775 01332 075174 STB NORML SAVE MULTIPLIER 0776 01333 064513 LDB M16 SET 0777 01334 074627 STB MVTOH COUNTER 0778 01335 006400 CLB ZERO PRODUCT 0779 01336 001600 ELA BIAS (A) TO LEFT 0780 01337 001550 MPY1 ERA,CLE,SLA SHIFT, TEST, 0781 01340 045174 ADB NORML AND ADD UPON 0782 01341 005500 ERB NON-ZERO BIT 0783 01342 034627 ISZ MVTOH DONE? 0784 01343 025337 JMP MPY1 NO 0785 01344 001540 ERA,CLE YES, ADJUST FINAL RESULT 0786 01345 035230 ISZ MBY10 NEGATIVE RESULT? 0787 01346 025352 JMP MPY2 NO 0788 01347 007000 CMB YES 0789 01350 003007 CMA,INA,SZA,RSS COMPLEMENT 0790 01351 006004 INB RESULT 0791 01352 103101 MPY2 CLO 0792 01353 035317 ISZ MPY 0793 01354 125317 JMP MPY,I 0794** 0795*** FIND AND STORE ONE-CHARACTER OPERATORS ** 0796** 0797 01355 000000 SYMCK NOP CHARACTER IN (A) 0798 01356 074213 STB COUNT -(ENTRIES TO BE SEARCHED) 0799 01357 001727 ALF,ALF POSITION 0800 01360 030411 IOR .32 CHARACTER 0801 01361 165355 LDB SYMCK,I STARTING TABLE ENTRY -2 0802 01362 035355 ISZ SYMCK SET RETURN ADDRESS 0803 01363 044371 SYMC1 ADB .2 UPDATE TABLE POINTER 0804 01364 150001 CPA 1,I MATCH? 0805 01365 025373 JMP SYMC2 0806 01366 034213 ISZ COUNT NO, CONTINUE SEARCH? 0807 01367 025363 JMP SYMC1 YES 0808 01370 001727 ALF,ALF NO, RESTORE 0809 01371 010443 AND B177 CHARACTER 0810 01372 125355 JMP SYMCK,I AND EXIT 0811 01373 003400 SYMC2 CCA GET 0812 01374 040001 ADA 1 INFORMATION 0813 01375 160000 LDA 0,I WORD 0814 01376 010467 AND OPMSK AND 0815 01377 170133 STA SBPTR,I STORE IT 0816 01400 050457 CPA B1400 0817 01401 124327 JMP FSC1A,I 0818 01402 035355 ISZ SYMCK RETURN VIA 0819 01403 125355 JMP SYMCK,I (P+2) 0820** 0821* ************************************************* 0822* SUBROUTINE TO COMPUTE THE STORAGE REQUIRED BY AN 0823* ARRAY WHOSE PACKED DIMENSIONS ARE IN A UPON ENTRY 0824* ************************************************* 0825** 0826* THE SUBROUTINE RETURNS IN A THE NUMBER OF LOCATIONS 0827* REQUIRED FOR THE SPECIFIED DIMENSIONS 0828* = 2*DIM1*DIM2 0829** 0830 01404 000000 MDIM NOP 0831 01405 070001 STA 1 STORE PACKED DIMS. TEMPORARILY 0832 01406 010445 AND MSK0 0833 01407 071524 STA .FLUN 0834 01410 060001 LDA 1 0835 01411 001727 ALF,ALF 0836 01412 010445 AND MSK0 A = # OF ROWS 0837 01413 001000 ALS DOUBLE FOR FLOATING POINT 0838 01414 015317 JSB MPY 0839 01415 001524 DEF .FLUN 0840 01416 002020 SSA RESULT < 32768 ? 0841 01417 014544 JSB ERROR NO, ERROR DIMENSIONS TOO LARGE 0842 01420 125404 MER9 JMP MDIM,I 0843** 0844*** ROUND A SUBSCRIPT TO AN INTEGER ** 0845** 0846 01421 000000 SBFIX NOP SUBSCRIPT IN (A) AND (B) 0847 01422 015432 JSB IFIX INTEGERIZE 0848 01423 124342 JMP E6M1A,I 0849 01424 002041 SEZ,RSS 0850 01425 044477 ADB M1 0851 01426 002003 SZA,RSS 0852 01427 006020 SSB 0853 01430 124342 JMP E6M1A,I 0854 01431 125421 JMP SBFIX,I 0855** 0856*** INTEGERIZE FLOATING POINT NUMBER ** 0857** 0858 01432 000000 IFIX NOP NUMBER IN (A) AND (B) 0859 01433 102101 STO 0860 01434 070172 STA STK15 0861 01435 015524 JSB .FLUN UNPACK LOW WORD 0862 01436 002020 SSA 0863 01437 025462 JMP IFIX3 YES 0864 01440 040513 ADA M16 0865 01441 002020 SSA 0866 01442 103101 CLO 0867 01443 040506 ADA M8 0868 01444 002021 SSA,RSS 0869 01445 125432 JMP IFIX,I 0870 01446 040506 ADA M8 0871 01447 071524 STA .FLUN 0872 01450 060172 LDA STK15 0873 01451 025456 JMP IFIX2 0874 01452 000071 IFIX1 CLE,SLA,ARS 0875 01453 002200 CME TO A(0) 0876 01454 004035 SLB,ERB 0877 01455 102101 STO OVERFLOW ON NON-INTEGER 0878 01456 035524 IFIX2 ISZ .FLUN 0879 01457 025452 JMP IFIX1 YES 0880 01460 035432 ISZ IFIX 0881 01461 125432 JMP IFIX,I NO, (E) = 0 FOR INTEGER NUMBER 0882 01462 060172 IFIX3 LDA STK15 0883 01463 002120 CLE,SSA 0884 01464 003401 CCA,RSS 0885 01465 002401 CLA,RSS 0886 01466 007401 CCB,RSS 0887 01467 006400 CLB 0888 01470 025460 JMP IFIX2+2 0890** 0891*** TAKE ARITHMETIC INVERSE ** 0892** 0893 01471 000000 ARINV NOP NUMBER IN (A) AND (B) 0894 01472 070157 STA STK4 0895 01473 060001 LDA 1 0896 01474 064157 LDB STK4 0897 01475 007100 CMB,CLE COMPLEMENT HIGH PART 0898 01476 020527 XOR M256 COMPLEMENT LOW PART 0899 01477 040446 ADA B400 ADD IN 1 0900 01500 002041 SEZ,RSS OVERFLOW? 0901 01501 025520 JMP ARIN2 NO 0902 01502 006004 INB YES, INCREMENT HIGH MANTISSA 0903 01503 054536 CPB FLGBT OVERFLOW? 0904 01504 025510 JMP ARIN1 YES 0905 01505 054475 CPB UNNRM NO, NEGATIVE UNNORMALIZED? 0906 01506 002001 RSS YES 0907 01507 025520 JMP ARIN2 NO 0908 01510 044475 ARIN1 ADB UNNRM FIX HIGH MANTISSA 0909 01511 000033 SLA,RAR POSITION EXPONENT 0910 01512 030470 IOR MSK4 FILL IN BITS IF NEGATIVE 0911 01513 006021 SSB,RSS POSITIVE? 0912 01514 002005 INA,RSS YES, BUMP EXPONENT 0913 01515 040477 ADA M1 NO, DECREMENT EXPONENT 0914 01516 001200 RAL POSITION 0915 01517 010445 AND MSK0 EXPONENT 0916 01520 070157 ARIN2 STA STK4 0917 01521 060001 LDA 1 0918 01522 064157 LDB STK4 0919 01523 125471 JMP ARINV,I 0920** 0921*** UNPACK LOW WORD OF NUMBER ** 0922** 0923 01524 000000 .FLUN NOP WORD IN (B) 0924 01525 060001 LDA 1 (A) = (B) 0925 01526 010445 AND MSK0 EXTRACT EXPONENT IN (A) 0926 01527 007000 CMB SUBTRACT OFF 0927 01530 044000 ADB 0 EXPONENT FROM 0928 01531 007000 CMB MANTISSA IN (B) 0929 01532 000033 SLA,RAR NEGATIVE EXPONENT? 0930 01533 030470 IOR MSK4 YES, FILL IN LEADING BITS 0931 01534 125524 JMP .FLUN,I NO 0932** 0933*** STACK (B) ON LOW CORE STACK ** 0934** 0935 01535 000000 SLWST NOP 0936 01536 034136 ISZ LSTPT ADVANCE 'LOW 0937 01537 060136 LDA LSTPT STACK' POINTER 0938 01540 050137 CPA HSTPT STACK OVERFLOW? 0939 01541 014544 E1 JSB ERROR YES 0940 01542 174136 STB LSTPT,I NO, STACK (B) 0941 01543 125535 JMP SLWST,I 0942** 0943*** BUMP HIGH STACK POINTER ** 0944** 0945 01544 000000 BHSTP NOP 0946 01545 007400 CCB ADVANCE 0947 01546 044137 ADB HSTPT 0948 01547 074137 STB HSTPT POINTER 0949 01550 054136 CPB LSTPT OVERFLOW? 0950 01551 025541 JMP E1 YES 0951 01552 125544 JMP BHSTP,I NO 0952** 0953*** FETCH TOP OF STACK ** 0954** 0955 01553 000000 STTOP NOP 0956 01554 015563 JSB OPCHK VALIDATE 0957 01555 015604 JSB RSCHK OPERAND 0958 01556 164137 LDB HSTPT,I SAVE 0959 01557 160001 LDA 1,I LOAD 0960 01560 006004 INB 0961 01561 164001 LDB 1,I NUMBER 0962 01562 125553 JMP STTOP,I 0963** 0964*** VERIFY LEGITIMACY OF OPERAND ** 0965** 0966 01563 000000 OPCHK NOP 0967 01564 164137 LDB HSTPT,I OPERAND ADDRESS TO (B) 0968 01565 160001 LDA 1,I HIGH PART OF 0969 01566 050536 CPA MNEG OPERAND 100000B? 0970 01567 006005 INB,RSS 0971 01570 025575 JMP OPCH1 NO 0972 01571 160001 LDA 1,I OF OPERAND 0973 01572 050537 CPA MNEG+1 776B? 0974 01573 014544 JSB ERROR YES 0975 01574 044477 E8 ADB M1 0976 01575 054135 OPCH1 CPB TSTPT TEMPORARY OPERAND? 0977 01576 002001 RSS YES 0978 01577 125563 JMP OPCHK,I NO 0979 01600 060135 LDA TSTPT UNSTACK 0980 01601 040500 ADA M2 THE TEMPORARY 0981 01602 070135 STA TSTPT OPERAND 0982 01603 125563 JMP OPCHK,I EXIT WITH ADDRESS IN (B) 0983** 0984*** ALLOT SPACE FOR INTERMEDIATE RESULT ** 0985** 0986 01604 000000 RSCHK NOP 0987 01605 060135 LDA TSTPT ALLOT 0988 01606 040371 ADA .2 0989 01607 070135 STA TSTPT SPACE 0990 01610 040477 ADA M1 OVERFLOW INTO 0991 01611 050134 CPA LSTAK LOW-CORE STACK? 0992 01612 002001 RSS YES 0993 01613 125604 JMP RSCHK,I NO 0994 01614 060134 LDA LSTAK SAVE 0995 01615 002004 INA LOWER 0996 01616 070211 STA TEMP3 STACK BOUND 0997 01617 040377 ADA .9 UPDATE 0998 01620 070134 STA LSTAK STACK BOTTOM 0999 01621 060136 LDA LSTPT SET 1000 01622 002004 INA SOURCE 1001 01623 070210 STA TEMP2 ADDRESS 1002 01624 040377 ADA .9 UPDATE 1003 01625 070136 STA LSTPT STACK TOP 1004 01626 002004 INA SET DESTINATION 1005 01627 070212 STA TEMP4 ADDRESS 1006 01630 003004 CMA,INA OVERFLOW 1007 01631 040137 ADA HSTPT INTO 1008 01632 002020 SSA HIGH-CORE STACK? 1009 01633 025541 JMP E1 YES 1010 01634 014627 JSB MVTOH NO, MOVE 1011 01635 125604 JMP RSCHK,I LOW-CORE STACK 1012** 1013*** CHECK FOR DIGIT ** 1014** 1015 01636 000000 DIGCK NOP CHARACTER IN (A) 1016 01637 064000 LDB 0 1017 01640 044521 ADB D72 ASCII 72B 1018 01641 006021 SSB,RSS OR GREATER? 1019 01642 125636 JMP DIGCK,I YES, RETURN WITH CHARACTER 1020 01643 044400 ADB .10 NO, ASCII 60B 1021 01644 006020 SSB OR GREATER? 1022 01645 125636 JMP DIGCK,I NO 1023 01646 035636 ISZ DIGCK YES, SET "SUCCESS" EXIT, 1024 01647 060001 LDA 1 LOAD DIGIT INTO (A), 1025 01650 125636 JMP DIGCK,I AND RETURN 1026** 1027*** CHECK FOR LETTER ** 1028** 1029 01651 000000 LETCK NOP CHARACTER IN (A) 1030 01652 064000 LDB 0 1031 01653 044526 ADB D133 ASCII 133B 1032 01654 006021 SSB,RSS OR GREATER? 1033 01655 125651 JMP LETCK,I YES, EXIT WITH CHARACTER IN (A) 1034 01656 044404 ADB .26 NO, ASCII 101B 1035 01657 006021 SSB,RSS 1036 01660 035651 ISZ LETCK YES, SET "SUCCESS" EXIT, 1037 01661 125651 JMP LETCK,I AND RETURN 1038** 1039*** GET A CHARACTER FROM INPUT BUFFER 1040** 1041 01662 000000 GETCR NOP 1042 01663 034126 ISZ CCNT ANY CHARACTERS LEFT? 1043 01664 002001 RSS 1044 01665 125662 JMP GETCR,I NO, END-OF-FILE EXIT 1045 01666 064125 LDB BADDR LOAD BUFFER ADDRESS 1046 01667 034125 ISZ BADDR UPDATE FOR NEXT TIME 1047 01670 004065 CLE,ERB SET CHARACTER FLAG 1048 01671 160001 LDA 1,I LOAD CURRENT BUFFER WORD 1049 01672 002041 SEZ,RSS FIRST CHARACTER? 1050 01673 001727 ALF,ALF YES, POSITION IT 1051 01674 010443 AND B177 MASK EXTRANEOUS BITS 1052 01675 050123 CPA BLANK BLANK? 1053 01676 025663 JMP GETCR+1 YES, FETCH NEXT CHARACTER 1054 01677 035662 ISZ GETCR UPDATE RETURN ADDRESS 1055 01700 125662 JMP GETCR,I AND EXIT 1056** 1057*** BACKSPACE OVER ONE CHARACTER ** 1058** 1059 01701 000000 BCKSP NOP 1060 01702 003400 CCA BACKSPACE 1061 01703 040126 ADA CCNT OVER 1062 01704 070126 STA CCNT LAST 1063 01705 003400 CCA CHARACTER IN 1064 01706 040125 ADA BADDR INPUT 1065 01707 070125 STA BADDR BUFFER 1066 01710 125701 JMP BCKSP,I 1067** 1068*** PRINT A NUMBER ** 1069** 1070 01711 000000 ENOUT NOP 1071 01712 075701 STB BCKSP 1072 01713 065711 LDB ENOUT 1073 01714 074170 STB STK13 1074 01715 065701 LDB BCKSP 1075 01716 002300 CCE SET SIGN FLAG TRUE 1076 01717 114270 JSB NUMOA,I OUTPUT THE NUMBER 1077 01720 015753 JSB OUTLN END-OF-LINE ACTION 1078 01721 060411 LDA .32 OUTPUT 1079 01722 015773 JSB OUTCR A BLANK 1080 01723 064220 LDB MLBX1+1 1081 01724 044126 ADB CCNT 1082 01725 006002 SZB FULL? 1083 01726 025721 JMP *-5 NO 1084 01727 124170 JMP STK13,I 1085** 1086*** SPACE FOR A COMMA ** 1087** 1088 01730 000000 EDELM NOP 1089 01731 065730 LDB EDELM LOAD ADDRESS 1090 01732 074155 STB STK2 1091 01733 064126 LDB CCNT NO, LOAD CHARACTER COUNT 1092 01734 006003 EDEL1 SZB,RSS ZERO? 1093 01735 124155 JMP STK2,I 1094 01736 044512 ADB M15 NO, SUBTRACT ZONE WIDTH 1095 01737 006021 SSB,RSS NEGATIVE RESULT? 1096 01740 025734 JMP EDEL1 NO 1097 01741 074157 STB STK4 1098 01742 060411 LDA .32 FETCH BLANK 1099 01743 015773 JSB OUTCR OUTPUT 1100 01744 034157 ISZ STK4 1101 01745 025742 JMP *-3 BLANKS 1102 01746 064126 LDB CCNT LINE 1103 01747 044525 ADB M76 1104 01750 006021 SSB,RSS FULL? 1105 01751 015753 JSB OUTLN YES 1106 01752 124155 JMP STK2,I 1107** 1108*** OUTPUT A COMPLETED LINE 1109** 1110 01753 000000 OUTLN NOP 1111 01754 061753 LDA OUTLN LOAD RETURN ADDRESS 1112 01755 070157 STA STK4 1113 01756 060142 LDA TYPE FETCH 'CHARACTERS PRINTED' COUNT 1114 01757 000010 SLA CORRECT FOR START ON 1115 01760 002004 INA ODD PRINT POSITION 1116 01761 040126 ADA CCNT OUTPUT 1117 01762 064116 LDB .BUFA A 1118 01763 114112 JSB WRITE,I LINE 1119 01764 064220 LDB MLBX1+1 1120 01765 044126 ADB CCNT 1121 01766 074220 STB MLBX1+1 1122 01767 002400 CLA RESET COUNT OF 1123 01770 070142 STA TYPE CHARACTERS PRINTED 1124 01771 114320 JSB PRNIA,I CLEAN UP 1125 01772 124157 JMP STK4,I 1126** 1127*** ADD A CHARACTER TO OUTPUT BUFFER ** 1128** 1129 01773 000000 OUTCR NOP CHARACTER IN (A) 1130 01774 071432 STA IFIX SAVE CHARACTER 1131 01775 034126 ISZ CCNT COUNT IT 1132 01776 064126 LDB CCNT FIRST CHARACTER 1133 01777 004010 SLB OF BUFFER WORD? 1134 02000 034125 ISZ BADDR YES, MOVE TO FRESH WORD 1135 02001 160125 LDA BADDR,I LOAD BUFFER WORD 1136 02002 004010 SLB SAVE 1137 02003 001727 ALF,ALF OTHER 1138 02004 010527 AND M256 CHARACTER 1139 02005 031432 IOR IFIX ADD NEW CHARACTER 1140 02006 004010 SLB POSITION 1141 02007 001727 ALF,ALF WORD AND 1142 02010 170125 STA BADDR,I STORE IT 1143 02011 125773 JMP OUTCR,I 1144 HED BASIC INTERPRETER CONTROL 1145* 1146*** BASIC INTERPRETER CONTROL 1147* 1148* 1149 02012 060114 FLUSH LDA FWAM 1150 02013 070121 STA PBUFF SET PROGRAM BUFFER ADR 1151 02014 070122 STA PBPTR SET PROGRAM BUFFER POINTER 1152 02015 060411 LDA .32 INITIALIZE 1153 02016 070123 STA BLANK DELETE CHARACTER FOR GETCR 1154 02017 002400 CLA SET LINE NUMBER 1155 02020 070124 STA .LNUM TO ZERO 1156* 1157 02021 002400 RDYPT CLA 1158 02022 114104 JSB SEXU,I SET EXU FLAG TO ZERO 1159 02023 070167 STA STK12 SET DATA REQUEST TO ZERO 1160 02024 070127 STA TFLAG CLEAR PHOTO-READER FLAG 1161 02025 070130 STA TTYFL CLEAR TTY TAPE FLAG 1162 02026 114112 JSB WRITE,I OUTPUT CR-LF 1163 02027 060504 LDA M6 OUTPUT 1164 02030 064241 LDB RDYA "READY" 1165 02031 114112 JSB WRITE,I ON TTY 1166* 1167*** CHECK IF INPUT IS FROM PHOTOREADER 1168* 1169 02032 060127 PEXMK LDA TFLAG LOAD PHOTOREADER FLAG 1170 02033 002020 SSA CHECK IF PTAPE MODE 1171 02034 026147 JMP PTAPE YES- INPUT FROM PHOTO RDR 1172* 1173 02035 064245 LDB LFEED LOAD LF ADDRESS 1174 02036 074146 STB RSYM STAOR FOR EMIT LF 1175* 1176*** CHECK FOR TAPE MODE 1177* 1178 02037 060130 DATAI LDA TTYFL LOAD TAPE FLAG 1179 02040 002003 SZA,RSS IS IT SET? 1180 02041 026047 JMP KEYIN NO- GET KEYBOARD INPUT 1181 02042 124103 JMP MONIT,I YES: GO DIRECTLY TO MONITOR 1182 02043 114111 !TAPE JSB TAPE!,I SET UP TAPE INPUT 1183 02044 002002 SZA 1184 02045 026060 JMP RPRCS -TAPE: NOT FINISHED RETURN- 1185 02046 026021 JMP RDYPT -TAPE: FINISHED RETURN- 1186* 1187 02047 060500 KEYIN LDA M2 SET TO OUTPUT 2 CHARS 1188 02050 064146 LDB RSYM LOAD LF OR '? X-ON' ADR 1189 02051 114112 JSB WRITE,I PRINT LF OR '? X-ON', NO CR 1190* 1191*** GET INPUT FROM TTY KEYBOARD 1192* 1193 02052 114106 GTRCD JSB IMOFF,I KEYINT3 1194 02053 060434 LDA .72 1195 02054 064116 LDB .BUFA 1196 02055 114113 JSB REED,I GET RECORD FROM TTY 1197 02056 050500 CPA M2 1198 02057 026107 JMP RBOUT RUBOUT IN RECORD, INPUT AGAIN 1199 02060 003021 RPRCS CMA,SSA,RSS SET A=-U-#CHARS AND 1200 02061 014544 JSB ERROR CHECK FOR RECORD TOO LONG 1201 02062 070126 RTLE STA CCNT -1-# CHARS <0,SET CCNT 1202 02063 060116 LDA .BUFA LOAD BUFFER ADDRESS 1203 02064 000066 CLE,ELA SHIFT LEFT, LEAST BIT 1204 02065 070125 STA BADDR USED AS ODD/EVEN FLAG 1205 02066 015662 JSB GETCR FIRCH FIRST CHARACTER 1206 02067 026035 JMP DATAI-2 NULL RECORD- INPUT AGAIN 1207 02070 064167 LDB STK12 1208 02071 006003 SZB,RSS DATA REQUEST? 1209 02072 026120 JMP CKRCD NO- CHECK FOR COMMAND 1210 02073 050441 CPA S ASCII S FIRST CHAR? 1211 02074 016163 JSB STOP ASSUME STOP REQUESTED 1212 02075 002400 CLA OUTPUT CR-LF 1213 02076 114112 JSB WRITE,I ON TTY 1214 02077 015701 JSB BCKSP BACKSPACE 1 CHAR 1215 02100 114105 JSB IMON,I 1216 02101 064167 LDB STK12 1217 02102 002400 CLA CLEAR DATA REQUEST FLAG 1218 02103 070167 STA STK12 1219 02104 124001 JMP B,I GO TO DATA REQUEST CALL POINT 1220* 1221 02105 056040 ASC 1,\ 1222 02106 002105 DEF *-1 1223 02107 066106 RBOUT LDB *-1 OUTPUT '/' WITH 1224 02110 002404 CLA,INA CARRIAGE RETURN 1225 02111 114112 JSB WRITE,I AND LINE-FEED 1226 02112 026052 JMP KEYIN+3 1227* 1228** THIS SECTION REQUESTS DATA INPUT 1229* 1230 02113 000000 DRQST NOP 1231 02114 066113 LDB DRQST SAVE RETURN ADDRESS 1232 02115 074167 STB STK12 AND FLAG 1233 02116 064246 LDB QMRKA 1234 02117 026036 JMP DATAI-1 PRINT '?-X-ON' AND WAIT 1235* 1236** THIS SECTION CHECKS RECORDS FOR SYS COMMANDS 1237* 1238 02120 064120 CKRCD LDB SBUFA 1239 02121 074133 STB SBPTR 1240 02122 170133 STA SBPTR,I 1241 02123 015651 JSB LETCK 1242 02124 026205 JMP SYNTX 1243* 1244 02125 002400 CLA OUTPUT CR-LF 1245 02126 070130 STA TTYFL SET TTY TAPE FLAG 1246 02127 114112 JSB WRITE,I ON TTY 1247 02130 060352 LDA TBLAD 1248 02131 064507 LDB M9 SET TO SEARCH TABLE OF 9 COMMANDS 1249 02132 114262 JSB TSRCH,I 1250 02133 014544 JSB ERROR 1251 02134 INVSC EQU * INVALID CMND ERROR REFERENCE 1252 02134 001727 ALF,ALF 1253 02135 001100 ARS 1254 02136 040250 ADA CMNDA 1255 02137 124000 JMP A,I 1256* 1257*** THIS SECTION SETS UP AND EXECUTES THE SYSTEMS COMMANDS 1258* 1259 02140 CMNDS EQU * COMMAND LIST REFERENCE 1260* 1261*** RUN COMMAND 1262* 1263 02140 114105 RUN JSB IMON,I 1264 02141 124252 JMP RUNA,I 1265* 1266*** SCRATCH COMMAND 1267* 1268 02142 026012 SCRTH JMP FLUSH DELETE CURRENT PROGRAM 1269* 1270*** LIST COMMAND 1271* 1272 02143 006400 CLB 1273* 1274*** PLIST COMMAND 1275* 1276 02144 074175 PLIST STB STK18 SET PUNCH FLAG 1277 02145 114105 JSB IMON,I 1278 02146 124257 JMP LISTA,I GO TO LIST ENTRY POINT 1279* 1280*** PTAPE COMMAND 1281* 1282 02147 060127 PTAPE LDA TFLAG LOAD PHOTO/CARD FLAG 1283 02150 001500 ERA SET FLAG FOR CARD OR PHOTO 1284 02151 060434 LDA .72 ASK FOR 72 CHARS INPUT 1285 02152 064116 LDB .BUFA 1286 02153 002040 SEZ MAKE CALL TO CORRECT DRIVER 1287 02154 114062 JSB .HSPR,I GET INPUT FROM PHOTORDR 1288 02155 114060 JSB .CARD,I GET INPUT FROM CARD READER 1289 02156 050501 CPA M3 END-OF-TAPE? 1290 02157 026021 JMP RDYPT YES- GO TO ENTRY POINT 1291* 1292 02160 002003 PRERR SZA,RSS NULL RECORD? 1293 02161 026147 JMP PTAPE YES- READ AGAIN 1294 02162 026060 JMP RPRCS GO PROCESS RECORD 1295* 1296*** STOP COMMAND 1297* 1298 02163 000000 STOP NOP 1299 02164 114106 JSB IMOFF,I 1300 02165 002400 CLA CLEAR EXECUTION 1301 02166 114104 JSB SEXU,I FLAG 1302 02167 114112 JSB WRITE,I OUTPUT A CR-LF 1303 02170 060373 LDA .4 1304 02171 064247 LDB STOPA PRINT "STOP" 1305 02172 114112 JSB WRITE,I 1306 02173 026021 JMP RDYPT GO TO READY POINT 1307* 1308*** TAPE COMMAND 1309* 1310 02174 006400 TAPE CLB CLEAR TTY FLAG 1311 02175 074127 STB TFLAG 1312 02176 070130 STA TTYFL 1313 02177 114106 JSB IMOFF,I 1314 02200 026043 JMP !TAPE SET UP TAPE INPUT 1315* 1316*** EXECUTE LOG-OFF COMMAND 1317* 1318 02201 124101 JMP ?OFF,I 1319* 1320*** MESG COMMAND 1321* 1322 02202 124102 JMP ?MESG,I 1323* 1324*** RENUMBER COMMAND 1325* 1326 02203 126204 JMP ?NBER,I EXECUTE "RENUMBER" COMMAND 1327* 1328 02204 005037 ?NBER DEF RENUM LINK TO RENUMBER EXECUTION 1329* 1330 HED CHECK SYNTAX AND TRANSLITERATE 1331* 1332* 1333*** CHECK SYNTAX OF STATEMENT *** 1334* 1335** 1336*** DETERMINE SEQUENCE NUMBER ** 1337** 1338 02205 114266 SYNTX JSB INCHK,I RECORD 1339 02206 000532 DEF MAXSN SEQUENCE NUMBER 1340 02207 034133 ISZ SBPTR SAVE SPACE FOR LENGTH WORD 1341 02210 074124 STB .LNUM SAVE LINE NUMBER 1342 02211 064120 LDB SBUFA SET 1343 02212 006004 INB TEMP TO 1344 02213 074206 STB TEMP (SBUFF)+1 1345** 1346*** DETERMINE STATEMENT TYPE ** 1347** 1348 02214 050400 CPA .10 NULL STATEMENT? 1349 02215 124323 JMP DELST,I YES, DELETE IT 1350 02216 170133 STA SBPTR,I NO, RECORD NEXT CHARACTER 1351 02217 060353 LDA STTYP PRINT-TABLE ADDRESS 1352 02220 064514 LDB M19 -(NUMBER OF ENTRIES) 1353 02221 114262 JSB TSRCH,I FIND STATEMENT TYPE 1354 02222 014544 JSB ERROR NOT FOUND 1355 02223 064507 SYNE1 LDB M9 1356 02224 076315 STB MSFLG TO FALSE 1357 02225 064122 LDB PBPTR SET S-STACK 1358 02226 054121 CPB PBUFF 1359 02227 002001 RSS 1360 02230 026234 JMP SYNT1 1361 02231 064114 LDB FWAM 1362 02232 074121 STB PBUFF 1363 02233 074122 STB PBPTR 1364 02234 074205 SYNT1 STB TEMPS 1365 02235 006400 CLB SET DEFINE FLAG 1366 02236 076317 STB DFLAG TO FALSE 1367 02237 076321 STB PFLAG SET PARAMETER FLAG TO FALSE 1368 02240 001727 ALF,ALF COMPUTE 1369 02241 001300 RAR ADDRESS OF 1370 02242 040346 ADA STBAS SYNTAX ROUTINE AND 1371 02243 124000 JMP 0,I BRANCH TO IT 1372** 1373*** SINGLE CHARACTER AND/OR FORMULA OPERATORS ** 1374** 1375 02244 001000 QUOTE OCT 1000 BITS 15-9 OF THE LABELLED WORD 1376 02245 021040 ASC 1," 1377 02246 002000 COMMA OCT 2000 ARE THE BASIC CODE OPERATOR 1378 02247 026040 ASC 1,, 1379 02250 003000 SMCLN OCT 3000 NUMBERS. BITS 3-0 ARE THE 1380 02251 035440 ASC 1,; 1381 02252 004001 RPARN OCT 4001 OPERATOR'S HIERARCHICAL 1382 02253 024440 ASC 1,) 1383 02254 005001 RBRAC OCT 5001 PRECEDENCE FOR THOSE OPERATORS 1384 02255 056440 ASC 1,] 1385 02256 006002 SCMMA OCT 6002 BELONGING TO FORMULAS. THE 1386 02257 026040 ASC 1,, 1387 02260 007002 ASSOP OCT 7002 UNLABELED WORD GIVES THE 1388 02261 036440 ASC 1,= 1389 02262 010007 PLUS OCT 10007 ASCII REPRESENTATION OF THE 1390 02263 025440 ASC 1,+ 1391 02264 011007 MINUS OCT 11007 SINGLE CHARACTER OPERATORS. 1392 02265 026440 ASC 1,- 1393 02266 012010 TIMES OCT 12010 1394 02267 025040 ASC 1,* 1395 02270 013010 DIV OCT 13010 1396 02271 027440 ASC 1,/ 1397 02272 014012 EXPS OCT 14012 1398 02273 057040 ASC 1,^ 1399 02274 015005 GTR OCT 15005 1400 02275 037040 ASC 1,> 1401 02276 016005 LSS OCT 16005 1402 02277 036040 ASC 1,< 1403 02300 017005 UNEQL OCT 17005 1404 02301 021440 ASC 1,# 1405 02302 020005 EQUAL OCT 20005 1406 02303 036440 ASC 1,= 1407 02304 021011 UNMIN OCT 21011 1408 02305 026440 ASC 1,- 1409 02306 022020 LBRAC OCT 22020 1410 02307 055440 ASC 1,[ 1411 02310 023020 LPARN OCT 23020 1412 02311 024040 ASC 1,( 1413 02312 024011 UPLUS OCT 24011 1414 02313 025440 ASC 1,+ 1415 02314 025003 OROP OCT 25003 1416 02315 000000 MSFLG NOP 1417 02316 026004 ANDOP OCT 26004 1418 02317 000000 DFLAG NOP 1419 02320 027011 NOTOP OCT 27011 1420 02321 000000 PFLAG NOP 1421 02322 030005 GTREQ OCT 30005 1422 02323 000000 UFLAG NOP 1423 02324 031005 LSSEQ OCT 31005 1424* 1425** LET STATEMENT SYNTAX ** 1426* 1427 02325 077461 LETS STB SFLAG 1428 02326 060506 LDA M8 SET MULTIPLE STORE FLAG 1429 02327 072315 STA MSFLG TO TRUE 1430 02330 017045 JSB FSC FETCH FORMULA 1431 02331 057461 CPB SFLAG STORE OCCUR? 1432 02332 014544 JSB ERROR NO 1433 02333 SYNE2 EQU * 1434** 1435*** CHECK FOR END OF STATEMENT ** 1436** 1437 02333 050400 EOST CPA .10 END-OF-STATEMENT? 1438 02334 124322 JMP ACCST,I YES, ACCEPT STATEMENT 1439 02335 024336 JMP NOEOF NO, ILLEGAL CHARACTER 1440* 1441*** DIM STATEMENT SYNTAX 1442* 1443 02336 036317 DIMS ISZ DFLAG SET DFLAG TO TRUE 1444 02337 017461 JSB ARRYS CHECK AN ARRAY 1445 02340 124322 JMP ACCST,I DONE 1446 02341 026337 JMP DIMS+1 WAS A COMMA, CONTINUE 1447* 1448*** COM STATEMENT SYNTAX 1449* 1450 02342 064122 COMS LDB PBPTR HAS A PROGRAM BUFFER 1451 02343 054114 CPB FWAM BEEN MOVED? 1452 02344 002001 RSS NO 1453 02345 014544 JSB ERROR YES, ILLEGAL COM 1454 02346 074214 SYNE3 STB TEMPS+7 SET ARRAY POINTER 1455 02347 036317 ISZ DFLAG SET DEFINE FLAG TO TRUE 1456 02350 003400 COMS1 CCA SET COMMON FLAG 1457 02351 072321 STA PFLAG TO TRUE 1458 02352 017461 JSB ARRYS CHECK AN ARRAY 1459 02353 002001 RSS DONE 1460 02354 026350 JMP COMS1 MORE ARRAYS 1461 02355 064214 LDB TEMPS+7 FETCH UPDATED POINTER 1462 02356 074121 STB PBUFF SET PROGRAM BUFFER ADDRESS 1463 02357 074122 STB PBPTR SET PROGRAM BUFFER POINTER 1464 02360 124322 JMP ACCST,I EXIT 1465* 1466*** DEF STATEMENT SYNTAX 1467* 1468 02361 017566 DEFS JSB LTR 1469 02362 026372 JMP SYNE4 FIRST 1470 02363 060207 LDA TEMP1 1471 02364 001727 ALF,ALF TWO CHARACTERS 1472 02365 030210 IOR TEMP2 1473 02366 050533 CPA FN 'FN'? 1474 02367 002001 RSS YES 1475 02370 026372 JMP SYNE4 NO 1476 02371 017566 JSB LTR LETTER FOLLOWS? 1477 02372 014544 SYNE4 JSB ERROR NO 1478 02373 060207 LDA TEMP1 YES, RECORD 1479 02374 064427 LDB .58 FUNCTION 1480 02375 017601 JSB STROP NAME 1481 02376 060210 LDA TEMP2 RETRIEVE NEXT CHARACTER 1482 02377 017612 JSB LPCK LEFT PARENTHESIS? 1483 02400 030536 IOR FLGBT YES, SET FORMAL 1484 02401 170133 STA SBPTR,I PARAMETER BIT 1485 02402 017507 JSB VAROP FETCH SIMPLE VARIABLE 1486 02403 000000 NOP NONE FOUND 1487 02404 014544 JSB ERROR SUBSCRIPTED VARIABLE FOUND 1488 02405 017622 SYNE5 JSB RPCK RECORD A RIGHT PARENTHESIS 1489 02406 007400 CCB ASSIGNMENT 1490 02407 015355 JSB SYMCK 1491 02410 002257 DEF ASSOP-1 OPERATOR? 1492 02411 014544 SYNE6 JSB ERROR NO 1493 02412 060500 LDA M2 YES, 1494 02413 040133 ADA SBPTR RETRIEVE 1495 02414 160000 LDA 0,I PARAMETER 1496 02415 010450 AND MSK1 AND 1497 02416 072321 STA PFLAG SAVE IT 1498 02417 017045 JSB FSC FETCH DEFINING FORMULA 1499 02420 026333 JMP EOST END-OF-STATEMENT TEST 1500* 1501*** REM STATEMENT SYNTAX 1502* 1503 02421 060400 REMS LDA .10 DUMMY STRING TERMINATOR 1504 02422 114321 JSB CHRSA,I FETCH CHARACTER STRING 1505 02423 124322 JMP ACCST,I 1506* 1507*** IF STATEMENT SYNTAX 1508* 1509 02424 017045 IFS JSB FSC GET DECISION FORMULA 1510 02425 170133 STA SBPTR,I TABLE 1511 02426 060362 LDA ATHEN SEARCH 1512 02427 007400 CCB FOR 1513 02430 114262 JSB TSRCH,I 'THEN' 1514 02431 014544 JSB ERROR NOT FOUND 1515 02432 SYNE7 EQU * 1516* 1517*** GOTO AND GOSUB STATEMENT SYNTAX 1518* 1519 02432 114271 GOTOS JSB PGINT,I FETCH AND RECORD 1520 02433 000532 DEF MAXSN SEQUENCE NUMBER 1521 02434 026333 JMP EOST END-OF-STATEMENT TEST 1522* 1523*** FOR STATEMENT SYNTAX 1524* 1525 02435 017507 FORS JSB VAROP FETCH SIMPLE VARIABLE 1526 02436 000000 NOP NONE FOUND 1527 02437 014544 SYNE8 JSB ERROR SUBSCRIPTED VARIABLE FOUND 1528 02440 007400 CCB 1529 02441 015355 JSB SYMCK ASSIGNMENT 1530 02442 002257 DEF ASSOP-1 OPERATOR? 1531 02443 026411 JMP SYNE6 NO 1532 02444 017045 JSB FSC YES, FETCH INITIAL VALUE FORMULA 1533 02445 170133 STA SBPTR,I LOOK 1534 02446 060363 LDA ATO FOR 1535 02447 007400 CCB THE 1536 02450 114262 JSB TSRCH,I 'TO' 1537 02451 014544 JSB ERROR MISSING 1538 02452 017045 SYNE9 JSB FSC 1539 02453 050400 CPA .10 END-OF-STATEMENT? 1540 02454 124322 JMP ACCST,I YES 1541 02455 007400 CCB FOR 1542 02456 044133 ADB SBPTR 1543 02457 074133 STB SBPTR 1544 02460 170133 STA SBPTR,I NO, 1545 02461 060364 LDA ASTEP LOOK 1546 02462 007400 CCB 1547 02463 114262 JSB TSRCH,I THE 'STEP' 1548 02464 014544 JSB ERROR MISSING 1549 02465 017045 SYE10 JSB FSC 1550 02466 026333 JMP EOST END-OF-STATEMENT TEST 1551* 1552*** NEXT STATEMENT SYNTAX 1553* 1554 02467 017507 NXTS JSB VAROP FETCH SIMPLE VARIABLE 1555 02470 000000 NOP NONE FOUND 1556 02471 026437 JMP SYNE8 SUBSCRIPTED VARIABLE FOUND 1557 02472 026333 JMP EOST END-OF-STATEMENT TEST 1558* 1559*** END, STOP, RESTORE, RETURN STATEMENT SYNTAX 1560* 1561 02473 034133 ENDS ISZ SBPTR 1562 02474 015662 JSB GETCR END-OF-STATEMENT? 1563 02475 124322 JMP ACCST,I YES 1564 02476 024336 JMP NOEOF NO 1565* 1566*** DATA STATEMENT SYNTAX 1567* 1568 02477 014642 DATAS JSB CONST FETCH A CONSTANT 1569 02500 024670 JMP SYE12-1 1570 02501 017645 JSB NUMOP 1571 02502 007400 CCB CHECK 1572 02503 015355 JSB SYMCK FOR A 1573 02504 002245 DEF COMMA-1 COMMA 1574 02505 026333 JMP EOST END-OF-STATEMENT TEST 1575 02506 026477 JMP DATAS FETCH ANOTHER NUMBER 1576* 1577*** READ AND INPUT STATEMENT SYNTAX 1578* 1579 02507 017507 READS JSB VAROP RECORD VARIABLE OPERAND 1580 02510 014544 JSB ERROR MISSING 1581 02511 000000 SYE13 NOP 1582 02512 007400 CCB CHECK 1583 02513 015355 JSB SYMCK FOR A 1584 02514 002245 DEF COMMA-1 COMMA 1585 02515 002001 RSS 1586 02516 026507 JMP READS IS, FETCH NEXT ITEM 1587 02517 006400 CLB APPEND 1588 02520 174133 STB SBPTR,I END-OF-FORMULA 1589 02521 034133 ISZ SBPTR OPERATOR 1590 02522 026333 JMP EOST END OF STATEMENT TEXT 1591* 1592*** PRINT STATEMENT SYNTAX 1593* 1594 02523 064500 PRIN1 LDB M2 NO, 1595 02524 015355 JSB SYMCK COMMA OR 1596 02525 002245 DEF COMMA-1 SEMICOLON? 1597 02526 026534 JMP PRIN2 NO 1598 02527 003400 PRINS CCA YES, ENABLE 1599 02530 170206 STA TEMP,I FORMULA 1600 02531 034133 ISZ SBPTR 1601 02532 015662 JSB GETCR END-OF-STATEMENT? 1602 02533 124322 JMP ACCST,I YES 1603 02534 007400 PRIN2 CCB 1604 02535 015355 JSB SYMCK QUOTE? 1605 02536 002243 DEF QUOTE-1 1606 02537 026553 JMP PRIN3 NO 1607 02540 060413 LDA .34 YES, SET QUOTE AS TERMINATOR 1608 02541 114321 JSB CHRSA,I CHARACTER AND FETCH STRING 1609 02542 014544 JSB ERROR MISSING QUOTE 1610 02543 062244 SYE14 LDA QUOTE RECORD 1611 02544 170133 STA SBPTR,I QUOTE 1612 02545 034133 ISZ SBPTR 1613 02546 015662 JSB GETCR END-OF-STATEMENT? 1614 02547 124322 JMP ACCST,I YES 1615 02550 007400 CCB ENABLE 1616 02551 174206 STB TEMP,I FORMULA 1617 02552 026523 JMP PRIN1 NO 1618 02553 134206 PRIN3 ISZ TEMP,I TAB OR FORMULA PERMITTED? 1619 02554 014544 JSB ERROR NO 1620 02555 170133 SYE15 STA SBPTR,I SEARCH 1621 02556 060366 LDA ATAB FOR 1622 02557 007400 CCB 'TAB' 1623 02560 114262 JSB TSRCH,I 1624 02561 002401 CLA,RSS 1625 02562 060473 LDA TABCN FOUND, 1626 02563 007400 CCB 1627 02564 044133 ADB SBPTR 1628 02565 074133 STB SBPTR 1629 02566 002003 SZA,RSS 1630 02567 026577 JMP PRIN4 1631 02570 130133 IOR SBPTR,I 1632 02571 170133 STA SBPTR,I RECORD 'TAB' 1633 02572 017635 JSB GETPF FETCH PARAMETER 1634 02573 006400 CLB 1635 02574 174133 STB SBPTR,I 1636 02575 034133 ISZ SBPTR 1637 02576 026601 JMP PRIN5 1638 02577 015701 PRIN4 JSB BCKSP BACKSPACE OVER LAST CHARACTER 1639 02600 017045 JSB FSC FETCH FORMULA 1640 02601 050400 PRIN5 CPA .10 END-OF-STATEMENT? 1641 02602 124322 JMP ACCST,I YES 1642 02603 026523 JMP PRIN1 NO 1643* 1644*** MAT STATEMENT SYNTAX 1645* 1646 02604 017566 MATS JSB LTR FIRST 1647 02605 014544 JSB ERROR TWO CHARACTERS 1648 02606 015651 SYE16 JSB LETCK LETTERS? 1649 02607 026652 JMP MATS2 NO 1650 02610 034133 ISZ SBPTR YES, MOVE TO FRESH S-BUFFER WORD 1651 02611 064207 LDB TEMP1 RETRIEVE FIRST LETTER AND 1652 02612 005727 BLF,BLF PUT IT IN THE 1653 02613 030001 IOR 1 UPPER CHARACTER OF (A) 1654 02614 170133 STA SBPTR,I SEARCH 1655 02615 060354 LDA MATIO FOR 1656 02616 064500 LDB M2 'READ' OR 1657 02617 114262 JSB TSRCH,I 'PRINT' 1658 02620 014544 JSB ERROR NOT FOUND 1659 02621 050465 SYE17 CPA RDOP 1660 02622 026640 JMP MATS1 YES 1661 02623 017475 MATS0 JSB ARRID RECORD ARRAY 1662 02624 050400 CPA .10 END-OF-STATEMENT? 1663 02625 124322 JMP ACCST,I YES 1664 02626 064500 LDB M2 NO, 1665 02627 015355 JSB SYMCK COMMA OR 1666 02630 002245 DEF COMMA-1 SEMICOLON? 1667 02631 014544 JSB ERROR NO 1668 02632 015662 SYE18 JSB GETCR END-OF-STATEMENT? 1669 02633 026636 JMP *+3 YES 1670 02634 015701 JSB BCKSP NO 1671 02635 026623 JMP MATS0 1672 02636 034133 ISZ SBPTR INCLUDE 1673 02637 124322 JMP ACCST,I PARAMETER 1674 02640 017475 MATS1 JSB ARRID RECORD ARRAY 1675 02641 117017 JSB MAT&,I 1676 02642 000000 NOP RECORD IT 1677 02643 050400 CPA .10 END-OF-STATEMENT 1678 02644 124322 JMP ACCST,I YES 1679 02645 007400 CCB NO 1680 02646 015355 JSB SYMCK 1681 02647 002245 DEF COMMA-1 COMMA? 1682 02650 026631 JMP SYE18-1 NO 1683 02651 026640 JMP MATS1 YES 1684 02652 070210 MATS2 STA TEMP2 1685 02653 060133 LDA SBPTR SAVE 1686 02654 070226 STA ARYAD OPERAND ADDRESS 1687 02655 060207 LDA TEMP1 RETRIEVE FIRST LETTER 1688 02656 064423 LDB .46 RECORD AN 1689 02657 017601 JSB STROP ARRAY 1690 02660 060210 LDA TEMP2 RETRIEVE CHARACTER 1691 02661 007400 CCB ASSIGNMENT 1692 02662 015355 JSB SYMCK 1693 02663 002257 DEF ASSOP-1 OPERATOR? 1694 02664 026411 JMP SYNE6 NO 1695 02665 160226 LDA ARYAD,I YES RETRIEVE 1696 02666 010450 AND MSK1 AND SAVE 1697 02667 170206 STA TEMP,I PREVIOUS ARRAY IDENTIFIER 1698 02670 017566 JSB LTR LETTER NEXT? 1699 02671 026740 JMP MATS4 NO 1700 02672 015651 JSB LETCK YES, SECOND LETTER? 1701 02673 026754 JMP MATS5 NO 1702 02674 034133 ISZ SBPTR YES, 1703 02675 064207 LDB TEMP1 CONCATENATE 1704 02676 005727 BLF,BLF LETTERS 1705 02677 030001 IOR 1 AND 1706 02700 170133 STA SBPTR,I SEARCH 1707 02701 060357 LDA MATFN FOR 1708 02702 064503 LDB M5 ARRAY 1709 02703 114262 JSB TSRCH,I FUNCTION 1710 02704 014544 JSB ERROR NOT FOUND 1711 02705 001727 SYE19 ALF,ALF FOUND 1712 02706 001723 ALF,RAR POSITION IT, 1713 02707 040402 ADA .15 COMPLETE OPERAND, 1714 02710 007400 CCB COMBINE 1715 02711 044133 ADB SBPTR WITH 1716 02712 130001 IOR 1,I OPERATOR, 1717 02713 030536 IOR FLGBT ADD FLAG BIT, 1718 02714 170001 STA 1,I AND STORE 1719 02715 010450 AND MSK1 'INV' 1720 02716 040527 ADA M256 OR 1721 02717 002021 SSA,RSS 'TRN'? 1722 02720 026726 JMP MATS3 YES 1723 02721 015662 JSB GETCR NO, END-OF-STATEMENT? 1724 02722 124322 JMP ACCST,I YES 1725 02723 117017 JSB MAT&,I 1726 02724 014544 JSB ERROR NO 1727 02725 024336 SYE20 JMP NOEOF 1728 02726 015662 MATS3 JSB GETCR 1729 02727 024335 JMP EOF 1730 02730 017612 JSB LPCK GET LEFT PARENTHESIS 1731 02731 017475 JSB ARRID FETCH AND RECORD AN ARRAY 1732 02732 017622 JSB RPCK RECORD A RIGHT PARENTHESIS 1733 02733 160226 LDA ARYAD,I RETRIEVE 1734 02734 010450 AND MSK1 PREVIOUS ARRAY IDENTIFIER 1735 02735 150206 CPA TEMP,I MATCH LEFT-HAND SIDE ARRAY? 1736 02736 014544 JSB ERROR YES 1737 02737 124322 SYE21 JMP ACCST,I NO 1738 02740 034133 MATS4 ISZ SBPTR 1739 02741 017612 JSB LPCK FETCH LEFT PARENTHESIS 1740 02742 017045 JSB FSC FETCH FORMULA 1741 02743 017622 JSB RPCK FETCH RIGHT PARENTHESIS 1742 02744 007400 CCB MULTIPLICATION 1743 02745 015355 JSB SYMCK OPERATOR? 1744 02746 002265 DEF TIMES-1 1745 02747 014544 JSB ERROR NO 1746 02750 017475 SYE22 JSB ARRID YES, FETCH AND RECORD ARRAY 1747 02751 050400 CPA .10 END-OF-STATEMENT? 1748 02752 124322 JMP ACCST,I YES 1749 02753 024336 JMP NOEOF NO 1750 02754 070210 MATS5 STA TEMP2 1751 02755 060133 LDA SBPTR SAVE 1752 02756 070226 STA ARYAD OPERAND ADDRESS 1753 02757 060207 LDA TEMP1 RETRIEVE 1754 02760 064423 LDB .46 AND RECORD 1755 02761 017601 JSB STROP ARRAY 1756 02762 060210 LDA TEMP2 END-OF- 1757 02763 050400 CPA .10 STATEMENT? 1758 02764 124322 JMP ACCST,I YES 1759 02765 064501 LDB M3 NO, MUST BE 1760 02766 015355 JSB SYMCK A '+', 1761 02767 002261 DEF PLUS-1 '-',OR'*' 1762 02770 014544 JSB ERROR ISN'T 1763 02771 006400 SYE23 CLB IS, SET FOR FALSE 1764 02772 040376 ADA .8 1765 02773 052266 CPA TIMES '*'? 1766 02774 027011 JMP MATS7 YES 1767 02775 076321 MATS6 STB PFLAG NO, SET PFLAG 1768 02776 017475 JSB ARRID GET SECOND ARRAY 1769 02777 050400 CPA .10 END-OF-STATEMENT? 1770 03000 002001 RSS YES 1771 03001 024336 JMP NOEOF NO 1772 03002 036321 ISZ PFLAG WAS OPERATOR A '*'? 1773 03003 124322 JMP ACCST,I NO 1774 03004 160226 LDA ARYAD,I YES RETRIEVE 1775 03005 010450 AND MSK1 SECOND ARRAY 1776 03006 150206 CPA TEMP,I MATCH LEFT-HAND SIDE ARRAY? 1777 03007 014544 SYE24 JSB ERROR YES 1778 03010 124322 JMP ACCST,I NO 1779 03011 160226 MATS7 LDA ARYAD,I RETRIEVE 1780 03012 010450 AND MSK1 ARRAY 1781 03013 007400 CCB SET FOR TRUE 1782 03014 150206 CPA TEMP,I MATCH LEFT-HAND SIDE ARRAY? 1783 03015 027007 JMP SYE24 YES 1784 03016 026775 JMP MATS6 NO 1785 03017 013150 MAT& DEF MATSB 1786** 1787*** JUMP TABLE FOR STATEMENT SYNTAX ** 1788** 1789 03020 002325 SYNTB DEF LETS LET 1790 03021 002336 DEF DIMS DIM 1791 03022 002342 DEF COMS COM 1792 03023 002361 DEF DEFS DEF 1793 03024 002421 DEF REMS REM 1794 03025 002432 DEF GOTOS GO TO 1795 03026 002424 DEF IFS IF 1796 03027 002435 DEF FORS FOR 1797 03030 002467 DEF NXTS NEXT 1798 03031 002432 DEF GOTOS GOSUB 1799 03032 002473 DEF ENDS RETURN 1800 03033 002473 DEF ENDS END 1801 03034 002473 DEF ENDS STOP 1802* 1803* THESE TWO STATEMENTS WILL FORCE AN ERROR 1804* CALL AND WAIT 1805* 1806 03035 002473 DEF ENDS ANALYZE WAIT AS END STATEMENT 1807 03036 002473 DEF ENDS ANALYZE CALL AS END STATEMENT 1808 03037 002477 DEF DATAS DATA 1809 03040 002507 DEF READS READ 1810 03041 002527 DEF PRINS PRINT 1811 03042 002507 DEF READS INPUT 1812 03043 002473 DEF ENDS RESTORE 1813 03044 002604 DEF MATS MAT 1815* 1816*** FORMULA SYNTAX CHECKER 1817* 1818 03045 000000 FSC NOP 1819 03046 002400 CLA SET LEFT PARENTHESIS 1820 03047 170205 STA TEMPS,I COUNT TO ZERO 1821 03050 003400 FSC1 CCA SET UNARY FLAG 1822 03051 072323 STA UFLAG TO TRUE 1823 03052 017507 FSC2 JSB VAROP LOOK FOR VARIABLE OPERAND 1824 03053 027212 JMP FSC9 NOT FOUND 1825 03054 027160 JMP FSC6 SUBSCRIPTED VARIABLE FOUND 1826 03055 015651 JSB LETCK FOLLOWED BY LETTER? 1827 03056 027160 JMP FSC6 NO 1828 03057 064500 LDB M2 YES, LOOK FOR 1829 03060 017253 JSB MCBCK 'AND' OR 'OR' 1830 03061 060207 LDA TEMP1 NOT FOUND, FETCH PREVIOUS 1831 03062 001727 ALF,ALF CHARACTER AND LEFT-JUSTIFY IT 1832 03063 030210 IOR TEMP2 ADD LATEST CHARACTER 1833 03064 050533 CPA FN 'FN'? 1834 03065 027113 JMP FSC4 YES 1835 03066 170133 STA SBPTR,I NO, 1836 03067 060356 LDA PDFNS SEARCH FOR 1837 03070 064511 LDB M11 PREDEFINED 1838 03071 114262 JSB TSRCH,I FUNCTION 1839 03072 027077 JMP FSC3 NOT FOUND 1840 03073 001727 ALF,ALF ASSEMBLE 1841 03074 001723 ALF,RAR OPERAND 1842 03075 030536 IOR FLGBT ADD FLAG BIT 1843 03076 027121 JMP FSC5 1844 03077 036323 FSC3 ISZ UFLAG 'NOT' PERMITTED? 1845 03100 027203 JMP FSC8-1 NO 1846 03101 060365 LDA ANOT YES, 1847 03102 007400 CCB SEARCH FOR 1848 03103 114262 JSB TSRCH,I 'NOT' 1849 03104 027203 JMP FSC8-1 'NOT' NOT FOUND 1850 03105 007400 CCB RETRIEVE 1851 03106 044133 ADB SBPTR PREVIOUS WORD 1852 03107 160001 LDA 1,I WORD 1853 03110 010467 AND OPMSK SET TO 1854 03111 170001 STA 1,I NULL OPERAND 1855 03112 027250 JMP FSC14 1856 03113 015662 FSC4 JSB GETCR IDENTIFYING 1857 03114 026372 JMP SYNE4 FUNCTION 1858 03115 015651 JSB LETCK LETTER? 1859 03116 026372 JMP SYNE4 NO 1860 03117 040522 ADA D100 YES, 1861 03120 001700 ALF ASSEMBLE AND 1862 03121 040402 FSC5 ADA .15 SAVE 1863 03122 070207 STA TEMP1 FUNCTION IDENTIFIER 1864 03123 007400 CCB RETRIEVE 1865 03124 044133 ADB SBPTR PREVIOUS 1866 03125 160001 LDA 1,I PROGRAM WORD 1867 03126 010467 AND OPMSK EXTRACT OPERATOR, 1868 03127 030207 IOR TEMP1 APPEND OPERAND, 1869 03130 170001 STA 1,I AND RECORD 1870 03131 015662 JSB GETCR LEFT PARENTHESIS 1871 03132 014544 FSCE1 JSB ERROR OR 1872 03133 017612 JSB LPCK LEFT BRACKET? 1873 03134 017304 JSB FRCUR YES, SAVE LOCAL VARIABLES OF FSC 1874 03135 017045 JSB FSC FETCH ACTUAL PARAMETER 1875 03136 017261 JSB FPOP RESTORE LOCAL VARIABLE OF FSC 1876 03137 017622 JSB RPCK FETCH RIGHT PARENTHESIS 1877 03140 027223 JMP FSC10+1 1878 03141 064500 FSC7 LDB M2 1879 03142 015355 JSB SYMCK 1880 03143 002251 DEF RPARN-1 1881 03144 027204 JMP FSC8 1882 03145 060455 LDA B4000 1883 03146 170133 STA SBPTR,I 1884 03147 060420 LDA .41 1885 03150 007400 CCB 1886 03151 144205 ADB TEMPS,I 1887 03152 006020 SSB 1888 03153 027204 JMP FSC8 1889 03154 174205 STB TEMPS,I 1890 03155 034133 ISZ SBPTR 1891 03156 015662 JSB GETCR 1892 03157 060400 LDA .10 1893 03160 050400 FSC6 CPA .10 END OF FORMULA? 1894 03161 027204 JMP FSC8 YES 1895 03162 072323 STA UFLAG NO, SET UNARY FLAG TO FALSE 1896 03163 064503 LDB M5 1897 03164 017253 JSB MCBCK BINARY OPERATOR 1898 03165 160133 LDA SBPTR,I NOT FOUND, 1899 03166 001727 ALF,ALF RESTORE 1900 03167 010443 AND B177 CHARACTER 1901 03170 066315 LDB MSFLG SEARCH 1902 03171 015355 JSB SYMCK FOR A 1903 03172 002261 DEF PLUS-1 BINARY OPERATOR 1904 03173 002001 RSS NOT 1905 03174 027232 JMP FSC12 1906 03175 007400 CCB ASSIGNMENT 1907 03176 015355 JSB SYMCK 1908 03177 002257 DEF ASSOP-1 OPERATOR? 1909 03200 027141 JMP FSC7 NO 1910 03201 073461 STA SFLAG YES, SET 1911 03202 027050 JMP FSC1 'STORE OCCURRED' FLAG 1912 03203 060210 LDA TEMP2 1913 03204 164205 FSC8 LDB TEMPS,I ALL LEFT PARENTHESES 1914 03205 006002 SZB MATCHED? 1915 03206 014544 FSCE2 JSB ERROR NO 1916 03207 174133 STB SBPTR,I YES, RECORD AN 1917 03210 034133 ISZ SBPTR END-OF-FORMULA AND 1918 03211 127045 JMP FSC,I EXIT WITH CHARACTER IN (A) 1919 03212 050417 FSC9 CPA .40 1920 03213 027226 JMP FSC11 1921 03214 050442 CPA B133 1922 03215 027226 JMP FSC11 1923 03216 006400 CLB 1924 03217 074147 STB SIGN POSITIVE 1925 03220 014672 JSB NUMCK NUMBER? 1926 03221 027235 JMP FSC13 1927 03222 017645 FSC10 JSB NUMOP YES, FIX UP PRECEDING OPERATOR 1928 03223 064507 LDB M9 UPDATE 1929 03224 076315 STB MSFLG MULTIPLE STORE 1930 03225 027160 JMP FSC6 FLAG 1931 03226 034133 FSC11 ISZ SBPTR 1932 03227 060462 LDA B2300 1933 03230 170133 STA SBPTR,I 1934 03231 134205 ISZ TEMPS,I 1935 03232 064507 FSC12 LDB M9 1936 03233 076315 STB MSFLG 1937 03234 027050 JMP FSC1 1938 03235 036323 FSC13 ISZ UFLAG UNARY OPERATORS PERMITTED? 1939 03236 014544 FSCE3 JSB ERROR NO 1940 03237 064460 LDB UNMNC 1941 03240 050421 CPA .43 '+'? 1942 03241 027245 JMP *+4 YES 1943 03242 050422 CPA .45 NO, '-'? 1944 03243 027246 JMP *+3 YES 1945 03244 027236 JMP FSCE3 NO 1946 03245 044453 ADB B3000 STORE 1947 03246 034133 ISZ SBPTR UNARY 1948 03247 174133 STB SBPTR,I OPERATOR 1949 03250 064507 FSC14 LDB M9 UPDATE 1950 03251 076315 STB MSFLG MULTIPLE STORE FLAG 1951 03252 027052 JMP FSC2 FLAG 1952* 1953*** CHECK FOR MULTICHARACTER BINARY OPERATOR 1954* 1955 03253 000000 MCBCK NOP 1956 03254 170133 STA SBPTR,I SEARCH 1957 03255 060355 LDA MCBOP FOR 'AND' 1958 03256 114262 JSB TSRCH,I OR 'OR' 1959 03257 127253 JMP MCBCK,I NOT FOUND 1960 03260 027232 JMP FSC12 1961** 1962*** RESTORE FSC LOCAL QUANTITIES ** 1963** 1964 03261 000000 FPOP NOP 1965 03262 070207 STA TEMP1 SAVE CHARACTER 1966 03263 064205 LDB TEMPS 1967 03264 044503 ADB M5 1968 03265 074205 STB TEMPS RESTORE S-STACK TOP 1969 03266 006004 INB 1970 03267 160001 LDA 1,I 1971 03270 072315 STA MSFLG RESTORE MULTIPLE STORE FLAG 1972 03271 006004 INB 1973 03272 160001 LDA 1,I 1974 03273 072323 STA UFLAG RESTORE UNARY OPERATOR FLAG 1975 03274 006004 INB 1976 03275 160001 LDA 1,I 1977 03276 073045 STA FSC RESTORE FSC RETURN ADDRESS 1978 03277 006004 INB 1979 03300 160001 LDA 1,I RESTORE 1980 03301 073507 STA VAROP VAROP RETURN ADDRESS 1981 03302 060207 LDA TEMP1 RETRIEVE CHARACTER 1982 03303 127261 JMP FPOP,I 1983** 1984*** SAVE LOCAL QUANTITIES OF FSC ** 1985** 1986 03304 000000 FRCUR NOP 1987 03305 064205 LDB TEMPS FETCH CURRENT S-STACK POINTER 1988 03306 006004 INB UPDATE IT 1989 03307 062315 LDA MSFLG DUMP MULTIPLE STORE 1990 03310 170001 STA 1,I FLAG ON S-STACK 1991 03311 006004 INB 1992 03312 062323 LDA UFLAG STACK UNARY OPERATOR 1993 03313 170001 STA 1,I FLAG 1994 03314 006004 INB 1995 03315 063045 LDA FSC STACK FSC 1996 03316 170001 STA 1,I RETURN ADDRESS 1997 03317 063507 LDA VAROP STACK VAROP RETURN ADDRESS 1998 03320 017322 JSB SSOV AND CHECK FOR S-STACK OVERFLOW 1999 03321 127304 JMP FRCUR,I 2000** 2001*** PUT ITEM ON S-STACK AND CHECK FOR OVERFLOW ** 2002** 2003 03322 000000 SSOV NOP STORE QUANTITY 2004 03323 006004 INB ADVANCE S-STACK POINTER 2005 03324 170001 STA 1,I SAVE ITEM IN (A) 2006 03325 006004 INB ADVANCE S-STACK POINTER 2007 03326 074205 STB TEMPS AND RECORD IT 2008 03327 007004 CMB,INB LAST WORD 2009 03330 044115 ADB LWAM 2010 03331 006020 SSB EXCEEDED? 2011 03332 014544 FSCE4 JSB ERROR YES 2012 03333 127322 JMP SSOV,I 2013** 2014*** CHECK FOR SUBSCRIPT PART ** 2015** 2016 03334 000000 SBSCK NOP CHARACTER IN (A) 2017 03335 064500 LDB M2 LEFT BRACKET 2018 03336 015355 JSB SYMCK OR 2019 03337 002305 DEF LBRAC-1 LEFT PARENTHESIS? 2020 03340 127334 JMP SBSCK,I NO, RETURN VIA (P+1) 2021 03341 037334 ISZ SBSCK YES, SET RETURN TO (P+2) 2022 03342 160226 LDA ARYAD,I SET 2023 03343 010513 AND M16 ARRAY 2024 03344 002004 INA TO 2025 03345 170226 STA ARYAD,I SINGLE SUBSCRIPT 2026 03346 060461 LDA B2200 2027 03347 170133 STA SBPTR,I RECORD IT 2028 03350 006400 CLB DIM OR COM 2029 03351 056317 CPB DFLAG STATEMENT? 2030 03352 027424 JMP SBSC3 NO 2031 03353 114271 JSB PGINT,I FETCH INTEGER 2032 03354 000527 DEF M256 SUBSCRIPT BOUND 2033 03355 005727 BLF,BLF SAVE 2034 03356 074207 STB TEMP1 BOUND 2035 03357 007400 CCB 2036 03360 015355 JSB SYMCK NEXT CHARACTER 2037 03361 002255 DEF SCMMA-1 A COMMA? 2038 03362 027367 JMP SBSC1 2039 03363 134226 ISZ ARYAD,I NOTE SECOND SUBSCRIPT 2040 03364 114271 JSB PGINT,I FETCH SECOND 2041 03365 000527 DEF M256 INTEGER SUBSCRIPT BOUND 2042 03366 002001 RSS 2043 03367 006404 SBSC1 CLB,INB 2044 03370 036321 ISZ PFLAG COM STATEMENT? 2045 03371 027401 JMP SBSC2 NO 2046 03372 070210 STA TEMP2 SAVE CHARACTER 2047 03373 060001 LDA 1 2048 03374 030207 IOR TEMP1 RETRIEVE FIRST BOUND 2049 03375 015404 JSB MDIM FIND STORAGE NEED 2050 03376 040214 ADA TEMPS+7 UPDATE COM 2051 03377 070214 STA TEMPS+7 STORAGE POINTER 2052 03400 060210 LDA TEMP2 RETRIEVE NEXT CHARACTER 2053 03401 064500 SBSC2 LDB M2 RIGHT PARENTHESIS 2054 03402 015355 JSB SYMCK OR 2055 03403 002251 DEF RPARN-1 RIGHT BRACKET? 2056 03404 027206 JMP FSCE2 NO 2057 03405 060456 LDA LF 2058 03406 170133 STA SBPTR,I RIGHT BRACKET 2059 03407 034133 ISZ SBPTR ADJUST S-BUFFER POINTER 2060 03410 015662 JSB GETCR FETCH FOLLOWING 2061 03411 060400 LDA .10 CHARACTER 2062 03412 066317 LDB DFLAG 2063 03413 006002 SZB 2064 03414 127334 JMP SBSCK,I YES, EXIT 2065 03415 017261 JSB FPOP RESTORE FSC LOCAL VARIABLES 2066 03416 064500 LDB M2 RESTORE 2067 03417 044205 ADB TEMPS S-STACK 2068 03420 074205 STB TEMPS POINTER 2069 03421 006004 INB FETCH 2070 03422 164001 LDB 1,I RETURN ADDRESS 2071 03423 124001 JMP 1,I AND EXIT 2072 03424 063334 SBSC3 LDA SBSCK SAVE 2073 03425 064205 LDB TEMPS RETURN ADDRESS 2074 03426 017322 JSB SSOV ON S-STACK 2075 03427 017304 JSB FRCUR SAVE FSC LOCAL VARIABLES 2076 03430 064507 LDB M9 SET MULTIPLE STORE FLAG 2077 03431 076315 STB MSFLG TO FALSE 2078 03432 060226 LDA ARYAD SAVE 2079 03433 064205 LDB TEMPS OPERAND 2080 03434 017322 JSB SSOV ADDRESS 2081 03435 017045 JSB FSC GET SUBSCRIPT FORMULA 2082 03436 007400 CCB CANCEL 2083 03437 044133 ADB SBPTR END-OF-FORMULA 2084 03440 074133 STB SBPTR OPERATOR 2085 03441 064500 LDB M2 RESTORE 2086 03442 044205 ADB TEMPS S-STACK 2087 03443 074205 STB TEMPS POINTER 2088 03444 006004 INB RESTORE 2089 03445 164001 LDB 1,I OPERAND 2090 03446 074226 STB ARYAD ADDRESS 2091 03447 007400 CCB CANCEL OTHER 2092 03450 015355 JSB SYMCK 2093 03451 002255 DEF SCMMA-1 2094 03452 027401 JMP SBSC2 2095 03453 134226 ISZ ARYAD,I 2096 03454 017045 JSB FSC 2097 03455 007400 CCB 2098 03456 044133 ADB SBPTR 2099 03457 074133 STB SBPTR 2100 03460 027401 JMP SBSC2 2101** 2102*** CHECK SYNTAX OF ARRAY DEFINITIONS ** 2103** 2104 03461 000000 ARRYS NOP 2105 03462 017475 JSB ARRID FETCH ARRAY IDENTIFIER 2106 03463 017334 JSB SBSCK RECORD A SUBSCRIPT 2107 03464 014544 JSB ERROR MISSING SUBSCRIPT 2108 03465 050400 ARRE1 CPA .10 END-OF-STATEMENT? 2109 03466 127461 JMP ARRYS,I YES, RETURN VIA (P+1) 2110 03467 007400 CCB NO, 2111 03470 015355 JSB SYMCK MUST BE 2112 03471 002245 DEF COMMA-1 A COMMA 2113 03472 024336 JMP NOEOF ISN'T 2114 03473 037461 ISZ ARRYS IS, RETURN 2115 03474 127461 JMP ARRYS,I VIA (P+2) 2116** 2117*** FETCH ARRAY IDENTIFIER ** 2118** 2119 03475 000000 ARRID NOP 2120 03476 017566 JSB LTR FETCH LETTER 2121 03477 014544 JSB ERROR NONE FOUND 2122 03500 060133 ARRE2 LDA SBPTR SAVE 2123 03501 070226 STA ARYAD OPERAND ADDRESS 2124 03502 060207 LDA TEMP1 RECORD 2125 03503 064423 LDB .46 ARRAY 2126 03504 017601 JSB STROP IDENTIFIER 2127 03505 060210 LDA TEMP2 RETRIEVE FOLLOWING CHARACTER 2128 03506 127475 JMP ARRID,I 2129** 2130*** CHECK FOR VARIABLE OPERAND ** 2131** 2132 03507 000000 VAROP NOP 2133 03510 017566 JSB LTR LETTER? 2134 03511 127507 JMP VAROP,I NO, EXIT VIA (P+1) 2135 03512 037507 ISZ VAROP 2136 03513 050417 CPA .40 LEFT PARENTHESIS? 2137 03514 027555 JMP VARO5 YES 2138 03515 050442 CPA B133 NO, LEFT BRACKET? 2139 03516 027555 JMP VARO5 YES 2140 03517 037507 ISZ VAROP NO 2141 03520 015636 JSB DIGCK DIGIT? 2142 03521 027531 JMP VARO1 NO 2143 03522 060207 LDA TEMP1 YES, RETRIEVE LETTER, 2144 03523 044425 ADB .48 AND RESTORE ASCII DIGIT 2145 03524 074207 STB TEMP1 2146 03525 017601 JSB STROP RECORD VARIABLE 2147 03526 015662 JSB GETCR FETCH FOLLOWING 2148 03527 060400 LDA .10 CHARACTER 2149 03530 027535 JMP VARO2 2150 03531 060207 VARO1 LDA TEMP1 RETRIEVE LETTER, 2151 03532 064424 LDB .47 SET 'NO DIGIT', 2152 03533 017601 JSB STROP AND RECORD VARIABLE 2153 03534 060210 LDA TEMP2 RETRIEVE FOLLOWING CHARACTER 2154 03535 070210 VARO2 STA TEMP2 SAVE CHARACTER 2155 03536 006400 CLB INSIDE A 2156 03537 056321 CPB PFLAG DEF STATEMENT? 2157 03540 127507 JMP VAROP,I NO, EXIT VIA (P+3) 2158 03541 007400 CCB 2159 03542 044133 ADB SBPTR RETRIEVE 2160 03543 160001 LDA 1,I 2161 03544 010450 AND MSK1 OPERAND 2162 03545 052321 CPA PFLAG MATCH PARAMETER? 2163 03546 027551 JMP VARO4 YES 2164 03547 060210 VARO3 LDA TEMP2 NO, RETRIEVE 2165 03550 127507 JMP VAROP,I CHARACTER AND EXIT VIA (P+3) 2166 03551 160001 VARO4 LDA 1,I SET OPERAND TO 2167 03552 030536 IOR FLGBT ACTUAL PARAMETER 2168 03553 170001 STA 1,I AND RECORD IT 2169 03554 027547 JMP VARO3 2170 03555 060133 VARO5 LDA SBPTR SAVE 2171 03556 070226 STA ARYAD OPERAND ADDRESS 2172 03557 060207 LDA TEMP1 RETRIEVE LETTER 2173 03560 064423 LDB .46 RECORD 2174 03561 017601 JSB STROP ARRAY IDENTIFIER 2175 03562 060442 LDA B133 RETRIEVE LEFT BRACKET 2176 03563 017334 JSB SBSCK FETCH SUBSCRIPT 2177 03564 000000 NOP 2178 03565 127507 JMP VAROP,I EXIT VIA (P+2) 2179** 2180*** FETCH A LETTER ** 2181** 2182 03566 000000 LTR NOP 2183 03567 015662 JSB GETCR 2184 03570 060400 LDA .10 2185 03571 015651 JSB LETCK LETTER? 2186 03572 127566 JMP LTR,I NO, EXIT VIA (P+1) 2187 03573 037566 ISZ LTR YES, 2188 03574 070207 STA TEMP1 SAVE IT 2189 03575 015662 JSB GETCR NEXT CHARACTER 2190 03576 060400 LDA .10 TO (A) 2191 03577 070210 STA TEMP2 SAVE SECOND CHARACTER 2192 03600 127566 JMP LTR,I EXIT VIA (P+2) 2193** 2194*** STORE AN OPERAND NAME ** 2195** 2196 03601 000000 STROP NOP LETTER IN (A), NUMBER IN (B) 2197 03602 040522 ADA D100 NUMERICALLY ADJUST THE 2198 03603 044520 ADB D53 OPERAND NAME 2199 03604 001700 ALF COMBINE THE 2200 03605 030001 IOR 1 TWO PARTS 2201 03606 130133 IOR SBPTR,I COMPLETE OPERAND-OPERATOR PAIR 2202 03607 170133 STA SBPTR,I AND STORE IT 2203 03610 034133 ISZ SBPTR UPDATE S-BUFFER POINTER 2204 03611 127601 JMP STROP,I 2205** 2206*** CHECK FOR LEFT PARENTHESIS ** 2207** 2208 03612 000000 LPCK NOP CHARACTER IN (A) 2209 03613 064500 LDB M2 LEFT PARENTHESIS 2210 03614 015355 JSB SYMCK OR 2211 03615 002305 DEF LBRAC-1 LEFT BRACKET? 2212 03616 027132 JMP FSCE1 NO 2213 03617 060462 LDA B2300 2214 03620 170133 STA SBPTR,I PARENTHESIS 2215 03621 127612 JMP LPCK,I EXIT 2216** 2217*** CHECK FOR RIGHT PARENTHESIS ** 2218** 2219 03622 000000 RPCK NOP 2220 03623 064500 LDB M2 RIGHT PARENTHESIS 2221 03624 015355 JSB SYMCK OR 2222 03625 002251 DEF RPARN-1 RIGHT BRACKET? 2223 03626 027206 JMP FSCE2 NO 2224 03627 060455 LDA B4000 2225 03630 170133 STA SBPTR,I PARENTHESIS 2226 03631 034133 ISZ SBPTR UPDATE SYNTAX BUFFER POINTER 2227 03632 015662 JSB GETCR FETCH 2228 03633 060400 LDA .10 FOLLOWING CHARACTER 2229 03634 127622 JMP RPCK,I 2230** 2231*** FETCH PARENTHESIZED FORMULA ** 2232** 2233 03635 000000 GETPF NOP 2234 03636 015662 JSB GETCR 2235 03637 024335 JMP EOF 2236 03640 034133 ISZ SBPTR 2237 03641 017612 JSB LPCK FETCH LEFT PARENTHESIS 2238 03642 017045 JSB FSC FETCH FORMULA 2239 03643 017622 JSB RPCK GET RIGHT PARENTHESIS 2240 03644 127635 JMP GETPF,I 2241** 2242*** FLAG OPERATOR WHICH PRECEDES NUMBER ** 2243** 2244 03645 000000 NUMOP NOP 2245 03646 070212 STA TEMP4 2246 03647 064501 LDB M3 FETCH 2247 03650 044133 ADB SBPTR PRECEDING 2248 03651 160001 LDA 1,I OPERATOR 2249 03652 030536 IOR FLGBT ADD FLAG BIT 2250 03653 170001 STA 1,I REPLACE OPERATOR 2251 03654 060212 LDA TEMP4 2252 03655 127645 JMP NUMOP,I 2253 SKP 2254* 2255* SYSTEM COMMAND TABLE 2256* 2257 03656 023004 SYCMD OCT 23004 2258 03657 051524 STCMD ASC 2,STOP STOP COMMAND ENTRY 03660 047520 2259* 2260 03661 000003 OCT 00003 2261 03662 051125 ASC 2,RUN RUN COMMAND 03663 047040 2262* 2263 03664 002003 OCT 02003 2264 03665 051503 ASC 2,SCR SCRATCH COMMAND ENTRY 03666 051040 2265* 2266 03667 004005 OCT 04005 2267 03670 050125 ASC 3,PUNCH 03671 047103 03672 044040 2268* 2269 03673 003004 OCT 03004 2270 03674 046111 ASC 2,LIST LIST COMMAND 03675 051524 2271* 2272 03676 034004 OCT 34004 2273 03677 052101 ASC 2,TAPE TAPE COMMAND 03700 050105 2274* 2275 03701 041003 OCT 41003 2276 03702 041131 ASC 2,BYE LOG-OFF COMMAND 03703 042440 2277* 2278 03704 042004 OCT 42004 2279 03705 046505 ASC 2,MESG MESSAGE COMMAND 03706 051507 2280* 2281 03707 043003 OCT 43003 2282 03710 051105 ASC 2,REN RENUMBER COMMAND 03711 047040 2283** 2284*** PRINT NAME TABLE FOR OPERATORS ** 2285** 2286 03712 032003 LET OCT 32003 BITS 15-9 OF THE LABELLED WORD 2287 03713 046105 ASC 2,LET 03714 052040 2288 03715 033003 DIM OCT 33003 ARE THE BASIC CODE OPERATOR 2289 03716 042111 ASC 2,DIM 03717 046440 2290 03720 034003 COM OCT 34003 NUMBERS. BITS 2-0 ARE THE 2291 03721 041517 ASC 2,COM 03722 046440 2292 03723 035003 DEF OCT 35003 LENGTH IN CHARACTERS OF THE 2293 03724 042105 ASC 2,DEF 03725 043040 2294 03726 036003 REM OCT 36003 SYMBOL. THE ASCII VERSION OF 2295 03727 051105 ASC 2,REM 03730 046440 2296 03731 037004 GOTO OCT 37004 THE SYMBOL FOLLOWS. 2297 03732 043517 ASC 2,GOTO 03733 052117 2298 03734 040002 IF OCT 40002 2299 03735 044506 ASC 1,IF 2300 03736 041003 FOR OCT 41003 2301 03737 043117 ASC 2,FOR 03740 051040 2302 03741 042004 NEXT OCT 42004 2303 03742 047105 ASC 2,NEXT 03743 054124 2304 03744 043005 GOSUB OCT 43005 2305 03745 043517 ASC 3,GOSUB 03746 051525 03747 041040 2306 03750 044006 RTRN OCT 44006 2307 03751 051105 ASC 3,RETURN 03752 052125 03753 051116 2308 03754 045003 END OCT 45003 2309 03755 042516 ASC 2,END 03756 042040 2310 03757 046004 STP OCT 46004 2311 03760 051524 ASC 2,STOP 03761 047520 2312 03762 051004 DATA OCT 51004 2313 03763 042101 ASC 2,DATA 03764 052101 2314 03765 052004 READ OCT 52004 2315 03766 051105 ASC 2,READ 03767 040504 2316 03770 053005 PRINT OCT 53005 2317 03771 050122 ASC 3,PRINT 03772 044516 03773 052040 2318 03774 054005 INPUT OCT 54005 2319 03775 044516 ASC 3,INPUT 03776 050125 03777 052040 2320 04000 055007 RSTOR OCT 55007 2321 04001 051105 ASC 4,RESTORE 04002 051524 04003 047522 04004 042440 2322 04005 056003 MAT OCT 56003 2323 04006 046501 ASC 2,MAT 04007 052040 2324 04010 057004 THEN OCT 57004 2325 04011 052110 ASC 2,THEN 04012 042516 2326 04013 060002 TO OCT 60002 2327 04014 052117 ASC 1,TO 2328 04015 061004 STEP OCT 61004 2329 04016 051524 ASC 2,STEP 04017 042520 2330 04020 027003 NOT OCT 27003 2331 04021 047117 ASC 2,NOT 04022 052040 2332 04023 026003 AND OCT 26003 2333 04024 040516 ASC 2,AND 04025 042040 2334 04026 025002 OR OCT 25002 2335 04027 047522 ASC 1,OR 2336 04030 030002 GTE OCT 30002 2337 04031 037075 ASC 1,>= 2338 04032 031002 LTE OCT 31002 2339 04033 036075 ASC 1,<= 2340 04034 017002 AUNEQ OCT 17002 2341 04035 036076 ASC 1,<> 2342 04036 001003 TAB OCT 1003 2343 04037 052101 ASC 2,TAB 04040 041040 2344 04041 002003 SIN OCT 2003 THIS SECTION HAS THE PRE-DEFINED 2345 04042 051511 ASC 2,SIN 04043 047040 2346 04044 003003 COS OCT 3003 FUNCTIONS. HERE BITS 13-9 ARE 2347 04045 041517 ASC 2,COS 04046 051440 2348 04047 004003 TAN OCT 4003 THE IDENTIFYING NUMBER OF THE 2349 04050 052101 ASC 2,TAN 04051 047040 2350 04052 005003 ATN OCT 5003 FUNCTION. 2351 04053 040524 ASC 2,ATN 04054 047040 2352 04055 006003 EXPN OCT 6003 2353 04056 042530 ASC 2,EXP 04057 050040 2354 04060 007003 LOG OCT 7003 2355 04061 046117 ASC 2,LOG 04062 043440 2356 04063 010003 ABS OCT 10003 2357 04064 040502 ASC 2,ABS 04065 051440 2358 04066 011003 SQR OCT 11003 2359 04067 051521 ASC 2,SQR 04070 051040 2360 04071 012003 INT OCT 12003 2361 04072 044516 ASC 2,INT 04073 052040 2362 04074 013003 RND OCT 13003 2363 04075 051116 ASC 2,RND 04076 042040 2364 04077 014003 SGN OCT 14003 2365 04100 051507 ASC 2,SGN 04101 047040 2366 04102 015003 ZER OCT 15003 MATRIX FUNCTIONS 2367 04103 055105 ASC 2,ZER 04104 051040 2368 04105 016003 CON OCT 16003 2369 04106 041517 ASC 2,CON 04107 047040 2370 04110 017003 IDN OCT 17003 2371 04111 044504 ASC 2,IDN 04112 047040 2372 04113 020003 INV OCT 20003 2373 04114 044516 ASC 2,INV 04115 053040 2374 04116 021003 TRN OCT 21003 2375 04117 052122 ASC 2,TRN 04120 047040 2376** 2377*** TABLE SEARCH FOR MULTICHARACTER SYMBOLS ** 2378** 2379 04121 000000 TBSRH NOP 2380 04122 072231 STA TABLE STORE TABLE ADDRESS 2381 04123 074215 STB LNGTH STORE -(NUMBER OF ENTRIES) 2382 04124 060125 LDA BADDR SAVE 2383 04125 070211 STA TEMP3 INPUT 2384 04126 060126 LDA CCNT BUFFER 2385 04127 070212 STA TEMP4 STATUS 2386 04130 060133 LDA SBPTR INITIALIZE END-OF-SYMBOL 2387 04131 072247 STA SMEND POINTER 2388 04132 002404 CLA,INA COUNT FIRST CHARACTER OF 2389 04133 072454 STA SLENG SYMBOL 2390 04134 160133 LDA SBPTR,I FETCH PARTIAL SYMBOL 2391 04135 010443 AND B177 TWO 2392 04136 150133 CPA SBPTR,I CHARACTERS? 2393 04137 002001 RSS NO 2394 04140 026163 JMP TSR10 YES 2395 04141 001727 ALF,ALF LEFT-JUSTIFY 2396 04142 030411 IOR .32 FIRST CHARACTER AND 2397 04143 170133 STA SBPTR,I APPEND BLANK 2398 04144 015662 TSRC1 JSB GETCR FETCH NEXT CHARACTER 2399 04145 026224 JMP TSRC9 END-OF-STATEMENT 2400 04146 066454 LDB SLENG CHECK FOR 2401 04147 054375 CPB .7 IMPOSSIBLE LENGTH 2402 04150 026224 JMP TSRC9 2403 04151 004010 SLB EVEN-NUMBERED CHARACTER? 2404 04152 026160 JMP TSRC2 YES 2405 04153 036247 ISZ SMEND NO, FETCH FRESH WORD, 2406 04154 001727 ALF,ALF LEFT-JUSTIFY CHARACTER, 2407 04155 030411 IOR .32 APPEND BLANK, 2408 04156 172247 STA SMEND,I AND STORE 2409 04157 026163 JMP TSR10 2410 04160 040517 TSRC2 ADA M32 DELETE BLANK, 2411 04161 142247 ADA SMEND,I FILL SECOND CHARACTER, 2412 04162 172247 STA SMEND,I AND STORE 2413 04163 036454 TSR10 ISZ SLENG COUNT IT 2414 04164 064215 LDB LNGTH INITIALIZE TABLE LENGTH 2415 04165 074213 STB COUNT COUNTER 2416 04166 062231 LDA TABLE 2417 04167 072411 TSRC3 STA TBLPT SET TABLE POINTER 2418 04170 162411 LDA TBLPT,I EXTRACT SYMBOL LENGTH 2419 04171 010375 AND .7 FROM TABLE AND COMPARE 2420 04172 052454 CPA SLENG WITH CURRENT SYMBOL 2421 04173 026202 JMP TSRC5 EQUAL? 2422 04174 040372 TSRC4 ADA .3 DIFFERENT, 2423 04175 001100 ARS UPDATE 2424 04176 042411 ADA TBLPT TABLE POINTER 2425 04177 034213 ISZ COUNT MORE ENTRIES? 2426 04200 026167 JMP TSRC3 YES 2427 04201 026144 JMP TSRC1 NO 2428 04202 066411 TSRC5 LDB TBLPT SET POINTER TO 2429 04203 076435 STB TSPTR TABLE SYMBOL 2430 04204 064133 LDB SBPTR SET (B) TO INPUT 2431 04205 026211 JMP TSRC7 SYMBOL POINTER 2432 04206 056247 TSRC6 CPB SMEND ALL OF SYMBOL CONSIDERED? 2433 04207 026217 JMP TSRC8 YES, MATCH OCCURRED 2434 04210 006004 INB NO, INCREMENT 2435 04211 036435 TSRC7 ISZ TSPTR SYMBOL POINTERS 2436 04212 162435 LDA TSPTR,I FETCH WORD FROM TABLE 2437 04213 150001 CPA 1,I MATCH WITH INPUT SYMBOL? 2438 04214 026206 JMP TSRC6 YES 2439 04215 062454 LDA SLENG NO, WRONG 2440 04216 026174 JMP TSRC4 SYMBOL 2441 04217 162411 TSRC8 LDA TBLPT,I EXTRACT 2442 04220 010467 AND OPMSK SYMBOL CODE 2443 04221 170133 STA SBPTR,I 2444 04222 036121 ISZ TBSRH AND RETURN VIA 2445 04223 126121 JMP TBSRH,I 'SUCCESS' EXIT 2446 04224 060211 TSRC9 LDA TEMP3 RESTORE 2447 04225 070125 STA BADDR INPUT 2448 04226 060212 LDA TEMP4 BUFFER 2449 04227 070126 STA CCNT STATUS 2450 04230 126121 JMP TBSRH,I 'FAILURE' EXIT 2451** 2452*** FETCH AND RECORD PROGRAM INTEGER ** 2453** 2454 04231 000000 PRGIN NOP 2455 04232 160133 LDA SBPTR,I SET 2456 04233 030536 IOR FLGBT 'INTEGER 2457 04234 040372 ADA .3 FOLLOWS' 2458 04235 170133 STA SBPTR,I OPERAND 2459 04236 162231 LDA PRGIN,I GIVE ADDRESS 2460 04237 072244 STA PRGI1 TO INTCK 2461 04240 034133 ISZ SBPTR 2462 04241 015662 JSB GETCR 2463 04242 014544 SYE25 JSB ERROR 2464 04243 016247 JSB INTCK FETCH 2465 04244 000000 PRGI1 NOP 2466 04245 036231 ISZ PRGIN 2467 04246 126231 JMP PRGIN,I 2468** 2469*** BUILD AN INTEGER ** 2470** 2471 04247 000000 INTCK NOP CHARACTER IN (A) 2472 04250 006400 CLB STORE 2473 04251 076454 STB INTGR PARTIAL RESULT 2474 04252 015636 INTC1 JSB DIGCK DIGIT? 2475 04253 026271 JMP INTC2 NO 2476 04254 103101 CLO 2477 04255 066454 LDB INTGR MULTIPLY 2478 04256 044001 ADB 1 PARTIAL 2479 04257 044001 ADB 1 RESULT 2480 04260 046454 ADB INTGR BY 2481 04261 044001 ADB 1 10 2482 04262 044000 ADB 0 ADD LATEST DIGIT 2483 04263 102201 SOC OVERFLOW? 2484 04264 026242 JMP SYE25 YES 2485 04265 076454 STB INTGR STORE PARTIAL RESULT 2486 04266 015662 JSB GETCR NO, FETCH 2487 04267 060400 LDA .10 NEXT CHARACTER 2488 04270 026252 JMP INTC1 2489 04271 066454 INTC2 LDB INTGR ZERO 2490 04272 006003 SZB,RSS INTEGER? 2491 04273 026242 JMP SYE25 YES 2492 04274 174133 STB SBPTR,I NO, RECORD IT 2493 04275 166247 LDB INTCK,I INTEGER 2494 04276 164001 LDB 1,I TOO 2495 04277 046454 ADB INTGR LARGE? 2496 04300 006021 SSB,RSS 2497 04301 026242 JMP SYE25 YES 2498 04302 066454 LDB INTGR NO, 2499 04303 034133 ISZ SBPTR RETURN WITH 2500 04304 036247 ISZ INTCK INTEGER 2501 04305 126247 JMP INTCK,I IN (B) 2502** 2503*** PROCESS CHARACTER STRING ** 2504** 2505 04306 000000 CHRST NOP 2506 04307 070210 STA TEMP2 RECORD TERMINATOR CHARACTER 2507 04310 060400 LDA .10 DUMMY 2508 04311 070123 STA BLANK DELETE CHARACTER 2509 04312 015662 CHRS1 JSB GETCR 2510 04313 026331 JMP CHRS3 TO END-OF-STATEMENT EXIT 2511 04314 050210 CPA TEMP2 TERMINATOR CHARACTER? 2512 04315 026330 JMP CHRS2 YES 2513 04316 130133 IOR SBPTR,I NO, FILL 2514 04317 170133 STA SBPTR,I SECOND CHARACTER 2515 04320 015662 JSB GETCR 2516 04321 026331 JMP CHRS3 TO END-OF-STATEMENT EXIT 2517 04322 050210 CPA TEMP2 TERMINATOR CHARACTER? 2518 04323 026330 JMP CHRS2 YES 2519 04324 034133 ISZ SBPTR NO, MOVE TO NEW WORD 2520 04325 001727 ALF,ALF AND STORE 2521 04326 170133 STA SBPTR,I FIRST CHARACTER 2522 04327 026312 JMP CHRS1 2523 04330 036306 CHRS2 ISZ CHRST SET (P+2) EXIT 2524 04331 034133 CHRS3 ISZ SBPTR MOVE TO NEXT BUFFER WORD 2525 04332 060411 LDA .32 RESTORE BLANK AS 2526 04333 070123 STA BLANK DELETE CHARACTER 2527 04334 126306 JMP CHRST,I 2528** 2529*** DELETE STATEMENT ** 2530** 2531 04335 160120 DLSTM LDA SBUFA,I LOAD SEQUENCE NUMBER 2532 04336 016411 JSB FNDPS FIND STATEMENT TO BE DELETED 2533 04337 124254 JMP PEXMA,I 2534 04340 124254 JMP PEXMA,I 2535 04341 002400 CLA ZERO WORD SKIP FOR DESTINATION 2536 04342 006004 INB ADDRESS OF SOURCE WORD SKIP IN B 2537 04343 016435 JSB CLPRG CLOSE UP PROGRAM 2538 04344 124254 JMP PEXMA,I 2539* 2540*** ACCEPT STATEMENT 2541* 2542 04345 060120 ACTST LDA SBUFA COMPUTE 2543 04346 003004 CMA,INA LENGTH 2544 04347 040133 ADA SBPTR OF STATEMENT 2545 04350 170206 STA TEMP,I AND RECORD IT 2546 04351 160120 LDA SBUFA,I LOAD SEQUENCE NUMBER 2547 04352 016411 JSB FNDPS SEARCH ON SEQUENCE NUMBER 2548 04353 026370 JMP ACCS1 APPEND STATEMENT TO PROGRAM 2549 04354 026405 JMP ACCS4 INSERT STATEMENT IN PROGRAM 2550 04355 006004 INB REPLACE STATEMENT IN PROGRAM 2551 04356 160001 LDA 1,I COMPARE LENGTHS OF 2552 04357 003004 CMA,INA STATEMENT BEING REPLACED 2553 04360 140206 ADA TEMP,I AND STATEMENT 2554 04361 002003 SZA,RSS REPLACING IT 2555 04362 026372 JMP ACCS2 EQUAL 2556 04363 002021 SSA,RSS 2557 04364 026406 JMP ACCS4+1 SHORTER 2558 04365 160206 LDA TEMP,I LONGER, 2559 04366 016435 JSB CLPRG CLOSE UP PROGRAM 2560 04367 026372 JMP ACCS2 2561 04370 160206 ACCS1 LDA TEMP,I LOAD PROGRAM SPACE REQUIREMENT 2562 04371 016454 JSB OVCHK SUFFICIENT PROGRAM SPACE LEFT? 2563 04372 006400 ACCS2 CLB YES, SET COUNTER TO ZERO 2564 04373 060120 LDA SBUFA INITIALIZE 2565 04374 070210 STA TEMP2 SOURCE ADDRESS 2566 04375 160210 ACCS3 LDA TEMP2,I TRANSFER WORD FROM 2567 04376 170211 STA TEMP3,I S-BUFFER TO PROGRAM SPACE 2568 04377 034210 ISZ TEMP2 INCREMENT SOURCE AND 2569 04400 034211 ISZ TEMP3 DESTINATION ADDRESSES 2570 04401 006004 INB BUMP COUNTER 2571 04402 154206 CPB TEMP,I ENTIRE STATEMENT MOVED? 2572 04403 124254 JMP PEXMA,I 2573 04404 026375 JMP ACCS3 NO 2574 04405 160206 ACCS4 LDA TEMP,I LOAD PROGRAM SPACE REQUIREMENT 2575 04406 016454 JSB OVCHK SUFFICIENT PROGRAM SPACE LEFT? 2576 04407 014627 JSB MVTOH MAKE 2577 04410 026372 JMP ACCS2 ROOM 2578** 2579*** FIND SEQUENTIAL POSITION ** 2580** 2581 04411 000000 FNDPS NOP 2582 04412 070211 STA TEMP3 SAVE SEQUENCE NUMBER 2583 04413 064121 LDB PBUFF STARTING ADDRESS 2584 04414 054122 FNDP1 CPB PBPTR END OF PROGRAM? 2585 04415 026433 JMP FNDP4 YES, EXIT VIA (P+1) 2586 04416 160001 LDA 1,I SUBTRACT PROGRAM 2587 04417 003004 CMA,INA SEQUENCE NUMBER FROM 2588 04420 040211 ADA TEMP3 S-BUFFER SEQUENCE NUMBER 2589 04421 002003 SZA,RSS EQUAL? 2590 04422 026431 JMP FNDP2 YES, SET EXIT TO (P+3) 2591 04423 002020 SSA NO, P-SEQ NO > S-SEQ NO ? 2592 04424 026432 JMP FNDP3 YES, SET EXIT TO (P+2) 2593 04425 060001 LDA 1 POINT (A) TO 2594 04426 002004 INA PROGRAM ADDRESS INCREMENT 2595 04427 144000 ADB 0,I COMPUTE NEW ADDRESS 2596 04430 026414 JMP FNDP1 2597 04431 036411 FNDP2 ISZ FNDPS 2598 04432 036411 FNDP3 ISZ FNDPS 2599 04433 074211 FNDP4 STB TEMP3 SAVE STATEMENT ADDRESS 2600 04434 126411 JMP FNDPS,I 2601** 2602*** DELETE SPACE IN PROGRAM ** 2603** 2604 04435 000000 CLPRG NOP REFERENCE LOCATION IN TEMP3 2605 04436 040211 ADA TEMP3 SKIP (A) LOCATIONS FROM TEMP3 2606 04437 070212 STA TEMP4 AND SAVE DESTINATION ADDRESS 2607 04440 164001 LDB 1,I SKIP TO END OF STATEMENT BEING 2608 04441 044211 ADB TEMP3 DELETED, SOURCE ADDRESS IN (B) 2609 04442 054122 CLPR1 CPB PBPTR ALL OF PROGRAM MOVED? 2610 04443 026451 JMP CLPR2 YES 2611 04444 160001 LDA 1,I NO, MOVE WORD FROM SOURCE TO 2612 04445 170212 STA TEMP4,I DESTINATION ADDRESS 2613 04446 034212 ISZ TEMP4 INCREMENT DESTINATION ADDRESS 2614 04447 006004 INB INCREMENT SOURCE ADDRESS 2615 04450 026442 JMP CLPR1 2616 04451 060212 CLPR2 LDA TEMP4 SET END-OF-PROGRAM 2617 04452 070122 STA PBPTR POINTER 2618 04453 126435 JMP CLPRG,I 2619** 2620*** CHECK FOR PROGRAM SPACE OVERFLOW ** 2621** 2622 04454 000000 OVCHK NOP NEW WORD REQUIREMENT IN (A) 2623 04455 064122 LDB PBPTR SET SOURCE ADDRESS 2624 04456 074210 STB TEMP2 FOR PROGRAM RELOCATION 2625 04457 044000 ADB 0 SET DESTINATION 2626 04460 074212 STB TEMP4 ADDRESS 2627 04461 007004 CMB,INB SUBTRACT FROM ADDRESS 2628 04462 044115 ADB LWAM 2629 04463 006020 SSB NON-NEGATIVE RESULT? 2630 04464 124341 JMP FSCEF,I NO, PROGRAM SPACE OVERFLOW 2631 04465 064212 LDB TEMP4 YES, RELOCATE FREE 2632 04466 074122 STB PBPTR PROGRAM SPACE POINTER 2633 04467 126454 JMP OVCHK,I 2635 HED ** LIST THE PROGRAM** 2636* 2637*** LIST THE PROGRAM 2638* 2639 04470 064121 LIST LDB PBUFF INITIALIZE TO FIRST 2640 04471 074205 STB TEMPS STATEMENT OF PROGRAM 2641 04472 015662 JSB GETCR SEQUENCE NUMBER GIVEN? 2642 04473 026505 JMP LIST0 2643 04474 064116 LDB .BUFA SET FOR 2644 04475 074133 STB SBPTR SEQUENCE NUMBER 2645 04476 114266 JSB INCHK,I YES, 2646 04477 000532 DEF MAXSN FETCH IT 2647 04500 160116 LDA .BUFA,I LOAD SEQUENCE NUMBER 2648 04501 016411 JSB FNDPS FIND INITIAL STATEMENT 2649 04502 124255 JMP RDYDA,I 2650 04503 000000 NOP SAVE 2651 04504 074205 STB TEMPS ADDRESS 2652 04505 006400 LIST0 CLB 2653 04506 054175 CPB STK18 CHECK PUNCH LAG 2654 04507 026512 JMP LIST1 NO 2655 04510 060442 LDA B133 YES, EMIT 2656 04511 114112 JSB WRITE,I 2657 04512 064205 LIST1 LDB TEMPS MORE 2658 04513 054122 CPB PBPTR PROGRAM? 2659 04514 026701 JMP LIS13 NO 2660 04515 003400 CCA INITIALIZE 2661 04516 040120 ADA SBUFA OUTPUT BUFFER 2662 04517 070125 STA BADDR POINTER 2663 04520 002400 CLA INITIALIZE 2664 04521 070126 STA CCNT CHARACTER COUNT 2665 04522 160205 LDA TEMPS,I OUTPUT 2666 04523 016713 JSB OUTIN SEQUENCE NUMBER 2667 04524 060123 LDA BLANK OUTPUT 2668 04525 015773 JSB OUTCR BLANK 2669 04526 034205 ISZ TEMPS FETCH 2670 04527 160205 LDA TEMPS,I STATEMENT LENGTH 2671 04530 003004 CMA,INA SET 2672 04531 002004 INA WORD 2673 04532 070160 STA STK5 2674 04533 034205 LIST3 ISZ TEMPS MORE 2675 04534 034160 ISZ STK5 2676 04535 026542 JMP LIST4 YES 2677 04536 064120 LIST2 LDB SBUFA OUTPUT 2678 04537 060126 LDA CCNT 2679 04540 114112 JSB WRITE,I 2680 04541 026512 JMP LIST1 2681 04542 160205 LIST4 LDA TEMPS,I 2682 04543 010467 AND OPMSK 2683 04544 002003 SZA,RSS NULL OPERATOR? 2684 04545 026566 JMP LIST5 YES 2685 04546 070210 STA TEMP2 NO, SAVE OPERATOR 2686 04547 001727 ALF,ALF SINGLE 2687 04550 001100 ARS 2688 04551 064000 LDB 0 2689 04552 040515 ADA M21 OPERATOR? 2690 04553 002021 SSA,RSS 2691 04554 026670 JMP LIS12 NO 2692 04555 005000 BLS 2693 04556 006004 INB 2694 04557 044345 ADB FOPBS 2695 04560 160001 LDA 1,I SYMBOL 2696 04561 001727 ALF,ALF ADJUST 2697 04562 010445 AND MSK0 CHARACTER 2698 04563 050413 CPA .34 QUOTE MARK? 2699 04564 026707 JMP LIS14 2700 04565 015773 JSB OUTCR NO 2701 04566 160205 LIST5 LDA TEMPS,I 2702 04567 010474 AND OPDMK SAVE 2703 04570 070211 STA TEMP3 OPERAND 2704 04571 010472 AND TYPFL EXTRACT OPERAND TYPE 2705 04572 070172 STA LFLAG SET LFLAG FALSE 2706 04573 002020 SSA FLAG BIT SET? 2707 04574 026630 JMP LIST9 YES 2708 04575 002003 SZA,RSS NO, NULL OPERAND? 2709 04576 026533 JMP LIST3 YES 2710 04577 050402 CPA .15 FUNCTION? 2711 04600 026623 JMP LIST8 YES 2712 04601 040503 LIST6 ADA M5 2713 04602 002020 SSA LETTER-DIGIT COMBINATION? 2714 04603 026606 JMP LIST7 NO 2715 04604 003400 CCA YES, SET 2716 04605 070172 STA LFLAG LFLAG FALSE 2717 04606 060211 LIST7 LDA TEMP3 2718 04607 001727 ALF,ALF RESTORE AND 2719 04610 001700 ALF 2720 04611 010443 AND B177 OUTPUT 2721 04612 040431 ADA B100 2722 04613 015773 JSB OUTCR LETTER 2723 04614 034172 ISZ LFLAG DIGIT FOLLOWS? 2724 04615 026533 JMP LIST3 NO 2725 04616 060211 LDA TEMP3 YES 2726 04617 010402 AND .15 RESTORE 2727 04620 040421 ADA .43 DIGIT 2728 04621 015773 JSB OUTCR OUTPUT DIGIT 2729 04622 026533 JMP LIST3 2730 04623 060433 LIST8 LDA F OUTPUT 2731 04624 015773 JSB OUTCR 'F' 2732 04625 060437 LDA N OUTPUT 2733 04626 015773 JSB OUTCR 'N' 2734 04627 026606 JMP LIST7 2735 04630 020536 LIST9 XOR FLGBT 2736 04631 002102 CLE,SZA NUMBER? 2737 04632 026647 JMP LIS10 NO 2738 04633 034205 ISZ TEMPS YES, 2739 04634 070147 STA SIGN SET SIGN FLAG FALSE 2740 04635 160205 LDA TEMPS,I 2741 04636 034205 ISZ TEMPS OUTPUT 2742 04637 164205 LDB TEMPS,I 2743 04640 034160 ISZ STK5 2744 04641 034160 ISZ STK5 2745 04642 002020 SSA NEGATIVE NUMBER? 2746 04643 002300 CCE YES, SET SIGN FLAG TRUE 2747 04644 114270 JSB NUMOA,I 2748 04645 000000 NOP 2749 04646 026533 JMP LIST3 2750 04647 050372 LIS10 CPA .3 INTEGER? 2751 04650 026663 JMP LIS11 YES 2752 04651 050402 CPA .15 NO, FUNCTION? 2753 04652 002001 RSS YES 2754 04653 026601 JMP LIST6 NO, MUST BE A PARAMETER 2755 04654 060211 LDA TEMP3 COMPUTE 2756 04655 001722 ALF,RAL PRINT 2757 04656 010467 AND OPMSK TABLE 2758 04657 070210 STA TEMP2 CODE 2759 04660 064366 LDB ATAB 2760 04661 016777 JSB MCOUT OUTPUT FUNCTION NAME 2761 04662 026533 JMP LIST3 2762 04663 034205 LIS11 ISZ TEMPS OUTPUT 2763 04664 034160 ISZ STK5 2764 04665 160205 LDA TEMPS,I INTEGER 2765 04666 016713 JSB OUTIN 2766 04667 026533 JMP LIST3 OPERAND 2767 04670 060123 LIS12 LDA BLANK OUTPUT 2768 04671 015773 JSB OUTCR BLANK 2769 04672 064353 LDB STTYP 2770 04673 016777 JSB MCOUT OUTPUT 2771 04674 060464 LDA REMOP 2772 04675 050210 CPA TEMP2 A REM? 2773 04676 026756 JMP OUTS1 YES, OUTPUT REMARK 2774 04677 060123 LDA BLANK NO, OUTPUT 2775 04700 026565 JMP LIST5-1 2776 04701 006400 LIS13 CLB HIGH-SPEED 2777 04702 054175 CPB STK18 PUNCH? 2778 04703 124255 JMP RDYDA,I 2779 04704 060442 LDA B133 YES, EMIT 2780 04705 114112 JSB WRITE,I 2781 04706 124255 JMP RDYDA,I 2782 04707 015773 LIS14 JSB OUTCR 2783 04710 016753 JSB OUTST 2784 04711 060413 LDA .34 2785 04712 026565 JMP LIST5-1 2786 04713 000000 OUTIN NOP INTEGER IN (A) 2787 04714 064502 LDB M4 SET 2788 04715 074177 STB DIGCT DIGIT COUNTER 2789 04716 067032 LDB LDVSR SET DIVISOR 2790 04717 074200 STB DIVSR ADDRESS 2791 04720 006400 CLB SET LEADING 2792 04721 074201 STB LDZRO ZERO FLAG 2793 04722 164200 OUT11 LDB DIVSR,I NEGATE 2794 04723 007004 CMB,INB AND STORE 2795 04724 074202 STB MIND DIVISOR 2796 04725 007400 CCB SET QUOTIENT 2797 04726 006004 INB TO ZERO 2798 04727 040202 ADA MIND SUBTRACT DIVISOR FROM INTEGER 2799 04730 002021 SSA,RSS NEGATIVE RESULT? 2800 04731 026726 JMP *-3 NO, INCREMENT QUOTIENT 2801 04732 140200 ADA DIVSR,I YES, RECOVER REMAINDER 2802 04733 072777 STA MCOUT AND SAVE IT 2803 04734 060001 LDA 1 2804 04735 002002 SZA 2805 04736 026741 JMP OUT12 2806 04737 050201 CPA LDZRO 2807 04740 026744 JMP OUT13 2808 04741 040425 OUT12 ADA .48 NO, COMPUTE ASCII FOR DIGIT 2809 04742 070201 STA LDZRO SET 'ZEROES SIGNIFICANT' 2810 04743 015773 JSB OUTCR OUTPUT DIGIT 2811 04744 062777 OUT13 LDA MCOUT RETRIEVE REMAINDER 2812 04745 034200 ISZ DIVSR SET FOR NEXT DIVISOR 2813 04746 034177 ISZ DIGCT DIVISION NECESSARY? 2814 04747 026722 JMP OUT11 YES 2815 04750 040425 ADA .48 NO, COMPUTE ASCII FOR LAST 2816 04751 015773 JSB OUTCR DIGIT AND OUT PUT IT 2817 04752 126713 JMP OUTIN,I 2818 04753 000000 OUTST NOP " ENTRY POINT 2819 04754 062753 LDA OUTST SAVE OUTST 2820 04755 070162 STA STK7 2821 04756 160205 OUTS1 LDA TEMPS,I 2822 04757 010443 AND B177 2823 04760 002002 SZA 2824 04761 015773 JSB OUTCR 2825 04762 034205 ISZ TEMPS 2826 04763 034160 ISZ STK5 2827 04764 002001 RSS 2828 04765 026536 JMP LIST2 2829 04766 160205 LDA TEMPS,I 2830 04767 001727 ALF,ALF YES, POSITION IT 2831 04770 010443 AND B177 EXTRACT CHARACTER 2832 04771 050371 CPA .2 2833 04772 124162 JMP STK7,I 2834 04773 050372 CPA .3 2835 04774 124162 JMP STK7,I 2836 04775 015773 JSB OUTCR NO, OUTPUT CHARACTER 2837 04776 026756 JMP OUTS1 2838 04777 000000 MCOUT NOP 2839 05000 160001 MCOU1 LDA 1,I LOAD INFORMATION WORD 2840 05001 010467 AND OPMSK COMPARE WITH 2841 05002 050210 CPA TEMP2 OPERATOR CODE 2842 05003 027012 JMP MCOU2 EQUAL 2843 05004 160001 LDA 1,I UNEQUAL, 2844 05005 010375 AND .7 COMPUTE 2845 05006 040372 ADA .3 ENTRY 2846 05007 001100 ARS LENGTH 2847 05010 044000 ADB 0 COMPUTE ADDRESS OF NEXT ENTRY 2848 05011 027000 JMP MCOU1 2849 05012 160001 MCOU2 LDA 1,I COMPUTE 2850 05013 010375 AND .7 ENTRY 2851 05014 003004 CMA,INA LENGTH 2852 05015 070163 STA STK8 2853 05016 006104 CLE,INB SET FOR FIRST CHARACTER 2854 05017 074211 STB TEMP3 SAVE SYMBOL ADDRESS 2855 05020 160211 MCOU3 LDA TEMP3,I LOAD WORD 2856 05021 002041 SEZ,RSS FIRST CHARACTER? 2857 05022 001727 ALF,ALF YES, POSITION IT 2858 05023 010443 AND B177 EXTRACT CHARACTER 2859 05024 015773 JSB OUTCR OUTPUT IT 2860 05025 002240 SEZ,CME SET FOR NEXT CHARACTER 2861 05026 034211 ISZ TEMP3 MOVE TO NEXT WORD OF SYMBOL 2862 05027 034163 ISZ STK8 2863 05030 027020 JMP MCOU3 YES 2864 05031 126777 JMP MCOUT,I 2865 05032 005033 LDVSR DEF *+1 2866 05033 023420 DEC 10000 2867 05034 001750 DEC 1000 2868 05035 000144 DEC 100 2869 05036 000012 DEC 10 2870 03461 SFLAG EQU ARRYS 2871 04231 TABLE EQU PRGIN 2872 00215 LNGTH EQU TEMPS+8 2873 04247 SMEND EQU INTCK 2874 04454 SLENG EQU OVCHK 2875 04411 TBLPT EQU FNDPS 2876 04435 TSPTR EQU CLPRG 2877 04454 INTGR EQU OVCHK 2878 HED *** EXECUTE "RENUMBER" SYSTEM COMMAND *** 2879* 2880*** EXECUTE "RENUMBER" SYSTEMS COMMAND 2881* 2882 05037 RENUM BSS 0 ENTRY POINT OF RENUMBER 2883* 2884 05037 063141 LDA !INS1 SET UP 2885 05040 073075 STA &IN1 FOR 2886 05041 063142 LDA !INS2 PASS 1 2887 05042 073123 STA &IN2 AND 2888 05043 063143 LDA !INS3 PASS 2 2889 05044 073126 STA &IN3 2890 05045 064400 LDB .10 2891 05046 074206 STB LNUM SET LINE NUMBER TO 10 2892 05047 064121 LDB PBUFF SET ADDR TO FIRST WORD 2893 05050 074212 STB ADDR ADDRESS OF USER'S PROGRAM 2894 05051 027060 JMP FASTM FETCH A STATEMENT 2895* 2896*** SET UP CALL FOR NEXT STATEMENT 2897* 2898 05052 064212 NXSTM LDB ADDR PUT ADDRESS IN B-REG 2899 05053 044210 ADB LNGT1 UPDATE BY PROG STMT LENGTH 2900 05054 074212 STB ADDR RESET VALUE OF PROGRAM ADDRESS 2901 05055 060206 LDA LNUM * UPDATE 2902 05056 040400 ADA .10 * LINE 2903 05057 070206 STA LNUM * NUMBER 2904* 2905* 2906*** FETCH A STATEMENT ( OUTER LOOP ) 2907* 2908 05060 054122 FASTM CPB PBPTR END OF PROGRAM? 2909 05061 027132 JMP PASS3 YES - GO TO PASS 3 PROCESSOR 2910 05062 160001 LDA B,I LOAD LINE # AND STORE 2911 05063 070207 STA LNUM. FOR REFERENCE IN OUTER LOOP 2912 05064 006004 INB INDEX (B) TO LENGTH ADR 2913 05065 160001 LDA B,I LOAD STORE LENGTH 2914 05066 070210 STA LNGT1 SAVE LENGTH 2915* 2916*** CHECK LINE NUMBER 2917* 2918 05067 060206 LDA LNUM LOAD X10 LINE NUMBER 2919 05070 050207 CPA LNUM. DOES IT MATCH? 2920 05071 027052 JMP NXSTM YES - GO TO NEXT STATEMENT 2921 05072 170212 STA ADDR,I SET NEW LINE # IN STATEMENT 2922* 2923*** CHECK IF REFERENCED BY OTHER STATEMENT (INNER LOOP) 2924* 2925 05073 064121 LDB PBUFF LOAD PROGRAM START ADDRESS 2926 05074 054122 LOOP2 CPB PBPTR DONE? 2927 05075 027052 &IN1 JMP NXSTM YES - RETURN TO OUTER LOOP 2928 05076 006004 INB INDEX TO STORE LENGTH 2929 05077 074211 STB LNGT2 SAVE FOR INDEXING 2930 05100 006004 INB INDEX TO OPERATIONS ADDRESS 2931 05101 160001 LDA B,I LOAD OPERATION TYPE 2932 05102 010467 AND OPMSK MASK TO OPERATIONS FIELD 2933 05103 001727 ALF,ALF POSITION OPERATION CODE 2934 05104 001300 RAR 2935 05105 050410 CPA N37 "GOTO" STATEMENT ? 2936 05106 027117 JMP PRCS YES - PROCESS IT 2937 05107 050411 CPA N40 "IF-THEN" STATEMENT ? 2938 05110 027117 JMP PRCS YES - PROCESS IT 2939 05111 050414 CPA N43 "GOSUB" STATEMENT ? 2940 05112 027117 JMP PRCS YES - PROCESS IT 2941* 2942*** DOES NOT REFERENCE OUTER INSTRUCTION 2943* 2944 05113 007400 EXIT CCB SET B = -1 2945 05114 044211 ADB LNGT2 SET NEXT STATEMENT START ADR 2946 05115 144211 ADB LNGT2,I INDEX BY STATEMENT LENGTH 2947 05116 027074 JMP LOOP2 CHECK NEXT STATEMENT 2948* 2949*** PROCESS "GOTO" "GOSUB" "IF-THEN" STATEMENTS 2950* 2951 05117 064500 PRCS LDB M2 SET B = -2 2952 05120 044211 ADB LNGT2 INDEX BY CURRENT "AT" ADDRESS 2953 05121 144211 ADB LNGT2,I INDEX BY STATEMENT LENGTH 2954 05122 160001 LDA B,I LOAD INSTRUCTION DESTINATION 2955 05123 050207 &IN2 CPA LNUM. SAME AS CURRENT STATEMENT? 2956 05124 002001 RSS YES - UPDATE DESTINATION 2957 05125 027113 JMP EXIT NO - TRY NEXT STATEMENT 2958* 2959 05126 060206 &IN3 LDA LNUM * SET 2960 05127 003004 CMA,INA * NEW 2961 05130 170001 STA B,I * DESTINATION 2962 05131 027113 JMP EXIT * ADDRESS 2963 05132 063144 PASS3 LDA !INS4 2964 05133 073075 STA &IN1 SET UP 2965 05134 063145 LDA !INS5 FOR 2966 05135 073123 STA &IN2 PASS 3 2967 05136 002400 CLA 2968 05137 073126 STA &IN3 2969 05140 027073 JMP LOOP2-1 2970* 2971 05141 027052 !INS1 JMP NXSTM 2972 05142 050207 !INS2 CPA LNUM. 2973 05143 060206 !INS3 LDA LNUM 2974 05144 124255 !INS4 JMP RDYDA,I 2975 05145 002020 !INS5 SSA 2976 00206 LNUM EQU TEMPS+1 2977 00207 LNUM. EQU TEMPS+2 2978 00210 LNGT1 EQU TEMPS+3 2979 00211 LNGT2 EQU TEMPS+4 2980 00212 ADDR EQU TEMPS+5 2981 00425 N60 EQU .48 2982 00410 N37 EQU .31 2983 00411 N40 EQU .32 2984 00414 N43 EQU .35 2985 HED PRE-EXECUTION PROCESSING 2986* 2987* *********************** 2988* PHASE 2 OF THE COMPILER 2989* *********************** 2990* 2991* THIS PHASE HAS THE FOLLOWING 3 FUNCTIONS: 2992* 1. SYMBOL TABLE CONSTRUCTION 2993* 2. FOR LOOP CHECKING 2994* 3. ARRAY STORAGE ALLOCATION 2995* 2996 05146 060122 MFASE LDA PBPTR 2997 05147 050121 CPA PBUFF 2998 05150 124255 JMP RDYDA,I 2999 05151 070131 STA FCORE 3000 05152 060114 LDA FWAM 3001 05153 070216 STA COML INITIALIZE COMMON POINTER 3002 05154 060117 LDA SYMTA 3003 05155 070132 STA SYMTF INITIALIZE SYMBOL TABLE POINTER 3004 05156 060121 LDA PBUFF 3005 05157 070155 STA MPTR INITIALIZE PROGRAM POINTER 3006 05160 164155 MLOP1 LDB MPTR,I 3007 05161 074124 STB .LNUM SET LINE NUMBER 3008 05162 064155 LDB MPTR 3009 05163 034155 ISZ MPTR 3010 05164 144155 ADB MPTR,I COMPUTE LOCATION OF NEXT 3011 05165 074156 STB MNPTR STATEMENT AND STORE THIS 3012 05166 034155 ISZ MPTR 3013 05167 160155 LDA MPTR,I FETCH THE FIRST WORD IN THE 3014 05170 001100 MLO10 ARS 3015 05171 001727 ALF,ALF PART TO DETERMINE THE TYPE OF 3016 05172 010430 AND .63 STATEMENT AND STORE 3017 05173 070142 STA TYPE 3018 05174 050423 CPA .46 3019 05175 027205 JMP MLO12 3020 05176 050407 CPA .30 IS THIS A REM STATEMENT 3021 05177 074155 STB MPTR 3022 05200 050421 CPA .43 IS THIS A PRINT STMT 3023 05201 074155 STB MPTR 3024 05202 003400 CCA 3025 05203 070217 STA MWDNO 3026 05204 027221 JMP MLOP2+1 3027 05205 060155 MLO12 LDA MPTR 3028 05206 002004 INA 3029 05207 160000 LDA 0,I FETCH THE SECOND WORD IN THE STMT 3030 05210 027170 JMP MLO10 3031 05211 010450 MLO13 AND MSK1 3032 05212 064155 LDB MPTR 3033 05213 002003 SZA,RSS 3034 05214 044371 ADB .2 3035 05215 050372 CPA .3 3036 05216 006004 INB 3037 05217 074155 STB MPTR 3038 05220 034155 MLOP2 ISZ MPTR INCREMENT PROGRAM POINTER 3039 05221 060155 LDA MPTR 3040 05222 050156 CPA MNPTR HAS THE CURRENT STATEMENT 3041 05223 027301 JMP MLOP5 3042 05224 160155 LDA MPTR,I 3043 05225 002020 SSA 3044 05226 027211 JMP MLO13 3045 05227 010450 AND MSK1 3046 05230 002003 SZA,RSS 3047 05231 027220 JMP MLOP2 3048 05232 070205 STA MBOX1 3049 05233 010402 AND .15 3050 05234 050402 CPA .15 3051 05235 027310 JMP MLOP6 3052 05236 040502 ADA M4 3053 05237 002020 SSA 3054 05240 027327 JMP MLOP7 3055 05241 060205 LDA MBOX1 3056 05242 114301 JSB SSYMA,I 3057 05243 006021 SSB,RSS 3058 05244 027253 JMP MLOP3 3059 05245 060536 LDA MNEG 3060 05246 064537 LDB MNEG+1 3061 05247 070206 STA MBOX1+1 3062 05250 074207 STB MBOX1+2 3063 05251 060501 LDA M3 3064 05252 017510 JSB ESYMT 3065 05253 064142 MLOP3 LDB TYPE 3066 05254 060205 LDA MBOX1 3067 05255 054413 CPB .34 3068 05256 027270 JMP MLOP4 3069 05257 054412 CPB .33 3070 05260 034217 ISZ MWDNO 3071 05261 027220 JMP MLOP2 3072 05262 034131 ISZ FCORE 3073 05263 064131 LDB FCORE 3074 05264 054132 CPB SYMTF 3075 05265 027520 JMP MER8-1 3076 05266 170131 STA FCORE,I 3077 05267 027220 JMP MLOP2 3078 05270 064131 MLOP4 LDB FCORE 3079 05271 054122 CPB PBPTR 3080 05272 014544 JSB ERROR IF NOT END ISSUE DIAGNOSTIC 3081 05273 150131 MER3 CPA FCORE,I 3082 05274 002001 RSS AS THE LAST FOR VARIABLE IN THE 3083 05275 027272 JMP MER3-1 FOR TABLE. NO, ERROR 3084 05276 044477 ADB M1 YES, DELETE LAST ENTRY FROM 3085 05277 074131 STB FCORE 3086 05300 027220 JMP MLOP2 THE POINTER AND GO TO PROCESS 3087 05301 050122 MLOP5 CPA PBPTR 3088 05302 002001 RSS 3089 05303 027160 JMP MLOP1 3090 05304 060142 LDA TYPE 3091 05305 050416 CPA .37 3092 05306 027416 JMP M1LOP 3093 05307 014544 JSB ERROR 3094 05310 160155 MLOP6 LDA MPTR,I 3095 05311 010467 AND OPMSK 3096 05312 050463 CPA DEFOP 3097 05313 002001 RSS 3098 05314 027220 JMP MLOP2 NO GO TO PROCESS NEXT WORD 3099 05315 060205 LDA MBOX1 SEARCH SYMBOL TABLE FOR 3100 05316 114301 JSB SSYMA,I 3101 05317 006021 SSB,RSS 3102 05320 014544 JSB ERROR FOUND. ERROR MULTIPLY DEFINED 3103 05321 060155 MER4 LDA MPTR 3104 05322 040372 ADA .3 ENTER THE FUNCTION INTO THE 3105 05323 070206 STA MBOX1+1 SYMBOL TABLE TOGETHER WITH 3106 05324 060500 LDA M2 ITS ENTRY POINT IN THE SOURCE 3107 05325 017510 JSB ESYMT CODE 3108 05326 027220 JMP MLOP2 GO TO PROCESS THE NEXT WORD 3109 05327 070001 MLOP7 STA 1 3110 05330 060142 LDA TYPE 3111 05331 050405 CPA .27 3112 05332 027344 JMP MLOP8 GO TO MLOP8 3113 05333 050406 CPA .28 3114 05334 027344 JMP MLOP8 3115 05335 017531 JSB MSYMT LOOK UP IN SYMBOL TABLE 3116 05336 027220 JMP MLOP2 FOUND, GO TO PROCESS NEXT WORD 3117 05337 002400 CLA 3118 05340 070206 STA MBOX1+1 ENTER THE VARIABLE INTO THE 3119 05341 070207 STA MBOX1+2 SYMBOL TABLE WITH ITS STORAGE 3120 05342 070210 STA MBOX1+3 ALLOCATION, FORMAL AND ACTUAL 3121 05343 027377 JMP MLOP0 3122 05344 034155 MLOP8 ISZ MPTR PROCESS COM OR DIM STMT 3123 05345 034155 ISZ MPTR 3124 05346 160155 LDA MPTR,I PICK UP FIRST DIMENSION 3125 05347 001727 ALF,ALF SHIFT M. S. PART OF WORD 3126 05350 054501 CPB M3 IS THIS A SINGLE DIMENSION ARRAY 3127 05351 027356 JMP *+5 YES, JUMP 3128 05352 034155 ISZ MPTR OF SECOND DIMENSION AND PACK 3129 05353 034155 ISZ MPTR NO, INDEX POINTER TO THE LOC, 3130 05354 130155 IOR MPTR,I 3131 05355 002001 RSS 3132 05356 030370 IOR .1 3133 05357 070207 STA MBOX1+2 SET UP TO STORE PACKED 3134 05360 070210 STA MBOX1+3 DIMENSIONS IN FORMAL AND ACTUAL 3135 05361 002400 CLA SLOTS AND UNDEFINED FLAG IN 3136 05362 070206 STA MBOX1+1 STORAGE ALLOCATION SLOT 3137 05363 017531 JSB MSYMT SEARCH SYMBOL TABLE 3138 05364 027402 JMP MLOP9 NOT FOUND, JUMP 3139 05365 060142 LDA TYPE 3140 05366 050406 CPA .28 3141 05367 002001 RSS 3142 05370 027377 JMP MLOP0 3143 05371 060207 LDA MBOX1+2 3144 05372 015404 JSB MDIM 3145 05373 064216 LDB COML 3146 05374 074206 STB MBOX1+1 3147 05375 044000 ADB 0 3148 05376 074216 STB COML 3149 05377 060502 MLOP0 LDA M4 3150 05400 017510 JSB ESYMT 3151 05401 027220 JMP MLOP2 3152 05402 044371 MLOP9 ADB .2 3153 05403 160001 LDA 1,I 3154 05404 002002 SZA 3155 05405 014544 JSB ERROR 3156 05406 060142 MER5 LDA TYPE 3157 05407 050406 CPA .28 COM STMT? 3158 05410 124340 JMP ESYN3,I ERROR MISPLACED COM STMT 3159 05411 060207 LDA MBOX1+2 3160 05412 170001 STA 1,I STORE THESE DIMENSIONS IN FORMAL 3161 05413 006004 INB AND ACTUAL SLOTS IN SYMBOL TABLE 3162 05414 170001 STA 1,I ENTRY 3163 05415 027220 JMP MLOP2 GO TO PROCESS NEXT WORD 3164 SKP 3165 05416 060131 M1LOP LDA FCORE 3166 05417 050122 CPA PBPTR 3167 05420 002001 RSS IS THE FOR TABLE EMPTY 3168 05421 014544 JSB ERROR NO, ERROR 3169 05422 064132 MER6 LDB SYMTF CHECK THROUGH THE SYMBOL TABLE 3170 05423 054117 M2LOP CPB SYMTA 3171 05424 027475 JMP M4LOP 3172 05425 160001 LDA 1,I 3173 05426 010402 AND .15 3174 05427 044371 ADB .2 3175 05430 050402 CPA .15 3176 05431 027423 JMP M2LOP 3177 05432 006004 INB 3178 05433 040502 ADA M4 3179 05434 002025 SSA,INA,RSS 3180 05435 027423 JMP M2LOP 3181 05436 002003 SZA,RSS 3182 05437 014544 JSB ERROR NO. OF DIMENSIONS UNSPECIFIED 3183 05440 002004 MER10 INA 3184 05441 070206 STA MBOX1+1 SET FLAG FOR NO. OF DIMENSIONS 3185 05442 074205 STB MBOX1 SAVE SYMBOL TABLE LOCATOR 3186 05443 160001 LDA 1,I PICK UP DIMENSIONS 3187 05444 002002 SZA DEFINED ? 3188 05445 027454 JMP M3LOP 3189 05446 063507 LDA STDIM NO, LOAD FIRST STANDARD DIMENSION 3190 05447 034206 ISZ MBOX1+1 SKIP IF SINGLE DIMENSION 3191 05450 040377 ADA .9 3192 05451 170001 STA 1,I STORE IN FORMAL AND ACTUAL 3193 05452 044477 ADB M1 3194 05453 170001 STA 1,I 3195 05454 015404 M3LOP JSB MDIM 3196 05455 070206 STA MBOX1+1 SAVE 3197 05456 064205 LDB MBOX1 3198 05457 044500 ADB M2 3199 05460 160001 LDA 1,I PICK UP STORAGE ASSIGNMENT 3200 05461 002002 SZA SKIP IF UNDEFINED 3201 05462 027473 JMP MER7 3202 05463 060131 LDA FCORE 3203 05464 170001 STA 1,I STORAGE ASSIGNMENT SLOT 3204 05465 040206 ADA MBOX1+1 3205 05466 070131 STA FCORE 3206 05467 003004 CMA,INA 3207 05470 040132 ADA SYMTF CHECK THAT THE ARRAY STORAGE 3208 05471 002020 SSA DOES NOT OVERLAP THE SYMBOL 3209 05472 014544 JSB ERROR TABLE IF SO GO TO ERROR 3210 05473 044372 MER7 ADB .3 3211 05474 027423 JMP M2LOP 3212 05475 064122 M4LOP LDB PBPTR 3213 05476 054131 CPB FCORE 3214 05477 124253 JMP FASE3,I 3215 05500 060536 LDA MNEG 3216 05501 170001 STA 1,I 3217 05502 006004 INB 3218 05503 060537 LDA MNEG+1 3219 05504 170001 STA 1,I 3220 05505 006004 INB 3221 05506 027476 JMP M4LOP+1 3222 05507 005001 STDIM OCT 5001 3223* ***************************** 3224* ENTER SYMBOL TABLE SUBROUTINE 3225* ***************************** 3226* 3227* THE SUBROUTINE IS CALLED WITH THE NEGATIVE OF THE 3228* ENTRY LENGTH IN A . THE ENTRY IS IN TEMPORARY 3229* LOCATIONS AND IS TRANSFERRED TO THE SYMBOL TABLE 3230* BY THE SUBROUTINE 3231* 3232 05510 000000 ESYMT NOP 3233 05511 070160 STA MBIN1 SAVE NEGATIVE OF LENGTH OF ENTRY 3234 05512 040132 ADA SYMTF 3235 05513 070132 STA SYMTF MOVE SYMBOL TABLE START LOCATOR 3236 05514 070157 STA MBIN2 UP BY THE LENGTH OF ENTRY 3237 05515 003004 CMA,INA CHECK THAT THE SYMBOL TABLE AND 3238 05516 040131 ADA FCORE 3239 05517 002021 SSA,RSS 3240 05520 014544 JSB ERROR OVERLAP ERROR 3241 05521 064240 MER8 LDB MBUF POINTER TO REQD ENTRY 3242 05522 160001 LDA 1,I TRANSFER ENTRY TO THE SYMBOL 3243 05523 170157 STA MBIN2,I TABLE 3244 05524 006004 INB 3245 05525 034157 ISZ MBIN2 3246 05526 034160 ISZ MBIN1 3247 05527 027522 JMP MER8+1 3248 05530 127510 JMP ESYMT,I RETURN 3249 SKP 3250* ********************************************** 3251* SUBROUTINE TO SEARCH SYMBOL TABLE FOR AN ARRAY 3252* ********************************************** 3253** 3254 05531 000000 MSYMT NOP B GIVES ARRAY TYPE -3 = 1 DIM, 3255 05532 074160 STB MBIN1 -2 = 2DIM, -1 = UNDIMENSIONED 3256 05533 060205 LDA MBOX1 LOAD IDENTIFIER 3257 05534 114301 JSB SSYMA,I 3258 05535 006021 SSB,RSS 3259 05536 127531 JMP MSYMT,I FOUND, RETURN 3260 05537 034160 ISZ MBIN1 IF ARRAY UNDIMENSIONED 3261 05540 002001 RSS 3262 05541 027550 JMP MSYM JUMP TO NOT FOUND EXIT 3263 05542 034160 ISZ MBIN1 SET UP TO CHECK THAT ARRAY DOES 3264 05543 040371 ADA .2 NOT APPEAR IN THE TABLE WITH 3265 05544 040477 ADA M1 DIFFERENT DIMENSIONS. CHANGE 3266 05545 114301 JSB SSYMA,I 3267 05546 006021 SSB,RSS SEARCH AGAIN 3268 05547 014544 JSB ERROR FOUND, INCONSISTENT DIMENSIONS 3269 05550 037531 MSYM ISZ MSYMT NOT FOUND, INCREMENT RETURN 3270 05551 127531 JMP MSYMT,I ADDRESS AND RETURN 3271 HED ** EXECUTE THE PROGRAM ** 3272* 3273* PHASE 3 OF THE COMPILER - PROGRAM EXECUTION 3274* 3275 05552 000000 FORMX NOP FORMULA BEGINS IN (TEMPS) 3276 05553 067552 LDB FORMX 3277 05554 074233 STB FORM& 3278 05555 006400 CLB INITIALIZE OPERATOR 3279 05556 015535 JSB SLWST STACK 3280 05557 160205 FORM1 LDA TEMPS,I FETCH OPERAND 3281 05560 034205 ISZ TEMPS SET FOR NEXT WORD OF FORMULA 3282 05561 010474 AND OPDMK EXTRACT OPERAND 3283 05562 070213 STA TEMPS+6 AND SAVE IT 3284 05563 002003 SZA,RSS NULL OPERAND? 3285 05564 027577 JMP FORM2 YES 3286 05565 015544 JSB BHSTP SET STACK FOR OPERAND ADDRESS 3287 05566 002020 SSA FLAG BIT SET? 3288 05567 027646 JMP FORM4 YES 3289 05570 114301 JSB SSYMA,I 3290 05571 006007 INB,SZB,RSS 3291 05572 124337 JMP E8M1A,I NO 3292 05573 010402 AND .15 YES 3293 05574 050402 CPA .15 FUNCTION? 3294 05575 027661 JMP FORM6 3295 05576 174137 STB HSTPT,I NO, STACK OPERAND ADDRESS 3296 05577 160205 FORM2 LDA TEMPS,I FETCH 3297 05600 010467 AND OPMSK OPERATOR 3298 05601 001727 ALF,ALF POSITION IT 3299 05602 064000 LDB 0 3300 05603 044345 ADB FOPBS NO, LOAD OPERATOR 3301 05604 040506 ADA M8 NON-FORMULA 3302 05605 002020 SSA OPERATOR? 3303 05606 006400 CLB YES 3304 05607 040520 ADA D53 NO, NON-FORMULA 3305 05610 002021 SSA,RSS OPERATOR? 3306 05611 006400 CLB YES 3307 05612 002400 CLA NO 3308 05613 160001 LDA 1,I INFORMATION WORD 3309 05614 010450 AND MSK1 SAVE 3310 05615 070214 STA TEMPS+7 3311 05616 120001 XOR 1,I SAVE 3312 05617 001100 ARS 3313 05620 070213 STA TEMPS+6 IDENTIFICATION 3314 05621 027627 JMP FOR11 3315 05622 170135 FORM0 STA TSTPT,I STACK HIGH WORD 3316 05623 060135 LDA TSTPT STACK OPERAND 3317 05624 170137 STA HSTPT,I ADDRESS 3318 05625 002004 INA STORE 3319 05626 174000 STB 0,I LOW WORD 3320 05627 160136 FOR11 LDA LSTPT,I DOES OPERATOR 3321 05630 010445 AND MSK0 ON TOP OF 3322 05631 003000 CMA OPERATOR STACK 3323 05632 040214 ADA TEMPS+7 HAVE HIGHER 3324 05633 002020 SSA PRECEDENCE? 3325 05634 027761 JMP FORM9 YES, EXECUTE IF 3326 05635 002001 RSS NO 3327 05636 034136 FOR10 ISZ LSTPT 3328 05637 064214 LDB TEMPS+7 RETRIEVE PRECEDENCE 3329 05640 044512 ADB M15 NO, LEFT PARENTHESIS 3330 05641 006020 SSB OR LEFT BRACKET? 3331 05642 044402 ADB .15 NO, RESTORE PRECEDENCE 3332 05643 044213 ADB TEMPS+6 COMBINE IDENTIFICATION 3333 05644 015535 JSB SLWST WITH PRECEDENCE AND STACK 3334 05645 027557 JMP FORM1 3335 05646 050536 FORM4 CPA FLGBT 3336 05647 027655 JMP FORM5 YES 3337 05650 010402 AND .15 NO, PRE-DEFINED 3338 05651 050402 CPA .15 FUNCTION 3339 05652 027736 JMP FORM7 YES 3340 05653 064216 LDB TEMPS+9 NO, MUST BE A 3341 05654 027576 JMP FORM2-1 PARAMETER 3342 05655 064205 FORM5 LDB TEMPS LOAD CONSTANT ADDRESS 3343 05656 034205 ISZ TEMPS MOVE POINTER TO 3344 05657 034205 ISZ TEMPS NEXT CODE WORD 3345 05660 027576 JMP FORM2-1 3346 05661 074213 FORM6 STB TEMPS+6 3347 05662 064135 LDB TSTPT 3348 05663 015535 JSB SLWST 3349 05664 164213 LDB TEMPS+6,I 3350 05665 015535 JSB SLWST 3351 05666 060233 LDA FORM& 3352 05667 170137 STA HSTPT,I ADDRESS ON OPERHAND STACK 3353 05670 017552 JSB FORMX EVALUATE PARAMETER 3354 05671 034205 ISZ TEMPS UPDATE 3355 05672 034205 ISZ TEMPS FORMULA POINTER 3356 05673 060205 LDA TEMPS 3357 05674 164136 LDB LSTPT,I 3358 05675 074205 STB TEMPS 3359 05676 170136 STA LSTPT,I 3360 05677 064216 LDB TEMPS+9 3361 05700 160137 LDA HSTPT,I 3362 05701 034136 ISZ LSTPT 3363 05702 034137 ISZ HSTPT 3364 05703 174136 STB LSTPT,I 3365 05704 070216 STA TEMPS+9 3366 05705 050135 CPA TSTPT 3367 05706 015604 JSB RSCHK 3368 05707 017552 JSB FORMX 3369 05710 160136 LDA LSTPT,I 3370 05711 070216 STA TEMPS+9 3371 05712 060136 LDA LSTPT 3372 05713 040501 ADA M3 3373 05714 070136 STA LSTPT 3374 05715 002004 INA 3375 05716 164000 LDB 0,I 3376 05717 074135 STB TSTPT 3377 05720 002004 INA 3378 05721 164000 LDB 0,I 3379 05722 074205 STB TEMPS 3380 05723 015553 JSB STTOP 3381 05724 170135 FOR12 STA TSTPT,I STORE HIGH WORD 3382 05725 060135 LDA TSTPT STACK 3383 05726 002004 INA STORE 3384 05727 174000 STB 0,I LOW WORD 3385 05730 034137 ISZ HSTPT UNSTACK 3386 05731 164137 LDB HSTPT,I LOAD 'RESULT' ADDRESS 3387 05732 074233 STB FORM& 3388 05733 040477 ADA M1 3389 05734 170137 STA HSTPT,I 3390 05735 027577 JMP FORM2 3391 05736 060213 FORM7 LDA TEMPS+6 3392 05737 001727 ALF,ALF 3393 05740 001700 ALF 3394 05741 010410 AND .31 3395 05742 040351 ADA PDFBS 3396 05743 164000 LDB 0,I 3397 05744 015535 JSB SLWST 3398 05745 060233 LDA FORM& 3399 05746 170137 STA HSTPT,I 3400 05747 017552 JSB FORMX 3401 05750 034205 ISZ TEMPS 3402 05751 034205 ISZ TEMPS 3403 05752 164136 LDB LSTPT,I 3404 05753 003400 CCA 3405 05754 040136 ADA LSTPT 3406 05755 070136 STA LSTPT 3407 05756 077510 STB ESYMT 3408 05757 015553 JSB STTOP 3409 05760 127510 JMP ESYMT,I 3410 05761 160136 FORM9 LDA LSTPT,I UNSTACK 3411 05762 007400 CCB OPERATOR 3412 05763 044136 ADB LSTPT INFORMATION 3413 05764 074136 STB LSTPT WOSD 3414 05765 001727 ALF,ALF COMPUTE 3415 05766 010443 AND B177 SUBROUTINE 3416 05767 040350 ADA ARBAS ADDRESS 3417 05770 124000 JMP 0,I EXECUTE 3418* 3419*** EXECUTION BRANCH TABLE 3420* 3421 05771 006216 XECTB DEF ELET LET 3422 05772 006054 DEF XEC4 DIM 3423 05773 006054 DEF XEC4 COM 3424 05774 006054 DEF XEC4 DEF 3425 05775 006054 DEF XEC4 REM 3426 05776 006220 DEF EGOTO GO TO 3427 05777 006224 DEF EIF IF 3428 06000 006232 DEF EFOR FOR 3429 06001 006325 DEF ENEXT NEXT 3430 06002 006367 DEF EGOSB GOSUB 3431 06003 006400 DEF ERTRN RETURN 3432 06004 100255 DEF RDYDA,I 3433 06005 100255 DEF RDYDA,I 3434 06006 100255 DEF RDYDA,I 3435 06007 100255 DEF RDYDA,I 3436 06010 006054 DEF XEC4 DATA 3437 06011 006410 DEF EREAD READ 3438 06012 006445 DEF EPRIN PRINT 3439 06013 006632 DEF EINPT INPUT 3440 06014 006651 DEF ERSTR RESTORE 3441 06015 011445 DEF EMAT MAT 3443*** EXECUTE THE PROGRAM 3444* 3445* 3446** 3447*** INITIALIZE FOR OUTPUT ** 3448** 3449 06016 002400 XEC CLA SET COUNTER FOR 3450 06017 070142 STA TYPE CHARACTERS OUTPUTTED 3451 06020 070151 STA XH INITIALIZE 3452 06021 002004 INA RANDOM 3453 06022 070152 STA XL VARIABLE 3454** 3455*** INITIALIZE THE DATA POINTER ** 3456** 3457 06023 003400 CCA 3458 06024 070145 STA DCCNT -NO 3459 06025 070143 STA DSTRT DATA- 3460 06026 064121 LDB PBUFF CONDITION 3461 06027 074144 STB NXTDT 3462 06030 160361 LDA ADATA,I SEARCH 3463 06031 016120 JSB STSRH DATA STAREMENT 3464 06032 026035 JMP XEC2 3465 06033 074143 STB DSTRT SAVE STATEMENT LOCATION 3466 06034 016107 JSB SETDP SET DATA POINTER 3467** 3468*** INITIALIZE STACK POINTERS ** 3469** 3470 06035 064132 XEC2 LDB SYMTF INITIALIZE 3471 06036 074137 STB HSTPT POINTERS TO 3472 06037 064131 LDB FCORE -HIGH CORE- STACK, 3473 06040 074135 STB TSTPT -TEMPORARY- 3474 06041 044403 ADB .23 3475 06042 074134 STB LSTAK 3476 06043 074136 STB LSTPT STACK 3477 06044 007000 CMB 3478 06045 044137 ADB HSTPT 3479 06046 006020 SSB 3480 06047 025541 JMP E1 3481 06050 002404 CLA,INA SET EXECUTION FLAG=1 3482 06051 114104 JSB SEXU,I 3483 06052 064121 LDB PBUFF BEGIN 3484 06053 026065 JMP XEC5 EXECUTION 3485** 3486*** FIND NEXT STATEMENT TO BE EXECUTED ** 3487** 3488 06054 124103 XEC4 JMP MONIT,I 3489 06055 060141 XEC4. LDA NXTST NEXT STATEMENT NUMBER 3490 06056 064140 LDB PRADD PROSPECTIVE ADDRESS 3491 06057 150001 CPA 1,I DESIRED STATEMENT? 3492 06060 026066 JMP XEC6 YES 3493 06061 064121 LDB PBUFF NO, FIND 3494 06062 114263 JSB FNDPA,I 3495 06063 000000 NOP NON-EXISTENT 3496 06064 014544 JSB ERROR STATEMENT 3497 06065 160001 XEC5 LDA 1,I SAVE NEW 3498 06066 070124 XEC6 STA .LNUM SEQUENCE NUMBER 3499** 3500*** SET SUCCESSOR STATEMENT ** 3501** 3502 06067 016162 JSB FLWST 3503 06070 010467 AND OPMSK EXTRACT STATEMENT TYPE 3504 06071 001727 ALF,ALF POSITION 3505 06072 001300 RAR IT 3506 06073 040347 ADA XECBR COMPUTE EXEXUTION ADDRESS 3507 06074 124000 JMP 0,I BRANCH TO EXECUTION ADDRESS 3508** 3509*** EVALUATE FORMULA AND RETURN RESULT ** 3510** 3511 06075 000000 FETCH NOP 3512 06076 066075 LDB FETCH 3513 06077 074156 STB STK3 3514 06100 114303 JSB FORMA,I EVALUATE FORMULA 3515 06101 015563 JSB OPCHK 3516 06102 034137 ISZ HSTPT UNSTACK RESULT ADDRESS 3517 06103 160001 LDA 1,I LOAD (A) WITH HIGH MANTISSA 3518 06104 006004 INB LOAD LOW PART 3519 06105 164001 LDB 1,I OF RESULT INTO (B) 3520 06106 124156 JMP STK3,I 3521** 3522*** SET POINTER TO START OF DATA STATEMENT ** 3523** 3524 06107 000000 SETDP NOP STATEMENT ADDRESS IN (B) 3525 06110 006004 INB LOAD 3526 06111 160001 LDA 1,I STATEMENT LENGTH 3527 06112 003004 CMA,INA SET 3528 06113 002004 INA DATA COUNTER 3529 06114 070145 STA DCCNT TO 1-STATEMENT LENGTH 3530 06115 006004 INB SET -NEXT DATA- POINTER ONE 3531 06116 074144 STB NXTDT WORD ABOVE FIRST CONSTANT 3532 06117 126107 JMP SETDP,I 3533** 3534*** SEARCH FOR STATEMENT OF GIVEN TYPE ** 3535** 3536 06120 000000 STSRH NOP TYPE IN (A), ADDRESS IN (B) 3537 06121 010467 AND OPMSK EXTRACT 3538 06122 070212 STA TEMP4 STATEMENT TYPE 3539 06123 060001 STSR1 LDA 1 EXTRACT 3540 06124 040371 ADA .2 PROGRAM 3541 06125 160000 LDA A,I 3542 06126 010467 AND OPMSK TYPE 3543 06127 050212 CPA TEMP4 DESIRED TYPE? 3544 06130 026137 JMP STSR2 YES 3545 06131 060001 LDA 1 NO, FETCH 3546 06132 002004 INA STATEMENT LENGTH 3547 06133 144000 ADB 0,I 3548 06134 054122 CPB PBPTR PAST LAST STATEMENT? 3549 06135 126120 JMP STSRH,I YES 3550 06136 026123 JMP STSR1 NO 3551 06137 036120 STSR2 ISZ STSRH 3552 06140 126120 JMP STSRH,I 3553** 3554*** FETCH A DATA ITEM ** 3555** 3556 06141 000000 FDATA NOP 3557 06142 034145 FDAT1 ISZ DCCNT MORE DATA? 3558 06143 026152 JMP FDAT2 YES 3559 06144 160361 LDA ADATA,I NO, SEARCH 3560 06145 064144 LDB NXTDT FOR NEXT 3561 06146 016120 JSB STSRH 3562 06147 014544 JSB ERROR NONE FOUND 3563 06150 016107 E4 JSB SETDP INITIALIZE THE 3564 06151 026142 JMP FDAT1 DATA POINTERS 3565 06152 034145 FDAT2 ISZ DCCNT UPDATE 3566 06153 034145 ISZ DCCNT POINTER 3567 06154 034144 ISZ NXTDT 3568 06155 160144 LDA NXTDT,I LOAD 3569 06156 034144 ISZ NXTDT DATA 3570 06157 164144 LDB NXTDT,I ITEM 3571 06160 034144 ISZ NXTDT UPDATE POINTER 3572 06161 126141 JMP FDATA,I 3573** 3574*** SET FOR FOLLOWING STATEMENT ** 3575** 3576 06162 000000 FLWST NOP (B) HOLDS PRESENT ADDRESS 3577 06163 060001 LDA 1 COMPUTE 3578 06164 002004 INA ADDRESS 3579 06165 160000 LDA 0,I 3580 06166 040001 ADA 1 NEXT 3581 06167 070140 STA PRADD STATEMENT 3582 06170 160000 LDA 0,I RECORD THE 3583 06171 070141 STA NXTST SEQUENCE NUMBER 3584 06172 044371 ADB .2 FETCH 3585 06173 074205 STB TEMPS FIRST WORD 3586 06174 160001 LDA 1,I OF CURRENT 3587 06175 126162 JMP FLWST,I STATEMENT 3588** 3589*** SEARCH STACK FOR GIVEN FOR-VARIABLE ** 3590** 3591 06176 000000 FVSRH NOP 3592 06177 160205 LDA TEMPS,I FETCH 3593 06200 010450 AND MSK1 FOR-VARIABLE 3594 06201 070155 STA STK2 3595 06202 114301 JSB SSYMA,I 3596 06203 006004 INB SYMBOL TABLE 3597 06204 060137 LDA HSTPT 3598 06205 070211 STA TEMP3 STACK TOP 3599 06206 050132 FVSR1 CPA SYMTF STACK BOTTOM? 3600 06207 126176 JMP FVSRH,I YES, EXIT VIA (P.1) 3601 06210 154000 CPB 0,I 3602 06211 026214 JMP FVSR2 YES 3603 06212 040374 ADA .6 NO, MOVE TO 3604 06213 026206 JMP FVSR1 NEXT STACK ENTRY 3605 06214 036176 FVSR2 ISZ FVSRH EXIT 3606 06215 126176 JMP FVSRH,I VIA (P.2) 3607* 3608*** EXECUTE LET 3609* 3610 06216 114303 ELET JSB FORMA,I 3611 06217 026054 JMP XEC4 3612** 3613*** EXECUTE GOTO 3614** 3615 06220 006004 EGOTO INB LOAD SEQUENCE 3616 06221 160001 LDA 1,I NUMBER 3617 06222 070141 STA NXTST RECORD FOR EXECUTION 3618 06223 026054 JMP XEC4 RETURN TO MONITOR 3619* 3620*** EXECUTE IF 3621* 3622 06224 114302 EIF JSB FETCA,I FETCH VALUE OF FORMULA 3623 06225 002003 SZA,RSS RESULTANT TRUE? 3624 06226 026054 JMP XEC4 NO 3625 06227 034205 ISZ TEMPS YES, BRANCH TO 3626 06230 064205 LDB TEMPS FOLLOWING 3627 06231 026220 JMP EGOTO SEQUENCE NUMBER 3628* 3629*** EXECUTE FOR 3630* 3631 06232 016176 EFOR JSB FVSRH FOR-VARIABLE ALREADY IN STACK? 3632 06233 026243 JMP EFOR1 NO 3633 06234 070210 STA TEMP2 YES, SAVE SOURCE ADDRESS 3634 06235 040374 ADA .6 SAVE 3635 06236 070212 STA TEMP4 DESTINATION ADDRESS 3636 06237 074207 STB TEMP1 SAVE FOR-VARIABLE ADDRESS 3637 06240 014627 JSB MVTOH COMPRESS STACK 3638 06241 064207 LDB TEMP1 RESTORE FOR-VARIABLE ADDRESS 3639 06242 002401 CLA,RSS 3640 06243 060504 EFOR1 LDA M6 TOP OF 3641 06244 040137 ADA HSTPT FOR-STACK 3642 06245 070137 STA HSTPT POINTER 3643 06246 070207 STA TEMP1 3644 06247 003004 CMA,INA STACK 3645 06250 040136 ADA LSTPT 3646 06251 002021 SSA,RSS OVERFLOW? 3647 06252 025541 JMP E1 YES 3648 06253 174207 STB TEMP1,I NO, RECORD FOR-VARIABLE ADDRESS 3649 06254 114303 JSB FORMA,I INITIALIZE FOR-VARIABLE 3650 06255 034205 ISZ TEMPS 3651 06256 034207 ISZ TEMP1 SAVE 3652 06257 060207 LDA TEMP1 LIMIT 3653 06260 072353 STA ENEX2 ADDRESS 3654 06261 114302 JSB FETCA,I FETCH 3655 06262 170207 STA TEMP1,I AND 3656 06263 034207 ISZ TEMP1 STORE 3657 06264 174207 STB TEMP1,I LIMIT 3658 06265 034207 ISZ TEMP1 3659 06266 064500 LDB M2 SET FOR STEP SIZE 3660 06267 076141 STB FDATA SIGN CHECK 3661 06270 160205 LDA TEMPS,I 3662 06271 002002 SZA 3663 06272 026276 JMP EFOR2 FOUND 3664 06273 060534 LDA HONE NOT FOUND, 3665 06274 064371 LDB .2 DEFAULT 3666 06275 002001 RSS IS 1.0 3667 06276 114302 EFOR2 JSB FETCA,I 3668 06277 002020 SSA STEP SIZE NEGATIVE? 3669 06300 036141 ISZ FDATA YES 3670 06301 170207 STA TEMP1,I SAVE 3671 06302 034207 ISZ TEMP1 SET POINTER 3672 06303 174207 STB TEMP1,I SIZE 3673 06304 034207 ISZ TEMP1 STEP 3674 06305 060141 LDA NXTST TO STATEMENT 3675 06306 170207 STA TEMP1,I FOLLOWING THE FOR 3676 06307 160360 EFOR3 LDA ANEXT,I FIND 3677 06310 064140 LDB PRADD -NEXT- 3678 06311 016120 JSB STSRH STATEMENT 3679 06312 000000 NOP 3680 06313 016162 JSB FLWST FIND FOLLOWING STATEMENT 3681 06314 010450 AND MSK1 SAME 3682 06315 050155 CPA STK2 3683 06316 002001 RSS YES 3684 06317 026307 JMP EFOR3 NO 3685 06320 164137 LDB HSTPT,I LOAD 3686 06321 160001 LDA 1,I VALUE 3687 06322 006004 INB OF 3688 06323 164001 LDB 1,I FOR-VARIABLE 3689 06324 026352 JMP ENEX2-1 CHECK ACCEPTABILITY 3690* 3691*** EXECUTE NEXT 3692* 3693 06325 016176 ENEXT JSB FVSRH FIND CORRESPONDING STACK ENTRY 3694 06326 026054 JMP XEC4 NONE PRESENT 3695 06327 070137 STA HSTPT RESET TOP OF STACK 3696 06330 076346 STB ENEX1 3697 06331 002004 INA SAVE LIMIT 3698 06332 072353 STA ENEX2 ADDRESS 3699 06333 040371 ADA .2 SAVE STEP SIZE 3700 06334 070207 STA TEMP1 ADDRESS 3701 06335 064500 LDB M2 SET STEP SIZE 3702 06336 076141 STB FDATA SIGN CHECK 3703 06337 160207 LDA TEMP1,I LOAD 3704 06340 034207 ISZ TEMP1 STEP 3705 06341 164207 LDB TEMP1,I 3706 06342 034207 ISZ TEMP1 3707 06343 002020 SSA CHECK 3708 06344 036141 ISZ FDATA SIGN 3709 06345 017340 JSB .FAD INCREMENT 3710 06346 000000 ENEX1 NOP FOR-VARIABLE 3711 06347 172346 STA ENEX1,I 3712 06350 036346 ISZ ENEX1 SAVE 3713 06351 176346 STB ENEX1,I VALUE 3714 06352 017346 JSB .FSB COMPUTE FOR-VARIABLE-LIMIT 3715 06353 000000 ENEX2 NOP 3716 06354 036141 ISZ FDATA POSITIVE STEP SIZE? 3717 06355 001600 ELA YES, COMPLEMENT SIGN 3718 06356 002020 SSA NO, NON-NEGATIVE RESULT? 3719 06357 026363 JMP ENEX3 NO 3720 06360 160207 LDA TEMP1,I YES,GO TO FIRST 3721 06361 070141 STA NXTST 3722 06362 026054 JMP XEC4 3723 06363 060137 ENEX3 LDA HSTPT FAILS, 3724 06364 040374 ADA .6 ERASE 3725 06365 070137 STA HSTPT STACK 3726 06366 026054 JMP XEC4 3727* 3728*** EXECUTE GOSUB 3729* 3730 06367 006004 EGOSB INB LOAD (A) WITH 3731 06370 160001 LDA 1,I SEQUENCE NUMBER 3732 06371 064141 LDB NXTST LOAD (B) WITH 3733 06372 070141 STA NXTST RETURN SEQUENCE NUMBER 3734 06373 015535 JSB SLWST STACK RETURN ON LOW-CORE STACK 3735 06374 040510 ADA M10 GOSUBS NESTED 3736 06375 050134 CPA LSTAK 3737 06376 014544 JSB ERROR YES 3738 06377 026054 E2 JMP XEC4 NO 3739* 3740*** EXECUTE RETURN 3741* 3742 06400 064136 ERTRN LDB LSTPT RETURN STACK 3743 06401 054134 CPB LSTAK EMPTY? 3744 06402 014544 JSB ERROR YES 3745 06403 160136 E3 LDA LSTPT,I NO, LOAD RETURN ADDRESS 3746 06404 070141 STA NXTST STORE FOR EXECUTION 3747 06405 044477 ADB M1 RESET 3748 06406 074136 STB LSTPT STACK POINTER 3749 06407 026054 JMP XEC4 RETURN TO THE MONITOR 3750* 3751*** EXECUTE READ 3752* 3753 06410 054140 EREAD CPB PRADD END-OF-STATEMENT? 3754 06411 026054 JMP XEC4 YES 3755 06412 114303 JSB FORMA,I NO, EVALUATE NEXT ADDRESS 3756 06413 160137 LDA HSTPT,I RECORD 3757 06414 070157 STA STK4 3758 06415 016141 JSB FDATA 3759 06416 170157 STA STK4,I 3760 06417 034157 ISZ STK4 3761 06420 174157 STB STK4,I 3762 06421 034137 ISZ HSTPT 3763 06422 064205 LDB TEMPS 3764 06423 006004 INB 3765 06424 026410 JMP EREAD 3766** 3767*** INITIALIZE FOR PRINT ** 3768** 3769 06425 000000 PRNIN NOP 3770 06426 002400 CLA 3771 06427 114104 JSB SEXU,I 3772 06430 003400 CCA INITIALIZE 3773 06431 040116 ADA .BUFA BUFFER 3774 06432 070125 STA BADDR POINTER 3775 06433 060142 LDA TYPE INITIALIZE 3776 06434 003004 CMA,INA -CHARACTERS OUTPUTTED- 3777 06435 070126 STA CCNT COUNTER 3778 06436 002011 SLA,RSS START ON ODD CHARACTER POSITION? 3779 06437 126425 JMP PRNIN,I NO 3780 06440 040477 ADA M1 YES, BIAS 3781 06441 070126 STA CCNT COUNTER 3782 06442 002400 CLA OUTPUT A 3783 06443 015773 JSB OUTCR NULL CHARACTER 3784 06444 126425 JMP PRNIN,I 3785* 3786*** EXECUTE PRINT 3787* 3788 06445 016425 EPRIN JSB PRNIN SET FOR PRINT 3789 06446 002400 CLA 3790 06447 026454 JMP EPRI1+1 3791 06450 002400 EPRI0 CLA 3792 06451 050153 CPA EOL 3793 06452 015730 JSB EDELM 3794 06453 003400 EPRI1 CCA 3795 06454 070153 STA EOL 3796 06455 160205 LDA TEMPS,I 3797 06456 010474 AND OPDMK 3798 06457 002002 SZA 3799 06460 026500 JMP EPRI3 3800 06461 034205 EPRI2 ISZ TEMPS 3801 06462 064205 LDB TEMPS 3802 06463 054140 CPB PRADD 3803 06464 026544 JMP EPRI7 3804 06465 160205 LDA TEMPS,I 3805 06466 010467 AND OPMSK 3806 06467 050452 CPA B2000 3807 06470 026450 JMP EPRI0 3808 06471 050453 CPA B3000 NO, SEMICOLON? 3809 06472 026453 JMP EPRI1 3810 06473 050451 CPA B1000 NO, QUOTE? 3811 06474 026515 JMP EPRI4 YES 3812 06475 003400 CCA 3813 06476 040205 ADA TEMPS 3814 06477 070205 STA TEMPS 3815 06500 003400 EPRI3 CCA 3816 06501 070153 STA EOL 3817 06502 002404 CLA,INA 3818 06503 114104 JSB SEXU,I 3819 06504 114302 JSB FETCA,I 3820 06505 071711 STA ENOUT 3821 06506 002400 CLA 3822 06507 114104 JSB SEXU,I 3823 06510 061711 LDA ENOUT 3824 06511 034153 ISZ EOL 3825 06512 026461 JMP EPRI2 3826 06513 015711 JSB ENOUT 3827 06514 026461 JMP EPRI2 3828 06515 002400 EPRI4 CLA 3829 06516 070153 STA EOL 3830 06517 070160 STA STK5 3831 06520 070157 STA STK4 3832 06521 160001 EPRI5 LDA 1,I 3833 06522 010445 AND MSK0 3834 06523 002003 SZA,RSS 3835 06524 026535 JMP EPRI6 3836 06525 034157 ISZ STK4 3837 06526 006004 INB QUOTE 3838 06527 160001 LDA 1,I 3839 06530 010467 AND OPMSK 3840 06531 050451 CPA B1000 3841 06532 026535 JMP EPRI6 3842 06533 034157 ISZ STK4 3843 06534 026521 JMP EPRI5 3844 06535 064157 EPRI6 LDB STK4 3845 06536 044126 ADB CCNT WILL LINE 3846 06537 044524 ADB M73 3847 06540 006021 SSB,RSS CHARACTERS? 3848 06541 015753 JSB OUTLN YES, GET FRESH LINE 3849 06542 114273 JSB OUTSA,I OUTPUT STRING 3850 06543 026455 JMP EPRI1+2 3851 06544 034153 EPRI7 ISZ EOL 3852 06545 026562 JMP EPRI8 3853 06546 064142 LDB TYPE 3854 06547 007004 CMB,INB CHARACTERS OUTPUTTED 3855 06550 060126 LDA CCNT LOAD LINE LENGTH 3856 06551 003004 CMA,INA SAVE NEW COUNT OF 3857 06552 070142 STA TYPE CHARACTERS OUTPUTTED 3858 06553 040001 ADA 1 COMPUTE CHARACTERS NOT YET OUT 3859 06554 004010 SLB CORRECT FOR START ON 3860 06555 040477 ADA M1 ODD PRINT POSITION 3861 06556 064116 LDB .BUFA OUTPUT 3862 06557 002002 SZA 3863 06560 114112 JSB WRITE,I 3864 06561 002001 RSS 3865 06562 015753 EPRI8 JSB OUTLN 3866 06563 002404 CLA,INA SET EXU FLAG 3867 06564 114104 JSB SEXU,I TO EXECUTION MODE 3868 06565 026054 JMP XEC4 3869** 3870*** TAB TELEPRINTER ** 3871** 3872 06566 116616 ETAB JSB IENTA,I 3873 06567 026610 JMP ETAB1 3874 06570 006400 CLB 3875 06571 074153 STB EOL 3876 06572 040523 ADA M72 EXCEED 3877 06573 002021 SSA,RSS 72? 3878 06574 026610 JMP ETAB1 YES 3879 06575 003004 CMA,INA NO, COMPUTE 3880 06576 040523 ADA M72 BLANKS? 3881 06577 040126 ADA CCNT REQUIRED 3882 06600 002021 SSA,RSS ANY? 3883 06601 124334 JMP FR12A,I 3884 06602 070157 STA STK4 3885 06603 060411 LDA .32 OUTPUT 3886 06604 015773 JSB OUTCR REQUIRED 3887 06605 034157 ISZ STK4 3888 06606 026603 JMP *-3 OF BLANKS 3889 06607 124334 JMP FR12A,I 3890 06610 002400 ETAB1 CLA 3891 06611 114104 JSB SEXU,I 3892 06612 015753 JSB OUTLN 3893 06613 002404 CLA,INA 3894 06614 114104 JSB SEXU,I 3895 06615 124334 JMP FR12A,I 3896 06616 011400 IENTA DEF .IENT 3897* 3898*** EXECUTE INPUT 3899* 3900 06617 002006 EINP1 INA,SZA 3901 06620 114256 JSB DRQSA,I 3902 06621 014642 EINP2 JSB CONST 3903 06622 026617 JMP EINP1 3904 06623 064205 LDB TEMPS 3905 06624 006004 INB 3906 06625 054140 CPB PRADD 3907 06626 026643 JMP EINP3 3908 06627 050400 CPA .10 3909 06630 026634 JMP *+4 3910 06631 026635 JMP *+4 3911 06632 002400 EINPT CLA 3912 06633 114104 JSB SEXU,I 3913 06634 114256 JSB DRQSA,I 3914 06635 114303 JSB FORMA,I 3915 06636 003400 CCA 3916 06637 140137 ADA HSTPT,I 3917 06640 034137 ISZ HSTPT 3918 06641 070133 STA SBPTR 3919 06642 026621 JMP EINP2 3920 06643 002400 EINP3 CLA 3921 06644 070142 STA TYPE 3922 06645 002404 CLA,INA 3923 06646 114104 JSB SEXU,I 3924 06647 026054 JMP XEC4 3925** 3926*** EXIT FORMULA ON EMPTY STACK ** 3927** 3928 06650 100233 DEF FORM&,I 3929** 3930*** EXECUTE RESTORE 3931** 3932 06651 064143 ERSTR LDB DSTRT GET FIRST DATA STATEMENT ADDRESS 3933 06652 054477 CPB M1 IMPOSSIBLE ADDRESS? 3934 06653 026054 JMP XEC4 YES, DONE 3935 06654 016107 JSB SETDP NO, SET DATA POINTER 3936 06655 026054 JMP XEC4 DONE 3937** 3938*** FORMULA OPERATOR JUMP TABLE ** 3939** 3940 06656 006715 AROTB DEF ESCMA SUBSCRIPT SEPARATOR 3941 06657 006775 DEF ESTR ASSIGNMENT OPERATOR 3942 06660 007021 DEF EFAD '+' 3943 06661 007024 DEF EFSB '-' 3944 06662 007027 DEF EFMP '*' 3945 06663 007032 DEF EFDV '/' 3946 06664 007035 DEF EPWR '^' 3947 06665 007157 DEF EGTRT '>' 3948 06666 007164 DEF ELST '<' 3949 06667 007210 DEF ENEQL '#' 3950 06670 007171 DEF EEQL '=' 3951 06671 007222 DEF EUMIN UNARY '-' 3952 06672 007225 DEF ELBRC '[' 3953 06673 100330 DEF FOR1A,I '(' 3954 06674 100332 DEF FOR0B,I UNARY '+' 3955 06675 007233 DEF EOR OR 3956 06676 007241 DEF EAND AND 3957 06677 007246 DEF ENOT NOT 3958 06700 007176 DEF EGORE '>=' 3959 06701 007203 DEF ELORE '<=' 3960** 3961*** EXECUTE A BINARY OPERATOR ** 3962** 3963 06702 000000 BINOP NOP SAVE 3964 06703 162702 LDA BINOP,I SUBROUTINE 3965 06704 072712 STA BINO1 CALL 3966 06705 036702 ISZ BINOP SET RETURN ADDRESS 3967 06706 015563 JSB OPCHK SAVE ADDRESS OF 3968 06707 076713 STB BINO2 TOP OPERAND 3969 06710 034137 ISZ HSTPT UNSTACK ADDRESS 3970 06711 015553 JSB STTOP LOAD SECOND OPERAND 3971 06712 000000 BINO1 NOP PERFORM OPERATION 3972 06713 000000 BINO2 NOP ADDRESS OF SECOND OPERAND 3973 06714 126702 JMP BINOP,I 3974** 3975*** EXECUTE SUBSCROPT COMMA ** 3976** 3977 06715 016764 ESCMA JSB ESBS INTEGERIZE COLUMN SUBSCRIPT 3978 06716 034136 ISZ LSTPT 3979 06717 016764 JSB ESBS INTEGERIZE ROW SUBSCRIPT 3980 06720 164137 LDB HSTPT,I FETCH 3981 06721 044371 ADB .2 SUBSCRIPT 3982 06722 160001 LDA 1,I BOUNDS 3983 06723 010445 AND MSK0 SAVE 3984 06724 070157 STA STK4 3985 06725 160001 LDA 1,I EXTRACT 3986 06726 001727 ALF,ALF ROW 3987 06727 010445 AND MSK0 BOUND 3988 06730 003004 CMA,INA ACTUAL 3989 06731 140136 ADA LSTPT,I ROW SUBSCRIPT 3990 06732 002021 SSA,RSS LEGAL? 3991 06733 026752 JMP E6-1 NO 3992 06734 060157 LDA STK4 3993 06735 050370 CPA .1 COLUMN MATRIX? 3994 06736 026742 JMP ESCM1 YES 3995 06737 015317 JSB MPY NO, COMPUTE ADDRESS 3996 06740 100136 DEF LSTPT,I DISPLACEMENT 3997 06741 002001 RSS DUE TO ROWS 3998 06742 160136 ESCM1 LDA LSTPT,I 3999 06743 007400 CCB UNSTACK 4000 06744 044136 ADB LSTPT ROW 4001 06745 074136 STB LSTPT SUBSCRIPT 4002 06746 064157 LDB STK4 4003 06747 007004 CMB,INB COLUMN 4004 06750 144136 ADB LSTPT,I SUBSCRIPT 4005 06751 006021 SSB,RSS LEGAL? 4006 06752 014544 JSB ERROR NO 4007 06753 140136 E6 ADA LSTPT,I YES, ADD IN COLUMN DISPLACEMENT 4008 06754 001000 ALS DOUBLE DISPLACEMENT 4009 06755 164137 LDB HSTPT,I COMPUTE 4010 06756 140001 ADA 1,I ACTUAL 4011 06757 170137 STA HSTPT,I ADDRESS 4012 06760 064136 LDB LSTPT UNSTACK 4013 06761 044477 ADB M1 4014 06762 074136 STB LSTPT I 4015 06763 124330 JMP FOR1A,I 4016** 4017*** INTERGERIZE A SUBSCRIPT ** 4018** 4019 06764 000000 ESBS NOP 4020 06765 015563 JSB OPCHK VALIDATE SUBSCRIPT 4021 06766 160001 LDA 1,I FETCH 4022 06767 006004 INB SUBSCRIPT 4023 06770 164001 LDB 1,I 4024 06771 015421 JSB SBFIX INTEGERIZE 4025 06772 174136 STB LSTPT,I 4026 06773 034137 ISZ HSTPT POP OPERAND STACK 4027 06774 126764 JMP ESBS,I 4028** 4029*** EXECUTE STORE ** 4030** 4031 06775 064214 ESTR LDB TEMPS+7 IS NEXT OPERATOR 4032 06776 006002 SZB AN END-OF-FORMULA? 4033 06777 124333 JMP FOR1B,I NO, DEFER STORE 4034 07000 054213 CPB TEMPS+6 YES, FIRST STORE OPERATOR USED? 4035 07001 027015 JMP ESTR2 YES 4036 07002 160137 ESTR1 LDA HSTPT,I SET 4037 07003 070216 STA TEMPS+9 DESTINATION 4038 07004 060213 LDA TEMPS+6 SOURCE ADDRESS IN (A) 4039 07005 164000 LDB 0,I TRANSFER HIGH 4040 07006 174216 STB TEMPS+9,I PART OF SOURCE 4041 07007 034216 ISZ TEMPS+9 UPDATE 4042 07010 002004 INA POINTERS 4043 07011 164000 LDB 0,I TRANSFER LOW 4044 07012 174216 STB TEMPS+9,I PART OF SOURCE 4045 07013 034137 ISZ HSTPT POP STACK 4046 07014 124332 JMP FOR0B,I 4047 07015 015563 ESTR2 JSB OPCHK SAVE ADDRESS 4048 07016 074213 STB TEMPS+6 OF QUANTITY 4049 07017 034137 ISZ HSTPT YES, POP HIGH-CORE 4050 07020 027002 JMP ESTR1 STACK AND EXECUTE STORE 4051** 4052*** CALL ADD ** 4053** 4054 07021 016702 EFAD JSB BINOP 4055 07022 017340 JSB .FAD 4056 07023 124331 JMP FOR0A,I 4057** 4058*** CALL SUBTRACT ** 4059** 4060 07024 016702 EFSB JSB BINOP 4061 07025 017346 JSB .FSB 4062 07026 124331 JMP FOR0A,I 4063** 4064*** CALL MULTIPLY ** 4065** 4066 07027 016702 EFMP JSB BINOP 4067 07030 017417 JSB .FMP 4068 07031 124331 JMP FOR0A,I 4069** 4070*** CALL DIVIDE ** 4071** 4072 07032 016702 EFDV JSB BINOP 4073 07033 017466 JSB .FDV 4074 07034 124331 JMP FOR0A,I 4075** 4076*** EXECUTE ^ *** 4077** 4078 07035 164137 EPWR LDB HSTPT,I LOAD 4079 07036 160001 LDA 1,I 4080 07037 006004 INB POWER 4081 07040 164001 LDB 1,I 4082 07041 015432 JSB IFIX 4083 07042 027045 JMP *+3 4084 07043 102301 SOS INTEGER? 4085 07044 027060 JMP EPWR1 YES 4086 07045 016702 JSB BINOP NO 4087 07046 027047 JMP RPWR 4088 07047 017137 RPWR JSB PCHK CHECK ARGUMENTS 4089 07050 002020 SSA NEGATIVE BASE? 4090 07051 014544 JSB ERROR YES 4091 07052 BASER EQU * 4092 07052 066712 LDB BINO1 NO, LOAD BASE 4093 07053 114304 JSB .LOGA,I TAKE NATURAL LOG 4094 07054 017417 JSB .FMP MULTIPLY 4095 07055 106713 DEF BINO2,I BY POWER 4096 07056 114305 JSB .EXPA,I EXPONENTIATE 4097 07057 124331 JMP FOR0A,I RESULT 4098 07060 074221 EPWR1 STB TT1 4099 07061 006020 SSB 4100 07062 007004 CMB,INB 4101 07063 074223 STB TT2 4102 07064 016702 JSB BINOP 4103 07065 027066 JMP IPWR 4104 07066 017137 IPWR JSB PCHK CHECK ARGUMENTS 4105 07067 066712 LDB BINO1 STORE 4106 07070 072712 STA BINO1 4107 07071 076713 STB BINO2 BASE 4108 07072 060534 LDA HONE INITIALIZE 4109 07073 070211 STA TT3 RESULT 4110 07074 060371 LDA .2 TO 4111 07075 070212 STA TT4 1.0 4112 07076 064223 IPWR1 LDB TT2 DIVIDE POWER 4113 07077 004031 SLB,BRS BY 2 4114 07100 027117 JMP IPWR3 WAS ODD 4115 07101 074223 STB TT2 WAS EVEN 4116 07102 006002 IPWR2 SZB ZERO? 4117 07103 027130 JMP IPWR4 NO 4118 07104 060221 LDA TT1 YES 4119 07105 002020 SSA POSITIVE POWER? 4120 07106 027112 JMP IPWR5 NO 4121 07107 060211 LDA TT3 YES, LOAD 4122 07110 064212 LDB TT4 RESULT 4123 07111 124331 JMP FOR0A,I 4124 07112 060534 IPWR5 LDA HONE LOAD 4125 07113 064371 LDB .2 1.0 4126 07114 017466 JSB .FDV DIVIDE BY 4127 07115 000211 DEF TT3 RESULT 4128 07116 124331 JMP FOR0A,I 4129 07117 074223 IPWR3 STB TT2 SAVE POWER 4130 07120 062712 LDA BINO1 LOAD 4131 07121 066713 LDB BINO2 BASE 4132 07122 017417 JSB .FMP MULTIPLY BY 4133 07123 000211 DEF TT3 RESULT-SO-FAR 4134 07124 070211 STA TT3 SAVE PARTIAL 4135 07125 074212 STB TT4 4136 07126 064223 LDB TT2 LOAD POWER 4137 07127 027102 JMP IPWR2 4138 07130 062712 IPWR4 LDA BINO1 LOAD 4139 07131 066713 LDB BINO2 BASE 4140 07132 017417 JSB .FMP SQUARE 4141 07133 006712 DEF BINO1 IT 4142 07134 072712 STA BINO1 SAVE 4143 07135 076713 STB BINO2 RESULT 4144 07136 027076 JMP IPWR1 4145** 4146*** INSURE VALID OPERATION ** 4147** 4148 07137 000000 PCHK NOP 4149 07140 076712 STB BINO1 LOAD 4150 07141 166713 LDB BINO2,I POWER 4151 07142 002002 SZA BASE ZERO? 4152 07143 027154 JMP PCHK1 NO 4153 07144 006003 SZB,RSS YES, POWER ZERO? 4154 07145 014544 JSB ERROR YES 4155 07146 POWER EQU * 4156 07146 006021 SSB,RSS NO, POWER POSITIVE? 4157 07147 027214 JMP FALSE YES 4158 07150 014544 JSB ERROR NO 4159 07151 060471 ZRTNG LDA INF USE POSITIVE 4160 07152 064500 LDB M2 INFINITY 4161 07153 124331 JMP FOR0A,I 4162 07154 006003 PCHK1 SZB,RSS POWER ZERO? 4163 07155 027217 JMP TRUE YES, RETURN 1,0 4164 07156 127137 JMP PCHK,I NO 4165** 4166** EXECUTE > ** 4167** 4168 07157 016702 EGTRT JSB BINOP COMPUTE OPERAND 4169 07160 017346 JSB .FSB DIFFERENCE 4170 07161 002020 SSA NEGATIVE? 4171 07162 027214 JMP FALSE YES 4172 07163 027212 JMP ENEQ1 NO 4173** 4174** EXECUTE < ** 4175** 4176 07164 016702 ELST JSB BINOP COMPUTE OPERAND 4177 07165 017346 JSB .FSB DIFFERENCE 4178 07166 002020 SSA NEGATIVE? 4179 07167 027217 JMP TRUE YES 4180 07170 027214 JMP FALSE NO 4181** 4182*** EXECUTE = ** 4183** 4184 07171 016702 EEQL JSB BINOP COMPUTE OPERAND 4185 07172 017346 JSB .FSB DIFFERENCE 4186 07173 002002 EEQL1 SZA ZERO? 4187 07174 027214 JMP FALSE NO 4188 07175 027217 JMP TRUE YES 4189** 4190** EXECUTE >= ** 4191** 4192 07176 016702 EGORE JSB BINOP COMPUTE OPERAND 4193 07177 017346 JSB .FSB DIFFERENCE 4194 07200 002020 SSA POSITIVE? 4195 07201 027214 JMP FALSE NO 4196 07202 027217 JMP TRUE YES 4197** 4198*** EXCUTE <= ** 4199** 4200 07203 016702 ELORE JSB BINOP COMPUTE OPERAND 4201 07204 017346 JSB .FSB DIFFERENCE 4202 07205 002020 SSA NEGATIVE? 4203 07206 027217 JMP TRUE YES 4204 07207 027173 JMP EEQL1 NO 4205** 4206** EXECUTE # ** 4207** 4208 07210 016702 ENEQL JSB BINOP COMPUTE OPERAND 4209 07211 017346 JSB .FSB DIFFERENCE 4210 07212 002002 ENEQ1 SZA NON-ZERO? 4211 07213 027217 JMP TRUE YES 4212** 4213*** SET LOGICAL VALUES ** 4214** 4215 07214 002400 FALSE CLA LOAD 4216 07215 006400 CLB ZERO 4217 07216 124331 JMP FOR0A,I 4218 07217 060534 TRUE LDA HONE LOAD 4219 07220 064371 LDB .2 ONE 4220 07221 124331 JMP FOR0A,I 4221** 4222*** EXECUTE UNARY - ** 4223** 4224 07222 015553 EUMIN JSB STTOP LOAD NUMBER 4225 07223 015471 JSB ARINV NEGATE NUMBER 4226 07224 124331 JMP FOR0A,I 4227** 4228*** EXECUTE LEFT BRACKET ** 4229** 4230 07225 034136 ELBRC ISZ LSTPT LOAD SUBSCRIPT COMMA 4231 07226 064454 LDB SCCNT INFORMATION WORD 4232 07227 015535 JSB SLWST STACK IT 4233 07230 015544 JSB BHSTP STACK 4234 07231 015604 JSB RSCHK 4235 07232 027217 JMP TRUE 1 4236** 4237*** EXECUTE OR ** 4238** 4239 07233 016702 EOR JSB BINOP VALIDATE 4240 07234 027235 JMP ORS OPERANDS 4241 07235 002002 ORS SZA SECOND OPERAND NON-ZERO? 4242 07236 027217 JMP TRUE YES 4243 07237 162713 ORS1 LDA BINO2,I NO, CHECK SECOND 4244 07240 027212 JMP ENEQ1 OPERAND 4245** 4246*** EXECUTE AND ** 4247** 4248 07241 016702 EAND JSB BINOP VALIDATE 4249 07242 027243 JMP ANDS OPERANDS 4250 07243 002003 ANDS SZA,RSS SECOND OPERAND ZERO? 4251 07244 027214 JMP FALSE YES 4252 07245 027237 JMP ORS1 NO 4253** 4254*** EXECUTE NOT ** 4255** 4256 07246 015553 ENOT JSB STTOP LOAD OPERAND 4257 07247 002002 SZA ZERO? 4258 07250 027214 JMP FALSE NO 4259 07251 027217 JMP TRUE YES 4261** 4262** ADD TWO FLOATING POINT QUANTITIES ** 4263** 4264 07252 000000 ADMUP NOP 4265 07253 063252 LDA ADMUP 4266 07254 070203 STA STK24 4267 07255 060157 LDA STK4 4268 07256 003004 ADMU1 CMA,INA EXPONENT 4269 07257 040150 ADA EXP DIFFERENCE 4270 07260 002021 SSA,RSS ARG 1 LARGER? 4271 07261 027277 JMP ADMU2 YES 4272 07262 060227 LDA A1 NO, 4273 07263 064230 LDB A2 SWAP 4274 07264 070230 STA A2 ARGUMENTS 4275 07265 074227 STB A1 4276 07266 060231 LDA C1 4277 07267 064232 LDB C2 4278 07270 070232 STA C2 4279 07271 074231 STB C1 4280 07272 060150 LDA EXP 4281 07273 064157 LDB STK4 4282 07274 070157 STA STK4 4283 07275 074150 STB EXP 4284 07276 027256 JMP ADMU1 4285 07277 040516 ADMU2 ADA M25 SHIFT COUNT >= 4286 07300 064231 LDB C1 4287 07301 002021 SSA,RSS 25 ? 4288 07302 027331 JMP ADMU4 YES, IGNORE SMALLER ARGUMENT 4289 07303 003100 CMA,CLE NO, COMPUTE 4290 07304 040516 ADA M25 SHIFT COUNT 4291 07305 070157 STA STK4 4292 07306 060230 LDA A2 LOAD SMALLER 4293 07307 064232 LDB C2 MANTISSA 4294 07310 034157 ADMU3 ISZ STK4 4295 07311 027334 JMP ADMU5 YES 4296 07312 044231 ADB C1 NO, ADD LOW MANTISSAS 4297 07313 103101 CLO 4298 07314 005326 RBR,ELB SAVE (E) IN B(0) 4299 07315 000040 CLE 4300 07316 040227 ADA A1 ADD HIGH MANTISSAS 4301 07317 004010 SLB OVERFLOW FROM LOWER MANTISSA? 4302 07320 002004 INA YES, ADD IT IN 4303 07321 005566 ERB,CLE,ELB ERASE B(0) 4304 07322 102301 SOS OVERFLOW? 4305 07323 027332 JMP ADMU4+1 NO 4306 07324 001500 ERA YES, SHIFT 4307 07325 005500 ERB MANTISSA DOWN AND 4308 07326 034150 ISZ EXP CORRECT EXPONENT 4309 07327 027332 JMP ADMU4+1 4310 07330 002001 RSS 4311 07331 060227 ADMU4 LDA A1 RETRIEVE HIGH MANTISSA 4312 07332 015077 JSB .PACK NORMALIZE AND PACK 4313 07333 124203 JMP STK24,I 4314 07334 000071 ADMU5 CLE,SLA,ARS ARITHMETIC 4315 07335 002200 CME DOUBLE 4316 07336 005540 ERB,CLE SHIFT 4317 07337 027310 JMP ADMU3 4318** 4319*** ADD TWO FLOATING POINT NUMBERS ** 4320** 4321 07340 000000 .FAD NOP 4322 07341 017367 JSB UNPAK UNPACK THE ARGUMENTS 4323 07342 063340 LDA .FAD 4324 07343 070161 STA STK6 4325 07344 017252 JSB ADMUP ADD THEM UP 4326 07345 124161 JMP STK6,I 4327** 4328*** SUBTRACT TWO FLOATING POINT NUMBERS ** 4329** 4330 07346 000000 .FSB NOP 4331 07347 017367 JSB UNPAK UNPACK THE ARGUMENTS 4332 07350 063346 LDA .FSB 4333 07351 070161 STA STK6 4334 07352 060230 LDA A2 TWO'S COMPLEMENT 4335 07353 003000 CMA THE SECOND ARGUMENT 4336 07354 007006 CMB,INB,SZB LOW PART ZERO? 4337 07355 027363 JMP .FSB1 NO 4338 07356 002025 SSA,INA,RSS YES, ORIGINAL NUMBER NEGATIVE? 4339 07357 002021 SSA,RSS YES, STILL NEGATIVE? 4340 07360 027363 JMP .FSB1 NO 4341 07361 001300 RAR YES, SHIFT DOWN AND 4342 07362 034157 ISZ STK4 4343 07363 074232 .FSB1 STB C2 SAVE COMPLEMENTED 4344 07364 070230 STA A2 NUMBER 4345 07365 017252 JSB ADMUP ADD ARGUMENTS 4346 07366 124161 JMP STK6,I 4347** 4348*** UNPACK ARGUMENTS FOR ARITHMETIC OPERATIONS ** 4349** 4350 07367 000000 UNPAK NOP 4351 07370 070227 STA A1 SAVE HIGH PART OF ARG 1 4352 07371 002003 SZA,RSS UNPACK 4353 07372 006404 CLB,INB SECOND 4354 07373 015524 JSB .FLUN WORD 4355 07374 074231 STB C1 SAVE LOW PART OF ARG 1 4356 07375 070150 STA EXP SAVE EXPONENT OF ARG 1 4357 07376 063367 LDA UNPAK COMPUTE ADDRESS OF 4358 07377 040500 ADA M2 CALLING ROUTINE 4359 07400 164000 LDB 0,I 4360 07401 134000 ISZ 0,I SET CALLING ROUTINE-S RETURN 4361 07402 164001 LDB 1,I LOAD 4362 07403 005275 RBL,CLE,SLB,ERB 4363 07404 027402 JMP *-2 4364 07405 160001 LDA 1,I LOAD 4365 07406 006004 INB ARG 2 4366 07407 164001 LDB 1,I 4367 07410 070230 STA A2 SAVE HIGH PART OF ARG 2 4368 07411 002003 SZA,RSS UNPACK 4369 07412 006404 CLB,INB SECOND 4370 07413 015524 JSB .FLUN 4371 07414 074232 STB C2 SAVE LOW PART OF ARG 2 4372 07415 070157 STA STK4 4373 07416 127367 JMP UNPAK,I 4374** 4375*** MULTIPLY TWO FLOATING POINT NUMBERS ** 4376** 4377 07417 000000 .FMP NOP UNPACK THE 4378 07420 017367 JSB UNPAK ARGUMENTS 4379 07421 040150 ADA EXP ADD EXPONENTS 4380 07422 002004 INA PLUS 1 FOR 4381 07423 070150 STA EXP NORMALIZATION 4382 07424 005300 RBR POSITION LOW PART OF ARG 2 4383 07425 060001 LDA 1 COMPUTE A 4384 07426 015317 JSB MPY CROSS PRODUCT 4385 07427 000227 DEF A1 4386 07430 070232 STA C2 SAVE RESULT 4387 07431 063417 LDA .FMP 4388 07432 070161 STA STK6 4389 07433 060231 LDA C1 LOAD AND POSITION 4390 07434 001300 RAR LOW PART OF ARG 1 4391 07435 074231 STB C1 SAVE REST OF PRIOR RESULT 4392 07436 015317 JSB MPY COMPUTE SECOND 4393 07437 000230 DEF A2 CROSS PRODUCT 4394 07440 044231 ADB C1 ADD 4395 07441 000040 CLE CROSS 4396 07442 040232 ADA C2 PRODUCTS 4397 07443 002040 SEZ CORRECT 4398 07444 006004 INB FOR CARRY 4399 07445 074232 STB C2 SAVE RESULT 4400 07446 060227 LDA A1 COMPUTE 4401 07447 015317 JSB MPY HIGH PART 4402 07450 000230 DEF A2 OF PRODUCT 4403 07451 000065 CLE,ERA POSITION LOW PART 4404 07452 040232 ADA C2 ADD IN CROSS TERMS 4405 07453 000066 CLE,ELA REPOSITION 4406 07454 002041 SEZ,RSS CARRY FROM LOW PART? 4407 07455 027461 JMP *+4 4408 07456 102201 SOC YES, POSITIVE CARRY? 4409 07457 006005 INB,RSS YES 4410 07460 044477 ADB M1 NO 4411 07461 070227 STA A1 EXCHANGE 4412 07462 060001 LDA 1 4413 07463 064227 LDB A1 REGISTERS 4414 07464 015077 JSB .PACK NORMALIZE AND PACK 4415 07465 124161 JMP STK6,I 4416** 4417*** PERFORM FLOATING DIVIDE ** 4418** 4419 07466 000000 .FDV NOP 4420 07467 017367 JSB UNPAK UNPACK ARGUMENTS 4421 07470 067466 LDB .FDV 4422 07471 074161 STB STK6 4423 07472 064230 LDB A2 DIVISOR 4424 07473 006003 SZB,RSS ZERO? 4425 07474 027553 JMP .FDV2 YES 4426 07475 064227 LDB A1 NO,DIVIDEND 4427 07476 006003 SZB,RSS ZERO? 4428 07477 027550 JMP .FDV1 YES 4429 07500 003004 CMA,INA NO, COMPUTE 4430 07501 002004 INA EXPONENT 4431 07502 040150 ADA EXP DIFFERENCE 4432 07503 070150 STA EXP PLUS 1 4433 07504 060231 LDA C1 LOAD DIVIDEND 4434 07505 004071 CLE,SLB,BRS ARITHMETIC 4435 07506 002200 CME RIGHT SHIFT 4436 07507 001500 ERA TWICE TO 4437 07510 004071 CLE,SLB,BRS PREVENT 4438 07511 002200 CME DIVISION 4439 07512 001500 ERA OVERFLOW 4440 07513 017557 JSB IDIV DIVIDE 4441 07514 070157 STA STK4 4442 07515 005100 BRS DIVIDE REMAINDER BY 2 TO 4443 07516 002400 CLA PREVENT DIVISION OVERFLOW 4444 07517 017557 JSB IDIV DIVIDE REMAINDER AND 4445 07520 070162 STA STK7 4446 07521 064232 LDB C2 4447 07522 002500 CLA,CLE SCALE TO 4448 07523 005521 ERB,BRS PREVENT 4449 07524 005100 BRS OVERFLOW 4450 07525 017557 JSB IDIV COMPUTE B2/A2 = Q 4451 07526 003004 CMA,INA COMPUTE 4452 07527 015317 JSB MPY -HIGH QUOTIENT*Q 4453 07530 000157 DEF STK4 4454 07531 005066 BLS,CLE,ELB SHIFT SIGN TO (E) 4455 07532 060162 LDA STK7 4456 07533 002020 SSA NEGATIVE? 4457 07534 003401 CCA,RSS YES, SET (A)=-1 (EXTEND 4458 07535 002400 CLA NO, SET (A)=0 SIGN) 4459 07536 003040 CMA,SEZ IF (E)=1 SUBTRACT 4460 07537 002004 INA 1 AS EXTENSION 4461 07540 003100 CMA,CLE OF PRODUCT 4462 07541 044162 ADB STK7 4463 07542 002040 SEZ CARRY 4464 07543 002004 INA INTO (A) 4465 07544 004066 CLE,ELB POSITION 4466 07545 001600 ELA REGISTERS 4467 07546 040157 ADA STK4 4468 07547 002001 RSS 4469 07550 002400 .FDV1 CLA SET MANTISSA TO ZERO 4470 07551 015077 JSB .PACK NORMALIZE AND PACK 4471 07552 124161 JMP STK6,I 4472 07553 014544 .FDV2 JSB ERROR DIVIDE-BY-ZERO 4473 07554 060227 DBYZR LDA A1 4474 07555 015164 JSB OVFLW RETURN INFINITY 4475 07556 124161 JMP STK6,I 4476** 4477*** INTEGER DIVIDE ** 4478** 4479 07557 000000 IDIV NOP DIVIDEND IN (B) AND (A) 4480 07560 074227 STB A1 SAVE HIGH DIVIDEND 4481 07561 064230 LDB A2 4482 07562 006120 CLE,SSB SET (B) TO ABS(B) 4483 07563 007204 CMB,CME,INB AND (E) TO SIGN(B) 4484 07564 077340 STB .FAD SAVE POSITION DIVISOR 4485 07565 007004 CMB,INB SAVE 4486 07566 077346 STB .FSB NEGATIVE DIVISOR 4487 07567 064513 LDB M16 SET 4488 07570 074231 STB C1 COUNTER 4489 07571 064500 LDB M2 SET 4490 07572 074147 STB SIGN 4491 07573 077417 STB .FMP SIGNS 4492 07574 064227 LDB A1 RETRIEVE HIGH DIVIDEND 4493 07575 006021 SSB,RSS POSITIVE? 4494 07576 027604 JMP IDIV1 YES 4495 07577 037417 ISZ .FMP NO, SET REMAINDER SIGN 4496 07600 007200 CMB,CME NEGATIVE AND COMPLEMENT 4497 07601 002002 SZA THE DIVISOR 4498 07602 003005 CMA,INA,RSS AND (E) 4499 07603 006004 INB 4500 07604 002040 IDIV1 SEZ QUOTIENT POSITIVE? 4501 07605 034147 ISZ SIGN NO 4502 07606 000066 IDIV2 CLE,ELA SHIFT 4503 07607 005600 ELB DIVIDEND 4504 07610 047346 ADB .FSB SUBTRACT DIVISOR 4505 07611 006021 SSB,RSS OK? 4506 07612 002005 INA,RSS YES 4507 07613 047340 ADB .FAD NO, RESTORE DIVIDEND 4508 07614 034231 ISZ C1 DONE? 4509 07615 027606 JMP IDIV2 NO 4510 07616 003004 CMA,INA YES, NEGATE QUOTIENT 4511 07617 034147 ISZ SIGN RESULT TO BE POSITIVE? 4512 07620 003004 CMA,INA YES 4513 07621 037417 ISZ .FMP NO,REMAINDER POSITIVE? 4514 07622 127557 JMP IDIV,I YES 4515 07623 007004 CMB,INB NO 4516 07624 127557 JMP IDIV,I 4517 SKP 4518* ****************************** 4519* SYMBOL TABLE SEARCH SUBROUTINE 4520* ****************************** 4521* 4522 07625 000000 SSYMT NOP 4523 07626 070211 STA STEMP STORE IDENTIFIER 4524 07627 010402 AND .15 ISOLATE IDENTIFIER TYPE 4525 07630 040502 ADA M4 4526 07631 002024 SSA,INA 4527 07632 027636 JMP *+4 JUMP IF ARRAY TYPE 4528 07633 060211 LDA STEMP RESTORE A 4529 07634 070001 STA 1 STORE IN B 4530 07635 027650 JMP SYMT1+3 4531 07636 002020 SSA SKIP IF UNDIMENSIONED 4532 07637 027645 JMP SYMT1 4533 07640 060211 LDA STEMP RESTORE A 4534 07641 010505 AND MSK3 177771B SET TYPE TO 1 4535 07642 070001 STA 1 4536 07643 006004 INB SET TYPE IN 3 TO 2 4537 07644 027650 JMP *+4 4538 07645 007400 SYMT1 CCB SET DIMENSIONED FLAG TO B 4539 07646 060372 LDA .3 4540 07647 030211 IOR STEMP SET TYPE TO UNDEFINED 4541 07650 070212 STA STEMP+1 STORE A 4542 07651 074213 STB STEMP+2 STORE B 4543 07652 064132 LDB SYMTF START OF SYMBOL TABLE 4544 07653 027674 JMP SYMT4 4545 07654 160001 SYMT2 LDA 1,I PICK UP 1ST WORD OF ENTRY 4546 07655 050211 CPA STEMP COMPARE WITH IDENTIFIER 4547 07656 127625 JMP SSYMT,I MATCH? RETURN 4548 07657 050212 CPA STEMP+1 COMPARE WITH DIFFERENT DIM. 4549 07660 027701 JMP SYMT3 4550 07661 050213 CPA STEMP+2 COMPARE WITH DIFFERENT DIM. 4551 07662 027701 JMP SYMT3 4552 07663 160001 LDA 1,I 4553 07664 010402 AND .15 4554 07665 050402 CPA .15 4555 07666 027673 JMP *+5 4556 07667 040502 ADA M4 4557 07670 002020 SSA 4558 07671 006004 INB 4559 07672 006004 INB 4560 07673 044371 ADB .2 4561 07674 054117 SYMT4 CPB SYMTA 4562 07675 007401 CCB,RSS 4563 07676 027654 JMP SYMT2 4564 07677 060211 LDA STEMP 4565 07700 127625 JMP SSYMT,I 4566 07701 060211 SYMT3 LDA STEMP RESTORE A 4567 07702 034213 ISZ STEMP+2 DIMENSIONED IDENTIFIER? 4568 07703 002001 RSS NO, SKIP 4569 07704 170001 STA 1,I YES CHANGE 1ST WORD OF ENTRY TO 4570 07705 127625 JMP SSYMT,I APPROPRIATE DIMENSION TYPE 4571 SKP 4572** 4573*** ERROR TABLE ** 4574** 4575 07706 000336 ERR DEF EOF+1 PREMATURE STATEMENT END 4576 07707 002062 DEF RTLE INPUT EXCEEDS 71 CHARACTERS 4577 07710 002134 DEF INVSC SYSTEM COMMAND NOT RECOGNIZED 4578 07711 002223 DEF SYNE1 NO STATEMENT TYPE FOUND 4579 07712 000776 DEF NUMER+1 4580 07713 002606 DEF SYE16 NO LETTER WHERE EXPECTED 4581 07714 002333 DEF SYNE2 LET STATEMENT HAS NO STORE 4582 07715 002346 DEF SYNE3 ILLIGAL COM STATEMENT 4583 07716 002373 DEF SYNE4+1 NO FUNCTION IDENTIFIER (OR BAD) 4584 07717 002405 DEF SYNE5 MISSING PARAMETER 4585 07720 002412 DEF SYNE6+1 MISSING ASSIGNMENT OPERATOR 4586 07721 002432 DEF SYNE7 MISSING 'THEN' 4587 07722 002440 DEF SYNE8+1 MISSING OR IMPROPER FOR-VARIABLE 4588 07723 002452 DEF SYNE9 MISSING 'TO' 4589 07724 002465 DEF SYE10 BAD 'STEP' PART IN FOR STATEMENT 4590 07725 177777 DEC -1 4591 07726 177777 DEC -1 4592 07727 000671 DEF SYE12 NO CONSTAND WHERE EXPECTED 4593 07730 002511 DEF SYE13 NO VARIABLE WHERE EXPECTED 4594 07731 002543 DEF SYE14 NO CLOSING QUOTE FOR STRING 4595 07732 002555 DEF SYE15 PRINT JUXTAPOSES FORMULAS 4596 07733 002621 DEF SYE17 IMPROPER WORD IN MAT STATEMENT 4597 07734 002632 DEF SYE18 NO COMMA WHERE EXPECTED 4598 07735 002705 DEF SYE19 IMPROPER ARRAY FUNCTION 4599 07736 002725 DEF SYE20 NO SUBSCRIPT WHERE EXPECTED 4600 07737 002737 DEF SYE21 ARRAY INVERSION INTO SELF 4601 07740 002750 DEF SYE22 MISSING MULTIPLICATION OPERATOR 4602 07741 002771 DEF SYE23 IMPROPER ARRAY OPERATOR 4603 07742 003010 DEF SYE24+1 ARRAY MULTIPLICATION INTO SELF 4604 07743 003133 DEF FSCE1+1 MISSING LEFT PARENTHESIS 4605 07744 003207 DEF FSCE2+1 MISSING RIGHT PARENTHESIS 4606 07745 003237 DEF FSCE3+1 UNRECOGNIZED OPERAND 4607 07746 003465 DEF ARRE1 MISSING SUBSCRIPT 4608 07747 003500 DEF ARRE2 MISSING ARRAY IDENTIFIER 4609 07750 004243 DEF SYE25+1 MISSING OR BAD INTEGER 4610 07751 000337 DEF NOEOF+1 CHARACTERS AFTER STATEMENT END 4611 07752 003333 DEF FSCE4+1 4612 07753 002160 DEF PRERR PHOTO READER NOT READY 4613 07754 005321 DEF MER4 FUNCTION MULTIPLY DEFINED 4614 07755 005422 DEF MER6 UNMATCHED FOR STATEMENT 4615 07756 005273 DEF MER3 UNMATCHED NEXT 4616 07757 005521 DEF MER8 OUT OF STORAGE-SYMBOL TABLE 4617 07760 005550 DEF MSYM INCONSISTENT DIMENSIONS 4618 07761 005310 DEF MLOP6 4619 07762 005406 DEF MER5 ARRAY DOUBLE DIMENSIONED 4620 07763 005440 DEF MER10 NO OF DIMENSIONS UNSPECIFIED 4621 07764 001420 DEF MER9 ARRAY TOO LARGE 4622 07765 005473 DEF MER7 OUT OF STORAGE-ARRAY ALLOCATION 4623 07766 006753 DEF E6 SUBSCRIPT TOO LARGE 4624 07767 001574 DEF E8 UNDEFINED OPERAND ACCESSED 4625 07770 007052 DEF BASER NEGATIVE BASE POWERED TO REAL 4626 07771 007146 DEF POWER ZERO TO ZERO POWER 4627 07772 006065 DEF XEC5 MISSING STATEMENT 4628 07773 006377 DEF E2 GOSUBS NESTED 10 DEEP 4629 07774 006403 DEF E3 RETURN FINDS NO ADDRES 4630 07775 006150 DEF E4 OUT OF DATA 4631 07776 001542 DEF E1+1 OUT OF STORAGE - EXECUTION 4632 07777 011760 DEF E7 RE-DIMENSIONED ARRAY TOO LARGE 4633 10000 012044 DEF LERR+1 4634 10001 012106 DEF LCHK5 MATRIX UNASSIGNED 4635 10002 012712 DEF LDUM1 NEARLY SINGULAR MATRIX 4636 10003 010401 DEF TRGER ARGUMENT TOO LARGE 4637 10004 010752 DEF SQRER SQRT HAS NEGATIVE ARGUMENT 4638 10005 011060 DEF LOGER LOG OF NEGATIVE ARGUMENT 4639 10006 RCERR EQU * ** RECOVERABLE ERRORS FOLLOW ** 4640 10006 001161 DEF OVRER OVERFLOW 4641 10007 001155 DEF UNDER UNDERFLOW 4642 10010 011132 DEF LNZR LOG OF ZERO 4643 10011 011266 DEF EXPER EXPONTIAL OVERFLOW 4644 10012 007554 DEF DBYZR DIVIDE BY ZERO 4645 10013 007151 DEF ZRTNG ZERO TO NEGATIVE POWER 4646** 4647*** OUTPUT A NUMBER ** 4648** 4649 10014 000000 NUMOT NOP NUMBER (A) AND (B) 4650 10015 070236 STA EXPON SAVE NUMBER 4651 10016 062014 LDA NUMOT 4652 10017 070164 STA STK9 4653 10020 060236 LDA EXPON 4654 10021 002041 SEZ,RSS SIGN? 4655 10022 026034 JMP NS2 NO 4656 10023 002021 SSA,RSS YES,NEGATIVE NUMBER? 4657 10024 026031 JMP NS1 NO 4658 10025 015471 JSB ARINV YES, INVERT IT 4659 10026 070236 STA EXPON 4660 10027 060422 LDA .45 4661 10030 002001 RSS 4662 10031 060411 NS1 LDA .32 STORE 4663 10032 070147 STA SIGN SIGN 4664 10033 060236 LDA EXPON 4665 10034 074163 NS2 STB STK8 4666 10035 015432 JSB IFIX INTEGERIZE 4667 10036 000000 NOP 4668 10037 160164 LDA STK9,I 4669 10040 072060 STA NUMO1 4670 10041 072116 STA NUMO3 4671 10042 034164 ISZ STK9 4672 10043 102201 SOC WAS IT AN INTEGER? 4673 10044 026067 JMP NUMO2 NO 4674 10045 002400 CLA 4675 10046 074222 STB B1+1 4676 10047 044531 ADB M1000 4677 10050 006021 SSB,RSS 4678 10051 040372 ADA .3 4679 10052 040374 ADA .6 4680 10053 040126 ADA CCNT 4681 10054 003004 CMA,INA 4682 10055 070220 STA MLBX1+1 4683 10056 040435 ADA .74 4684 10057 002020 SSA 4685 10060 000000 NUMO1 NOP NO 4686 10061 060147 LDA SIGN 4687 10062 002002 SZA SIGN? 4688 10063 015773 JSB OUTCR YES, OUTPUT IT 4689 10064 060222 LDA B1+1 4690 10065 114272 JSB OUTIA,I THE INTEGER 4691 10066 124164 JMP STK9,I 4692 10067 003400 NUMO2 CCA SET 'FIXED' 4693 10070 070204 STA FFLAG FLAG FALSE 4694 10071 060236 LDA EXPON LOAD 4695* 4696*** THESE TWO INSTRUCTIONS CHECK FOR AN NUMERIC UNDERFLOW. 4697*** IF MANTISSA IS ZERO, GIVE AN ERROR 50 MESSAGE. 4698*** OTHERWISE, CONTINUE TO OUTPUT NUMBER 4699* 4700 10072 002003 SZA,RSS ZERO MANTISSA? 4701 10073 025573 JMP E8-1 YES - ERROR (UNDERFLOW) 4702* 4703 10074 064163 LDB STK8 4704 10075 114306 JSB .FADA,I IS NUMBER 4705 10076 000540 DEF MAXFX LESS THAN 4706 10077 002021 SSA,RSS 999999.5? 4707 10100 026110 JMP NUMO5 NO 4708 10101 060236 LDA EXPON YES, IS 4709 10102 064163 LDB STK8 4710 10103 114306 JSB .FADA,I LESS 4711 10104 000542 DEF MINFX THAN 4712 10105 064401 LDB .12 SAVE 4713 10106 002021 SSA,RSS 4714 10107 034204 ISZ FFLAG 4715 10110 064402 NUMO5 LDB .15 WIDTH 4716 10111 044126 ADB CCNT SAVE 4717 10112 007004 CMB,INB END-OF-FIELD 4718 10113 074220 STB MLBX1+1 4719 10114 044436 ADB .75 ROOM 4720 10115 006020 SSB ENOUGH? 4721 10116 000000 NUMO3 NOP NO 4722** 4723*** OUTPUT A FLOATING POINT NUMBER ** 4724** 4725 10117 060236 LDA EXPON 4726 10120 070234 STA MANT1 4727 10121 064163 LDB STK8 4728 10122 015524 JSB .FLUN 4729 10123 074235 STB MANT2 NUMBER 4730 10124 070150 STA EXP 4731 10125 060147 LDA SIGN 4732 10126 002002 SZA SIGN 4733 10127 015773 JSB OUTCR YES, OUTPUT IT 4734 10130 002400 CLA INITIALIZE COUNTER 4735 10131 070236 STA EXPON FOR DECIMAL EXPONENT 4736 10132 050150 CPA EXP EXPONENT ZERO? 4737 10133 026156 JMP EOUT4 YES 4738 10134 015230 EOUT2 JSB MBY10 NO, 4739 10135 060150 LDA EXP MULTIPLY 4740 10136 003004 CMA,INA NUMBER BY 10 4741 10137 002020 SSA UNTIL 4742 10140 026143 JMP *+3 4743 10141 034236 ISZ EXPON GREATER 4744 10142 026134 JMP EOUT2 THAN 1 4745 10143 015261 JSB DBY10 DIVIDE BY 10 4746 10144 060236 LDA EXPON 4747 10145 064150 EOUT3 LDB EXP DIVIDE 4748 10146 007004 CMB,INB NUMBER 4749 10147 006021 SSB,RSS BY 10 4750 10150 026156 JMP EOUT4 UNTIL 4751 10151 070236 STA EXPON IT IS 4752 10152 015261 JSB DBY10 LESS 4753 10153 003400 CCA THAN 4754 10154 040236 ADA EXPON 1 4755 10155 026145 JMP EOUT3 4756 10156 003000 EOUT4 CMA SET EXPONENT 4757 10157 070236 STA EXPON TO TRUE VALUE-1 4758 10160 064505 LDB M7 SET DIGIT 4759 10161 074165 STB STK10 4760 10162 007400 CCB SET DECIMAL 4761 10163 074157 STB STK4 4762 10164 054204 CPB FFLAG FIXED POINT? 4763 10165 026174 JMP EOUT6 NO 4764 10166 003000 CMA YES, SET 4765 10167 070157 STA STK4 4766 10170 050370 CPA .1 .1? 4767 10171 026200 JMP EOUT5 YES 4768 10172 002021 SSA,RSS LEADING DECIMAL POINT? 4769 10173 026206 JMP EOUT7+2 YES 4770 10174 016325 EOUT6 JSB GETDG OUTPUT 4771 10175 040425 ADA .48 A 4772 10176 015773 JSB OUTCR DIGIT 4773 10177 026210 JMP EOUT8 4774 10200 060423 EOUT5 LDA .46 OUTPUT 4775 10201 015773 JSB OUTCR DECIMAL POINT 4776 10202 060425 LDA .48 OUTPUT 4777 10203 026207 JMP EOUT8-1 LEADING ZERO 4778 10204 034157 EOUT7 ISZ STK4 4779 10205 026174 JMP EOUT6 NO 4780 10206 060423 LDA .46 YES, 4781 10207 015773 JSB OUTCR OUTPUT IT 4782 10210 034165 EOUT8 ISZ STK10 4783 10211 026204 JMP EOUT7 YES 4784 10212 060126 LDA CCNT NO, 4785 10213 072060 STA NUMO1 SAVE 4786 10214 060125 LDA BADDR OUTPUT 4787 10215 072116 STA NUMO3 POINTERS 4788 10216 016325 JSB GETDG NEXT DIGIT 4789 10217 040503 ADA M5 FIVE OR 4790 10220 002020 SSA GREATER? 4791 10221 026264 JMP EOUT1 NO 4792 10222 003400 CCA SET DECIMAL 4793 10223 070166 ERND1 STA STK11 4794 10224 016351 JSB RETCR RETRIEVE CHARACTER 4795 10225 050423 CPA .46 DECIMAL POINT? 4796 10226 026222 JMP ERND1-1 YES, FLAG IT 4797 10227 015636 JSB DIGCK NO, DIGIT? 4798 10230 026243 JMP ERND2 NO 4799 10231 050377 CPA .9 YES,9? 4800 10232 026235 JMP *+3 4801 10233 040426 ADA .49 NO, BUMP 4802 10234 026257 JMP ERND3 DIGIT 1 4803 10235 060425 LDA .48 OVERLAY 4804 10236 015773 JSB OUTCR A ZERO 4805 10237 016351 JSB RETCR BACKSPACE 4806 10240 003400 CCA DECREMENT 4807 10241 040166 ADA STK11 4808 10242 026223 JMP ERND1 COUNTER 4809 10243 015773 ERND2 JSB OUTCR RESTORE CHARACTER 4810 10244 034236 ISZ EXPON CORRECT 4811 10245 000000 NOP EXPONENT 4812 10246 060426 LDA .49 OVERLAY A1 4813 10247 064204 LDB FFLAG 4814 10250 006002 SZB 4815 10251 026257 JMP ERND3 NO 4816 10252 015773 JSB OUTCR A ZERO 4817 10253 060425 LDA .48 OVERLAY 4818 10254 034166 ISZ STK11 4819 10255 026252 JMP *-3 NO 4820 10256 060423 LDA .46 YES 4821 10257 015773 ERND3 JSB OUTCR 4822 10260 062060 LDA NUMO1 RESTORE 4823 10261 070126 STA CCNT OUTPUT 4824 10262 062116 LDA NUMO3 POINTERS 4825 10263 070125 STA BADDR 4826 10264 034204 EOUT1 ISZ FFLAG NO, FIXED POINT? 4827 10265 026314 JMP EOUT9 YES 4828 10266 060432 LDA E NO, 4829 10267 015773 JSB OUTCR OUTPUT 'E' 4830 10270 060422 LDA .45 LOAD '-' 4831 10271 064236 LDB EXPON POSITIVE 4832 10272 006020 SSB EXPONENT? 4833 10273 007005 CMB,INB,RSS NO 4834 10274 060421 LDA .43 YES, LOAD '+' 4835 10275 074236 STB EXPON 4836 10276 015773 JSB OUTCR OUTPUT SIGN 4837 10277 064236 LDB EXPON 4838 10300 060425 LDA .48 COMPUTE 4839 10301 044510 ADB M10 4840 10302 006020 SSB EXPONENT 4841 10303 026306 JMP *+3 4842 10304 002004 INA DIGIT 4843 10305 026301 JMP *-4 4844 10306 044427 ADB .58 COMPUTE 4845 10307 074236 STB EXPON SECOND DIGIT 4846 10310 015773 JSB OUTCR OUTPUT 4847 10311 060236 LDA EXPON 4848 10312 015773 JSB OUTCR EXPONENT 4849 10313 124164 JMP STK9,I 4850 10314 016351 EOUT9 JSB RETCR RETRIEVE CHARACTER 4851 10315 050425 CPA .48 ZERO? 4852 10316 026321 JMP EOU10 YES 4853 10317 015773 JSB OUTCR NO, RESTORE CHARACTER 4854 10320 124164 JMP STK9,I 4855 10321 060411 EOU10 LDA .32 OVERLAY 4856 10322 015773 JSB OUTCR A BLANK 4857 10323 016351 JSB RETCR 4858 10324 026314 JMP EOUT9 4859** 4860*** GET DIGIT TO OUTPUT ** 4861** 4862 10325 000000 GETDG NOP 4863 10326 015230 JSB MBY10 MULTIPLY BY 10 4864 10327 064150 LDB EXP GET EXPONENT IN (B) 4865 10330 007004 CMB,INB AS NEGATIVE 4866 10331 010476 AND HIMSK KEEP 5 HIGH BITS OF (A) 4867 10332 001200 RAL NORMALIZE TO BIT 15 4868 10333 006024 SSB,INB ROTATE INTEGER 4869 10334 026332 JMP *-2 INTO (A) 4870 10335 010445 AND MSK0 4871 10336 070162 STA STK7 4872 10337 064150 LDB EXP ROTATE 4873 10340 007004 CMB,INB 4874 10341 001300 RAR BACK 4875 10342 006024 SSB,INB 4876 10343 026341 JMP *-2 4877 10344 020234 XOR MANT1 REMOVE 4878 10345 064235 LDB MANT2 DIGIT 4879 10346 015174 JSB NORML NORMALIZE REMAINDER 4880 10347 060162 LDA STK7 4881 10350 126325 JMP GETDG,I 4882* 4883*** RETRIEVE CHARACTER FROM OUTPUT BUFFER ** 4884* 4885 10351 000000 RETCR NOP 4886 10352 064126 LDB CCNT DECREMENT 4887 10353 044477 ADB M1 CHARACTER 4888 10354 074126 STB CCNT COUNT 4889 10355 160125 LDA BADDR,I POSITION 4890 10356 006011 SLB,RSS AND 4891 10357 001727 ALF,ALF EXTRACT 4892 10360 010445 AND MSK0 4893 10361 004010 SLB FIRST CHARACTER OF WORD? 4894 10362 126351 JMP RETCR,I NO 4895 10363 064125 LDB BADDR YES, DECREMENT 4896 10364 044477 ADB M1 BUFFER 4897 10365 074125 STB BADDR POINTER 4898 10366 126351 JMP RETCR,I 4899 HED LIBRARY ROUTINES 4900* ****************************** 4901* SUBROUTINE TO CALCULATE TAN(X) 4902* ****************************** 4903* 4904 10367 114310 ETAN JSB .FMPA,I 4905 10370 010456 DEF FOPI 4/PI 4906 10371 072462 STA XTEMP 4907 10372 076463 STB XTEMP+1 4908 10373 114306 JSB .FADA,I 4909 10374 010460 DEF K1 4910 10375 017427 JSB .PWR2 4911 10376 177776 DEC -2 4912 10377 017400 JSB .IENT 4913 10400 014544 JSB ERROR 4914 10401 017417 TRGER JSB FLOAT 4915 10402 015471 JSB ARINV 4916 10403 017427 JSB .PWR2 4917 10404 000002 DEC 2 4918 10405 114306 JSB .FADA,I 4919 10406 010462 DEF XTEMP 4920 10407 072462 STA XTEMP 4921 10410 076463 STB XTEMP+1 X=X-4*ENTIER((X+1)/4) 4922 10411 114307 JSB .FSBA,I 4923 10412 010460 DEF K1 4924 10413 070204 STA SBOXX 4925 10414 002020 SSA X<1? 4926 10415 026450 JMP ELSE1 YES 4927 10416 062470 LDA K2 NO 4928 10417 066471 LDB K2+1 4929 10420 114307 JSB .FSBA,I 4930 10421 010462 DEF XTEMP 4931 10422 072464 BOTH1 STA YTEMP 4932 10423 076465 STB YTEMP+1 Y= 2-X 4933 10424 114310 JSB .FMPA,I 4934 10425 010464 DEF YTEMP 4935 10426 114310 JSB .FMPA,I 4936 10427 010470 DEF K2 4937 10430 114307 JSB .FSBA,I 4938 10431 010460 DEF K1 4939 10432 017305 JSB .CHEB 4940 10433 010472 DEF COEFF 4941 10434 114310 JSB .FMPA,I 4942 10435 010464 DEF YTEMP 4943 10436 072464 STA YTEMP 4944 10437 076465 STB YTEMP+1 Y=Y*CHEBY(2*Y**2-1) 4945 10440 060204 LDA SBOXX 4946 10441 002020 SSA X<1? 4947 10442 026453 JMP ELSE2 YES 4948 10443 062460 LDA K1 4949 10444 066461 LDB K1+1 4950 10445 114311 JSB .FDVA,I 4951 10446 010464 DEF YTEMP 4952 10447 124334 JMP FR12A,I 4953 10450 062462 ELSE1 LDA XTEMP 4954 10451 066463 LDB XTEMP+1 4955 10452 026422 JMP BOTH1 Y=X 4956 10453 062464 ELSE2 LDA YTEMP 4957 10454 066465 LDB YTEMP+1 4958 10455 124334 JMP FR12A,I 4959 10456 050574 FOPI DEC 1.273239545 4/PI 10457 141002 4960 10460 040000 K1 DEC 1. 10461 000002 4961 10462 XTEMP BSS 2 4962 10464 YTEMP BSS 2 4963 10466 UTEMP BSS 2 4964 10470 040000 K2 DEC 2. 10471 000004 4965 10472 076061 COEFF DEC 1.4458E-8 10473 075315 4966 10474 066034 DEC 2.013766E-7 10475 176725 4967 10476 057035 DEC 2.804816E-6 10477 030335 4968 10500 050755 DEC 3.906637E-5 10501 114745 4969 10502 043523 DEC 5.4417038E-4 10503 052355 4970 10504 076112 DEC 7.586101578E-3 10505 065763 4971 10506 066520 DEC .10675392857 10507 163773 4972 10510 070512 DEC 1.7701474227 10511 014002 4973 10512 000000 OCT 0 4974 SKP 4975* ****************************** 4976* SUBROUTINE TO CALCULATE ATN(X) 4977* ****************************** 4978* 4979 10513 072462 EATN STA XTEMP 4980 10514 076463 STB XTEMP+1 4981 10515 060001 LDA 1 4982 10516 010445 AND MSK0 4983 10517 070204 STA SBOXX 4984 10520 002002 SZA 4985 10521 000010 SLA ABS (X) > 1 ? 4986 10522 026557 JMP ELS1 NO 4987 10523 062460 LDA K1 4988 10524 066461 LDB K1+1 4989 10525 114311 JSB .FDVA,I 4990 10526 010462 DEF XTEMP U=1/X 4991 10527 072466 BTH1 STA UTEMP 4992 10530 076467 STB UTEMP+1 4993 10531 114310 JSB .FMPA,I 4994 10532 010466 DEF UTEMP 4995 10533 114310 JSB .FMPA,I 4996 10534 010470 DEF K2 4997 10535 114307 JSB .FSBA,I 4998 10536 010460 DEF K1 4999 10537 017305 JSB .CHEB 5000 10540 010576 DEF COEF 5001 10541 114310 JSB .FMPA,I 5002 10542 010466 DEF UTEMP 5003 10543 072464 STA YTEMP 5004 10544 076465 STB YTEMP+1 Y=U*CHEBY(2*U**2-1) 5005 10545 060204 LDA SBOXX 5006 10546 002002 SZA 5007 10547 000010 SLA ABS(X)>1 ? 5008 10550 026562 JMP ELS2 NO 5009 10551 062462 LDA XTEMP 5010 10552 002020 SSA X= 15 5056 10637 017417 JSB FLOAT 5057 10640 114310 JSB .FMPA,I 5058 10641 010677 DEF MM4 5059 10642 114306 JSB .FADA,I 5060 10643 010462 DEF XTEMP 5061 10644 072462 STA XTEMP 5062 10645 076463 STB XTEMP+1 X=X-4*ENTIER((X+1)/4) 5063 10646 114307 JSB .FSBA,I 5064 10647 010460 DEF K1 5065 10650 002020 SSA X<1 ? 5066 10651 026660 JMP PAST YES 5067 10652 062470 LDA K2 5068 10653 066471 LDB K2+1 5069 10654 114307 JSB .FSBA,I 5070 10655 010462 DEF XTEMP 5071 10656 072462 STA XTEMP 5072 10657 076463 STB XTEMP+1 X=2-X 5073 10660 062462 PAST LDA XTEMP 5074 10661 066463 LDB XTEMP+1 5075 10662 114310 JSB .FMPA,I 5076 10663 010462 DEF XTEMP 5077 10664 017427 JSB .PWR2 5078 10665 000001 DEC 1 5079 10666 114307 JSB .FSBA,I 5080 10667 010460 DEF K1 5081 10670 017305 JSB .CHEB 5082 10671 010701 DEF COEF1 5083 10672 114310 JSB .FMPA,I 5084 10673 010462 DEF XTEMP 5085 10674 124334 JMP FR12A,I 5086 10675 050574 TOPI DEC .636619772 2/PI 10676 141000 5087 10677 100000 MM4 DEC -4. 10700 000004 5088 10701 047605 COEF1 DEC 1.18496E-6 10702 072733 5089 10703 134143 DEC -1.365875E-4 10704 104751 5090 10705 045261 DEC 9.118016E-3 10706 157365 5091 10707 133371 DEC -.2852615692 10710 014777 5092 10711 050656 DEC 2.5525579248 10712 107004 5093 10713 000000 OCT 0 5094 SPC 10 5095* ***************************** 5096* SUBROUTINE TO COMPUTE ABS (X) 5097* ***************************** 5098 10714 002020 EABS SSA 5099 10715 015471 JSB ARINV YES, NEGATE IT 5100 10716 124334 JMP FR12A,I 5101 SKP 5102* **************************** 5103* SUBROUTINE TO COMPUTE RND(X) 5104* **************************** 5105* 5106* 5107 10717 002400 ERND CLA 5108 10720 070150 STA EXP INITIALIZE EXPONENT 5109 10721 060151 LDA XH COMPUTE 5110 10722 001000 ALS HIGH 5111 10723 040151 ADA XH PART 5112 10724 064152 LDB XL 2*XH 5113 10725 004065 CLE,ERB + XH + 5114 10726 040001 ADA 1 XL*2^15 5115 10727 064152 LDB XL 5116 10730 005275 RBL,CLE,SLB,ERB ADD XL[15] TO 5117 10731 002004 INA (A) (FROM 2*XL$ 5118 10732 004066 CLE,ELB 2*XL 5119 10733 044152 ADB XL + XL 5120 10734 001675 ELA,CLE,SLA,ERA ADD OVERFLOW 5121 10735 002104 CLE,INA TO (A) 5122 10736 044536 ADB FLGBT ADD IN TRAILING BIT OF XL*2^15 5123 10737 002040 SEZ ADD OVERFLOW 5124 10740 002004 INA TO (A) 5125 10741 001665 ELA,CLE,ERA ERASE A[15] 5126 10742 070151 STA XH STORE 5127 10743 074152 STB XL INTEGER 5128 10744 015077 JSB .PACK NORMALIZE AND PACK 5129 10745 124334 JMP FR12A,I 5130 SKP 5131* ****************************** 5132* SUBROUTINE TO CALCULATE SQR(X) 5133* ****************************** 5134* 5135 10746 002003 ESQR SZA,RSS 5136 10747 124334 JMP FR12A,I 5137 10750 002020 SSA X=124 ? 5301 11200 027265 JMP EXPER-1 YES,ERROR 5302 11201 043272 ADA .244 INTE <-120 ? 5303 11202 002020 SSA 5304 11203 027257 JMP ZERE YES,ANS=0 5305 11204 062462 LDA XTEMP 5306 11205 066463 LDB XTEMP+1 5307 11206 114307 JSB .FSBA,I 5308 11207 010464 DEF YTEMP 5309 11210 072462 STA XTEMP 5310 11211 076463 STB XTEMP+1 X=X-ENTIER(X) 5311 11212 114310 JSB .FMPA,I 5312 11213 010462 DEF XTEMP 5313 11214 072466 STA UTEMP 5314 11215 076467 STB UTEMP+1 U=X**2 5315 11216 114306 JSB .FADA,I 5316 11217 011273 DEF AAAA 5317 11220 072464 STA YTEMP 5318 11221 076465 STB YTEMP+1 Y=X**2+AAAA 5319 11222 063275 LDA BBBB 5320 11223 067276 LDB BBBB+1 5321 11224 114311 JSB .FDVA,I 5322 11225 010464 DEF YTEMP 5323 11226 072464 STA YTEMP 5324 11227 076465 STB YTEMP+1 Y=BBBB/Y 5325 11230 063277 LDA CCCC 5326 11231 067300 LDB CCCC+1 5327 11232 114310 JSB .FMPA,I 5328 11233 010466 DEF UTEMP 5329 11234 114306 JSB .FADA,I 5330 11235 011301 DEF DDDD 5331 11236 114307 JSB .FSBA,I 5332 11237 010462 DEF XTEMP 5333 11240 114307 JSB .FSBA,I 5334 11241 010464 DEF YTEMP 5335 11242 072464 STA YTEMP 5336 11243 076465 STB YTEMP+1 Y=X+DDDD+CCCC*X**2-Y 5337 11244 062462 LDA XTEMP 5338 11245 066463 LDB XTEMP+1 5339 11246 114311 JSB .FDVA,I 5340 11247 010464 DEF YTEMP 5341 11250 114306 JSB .FADA,I 5342 11251 000534 DEF HALF 5343 11252 037255 ISZ INTE 5344 11253 000000 NOP 5345 11254 017427 JSB .PWR2 5346 11255 000000 INTE OCT 0 5347 11256 127162 JMP .EXP,I AND=(0.5+X/Y)*2**INTE 5348 11257 002400 ZERE CLA 5349 11260 006400 CLB 5350 11261 127162 JMP .EXP,I 5351 11262 063366 .EXP1 LDA X2TMP 5352 11263 002020 SSA 5353 11264 027257 JMP ZERE 5354 11265 014544 JSB ERROR 5355 11266 060471 EXPER LDA INF 5356 11267 064500 LDB M2 5357 11270 127162 JMP .EXP,I 5358 11271 177604 M124 DEC -124 5359 11272 000364 .244 DEC 244 5360 11273 053552 AAAA DEC 87.417497202 11274 160416 5361 11275 046477 BBBB DEC 617.9722695 11276 016424 5362 11277 043372 CCCC DEC .03465735903 11300 070371 5363 11301 047643 DDDD DEC 9.9545957821 11302 001410 5364 11303 056125 L2E DEC 1.4426950409 11304 017002 5365 SKP 5366* ****************************** 5367* SUBROUTINE TO COMPUTE CHEBY(X) 5368* ****************************** 5369* 5370 11305 000000 .CHEB NOP 5371 11306 073400 STA .IENT 5372 11307 063305 LDA .CHEB 5373 11310 070146 STA RSYM 5374 11311 063400 LDA .IENT 5375 11312 114310 JSB .FMPA,I 5376 11313 010470 DEF K2 5377 11314 073366 STA X2TMP 5378 11315 077367 STB X2TMP+1 X2 =X+2 5379 11316 164146 LDB RSYM,I 5380 11317 077374 STB CTMP C POINTS TO COEFFICIENT TABLE 5381 11320 160001 LDA 1,I 5382 11321 006004 INB 5383 11322 164001 LDB 1,I GET FIRST COEFF 5384 11323 073376 STA DTMP 5385 11324 077377 STB DTMP+1 D=C(N) 5386 11325 002400 CLA 5387 11326 073372 STA BTMP 5388 11327 073373 STA BTMP+1 B=0 5389 11330 037374 LOPC ISZ CTMP 5390 11331 037374 ISZ CTMP N=N-1 5391 11332 163374 LDA CTMP,I 5392 11333 002003 SZA,RSS C(N)=0 ? 5393 11334 027356 JMP COUT ZERO FLAGS END OF TABLE 5394 11335 063372 LDA BTMP NO 5395 11336 067373 LDB BTMP+1 5396 11337 073370 STA ATMP 5397 11340 077371 STB ATMP+1 A=B 5398 11341 063376 LDA DTMP 5399 11342 067377 LDB DTMP+1 5400 11343 073372 STA BTMP 5401 11344 077373 STB BTMP+1 B=D 5402 11345 114310 JSB .FMPA,I 5403 11346 011366 DEF X2TMP 5404 11347 114307 JSB .FSBA,I 5405 11350 011370 DEF ATMP 5406 11351 114306 JSB .FADA,I 5407 11352 111374 DEF CTMP,I 5408 11353 073376 STA DTMP 5409 11354 077377 STB DTMP+1 D=C(N) -A+B*X2 5410 11355 027330 JMP LOPC 5411 11356 063376 COUT LDA DTMP 5412 11357 067377 LDB DTMP+1 5413 11360 114307 JSB .FSBA,I 5414 11361 011370 DEF ATMP 5415 11362 114310 JSB .FMPA,I 5416 11363 000534 DEF HALF 5417 11364 034146 ISZ RSYM 5418 11365 124146 JMP RSYM,I 5419* 5420*** CONSTANTS FOR .CHEB 5421* 5422 11366 X2TMP BSS 2 5423 11370 ATMP BSS 2 5424 11372 BTMP BSS 2 5425 11374 CTMP BSS 2 5426 11376 DTMP BSS 2 5427 SKP 5428* ******************************************** 5429* SUBROUTINE TO COMPUTE THE ENTIER OF A NUMBER 5430* WHOSE EXPONENT IS LESS THAN 15 5431* ******************************************** 5432* 5433 11400 000000 .IENT NOP 5434 11401 073366 STA X2TMP STORE HIGH PART 5435 11402 060001 LDA 1 MOVE LOW PART TO A 5436 11403 010445 AND MSK0 ISOLATE EXPONENT 5437 11404 000033 SLA,RAR 5438 11405 027411 JMP *+4 IF NEGATIVE OK 5439 11406 040512 ADA M15 5440 11407 002021 SSA,RSS EXPO(X) > 14 5441 11410 127400 JMP .IENT,I YES, ERROR RETURN 5442 11411 037400 ISZ .IENT NO BUMP RETURN POINT 5443 11412 063366 LDA X2TMP RESTORE HIGH PART 5444 11413 015432 JSB IFIX CALL ENTIER 5445 11414 000000 NOP 5446 11415 060001 LDA 1 5447 11416 127400 JMP .IENT,I 5448 SPC 5 5449* ****************************** 5450* SUBROUTINE TO FLOAT AN INTEGER 5451* ****************************** 5452* 5453 11417 000000 FLOAT NOP 5454 11420 067417 LDB FLOAT 5455 11421 074154 STB STK1 5456 11422 064402 LDB .15 5457 11423 074150 STB EXP 5458 11424 006400 CLB 5459 11425 015077 JSB .PACK 5460 11426 124154 JMP STK1,I 5461 SKP 5462* **************************************** 5463* SUBROUTINE TO MULTIPLY BY A POWER OF TWO 5464* **************************************** 5465* 5466 11427 000000 .PWR2 NOP 5467 11430 002003 SZA,RSS X=0 ? 5468 11431 027443 JMP .RET YES, ANS=0 5469 11432 073366 STA X2TMP 5470 11433 015524 JSB .FLUN 5471 11434 077367 STB X2TMP+1 5472 11435 143427 ADA .PWR2,I 5473 11436 001200 RAL 5474 11437 010445 AND MSK0 5475 11440 070001 STA 1 5476 11441 047367 ADB X2TMP+1 5477 11442 063366 LDA X2TMP 5478 11443 037427 .RET ISZ .PWR2 5479 11444 127427 JMP .PWR2,I 5480 HED *** MATRIX ROUTINES *** 5481* ***************************** 5482* MATRIX STMT EXECUTION CONTROL 5483* ***************************** 5484* 5485 11445 160205 EMAT LDA TEMPS,I LOAD FIRST WORD OF STMT 5486 11446 034205 ISZ TEMPS 5487 11447 010450 AND MSK1 ISOLATE OPERAND PART 5488 11450 002002 SZA 5489 11451 027602 JMP EMAT7 5490 11452 160205 LDA TEMPS,I LOAD NEXT WORD OF STMT 5491 11453 010467 AND OPMSK 5492 11454 070217 STA MLBX1 5493 11455 050465 CPA RDOP 5494 11456 002001 RSS 5495 11457 114320 JSB PRNIA,I 5496* 5497 11460 160205 EMAT1 LDA TEMPS,I 5498 11461 010450 AND MSK1 5499 11462 002003 SZA,RSS 5500 11463 027550 JMP EMAT4+4 5501 11464 114301 JSB SSYMA,I 5502 11465 006007 INB,SZB,RSS 5503 11466 124337 JMP E8M1A,I 5504 11467 034205 ISZ TEMPS 5505 11470 160001 LDA 1,I 5506 11471 070221 STA B1 5507 11472 060217 LDA MLBX1 5508 11473 050465 CPA RDOP 5509 11474 027553 JMP EMAT5 5510 11475 044371 ADB .2 5511 11476 160001 LDA 1,I 5512 11477 070222 STA B1+1 5513 11500 010445 AND MSK0 5514 11501 003004 CMA,INA 5515 11502 070223 STA B2 5516 11503 070224 STA B2+1 5517 11504 160001 LDA 1,I 5518 11505 001727 ALF,ALF 5519 11506 010445 AND MSK0 5520 11507 003004 CMA,INA 5521 11510 070225 STA B3 5522 11511 114325 JSB LCK2A,I 5523 11512 002400 CLA 5524 11513 070226 STA B3+1 5525 11514 060205 LDA TEMPS 5526 11515 050140 CPA PRADD 5527 11516 027527 JMP EMAT3 5528 11517 160205 LDA TEMPS,I 5529 11520 010467 AND OPMSK 5530 11521 050453 CPA B3000 5531 11522 034226 ISZ B3+1 5532 11523 027527 JMP EMAT3 5533 11524 006400 EMAT2 CLB 5534 11525 054226 CPB B3+1 5535 11526 015730 JSB EDELM 5536 11527 160221 EMAT3 LDA B1,I 5537 11530 034221 ISZ B1 5538 11531 164221 LDB B1,I 5539 11532 034221 ISZ B1 5540 11533 015711 JSB ENOUT 5541 11534 034223 ISZ B2 5542 11535 027524 JMP EMAT2 5543 11536 015753 JSB OUTLN 5544 11537 015753 JSB OUTLN 5545 11540 060224 LDA B2+1 5546 11541 070223 STA B2 5547 11542 034225 ISZ B3 5548 11543 027527 JMP EMAT3 5549 11544 064205 EMAT4 LDB TEMPS 5550 11545 054140 CPB PRADD 5551 11546 002001 RSS 5552 11547 027460 JMP EMAT1 5553 11550 002404 CLA,INA 5554 11551 114104 JSB SEXU,I 5555 11552 124326 JMP XEC4A,I 5556* 5557 11553 074223 EMAT5 STB B2 5558 11554 160205 LDA TEMPS,I 5559 11555 010467 AND OPMSK 5560 11556 064205 LDB TEMPS 5561 11557 054140 CPB PRADD 5562 11560 002400 CLA 5563 11561 050461 CPA B2200 5564 11562 017724 JSB REDIM 5565 11563 060223 LDA B2 5566 11564 040371 ADA .2 5567 11565 160000 LDA 0,I 5568 11566 015404 JSB MDIM 5569 11567 001100 ARS 5570 11570 003004 CMA,INA 5571 11571 070225 STA B3 5572 11572 114324 EMAT6 JSB FDAT,I 5573 11573 170221 STA B1,I 5574 11574 034221 ISZ B1 5575 11575 174221 STB B1,I 5576 11576 034221 ISZ B1 5577 11577 034225 ISZ B3 5578 11600 027572 JMP EMAT6 5579 11601 027544 JMP EMAT4 5580* 5581 11602 114301 EMAT7 JSB SSYMA,I 5582 11603 006004 INB 5583 11604 160001 LDA 1,I 5584 11605 070225 STA B3 5585 11606 074223 STB B2 5586 11607 044371 ADB .2 5587 11610 160001 LDA 1,I 5588 11611 070226 STA B3+1 5589 11612 002404 CLA,INA 5590 11613 070154 STA STK1 5591 11614 160205 EMAT0 LDA TEMPS,I 5592 11615 034205 ISZ TEMPS 5593 11616 002020 SSA 5594 11617 027703 JMP EMA11 5595 11620 010450 EMAT8 AND MSK1 5596 11621 002003 SZA,RSS 5597 11622 027673 JMP EMA10 5598 11623 114301 JSB SSYMA,I 5599 11624 006004 INB 5600 11625 160001 LDA 1,I 5601 11626 070221 STA B1 5602 11627 044371 ADB .2 5603 11630 160001 LDA 1,I 5604 11631 070222 STA B1+1 5605 11632 064205 LDB TEMPS 5606 11633 054140 CPB PRADD 5607 11634 027654 JMP EMAT9 5608 11635 160205 LDA TEMPS,I 5609 11636 001100 ARS 5610 11637 001727 ALF,ALF 5611 11640 010430 AND .63 5612 11641 040504 ADA M6 5613 11642 070154 STA STK1 5614 11643 160205 LDA TEMPS,I 5615 11644 010450 AND MSK1 5616 11645 114301 JSB SSYMA,I 5617 11646 006004 INB 5618 11647 160001 LDA 1,I 5619 11650 070223 STA B2 5620 11651 044371 ADB .2 5621 11652 160001 LDA 1,I 5622 11653 070224 STA B2+1 5623 11654 060154 EMAT9 LDA STK1 5624 11655 043660 ADA LMAP 5625 11656 114000 JSB 0,I 5626 11657 124326 JMP XEC4A,I 5627 11660 111660 LMAP DEF LBASE-1,I 5628 11661 012131 LBASE DEF REPLC 5629 11662 012111 DEF ADD 5630 11663 012124 DEF SUB 5631 11664 012337 DEF MULT 5632 11665 012176 DEF SZER 5633 11666 012153 DEF LCON 5634 11667 012204 DEF LIDN 5635 11670 012447 DEF LINV 5636 11671 012274 DEF TRAN 5637 11672 012145 DEF SMULT 5638 11673 060400 EMA10 LDA .10 5639 11674 070154 STA STK1 5640 11675 114302 JSB FETCA,I 5641 11676 070217 STA MLBX1 5642 11677 074220 STB MLBX1+1 5643 11700 034205 ISZ TEMPS 5644 11701 034205 ISZ TEMPS 5645 11702 027614 JMP EMAT0 5646 11703 001727 EMA11 ALF,ALF 5647 11704 001700 ALF 5648 11705 010410 AND .31 5649 11706 040506 ADA M8 5650 11707 070154 STA STK1 5651 11710 040506 ADA M8 5652 11711 002020 SSA 5653 11712 027717 JMP EMA12 5654 11713 160205 LDA TEMPS,I 5655 11714 034205 ISZ TEMPS 5656 11715 034205 ISZ TEMPS 5657 11716 027620 JMP EMAT8 5658 11717 064205 EMA12 LDB TEMPS 5659 11720 054140 CPB PRADD 5660 11721 027654 JMP EMAT9 5661 11722 017724 JSB REDIM 5662 11723 027654 JMP EMAT9 5663 SKP 5664* ******************************* 5665* SUBROUTINE TO REDIMENSION ARRAY 5666* ******************************* 5667* 5668 11724 000000 REDIM NOP 5669 11725 017761 JSB MCKS 5670 11726 005727 BLF,BLF 5671 11727 074226 STB B3+1 5672 11730 006404 CLB,INB 5673 11731 034205 ISZ TEMPS INDEX POINTER 5674 11732 160205 LDA TEMPS,I 5675 11733 010467 AND OPMSK CHECK OPERAND PART 5676 11734 050456 CPA LF 5677 11735 027740 JMP REDI1 5678 11736 017761 JSB MCKS 5679 11737 034205 ISZ TEMPS 5680 11740 034205 REDI1 ISZ TEMPS 5681 11741 044226 ADB B3+1 5682 11742 074226 STB B3+1 5683 11743 060223 LDA B2 5684 11744 040371 ADA .2 5685 11745 174000 STB 0,I 5686 11746 040477 ADA M1 5687 11747 160000 LDA 0,I 5688 11750 015404 JSB MDIM COMPUTE SIZE OF ASSIGNED STORAGE 5689 11751 070220 STA MLBX1+1 5690 11752 060226 LDA B3+1 5691 11753 015404 JSB MDIM COMPUTE STORAGE REQUIRED 5692 11754 003004 CMA,INA COMPLEMENT 5693 11755 040220 ADA MLBX1+1 5694 11756 002020 SSA OK IF POSITIVE 5695 11757 014544 JSB ERROR 5696 11760 127724 E7 JMP REDIM,I 5697 SKP 5698* ****************************************** 5699* SUBROUTINE TO EVALUATE & CHECK A SUBSCRIPT 5700* ****************************************** 5701 11761 000000 MCKS NOP 5702 11762 114302 JSB FETCA,I CALL FOR EVALUATION 5703 11763 015421 JSB SBFIX CONVERT TO INTEGER (ROUNDED) 5704 11764 006004 INB 5705 11765 060001 LDA 1 5706 11766 040527 ADA M256 5707 11767 002021 SSA,RSS 5708 11770 124342 JMP E6M1A,I 5709 11771 127761 JMP MCKS,I RETURN 5710** 5711*** PREDEFINED FUNCTION JUMP TABLE ** 5712** 5713 11772 006566 PDFT DEF ETAB 5714 11773 010625 DEF ESIN 5715 11774 010623 DEF ECOS 5716 11775 010367 DEF ETAN 5717 11776 010513 DEF EATN 5718 11777 011160 DEF EEXP 5719 12000 011051 DEF ELOG 5720 12001 010714 DEF EABS 5721 12002 010746 DEF ESQR 5722 12003 011036 DEF EINT 5723 12004 010717 DEF ERND 5724 12005 011147 DEF ESGN 5725 SKP 5726*** MATRIX ROUTINES EXECUTION 5727* 5728* 5729*** SUBROUTINE GENERAL 5730* 5731 12006 000000 GENER NOP SUBROUTINE GENERAL 5732 12007 060224 LDA B2+1 LOAD DIM FOR MATRIX 2 5733 12010 064222 LDB B1+1 LOAD DIM FOR MATRIX 1 5734 12011 016040 JSB COMPR CHECK ROW AND COL DIM 5735 12012 060222 GEN2 LDA B1+1 5736 12013 064226 LDB B3+1 LOAD DIM FOR MATRIX 3 5737 12014 016040 JSB COMPR CHECKS ROW AND COL DIM 5738 12015 015317 JSB MPY 5739 12016 013123 DEF T3 5740 12017 003004 CMA,INA 5741 12020 073142 STA LPIV 5742 12021 160221 LOOP LDA B1,I 5743 12022 034221 ISZ B1 5744 12023 164221 LDB B1,I 5745 12024 034221 ISZ B1 5746 12025 000000 MOD1 NOP 5747 12026 000000 NOP 5748 12027 170225 STA B3,I 5749 12030 034225 ISZ B3 5750 12031 174225 STB B3,I 5751 12032 034225 ISZ B3 5752 12033 000000 MOD2 NOP NEXT FOUR INSTR ARE MOD 5753 12034 000000 NOP 5754 12035 037142 ISZ LPIV 5755 12036 026021 JMP LOOP COMPUTE NEXT ELEMENT 5756 12037 126006 JMP GENER,I 5757* 5758*** SUBROUTINE COMPARE 5759* 5760 12040 000000 COMPR NOP 5761 12041 050001 CPA 1 5762 12042 002001 RSS 5763 12043 014544 LERR JSB ERROR PRINT ERROR DIAGNOSTIC 5764 12044 001727 ALF,ALF 5765 12045 010445 AND MSK0 5766 12046 073123 STA T3 5767 12047 060001 LDA 1 5768 12050 010445 AND MSK0 5769 12051 073124 STA T4 5770 12052 126040 JMP COMPR,I 5771* 5772*** SUBROUTINE LCHK 5773* 5774 12053 000000 LCHK2 NOP 5775 12054 062053 LDA LCHK2 5776 12055 072057 STA LCHK1 5777 12056 026063 JMP *+5 5778 12057 000000 LCHK1 NOP 5779 12060 064223 LDB B2 5780 12061 060224 LDA B2+1 5781 12062 016067 JSB LCHK4 TEST EACH TERM OF B1 5782 12063 064221 LDB B1 5783 12064 060222 LDA B1+1 5784 12065 016067 JSB LCHK4 5785 12066 126057 JMP LCHK1,I 5786 12067 000000 LCHK4 NOP SUBROUTINE TO TEST TERMS 5787 12070 077126 STB T6 SAVE 5788 12071 015404 JSB MDIM COMPUTE SIZE OF MATRIX 5789 12072 001100 ARS 5790 12073 003004 CMA,INA 5791 12074 073127 STA T7 COUNTER FOR ELEMENTS 5792 12075 163126 LCHK6 LDA T6,I 5793 12076 037126 ISZ T6 5794 12077 167126 LDB T6,I 5795 12100 037126 ISZ T6 5796 12101 050536 CPA MNEG COMPARE WITH PRESET QTY. 5797 12102 026104 JMP *+2 5798 12103 026106 JMP LCHK5 5799 12104 054537 CPB MNEG+1 5800 12105 014544 JSB ERROR ERROR 'MAT UNASSIGNED' 5801 12106 037127 LCHK5 ISZ T7 5802 12107 026075 JMP LCHK6 5803 12110 126067 JMP LCHK4,I RETURN 5804 SKP 5805* 5806*** SUBROUTINE MATRIX ADD 5807* 5808 12111 000000 ADD NOP 5809 12112 063143 LDA LPLUS OCTAL INSTR FOR FAD T18 5810 12113 072025 ADD1 STA MOD1 5811 12114 063144 LDA LPLUS+1 ADDRESS OF T18 5812 12115 072026 STA MOD1+1 MODIFY ROUTINE GENERAL 5813 12116 063147 LDA INCB2 5814 12117 072033 STA MOD2 MODIFY ROUTINE GENERAL 5815 12120 072034 STA MOD2+1 MODIFY ROUTINE GENERAL 5816 12121 016057 JSB LCHK1 5817 12122 016006 JSB GENER ROUTINE GENERAL 5818 12123 126111 JMP ADD,I EXIT TO MAIN PROGRAM 5819* 5820*** SUBROUTINE MATRIX SUBTRACT 5821* 5822 12124 000000 SUB NOP 5823 12125 062124 LDA SUB 5824 12126 072111 STA ADD 5825 12127 063145 LDA LMIN OCTAL INSTR FOR FSB T18 5826 12130 026113 JMP ADD1 5828* 5829*** SUBROUTINE MATRIX REPLACE 5830* 5831 12131 000000 REPLC NOP 5832 12132 062131 LDA REPLC 5833 12133 072006 STA GENER 5834 12134 002400 CLA 5835 12135 006400 CLB 5836 12136 072025 REPL1 STA MOD1 5837 12137 076026 STB MOD1+1 5838 12140 002400 CLA 5839 12141 072033 STA MOD2 5840 12142 072034 STA MOD2+1 5841 12143 016053 JSB LCHK2 5842 12144 026012 JMP GEN2 5843 SKP 5844* 5845*** SUBROUTINE MATRIX SCALAR MULTIPLY 5846* 5847 12145 000000 SMULT NOP 5848 12146 062145 LDA SMULT 5849 12147 072006 STA GENER 5850 12150 063146 LDA LTIME 5851 12151 064367 LDB MBXL 5852 12152 026136 JMP REPL1 5853* 5854*** SUBROUTINE MATRIX CON 5855* 5856 12153 000000 LCON NOP 5857 12154 060534 LDA HONE 5858 12155 064371 LDB .2 5859 12156 070217 LCON1 STA MLBX1 5860 12157 074220 STB MLBX1+1 5861 12160 060226 LDA B3+1 5862 12161 015404 JSB MDIM 5863 12162 001100 ARS 5864 12163 003004 CMA,INA 5865 12164 073142 STA LPIV 5866 12165 060217 LDA MLBX1 5867 12166 064220 LDB MLBX1+1 5868 12167 170225 LCON2 STA B3,I 5869 12170 034225 ISZ B3 5870 12171 174225 STB B3,I 5871 12172 034225 ISZ B3 5872 12173 037142 ISZ LPIV 5873 12174 026167 JMP LCON2 5874 12175 126153 JMP LCON,I 5875* 5876*** SUBROUTINE MATRIX ZERO 5877* 5878 12176 000000 SZER NOP 5879 12177 062176 LDA SZER 5880 12200 072153 STA LCON 5881 12201 002400 CLA 5882 12202 006400 CLB 5883 12203 026156 JMP LCON1 5884* 5885*** SUBROUTINE MATRIX IDN 5886* 5887 12204 000000 LIDN NOP 5888 12205 060225 LDA B3 5889 12206 073131 STA T9 5890 12207 016176 JSB SZER 5891 12210 060226 LDA B3+1 5892 12211 001727 ALF,ALF 5893 12212 050226 CPA B3+1 5894 12213 001010 ALS,SLA 5895 12214 026043 JMP LERR 5896 12215 010450 AND MSK1 5897 12216 070217 STA MLBX1 5898 12217 001100 ARS 5899 12220 003004 CMA,INA 5900 12221 070220 STA MLBX1+1 5901 12222 067131 LDB T9 5902 12223 074225 STB B3 5903 12224 060534 LIDN1 LDA HONE 5904 12225 170001 STA 1,I 5905 12226 006004 INB 5906 12227 060371 LDA .2 5907 12230 170001 STA 1,I 5908 12231 006004 INB 5909 12232 044217 ADB MLBX1 5910 12233 034220 ISZ MLBX1+1 5911 12234 026224 JMP LIDN1 5912 12235 126204 JMP LIDN,I 5913* 5914*** SUBROUTINES DLD AND DST 5915* 5916 12236 000000 .DLD NOP 5917 12237 016256 JSB GETAD GET ADDRESS 5918 12240 112236 DEF .DLD,I 5919 12241 036236 ISZ .DLD BUMP RETURN ADDRESS 5920 12242 162272 LDA ADRES,I LOAD HIGH PART. 5921 12243 036272 ISZ ADRES 5922 12244 166272 LDB ADRES,I LOAD LOW PART. 5923 12245 126236 JMP .DLD,I 5924 12246 000000 .DST NOP 5925 12247 016256 JSB GETAD GET ADDRESS. 5926 12250 112246 DEF .DST,I 5927 12251 036246 ISZ .DST BUMP RETURN ADDRESS. 5928 12252 172272 STA ADRES,I STORE HIGH PART. 5929 12253 036272 ISZ ADRES 5930 12254 176272 STB ADRES,I STORE LOW PART. 5931 12255 126246 JMP .DST,I 5932 12256 000000 GETAD NOP COMPUTES EFFECTIVE ADDRESS. 5933 12257 072273 STA TINY SAVE A REGISTER. 5934 12260 162256 LDA GETAD,I GET POINTER TO ADDRESS. 5935 12261 072272 GET STA ADRES STORE IN ADRES. 5936 12262 062273 LDA TINY RESTORE A REGISTER. 5937 12263 162272 LDA ADRES,I 5938 12264 001275 RAL,CLE,SLA,ERA TEST FOR INDIRECT 5939 12265 026261 JMP GET IT IS INDIRECT. 5940 12266 072272 STA ADRES EFFECTIVE ADDRESS. 5941 12267 062273 LDA TINY 5942 12270 036256 ISZ GETAD RETURN 5943 12271 126256 JMP GETAD,I 5944 12272 ADRES BSS 1 5945 12273 TINY BSS 1 5946* 5947*** SUBROUTINE TRANSPOSE 5948* 5949 12274 000000 TRAN NOP 5950 12275 016053 JSB LCHK2 TEST B1 FOR UNASSIGNED TERMS 5951 12276 060226 LDA B3+1 PARAMETERS OF B3 5952 12277 001727 ALF,ALF INTERCHANGE ROW AND COLUMN 5953 12300 064222 LDB B1+1 PARAMETERS OF B1 5954 12301 016040 JSB COMPR SUBROUTINE COMPARE 5955 12302 015317 JSB MPY 5956 12303 013123 DEF T3 5957 12304 073142 STA LPIV PRODUCT OF ROW*COL 5958 12305 063124 LDA T4 5959 12306 003004 CMA,INA 5960 12307 073125 STA T5 5961 12310 002400 TRAN1 CLA 5962 12311 073126 STA T6 SET T6=0 5963 12312 067126 LNEXT LDB T6 5964 12313 005000 BLS 5965 12314 044221 ADB B1 5966 12315 160001 LDA 1,I 5967 12316 006004 INB 5968 12317 164001 LDB 1,I 5969 12320 170225 STA B3,I 5970 12321 034225 ISZ B3 5971 12322 174225 STB B3,I 5972 12323 034225 ISZ B3 5973 12324 063126 LDA T6 SET T6=T6+T4 5974 12325 043124 ADA T4 T6 POINTS TO NEXT TERM IN 5975 12326 073126 STA T6 A COLUMN TO BE TRANSPOSED 5976 12327 053142 CPA LPIV TEST FOR LAST IN COL 5977 12330 026332 JMP *+2 5978 12331 026312 JMP LNEXT 5979 12332 034221 ISZ B1 5980 12333 034221 ISZ B1 5981 12334 037125 ISZ T5 5982 12335 026310 JMP TRAN1 TRANSPOSE NEXT COL 5983 12336 126274 JMP TRAN,I EXIT TO MAIN PROGRAM 5984* 5985*** SUBROUTINE MATRIX MULTIPLY 5986* 5987 12337 000000 MULT NOP 5988 12340 016057 JSB LCHK1 TEST B1,B2 FOR UNASSIGNED TERMS 5989 12341 060226 LDA B3+1 PARAMETERS OF B3 5990 12342 010445 AND MSK0 5991 12343 073126 STA T6 5992 12344 060224 LDA B2+1 5993 12345 010445 AND MSK0 5994 12346 053126 CPA T6 5995 12347 002001 RSS 5996 12350 026043 JMP LERR 5997 12351 060226 LDA B3+1 PARAMETERS OF B3 5998 12352 010527 AND M256 5999 12353 070001 STA 1 STORE ROW IN MSP OF B 6000 12354 060224 LDA B2+1 PARAMETERS OF B2 6001 12355 001727 ALF,ALF 6002 12356 010445 AND MSK0 6003 12357 040001 ADA 1 COMBINE A AND B 6004 12360 064222 LDB B1+1 PARAMETERS OF B1 6005 12361 016040 JSB COMPR COMPARE ROW AND COL 6006 12362 060223 LDA B2 MULT 6007 12363 073125 STA T5 6008 12364 063123 LDA T3 6009 12365 003004 CMA,INA 6010 12366 073131 STA T9 6011 12367 063126 MULT4 LDA T6 6012 12370 003004 CMA,INA 6013 12371 073132 STA T10 6014 12372 063125 LDA T5 6015 12373 070223 STA B2 RESTORE BASE ADDRESS B2 6016 12374 002400 MULT3 CLA 6017 12375 073133 STA T11 COUNTER FOR B2. INCR BY 6018 12376 073134 STA T12 COUNTER FOR B1. INCR BY 2 6019 12377 006400 CLB 6020 12400 016246 JSB .DST CLEAR TO ZERO 6021 12401 100225 DEF B3,I 6022 12402 064221 MULT2 LDB B1 COMPUTE PROD OF ONE TERM 6023 12403 047134 ADB T12 IN ROW BY ONE TERM IN COL 6024 12404 077140 STB T18 6025 12405 064223 LDB B2 6026 12406 047133 ADB T11 6027 12407 016236 JSB .DLD 6028 12410 100001 DEF 1,I 6029 12411 114310 JSB .FMPA,I 6030 12412 113140 DEF T18,I 6031 12413 114306 JSB .FADA,I COMPUTES RUNNING SUM 6032 12414 100225 DEF B3,I 6033 12415 016246 JSB .DST 6034 12416 100225 DEF B3,I 6035 12417 037134 ISZ T12 SELECT NEXT TERM IN ROW 6036 12420 037134 ISZ T12 6037 12421 063126 LDA T6 SELECT NEXT TERM IN COL 6038 12422 001000 ALS 6039 12423 043133 ADA T11 6040 12424 073133 STA T11 6041 12425 063124 LDA T4 6042 12426 001000 ALS 6043 12427 053134 CPA T12 6044 12430 026432 JMP *+2 6045 12431 026402 JMP MULT2 MULT AND ADD IN NEXT TERM 6046 12432 034225 ISZ B3 INCR RECEIVING MAT 6047 12433 034225 ISZ B3 6048 12434 034223 ISZ B2 BASE ADDRESS OF NEXT COL 6049 12435 034223 ISZ B2 6050 12436 037132 ISZ T10 6051 12437 026374 JMP MULT3 COMPUTE SAME ROW*NEXT COL 6052 12440 063124 LDA T4 6053 12441 001000 ALS 6054 12442 040221 ADA B1 6055 12443 070221 STA B1 ADDRESS OF NEXT ROW 6056 12444 037131 ISZ T9 COUNTER FOR ROW IN B1 6057 12445 026367 JMP MULT4 MULT ROW BY ALL COLUMNS 6058 12446 126337 JMP MULT,I EXIT TO MAIN PROGRAM 6059 SKP 6060* 6061*** SUBROUTINE MATRIX INVERT 6062* 6063 12447 000000 LINV NOP SUBROUTINE MATRIX INVERT 6064 12450 016053 JSB LCHK2 TEST B1 FOR UNASSIGNED TERMS 6065 12451 060222 LDA B1+1 DIMENSIONS OF MATRIX B1 6066 12452 064226 LDB B3+1 DIMENSIONS OF MATRIX B3 6067 12453 016040 JSB COMPR CHECK DIMENSIONS 6068 12454 060225 LDA B3 6069 12455 073135 STA T13 6070 12456 060222 LDA B1+1 6071 12457 015404 JSB MDIM 6072 12460 003004 CMA,INA 6073 12461 001100 ARS 6074 12462 073122 STA T2 6075 12463 001000 ALS 6076 12464 064136 LDB LSTPT 6077 12465 006004 INB 6078 12466 074223 STB B2 6079 12467 074225 STB B3 6080 12470 007004 CMB,INB 6081 12471 044137 ADB HSTPT 6082 12472 040001 ADA 1 6083 12473 002020 SSA SKIP IF SUFFICIENT CORE 6084 12474 025541 JMP E1 PRINT 'OUT OF CORE' 6085 12475 016131 JSB REPLC COPY B1 INTO B3 (B2) 6086 12476 063135 LDA T13 6087 12477 070225 STA B3 RESTORE ADDRESS 6088 12500 016204 JSB LIDN SET B3 TO IDENTITY MATRIX 6089 12501 063135 LDA T13 6090 12502 070225 STA B3 LSTPT+1 6091 12503 002400 CLA 6092 12504 073134 STA T12 T12,T13 IS STORE 6093 12505 073135 STA T13 FOR GREATEST VALUE 6094 12506 060223 LDA B2 COPY B2 INTO B1 AS 6095 12507 070221 STA B1 B2 NEEDED LATER 6096 12510 160221 LIN11 LDA B1,I 6097 12511 034221 ISZ B1 6098 12512 164221 LDB B1,I 6099 12513 034221 ISZ B1 6100 12514 002020 SSA GET ABSOLUTE VALUE 6101 12515 015471 JSB ARINV IF NUMBER IS NEGATIVE 6102 12516 073140 STA T18 SAVE NUMBER 6103 12517 077141 STB T19 6104 12520 114307 JSB .FSBA,I SUBTRACT EXISTING MAX. 6105 12521 013134 DEF T12 VALUE 6106 12522 002020 SSA SKIP AND SWAP IF POSITIVE 6107 12523 026530 JMP LIN10 6108 12524 063140 LDA T18 SWAP 6109 12525 067141 LDB T19 6110 12526 073134 STA T12 6111 12527 077135 STB T13 6112 12530 037122 LIN10 ISZ T2 6113 12531 026510 JMP LIN11 6114 12532 063134 LDA T12 COMPUTE RELATIVE TOLERANCE 6115 12533 067135 LDB T13 TOL=ABSOLUTE TOL * MAX VALUE 6116 12534 114310 JSB .FMPA,I 6117 12535 013136 DEF T16 ABSOLUTE TOLERANCE 6118 12536 070217 STA MLBX1 6119 12537 074220 STB MLBX1+1 6120 12540 002400 CLA 6121 12541 073142 STA LPIV 6122 12542 037124 ISZ T4 REQUIRE CONSTANT (ROW+1) 6123 12543 037142 LINV1 ISZ LPIV SELECT NEXT PIVOT 6124 12544 063142 LDA LPIV TEST IF HAVE PROCESSED 6125 12545 053124 CPA T4 LAST PIVOT 6126 12546 126447 JMP LINV,I NORMAL EXIT TO MAIN PROG 6127 12547 063142 LDA LPIV COMPUTE ADDRESS OF PIVOT 6128 12550 067142 LDB LPIV COLUMN USING ROUTINE LWHR 6129 12551 073122 STA T2 ROW COUNTER 6130 12552 017075 JSB LWHR ON RETURN, ADDRESS IN A 6131 12553 073121 STA T1 6132 12554 002400 CLA 6133 12555 073134 STA T12 T12,T13 IS STORE 6134 12556 073135 STA T13 FOR GREATEST VALUE 6135 12557 016236 LINV2 JSB .DLD LOAD FP NUMBER 6136 12560 113121 DEF T1,I 6137 12561 002020 SSA OBTAIN ABSOLUTE VALUE 6138 12562 015471 JSB ARINV IF NUMBER IS NEGATIVE 6139 12563 073140 STA T18 STORE VALUE OF FP NUMBER 6140 12564 077141 STB T19 6141 12565 114307 JSB .FSBA,I SUBTR EXISTING LARGEST VALUE 6142 12566 013134 DEF T12 6143 12567 002020 SSA SKIP AND SWAP IF POSITIVE 6144 12570 026577 JMP LINV7 T12 STILL CONTAINS MAX VALUE 6145 12571 063140 LDA T18 STORE NEW MAX VALUE 6146 12572 067141 LDB T19 6147 12573 073134 STA T12 6148 12574 077135 STB T13 6149 12575 063122 LDA T2 SET T5 TO POSITION IN 6150 12576 073125 STA T5 COLUMN OF MAX VALUE 6151 12577 037122 LINV7 ISZ T2 6152 12600 063122 LDA T2 TEST FOR LAST TERM IN COL 6153 12601 053124 CPA T4 6154 12602 026610 JMP LINV8 SWAP ROWS 6155 12603 063123 LDA T3 COMPUTE 6156 12604 001000 ALS NEXT ADDRESS 6157 12605 043121 ADA T1 IN PIVOT 6158 12606 073121 STA T1 COLUMN 6159 12607 026557 JMP LINV2 SELECT NEXT TERM 6160 12610 063142 LINV8 LDA LPIV COMPUTE ADDRESS 6161 12611 006404 CLB,INB 6162 12612 017075 JSB LWHR 6163 12613 073121 STA T1 ADDRESS OF PIVOTAL ROW 6164 12614 063125 LDA T5 6165 12615 006404 CLB,INB 6166 12616 017075 JSB LWHR 6167 12617 073122 STA T2 ADDR OF ROW TO BE SWAPPED 6168 12620 063142 LDA LPIV 6169 12621 006404 CLB,INB 6170 12622 017107 JSB LWHR2 PIVOTAL ROW IN I-MATRIX 6171 12623 073131 STA T9 6172 12624 073132 STA T10 KEEP COPY 6173 12625 063125 LDA T5 6174 12626 006404 CLB,INB 6175 12627 017107 JSB LWHR2 BE SWAPPED IN I-MATRIX 6176 12630 073133 STA T11 6177 12631 063123 LDA T3 6178 12632 003004 CMA,INA 6179 12633 073134 STA T12 COUNTER FOR TERMS IN A ROW 6180 12634 016236 LINV3 JSB .DLD SWAP ONE ELEMENT OF ROW 6181 12635 113121 DEF T1,I 6182 12636 073140 STA T18 6183 12637 077141 STB T19 6184 12640 016236 JSB .DLD 6185 12641 113122 DEF T2,I 6186 12642 173121 STA T1,I 6187 12643 037121 ISZ T1 6188 12644 177121 STB T1,I 6189 12645 037121 ISZ T1 6190 12646 063140 LDA T18 6191 12647 067141 LDB T19 6192 12650 173122 STA T2,I 6193 12651 037122 ISZ T2 6194 12652 177122 STB T2,I 6195 12653 037122 ISZ T2 6196 12654 016236 JSB .DLD SWAP ONE ELEMENT IN A ROW 6197 12655 113131 DEF T9,I OF I-MATRIX 6198 12656 073140 STA T18 6199 12657 077141 STB T19 6200 12660 016236 JSB .DLD 6201 12661 113133 DEF T11,I 6202 12662 173131 STA T9,I 6203 12663 037131 ISZ T9 6204 12664 177131 STB T9,I 6205 12665 037131 ISZ T9 6206 12666 063140 LDA T18 6207 12667 067141 LDB T19 6208 12670 173133 STA T11,I 6209 12671 037133 ISZ T11 6210 12672 177133 STB T11,I 6211 12673 037133 ISZ T11 6212 12674 037134 ISZ T12 INCREMENT COUNTER 6213 12675 026634 JMP LINV3 SWAP NEXT ELEMENT 6214 12676 063142 LDA LPIV COMPUTE 6215 12677 067142 LDB LPIV ADDRESS OF 6216 12700 017075 JSB LWHR PIVOT 6217 12701 073121 STA T1 ELEMENT 6218 12702 016236 JSB .DLD PIVOT VALUE 6219 12703 113121 DEF T1,I 6220 12704 002020 SSA OBTAIN ABSOLUTE VALUE 6221 12705 015471 JSB ARINV IF NUMBER IS NEGATIVE 6222 12706 114307 JSB .FSBA,I SUBTRACT TOLERANCE AND 6223 12707 000217 DEF MLBX1 6224 12710 002020 SSA COMPARE TO ZERO 6225 12711 014544 JSB ERROR PRINT-NEARLY SING MATRIX' 6226 12712 063121 LDUM1 LDA T1 ADDRESS OF PIOT ELEMENT 6227 12713 073122 STA T2 6228 12714 060534 LDA HONE 6229 12715 064371 LDB .2 6230 12716 114311 JSB .FDVA,I 6231 12717 113121 DEF T1,I 6232 12720 073140 STA T18 INVERSE OF PIVOT 6233 12721 077141 STB T19 6234 12722 063142 LDA LPIV 6235 12723 073133 STA T11 COUNTER FOR ROW 6236 12724 037133 LINV6 ISZ T11 INCREMENT COUNTER 6237 12725 063133 LDA T11 6238 12726 053124 CPA T4 TEST FOR END OF ROW 6239 12727 026741 JMP LIN12 6240 12730 037122 ISZ T2 ADDRESS OF NEXT ELEMENT 6241 12731 037122 ISZ T2 6242 12732 016236 JSB .DLD 6243 12733 113122 DEF T2,I 6244 12734 114310 JSB .FMPA,I 6245 12735 013140 DEF T18 6246 12736 016246 JSB .DST 6247 12737 113122 DEF T2,I 6248 12740 026724 JMP LINV6 6249 12741 063132 LIN12 LDA T10 6250 12742 073125 STA T5 IN I-MATRIX 6251 12743 063123 LDA T3 6252 12744 003004 CMA,INA 6253 12745 073133 STA T11 ROW COUNTER 6254 12746 016236 LIN13 JSB .DLD 6255 12747 113125 DEF T5,I 6256 12750 002003 SZA,RSS SKIP MULTIPLICATION IF ZERO 6257 12751 006002 SZB 6258 12752 026754 JMP *+2 NOT ZERO 6259 12753 026760 JMP LIN14 ZERO 6260 12754 114310 JSB .FMPA,I 6261 12755 013140 DEF T18 6262 12756 016246 JSB .DST 6263 12757 113125 DEF T5,I 6264 12760 037125 LIN14 ISZ T5 NEXT ELEMENT IN I-MATRIX 6265 12761 037125 ISZ T5 6266 12762 037133 ISZ T11 INCREMENT COUNTER 6267 12763 026746 JMP LIN13 NO 6268 12764 002400 CLA 6269 12765 070221 STA B1 6270 12766 034221 LINV4 ISZ B1 6271 12767 060221 LDA B1 6272 12770 053124 CPA T4 TEST FOR LAST ROW 6273 12771 026543 JMP LINV1 SELECT NEXT PIVOT 6274 12772 053142 CPA LPIV TEST TO SKIP PIVOTAL ROW 6275 12773 026766 JMP LINV4 SKIP PIVOTAL ROW 6276 12774 060221 LDA B1 6277 12775 006404 CLB,INB 6278 12776 017107 JSB LWHR2 ADDRESSOF ROW TO BE TRANSFORMED 6279 12777 073133 STA T11 IN I-MATRIX 6280 13000 060221 LDA B1 6281 13001 067142 LDB LPIV 6282 13002 017075 JSB LWHR 6283 13003 073131 STA T9 SAVE ADDRESS 6284 13004 016236 JSB .DLD 6285 13005 100000 DEF 0,I 6286 13006 073127 STA T7 VALUE OF MULTIPLIER 6287 13007 077130 STB T8 6288 13010 063142 LDA LPIV 6289 13011 073135 STA T13 COUNTER 6290 13012 063121 LDA T1 6291 13013 073122 STA T2 6292 13014 037135 LINV5 ISZ T13 6293 13015 063135 LDA T13 6294 13016 053124 CPA T4 TEST FOR LAST TERM IN ROW 6295 13017 027041 JMP LIN15 6296 13020 037131 ISZ T9 T9 IS ADDRESS OF 6297 13021 037131 ISZ T9 ELEMENT TO BE CHANGED 6298 13022 037122 ISZ T2 T2 IS ADDR OF CORRESPONDING 6299 13023 037122 ISZ T2 ELEMENT IN PIVOTAL ROW 6300 13024 063127 LDA T7 6301 13025 067130 LDB T8 6302 13026 114310 JSB .FMPA,I 6303 13027 113122 DEF T2,I 6304 13030 073140 STA T18 MULTIPLIER*VALUE IN 6305 13031 077141 STB T19 PIVOT ROW 6306 13032 016236 JSB .DLD 6307 13033 113131 DEF T9,I 6308 13034 114307 JSB .FSBA,I 6309 13035 013140 DEF T18 6310 13036 016246 JSB .DST TRANSFORMED ELEMENT 6311 13037 113131 DEF T9,I 6312 13040 027014 JMP LINV5 SELECT NEXT TERM 6313 13041 063132 LIN15 LDA T10 ADDRESS OF 6314 13042 073125 STA T5 PIVOTAL ROW 6315 13043 063123 LDA T3 6316 13044 003004 CMA,INA 6317 13045 073135 STA T13 COUNTER 6318 13046 163125 LIN18 LDA T5,I 6319 13047 037125 ISZ T5 6320 13050 167125 LDB T5,I 6321 13051 037125 ISZ T5 6322 13052 002003 SZA,RSS SKIP IF ZERO 6323 13053 006002 SZB 6324 13054 027056 JMP *+2 NOT ZERO 6325 13055 027070 JMP LIN17 ZERO 6326 13056 114310 JSB .FMPA,I MULTIPLY BY 6327 13057 013127 DEF T7 MULTIPLIER 6328 13060 073140 STA T18 6329 13061 077141 STB T19 6330 13062 016236 JSB .DLD 6331 13063 113133 DEF T11,I 6332 13064 114307 JSB .FSBA,I 6333 13065 013140 DEF T18 6334 13066 016246 JSB .DST 6335 13067 113133 DEF T11,I 6336 13070 037133 LIN17 ISZ T11 6337 13071 037133 ISZ T11 6338 13072 037135 ISZ T13 6339 13073 027046 JMP LIN18 SELECT NEXT TERM 6340 13074 026766 JMP LINV4 ELIMINATE NEXT ROW 6341 SKP 6342* 6343*** SUBROUTINE LWHR 6344* 6345 13075 000000 LWHR NOP 6346 13076 077127 STB T7 6347 13077 040477 ADA M1 6348 13100 015317 JSB MPY 6349 13101 013123 DEF T3 6350 13102 043127 ADA T7 6351 13103 040477 ADA M1 6352 13104 001000 ALS 6353 13105 040223 ADA B2 6354 13106 127075 JMP LWHR,I 6355 13107 000000 LWHR2 NOP 6356 13110 077127 STB T7 6357 13111 040477 ADA M1 6358 13112 015317 JSB MPY ADDR=LWHR3+2((A-1)*T3+B-1) 6359 13113 013123 DEF T3 6360 13114 043127 ADA T7 6361 13115 040477 ADA M1 6362 13116 001000 ALS 6363 13117 040225 ADA B3 6364 13120 127107 JMP LWHR2,I 6365* 6366*** CONSTANTS 6367* 6368 13121 T1 BSS 1 TEMPORARY CONSTANTS 6369 13122 T2 BSS 1 6370 13123 T3 BSS 1 6371 13124 T4 BSS 1 6372 13125 T5 BSS 1 6373 13126 T6 BSS 1 6374 13127 T7 BSS 1 6375 13130 T8 BSS 1 6376 13131 T9 BSS 1 6377 13132 T10 BSS 1 6378 13133 T11 BSS 1 6379 13134 T12 BSS 1 6380 13135 T13 BSS 1 6381 13136 041433 T16 DEC +1E-6 ABSOLUTE TOLERANCE 13137 157733 6382 13140 T18 BSS 1 6383 13141 T19 BSS 1 6384 13142 LPIV BSS 1 6385 13143 114306 LPLUS JSB .FADA,I GENERATES CODE 6386 13144 100223 DEF B2,I 6387 13145 114307 LMIN JSB .FSBA,I GENERATES CODE 6388 13146 114310 LTIME JSB .FMPA,I GENERATES CODE 6389 13147 034223 INCB2 ISZ B2 GENERATES CODE 6390** 6391*** FETCH MAT STATEMENT SUBSCRIPT ** 6392** 6393 13150 000000 MATSB NOP 6394 13151 064500 LDB M2 LEFT PARENTHESIS 6395 13152 015355 JSB SYMCK OR 6396 13153 002305 DEF LBRAC-1 LEFT BRACKET? 6397 13154 127150 JMP MATSB,I NO 6398 13155 037150 ISZ MATSB YES, SET RETURN ADDRESS 6399 13156 060461 LDA B2200 6400 13157 170133 STA SBPTR,I BRACKET 6401 13160 117201 JSB FSC&,I 6402 13161 007400 CCB 6403 13162 015355 JSB SYMCK COMMA? 6404 13163 002245 DEF COMMA-1 6405 13164 002001 RSS NO 6406 13165 117201 JSB FSC&,I 6407 13166 064500 LDB M2 RIGHT PARENTHESIS 6408 13167 015355 JSB SYMCK OR 6409 13170 002251 DEF RPARN-1 RIGHT BRACKET 6410 13171 127200 JMP FSCA&,I 6411 13172 060456 LDA LF 6412 13173 170133 STA SBPTR,I BRACKET 6413 13174 034133 ISZ SBPTR 6414 13175 015662 JSB GETCR END-OF-STATEMENT? 6415 13176 124322 JMP ACCST,I YES 6416 13177 127150 JMP MATSB,I 6417 13200 003206 FSCA& DEF FSCE2 6418 13201 003045 FSC& DEF FSC 6419 13202 FINIS EQU * 6420 END !INS1 005141 01/2971 -- 01/2884 !INS2 005142 01/2972 -- 01/2886 !INS3 005143 01/2973 -- 01/2888 !INS4 005144 01/2974 -- 01/2963 !INS5 005145 01/2975 -- 01/2965 !TAPE 002043 01/1182 -- 01/1314 &IN1 005075 01/2927 -- 01/2885 01/2964 &IN2 005123 01/2955 -- 01/2887 01/2966 &IN3 005126 01/2959 -- 01/2889 01/2968 .1 000370 01/0239 -- 01/3132 01/3993 01/4766 .10 000400 01/0247 -- 01/0599 01/1020 01/1348 01/1437 01/1503 01/1539 01/1640 01/1662 01/1677 01/1747 01/1757 01/1769 01/1892 01/1893 01/2061 01/2108 01/2148 01/2184 01/2190 01/2228 01/2487 01/2507 01/2890 01/2902 01/3908 01/5638 .12 000401 01/0248 -- 01/4712 .15 000402 01/0249 -- 01/1713 01/1862 01/2710 01/2726 01/2752 01/3049 01/3050 01/3173 01/3175 01/3292 01/3293 01/3331 01/3337 01/3338 01/4524 01/4553 01/4554 01/4715 01/5456 .2 000371 01/0240 -- 01/0803 01/0988 01/2832 01/3034 01/3152 01/3174 01/3264 01/3540 01/3584 01/3665 01/3699 01/3981 01/4110 01/4125 01/4219 01/4560 01/5275 01/5510 01/5566 01/5586 01/5602 01/5620 01/5684 01/5858 01/5906 01/6229 .23 000403 01/0250 -- 01/3474 .244 011272 01/5359 -- 01/5302 .26 000404 01/0251 -- 01/1034 .27 000405 01/0252 -- 01/3111 .28 000406 01/0253 -- 01/3113 01/3140 01/3157 .3 000372 01/0241 -- 01/0708 01/2422 01/2457 01/2750 01/2834 01/2845 01/3035 01/3104 01/3210 01/4539 01/4678 .30 000407 01/0254 -- 01/3020 .31 000410 01/0255 -- 01/2982 01/3394 01/5194 01/5648 .32 000411 01/0256 -- 01/0800 01/1078 01/1098 01/1152 01/2396 01/2407 01/2525 01/2983 01/3885 01/4662 01/4855 .33 000412 01/0257 -- 01/3069 .34 000413 01/0258 -- 01/1607 01/2698 01/2784 01/3067 .35 000414 01/0259 -- 01/0379 01/2984 .36 000415 01/0260 -- 01/0409 .37 000416 01/0261 -- 01/3091 .4 000373 01/0242 -- 01/0496 01/1303 .40 000417 01/0262 -- 01/1919 01/2136 .41 000420 01/0263 -- 01/1884 .43 000421 01/0264 -- 01/0450 01/0537 01/1941 01/2727 01/3022 01/4834 .45 000422 01/0265 -- 01/0452 01/0539 01/1943 01/4660 01/4830 .46 000423 01/0266 -- 01/0480 01/1688 01/1754 01/2125 01/2173 01/3018 01/4774 01/4780 01/4795 01/4820 .47 000424 01/0267 -- 01/2151 .48 000425 01/0268 -- 01/2144 01/2808 01/2815 01/2981 01/4771 01/4776 01/4803 01/4817 01/4838 01/4851 .49 000426 01/0269 -- 01/4801 01/4812 .58 000427 01/0270 -- 01/0348 01/1479 01/4844 .6 000374 01/0243 -- 01/3603 01/3634 01/3724 01/4679 .63 000430 01/0271 -- 01/3016 01/5611 .7 000375 01/0244 -- 01/2401 01/2419 01/2844 01/2850 .72 000434 01/0275 -- 01/1194 01/1284 .74 000435 01/0276 -- 01/4683 .75 000436 01/0277 -- 01/4719 .8 000376 01/0245 -- 01/1764 .9 000377 01/0246 -- 01/0997 01/1002 01/3191 01/4799 .BUFA 000116 01/0068 -- 01/0380 01/0410 01/1117 01/1195 01/1202 01/1285 01/2643 01/2647 01/3773 01/3861 .CARD 000060 01/0029 -- 01/1288 .CHEB 011305 01/5370 -- 01/4939 01/4999 01/5081 01/5372 .DLD 012236 01/5916 -- 01/5918 01/5919 01/5923 01/6027 01/6135 01/6180 01/6184 01/6196 01/6200 01/6218 01/6242 01/6254 01/6284 01/6306 01/6330 .DST 012246 01/5924 -- 01/5926 01/5927 01/5931 01/6020 01/6033 01/6246 01/6262 01/6310 01/6334 .EXP 011162 01/5287 -- 01/0188 01/5285 01/5347 01/5350 01/5357 .EXP1 011262 01/5351 -- 01/5293 .EXPA 000305 01/0188 -- 01/4096 .FAD 007340 01/4321 -- 01/0189 01/3709 01/4055 01/4323 01/4484 01/4507 .FADA 000306 01/0189 -- 01/4704 01/4710 01/4908 01/4918 01/5044 01/5050 01/5059 01/5149 01/5158 01/5168 01/5181 01/5224 01/5246 01/5252 01/5315 01/5329 01/5341 01/5406 01/6031 01/6385 .FDV 007466 01/4419 -- 01/0192 01/4073 01/4126 01/4421 .FDV1 007550 01/4469 -- 01/4428 .FDV2 007553 01/4472 -- 01/4425 .FDVA 000311 01/0192 -- 01/4950 01/4989 01/5156 01/5166 01/5232 01/5244 01/5321 01/5339 01/6230 .FLUN 001524 01/0923 -- 01/0195 01/0833 01/0839 01/0861 01/0871 01/0878 01/0931 01/4354 01/4370 01/4728 01/5140 01/5217 01/5470 .FMP 007417 01/4377 -- 01/0191 01/4067 01/4094 01/4132 01/4140 01/4387 01/4491 01/4495 01/4513 .FMPA 000310 01/0191 -- 01/4904 01/4933 01/4935 01/4941 01/4993 01/4995 01/5001 01/5046 01/5057 01/5075 01/5083 01/5147 01/5179 01/5236 01/5248 01/5254 01/5288 01/5311 01/5327 01/5375 01/5402 01/5415 01/6029 01/6116 01/6244 01/6260 01/6302 01/6326 01/6388 .FSB 007346 01/4330 -- 01/0190 01/3714 01/4061 01/4169 01/4177 01/4185 01/4193 01/4201 01/4209 01/4332 01/4486 01/4504 .FSB1 007363 01/4343 -- 01/4337 01/4340 .FSBA 000307 01/0190 -- 01/4922 01/4929 01/4937 01/4997 01/5023 01/5063 01/5069 01/5079 01/5230 01/5238 01/5250 01/5307 01/5331 01/5333 01/5404 01/5413 01/6104 01/6141 01/6222 01/6308 01/6332 01/6387 .HSPR 000062 01/0031 -- 01/1287 .IENT 011400 01/5433 -- 01/3896 01/4912 01/5054 01/5292 01/5371 01/5374 01/5441 01/5442 01/5447 .LNUM 000124 01/0074 -- 01/0403 01/1155 01/1341 01/3007 01/3498 .LOG 011053 01/5211 -- 01/0187 01/5209 01/5256 01/5260 .LOG1 011131 01/5257 -- 01/5213 .LOGA 000304 01/0187 -- 01/4093 .PACK 001077 01/0605 -- 01/0196 01/0591 01/0608 01/0626 01/4312 01/4414 01/4470 01/5128 01/5199 01/5459 .PWR2 011427 01/5466 -- 01/4910 01/4916 01/5052 01/5077 01/5160 01/5172 01/5345 01/5472 01/5478 01/5479 .RET 011443 01/5478 -- 01/5468 ?MESG 000102 01/0052 -- 01/1322 ?NBER 002204 01/1328 -- 01/1326 ?OFF 000101 01/0051 -- 01/1318 ?PTAP 000061 01/0030 -- unreferenced A 000000 01/0024 -- 01/0394 01/1255 01/3541 A1 000227 01/0129 -- 01/4272 01/4275 01/4300 01/4311 01/4351 01/4385 01/4400 01/4411 01/4413 01/4426 01/4473 01/4480 01/4492 A2 000230 01/0130 -- 01/4273 01/4274 01/4292 01/4334 01/4344 01/4367 01/4393 01/4402 01/4423 01/4481 AAA 011141 01/5263 -- 01/5247 AAAA 011273 01/5360 -- 01/5316 ABS 004063 01/2356 -- unreferenced ACCS1 004370 01/2561 -- 01/2548 ACCS2 004372 01/2563 -- 01/2555 01/2560 01/2577 ACCS3 004375 01/2566 -- 01/2573 ACCS4 004405 01/2574 -- 01/2549 01/2557 ACCST 000322 01/0201 -- 01/1438 01/1445 01/1464 01/1505 01/1540 01/1563 01/1602 01/1614 01/1641 01/1663 01/1673 01/1678 01/1724 01/1737 01/1748 01/1758 01/1773 01/1778 01/6415 ACTIV 000111 01/0062 -- 01/0033 ACTST 004345 01/2542 -- 01/0201 ADATA 000361 01/0232 -- 01/3462 01/3559 ADD 012111 01/5808 -- 01/5629 01/5818 01/5824 ADD1 012113 01/5810 -- 01/5826 ADDR 000212 01/2980 -- 01/2893 01/2898 01/2900 01/2921 ADMU1 007256 01/4268 -- 01/4284 ADMU2 007277 01/4285 -- 01/4271 ADMU3 007310 01/4294 -- 01/4317 ADMU4 007331 01/4311 -- 01/4288 01/4305 01/4309 ADMU5 007334 01/4314 -- 01/4295 ADMUP 007252 01/4264 -- 01/4265 01/4325 01/4345 ADRES 012272 01/5944 -- 01/5920 01/5921 01/5922 01/5928 01/5929 01/5930 01/5935 01/5937 01/5940 AND 004023 01/2332 -- 01/0228 ANDOP 002316 01/1417 -- unreferenced ANDS 007243 01/4250 -- 01/4249 ANEXT 000360 01/0231 -- 01/3676 ANOT 000365 01/0236 -- 01/1846 ARBAS 000350 01/0223 -- 01/3416 ARIN1 001510 01/0908 -- 01/0904 ARIN2 001520 01/0916 -- 01/0901 01/0907 ARINA 000312 01/0193 -- unreferenced ARINV 001471 01/0893 -- 01/0193 01/0919 01/4225 01/4658 01/4915 01/5099 01/6101 01/6138 01/6221 AROTB 006656 01/3940 -- 01/0223 ARRE1 003465 01/2108 -- 01/4607 ARRE2 003500 01/2122 -- 01/4608 ARRID 003475 01/2119 -- 01/1661 01/1674 01/1731 01/1746 01/1768 01/2105 01/2128 ARRYS 003461 01/2104 -- 01/1444 01/1458 01/2109 01/2114 01/2115 01/2870 ARYAD 000226 01/0356 -- 01/1686 01/1695 01/1733 01/1752 01/1774 01/1779 01/2022 01/2025 01/2039 01/2078 01/2090 01/2095 01/2123 01/2171 ASSOP 002260 01/1387 -- 01/1491 01/1530 01/1693 01/1908 ASTEP 000364 01/0235 -- 01/1545 ASTK 000064 01/0033 -- unreferenced ATAB 000366 01/0237 -- 01/1621 01/2759 ATHEN 000362 01/0233 -- 01/1511 ATMP 011370 01/5423 -- 01/5396 01/5397 01/5405 01/5414 ATN 004052 01/2350 -- unreferenced ATO 000363 01/0234 -- 01/1534 AUNEQ 004034 01/2340 -- unreferenced B 000001 01/0025 -- 01/1219 01/2910 01/2913 01/2931 01/2954 01/2961 B1 000221 01/0126 -- 01/0139 01/4675 01/4689 01/5506 01/5512 01/5536 01/5537 01/5538 01/5539 01/5573 01/5574 01/5575 01/5576 01/5601 01/5604 01/5733 01/5735 01/5742 01/5743 01/5744 01/5745 01/5782 01/5783 01/5953 01/5965 01/5979 01/5980 01/6004 01/6022 01/6054 01/6055 01/6065 01/6070 01/6095 01/6096 01/6097 01/6098 01/6099 01/6269 01/6270 01/6271 01/6276 01/6280 B100 000431 01/0272 -- 01/2721 B1000 000451 01/0288 -- 01/3810 01/3840 B133 000442 01/0281 -- 01/1921 01/2138 01/2175 01/2655 01/2779 B1400 000457 01/0294 -- 01/0816 B177 000443 01/0282 -- 01/0609 01/0809 01/1051 01/1900 01/2391 01/2720 01/2822 01/2831 01/2858 01/3415 B2 000223 01/0127 -- 01/0140 01/5515 01/5516 01/5541 01/5545 01/5546 01/5557 01/5565 01/5585 01/5619 01/5622 01/5683 01/5732 01/5779 01/5780 01/5992 01/6000 01/6006 01/6015 01/6025 01/6048 01/6049 01/6078 01/6094 01/6353 01/6386 01/6389 B200 000444 01/0283 -- 01/0633 01/0639 B2000 000452 01/0289 -- 01/3806 B2200 000461 01/0296 -- 01/2026 01/5563 01/6399 B2300 000462 01/0297 -- 01/1932 01/2213 B3 000225 01/0128 -- 01/0356 01/5521 01/5524 01/5531 01/5534 01/5547 01/5571 01/5577 01/5584 01/5588 01/5671 01/5681 01/5682 01/5690 01/5736 01/5748 01/5749 01/5750 01/5751 01/5861 01/5868 01/5869 01/5870 01/5871 01/5888 01/5891 01/5893 01/5902 01/5951 01/5969 01/5970 01/5971 01/5972 01/5989 01/5997 01/6021 01/6032 01/6034 01/6046 01/6047 01/6066 01/6068 01/6079 01/6087 01/6090 01/6363 B3000 000453 01/0290 -- 01/1946 01/3808 01/5530 B400 000446 01/0285 -- 01/0899 B4000 000455 01/0292 -- 01/1882 01/2224 B776 000447 01/0286 -- 01/0664 01/5259 BADDR 000125 01/0075 -- 01/0371 01/0381 01/0422 01/1045 01/1046 01/1064 01/1065 01/1134 01/1135 01/1142 01/1204 01/2382 01/2447 01/2662 01/3774 01/4786 01/4825 01/4889 01/4895 01/4897 BASER 007052 01/4091 -- 01/4625 BBBB 011275 01/5361 -- 01/5319 01/5320 BCKSP 001701 01/1059 -- 01/0597 01/1066 01/1071 01/1074 01/1214 01/1638 01/1670 BHSTP 001544 01/0945 -- 01/0951 01/3286 01/4233 BINO1 006712 01/3971 -- 01/3965 01/4092 01/4105 01/4106 01/4130 01/4138 01/4141 01/4142 01/4149 BINO2 006713 01/3972 -- 01/3968 01/4095 01/4107 01/4131 01/4139 01/4143 01/4150 01/4243 BINOP 006702 01/3963 -- 01/3964 01/3966 01/3973 01/4054 01/4060 01/4066 01/4072 01/4086 01/4102 01/4168 01/4176 01/4184 01/4192 01/4200 01/4208 01/4239 01/4248 BLANK 000123 01/0073 -- 01/0388 01/1052 01/1153 01/2508 01/2526 01/2667 01/2767 01/2774 BOTH1 010422 01/4931 -- 01/4955 BSK1 000071 01/0044 -- unreferenced BSK2 000072 01/0045 -- unreferenced BSK3 000073 01/0046 -- unreferenced BSK4 000074 01/0047 -- unreferenced BTH1 010527 01/4991 -- 01/5017 BTH2 010766 01/5151 -- 01/5183 BTMP 011372 01/5424 -- 01/5387 01/5388 01/5394 01/5395 01/5400 01/5401 C1 000231 01/0131 -- 01/4276 01/4279 01/4286 01/4296 01/4355 01/4389 01/4391 01/4394 01/4433 01/4488 01/4508 C2 000232 01/0132 -- 01/4277 01/4278 01/4293 01/4343 01/4371 01/4386 01/4396 01/4399 01/4404 01/4446 CCC 011145 01/5265 -- 01/5239 CCCC 011277 01/5362 -- 01/5325 01/5326 CCNT 000126 01/0076 -- 01/0369 01/0377 01/0408 01/0421 01/1042 01/1061 01/1062 01/1081 01/1091 01/1102 01/1116 01/1120 01/1131 01/1132 01/1201 01/2384 01/2449 01/2664 01/2678 01/3777 01/3781 01/3845 01/3855 01/3881 01/4680 01/4716 01/4784 01/4823 01/4886 01/4888 CHRS1 004312 01/2509 -- 01/2522 CHRS2 004330 01/2523 -- 01/2512 01/2518 CHRS3 004331 01/2524 -- 01/2510 01/2516 CHRSA 000321 01/0200 -- 01/1504 01/1608 CHRST 004306 01/2505 -- 01/0200 01/2523 01/2527 CKRCD 002120 01/1238 -- 01/1209 CLPR1 004442 01/2609 -- 01/2615 CLPR2 004451 01/2616 -- 01/2610 CLPRG 004435 01/2604 -- 01/2537 01/2559 01/2618 01/2876 CMNDA 000250 01/0158 -- 01/1254 CMNDS 002140 01/1259 -- 01/0158 CNSTA 000264 01/0171 -- unreferenced COEF 010576 01/5028 -- 01/5000 COEF1 010701 01/5088 -- 01/5082 COEFF 010472 01/4965 -- 01/4940 COLON 000427 01/0348 -- 01/0401 COM 003720 01/2290 -- unreferenced COML 000216 01/0149 -- 01/3001 01/3145 01/3148 COMMA 002246 01/1377 -- 01/1573 01/1584 01/1596 01/1666 01/1681 01/2112 01/6404 COMPR 012040 01/5760 -- 01/5734 01/5737 01/5770 01/5954 01/6005 01/6067 COMS 002342 01/1450 -- 01/1791 COMS1 002350 01/1456 -- 01/1460 CON 004105 01/2368 -- unreferenced CONS1 000657 01/0455 -- 01/0451 CONS2 000662 01/0458 -- 01/0454 CONS3 000666 01/0462 -- 01/0459 CONST 000642 01/0442 -- 01/0171 01/0443 01/1568 01/3902 COS 004044 01/2346 -- unreferenced COUNT 000213 01/0354 -- 01/0798 01/0806 01/2415 01/2425 COUT 011356 01/5411 -- 01/5393 CTMP 011374 01/5425 -- 01/5380 01/5389 01/5390 01/5391 01/5407 D100 000522 01/0329 -- 01/1860 01/2197 D133 000526 01/0333 -- 01/1031 D53 000520 01/0327 -- 01/2198 01/3304 D72 000521 01/0328 -- 01/1017 DATA 003762 01/2312 -- 01/0232 DATAI 002037 01/1178 -- 01/1206 01/1234 DATAS 002477 01/1568 -- 01/1575 01/1808 DBY10 001261 01/0731 -- 01/0576 01/0734 01/0760 01/4745 01/4752 DBYZR 007554 01/4473 -- 01/4644 DCCNT 000145 01/0091 -- 01/3458 01/3529 01/3557 01/3565 01/3566 DDDD 011301 01/5363 -- 01/5330 DEF 003723 01/2292 -- unreferenced DEFOP 000463 01/0298 -- 01/3096 DEFS 002361 01/1468 -- 01/1792 DELST 000323 01/0202 -- 01/1349 DFLAG 002317 01/1418 -- 01/1366 01/1443 01/1455 01/2029 01/2062 DIGCA 000277 01/0182 -- unreferenced DIGCK 001636 01/1015 -- 01/0182 01/0486 01/0545 01/0550 01/0560 01/1019 01/1022 01/1023 01/1025 01/2141 01/2474 01/4797 DIGCT 000177 01/0358 -- 01/2788 01/2813 DIM 003715 01/2288 -- unreferenced DIMS 002336 01/1443 -- 01/1446 01/1790 DIV 002270 01/1395 -- unreferenced DIVSR 000200 01/0359 -- 01/2790 01/2793 01/2801 01/2812 DLSTM 004335 01/2531 -- 01/0202 DPFLG 000237 01/0137 -- 01/0479 01/0481 01/0568 DRQSA 000256 01/0165 -- 01/3901 01/3913 DRQST 002113 01/1230 -- 01/0165 01/1231 DSTRT 000143 01/0089 -- 01/3459 01/3465 01/3932 DTMP 011376 01/5426 -- 01/5384 01/5385 01/5398 01/5399 01/5408 01/5409 01/5411 01/5412 E 000432 01/0273 -- 01/0383 01/0532 01/4828 E1 001541 01/0939 -- 01/0950 01/1009 01/3480 01/3647 01/4631 01/6084 E2 006377 01/3738 -- 01/4628 E3 006403 01/3745 -- 01/4629 E4 006150 01/3563 -- 01/4630 E6 006753 01/4007 -- 01/0217 01/3991 01/4623 E6M1A 000342 01/0217 -- 01/0848 01/0853 01/5708 E7 011760 01/5696 -- 01/4632 E8 001574 01/0975 -- 01/0214 01/4624 01/4701 E8M1A 000337 01/0214 -- 01/3291 01/5503 EABS 010714 01/5098 -- 01/5720 EAND 007241 01/4248 -- 01/3956 EATN 010513 01/4979 -- 01/5717 ECOS 010623 01/5044 -- 01/5715 EDEL1 001734 01/1092 -- 01/1096 EDELM 001730 01/1088 -- 01/1089 01/3793 01/5535 EEQL 007171 01/4184 -- 01/3950 EEQL1 007173 01/4186 -- 01/4204 EEXP 011160 01/5285 -- 01/5718 EFAD 007021 01/4054 -- 01/3942 EFDV 007032 01/4072 -- 01/3945 EFMP 007027 01/4066 -- 01/3944 EFOR 006232 01/3631 -- 01/3428 EFOR1 006243 01/3640 -- 01/3632 EFOR2 006276 01/3667 -- 01/3663 EFOR3 006307 01/3676 -- 01/3684 EFSB 007024 01/4060 -- 01/3943 EGORE 007176 01/4192 -- 01/3958 EGOSB 006367 01/3730 -- 01/3430 EGOTO 006220 01/3615 -- 01/3426 01/3627 EGTRT 007157 01/4168 -- 01/3947 EIF 006224 01/3622 -- 01/3427 EINP1 006617 01/3900 -- 01/3903 EINP2 006621 01/3902 -- 01/3919 EINP3 006643 01/3920 -- 01/3907 EINPT 006632 01/3911 -- 01/3439 EINT 011036 01/5193 -- 01/5722 EINT1 011046 01/5201 -- 01/5198 ELBRC 007225 01/4230 -- 01/3952 ELET 006216 01/3610 -- 01/3421 ELOG 011051 01/5209 -- 01/5719 ELORE 007203 01/4200 -- 01/3959 ELS1 010557 01/5015 -- 01/4986 ELS2 010562 01/5018 -- 01/5008 ELS3 010565 01/5021 -- 01/5011 01/5014 ELSE1 010450 01/4953 -- 01/4926 ELSE2 010453 01/4956 -- 01/4947 ELST 007164 01/4176 -- 01/3948 EMA10 011673 01/5638 -- 01/5597 EMA11 011703 01/5646 -- 01/5594 EMA12 011717 01/5658 -- 01/5653 EMAT 011445 01/5485 -- 01/0168 01/3441 EMAT0 011614 01/5591 -- 01/5645 EMAT1 011460 01/5497 -- 01/5552 EMAT2 011524 01/5533 -- 01/5542 EMAT3 011527 01/5536 -- 01/5527 01/5532 01/5548 EMAT4 011544 01/5549 -- 01/5500 01/5579 EMAT5 011553 01/5557 -- 01/5509 EMAT6 011572 01/5572 -- 01/5578 EMAT7 011602 01/5581 -- 01/5489 EMAT8 011620 01/5595 -- 01/5657 EMAT9 011654 01/5623 -- 01/5607 01/5660 01/5662 EMATA 000261 01/0168 -- unreferenced END 003754 01/2308 -- unreferenced ENDS 002473 01/1561 -- 01/1799 01/1800 01/1801 01/1806 01/1807 01/1812 ENEQ1 007212 01/4210 -- 01/4172 01/4244 ENEQL 007210 01/4208 -- 01/3949 ENEX1 006346 01/3710 -- 01/3696 01/3711 01/3712 01/3713 ENEX2 006353 01/3715 -- 01/3653 01/3689 01/3698 ENEX3 006363 01/3723 -- 01/3719 ENEXT 006325 01/3693 -- 01/3429 ENOT 007246 01/4256 -- 01/3957 ENOTA 000267 01/0174 -- unreferenced ENOUT 001711 01/1070 -- 01/0174 01/1072 01/3820 01/3823 01/3826 01/5540 EOF 000335 01/0212 -- 01/1729 01/2235 01/4575 EOL 000153 01/0097 -- 01/3792 01/3795 01/3816 01/3824 01/3829 01/3851 01/3875 EOR 007233 01/4239 -- 01/3955 EOST 002333 01/1437 -- 01/1499 01/1521 01/1550 01/1557 01/1574 01/1590 EOU10 010321 01/4855 -- 01/4852 EOUT1 010264 01/4826 -- 01/4791 EOUT2 010134 01/4738 -- 01/4744 EOUT3 010145 01/4747 -- 01/4755 EOUT4 010156 01/4756 -- 01/4737 01/4750 EOUT5 010200 01/4774 -- 01/4767 EOUT6 010174 01/4770 -- 01/4763 01/4779 EOUT7 010204 01/4778 -- 01/4769 01/4783 EOUT8 010210 01/4782 -- 01/4773 01/4777 EOUT9 010314 01/4850 -- 01/4827 01/4858 EPRI0 006450 01/3791 -- 01/3807 EPRI1 006453 01/3794 -- 01/3790 01/3809 01/3850 EPRI2 006461 01/3800 -- 01/3825 01/3827 EPRI3 006500 01/3815 -- 01/3799 EPRI4 006515 01/3828 -- 01/3811 EPRI5 006521 01/3832 -- 01/3843 EPRI6 006535 01/3844 -- 01/3835 01/3841 EPRI7 006544 01/3851 -- 01/3803 EPRI8 006562 01/3865 -- 01/3852 EPRIN 006445 01/3788 -- 01/3438 EPWR 007035 01/4078 -- 01/3946 EPWR1 007060 01/4098 -- 01/4085 EQUAL 002302 01/1405 -- unreferenced ERBS 000343 01/0218 -- 01/0392 01/0397 EREAD 006410 01/3753 -- 01/3437 01/3765 ERND 010717 01/5107 -- 01/5723 ERND1 010223 01/4793 -- 01/4796 01/4808 ERND2 010243 01/4809 -- 01/4798 ERND3 010257 01/4821 -- 01/4802 01/4815 ERR 007706 01/4575 -- 01/0218 01/0219 ERROR 000544 01/0366 -- 01/0212 01/0213 01/0367 01/0464 01/0536 01/0650 01/0654 01/0841 01/0939 01/0974 01/1200 01/1250 01/1354 01/1432 01/1453 01/1477 01/1487 01/1492 01/1514 01/1527 01/1537 01/1548 01/1580 01/1609 01/1619 01/1647 01/1658 01/1667 01/1710 01/1726 01/1736 01/1745 01/1762 01/1777 01/1871 01/1915 01/1939 01/2011 01/2107 01/2121 01/2463 01/3080 01/3093 01/3102 01/3155 01/3168 01/3182 01/3209 01/3240 01/3268 01/3496 01/3562 01/3737 01/3744 01/4006 01/4090 01/4154 01/4158 01/4472 01/4913 01/5138 01/5215 01/5257 01/5354 01/5695 01/5763 01/5800 01/6225 ERSTR 006651 01/3932 -- 01/3440 ERTRN 006400 01/3742 -- 01/3431 ESBS 006764 01/4019 -- 01/3977 01/3979 01/4027 ESCM1 006742 01/3998 -- 01/3994 ESCMA 006715 01/3977 -- 01/3940 ESGN 011147 01/5271 -- 01/5724 ESIN 010625 01/5046 -- 01/5714 ESQR 010746 01/5135 -- 01/5721 ESTR 006775 01/4031 -- 01/3941 ESTR1 007002 01/4036 -- 01/4050 ESTR2 007015 01/4047 -- 01/4035 ESYMT 005510 01/3232 -- 01/3064 01/3107 01/3150 01/3248 01/3407 01/3409 ESYN3 000340 01/0215 -- 01/3158 ETAB 006566 01/3872 -- 01/5713 ETAB1 006610 01/3890 -- 01/3873 01/3878 ETAN 010367 01/4904 -- 01/5716 EUMIN 007222 01/4224 -- 01/3951 EXIT 005113 01/2944 -- 01/2957 01/2962 EXP 000150 01/0094 -- 01/0473 01/0493 01/0497 01/0522 01/0628 01/0680 01/0696 01/0697 01/0707 01/0709 01/0723 01/0736 01/0737 01/4269 01/4280 01/4283 01/4308 01/4356 01/4379 01/4381 01/4431 01/4432 01/4730 01/4736 01/4739 01/4747 01/4864 01/4872 01/5108 01/5195 01/5457 EXPER 011266 01/5355 -- 01/4643 01/5301 EXPN 004055 01/2352 -- unreferenced EXPON 000236 01/0136 -- 01/0476 01/0484 01/0488 01/0569 01/0575 01/0577 01/0580 01/0582 01/4650 01/4653 01/4659 01/4664 01/4694 01/4708 01/4725 01/4735 01/4743 01/4746 01/4751 01/4754 01/4757 01/4810 01/4831 01/4835 01/4837 01/4845 01/4847 EXPS 002272 01/1397 -- unreferenced EXU1 000065 01/0037 -- unreferenced EXU2 000066 01/0038 -- unreferenced EXU3 000067 01/0039 -- unreferenced EXU4 000070 01/0040 -- unreferenced F 000433 01/0274 -- 01/2730 FALSE 007214 01/4215 -- 01/4157 01/4171 01/4180 01/4187 01/4195 01/4251 01/4258 FASE3 000253 01/0162 -- 01/3214 FASTM 005060 01/2908 -- 01/2894 FCORE 000131 01/0079 -- 01/2999 01/3072 01/3073 01/3076 01/3078 01/3081 01/3085 01/3165 01/3202 01/3205 01/3213 01/3238 01/3472 FDAT 000324 01/0203 -- 01/5572 FDAT1 006142 01/3557 -- 01/3564 FDAT2 006152 01/3565 -- 01/3558 FDATA 006141 01/3556 -- 01/0203 01/3572 01/3660 01/3669 01/3702 01/3708 01/3716 01/3758 FETCA 000302 01/0185 -- 01/3622 01/3654 01/3667 01/3819 01/5640 01/5702 FETCH 006075 01/3511 -- 01/0185 01/3512 FFLAG 000204 01/0138 -- 01/4693 01/4714 01/4762 01/4813 01/4826 FINIS 013202 01/6419 -- unreferenced FLGBT 000536 01/0345 -- 01/0903 01/1483 01/1717 01/1842 01/2167 01/2249 01/2456 01/2735 01/3335 01/5122 01/5276 FLOAT 011417 01/5453 -- 01/0197 01/4914 01/5056 01/5219 01/5295 01/5454 FLT 000316 01/0197 -- unreferenced FLUNA 000314 01/0195 -- unreferenced FLUSH 002012 01/1149 -- 01/0050 01/1268 FLWST 006162 01/3576 -- 01/3502 01/3587 01/3680 FN 000533 01/0339 -- 01/1473 01/1833 FNDP1 004414 01/2584 -- 01/2596 FNDP2 004431 01/2597 -- 01/2590 FNDP3 004432 01/2598 -- 01/2592 FNDP4 004433 01/2599 -- 01/2585 FNDPA 000263 01/0170 -- 01/3494 FNDPS 004411 01/2581 -- 01/0170 01/2532 01/2547 01/2597 01/2598 01/2600 01/2648 01/2875 FOPBS 000345 01/0220 -- 01/2694 01/3300 FOPI 010456 01/4959 -- 01/4905 FOR 003736 01/2300 -- unreferenced FOR0A 000331 01/0208 -- 01/4056 01/4062 01/4068 01/4074 01/4097 01/4123 01/4128 01/4161 01/4217 01/4220 01/4226 FOR0B 000332 01/0209 -- 01/3954 01/4046 FOR10 005636 01/3327 -- 01/0210 FOR11 005627 01/3320 -- 01/0209 01/3314 FOR12 005724 01/3381 -- 01/0211 FOR1A 000330 01/0207 -- 01/3953 01/4015 FOR1B 000333 01/0210 -- 01/4033 FORM& 000233 01/0133 -- 01/3277 01/3351 01/3387 01/3398 01/3928 FORM0 005622 01/3315 -- 01/0208 FORM1 005557 01/3280 -- 01/0207 01/3334 FORM2 005577 01/3296 -- 01/3285 01/3341 01/3345 01/3390 FORM4 005646 01/3335 -- 01/3288 FORM5 005655 01/3342 -- 01/3336 FORM6 005661 01/3346 -- 01/3294 FORM7 005736 01/3391 -- 01/3339 FORM9 005761 01/3410 -- 01/3325 FORMA 000303 01/0186 -- 01/3514 01/3610 01/3649 01/3755 01/3914 FORMX 005552 01/3275 -- 01/0186 01/3276 01/3353 01/3368 01/3400 FORS 002435 01/1525 -- 01/1796 FPOP 003261 01/1964 -- 01/1875 01/1982 01/2065 FR12A 000334 01/0211 -- 01/3883 01/3889 01/3895 01/4952 01/4958 01/5020 01/5025 01/5085 01/5100 01/5129 01/5136 01/5174 01/5200 01/5203 01/5210 01/5273 01/5279 01/5286 FRCUR 003304 01/1986 -- 01/1873 01/1999 01/2075 FSC 003045 01/1818 -- 01/1430 01/1498 01/1509 01/1532 01/1538 01/1549 01/1639 01/1740 01/1874 01/1918 01/1977 01/1995 01/2081 01/2096 01/2238 01/6418 FSC& 013201 01/6418 -- 01/6401 01/6406 FSC1 003050 01/1821 -- 01/1911 01/1937 FSC10 003222 01/1927 -- 01/1877 FSC11 003226 01/1931 -- 01/1920 01/1922 FSC12 003232 01/1935 -- 01/1905 01/1960 FSC13 003235 01/1938 -- 01/1926 FSC14 003250 01/1949 -- 01/0206 01/1855 FSC1A 000327 01/0206 -- 01/0817 FSC2 003052 01/1823 -- 01/1951 FSC3 003077 01/1844 -- 01/1839 FSC4 003113 01/1856 -- 01/1834 FSC5 003121 01/1862 -- 01/1843 FSC6 003160 01/1893 -- 01/1825 01/1827 01/1930 FSC7 003141 01/1878 -- 01/1909 FSC8 003204 01/1913 -- 01/1845 01/1849 01/1881 01/1888 01/1894 FSC9 003212 01/1919 -- 01/1824 FSCA& 013200 01/6417 -- 01/6410 FSCE1 003132 01/1871 -- 01/2212 01/4604 FSCE2 003206 01/1915 -- 01/2056 01/2223 01/4605 01/6417 FSCE3 003236 01/1939 -- 01/1945 01/4606 FSCE4 003332 01/2011 -- 01/0216 01/4611 FSCEF 000341 01/0216 -- 01/2630 FVSR1 006206 01/3599 -- 01/3604 FVSR2 006214 01/3605 -- 01/3602 FVSRH 006176 01/3591 -- 01/3600 01/3605 01/3606 01/3631 01/3693 FWAM 000114 01/0066 -- 01/1149 01/1361 01/1451 01/3000 GEN2 012012 01/5735 -- 01/5842 GENER 012006 01/5731 -- 01/5756 01/5817 01/5833 01/5849 GET 012261 01/5935 -- 01/5939 GETAD 012256 01/5932 -- 01/5917 01/5925 01/5934 01/5942 01/5943 GETCA 000276 01/0181 -- unreferenced GETCR 001662 01/1041 -- 01/0181 01/0445 01/0456 01/0502 01/0535 01/0543 01/0548 01/0558 01/0598 01/1044 01/1053 01/1054 01/1055 01/1205 01/1562 01/1601 01/1613 01/1668 01/1723 01/1728 01/1856 01/1870 01/1891 01/2060 01/2147 01/2183 01/2189 01/2227 01/2234 01/2398 01/2462 01/2486 01/2509 01/2515 01/2641 01/6414 GETDG 010325 01/4862 -- 01/4770 01/4788 01/4881 GETPF 003635 01/2233 -- 01/1633 01/2240 GOSUB 003744 01/2304 -- unreferenced GOTO 003731 01/2296 -- unreferenced GOTOS 002432 01/1519 -- 01/1794 01/1798 GTE 004030 01/2336 -- unreferenced GTR 002274 01/1399 -- unreferenced GTRCD 002052 01/1193 -- unreferenced GTREQ 002322 01/1421 -- unreferenced HALF 000534 01/0340 -- 01/0342 01/5251 01/5342 01/5416 HIMSK 000476 01/0309 -- 01/4866 HONE 000534 01/0342 -- 01/3664 01/4108 01/4124 01/4218 01/5857 01/5903 01/6228 HSTPT 000137 01/0085 -- 01/0938 01/0947 01/0948 01/0958 01/0967 01/1007 01/3295 01/3317 01/3352 01/3361 01/3363 01/3385 01/3386 01/3389 01/3399 01/3471 01/3478 01/3516 01/3597 01/3641 01/3642 01/3685 01/3695 01/3723 01/3725 01/3756 01/3762 01/3916 01/3917 01/3969 01/3980 01/4009 01/4011 01/4026 01/4036 01/4045 01/4049 01/4078 01/6081 I.STP 000110 01/0058 -- unreferenced IDIV 007557 01/4479 -- 01/4440 01/4444 01/4450 01/4514 01/4516 IDIV1 007604 01/4500 -- 01/4494 IDIV2 007606 01/4502 -- 01/4509 IDN 004110 01/2370 -- unreferenced IENTA 006616 01/3896 -- 01/3872 IF 003734 01/2298 -- unreferenced IFIX 001432 01/0858 -- 01/0198 01/0847 01/0869 01/0880 01/0881 01/1130 01/1139 01/4082 01/4666 01/5197 01/5444 IFIX1 001452 01/0874 -- 01/0879 IFIX2 001456 01/0878 -- 01/0873 01/0888 IFIX3 001462 01/0882 -- 01/0863 IFIXA 000317 01/0198 -- unreferenced IFS 002424 01/1509 -- 01/1795 IMOFF 000106 01/0056 -- 01/1193 01/1299 01/1313 IMON 000105 01/0055 -- 01/1215 01/1263 01/1277 INCB2 013147 01/6389 -- 01/5813 INCHK 000266 01/0173 -- 01/1338 01/2645 INF 000471 01/0304 -- 01/0665 01/4159 01/5355 INPUT 003774 01/2318 -- unreferenced INT 004071 01/2360 -- unreferenced INTC1 004252 01/2474 -- 01/2488 INTC2 004271 01/2489 -- 01/2475 INTCK 004247 01/2471 -- 01/0173 01/2464 01/2493 01/2500 01/2501 01/2873 INTE 011255 01/5346 -- 01/5294 01/5298 01/5343 INTGR 004454 01/2877 -- 01/2473 01/2477 01/2480 01/2485 01/2489 01/2495 01/2498 INV 004113 01/2372 -- unreferenced INVSC 002134 01/1251 -- 01/4577 IPWR 007066 01/4104 -- 01/4103 IPWR1 007076 01/4112 -- 01/4144 IPWR2 007102 01/4116 -- 01/4137 IPWR3 007117 01/4129 -- 01/4114 IPWR4 007130 01/4138 -- 01/4117 IPWR5 007112 01/4124 -- 01/4120 K1 010460 01/4960 -- 01/4909 01/4923 01/4938 01/4948 01/4949 01/4987 01/4988 01/4998 01/5051 01/5064 01/5080 K2 010470 01/4964 -- 01/4927 01/4928 01/4936 01/4996 01/5067 01/5068 01/5376 KEYIN 002047 01/1187 -- 01/1180 01/1226 L2E 011303 01/5364 -- 01/5289 LBASE 011661 01/5628 -- 01/5627 LBRAC 002306 01/1409 -- 01/2019 01/2211 01/6396 LCHK1 012057 01/5778 -- 01/5776 01/5785 01/5816 01/5988 LCHK2 012053 01/5774 -- 01/0204 01/5775 01/5841 01/5950 01/6064 LCHK4 012067 01/5786 -- 01/5781 01/5784 01/5803 LCHK5 012106 01/5801 -- 01/4634 01/5798 LCHK6 012075 01/5792 -- 01/5802 LCK2A 000325 01/0204 -- 01/5522 LCON 012153 01/5856 -- 01/5633 01/5874 01/5880 LCON1 012156 01/5859 -- 01/5883 LCON2 012167 01/5868 -- 01/5873 LDUM1 012712 01/6226 -- 01/4635 LDVSR 005032 01/2865 -- 01/2789 LDZRO 000201 01/0360 -- 01/2792 01/2806 01/2809 LE2 011137 01/5262 -- 01/5255 LERR 012043 01/5763 -- 01/4633 01/5895 01/5996 LET 003712 01/2286 -- 01/0226 LETCA 000300 01/0183 -- unreferenced LETCK 001651 01/1029 -- 01/0183 01/1033 01/1036 01/1037 01/1241 01/1648 01/1700 01/1826 01/1858 01/2185 LETS 002325 01/1427 -- 01/1789 LF 000456 01/0293 -- 01/0155 01/2057 01/5676 01/6411 LFEED 000245 01/0155 -- 01/1173 LFLAG 000172 01/0357 -- 01/2705 01/2716 01/2723 LIDN 012204 01/5887 -- 01/5634 01/5912 01/6088 LIDN1 012224 01/5903 -- 01/5911 LIN10 012530 01/6112 -- 01/6107 LIN11 012510 01/6096 -- 01/6113 LIN12 012741 01/6249 -- 01/6239 LIN13 012746 01/6254 -- 01/6267 LIN14 012760 01/6264 -- 01/6259 LIN15 013041 01/6313 -- 01/6295 LIN17 013070 01/6336 -- 01/6325 LIN18 013046 01/6318 -- 01/6339 LINV 012447 01/6063 -- 01/5635 01/6126 LINV1 012543 01/6123 -- 01/6273 LINV2 012557 01/6135 -- 01/6159 LINV3 012634 01/6180 -- 01/6213 LINV4 012766 01/6270 -- 01/6275 01/6340 LINV5 013014 01/6292 -- 01/6312 LINV6 012724 01/6236 -- 01/6248 LINV7 012577 01/6151 -- 01/6144 LINV8 012610 01/6160 -- 01/6154 LIS10 004647 01/2750 -- 01/2737 LIS11 004663 01/2762 -- 01/2751 LIS12 004670 01/2767 -- 01/2691 LIS13 004701 01/2776 -- 01/2659 LIS14 004707 01/2782 -- 01/2699 LIST 004470 01/2639 -- 01/0166 LIST0 004505 01/2652 -- 01/2642 LIST1 004512 01/2657 -- 01/2654 01/2680 LIST2 004536 01/2677 -- 01/2828 LIST3 004533 01/2674 -- 01/2709 01/2724 01/2729 01/2749 01/2761 01/2766 LIST4 004542 01/2681 -- 01/2676 LIST5 004566 01/2701 -- 01/2684 01/2775 01/2785 LIST6 004601 01/2712 -- 01/2754 LIST7 004606 01/2717 -- 01/2714 01/2734 LIST8 004623 01/2730 -- 01/2711 LIST9 004630 01/2735 -- 01/2707 LISTA 000257 01/0166 -- 01/1278 LMAP 011660 01/5627 -- 01/5624 LMIN 013145 01/6387 -- 01/5825 LNEXT 012312 01/5963 -- 01/5978 LNGT1 000210 01/2978 -- 01/2899 01/2914 LNGT2 000211 01/2979 -- 01/2929 01/2945 01/2946 01/2952 01/2953 LNGTH 000215 01/2872 -- 01/2381 01/2414 LNUM 000206 01/2976 -- 01/2891 01/2901 01/2903 01/2918 01/2959 01/2973 LNUM. 000207 01/2977 -- 01/2911 01/2919 01/2955 01/2972 LNZR 011132 01/5258 -- 01/4642 LOG 004060 01/2354 -- unreferenced LOGER 011060 01/5216 -- 01/4638 LOOP 012021 01/5742 -- 01/5755 LOOP2 005074 01/2926 -- 01/2947 01/2969 LOPC 011330 01/5389 -- 01/5410 LPARN 002310 01/1411 -- unreferenced LPCK 003612 01/2208 -- 01/1482 01/1730 01/1739 01/1872 01/2215 01/2237 LPIV 013142 01/6384 -- 01/5741 01/5754 01/5865 01/5872 01/5957 01/5976 01/6121 01/6123 01/6124 01/6127 01/6128 01/6160 01/6168 01/6214 01/6215 01/6234 01/6274 01/6281 01/6288 LPLUS 013143 01/6385 -- 01/5809 01/5811 LSS 002276 01/1401 -- unreferenced LSSEQ 002324 01/1423 -- unreferenced LSTAK 000134 01/0082 -- 01/0991 01/0994 01/0998 01/3475 01/3736 01/3743 LSTPT 000136 01/0084 -- 01/0936 01/0937 01/0940 01/0949 01/0999 01/1003 01/3320 01/3327 01/3357 01/3359 01/3362 01/3364 01/3369 01/3371 01/3373 01/3403 01/3405 01/3406 01/3410 01/3412 01/3413 01/3476 01/3645 01/3742 01/3745 01/3748 01/3978 01/3989 01/3996 01/3998 01/4000 01/4001 01/4004 01/4007 01/4012 01/4014 01/4025 01/4230 01/6076 LTE 004032 01/2338 -- unreferenced LTIME 013146 01/6388 -- 01/5850 LTR 003566 01/2182 -- 01/1468 01/1476 01/1646 01/1698 01/2120 01/2133 01/2186 01/2187 01/2192 LWAM 000115 01/0067 -- 01/2009 01/2628 LWHR 013075 01/6345 -- 01/6130 01/6162 01/6166 01/6216 01/6282 01/6354 LWHR2 013107 01/6355 -- 01/6170 01/6175 01/6278 01/6364 M1 000477 01/0310 -- 01/0435 01/0630 01/0850 01/0913 01/0975 01/0990 01/3084 01/3193 01/3265 01/3388 01/3747 01/3780 01/3860 01/3933 01/4013 01/4410 01/4887 01/4896 01/5143 01/5686 01/6347 01/6351 01/6357 01/6361 M10 000510 01/0319 -- 01/3735 01/4839 M1000 000531 01/0336 -- 01/4676 M11 000511 01/0320 -- 01/1837 M124 011271 01/5358 -- 01/5299 M15 000512 01/0321 -- 01/1094 01/3329 01/5439 M16 000513 01/0322 -- 01/0776 01/0864 01/2023 01/4487 M19 000514 01/0323 -- 01/1352 M1LOP 005416 01/3165 -- 01/3092 M2 000500 01/0311 -- 01/0662 01/0735 01/0765 01/0980 01/1187 01/1197 01/1493 01/1594 01/1656 01/1664 01/1828 01/1878 01/2017 01/2053 01/2066 01/2085 01/2209 01/2220 01/2951 01/3106 01/3198 01/3659 01/3701 01/4160 01/4358 01/4489 01/5356 01/6394 01/6407 M21 000515 01/0324 -- 01/2689 M25 000516 01/0325 -- 01/4285 01/4290 M256 000527 01/0334 -- 01/0624 01/0636 01/0898 01/1138 01/1720 01/2032 01/2041 01/5706 01/5998 M2LOP 005423 01/3170 -- 01/3176 01/3180 01/3211 M3 000501 01/0312 -- 01/1289 01/1759 01/2246 01/3063 01/3126 01/3372 M310 000530 01/0335 -- unreferenced M32 000517 01/0326 -- 01/2410 M3LOP 005454 01/3195 -- 01/3188 M4 000502 01/0313 -- 01/0505 01/2787 01/3052 01/3149 01/3178 01/4525 01/4556 M4LOP 005475 01/3212 -- 01/3171 01/3221 M5 000503 01/0314 -- 01/1708 01/1896 01/1967 01/2712 01/4789 M6 000504 01/0315 -- 01/1163 01/3640 01/5612 M7 000505 01/0316 -- 01/0338 01/4758 M72 000523 01/0330 -- 01/3876 01/3880 M73 000524 01/0331 -- 01/3846 M76 000525 01/0332 -- 01/1103 M8 000506 01/0317 -- 01/0867 01/0870 01/1428 01/3301 01/5649 01/5651 M9 000507 01/0318 -- 01/1248 01/1355 01/1928 01/1935 01/1949 01/2076 MANT1 000234 01/0134 -- 01/0474 01/0517 01/0584 01/0681 01/0693 01/0698 01/0704 01/0718 01/0725 01/0732 01/0748 01/0756 01/0758 01/4726 01/4877 MANT2 000235 01/0135 -- 01/0475 01/0513 01/0585 01/0682 01/0710 01/0715 01/0726 01/0738 01/0747 01/0753 01/4729 01/4878 MAT 004005 01/2322 -- 01/0167 MAT& 003017 01/1785 -- 01/1675 01/1725 MATA 000260 01/0167 -- unreferenced MATFN 000357 01/0230 -- 01/1707 MATIO 000354 01/0227 -- 01/1655 MATS 002604 01/1646 -- 01/1813 MATS0 002623 01/1661 -- 01/1671 MATS1 002640 01/1674 -- 01/1660 01/1683 MATS2 002652 01/1684 -- 01/1649 MATS3 002726 01/1728 -- 01/1722 MATS4 002740 01/1738 -- 01/1699 MATS5 002754 01/1750 -- 01/1701 MATS6 002775 01/1767 -- 01/1784 MATS7 003011 01/1779 -- 01/1766 MATSB 013150 01/6393 -- 01/1785 01/6397 01/6398 01/6416 MAXFX 000540 01/0346 -- 01/4705 MAXSN 000532 01/0337 -- 01/1339 01/1520 01/2646 MB 011143 01/5264 -- 01/5242 01/5243 MBIN1 000160 01/0145 -- 01/3233 01/3246 01/3255 01/3260 01/3263 MBIN2 000157 01/0146 -- 01/3236 01/3243 01/3245 MBOX1 000205 01/0144 -- 01/3048 01/3055 01/3061 01/3062 01/3066 01/3099 01/3105 01/3118 01/3119 01/3120 01/3133 01/3134 01/3136 01/3143 01/3146 01/3159 01/3184 01/3185 01/3190 01/3196 01/3197 01/3204 01/3256 MBUF 000240 01/0143 -- 01/3241 MBXL 000367 01/0238 -- 01/5851 MBY10 001230 01/0703 -- 01/0492 01/0581 01/0622 01/0643 01/0655 01/0673 01/0676 01/0706 01/0727 01/0766 01/0774 01/0786 01/4738 01/4863 MCBCK 003253 01/1955 -- 01/1829 01/1897 01/1959 MCBOP 000355 01/0228 -- 01/1957 MCKS 011761 01/5701 -- 01/5669 01/5678 01/5709 MCOU1 005000 01/2839 -- 01/2848 MCOU2 005012 01/2849 -- 01/2842 MCOU3 005020 01/2855 -- 01/2863 MCOUT 004777 01/2838 -- 01/2760 01/2770 01/2802 01/2811 01/2864 MDIM 001404 01/0830 -- 01/0842 01/2049 01/3144 01/3195 01/5568 01/5688 01/5691 01/5788 01/5862 01/6071 MER10 005440 01/3183 -- 01/4620 MER3 005273 01/3081 -- 01/3083 01/4615 MER4 005321 01/3103 -- 01/4613 MER5 005406 01/3156 -- 01/4619 MER6 005422 01/3169 -- 01/4614 MER7 005473 01/3210 -- 01/3201 01/4622 MER8 005521 01/3241 -- 01/3075 01/3247 01/4616 MER9 001420 01/0842 -- 01/4621 MFASE 005146 01/2996 -- 01/0161 MIND 000202 01/0361 -- 01/2795 01/2798 MINFX 000542 01/0347 -- 01/4711 MINUS 002264 01/1391 -- unreferenced MLBX1 000217 01/0125 -- 01/0238 01/1080 01/1119 01/1121 01/4682 01/4718 01/5492 01/5507 01/5641 01/5642 01/5689 01/5693 01/5859 01/5860 01/5866 01/5867 01/5897 01/5900 01/5909 01/5910 01/6118 01/6119 01/6223 MLO10 005170 01/3014 -- 01/3030 MLO12 005205 01/3027 -- 01/3019 MLO13 005211 01/3031 -- 01/3044 MLOP0 005377 01/3149 -- 01/3121 01/3142 MLOP1 005160 01/3006 -- 01/3089 MLOP2 005220 01/3038 -- 01/3026 01/3047 01/3071 01/3077 01/3086 01/3098 01/3108 01/3116 01/3151 01/3163 MLOP3 005253 01/3065 -- 01/3058 MLOP4 005270 01/3078 -- 01/3068 MLOP5 005301 01/3087 -- 01/3041 MLOP6 005310 01/3094 -- 01/3051 01/4618 MLOP7 005327 01/3109 -- 01/3054 MLOP8 005344 01/3122 -- 01/3112 01/3114 MLOP9 005402 01/3152 -- 01/3138 MM4 010677 01/5087 -- 01/5058 MNEG 000536 01/0343 -- 01/0345 01/0644 01/0647 01/0667 01/0969 01/0973 01/3059 01/3060 01/3215 01/3218 01/5258 01/5796 01/5799 MNPTR 000156 01/0148 -- 01/3011 01/3040 MOD1 012025 01/5746 -- 01/5810 01/5812 01/5836 01/5837 MOD2 012033 01/5752 -- 01/5814 01/5815 01/5839 01/5840 MONIT 000103 01/0053 -- 01/1181 01/3488 MP2 010574 01/5027 -- 01/5021 01/5022 MPTR 000155 01/0147 -- 01/3005 01/3006 01/3008 01/3009 01/3010 01/3012 01/3013 01/3021 01/3023 01/3027 01/3032 01/3037 01/3038 01/3039 01/3042 01/3094 01/3103 01/3122 01/3123 01/3124 01/3128 01/3129 01/3130 MPY 001317 01/0764 -- 01/0194 01/0675 01/0684 01/0694 01/0740 01/0749 01/0767 01/0792 01/0793 01/0838 01/3995 01/4384 01/4392 01/4401 01/4452 01/5738 01/5955 01/6348 01/6358 MPY1 001337 01/0780 -- 01/0784 MPY2 001352 01/0791 -- 01/0787 MPYA 000313 01/0194 -- unreferenced MSFLG 002315 01/1416 -- 01/1356 01/1429 01/1901 01/1929 01/1936 01/1950 01/1971 01/1989 01/2077 MSK0 000445 01/0284 -- 01/0641 01/0832 01/0836 01/0915 01/0925 01/2697 01/3321 01/3833 01/3983 01/3987 01/4870 01/4892 01/4982 01/5176 01/5436 01/5474 01/5513 01/5519 01/5765 01/5768 01/5990 01/5993 01/6002 MSK1 000450 01/0287 -- 01/1496 01/1696 01/1719 01/1734 01/1775 01/1780 01/2161 01/3031 01/3045 01/3309 01/3593 01/3681 01/5487 01/5498 01/5595 01/5615 01/5896 MSK3 000505 01/0338 -- 01/4534 MSK4 000470 01/0303 -- 01/0910 01/0930 MSYM 005550 01/3269 -- 01/3262 01/4617 MSYMT 005531 01/3254 -- 01/3115 01/3137 01/3259 01/3269 01/3270 MULT 012337 01/5987 -- 01/5631 01/6058 MULT2 012402 01/6022 -- 01/6045 MULT3 012374 01/6016 -- 01/6051 MULT4 012367 01/6011 -- 01/6057 MVTO1 000631 01/0430 -- 01/0438 MVTOH 000627 01/0428 -- 01/0431 01/0777 01/0783 01/1010 01/2576 01/3637 MWDNO 000217 01/0150 -- 01/3025 01/3070 N 000437 01/0278 -- 01/2732 N37 000410 01/2982 -- 01/2935 N40 000411 01/2983 -- 01/2937 N43 000414 01/2984 -- 01/2939 N60 000425 01/2981 -- unreferenced NEXT 003741 01/2302 -- 01/0231 NOEOF 000336 01/0213 -- 01/1439 01/1564 01/1727 01/1749 01/1771 01/2113 01/4610 NORM1 001206 01/0682 -- 01/0699 NORM2 001210 01/0684 -- 01/0688 01/0690 NORM3 001211 01/0685 -- 01/0679 NORML 001174 01/0672 -- 01/0500 01/0606 01/0683 01/0759 01/0775 01/0781 01/4879 NOT 004020 01/2330 -- 01/0236 NOTOP 002320 01/1419 -- unreferenced NS1 010031 01/4662 -- 01/4657 NS2 010034 01/4665 -- 01/4655 NUM10 001030 01/0563 -- 01/0549 01/0551 01/0559 NUM12 001034 01/0567 -- 01/0503 01/0534 NUM13 001051 01/0580 -- 01/0573 NUM14 001055 01/0584 -- 01/0571 01/0579 NUM15 001064 01/0591 -- 01/0587 NUMC1 000705 01/0480 -- 01/0504 NUMC2 000713 01/0486 -- 01/0482 NUMC3 000731 01/0500 -- 01/0485 01/0519 01/0524 NUMC4 000736 01/0505 -- 01/0495 NUMC5 000743 01/0510 -- 01/0527 NUMC6 000762 01/0525 -- 01/0511 NUMC7 000765 01/0528 -- 01/0487 NUMC8 001004 01/0543 -- 01/0538 NUMC9 001006 01/0545 -- 01/0541 NUMCA 000265 01/0172 -- unreferenced NUMCK 000672 01/0469 -- 01/0172 01/0458 01/0470 01/1925 NUMER 000775 01/0536 -- 01/0544 01/0546 01/0562 01/4579 NUMO1 010060 01/4685 -- 01/4669 01/4785 01/4822 NUMO2 010067 01/4692 -- 01/4673 NUMO3 010116 01/4721 -- 01/4670 01/4787 01/4824 NUMO5 010110 01/4715 -- 01/4707 NUMOA 000270 01/0175 -- 01/1076 01/2747 NUMOP 003645 01/2244 -- 01/1570 01/1927 01/2252 NUMOT 010014 01/4649 -- 01/0175 01/4651 NXSTM 005052 01/2898 -- 01/2920 01/2927 01/2971 NXTDT 000144 01/0090 -- 01/3461 01/3531 01/3560 01/3567 01/3568 01/3569 01/3570 01/3571 NXTS 002467 01/1554 -- 01/1797 NXTST 000141 01/0087 -- 01/3489 01/3583 01/3617 01/3674 01/3721 01/3732 01/3733 01/3746 ODD 011015 01/5175 -- 01/5142 OPCH1 001575 01/0976 -- 01/0971 OPCHK 001563 01/0966 -- 01/0956 01/0978 01/0982 01/3515 01/3967 01/4020 01/4047 OPDMK 000474 01/0307 -- 01/2702 01/3282 01/3797 OPMSK 000467 01/0302 -- 01/0814 01/1853 01/1867 01/2442 01/2682 01/2757 01/2840 01/2932 01/3095 01/3297 01/3503 01/3537 01/3542 01/3805 01/3839 01/5491 01/5529 01/5559 01/5675 OR 004026 01/2334 -- unreferenced OROP 002314 01/1415 -- unreferenced ORS 007235 01/4241 -- 01/4240 ORS1 007237 01/4243 -- 01/4252 OUT11 004722 01/2793 -- 01/2814 OUT12 004741 01/2808 -- 01/2805 OUT13 004744 01/2811 -- 01/2807 OUTCA 000275 01/0180 -- unreferenced OUTCR 001773 01/1129 -- 01/0180 01/0384 01/0386 01/0387 01/0389 01/0402 01/1079 01/1099 01/1143 01/2668 01/2700 01/2722 01/2728 01/2731 01/2733 01/2768 01/2782 01/2810 01/2816 01/2824 01/2836 01/2859 01/3783 01/3886 01/4688 01/4733 01/4772 01/4775 01/4781 01/4804 01/4809 01/4816 01/4821 01/4829 01/4836 01/4846 01/4848 01/4853 01/4856 OUTIA 000272 01/0177 -- 01/0400 01/0404 01/4690 OUTIN 004713 01/2786 -- 01/0177 01/2666 01/2765 01/2817 OUTLA 000274 01/0179 -- unreferenced OUTLN 001753 01/1110 -- 01/0179 01/1077 01/1105 01/1111 01/3848 01/3865 01/3892 01/5543 01/5544 OUTS1 004756 01/2821 -- 01/2773 01/2837 OUTSA 000273 01/0178 -- 01/3849 OUTST 004753 01/2818 -- 01/0178 01/2783 01/2819 OVCHK 004454 01/2622 -- 01/2562 01/2575 01/2633 01/2874 01/2877 OVFLW 001164 01/0661 -- 01/0656 01/0668 01/4474 OVRER 001161 01/0655 -- 01/4640 PACK1 001117 01/0621 -- 01/0618 PACK3 001154 01/0650 -- 01/0635 PACK4 001160 01/0654 -- 01/0638 01/0648 PACKA 000315 01/0196 -- unreferenced PASS3 005132 01/2963 -- 01/2909 PAST 010660 01/5073 -- 01/5066 PBPTR 000122 01/0072 -- 01/1151 01/1357 01/1363 01/1450 01/1463 01/2584 01/2609 01/2617 01/2623 01/2632 01/2658 01/2908 01/2926 01/2996 01/3079 01/3087 01/3166 01/3212 01/3548 PBUFF 000121 01/0071 -- 01/1150 01/1358 01/1362 01/1462 01/2583 01/2639 01/2892 01/2925 01/2997 01/3004 01/3460 01/3483 01/3493 PCHK 007137 01/4148 -- 01/4088 01/4104 01/4164 PCHK1 007154 01/4162 -- 01/4152 PDFBS 000351 01/0224 -- 01/3395 PDFNS 000356 01/0229 -- 01/1836 PDFT 011772 01/5713 -- 01/0224 PEXMA 000254 01/0163 -- 01/0416 01/2533 01/2534 01/2538 01/2572 PEXMK 002032 01/1169 -- 01/0163 PFLAG 002321 01/1420 -- 01/1367 01/1457 01/1497 01/1767 01/1772 01/2044 01/2156 01/2162 PGINT 000271 01/0176 -- 01/1519 01/2031 01/2040 PIBY2 010572 01/5026 -- 01/5012 01/5013 01/5045 PLIST 002144 01/1276 -- unreferenced PLUS 002262 01/1389 -- 01/1761 01/1903 POWER 007146 01/4155 -- 01/4626 PRADD 000140 01/0086 -- 01/3490 01/3581 01/3677 01/3753 01/3802 01/3906 01/5526 01/5550 01/5561 01/5606 01/5659 PRCS 005117 01/2951 -- 01/2936 01/2938 01/2940 PRERR 002160 01/1292 -- 01/4612 PRGI1 004244 01/2465 -- 01/2460 PRGIN 004231 01/2454 -- 01/0176 01/2459 01/2466 01/2467 01/2871 PRIN1 002523 01/1594 -- 01/1617 01/1642 PRIN2 002534 01/1603 -- 01/1597 PRIN3 002553 01/1618 -- 01/1606 PRIN4 002577 01/1638 -- 01/1630 PRIN5 002601 01/1640 -- 01/1637 PRINS 002527 01/1598 -- 01/1810 PRINT 003770 01/2316 -- unreferenced PRNIA 000320 01/0199 -- 01/1124 01/5495 PRNIN 006425 01/3769 -- 01/0199 01/3779 01/3784 01/3788 PTAPE 002147 01/1282 -- 01/0030 01/1171 01/1293 QMARK 000251 01/0159 -- 01/0156 QMRKA 000246 01/0156 -- 01/1233 QUOTE 002244 01/1375 -- 01/0220 01/1605 01/1610 R 000440 01/0279 -- 01/0385 R22 011135 01/5261 -- 01/5225 01/5231 RBOUT 002107 01/1223 -- 01/1198 RBRAC 002254 01/1383 -- unreferenced RCERR 010006 01/4639 -- 01/0219 RDOP 000465 01/0300 -- 01/1659 01/5493 01/5508 RDYA 000241 01/0152 -- 01/1164 RDYDA 000255 01/0164 -- 01/2649 01/2778 01/2781 01/2974 01/2998 01/3432 01/3433 01/3434 01/3435 RDYPT 002021 01/1157 -- 01/0164 01/1185 01/1290 01/1306 READ 003765 01/2314 -- 01/0227 READS 002507 01/1579 -- 01/1586 01/1809 01/1811 READY 000242 01/0153 -- 01/0152 RECER 000344 01/0219 -- 01/0414 REDI1 011740 01/5680 -- 01/5677 REDIM 011724 01/5668 -- 01/5564 01/5661 01/5696 REED 000113 01/0065 -- 01/1196 REM 003726 01/2294 -- unreferenced REMOP 000464 01/0299 -- 01/2771 REMS 002421 01/1503 -- 01/1793 RENUM 005037 01/2882 -- 01/1328 REPL1 012136 01/5836 -- 01/5852 REPLC 012131 01/5831 -- 01/5628 01/5832 01/6085 RETCR 010351 01/4885 -- 01/4794 01/4805 01/4850 01/4857 01/4894 01/4898 RND 004074 01/2362 -- unreferenced RPARN 002252 01/1381 -- 01/1880 01/2055 01/2222 01/6409 RPCK 003622 01/2219 -- 01/1488 01/1732 01/1741 01/1876 01/2229 01/2239 RPRCS 002060 01/1199 -- 01/1184 01/1294 RPWR 007047 01/4088 -- 01/4087 RSCHK 001604 01/0986 -- 01/0957 01/0993 01/1011 01/3367 01/4234 RSTOR 004000 01/2320 -- unreferenced RSYM 000146 01/0092 -- 01/1174 01/1188 01/5373 01/5379 01/5417 01/5418 RTLE 002062 01/1201 -- 01/4576 RTRN 003750 01/2306 -- unreferenced RUN 002140 01/1263 -- unreferenced RUNA 000252 01/0161 -- 01/1264 S 000441 01/0280 -- 01/1210 SA1 011026 01/5184 -- 01/5180 SA2 011030 01/5185 -- 01/5148 SB1 011032 01/5186 -- 01/5182 SB2 011034 01/5187 -- 01/5150 SBFIX 001421 01/0846 -- 01/0854 01/4024 01/5703 SBOX 011013 01/5173 -- 01/5144 01/5175 SBOXX 000204 01/0122 -- 01/0138 01/4924 01/4945 01/4983 01/5005 01/5193 01/5196 01/5202 SBPTR 000133 01/0081 -- 01/0592 01/0593 01/0594 01/0595 01/0596 01/0815 01/1239 01/1240 01/1340 01/1350 01/1484 01/1494 01/1510 01/1533 01/1542 01/1543 01/1544 01/1561 01/1588 01/1589 01/1600 01/1611 01/1612 01/1620 01/1627 01/1628 01/1631 01/1632 01/1635 01/1636 01/1650 01/1654 01/1672 01/1685 01/1702 01/1706 01/1715 01/1738 01/1751 01/1835 01/1851 01/1865 01/1883 01/1890 01/1898 01/1916 01/1917 01/1931 01/1933 01/1947 01/1948 01/1956 01/2027 01/2058 01/2059 01/2083 01/2084 01/2098 01/2099 01/2122 01/2159 01/2170 01/2201 01/2202 01/2203 01/2214 01/2225 01/2226 01/2236 01/2247 01/2386 01/2390 01/2392 01/2397 01/2430 01/2443 01/2455 01/2458 01/2461 01/2492 01/2499 01/2513 01/2514 01/2519 01/2521 01/2524 01/2544 01/2644 01/3918 01/6400 01/6412 01/6413 SBSC1 003367 01/2043 -- 01/2038 SBSC2 003401 01/2053 -- 01/2045 01/2094 01/2100 SBSC3 003424 01/2072 -- 01/2030 SBSCK 003334 01/2016 -- 01/2020 01/2021 01/2064 01/2072 01/2106 01/2176 SBUFA 000120 01/0070 -- 01/1238 01/1342 01/2531 01/2542 01/2546 01/2564 01/2661 01/2677 SCCNT 000454 01/0291 -- 01/4231 SCMMA 002256 01/1385 -- 01/2037 01/2093 SCRTH 002142 01/1268 -- unreferenced SETDP 006107 01/3524 -- 01/3466 01/3532 01/3563 01/3935 SEXU 000104 01/0054 -- 01/0375 01/0418 01/1158 01/1301 01/3482 01/3771 01/3818 01/3822 01/3867 01/3891 01/3894 01/3912 01/3923 01/5554 SFLAG 003461 01/2870 -- 01/1427 01/1431 01/1910 SGN 004077 01/2364 -- unreferenced SIGN 000147 01/0093 -- 01/0448 01/0455 01/0462 01/0586 01/1924 01/2739 01/4490 01/4501 01/4511 01/4663 01/4686 01/4731 SIN 004041 01/2344 -- 01/0229 SLENG 004454 01/2874 -- 01/2389 01/2400 01/2413 01/2420 01/2439 SLWST 001535 01/0935 -- 01/0941 01/3279 01/3333 01/3348 01/3350 01/3397 01/3734 01/4232 SMCLN 002250 01/1379 -- unreferenced SMEND 004247 01/2873 -- 01/2387 01/2405 01/2408 01/2411 01/2412 01/2432 SMULT 012145 01/5847 -- 01/5637 01/5848 SQR 004066 01/2358 -- unreferenced SQRER 010752 01/5139 -- 01/4637 SSOV 003322 01/2003 -- 01/1998 01/2012 01/2074 01/2080 SSYMA 000301 01/0184 -- 01/3056 01/3100 01/3257 01/3266 01/3289 01/3595 01/5501 01/5581 01/5598 01/5616 SSYMT 007625 01/4522 -- 01/0184 01/4547 01/4565 01/4570 START 000100 01/0050 -- unreferenced STBAS 000346 01/0221 -- 01/1370 STCMD 003657 01/2258 -- 01/0157 STDIM 005507 01/3222 -- 01/3189 STEMP 000211 01/0355 -- 01/4523 01/4528 01/4533 01/4540 01/4541 01/4542 01/4546 01/4548 01/4550 01/4564 01/4566 01/4567 STEP 004015 01/2328 -- 01/0235 STK1 000154 01/0098 -- 01/5455 01/5460 01/5590 01/5613 01/5623 01/5639 01/5650 STK10 000165 01/0107 -- 01/4759 01/4782 STK11 000166 01/0108 -- 01/4793 01/4807 01/4818 STK12 000167 01/0109 -- 01/1159 01/1207 01/1216 01/1218 01/1232 STK13 000170 01/0110 -- 01/1073 01/1084 STK14 000171 01/0111 -- 01/0627 01/0646 01/0649 01/0653 01/0657 STK15 000172 01/0112 -- 01/0357 01/0860 01/0872 01/0882 01/5201 STK16 000173 01/0113 -- 01/0370 01/0419 STK17 000174 01/0114 -- 01/0372 01/0420 STK18 000175 01/0115 -- 01/0398 01/0413 01/1276 01/2653 01/2777 STK19 000176 01/0116 -- 01/0368 01/0391 01/0423 STK2 000155 01/0099 -- 01/0147 01/1090 01/1093 01/1106 01/3594 01/3682 STK20 000177 01/0117 -- 01/0358 STK21 000200 01/0118 -- 01/0359 STK22 000201 01/0119 -- 01/0360 STK23 000202 01/0120 -- 01/0361 STK24 000203 01/0121 -- 01/4266 01/4313 STK3 000156 01/0100 -- 01/0148 01/3513 01/3520 STK4 000157 01/0101 -- 01/0146 01/0894 01/0896 01/0916 01/0918 01/1097 01/1100 01/1112 01/1125 01/3757 01/3759 01/3760 01/3761 01/3831 01/3836 01/3842 01/3844 01/3884 01/3887 01/3984 01/3992 01/4002 01/4267 01/4281 01/4282 01/4291 01/4294 01/4342 01/4372 01/4441 01/4453 01/4467 01/4761 01/4765 01/4778 STK5 000160 01/0102 -- 01/0145 01/2673 01/2675 01/2743 01/2744 01/2763 01/2826 01/3830 STK6 000161 01/0103 -- 01/0444 01/0446 01/0460 01/0461 01/0465 01/4324 01/4326 01/4333 01/4346 01/4388 01/4415 01/4422 01/4471 01/4475 STK7 000162 01/0104 -- 01/0471 01/0531 01/0600 01/0601 01/2820 01/2833 01/2835 01/4445 01/4455 01/4462 01/4871 01/4880 STK8 000163 01/0105 -- 01/2852 01/2862 01/4665 01/4703 01/4709 01/4727 STK9 000164 01/0106 -- 01/4652 01/4668 01/4671 01/4691 01/4849 01/4854 STOP 002163 01/1298 -- 01/0058 01/1211 STOPA 000247 01/0157 -- 01/1304 STP 003757 01/2310 -- unreferenced STROP 003601 01/2196 -- 01/1480 01/1689 01/1755 01/2126 01/2146 01/2152 01/2174 01/2204 STSR1 006123 01/3539 -- 01/3550 STSR2 006137 01/3551 -- 01/3544 STSRH 006120 01/3536 -- 01/3463 01/3549 01/3551 01/3552 01/3561 01/3678 STTOP 001553 01/0955 -- 01/0962 01/3380 01/3408 01/3970 01/4224 01/4256 STTYP 000353 01/0226 -- 01/1351 01/2769 SUB 012124 01/5822 -- 01/5630 01/5823 SYCMD 003656 01/2257 -- 01/0225 SYE10 002465 01/1549 -- 01/4589 SYE12 000671 01/0465 -- 01/0457 01/1569 01/4592 SYE13 002511 01/1581 -- 01/4593 SYE14 002543 01/1610 -- 01/4594 SYE15 002555 01/1620 -- 01/4595 SYE16 002606 01/1648 -- 01/4580 SYE17 002621 01/1659 -- 01/4596 SYE18 002632 01/1668 -- 01/1682 01/4597 SYE19 002705 01/1711 -- 01/4598 SYE20 002725 01/1727 -- 01/4599 SYE21 002737 01/1737 -- 01/4600 SYE22 002750 01/1746 -- 01/4601 SYE23 002771 01/1763 -- 01/4602 SYE24 003007 01/1777 -- 01/1783 01/4603 SYE25 004242 01/2463 -- 01/2484 01/2491 01/2497 01/4609 SYMC1 001363 01/0803 -- 01/0807 SYMC2 001373 01/0811 -- 01/0805 SYMCK 001355 01/0797 -- 01/0801 01/0802 01/0810 01/0818 01/0819 01/1490 01/1529 01/1572 01/1583 01/1595 01/1604 01/1665 01/1680 01/1692 01/1743 01/1760 01/1879 01/1902 01/1907 01/2018 01/2036 01/2054 01/2092 01/2111 01/2210 01/2221 01/6395 01/6403 01/6408 SYMT1 007645 01/4538 -- 01/4530 01/4532 SYMT2 007654 01/4545 -- 01/4563 SYMT3 007701 01/4566 -- 01/4549 01/4551 SYMT4 007674 01/4561 -- 01/4544 SYMTA 000117 01/0069 -- 01/3002 01/3170 01/4561 SYMTF 000132 01/0080 -- 01/3003 01/3074 01/3169 01/3207 01/3234 01/3235 01/3470 01/3599 01/4543 SYNE1 002223 01/1355 -- 01/4578 SYNE2 002333 01/1433 -- 01/4581 SYNE3 002346 01/1454 -- 01/0215 01/4582 SYNE4 002372 01/1477 -- 01/1469 01/1475 01/1857 01/1859 01/4583 SYNE5 002405 01/1488 -- 01/4584 SYNE6 002411 01/1492 -- 01/1531 01/1694 01/4585 SYNE7 002432 01/1515 -- 01/4586 SYNE8 002437 01/1527 -- 01/1556 01/4587 SYNE9 002452 01/1538 -- 01/4588 SYNT1 002234 01/1364 -- 01/1360 SYNTB 003020 01/1789 -- 01/0221 SYNTX 002205 01/1338 -- 01/1242 SZER 012176 01/5878 -- 01/5632 01/5879 01/5890 T1 013121 01/6368 -- 01/6131 01/6136 01/6157 01/6158 01/6163 01/6181 01/6186 01/6187 01/6188 01/6189 01/6217 01/6219 01/6226 01/6231 01/6290 T10 013132 01/6377 -- 01/6013 01/6050 01/6172 01/6249 01/6313 T11 013133 01/6378 -- 01/6017 01/6026 01/6039 01/6040 01/6176 01/6201 01/6208 01/6209 01/6210 01/6211 01/6235 01/6236 01/6237 01/6253 01/6266 01/6279 01/6331 01/6335 01/6336 01/6337 T12 013134 01/6379 -- 01/6018 01/6023 01/6035 01/6036 01/6043 01/6092 01/6105 01/6110 01/6114 01/6133 01/6142 01/6147 01/6179 01/6212 T13 013135 01/6380 -- 01/6069 01/6086 01/6089 01/6093 01/6111 01/6115 01/6134 01/6148 01/6289 01/6292 01/6293 01/6317 01/6338 T16 013136 01/6381 -- 01/6117 T18 013140 01/6382 -- 01/6024 01/6030 01/6102 01/6108 01/6139 01/6145 01/6182 01/6190 01/6198 01/6206 01/6232 01/6245 01/6261 01/6304 01/6309 01/6328 01/6333 T19 013141 01/6383 -- 01/6103 01/6109 01/6140 01/6146 01/6183 01/6191 01/6199 01/6207 01/6233 01/6305 01/6329 T2 013122 01/6369 -- 01/6074 01/6112 01/6129 01/6149 01/6151 01/6152 01/6167 01/6185 01/6192 01/6193 01/6194 01/6195 01/6227 01/6240 01/6241 01/6243 01/6247 01/6291 01/6298 01/6299 01/6303 T3 013123 01/6370 -- 01/5739 01/5766 01/5956 01/6008 01/6155 01/6177 01/6251 01/6315 01/6349 01/6359 T4 013124 01/6371 -- 01/5769 01/5958 01/5974 01/6041 01/6052 01/6122 01/6125 01/6153 01/6238 01/6272 01/6294 T5 013125 01/6372 -- 01/5960 01/5981 01/6007 01/6014 01/6150 01/6164 01/6173 01/6250 01/6255 01/6263 01/6264 01/6265 01/6314 01/6318 01/6319 01/6320 01/6321 T6 013126 01/6373 -- 01/5787 01/5792 01/5793 01/5794 01/5795 01/5962 01/5963 01/5973 01/5975 01/5991 01/5994 01/6011 01/6037 T7 013127 01/6374 -- 01/5791 01/5801 01/6286 01/6300 01/6327 01/6346 01/6350 01/6356 01/6360 T8 013130 01/6375 -- 01/6287 01/6301 T9 013131 01/6376 -- 01/5889 01/5901 01/6010 01/6056 01/6171 01/6197 01/6202 01/6203 01/6204 01/6205 01/6283 01/6296 01/6297 01/6307 01/6311 TAB 004036 01/2342 -- 01/0237 TABCN 000473 01/0306 -- 01/1625 TABLE 004231 01/2871 -- 01/2380 01/2416 TAN 004047 01/2348 -- unreferenced TAPE 002174 01/1310 -- unreferenced TAPE! 000111 01/0063 -- 01/1182 TBLAD 000352 01/0225 -- 01/1247 TBLPT 004411 01/2875 -- 01/2417 01/2418 01/2424 01/2428 01/2441 TBSRH 004121 01/2379 -- 01/0169 01/2444 01/2445 01/2450 TEMP 000206 01/0349 -- 01/1344 01/1599 01/1616 01/1618 01/1697 01/1735 01/1776 01/1782 01/2545 01/2553 01/2558 01/2561 01/2571 01/2574 TEMP1 000207 01/0350 -- 01/1470 01/1478 01/1651 01/1687 01/1703 01/1753 01/1830 01/1863 01/1868 01/1965 01/1981 01/2034 01/2048 01/2124 01/2143 01/2145 01/2150 01/2172 01/2188 01/3636 01/3638 01/3643 01/3648 01/3651 01/3652 01/3655 01/3656 01/3657 01/3658 01/3670 01/3671 01/3672 01/3673 01/3675 01/3700 01/3703 01/3704 01/3705 01/3706 01/3720 TEMP2 000210 01/0351 -- 01/0429 01/1001 01/1472 01/1481 01/1684 01/1690 01/1750 01/1756 01/1832 01/1912 01/2046 01/2052 01/2127 01/2153 01/2154 01/2164 01/2191 01/2506 01/2511 01/2517 01/2565 01/2566 01/2568 01/2624 01/2685 01/2758 01/2772 01/2841 01/3633 TEMP3 000211 01/0352 -- 01/0430 01/0477 01/0501 01/0530 01/0547 01/0552 01/0554 01/0557 01/0563 01/0996 01/2383 01/2446 01/2567 01/2569 01/2582 01/2588 01/2599 01/2605 01/2608 01/2703 01/2717 01/2725 01/2755 01/2854 01/2855 01/2861 01/3598 TEMP4 000212 01/0353 -- 01/0433 01/0434 01/0437 01/0491 01/0498 01/0507 01/0508 01/0510 01/0529 01/0542 01/0564 01/1005 01/2245 01/2251 01/2385 01/2448 01/2606 01/2612 01/2613 01/2616 01/2626 01/2631 01/3538 01/3543 01/3635 TEMPS 000205 01/0124 -- 01/0125 01/0141 01/0142 01/0143 01/0144 01/0149 01/0150 01/0349 01/0350 01/0351 01/0352 01/0353 01/0354 01/0355 01/1364 01/1454 01/1461 01/1820 01/1886 01/1889 01/1913 01/1934 01/1966 01/1968 01/1987 01/2007 01/2050 01/2051 01/2067 01/2068 01/2073 01/2079 01/2086 01/2087 01/2640 01/2651 01/2657 01/2665 01/2669 01/2670 01/2674 01/2681 01/2701 01/2738 01/2740 01/2741 01/2742 01/2762 01/2764 01/2821 01/2825 01/2829 01/2872 01/2976 01/2977 01/2978 01/2979 01/2980 01/3280 01/3281 01/3283 01/3296 01/3310 01/3313 01/3323 01/3328 01/3332 01/3340 01/3342 01/3343 01/3344 01/3346 01/3349 01/3354 01/3355 01/3356 01/3358 01/3360 01/3365 01/3370 01/3379 01/3391 01/3401 01/3402 01/3585 01/3592 01/3625 01/3626 01/3650 01/3661 01/3763 01/3796 01/3800 01/3801 01/3804 01/3813 01/3814 01/3904 01/4031 01/4034 01/4037 01/4038 01/4040 01/4041 01/4044 01/4048 01/5485 01/5486 01/5490 01/5497 01/5504 01/5525 01/5528 01/5549 01/5558 01/5560 01/5591 01/5592 01/5605 01/5608 01/5614 01/5643 01/5644 01/5654 01/5655 01/5656 01/5658 01/5673 01/5674 01/5679 01/5680 TENTH 000466 01/0301 -- 01/0741 01/0750 TFLAG 000127 01/0077 -- 01/1160 01/1169 01/1282 01/1311 THEN 004010 01/2324 -- 01/0233 TIMES 002266 01/1393 -- 01/1744 01/1765 TINY 012273 01/5945 -- 01/5933 01/5936 01/5941 TO 004013 01/2326 -- 01/0234 TOPI 010675 01/5086 -- 01/5047 TRAN 012274 01/5949 -- 01/5636 01/5983 TRAN1 012310 01/5961 -- 01/5982 TRGER 010401 01/4914 -- 01/4636 01/5055 TRN 004116 01/2374 -- unreferenced TRUE 007217 01/4218 -- 01/4163 01/4179 01/4188 01/4196 01/4203 01/4211 01/4235 01/4242 01/4259 TSPTR 004435 01/2876 -- 01/2429 01/2435 01/2436 TSR10 004163 01/2413 -- 01/2394 01/2409 TSRC1 004144 01/2398 -- 01/2427 TSRC2 004160 01/2410 -- 01/2404 TSRC3 004167 01/2417 -- 01/2426 TSRC4 004174 01/2422 -- 01/2440 TSRC5 004202 01/2428 -- 01/2421 TSRC6 004206 01/2432 -- 01/2438 TSRC7 004211 01/2435 -- 01/2431 TSRC8 004217 01/2441 -- 01/2433 TSRC9 004224 01/2446 -- 01/2399 01/2402 TSRCH 000262 01/0169 -- 01/1249 01/1353 01/1513 01/1536 01/1547 01/1623 01/1657 01/1709 01/1838 01/1848 01/1958 TSTPT 000135 01/0083 -- 01/0976 01/0979 01/0981 01/0987 01/0989 01/3315 01/3316 01/3347 01/3366 01/3376 01/3381 01/3382 01/3473 TT1 000221 01/0139 -- 01/4098 01/4118 TT2 000223 01/0140 -- 01/4101 01/4112 01/4115 01/4129 01/4136 TT3 000211 01/0141 -- 01/4109 01/4121 01/4127 01/4133 01/4134 TT4 000212 01/0142 -- 01/4111 01/4122 01/4135 TTYFL 000130 01/0078 -- 01/0376 01/1161 01/1178 01/1245 01/1312 TYPE 000142 01/0088 -- 01/1113 01/1123 01/3017 01/3065 01/3090 01/3110 01/3139 01/3156 01/3450 01/3775 01/3853 01/3857 01/3921 TYPFL 000472 01/0305 -- 01/2704 UFLAG 002323 01/1422 -- 01/1822 01/1844 01/1895 01/1938 01/1974 01/1992 UNDER 001155 01/0651 -- 01/4641 UNEQL 002300 01/1403 -- unreferenced UNMIN 002304 01/1407 -- unreferenced UNMNC 000460 01/0295 -- 01/1940 UNNRM 000475 01/0308 -- 01/0905 01/0908 UNPAK 007367 01/4350 -- 01/4322 01/4331 01/4357 01/4373 01/4378 01/4420 UPLUS 002312 01/1413 -- unreferenced USN 000063 01/0032 -- unreferenced UTEMP 010466 01/4963 -- 01/4991 01/4992 01/4994 01/5002 01/5226 01/5227 01/5233 01/5234 01/5235 01/5237 01/5249 01/5313 01/5314 01/5328 VARO1 003531 01/2150 -- 01/2142 VARO2 003535 01/2154 -- 01/2149 VARO3 003547 01/2164 -- 01/2169 VARO4 003551 01/2166 -- 01/2163 VARO5 003555 01/2170 -- 01/2137 01/2139 VAROP 003507 01/2132 -- 01/1485 01/1525 01/1554 01/1579 01/1823 01/1980 01/1997 01/2134 01/2135 01/2140 01/2157 01/2165 01/2178 WRITE 000112 01/0064 -- 01/0378 01/0411 01/1118 01/1162 01/1165 01/1189 01/1213 01/1225 01/1246 01/1302 01/1305 01/2656 01/2679 01/2780 01/3863 X2TMP 011366 01/5422 -- 01/5351 01/5377 01/5378 01/5403 01/5434 01/5443 01/5469 01/5471 01/5476 01/5477 XEC 006016 01/3449 -- 01/0162 XEC2 006035 01/3470 -- 01/3464 XEC4 006054 01/3488 -- 01/0205 01/3422 01/3423 01/3424 01/3425 01/3436 01/3611 01/3618 01/3624 01/3694 01/3722 01/3726 01/3738 01/3749 01/3754 01/3868 01/3924 01/3934 01/3936 XEC4. 006055 01/3489 -- 01/0057 XEC4A 000326 01/0205 -- 01/5555 01/5626 XEC5 006065 01/3497 -- 01/3484 01/4627 XEC6 006066 01/3498 -- 01/3492 XECBR 000347 01/0222 -- 01/3506 XECTB 005771 01/3421 -- 01/0222 XECUT 000107 01/0057 -- unreferenced XH 000151 01/0095 -- 01/3451 01/5109 01/5111 01/5126 XL 000152 01/0096 -- 01/3453 01/5112 01/5115 01/5119 01/5127 XTEMP 010462 01/4961 -- 01/4906 01/4907 01/4919 01/4920 01/4921 01/4930 01/4953 01/4954 01/4979 01/4980 01/4990 01/5009 01/5015 01/5016 01/5048 01/5049 01/5060 01/5061 01/5062 01/5070 01/5071 01/5072 01/5073 01/5074 01/5076 01/5084 01/5139 01/5145 01/5146 01/5154 01/5155 01/5164 01/5165 01/5177 01/5178 01/5216 01/5218 01/5222 01/5223 01/5228 01/5229 01/5240 01/5241 01/5245 01/5290 01/5291 01/5305 01/5306 01/5309 01/5310 01/5312 01/5332 01/5337 01/5338 YTEMP 010464 01/4962 -- 01/4931 01/4932 01/4934 01/4942 01/4943 01/4944 01/4951 01/4956 01/4957 01/5003 01/5004 01/5018 01/5019 01/5024 01/5151 01/5152 01/5157 01/5159 01/5162 01/5163 01/5167 01/5169 01/5170 01/5171 01/5220 01/5221 01/5253 01/5296 01/5297 01/5308 01/5317 01/5318 01/5322 01/5323 01/5324 01/5334 01/5335 01/5336 01/5340 ZER 004102 01/2366 -- 01/0230 ZERE 011257 01/5348 -- 01/5304 01/5353 ZRTNG 007151 01/4159 -- 01/4645 1048 symbols 87 unreferenced 6420 lines assembled, 5581 words generated 0 errors, 0 warnings