1 /FOCL12.37 2 /COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 01754 3 PMODE /******** 4 FIXMRI FPOW=5000/PSEUDO-FLOATING POINT INSTRUCTIONS. 5 FIXMRI FADD=1000 6 FIXMRI FSUB=2000 7 FIXMRI FMUL=4000 8 FIXMRI FDIV=3000 9 FIXMRI FGET=0000 10 FIXMRI FPUT=6000 11 FNOR=7000 12 FEXT=0 13 FXIT=0 14 FINT=JMS I 7 15 SMP=6101 16 /MISCELLANEOUS ITEMS 17 *1 18 000001 5403 JMP I .+2 /INTERRUPT PROCESSOR ENTRY 19 000002 0000 LWETMP, 0 /******** 20 000003 2603 INTRPT 21 000004 0004 DDTJR, DDTJR /USED FOR DEBUGGING 22 000005 0013 P13, 13 /CONSTANT 23 000006 0100 C100, 100 /CONSTANT 24 T=00 /TEXT FIELD NO. 25 P=00 /DATA FIELD NO. 26 CDF=7000 /(X-MEM) - OPR 27 000007 6400 FPNT /ADDRESS OF FLOATING POINT INTERPRETER. (LOC *7) 28 /AUTO-INDEX REGISTERS - (START OF SAVE BY QUAD) 29 000010 0000 AXIN, 0 /STORAGE INDEX (LOC *10) 30 000011 0000 XRT, 0 /EXTRA XR 31 000012 0000 XRT2, 0 /EXTRA XR 32 000013 3600 PDLXR, BEGIN-1 /PUSHDOWN LIST INDEX REGISTER. 33 000014 3117 FLTXR, IOBUF-1 /XR FOR FLOATING POINT 34 000015 0000 FLTXR2, 0 /EXTRA FOR F.P. 35 000016 7402 TELSW, HLT /TELETYPE IN PROGRESS LOSS 36 TEXTP=. /TEXT POINTER (LOC *17) 37 000017 3214 AXOUT, FRSTX /OUTPUT INDEX 38 000020 0000 XCT, 0 /UNPACK SWITCH 39 000021 0000 GTEM, 0 /UNPACK STORAGE 40 000022 2407 PC, FLTZER /PROGRAM COUNTER 41 000023 0000 THISLN, 0 /LINE POINTER FROM FINDLN 42 000024 0000 THISOP, 0 /CURRENT 'EVAL' OPERATION 43 000025 0000 LASTLN, 0 /BACK POINTER FROM 'FINDLN' 44 000026 0001 DEBGSW, 1 /DEBUG SWITCH: NON-ZERO FOR LITERAL. 45 000027 0000 PACKST, 0 /RUBOUT PROTECTION 46 000030 0000 PT1, 0 /VARIABLE POINTER 47 000031 3216 LASTV, BUFBEG /ADDRESS OF LAST VARIABLE 48 000032 0000 T1, 0 /TEMPORARY REGISTER - MAIN 49 000033 0000 T3, 0 /TEMP REGISTER FOR OUTPUT 50 000034 0000 INBUF, 0 /KEYBOARD INPUT BUFFER 51 000035 4617 BOTTOM, FEXP-1 /******** LAST LOCATION CURRENTLY AVAILABLE 52 000036 0000 INSUB, 0 /0 = GETC; #0 = READC 53 000037 0000 HINBUF, 0 /HIGH SPEED INPUT BUFFER 54 /PAGE ZERO OF THE 55 /FLOATING POINT ARITHMETIC INTERPRETER FOR FOCAL 56 *40 57 000040 0000 EX1, 0 /OPERAND STORAGE 58 000041 0000 AC1H, 0 59 000042 0000 AC1L, 0 60 000043 0000 OVER1, 0 61 FLAC=. /FLOATING ACCUMULATOR 62 000044 0000 EXP, 0 /F.A. 63 000045 0000 HORD, 0 64 000046 0000 LORD, 0 65 000047 0000 OVER2, 0 66 000050 0000 SIGNF, 0 /FLOATING SIGN 67 000051 6605 MINSKI, ACMINS /NEGATE FLAC SUBROUTINE 68 000052 2004 FISW, 2004 /OUTPUT FORMAT 69 000053 6724 INTEGER,FIX /FIX FLAC 70 GETSGN=TAD FLAC+1 71 RETURN=JMP I EFUN3I 72 *54 73 /VARIABLES - INITIALIZED FOR THE DIALOGUE 74 000054 0000 SORTCN, 0 /NUMBER IN TABLE FROM SORTC 75 000055 0000 LASTOP, 0 /LAST OPERATION FOR EVAL 76 EFOP=. /FUNCTION CODE 77 000056 0000 ATSW, 0 /ASK-TYPE SWITCH 78 000057 7760 CNTR, -20 /DELETE AND ERROR COUNTER (USED BY F.P. ALSO) 79 STARTV=. /=END FOR 8K 80 000060 3216 BUFR, BUFBEG /NEXT LOCATION IN BUFFER = LAST LOCATION OF TEXT. 81 000061 0000 QADD, 0 /******** 82 000062 2414 XCTIN, I33 /PACK SWITCH 83 000063 2676 OUTDEV, XOUTL /POINTER TO OUT. SUB. (OUTL)-FOR DEBUGGING 84 000064 2666 INDEV, XI33 /POINTER TO IN. SUB. (I33)-FOR DEBUGGING 85 000065 0001 NAGSW, 0001 /NOT ALL AND/OR GROUP LOSS(4000=ONE;1=ALL;0=GROUP);(0000)-FOR TSS-8 86 000066 0215 CHAR, 215 /THE MOST IMPORTANT REGISTER 87 000067 0000 LINENO, 0000 /LINE NUMBER READ BY GETLN;(0400)-FOR TSS-8 88 000070 0005 GINC, WORDS+2 /=6 FOR 4-WORD - CONSTANT 89 000071 0000 T2, 0 /TEMP REGISTER - FOR NEW INST. ROUTINES 90 /FOR DEBUGGING, SET OUTL AND I33 TO OUTDEV AND INDEV; 91 /ALSO PATCH THE ERROR ROUTINE - FOUR 92 /PATCHES PLUS TWO FOR THE HIGH SPEED READER. 93 LIST6=. /INPUT LIST FOR "SFOUND". 94 000072 0214 214 /F.F. 95 000073 0207 207 /BELL 96 LIST7=. 97 000074 0203 203 /CONTROL-C FOR DEBUGGING AND TSS-8 98 000075 0337 P337, 337 /LEFT ARR 99 000076 0212 CLF, 212 /L.F. 100 LIST3=. /EXCRETION LIST 101 000077 0215 CCR, 215 /LIST BRANCHER. 102 000100 7402 DMPSW, HLT /(SEARCH CHARACTER) - VARIABLE 103 /=0000 FOR TRACE ON 104 /THE REST OF PAGE ZERO IS PURE TO THE MULTI-USER SYSTEM 105 M100=. 106 000101 7700 P7700, 7700 /LEFT MASK 107 000102 0256 PER, 256 /PERIOD 108 000103 7701 M77, -77 /EXTEND CODE TEST 109 000104 7600 P7600, 7600 /GROUP MASK 110 000105 7760 M20, -20 /CONSTANT 111 000106 0177 P177, 177 /STEP MASK 112 000107 0017 P17, 17 /BCD MASK 113 000110 0277 P277, 277 /"?" 114 000111 7776 M2, -2 /CONSTANT 115 000112 7477 MINUSA, -301 /CONSTANT 116 000113 0260 C260, 260 /ASCII FOR ZERO 117 000114 7540 M240, -240 /SPACE TEST 118 000115 7522 MPER, -256 /PERIOD TEST 119 000116 7563 MCR, -215 /C.R. TEST 120 000117 7775 MFLT, -WORDS /= -4 FOR 4-WORD 121 000120 7773 M5, -5 /PAREN TEST 122 000121 7767 M11, -11 /PAREN TEST 123 000122 0077 P77, 77 /RIGHT MASK 124 000123 0200 C200, 200 /CONSTANT 125 000124 4000 P4000, 4000 /NAGSW TEST CONSTANT (FOR PDP-5) 126 000125 2032 FLARGP, FLARG /DATA ADDRESS 127 000126 2157 PTCH, CHIN /GENERAL CHARACTER INPUT ROUTINE. 128 000127 5715 DOUBLE, MULT2 /MULTIPLY FLAC BY 2 129 000130 6000 FOUTPUT,FLOUTP /FLOATING OUTPUT 130 000131 6200 FINPUT, FLINTP /FLOATING INPUT 131 000132 3140 COMBUF, COMEIN /COMMAND BUFFER START 132 000133 3206 CFRS, FRST /ADDRESS OF DUMMY LINE 133 000134 3140 END, COMEIN /FIRST LOCATION USED IN 8K. 134 000135 3216 ENDT, BUFBEG /START OF STORAGE AREA ** 135 000136 2021 EFUN3I, EFUN3 /FUNCTION RETURN 136 000137 2407 CFRSX, FLTZER /POINTER TO ZERO DATA 137 138 139 /'FINPUT' USES CHAR AND GETC OR READC TO DEVELOP 140 /A NUMBER WHICH IS THEN STORED VIA PT1. 141 WORDS=3 /OR 4 142 /NEW INSTRUCTIONS: 143 PUSHJ=JMS I . /RECURSIVE SUBROUTINE CALL 144 000140 0521 XPUSHJ 145 POPA=TAD I PDLXR /RESTORE AC 146 POPJ=JMP I . /SUBROUTINE ERETURN 147 000141 1565 XPOPJ 148 PUSHA=JMS I . /SAVE AC 149 000142 0477 XPUSHA 150 PUSHF=JMS I . /SAVE GROUP OF DATA 151 000143 0534 PD2 152 POPF=JMS I . /SAVE GROUP 153 000144 0554 PD3 154 GETC=JMS I . /UNPACK A CHARACTER 155 000145 2274 UTRA 156 PACKC=JMS I . /PACK A CHARACTER 157 000146 2502 PACBUF 158 SORTJ=JMS I . /SORT AND BRANCH ON AC OR CHAR 159 000147 1312 SORTB 160 SORTC=JMS I . /SORT CHAR 161 000150 0721 XSORTC 162 PRINTC=JMS I . /PRINT AC OR CHAR 163 000151 2465 OUT 164 READC=JMS I . /READ DATA INTO CHAR AND PRINT IT 165 000152 2157 RDIV, CHIN 166 PRNTLN=JMS I . /PRINT C(LINENO) 167 000153 2425 XPRNT 168 GETLN=JMS I . /UNPACK AND FORM A LINE NUMBER 169 000154 0302 XGETLN 170 FINDLN=JMS I . /SEARCH FOR A GIVEN LINE 171 000155 2244 XFIND 172 ENDLN=JMS I . /INSERT LINE POINTERS 173 000156 2360 XENDLN 174 RTL6=JMS I . /ROTATE LEFT SIX 175 000157 0413 XRTL6 176 SPNOR=JMS I . /IGNORE SPACES AND LEADING ZEROS 177 000160 1535 XSPNOR 178 TESTN=JMS I . /PERIOD; OTHER; NUMBER 179 000161 1546 XTESTN 180 TSTLPR=JMS I . /SKIP IF 5 0 206 000202 3022 DCA PC /FOR COMMAND MODE 207 000203 7001 IAC /USE ONE IN THE AC TO 208 000204 3100 DCA PSUBS /INIT UNPACK AND TRACE SWITCH. 209 000205 3026 DCA DEBGSW /ENABLE TRACE FOR INPUT OF (?), 210 000206 1226 TAD COMBOT /PROTECT COMMAND BUFFER. 211 000207 3013 DCA PDLXR /NO PATCH TEST. 212 000210 1225 TAD CSTAR /ANNOUNCE PRESENCE 213 000211 4551 PRINTC /BY TYPING THE LEAD-IN CHARACTER 214 000212 1132 IBAR, TAD COMBUF /INITIALIZE COMMAND BUFFER 215 000213 3010 DCA AXIN /FOR UNPACKING. 216 000214 3062 DCA XCTIN 217 000215 1132 TAD COMBUF /RUBOUT PROTECTION 218 000216 3027 DCA PACKST 219 000217 4552 IGNOR, READC /READ COMMAND STRING 220 000220 4547 SORTJ 221 000221 0073 LIST7-1 222 000222 0474 INLIST-LIST7 223 000223 4546 PACKC /SAVE STRING CHARACTER. 224 000224 5217 JMP IGNOR 225 000225 0252 CSTAR, 252 /ACKNOWLEDGE CHARACTER 226 000226 3220 COMBOT, COMEOUT+12 /END OF COMMAND BUFFER, LESS PROTECTION COUNT. 227 /COMMAND/INPUT PROCESSOR 228 000227 4546 IRETN, PACKC /START TO PACK C.R. 229 000230 4546 PACKC /FINISH C.R. 230 000231 1132 TAD COMBUF /INITIALIZE "TEXTP" 231 000232 3017 GONE, DCA AXOUT /SETUP CURRENT LINE 232 000233 3020 DCA XCT 233 000234 4545 GETC /READ FIRST CHARACTER. 234 000235 1035 TAD BOTTOM /INIT PUSH-DOWN LIST 235 000236 3013 DCA PDLXR 236 000237 4560 SPNOR /IGNORE LEADING BLANKS 237 000240 4561 TESTN /DOES THE LINE BEGIN WITH 1-9? 238 000241 5362 JMP GZERR /PERIOD = ILLEGAL GROUP ZERO USAGE 239 000242 5271 JMP INPUTX /NO 240 000243 2026 ISZ DEBGSW /YES, DISABLE TRACE FOR REPACKING 241 000244 4554 GETLN /READ THIS LINE NUMBER 242 000245 1124 TAD P4000 /TEST FOR SINGLE LINE. 243 000246 1065 TAD NAGSW 244 000247 7640 SZA CLA 245 000250 4566 ERROR3 /ILLEGAL LINE NUMBER ON INPUT 246 000251 1060 TAD STARTV /SET POINTERS 247 000252 3010 DCA AXIN 248 000253 3062 DCA XCTIN 249 000254 1067 TAD LINENO /SAVE LINE # 250 000255 3410 DCA I AXIN /(X-MEM) 251 000256 4560 SPNOR /IGNORE SPACES AFTER LINE NUMBER 252 000257 7410 SKP 253 000260 4545 GETC /READ 1ST AFTER LINENO TERMINATOR. 254 000261 4546 SRETN, PACKC /SAVE TEXT AND RESTORE DATA FIELD 255 000262 1066 TAD CHAR /TEST FOR END OF INPUT STRING 256 000263 1116 TAD MCR 257 000264 7640 SZA CLA 258 000265 5260 JMP .-5 259 000266 4565 DELETE /REMOVE OLD LINE, IF ANY. 260 000267 4556 ENDLN /INSERT NEW LINE 261 000270 5177 JMP START /POINTERS MUST BE REINITIALIZED 262 000271 4540 INPUTX, PUSHJ /PROCESS IMMEDIATE COMMAND. 263 000272 0611 PROC 264 000273 1422 TAD I PC /CHECK NEXT LINE (X-MEM) 265 000274 7450 SNA /END OF PROGRAM? 266 000275 5177 JMP START /YES 267 000276 3022 DCA PC /SAVE NEW LINE NO. 268 000277 1022 TAD PC /START NEW LINE 269 000300 7001 IAC 270 000301 5232 JMP GONE /PROCESS OTHER COMMANDS 271 /TEXT LINE BUFFER FORMAT* 272 /#1 : POINTER (OR ZERO IN LAST) 273 /#2 : LINENO 274 /#3 - #N-1 : TEXT 275 /#N : C.R. 276 /LINE NUMBER FORMATION 277 000302 0000 XGETLN, 0 /DEVELOP I.D. - "GETLN" 278 000303 4560 SPNOR /IGNORE LEADING SPACES 279 000304 1066 TAD CHAR /"ALL" IS A SPECIAL ARGUMENT. 280 000305 1112 TAD MINUSA 281 000306 7650 SNA CLA 282 000307 5322 JMP TESTA 283 000310 3036 DCA INSUB /CALL 'GETC' FROM INPUT VIA 'DECON' 284 000311 4771 JMS I LCON /(DECONV - IN FLOAT.) 285 000312 1047 TAD FLAC+3 /GROUP TOO LARGE? 286 000313 0372 AND P7740 287 000314 1046 TAD FLAC+2 288 000315 7640 SZA CLA 289 000316 4566 ERROR2 /GROUP NUMBER TOO LARGE 290 000317 1047 TAD FLAC+3 291 000320 4557 RTL6 292 000321 7004 RAL 293 000322 3067 TESTA, DCA LINENO 294 000323 4561 TESTN /TEST3 295 000324 4545 GETC /READ STEP NUMBER. 296 000325 4561 TESTN /TEST4, OTHER 297 000326 5340 JMP GERR /DOUBLE PERIODS 298 000327 5352 JMP GEXIT /OTHER 299 000330 1054 TAD SORTCN /NUMBER 300 000331 7106 CLL RTL 301 000332 1054 TAD SORTCN 302 000333 7004 RAL 303 000334 1067 TAD LINENO 304 000335 3067 DCA LINENO 305 000336 4545 GETC /READ SECOND STEP NUMBER. 306 000337 4561 TESTN /TEST4, OTHER 307 000340 4566 GERR, ERROR4 /DOUBLE PERIODS 308 000341 5352 JMP GEXIT /OTHER 309 000342 1054 TAD SORTCN /NUMBER 310 000343 1067 TAD LINENO 311 000344 3067 DCA LINENO 312 000345 4545 GETC /TEST FOR CORRECT TERMINATOR 313 000346 4561 TESTN /CHECK SIZE 314 000347 5340 JMP GERR /. 315 000350 7410 SKP 316 000351 4566 ERROR2 /TOO LARGE FOR A LINE NUMBER. 317 000352 7100 GEXIT, CLL /CLEAR LINK BIT 318 000353 1067 TAD LINENO /TEST FOR GROUP NUMBER 319 000354 0104 AND P7600 320 000355 7640 SZA CLA 321 000356 7020 CML 322 000357 1067 TAD LINENO 323 000360 0106 AND P177 /PREPARE "NAGSW" 324 000361 7460 SZA SNL 325 000362 4566 GZERR, ERROR2 /0.X = ERROR: ILLEGAL LINE NUMBER 326 000363 7640 SZA CLA 327 000364 1373 TAD P2000 328 000365 7020 CML 329 000366 7004 RAL 330 000367 3065 DCA NAGSW 331 000370 5702 JMP I XGETLN 332 000371 5600 LCON, DECONV 333 000372 7740 P7740, 7740 334 000373 2000 P2000, 2000 335 /RANGE OF ACCEPTABLE LINE NUMBERS = 1.01 TO 31.99 336 /NAGSW: 337 /GROUP=0000 338 /LINE=4000 339 /ALL=0001 340 /LIST OF FUNCTION ADDRESSES. (NAMES ARE IN "FNTABL") 341 FNTABF=. 342 000374 2016 XABS /ABS -ABSOLUTE VALUE 343 000375 2012 XSGN /SGN -SIGN PART 344 000376 1156 XINT /INT -INTEGER PART 345 000377 7602 XDISP /DIS /******** 346 000400 1145 XRAN /RAN -RANDOM NUMBER 347 000401 1341 XADC /ADC -READ ANALOG TO DIGITAL CONVERTER 348 000402 5000 ARTN /ATN -ARCTANGENT 349 000403 4620 FEXP /EXP -EXPONENTIAL 350 000404 5040 FLOG /LOG -LOGARITHM 351 000405 5204 FSIN /SIN -TRIG FUNCTIONS 352 000406 5177 FCOS /COS - 353 000407 7400 XSQRT /SQT -SQUARE ROOT 354 000410 2725 PFNEW, ERROR5 /NEW -USER DEFINED FUNCTIONS 355 000411 2725 PFX, ERROR5 /FX /******** 356 000412 2725 PFZ, ERROR5 /FZ /******** 357 000413 0000 XRTL6, 0 /ROTATE AC LEFT SIX - "RTL6" 358 000414 7106 CLL RTL 359 000415 7006 RTL 360 000416 7006 RTL 361 000417 5613 JMP I XRTL6 362 /RECURSIVE OPERATE, EXECUTE, OR CALL 363 000420 4554 DO, GETLN /EXECUTE ONE LINE, A GROUP, OR ALL 364 000421 1022 TAD PC /SAVE ADDRESS 365 000422 4542 PUSHA /OF CURRENT LINE 366 000423 4543 PUSHF /SAVE REST OF THIS LINE 367 000424 0017 TEXTP /ADDRESS OF TEXT POINTERS 368 000425 4543 DGRP, PUSHF /SAVE NAGSW; CHAR; AND LINENO. 369 000426 0065 NAGSW 370 000427 1065 TAD NAGSW /CHECK DATA FROM GETLN. 371 000430 7710 SPA CLA /SKIP IF GROUP OR ALL 372 000431 5263 JMP DOONE /DO ONE LINE 373 000432 4555 FINDLN /INIT FOR GROUP AND SET THISLN 374 000433 7000 NOP 375 000434 1023 TAD THISLN /TEST FOR GOOD GROUP NUMBER. 376 000435 3011 DCA XRT 377 000436 1411 TAD I XRT /(X-MEM) 378 000437 4563 TSTGRP 379 000440 4566 ERROR2 /NO SUCH GROUP NUMBER 380 000441 4540 DGRP1, PUSHJ /EXECUTE OBJECT LINE AND SET PC. 381 000442 0606 PROCESS-2 382 000443 4544 POPF /RESTORE THE DATA 383 000444 0065 NAGSW 384 000445 1422 TAD I PC /CHECK FOR END OF TEXT (X-MEM) 385 000446 7450 SNA 386 000447 5271 JMP DCONT /ALL DONE 387 000450 7001 IAC 388 000451 3030 DCA PT1 /SAVE POINTER TO LINENO 389 000452 1065 TAD NAGSW /CHECK FOR GROUP 390 000453 7740 SMA SZA CLA 391 000454 5260 JMP .+4 /DO ALL 392 000455 1430 TAD I PT1 /TEST GROUP (X-MEM) 393 000456 4563 TSTGRP 394 000457 5271 JMP DCONT /NOT IN GROUP 395 000460 1430 TAD I PT1 /READ NEXT LINE NO. (X-MEM) 396 000461 3067 DCA LINENO 397 000462 5225 JMP DGRP /CONTINUE THE SUBROUTINE 398 000463 4555 DOONE, FINDLN /FIND THE LINE 399 000464 4566 ERROR2 /NO SUCH LINE NUMBER 400 000465 4540 PUSHJ /EXECUTE IT 401 000466 0610 PROCESS 402 000467 4544 POPF /RESTORE CHAR 403 000470 0065 NAGSW 404 000471 4544 DCONT, POPF /RESTORE TEXT POINTERS 405 000472 0017 TEXTP 406 000473 1413 POPA /RESTORE ADDRESS OF CURRENT LINE. 407 000474 3022 DCA PC 408 000475 5676 JMP I .+1 /CONTINUE PROCESSING THIS LINE. 409 000476 0611 PROC 410 /PUSHDOWN LIST CONTROLS 411 000477 0000 XPUSHA, 0 /PUSHDOWN THE AC - "PUSHA" 412 000500 3071 DCA T2 /BACKUP POINTER 413 000501 7040 CMA /AND THEN 414 000502 4310 JMS PCHK /CHECK CORE USAGE 415 000503 1071 TAD T2 /OK 416 000504 3413 DCA I PDLXR /PUSH DOWN LIST POINTER 417 000505 7040 CMA /BACKUP AGAIN 418 000506 4310 JMS PCHK 419 000507 5677 JMP I XPUSHA 420 000510 0000 PCHK, 0 421 000511 1013 TAD PDLXR /INC IN AC 422 000512 3013 DCA PDLXR 423 000513 1013 TAD PDLXR 424 000514 7141 CLL CIA 425 000515 1031 TAD LASTV 426 000516 7630 SZL CLA 427 000517 4566 ERROR3 /STORAGE FILLED BY PUSH-DOWN LIST 428 000520 5710 JMP I PCHK 429 000521 0000 XPUSHJ, 0 /RECURSIVE SUBROUTINE CALL - "PUSHJ" 430 000522 1721 TAD I XPUSHJ 431 000523 3071 DCA T2 /SAVE SUBROUTINE ADDR. 432 000524 7040 CMA 433 000525 4310 JMS PCHK 434 000526 1321 TAD XPUSHJ 435 000527 7001 IAC 436 000530 3413 DCA I PDLXR /SAVE RETURN 437 000531 7040 CMA 438 000532 4310 JMS PCHK 439 000533 5471 JMP I T2 /TRANSFER CONTROL 440 000534 0000 PD2, 0 /SAVE A FLOATING POINT NUMBER - "PUSHF" 441 000535 7240 CLA CMA /COMPUTE VARIABLE ADDR 442 000536 1734 TAD I PD2 443 000537 3011 DCA XRT 444 000540 2334 ISZ PD2 /FIX RETURN 445 000541 1117 TAD MFLT /COMPUTE PUSH POINTER 446 000542 4310 JMS PCHK 447 000543 1117 TAD MFLT 448 000544 3071 DCA T2 449 000545 1411 TAD I XRT 450 000546 3413 DCA I PDLXR 451 000547 2071 ISZ T2 452 000550 5345 JMP .-3 453 000551 1117 TAD MFLT /RESET POINTER 454 000552 4310 JMS PCHK 455 000553 5734 JMP I PD2 456 457 458 000554 0000 PD3, 0 / RESTORE A FLOATING POINT NUMBER - "POPF" 459 000555 7240 CLA CMA /GET VAR. ADDR. 460 000556 1754 TAD I PD3 461 000557 2354 ISZ PD3 462 000560 3011 DCA XRT 463 000561 1117 TAD MFLT 464 000562 3071 DCA T2 465 000563 1413 TAD I PDLXR /MOVE 466 000564 3411 DCA I XRT 467 000565 2071 ISZ T2 468 000566 5363 JMP .-3 469 000567 5754 JMP I PD3 /EXIT 470 INLIST=. /INPUT CONTROL CHARACTERS 471 000570 2740 RECOVR /C.C. - BREAK 472 000571 0212 IBAR /B.A. - RESTART 473 000572 0217 IGNOR /L.F. - IGNORE 474 000573 0227 IRETN /C.R. - TERMINATE STRING 475 000574 1075 FLIST2, FLIMIT /,=STANDARD 476 000575 1137 FINFIN /;=SHORT 477 000576 2725 ERROR5 /CR=DUMB 478 000577 1065 FLIST1, FINCR /,=STANDARD FORMAT 479 000600 0610 PROCESS /;=SET;PLUS ... 480 000601 0614 PC1 /C.R.=SET COMMAND 481 000602 7472 MF, -306 /USED BY TESTC 482 /PRINARY CONTROL AND TRANSFER 483 000603 4554 GOTO, GETLN /READ THE LINE NUMBER REQUESTED 484 000604 4555 FINDLN /LOCATE IT AND RESET TEXTP 485 000605 4566 ERROR2 /NOT THERE 486 000606 1023 TAD THISLN /SET PC 487 000607 3022 DCA PC 488 000610 4545 PROCES, GETC /TEST FOR END OF LINE 489 000611 1066 PROC, TAD CHAR /FIRST CHARACTER READY = USE PROC 490 000612 1116 TAD MCR 491 000613 7650 SNA CLA 492 000614 5541 PC1, POPJ /EXIT "PROCESS" 493 000615 4550 SORTC /IGNORE "SPACE", ",", AND ";". 494 000616 1374 GLIST-1 495 000617 5210 JMP PROCES 496 000620 1066 TAD CHAR /SAVE COMMAND CHARACTER 497 000621 0075 AND P337 /EXECUTE LOWER CASE ALSO 498 000622 4542 PUSHA 499 000623 4545 GETC /GO TO GERMINATOR 500 000624 4550 SORTC 501 000625 1374 GLIST-1 502 000626 7410 SKP 503 000627 5223 JMP .-4 504 000630 1413 POPA 505 000631 4547 SORTJ /GO DO COMMAND 506 000632 0773 COMLST-1 507 000633 0165 COMGO-COMLST 508 000634 4566 ERROR2 /ILLEGAL COMMAND 509 COMMENTS=PC1 /ALSO IS CONTINUE 510 511 512 /OUTPUT COMMAND TEXT 513 000635 4554 WRITE, GETLN /SET LINENO 514 000636 2026 ISZ DEBGSW /DISABLE TRACE 515 000637 4555 FINDLN /SEARCH FOR LINE NUMBER 516 000640 5267 JMP WTESTG /NOT THERE OR GROUP 517 000641 1067 TAD LINENO 518 000642 7640 SZA CLA 519 000643 4553 PRNTLN /PRINT LINE NUMBER AND A SPACE. 520 000644 4545 GETC 521 000645 4551 PRINTC /PRINT TEXT OF A LINE. 522 000646 1066 TAD CHAR 523 000647 1116 TAD MCR 524 000650 7640 SZA CLA /SKIP IF END OF LINE 525 000651 5244 JMP .-5 526 000652 1423 TAD I THISLN /TEST FOR END OF TEXT (X-MEM) 527 000653 7450 WTEST2, SNA 528 000654 5271 JMP WX-2 /EXIT; DO NEXT INDIRECT LINE. 529 000655 7001 IAC 530 000656 3030 DCA PT1 /SAVE POINTER TO LINENO IF NEXT 531 000657 1065 TAD NAGSW 532 000660 7700 SMA CLA 533 000661 1430 TAD I PT1 /(X-MEM) 534 000662 4563 TSTGRP /TRY NEXT LINENO FOR GROUP. 535 000663 5273 JMP WX 536 000664 1430 WALL, TAD I PT1 /SET LINENO (X-MEM) 537 000665 3067 DCA LINENO 538 000666 5237 JMP WRITE+2 539 000667 1023 WTESTG, TAD THISLN /INIT GROUP PRINTOUT 540 000670 5253 JMP WTEST2 541 000671 3026 DCA DEBGSW 542 000672 5541 POPJ 543 000673 1065 WX, FINCR 544 000674 7750 SNA SPA CLA /SKIP IF ALL 545 000675 5271 JMP WX-2 546 000676 4551 PRINTC /PRINT C.R. AGAIN 547 000677 5264 JMP WALL 548 000700 0000 XTESTC, 0 /TEST THE NATURE OF THE NEXT ALPHANUMERIC - "TESTC" 549 000701 4560 SPNOR /IGNORE SPACES 550 000702 4550 SORTC /TEST THE VARIABLE TERMINATORS 551 000703 1771 TERMS-1 552 000704 5700 JMP I XTESTC /YES - SORTC IS SET 553 000705 1066 TAD CHAR /NO 554 000706 2300 ISZ XTESTC 555 000707 1202 TAD MF 556 000710 7650 SNA CLA /TEST FOR "F" 557 000711 5317 JMP XT3 558 000712 4561 TESTN 559 000713 5700 JMP I XTESTC /, 560 000714 7410 SKP /OTHER 561 000715 5700 JMP I XTESTC /NUMBER 562 000716 2300 ISZ XTESTC 563 000717 2300 XT3, ISZ XTESTC /RETURNS:T;N;F;A 564 000720 5700 JMP I XTESTC 565 000721 0000 XSORTC, 0 /SORT CHAR AGAINST TABLE - "SORTC" 566 000722 1721 TAD I XSORTC 567 000723 3012 DCA XRT2 /1ST ARG IS LIST-1 568 000724 1412 TAD I XRT2 569 000725 7510 SPA /LIST IS ENDED BY A NEGATIVE NUMBER 570 000726 5340 JMP SEXC /2ND EXIT = NOT IN LIST 571 000727 7041 CIA 572 000730 1066 TAD CHAR 573 000731 7640 SZA CLA /COMPARE 574 000732 5324 JMP .-6 575 000733 1721 TAD I XSORTC /COMPUTE INCREMENT: 0-N 576 000734 7040 CMA 577 000735 1012 TAD XRT2 578 000736 3054 DCA SORTCN 579 000737 7410 SKP /!ST EXIT = YES 580 000740 2321 SEXC, ISZ XSORTC 581 000741 2321 ISZ XSORTC 582 000742 7300 CLA CLL 583 000743 5721 JMP I XSORTC 584 000744 0000 GRPTST, 0 /AC VS LINENO - "TSTGRP" 585 000745 0104 AND P7600 586 000746 7041 CIA 587 000747 3071 DCA T2 588 000750 1067 TAD LINENO 589 000751 0104 AND P7600 590 000752 1071 TAD T2 591 000753 7650 SNA CLA 592 000754 2344 ISZ GRPTST 593 000755 5744 JMP I GRPTST 594 /INPUT FROM TEXT OR KEYBOARD; 595 /IF BACK-ARROW, RESTART INPUT 596 000756 0000 INPUT, 0 /INPUT A CHARACTER 597 000757 1036 TAD INSUB /NON-ZERO FOR KEYBOARD 598 000760 7640 SZA CLA 599 000761 5364 JMP .+3 600 000762 4545 GETC 601 000763 5756 JMP I INPUT 602 000764 4552 JMS I RDIV 603 000765 4547 SORTJ 604 000766 6776 SPECIAL-1 605 000767 3402 INFIX-SPECIAL 606 000770 5756 JMP I INPUT 607 000771 1035 ILIST, IF1 /, 608 000772 0610 PROCESS /; 609 000773 0614 PC1 /CR 610 /ENGLISH-FRENCH 611 COMLST=. /COMMAND DECODING LIST 612 000774 0323 323 /SET - ORGANIZE 613 000775 0306 306 /FOR - QUAND 614 000776 0311 311 /IF - SI 615 000777 0304 304 /DO - FAIZ 616 001000 0307 307 /GOTO - VA 617 001001 0303 303 /COMMENT- COMMENTE 618 001002 0301 301 /ASK - DEMANDE 619 001003 0324 324 /TYPE - TAPE 620 001004 0317 317 /OUTPUT /******** 621 001005 0305 305 /ERASE - BIFFE 622 001006 0327 327 /WRITE - INSCRIS 623 001007 0315 315 /MODIFY - MODIFIE 624 001010 0321 321 /QUIT - ARRETE 625 001011 0322 322 /RETURN - RETOURNE 626 001012 0314 314 /LIBR /******** 627 /THIS COMMAND LIST IS SPEED OPTIMIZED. 628 629 630 /CONDITIONAL TRANSFER PROCESS. 631 001013 4564 IF, TESTC /IGNORE SPACES AND TEST 632 001014 4637 JMS I IECALL /T 633 001015 2013 ISZ PDLXR /N-DUMP THE (EFOP) 634 001016 4640 JMS I IPART /F-CHECK FOR PAREN MATCH 635 001017 1111 TAD M2 /A 636 001020 3032 DCA T1 637 001021 1045 TAD FLAC+1 /TEST -,0,+ 638 001022 7510 SPA 639 001023 2032 ISZ T1 /N-TO -1,-2,-3 640 001024 7750 SPA SNA CLA 641 001025 2032 IF3, ISZ T1 /COUNT COMMAS 642 001026 7410 SKP 643 001027 5765 JMP I COMGO+4 /TRANSFER 644 001030 4547 SORTJ /SEARCH TEXT UNTIL ,;C.R. 645 001031 1375 TLIST-1 646 001032 7373 ILIST-TLIST 647 001033 4545 GETC 648 001034 5230 JMP .-4 649 001035 4545 IF1, GETC /MOVE PAST COMMA 650 001036 5225 JMP IF3 651 001037 1601 IECALL, ECALL 652 001040 2051 IPART, PARTEST 653 /LOOP CONTROL STATEMENT 654 SETT=. /SUBSET OF "FOR" 655 001041 4540 FOR, PUSHJ /LOOPS, ETC. 656 001042 1401 GETARG /LOOK FOR "=" NEXT 657 001043 4560 SPNOR /IGNORE SPACES 658 001044 1066 TAD CHAR 659 001045 1335 TAD MEQ 660 001046 7440 SZA 661 001047 4566 ERROR4 /LEFT OF "=" IN ERROR; 'FOR' OR 'SET' 662 001050 1030 TAD PT1 663 001051 4542 PUSHA /SAVE POINTER TO VARIABLE 664 001052 4540 PUSHJ 665 001053 1612 EVAL-1 /GET INITIAL VALUE EXPRESSION 666 001054 1413 POPA 667 001055 3030 DCA PT1 668 001056 4407 FINT /INITIALIZE NOW. 669 001057 6430 FPUT I PT1 670 001060 0000 FEXT 671 001061 4547 SORTJ /TEST LAST CHAR FROM "EVAL" 672 001062 1375 TLIST-1 673 001063 7201 FLIST1-TLIST 674 001064 4566 ERROR4 /EXCESS R-PAR 675 001065 1030 FINCR, TAD PT1 /SAVE VARIABLE ADDRESS * 676 001066 4542 PUSHA 677 001067 4540 PUSHJ /EVALUATE THE INCREMENT, IF ANY. 678 001070 1612 EVAL-1 679 001071 4547 SORTJ /TEST TERMINATORS 680 001072 1375 TLIST-1 681 001073 7176 FLIST2-TLIST 682 001074 4566 ERROR4 /ILLEGAL TERMINATOR IN 'FOR' 683 001075 4543 FLIMIT, PUSHF /SAVE THE INCREMENT. * 684 001076 2032 FLARG 685 001077 4540 PUSHJ /GET THE LIMIT (NO ERROR DETECTION AFTER LIMIT) 686 001100 1612 EVAL-1 687 001101 4543 FCONT, PUSHF /SAVE THE LIMIT * 688 001102 2032 FLARG 689 001103 4543 PUSHF /SAVE THE TEXT OF OBJECT STATEMENTS 690 001104 0017 TEXTP 691 001105 4540 PUSHJ /DO THE OBJECT STATEMENTS 692 001106 0610 PROCESS 693 001107 4544 POPF /RESTORE REMAINING TEXT. 694 001110 0017 TEXTP 695 001111 4544 POPF /GET LIMIT 696 001112 2032 FLARG 697 001113 4544 POPF /GET INCREMENT 698 001114 7470 ITER1 699 001115 1413 POPA /GET VARIABLE ADDRESS 700 001116 3030 DCA PT1 701 001117 4407 FINT /INCREMENT AND TEST 702 001120 0430 FGET I PT1 /LOAD THE VARIABLE 703 001121 1733 FADD I FINKP /INCREMENT IT 704 001122 6430 FPUT I PT1 /CHANGE IT 705 001123 2525 FSUB I FLARGP /TEST IT 706 001124 0000 FEXT 707 001125 1045 GETSGN 708 001126 7740 SMA SZA CLA 709 001127 5541 POPJ /END OF LOOP 710 001130 1030 TAD PT1 711 001131 4542 PUSHA /SAVE ADDRESS * 712 001132 4543 PUSHF /SAVE INCREMENT AGAIN * 713 001133 7470 FINKP, ITER1 714 001134 5301 JMP FCONT 715 001135 7503 MEQ, -275 716 001136 7524 MCOM, -254 717 001137 4543 FINFIN, PUSHF /SET INCREMENT TO ONE. 718 001140 2405 FLTONE 719 001141 5301 JMP FCONT 720 / 721 /SAME FRAN - JUST MOVED 722 / 723 001142 0000 RANO, 0000 /******** 724 001143 2000 2000 /******** 725 001144 0000 0000 /******** 726 001145 4407 XRAN, FINT /******** 727 001146 1342 FADD RANO /******** 728 001147 4755 FMUL I CRUDDY /******** 729 001150 6342 FPUT RANO /******** 730 001151 0000 FEXT /******** 731 001152 3342 DCA RANO /******** 732 001153 3044 DCA FLAC /******** 733 001154 5536 JMP I EFUN3I /******** 734 001155 6160 CRUDDY, RANMUL /******** 735 /TAKE THE INTEGER PART 736 001156 4453 XINT, JMS I INTEGER /(FIX) 737 001157 7200 CLA 738 001160 5536 JMP I EFUN3I 739 COMGO=. /COMMAND ROUTINE ADDRESSES 740 001161 1041 SETT 741 001162 1041 FOR 742 001163 1013 IF 743 001164 0420 DO 744 001165 0603 GOTO /(REFERENCED) 745 001166 0614 COMMENT 746 001167 1200 ASK/TAD GETRHS 747 001170 1201 TYPE 748 001171 7706 OUTPUT /******** 749 001172 2206 ERASE 750 001173 0635 WRITE 751 001174 1254 MODIFY 752 001175 0177 START /RETURN TO COMMAND MODE VIA 'QUIT' 753 001176 1563 RETRN 754 001177 6346 LTAPE /******** 755 /INPUT-OUTPUT STATEMENTS 756 001200 7240 ASK, CLA CMA /REMEMBER WHICH CALL. 757 001201 3056 TYPE, DCA ATSW 758 001202 4547 TASK, SORTJ /SPECIAL CHARD ***** 759 001203 1367 ALIST-1 760 001204 0200 ATLIST-ALIST 761 001205 2056 ISZ ATSW /TEST QUOTE SWITCH 762 001206 5223 JMP TYPE2 763 001207 4540 PUSHJ /DO ASK; SETUP PT1 764 001210 1401 GETARG 765 001211 1066 TAD CHAR /SAVE IN-LINE CHARACTER. 766 001212 4542 PUSHA 767 001213 1253 TAD COL /TYPE COLON 768 001214 4551 PRINTC /(CLA)= TO SUPRESS ":" 769 001215 2036 ISZ INSUB /INDICATE 'READC' 770 001216 7001 IAC /POINT PAST CHAR 771 001217 4531 JMS I FINPUT /READ DATA AND SAVE 772 001220 1413 POPA /RE-TEST LAST TERMINATOR 773 001221 3066 DCA CHAR 774 001222 5200 JMP ASK 775 001223 4540 TYPE2, PUSHJ /DO TYPE 776 001224 1613 EVAL 777 001225 4530 JMS I FOUTPUT /PRINT 778 001226 5201 JMP TYPE 779 001227 2026 TQUOT, ISZ DEBGSW /DISABLE TRACE 780 001230 4545 GETC /TYPE LITERALS 781 001231 4547 SORTJ 782 001232 1531 TLIST2-1 783 001233 0645 TLIST3-TLIST2 784 001234 4551 PRINTC 785 001235 5230 JMP TQUOT+1 786 001236 4545 TINTR, GETC /PASS PERCENT SIGN 787 001237 4554 GETLN /READ FORMAT CONTROL; "%7.03" 788 001240 1067 TAD LINENO 789 001241 3052 DCA FISW /SAVE FORMAT CODE 790 001242 5202 JMP TASK 791 001243 1077 TCRLF2, TAD CCR /SPLAT=CR ALONE 792 001244 4463 JMS I OUTDEV 793 001245 7001 IAC /NON-PRINTING DELAY FOR C.R. * 794 001246 1077 TCRLF, TAD CCR /EXCLAMATION POINT=CR, LF. 795 001247 4551 PRINTC 796 001250 3026 TASK4, DCA DEBGSW /* 797 001251 4545 GETC /* 798 001252 5202 JMP TASK 799 001253 0272 COL, 272 /":" 800 /IF DEBGSW=0 ; ENABLE FLIP-FLOP "DMPSW" 801 / #0; DISABLE AND RETURN ALL "?"'S. 802 /IF DMPSW =0 ; TRACE ON, IF ENABLED 803 / #0; TRACE OFF 804 /IF BOTH = 0 ; PRINT TRACE. 805 /SEARCH ROUTINES 806 001254 4554 MODIFY, GETLN /READ LINE NO. 807 001255 4555 FINDLN /LOOK IT UP NOW. 808 001256 4566 ERROR2 /NOT THERE - BAD COMMAND UNLESS ZERO. 809 001257 1060 TAD BUFR /SET POINTERS 810 001260 3010 DCA AXIN /FOR INPUT 811 001261 3062 DCA XCTIN 812 001262 1067 TAD LINENO /COPY THE SAME LINE NUMBER. 813 001263 3410 DCA I AXIN /(X-MEM) 814 001264 1010 TAD AXIN /SAVE START OF NEW LINE 815 001265 3027 DCA PACKST 816 001266 4464 SCONT, JMS I INDEV /READ THE TELETYPE INPUT SILENTLY. 817 001267 3100 DCA LIST3+1 /SAVE SEARCH CHARACTER 818 001270 2026 ISZ DEBGSW /NO BREAKS. 819 001271 4545 SCHAR, GETC /TYPE+TEST-F.F. 820 001272 4551 PRINTC /PLAYBACK THE TEXT 821 001273 4547 SORTJ /LOOK FOR MATCH 822 001274 0076 LIST3-1 823 001275 1267 LISTGO-LIST3 824 001276 4546 PACKC /SAVE NEW LINE 825 001277 5271 JMP SCHAR 826 001300 1060 SBAR, TAD BUFR /RESTART-B.A. 827 001301 7001 IAC 828 001302 3010 DCA AXIN /SET POINTERS 829 001303 3062 DCA XCTIN 830 001304 4552 SFOUND, READC /READ FROM KEYBOARD 831 001305 4547 SORTJ /TEST 832 001306 0071 LIST6-1 833 001307 1267 SRNLST-LIST6 834 001310 4546 SGOT, PACKC /PACK CHAR 835 001311 5304 JMP SFOUND /MORE 836 001312 0000 SORTB, 0 /CORT AND BRANCH ROUTINE - "SORTJ" 837 001313 7450 SNA 838 001314 1066 TAD CHAR /ASSUME CHAR IF AC=0 839 001315 7041 CIA 840 001316 3071 DCA T2 /SAVE SORT ITEM 841 001317 1712 TAD I SORTB /FIRST ARG IS LIST LESS ONE 842 001320 2312 ISZ SORTB /2ND IS INTRA-LIST LENGTH 843 001321 3012 DCA XRT2 844 001322 1412 TAD I XRT2 845 001323 7510 SPA /**LISTS ENDED BY NEGATIVE NUMBERS** 846 001324 5336 JMP SEX /READ EXIT 847 001325 1071 TAD T2 /FIND ADDRESS 848 001326 7640 SZA CLA 849 001327 5322 JMP .-5 850 001330 1012 TAD XRT2 /MATCH FOUND. 851 001331 1712 TAD I SORTB 852 001332 3071 DCA T2 853 001333 1471 TAD I T2 854 001334 3071 DCA T2 /DEBUG : AC = ADDRESS 855 001335 5471 JMP I T2 856 001336 2312 SEX, ISZ SORTB /MATCH NOT FOUND. 857 001337 7300 CLA CLL 858 001340 5712 JMP I SORTB /RETURN TO CALLING SEQUENCE. 859 /ANALOGUE TO DIGITAL CONVERSION FOR PDP-12 860 001341 4453 XADC, JMS I INTEGER 861 001342 0360 AND O37 /******** 862 001343 1357 TAD OSAMP /******** 863 001344 3347 DCA .+3 /******** 864 001345 6002 IOF /******** 865 001346 6141 6141 /LINC /******** 866 001347 0100 0100 /SAM ? /******** 867 001350 0002 0002 /PDP /******** 868 001351 6001 ION /******** 869 001352 3045 DCA FLAC+1 /******** 870 001353 3046 DCA FLAC+2 /******** 871 001354 7326 CLA CLL CML RTL /******** 872 001355 3044 DCA FLAC /******** 873 001356 5536 JMP I EFUN3I /******** 874 001357 0100 OSAMP, 0100 /SAM 0 /******** 875 001360 0037 O37, 37 /******** 876 SRNLST=. /'MODIFY' CONTROL CHARACTER TABLE 877 001361 1271 SCHAR /F.F. = CONTINUE 878 001362 1266 SCONT /BELL = CHANGE SEARCH CHARACTER 879 001363 2740 RECOVR /C.C. = BREAK 880 001364 1300 SBAR /B.A. = RESTART 881 001365 1267 SCONT+1 /L.F. = FINISH THE LINE AS BEFORE. 882 LISTGO=. 883 001366 0261 SRETN /C.R. = END THE LINE HERE AS IS. 884 001367 1310 SGOT /CHAR = SEARCH CHARACTER 885 ALIST=. / ASK/TYPE LIST OF CONTROLS. 886 001370 0245 245 /% 887 001371 0242 242 /" 888 001372 0241 241 /! 889 001373 0243 243 /# 890 001374 0244 244 /$/// 891 GLIST=. 892 001375 0240 240 /SPACE 893 TLIST=. 894 001376 0254 254 /, 895 001377 0273 273 /; 896 001400 0215 215 /C.R. 897 /THIS LIST IS ENDED BY 'TESTC'. 898 /FIND OR ENTHER A VARIABLE IN THE LIST. 899 001401 4564 GETARG, TESTC /FIRST LETTER OF ARG 900 001402 7200 P7200, 7200 /CLA /******** LETS F THRU 901 001403 4566 ERROR4 /******** 902 001404 7000 NOP /******** 903 001405 3062 GETVAR, DCA XCTIN /PACK INTO ADD. 904 001406 4546 PACKC 905 001407 4545 GETC /SECOND LETTER 906 001410 4550 SORTC /TERMINATOR? 907 001411 1771 TERMS-1 908 001412 5224 JMP GSERCH /YES 909 001413 1066 TAD CHAR /NO 910 001414 0122 AND P77 /SAVE 2ND LETTER OF NAME 911 001415 1061 TAD QADD 912 001416 3061 DCA QADD 913 001417 4545 GETC /IGNORE THE REST 914 001420 4550 SORTC 915 001421 1771 TERMS-1 916 001422 5224 JMP GSERCH 917 001423 5217 JMP .-4 918 001424 4562 GSERCH, TSTLPR /LOOK FOR SUBSCRIPT VIA SORTCN 919 001425 5235 JMP GS1 /NOT SUBSCRIPTED BY L-PAR. 920 001426 1061 TAD QADD /SAVE NAME 921 001427 3056 DCA EFOP /FOR RECURSIVE AND ERROR CHECK 922 001430 4663 JMS I GECALL /TO EVAL 923 001431 1413 POPA 924 001432 3061 DCA QADD /RESTORE NAME 925 001433 4662 JMS I PTEST /TEST PAREN MATCH 926 001434 4453 JMS I INTEGER /CONVERT TO 12 BIT NUMBER. 927 001435 3171 GS1, DCA SUBS /SAVE SUBSCRIPT 928 001436 1061 TAD QADD /******** LETS F THRU 929 001437 0101 AND P7700 /******** 930 001440 1202 TAD P7200 /******** 931 001441 7650 SNA CLA /******** 932 001442 5322 JMP FFF /******** 933 001443 1060 TAD STARTV /SEARCH FOR VARIABLE(CHANGE FOR X-MEM) 934 001444 3030 GS3, DCA PT1 935 001445 1030 TAD PT1 936 001446 7041 CIA 937 001447 1031 TAD LASTV /TEST FOR END OF LIST 938 001450 7750 SPA SNA CLA 939 001451 5264 JMP GS2 /END SEARCH 940 001452 1430 TAD I PT1 /GET TABLE ENTRY 941 001453 7041 CIA 942 001454 1061 TAD QADD 943 001455 7650 SNA CLA 944 001456 5310 JMP GFND1 /FOUND XX 945 001457 1030 GS4, TAD PT1 /TRY NEXT ONE 946 001460 1070 TAD GINC 947 001461 5244 JMP GS3 948 001462 2051 PTEST, PARTEST 949 001463 1601 GECALL, ECALL 950 001464 1031 GS2, TAD LASTV /ADD THE VARIABLE 951 001465 1005 TAD P13 /TEST STORAGE LIMITS 952 001466 7141 CLL CIA 953 001467 1013 TAD PDLXR 954 001470 7620 SNL CLA 955 001471 4566 ERROR3 956 001472 1031 TAD LASTV /UPDATE THE LIST. 957 001473 1070 TAD GINC 958 001474 3031 DCA LASTV 959 001475 1061 TAD QADD /SAVE NAME 960 001476 3430 DCA I PT1 961 001477 2030 ISZ PT1 /SAVE SUBSCRIPT 962 001500 1171 TAD SUBS 963 001501 3430 DCA I PT1 964 001502 2030 ISZ PT1 /SET PT1 965 001503 4407 FINT 966 001504 0537 FGET I CFRSX 967 001505 6430 FPUT I PT1 968 001506 0000 FEXT 969 001507 5541 POPJ /EXIT 970 001510 1030 GFND1, TAD PT1 /FOUND SAME 971 001511 3011 DCA XRT /TEST SUBSCRIPTS 972 001512 1411 TAD I XRT 973 001513 7041 CIA 974 001514 1171 TAD SUBS 975 001515 7640 SZA CLA 976 001516 5257 JMP GS4 /WRONG SUBSCRIPT 977 001517 2030 ISZ PT1 /SET POINTER TO DATA 978 001520 2030 ISZ PT1 979 001521 5541 POPJ 980 001522 3030 FFF, DCA PT1 /******** SAVES SUBSCRIPT ON F 981 001523 1061 TAD QADD /******** 982 001524 3002 DCA LWETMP /******** 983 001525 1045 TAD HORD /******** 984 001526 3170 DCA LESUB2 /******** 985 001527 1171 TAD SUBS /******** 986 001530 3167 DCA SUBS2 /******** 987 001531 5541 POPJ /******** 988 001532 0242 TLIST2, 242 /******** 989 001533 0215 215 /******** 990 001534 7520 M260, -260 /******** 991 /******** 992 001535 0000 XSPNOR, 0 /IGNORE LEADING SPACES - "SPNOR" 993 001536 1066 TAD CHAR 994 001537 1114 TAD M240 995 001540 7640 SZA CLA 996 001541 5735 JMP I XSPNOR 997 001542 4545 GETC 998 001543 5336 JMP XSPNOR+1 999 /******** RECODING FOR SPACE 1000 001544 7506 M272, -272 /******** 1001 001545 0012 O12, 12 /******** 1002 /******** 1003 /******** 1004 001546 0000 XTESTN, 0 /RETURNS .; OTHER; NUMBER - "TESTN" 1005 001547 1066 TAD CHAR 1006 001550 1115 TAD MPER 1007 001551 7640 SZA CLA 1008 001552 2346 ISZ XTESTN 1009 001553 1066 TAD CHAR /******** RECODING FOR SPACE 1010 001554 1344 TAD M272 /******** 1011 001555 7100 CLL /******** 1012 001556 1345 TAD O12 /******** 1013 001557 3054 DCA SORTCN /******** 1014 001560 7430 SZL /******** 1015 001561 2346 ISZ XTESTN /******** 1016 001562 5746 JMP I XTESTN /******** 1017 /******** 1018 /EXIT FROM A "DO" SUBROUTINE 1019 001563 1137 RETRN, TAD CFRSX /(PC) => 0 1020 001564 3022 DCA PC 1021 001565 1413 XPOPJ, TAD I PDLXR /RECURSIVE EXIT - "POPJ" 1022 001566 3071 DCA T2 1023 001567 5471 JMP I T2 1024 ATLIST=. /ASK-TYPE CONTROL CHARACTER TABLE 1025 001570 1236 TINTR /% - FORMAT DELIMITER 1026 001571 1227 TQUOT /" - LITERAL DELIMITER 1027 001572 1246 TCRLF /! - CARRIAGE RETURN AND LINE FEED 1028 001573 1243 TCRLF2 /# - CARRIAGE RETURN ONLY 1029 001574 3052 TDUMP /$ - DUMP THE SYMBOL TABLE CONTENTS 1030 001575 1250 TASK4 /SP- TERMINATOR FOR NAMES 1031 001576 1250 TASK4 /, - TERMINATOR FOR EXPRESSIONS 1032 001577 0610 PROCESS /; - TERMINATOR FOR COMMANDS 1033 001600 0614 PC1 /C.R. - TERMINATOR FOR STRINGS 1034 /$ - FOR 'TDUMP' TERMINATES THE COMMAND. 1035 /EVALUATE AN EXPRESSION WHICH 1036 /TERMINATES WITH AN R-PAR,; OR C.R. AND 1037 /LEAVE THE RESULT IN FLAC AND IN FLARG. 1038 001601 0000 ECALL, 0 /RECURSIVE CALL TO "EVAL" 1039 001602 1054 TAD SORTCN /SAVE 'SORTCN', 'LASTOP', AND 'EFOP' 1040 001603 4542 PUSHA 1041 001604 1055 TAD LASTOP 1042 001605 4542 PUSHA 1043 001606 1056 TAD EFOP /SAVE FUNCTION CODE. 1044 001607 4542 PUSHA 1045 001610 1201 TAD ECALL /RETURN TO CALLING 1046 001611 4542 PUSHA /ADDRESS AFTER NEXT POPJ 1047 001612 4545 GETC /MOVE PAST EXTRA CHARACTER 1048 001613 3055 EVAL, DCA LASTOP /EVALUATION CONTROLLER (CHECKPOINT ?) 1049 001614 4564 TESTC /TEST CHARACTER AND IGNORE SPACES 1050 001615 5227 JMP ETERM1 /TERMINATOR 1051 001616 5332 JMP ENUM /NUMBER 1052 001617 5343 JMP EFUN /FUNCTION 1053 001620 4540 PUSHJ /LETTER OF VARIABLE 1054 001621 1405 GETVAR /FIND OR CREATE VARIABLE; ALSO SET PT1. 1055 001622 4564 OPNEXT, TESTC /PT1 => ARG 1056 001623 5244 JMP ETERMN /T 1057 001624 0212 ECHOLST,0212 /N - ERROR IN FORMAT 1058 001625 0377 0377 /F 1059 001626 4566 ERROR4 1060 001627 1137 ETERM1, TAD CFRSX /SET PT1 1061 001630 3030 DCA PT1 /TO POINT TO ZERO 1062 001631 1111 TAD M2 /TEST FOR UNARY OPERATIONS 1063 001632 1054 TAD SORTCN 1064 001633 7450 SNA 1065 001634 5247 JMP ETERM /CREATE DUMMY FOR UNARY MINUS 1066 001635 7001 IAC 1067 001636 7650 SNA CLA 1068 001637 5323 JMP ARGNXT /IGNORE UNARY PLUS 1069 001640 1054 TAD SORTCN /TEST FOR NULL PARENS. 1070 001641 1121 TAD M11 1071 001642 7710 SPA CLA 1072 001643 5364 JMP ELPAR /MIGHT BE AN L-PAR. 1073 001644 4562 ETERMN, TSTLPR 1074 001645 7410 SKP 1075 001646 4566 ERROR4 /OPERATOR MISSING BEFORE PAREN 1076 001647 1054 ETERM, TAD SORTCN /SET FROM "TESTC"-"SORTC" 1077 001650 3024 DCA THISOP 1078 001651 1024 TAD THISOP 1079 001652 1121 TAD M11 1080 001653 7700 SMA CLA /END? 1081 001654 3024 DCA THISOP /"THISOP" EQUIV. END OF EXP. 1082 001655 1024 ETERM2, TAD THISOP /COMPARE PRIORITIES 1083 001656 7041 CIA 1084 001657 1055 1055 1085 001660 7710 SPA CLA 1086 001661 5310 JMP EPAR /CONTINUE 1087 001662 1055 TAD LASTOP /FIND OPERATION 1088 001663 7112 CLL RTR 1089 001664 7012 RTR 1090 001665 1331 TAD OPTABL 1091 001666 3274 DCA FLOP 1092 001667 1055 TAD LASTOP 1093 001670 7640 SZA CLA /TEST FOR END OF DATA INTO FLOATING AC. 1094 001671 4544 POPF /GET LAST DATA 1095 001672 0044 AND FLAC 1096 001673 4407 FINT 1097 001674 0000 FLOP, 00 /(FLOPR I PT1)***/ 1098 001675 6525 FPUT I FLARGP /SAVE RESULT 1099 001676 0000 FEXT 1100 001677 1125 TAD FLARGP 1101 001700 3030 DCA PT1 1102 001701 1024 TAD THISOP 1103 001702 1055 TAD LASTOP /=0? 1104 001703 7650 SNA CLA 1105 001704 5541 POPJ /EXIT "EVAL" 1106 001705 1413 POPA /GET PRIOR OP 1107 001706 3055 DCA LASTOP 1108 001707 5255 JMP ETERM2 /COMPARE THIS OP 1109 001710 4562 EPAR, TSTLPR /TEST FOR SUB-EXPRESSION 1110 001711 7410 SKP 1111 001712 5366 JMP EPAR2 /GO EVALUATE EXPRESSION 1112 001713 1055 TAD LASTOP /CONTINUE READING THE EXPRESSION 1113 001714 4542 PUSHA /SAVE "LASTOP". 1114 001715 1030 TAD PT1 1115 001716 3320 DCA .+2 1116 001717 4543 PUSHF /SAVE LAST ARGUMENT 1117 001720 0000 00 1118 001721 1024 TAD THISOP /MORE TO COME 1119 001722 3055 DCA LASTOP 1120 001723 4545 ARGNXT, GETC /READ 1ST CHAAR OF AN ARG. 1121 001724 4564 TESTC /DO SPECIAL CHECK 1122 001725 5364 JMP ELPAR /COULD BE LEFT PAREN 1123 001726 5332 JMP ENUM /N 1124 001727 5343 JMP EFUN /F 1125 001730 5220 JMP OPNEXT-2 /L 1126 001731 0430 OPTABL, FGET I PT1 /BASE FOR OPERATION COMPUTATION 1127 001732 4543 ENUM, PUSHF /TO PROCESS A NUMBER, SAVE AC 1128 001733 0044 FLAC 1129 001734 1125 TAD FLARGP /SET POINTER AS FOR A VARIABLE. 1130 001735 3030 DCA PT1 1131 001736 3036 DCA INSUB /POINT TO 'GETC' AND USE CHAR 1132 001737 4531 JMS I FINPUT /READ TEXT NUMBER => (PT1) 1133 001740 4544 POPF /RESTORE THE AC 1134 001741 0044 FLAC 1135 001742 5222 JMP OPNEXT /CONTINUE 1136 001743 3056 EFUN, DCA EFOP /SET CODE 1137 001744 4545 GETC /READ FUNCTION NAME. (1,2, OR 3 LETTERS) 1138 001745 4564 TESTC /******** SEPARATES FILE BECAUSE F DIGIT 1139 001746 5355 JMP EFUN2 /******** 1140 001747 5771 JMP I PFNUM /******** 1141 001750 7000 NOP /******** 1142 001751 1056 TAD EFOP /******** 1143 001752 7104 CLL RAL /MISH-MASH HASH CODE 1144 001753 1066 TAD CHAR 1145 001754 5343 JMP EFUN 1146 001755 4562 EFUN2, TSTLPR 1147 001756 4566 ERROR4 /MUST BE FOLLOWED BY PARENS TO SET ARGUMENT 1148 001757 4201 JMS ECALL /CALL "EVAL" TO COMPUTE ARGUMENT 1149 001760 1413 POPA /BRANCH ON FUNCTION CODE; RETURN VIA EFUN3I. 1150 001761 4547 SORTJ 1151 001762 2166 FNTABL-1 1152 001763 6205 FNTABF-FNTABL 1153 001764 4562 ELPAR, TSTLPR /LEFT PAREN OR FELL THROUGH FUNCTION TABLE 1154 001765 4566 ERROR4 /DOUBLE OPERATORS OR ILLEGAL FUNCTION NAME. 1155 001766 4201 EPAR2, JMS ECALL /EVALUATE NEEDED EXPRESSION 1156 001767 2013 ISZ PDLXR /DUMP EXTRA ARG. 1157 001770 5536 JMP I EFUN3I 1158 001771 6311 PFNUM, FNUM /******** 1159 TERMS=. /TERMINATOR TABLE FOR 'EVAL' AND 'GETVAR' 1160 001772 0240 240 /SPACE 0 1161 001773 0253 253 /+ 1 1162 001774 0255 255 /- 2 1163 001775 0257 257 // 3 1164 001776 0252 252 /* 4 1165 001777 0336 336 /UP ARR 5 1166 002000 0250 250 /( 6 1167 002001 0333 333 /[ 7 1168 002002 0274 274 /< 10 1169 002003 0251 251 /) 11 1170 002004 0335 335 /] 12 1171 002005 0276 276 /> 13 1172 002006 0254 254 /, 14 1173 002007 0273 273 /; 15 1174 002010 0215 215 /C.R. 16 1175 002011 0275 275 /= TO END GETARG FROM 'SET' 1176 /TWO MINOR FUNCTIONS 1177 002012 4543 XSGN, PUSHF /TAKE SIGN*1 OF FLARG 1178 002013 2405 FLTONE 1179 002014 4544 POPF 1180 002015 0044 FLAC 1181 002016 1233 XABS, TAD FLARG+1 /TAKE ABSOLUTE VALUE OF FLAC 1182 002017 7710 SPA CLA 1183 002020 4451 JMS I MINSKI /NEGATE THE FLOATING AC 1184 /CONTINUATION OF FUNCTION CALLS. 1185 002021 4407 EFUN3, FINT 1186 002022 7000 FNOR /NORMALIZE FUNCTION RETURN 1187 002023 6232 FPUT FLARG /SAVE FUNCTION VALUE 1188 002024 0000 FXIT 1189 002025 1125 TAD FLARGP /SET POINTER 1190 002026 3030 DCA PT1 1191 002027 4251 JMS PARTEST 1192 002030 5631 JMP I .+1 /FUNCTION RETURN IS OK 1193 002031 1622 OPNEXT 1194 1195 002032 0000 FLARG, 0 /DATA TEMPORARY STORAGE 1196 002033 0000 0 1197 002034 0000 0 1198 002035 0000 0 1199 002036 0003 P3, 3 1200 002037 0000 LPRTST, 0 /SKIP IF LEFT PAREN. - 'TSTLPR' 1201 002040 1054 TAD SORTCN 1202 002041 1121 TAD M11 1203 002042 7700 SMA CLA 1204 002043 5637 JMP I LPRTST 1205 002044 1054 TAD SORTCN 1206 002045 1120 TAD M5 1207 002046 7740 SZA SMA CLA 1208 002047 2237 ISZ LPRTST 1209 002050 5637 JMP I LPRTST 1210 002051 0000 PARTEST,0 /TEST THE PAREN MATCHINGS 1211 002052 1413 POPA /RESTORE LAST OPERATION 1212 002053 3055 DCA LASTOP 1213 002054 1236 TAD P3 /+3 TO COMPARE CODES 1214 002055 1413 POPA /GET LAST PAREN CODE. 1215 002056 7041 CIA /CHECK FOR PAREN MATCH. 1216 002057 1054 TAD SORTCN /(STIL SET FROM THE LAST "EVAL") 1217 002060 7640 SZA CLA /SKIP IF MATCH 1218 002061 4566 ERROR4 /PAREN ERROR 1219 002062 4545 GETC /MOVE PAST R-PAR 1220 002063 5651 JMP I PARTEST 1221 /THE DELETE A LINE ROUTINE 1222 002064 0000 XDELETE,0 /UNCHAIN A LINE AND RECOVER THE SPACE. 1223 002065 6002 IOF /PROTECT POINTER CHANGES FROM INTERRUPTIONS 1224 002066 4555 FINDLN /SETS "THISLN" AND "LASTLN". 1225 002067 5664 JMP I XDELET /ALREADY GONE 1226 002070 2026 ISZ DEBGSW /DISABLE TRACE 1227 002071 4545 GETC /MEASURE LENGTH 1228 002072 1066 TAD CHAR 1229 002073 1116 TAD MCR 1230 002074 7640 SZA CLA 1231 002075 5271 JMP .-4 1232 002076 1017 TAD AXOUT /SAVE LAST ADDRESS 1233 002077 7040 CMA 1234 002100 1023 TAD THISLN 1235 002101 3057 DCA CNTR /LENGTH < 0 1236 002102 1133 TAD CFRS /IT IS ILLEGAL TO DELETE THE FIRST LINE 1237 002103 7041 CIA 1238 002104 1023 TAD THISLN 1239 002105 7650 SNA CLA 1240 002106 5177 JMP START /JUST IGNORE SUCH COMMANDS 1241 002107 7000 CDF T /CHANGE DATA FIELD TO TEXT. (X-MEM) 1242 002110 1423 TAD I THISLN /DISCONNECT 1243 002111 3425 DCA I LASTLN 1244 002112 1133 TAD CFRS /START LIST AT TOP 1245 002113 3071 DOK, DCA T2 /EXAMINATION ADDRESS 1246 002114 1471 TAD I T2 /GET THE NEXT ADDR. 1247 002115 7450 SNA /TEST FOR END 1248 002116 5331 JMP DONE /YES - WRAP UP ALL. 1249 002117 3032 DCA T1 /SAVE NEXT ADDRESS 1250 002120 1023 TAD THISLN /COMPARE LINE POSITIONS 1251 002121 7141 CIA CLL 1252 002122 1032 TAD T1 1253 002123 7630 SZL CLA /SKIP IF THISLN > X 1254 002124 1057 TAD CNTR /CHANGE (X) TO ACCOUNT FOR 1255 002125 1032 TAD T1 /GARBAGE COLLECTION. 1256 002126 3471 DCA I T2 1257 002127 1032 TAD T1 /GET NEXT 1258 002130 5313 JMP DOK 1259 /GARBAGE COLLECTION 1260 002131 7040 DONE, CMA /BACKUP L FOR XR 1261 002132 1023 TAD THISLN 1262 002133 3011 DCA XRT 1263 002134 1057 TAD CNTR /SETUP END OF HOSE 1264 002135 7040 CMA 1265 002136 1023 TAD THISLN 1266 002137 3012 DCA XRT2 1267 002140 1057 TAD CNTR /CORRECT END OF BUFFER POINTER. 1268 002141 1060 TAD BUFR 1269 002142 3060 DCA BUFR 1270 002143 1010 TAD AXIN /COMPUTE COUNT 1271 002144 7040 CMA 1272 002145 1012 TAD XRT2 1273 002146 3032 DCA T1 1274 002147 1010 TAD AXIN 1275 002150 1057 TAD CNTR 1276 002151 3010 DCA AXIN 1277 002152 1412 TAD I XRT2 /SIPHON LOWER PART 1278 002153 3411 DCA I XRT 1279 002154 2032 ISZ VAL 1280 002155 5352 JMP .-3 1281 002156 5265 JMP XDELETE+1 /RESET 'LASTN', 'THISLN', AND DATA FIELD. 1282 002157 0000 CHIN, 0 /READ IN A CHARACTER SUBR. - "READC" 1283 002160 4464 JMS I INDEV 1284 002161 3066 DCA CHAR 1285 002162 4550 SORTC /LINEFEED OR RUBOUT? 1286 002163 1623 ECHOLST-1 1287 002164 5757 JMP I CHIN /YES 1288 002165 4551 PRINTC /ECHO THE INPUT 1289 002166 5757 JMP I CHIN 1290 FNTABL=. 1291 002167 2533 2533 /ABS 1292 002170 2650 2650 /SGN 1293 002171 2636 2636 /ITR 1294 002172 2565 2565 /DIS 1295 002173 2630 2630 /RAN 1296 002174 2517 2517 /ADC 1297 002175 2572 2572 /ATN 1298 002176 2624 2624 /EXP 1299 002177 2625 2625 /LOG 1300 002200 2654 2654 /SIN /LIST OF CODED FUNCTION NAMES 1301 002201 2575 2575 /COS 1302 002202 2702 2702 /SQT 1303 002203 2631 2631 /NEW 1304 002204 0330 0330 /FX /******** 1305 002205 0332 0332 /FZ /******** 1306 /ERASE SINGLE LINES, GROUPS, OR VARIABLES 1307 002206 4564 ERASE, TESTC /TEST THE SECOND WORD, IF ANY. 1308 002207 5241 JMP ERVX /ERASE VARIABLES 1309 002210 5224 JMP ERL /LINES OR GROUPS 1310 002211 5215 JMP .+4 /ERROR 1311 002212 1066 TAD CHAR /ALL TEXT 1312 002213 1112 TAD MINUSA 1313 002214 7440 SZA 1314 002215 4566 ERROR3 /BAD ARG FOR ERASE 1315 002216 1135 ERT, TAD ENDT /ERASE ALL TEXT ** 1316 002217 3060 DCA BUFR 1317 002220 3533 DCA I CFRS /(X-MEM) 1318 002221 1060 ERV, TAD STARTV /ERASE VARIABLES ** 1319 002222 3031 DCA LASTV 1320 002223 5177 JMP START /POINTERS MAY BE DIFFERENT NOW. 1321 002224 4554 ERL, GETLN /ERASE LINES. 1322 002225 1060 TAD BUFR /PROTECT REST OF TEXT. 1323 002226 3010 DCA AXIN 1324 002227 4565 ERG, DELETE /EXTRACT ONE LINE 1325 002230 2023 ISZ THISLN 1326 002231 1065 TAD NAGSW 1327 002232 7700 SMA CLA 1328 002233 1423 TAD I THISLN /(X-MEM) 1329 002234 4563 TSTGRP /SKIP IF G(AC) = G(LINENO) 1330 002235 5221 JMP ERV 1331 002236 1423 TAD I THISLN /(X-MEM) 1332 002237 3067 DCA LINENO 1333 002240 5227 JMP ERG 1334 002241 1060 ERVX, TAD STARTV /INIT VARIABLES MAY BE INDIRECT 1335 002242 3031 DCA LASTV 1336 002243 5541 POPJ 1337 /ROUTINE CALLED VIA "FINDLN": 1338 /SEARCH FOR A GIVEN LINE I.D. = [ "LINENO" ] 1339 /1ST RETURN IF NOT FOUND. 1340 /2ND RETURN IF FOUND. 1341 /"THISLN" = FOUND LINE OR NEXT LARGER. 1342 /"LASTLN" = LESSER AND/OR LAST. 1343 /"TEXTP" IS SET. 1344 002244 0000 XFIND, 0 1345 002245 1133 TAD CFRS /INITIALIZE POINTERS TO FIRST LINE 1346 002246 3025 DCA LASTLN 1347 002247 1133 TAD CFRS 1348 002250 3023 FINDN, DCA THISLN /SAVE THIS ONE 1349 002251 1023 TAD THISLN 1350 002252 3011 DCA XRT 1351 002253 1067 TAD LINENO 1352 002254 7141 CLL CMA IAC /CLEAR LINK AND NEGATE LINENO. 1353 002255 1411 TAD I XRT /LINENO=0 WILL ALSO BE FOUND (X-MEM) 1354 002256 7450 SNA 1355 002257 2244 ISZ XFIND /******** 1356 002260 7630 SZL CLA 1357 002261 5267 JMP FEND3 /PAST IT. 1358 002262 1023 TAD THISLN /MOVE POINTERS 1359 002263 3025 DCA LASTLN 1360 002264 1423 TAD I THISLN /END OF TEST? (X-MEM) 1361 002265 7440 SZA 1362 002266 5250 JMP FINDN /NOT YET 1363 /******** 1364 /******** 1365 002267 1023 FEND3, TAD THISLN /1ST RETURN = NOT FOUND 1366 002270 7001 IAC 1367 002271 3017 DCA TEXTP /SET "TEXTP". 1368 002272 3020 DCA XCT 1369 002273 5644 JMP I XFIND 1370 002274 0000 UTRA, 0 /UNPACK CHARACTER. - "GETC" 1371 002275 4330 JMS GET1 1372 002276 7710 UTE, SPA CLA /NORM & EXTEND 1373 002277 1006 TAD C100 /300-337 & 340-376 1374 002300 1357 TAD M137 /240-276 & 200-236 1375 002301 1066 TAD CHAR 1376 002302 7450 SNA 1377 002303 5316 JMP UTX /"?" FOUND 1378 002304 1075 TAD P337 1379 002305 3066 UTO, DCA CHAR 1380 002306 1026 TAD DEBGSW 1381 002307 1100 TAD DMPSW 1382 002310 7650 SNA CLA 1383 002311 4551 PRINTC /PRINT ONLY IF BOTH ARE ZERO. 1384 002312 5674 JMP I UTRA 1385 002313 4330 EXTR, JMS GET1 1386 002314 7040 CMA 1387 002315 5276 JMP UTE 1388 002316 1026 UTX, TAD DEBGSW /TEST FOR TRACE ENABLED 1389 002317 7640 SZA CLA 1390 002320 5326 JMP .+6 1391 002321 1100 TAD DMPSW /FLIP THE TRACE FLOP 1392 002322 7650 SNA CLA 1393 002323 7001 IAC 1394 002324 3100 DCA DMPSW 1395 002325 5275 JMP UTRA+1 /GET NEXT CHARACTER INSTEAD. 1396 002326 1110 TAD P277 /TRACE DISABLED = RETURN "?" 1397 002327 5305 JMP UTO 1398 002330 0000 GET1, 0 /UNPACK 6-BIT 1399 002331 2020 ISZ XCT /STARTS=0 1400 002332 5345 JMP GET3 1401 002333 1021 TAD GTEM 1402 002334 0122 GEND, AND P77 1403 002335 3066 DCA CHAR /SAVE 1404 002336 1066 TAD CHAR 1405 002337 1103 TAD M77 1406 002340 7650 SNA CLA 1407 002341 5313 JMP EXTR /EXTENDED 1408 002342 1066 TAD CHAR 1409 002343 1356 TAD M40 1410 002344 5730 JMP I GET1 1411 002345 1417 GET3, TAD I AXOUT /(X-MEM) 1412 002346 3021 DCA GTEM 1413 002347 7040 CMA 1414 002350 3020 DCA XCT 1415 002351 1021 TAD GTEM 1416 002352 7112 CLL RTR 1417 002353 7012 RTR 1418 002354 7012 RTR 1419 002355 5334 JMP GEND 1420 002356 7740 M40, -40 1421 002357 7641 M137, -137 1422 002360 0000 XENDLN, 0 /TERMINATE THE BUFFERED LINE - "ENDLN" 1423 002361 7000 CDF T /(X-MEM) 1424 002362 1425 TAD I LASTLN /SAVE OLD POINTER 1425 002363 3460 DCA I BUFR 1426 002364 1060 TAD BUFR /POINT TO NEW LAST LINE 1427 002365 3425 DCA I LASTLN 1428 002366 1061 TAD QADD /CHECK FOR EXTRA INFO 1429 002367 7440 SZA 1430 002370 3410 DCA I AXIN 1431 002371 1010 TAD AXIN /COMPUTE NEW END OF BUFFER 1432 002372 7001 IAC 1433 002373 3060 DCA BUFR 1434 002374 1060 TAD STARTV /RESET VARIABLE LIST (X-MEM) 1435 002375 3031 DCA LASTV 1436 002376 5760 JMP I XENDLN 1437 TLIST3=. /LITERAL TERMINATORS 1438 002377 1250 TASK4 /" 1439 002400 0614 PC1 /C.R. = AUTOMATIC QUOTE MATCH 1440 INFIX=. /DATA CONTROL CHARACTERS 1441 002401 6202 FLINTP+2 /LEFT ARROW = KILL 1442 002402 0757 INPUT+1 /RUBOUT = IGNORE 1443 002403 0757 INPUT+1 /L.F. = IGNORE 1444 002404 6250 ENDFI+5 /ALT MODE = EXIT 1445 002405 0001 FLTONE, 0001 /(NO RELATIVE REFERENCES) 1446 002406 2000 2000 1447 002407 0000 FLTZER, 0000 1448 002410 0000 0000 1449 002411 0000 0000 1450 002412 0000 0000 1451 002413 7766 M12, -12 /DECIMAL CONVERSION FACTOR FOR "PRNT" 1452 002414 0000 I33, 0 /NO-INTERRUPT INPUT ROUTINE 1453 002415 6031 KSF 1454 002416 5215 JMP .-1 1455 002417 6036 KRB 1456 002420 0106 AND P177 /IGNORE PARITY BIT 1457 002421 7450 SNA 1458 002422 5215 JMP .-5 1459 002423 1123 TAD C200 1460 002424 5614 JMP I I33 1461 002425 0000 XPRNT, 0 /PRINT A LINE NUMBER - "PRNTLN" 1462 002426 1067 TAD LINENO 1463 002427 4557 RTL6 1464 002430 0122 AND P77 1465 002431 4242 JMS PRNT /TWO DIGIT "PART" NUMBER 1466 002432 1102 TAD PER 1467 002433 4551 PRINTC /PERIOD FOR SEPARATION 1468 002434 1067 TAD LINENO 1469 002435 4242 JMS PRNT /TWO DIGIT "STEP" NUMBER 1470 002436 1356 TAD M140 1471 002437 3066 DCA CHAR /SAVE SPACE IN CHAR. 1472 002440 4551 PRINTC /PRINT TRAILING SPACE 1473 002441 5625 JMP I XPRNT 1474 VAL=T1 1475 002442 0000 PRNT, 0 /PRINT TWO DECIMAL DIGITS 1476 002443 0106 AND P177 1477 002444 3032 DCA VAL 1478 002445 1113 TAD C260 1479 002446 3033 DCA T3 1480 002447 5252 JMP .+3 1481 002450 2033 ISZ T3 1482 002451 3032 XYZ, DCA VAL 1483 002452 1032 TAD VAL 1484 002453 1213 TAD M12 1485 002454 7500 SMA 1486 002455 5250 JMP XYZ-1 1487 002456 7200 CLA 1488 002457 1033 TAD T3 1489 002460 4551 PRINTC 1490 002461 1032 TAD VAL 1491 002462 1113 TAD C260 1492 002463 4551 PRINTC 1493 002464 5642 JMP I PRNT 1494 002465 0000 OUT, 0 /OUTPUT A CHARACTER - "PRINTC" 1495 002466 7450 SNA /USE (AC) OR (CHAR) 1496 002467 1066 TAD CHAR 1497 002470 1116 TAD MCR 1498 002471 7450 SNA 1499 002472 5276 JMP OUTCR 1500 002473 1077 TAD CCR 1501 002474 4463 JMS I OUTDEV 1502 002475 5665 OUTX, JMP I OUT 1503 002476 1077 OUTCR, TAD CCR 1504 002477 4463 JMS I OUTDEV 1505 002500 1076 TAD CLF 1506 002501 5274 JMP OUTX-1 1507 002502 0000 PACBUF, 0 /PACK A CHARACTER - "PACKC" 1508 002503 1110 TAD P277 1509 002504 7041 CIA 1510 002505 1066 TAD CHAR 1511 002506 7450 SNA /CHANGE 277 TO 337 1512 002507 1352 TAD P40 1513 002510 1101 TAD PLESUB 1514 002511 7450 SNA /TEST FOR RUBOUT. 1515 002512 5755 JMP I RUBIT 1516 002513 1353 TAD P377 1517 002514 3071 DCA T2 /SAVE INPUT ITEM 1518 002515 1071 TAD T2 /SO THAT QUESTION DOESN'T MAKE 1519 002516 0354 AND C140 /CHAR LOOK LIKE A LEFT-ARROW 1520 002517 1356 TAD M140 1521 002520 7440 SZA /DATA WORD. 1522 002521 1354 TAD C140 1523 002522 7650 SNA CLA 1524 002523 5332 JMP ESCA /340-377 AND 200-237 1525 002524 1071 PA1, TAD T2 /240-337 1526 002525 0122 AND P77 1527 002526 7440 SZA /IGNORE 300 1528 002527 4335 JMS PCK1 1529 002530 7000 PACX, CDF P /(X-MEM) 1530 002531 5702 JMP I PACBUF 1531 002532 1122 ESCA, TAD P77 1532 002533 4335 JMS PCK1 1533 002534 5324 JMP PA1 1534 002535 0000 PCK1, 0 1535 002536 2062 ISZ XCTIN /=0 TO START 1536 002537 5357 JMP ROT 1537 002540 1061 TAD QADD 1538 002541 3410 DCA I AXIN /(X-MEM) 1539 002542 3061 DCA QADD /CLEAR PACKING WORD 1540 002543 1013 TAD PDLXR /CHECK FOR OVERFLOW 1541 002544 7141 CMA IAC CLL 1542 002545 1005 TAD P13 /RESERVATIONS FOR PUSH-DOWN LIST 1543 002546 1010 TAD AXIN 1544 002547 7620 SNL CLA 1545 002550 5735 JMP I PCK1 1546 002551 4566 ERROR2 /FULL BUFFER 1547 002552 0040 P40, 40 1548 002553 0377 P377, 377 1549 002554 0140 C140, 140 1550 002555 3004 RUBIT, RUB1 1551 002556 7640 M140, -140 1552 002557 4557 ROT, RTL6 /(EAE) 1553 002560 3061 DCA QADD 1554 002561 7040 CMA 1555 002562 3062 DCA XCTIN 1556 002563 5735 JMP I PCK1 1557 / 1558 /PART OF INTERFACE TO FLD1 TO ALLOW 1559 /GETTING OF CHARS FROM TEXT 1560 / 1561 002564 4545 CGETX, GETC /******** 1562 002565 1066 TAD CHAR /******** 1563 002566 6213 6213/CIF CDF 10 /******** 1564 002567 5770 JMP I .+1 /******** 1565 002570 1137 CGETRET /******** 1566 002571 4566 ERRFIL, ERROR4 /******** 1567 002572 4540 LM, PUSHJ /* 1568 002573 1612 EVAL-1 /* 1569 002574 4453 JMS I INTEGER /* 1570 002575 6212 6212/CIF 10 /* 1571 002576 5777 JMP I .+1 /* 1572 002577 1402 LMAKE 1573 /USED BY 8K 1574 *2600 1575 /INTERRUPT PROCESSOR. 1576 002600 0000 SAVAC, 0 /CONTENTS OF AC 1577 002601 0000 SAVLK, 0 /CONTENTS OF LINK 1578 002602 7575 MBREAK, -203 /CONTROL-C 1579 002603 3200 INTRPT, DCA SAVAC /SAVE WORKING DATA 1580 002604 7010 RAR 1581 002605 3201 DCA SAVLK 1582 002606 6041 TSF /GIVE OUTPUT PRIORITY 1583 002607 5225 JMP KINT 1584 002610 6042 TCF 1585 002611 3016 DCA TELSW /TURN OF IN-PROGRESS FLAG. 1586 002612 1665 TAD I OPTRI 1587 002613 7450 SNA 1588 002614 5225 JMP KINT /DONE 1589 002615 6044 TPC /TYPE NEXT. 1590 002616 3016 DCA TELSW /CLEAR AC, SET IN-PROGRESS. 1591 002617 3665 DCA I OPTRI /ZERO OUT THE DATA AREA 1592 002620 1265 TAD OPTRI 1593 002621 7001 IAC 1594 002622 0107 AND P17 1595 002623 1263 TAD OPTR0 1596 002624 3265 DCA OPTRI 1597 002625 6031 KINT, KSF /CHECK FOR KEYBOARD FIRST 1598 002626 5246 JMP EXIT 1599 002627 6036 KRB /READ BUFFER AND CLEAR FLAG TO FETCH NEXT 1600 002630 0106 AND P177 /IGNORE BLANK AND L-T AND PARITY BIT. 1601 002631 7450 SNA 1602 002632 5246 JMP EXIT 1603 002633 1123 TAD C200 1604 002634 3262 DCA SIN 1605 002635 1262 TAD SIN 1606 002636 1202 TAD MBREAK /MANUAL STOP? 1607 002637 7650 SNA CLA 1608 002640 5340 JMP RECOVR 1609 002641 1034 TAD INBUF /ANY SPACE 1610 002642 7640 SZA CLA 1611 002643 4566 ERROR2 /WILL WAIT FOR OUTPUT BUFFER 1612 002644 1262 TAD SIN 1613 002645 3034 DCA INBUF /SAVE INPUT 1614 002646 6131 EXIT, CLSK /******** 1615 002647 5253 JMP NOCLK /******** 1616 002650 6135 CLSA /******** 1617 002651 7200 CLA /******** 1618 002652 3261 DCA CLKFLG /******** 1619 / 1620 /KW12 CLOCK INTERRUPT ROUTINE 1621 / 1622 002653 6244 NOCLK, RMF 1623 002654 1201 TAD SAVLK 1624 002655 7104 CLL RAL 1625 002656 1200 TAD SAVAC 1626 002657 6001 ION 1627 002660 5400 EXITJ, JMP I 0 /MODIFIED FOR PDP-5 1628 002661 0000 CLKFLG, 0 /******** SET TO 0 EVERY CLOCK INTERRUPT 1629 002662 0000 SIN, 0 1630 002663 3120 OPTR0, IOBUF /OUTPUT POINTERS 1631 002664 3120 OPTRO, IOBUF /VARS 1632 002665 3120 OPTRI, IOBUF 1633 002666 0000 XI33, 0 /VIA (INDEV) 1634 002667 1034 TAD INBUF /ANY INPUT? 1635 002670 7450 SNA /********* REFRESH SCOPE WHILE WAITING 1636 002671 4574 JMS I PWAIT /********* FOR INPUT 1637 002672 3276 DCA XOUTL 1638 002673 3034 DCA INBUF /CLEAR INPUT BUFFER 1639 002674 1276 TAD XOUTL 1640 002675 5666 JMP I XI33 1641 002676 0000 XOUTL, 0 /VIA (OUTDEV) 1642 002677 3266 DCA XI33 /SAVE CURRENT CHARACTER 1643 002700 6001 ION /BE SURE INTERRUPT IS ON. 1644 002701 1664 TAD I OPTRO /ANY ROOM? 1645 002702 7640 SZA CLA /A CHARACTER IS NON-ZERO 1646 002703 4574 JMS I PWAIT /******** REFRESH SCOPE 1647 002704 6002 IOF 1648 002705 1016 TAD TELSW /IN PROGRESS? 1649 002706 7640 SZA CLA 1650 002707 5314 JMP .+5 1651 002710 1266 TAD XI33 /NO 1652 002711 6046 TLS /TYPE CHARACTER 1653 002712 3016 DCA TELSW /SET IN-PROGRESS FLAG. 1654 002713 5323 JMP .+10 /RETURN 1655 002714 1266 TAD XI33 /SEND DATA 1656 002715 3664 DCA I OPTRO 1657 002716 1264 TAD OPTRO /SET POINTERS 1658 002717 7001 IAC 1659 002720 0107 AND P17 1660 002721 1263 TAD OPTR0 1661 002722 3264 DCA OPTRO 1662 002723 6001 ION 1663 002724 5676 JMP I XOUTL 1664 /ERROR RECOVERY PROCEDURE 1665 002725 3326 ERROR5, DCA .+1 /ERROR CALLED FROM A TABLE 1666 002726 0000 ERR2, 0 /LIMIT EXCEEDED 1667 002727 7240 CLA CMA /COMPUTE CALLING ADDRESS (ALSO "SPACE") 1668 002730 1326 TAD ERR2 /AND USE IT AS ERROR NUMBER 1669 002731 3067 DCA LINENO /SAVE ERROR CODE 1670 002732 6001 ION / (JMP .+4) - FOR DEBUGGING 1671 002733 1016 TAD TELSW /WAIT FOR OUTPUT TO FINISH 1672 002734 7640 SZA CLA 1673 002735 5333 JMP .-2 1674 002736 6002 IOF /DISABLE INTERRUPT FOR INITIALIZATIONS 1675 002737 5342 JMP .+3 1676 002740 1123 RECOVR, TAD C200 1677 002741 3067 DCA LINENO /SAVE ERROR NUMBER 1678 /**** 1679 002742 1105 TAD M20 /SETUP INIT COUNT 1680 002743 3057 DCA CNTR 1681 002744 7040 CMA 1682 002745 1263 TAD OPTR0 1683 002746 3010 DCA AXIN /INIT I/O BUFFERS. 1684 002747 2016 ISZ TELSW /* 1685 002750 7000 CDF /(X-MEM RESET) 1686 002751 3410 DCA I AXIN 1687 002752 2057 ISZ CNTR 1688 002753 5351 JMP .-2 1689 002754 3034 DCA INBUF /INIT KEY-BUFR. 1690 002755 1263 TAD OPTR0 /INIT TTY POINTERS. 1691 002756 3265 DCA OPTRI 1692 002757 1263 TAD OPTR0 1693 002760 3264 DCA OPTRO 1694 002761 7040 RECOVX, CMA /PREPARE A STOP BIT FOR TTY 1695 002762 6046 TLS /AND RAISE FLAG. (NOP) - FOR DEBUGGING 1696 002763 1101 TAD P7700 /MAKE A "?". 1697 002764 4551 PRINTC /AND TURN ON THE INTERRUPT 1698 002765 4553 PRNTLN /PRINT ERROR NUMBER AND SPACE 1699 002766 2022 ISZ PC 1700 002767 1422 TAD I PC /UNLESS IT IS ZERO. (X-MEM) 1701 002770 7450 SNA 1702 002771 5377 JMP .+6 1703 002772 3067 DCA LINENO 1704 002773 1101 TAD P7700 /PRINT ATSIGN 1705 002774 4551 PRINTC 1706 002775 4551 PRINTC /PRINT SPACE ?IN AND 1707 002776 4553 PRNTLN /PRINT LINE OF ERROR. 1708 002777 1077 TAD CCR 1709 003000 4551 PRINTC 1710 003001 1126 TAD PTCH /RESET "READC" 1711 003002 3152 DCA RDIV /IF AN ERROR OCCURS. 1712 003003 5177 JMP START /INTERRUPT WILL BE RE-ENABLED. 1713 /CHARACTER REMOVAL ROUTINE 1714 003004 1062 RUB1, TAD XCTIN /RUBOUT ONE LETTER 1715 003005 7640 SZA CLA 1716 003006 5214 JMP .+6 1717 003007 1010 TAD AXIN 1718 003010 7041 CIA 1719 003011 1027 TAD PACKST 1720 003012 7700 SMA CLA /TEST NULL LINE 1721 003013 5641 JMP I RUB5 1722 003014 1251 TAD SPLAT /FOR A RUBOUT ACKNOWLEDGEMENT 1723 003015 4551 PRINTC 1724 003016 1010 TAD AXIN 1725 003017 3071 DCA T2 1726 003020 7000 CDF T /(X-MEM) 1727 003021 2062 ISZ XCTIN /TEST HALF 1728 003022 5242 JMP RUB2 1729 003023 1471 TAD I T2 /"ADD" IS FULL. 1730 003024 0122 AND P77 1731 003025 1103 TAD M77 1732 003026 7640 SZA CLA /TEST FOR EXTEND 1733 003027 5237 JMP RUB4 1734 003030 7040 RUB3, CMA /SET SWITCH 1735 003031 3062 DCA XCTIN 1736 003032 7040 CMA /BACKUP POINTER 1737 003033 1010 TAD AXIN 1738 003034 3010 DCA AXIN 1739 003035 1471 TAD I T2 /RESET ADD 1740 003036 0101 AND P7700 1741 003037 3061 RUB4, DCA QADD 1742 003040 5641 JMP I RUB5 1743 003041 2530 RUB5, PACX 1744 003042 1471 RUB2, TAD I T2 /CHECK FOR EXTENDED 1745 003043 0101 AND P7700 1746 003044 1006 TAD C100 1747 003045 7640 SZA CLA 1748 003046 5230 JMP RUB3 1749 003047 3471 DCA I T2 /SAVE CORRECTION 1750 003050 5231 JMP RUB3+1 1751 003051 0334 SPLAT, 334 1752 /SYMBOL TABLE TYPEOUT ROUTINE 1753 003052 1060 TDUMP, TAD STARTV /INIT POINTER FOR SYMBOL DUMP. (X-MEM) 1754 003053 3030 DCA PT1 1755 003054 1031 TAD LASTV 1756 003055 7041 CIA 1757 003056 1030 TAD PT1 1758 003057 7650 SNA CLA 1759 003060 5541 POPJ 1760 003061 1430 TAD I PT1 /GET THE VARIABLE 1761 003062 3316 DCA OP+1 /(DCA I (4) - FOR (X-MEM)); SAVE NAME 1762 003063 1315 TAD OP /SETUP UNPACK POINTER 1763 003064 3017 DCA AXOUT 1764 003065 3020 DCA XCT 1765 003066 4545 GETC /READ AND PRINT "XX(" 1766 003067 4551 PRINTC 1767 003070 4545 GETC 1768 003071 4551 PRINTC 1769 003072 4545 GETC 1770 003073 4551 PRINTC 1771 003074 2030 ISZ PT1 1772 003075 1430 TAD I PT1 /PRINT SUBSCRIPT TO 99 1773 003076 4714 JMS I PRNT2 1774 003077 4545 GETC /PRINT ")" 1775 003100 4551 PRINTC 1776 003101 2030 ISZ PT1 1777 003102 4407 FINT /PICK UP VARIABLE 1778 003103 0430 FGET I PT1 1779 003104 0000 FXIT 1780 003105 4530 JMS I FOUTPUT /PRINT VALUE 1781 003106 1077 TAD Y 1782 003107 4551 PRINTC 1783 003110 1070 TAD GINC 1784 003111 1111 TAD M2 1785 003112 1030 TAD PT1 1786 003113 5253 JMP TDUMP+1 1787 003114 2442 PRNT2, PRNT 1788 003115 3115 OP, . / (X-MEM) 1789 003116 0000 0000 / (X-MEM) 1790 003117 5051 5051 /(THESE GO IN 10005 FOR X-MEM) 1791 /OUTPUT CHARACTER BUFFER (ADDRESS IS A MULTIPLE OF 20) 1792 IOBUF=3120 1793 COMEIN=IOBUF+20 /COMMAND - INPUT BUFFER 1794 COMEOUT=COMEIN+46 1795 *COMEOUT 1796 003206 0000 FRST, 0 /TEXT POINTER 1797 003207 0000 0000 /DUMMY LINE NUMBER 1798 003210 0340 0340 /"C " /******** 1799 003211 0617 0617 /"FO" 1800 003212 0301 0301 /"CA" 1801 003213 1455 1455 /"L-" /******** 1802 003214 6162 FRSTX, 6162 /"12" /******** 1803 003215 7715 7715 /C.R. 1804 /TO SAVE TEXT, SAVE C(BUFR), C(LASTV), AND (C(FRST) TO C(BUFR)) 1805 /WITH ODT-JR. THE TAPES MAY BE TOGETHER WITH 1806 /THE SYMBOLIC DUMP LAST: FOCAL + FLOAT + DIALOG. 1807 /LOADING THE LAST SECTION MAY BE CONSIDERED OPTIONAL. 1808 BUFBEG=. /TEXT BUFFER STARTS HERE. 1809 *3600 1810 003600 2741 O1, RECOVR+1/STARTING ADDRESS 1811 003601 1200 BEGIN, TAD O1 /INITIALIZE ANY 8-FAMILY COMPUTER. 1812 003602 3176 DCA START-1 1813 003603 7000 NOP/(IOPRESET) /******** 1814 003604 4575 JMS I PCLEAR /******** INITIALIZE THE POINT DISPLAY 1815 003605 7300 CLA CLL 1816 003606 3414 DCA I FLTXR 1817 003607 2057 ISZ CNTR/INITIALIZED BY LOAD. 1818 003610 5206 JMP .-2 /CLEAR INPUT BUFFER 1819 003611 7200 T12, CLA /******** FIX UP DIAL I/O ROUTINES 1820 003612 6213 6213/CIF CDF 10 /******** 1821 003613 3667 DCA I G7775 /******** 1822 003614 1262 TAD G5772 /******** 1823 003615 3670 DCA I G7776 /******** 1824 003616 1263 TAD G5773 /******** 1825 003617 3671 DCA I G7777 /******** 1826 003620 6201 6201 /******** 1827 003621 4666 JMS I G7774 /******** 1828 003622 3655 GBLOK /******** 1829 003623 6212 6212/CIF 10 /******** 1830 003624 4664 JMS I G7200 /******** 1831 003625 6211 6211 /******** 1832 003626 2400 2400 /******** 1833 003627 6211 6211 /******** 1834 003630 7400 7400 /******** 1835 003631 0400 400 /******** 1836 003632 6212 6212/CIF 10 /******** 1837 003633 4667 JMS I G7775 /******** WRITE MILDRED INTO UPPER 1838 003634 3651 RITEOU /******** SOURCE WORKING AREA 1839 003635 6132 CLLR /******** INITIALIZE CLOCK 1840 003636 6134 CLEN /******** 1841 003637 7240 CLA CMA /******** 1842 003640 6133 CLAB /******** 1843 003641 1261 TAD G101 /******** 1844 003642 6132 CLLR /******** 1845 003643 6135 CLSA /******** 1846 003644 7200 CLA /******** 1847 003645 6046 TLS /******** 1848 003646 6001 ION /******** 1849 003647 5650 JMP I .+1 /******** ERASE ALL 1850 003650 2216 ERT /******** 1851 003651 0110 RITEOU, 110 /******** 1852 003652 0030 30 /******** 1853 003653 0076 76 /******** 1854 003654 0002 2 /******** 1855 003655 0100 GBLOK, 100 /******** 1856 003656 0025 25 /******** 1857 003657 0023 23 /******** 1858 003660 0001 1 /******** 1859 003661 0101 G101, 101 /******** 1860 003662 5772 G5772, 5772 /******** 1861 003663 5773 G5773, 5773 /******** 1862 003664 7200 G7200, 7200 /******** 1863 003665 7773 G7773, 7773 /******** 1864 003666 7774 G7774, 7774 /******** 1865 003667 7775 G7775, 7775 /******** 1866 003670 7776 G7776, 7776 /******** 1867 003671 7777 G7777, 7777 /******** 1868 *4600+20 1869 004620 1045 FEXP, GETSGN /TAKE ABSOLUTE VALUE 1870 004621 7710 SPA CLA 1871 004622 4724 JMS I NEGP 1872 004623 3033 DCA T3 /C(SIGN)=-1 IF X2 < 0 1873 004624 4407 FINT 1874 004625 4313 FMUL LG2E 1875 004626 6675 FPUT I X2 1876 004627 0000 FEXT 1877 004630 4453 JMS I INTEGER /TAKE INTEGER PART 1878 004631 3325 DCA FLAG2 /SAVE LOW ORDER DATA 1879 004632 4407 FINT 1880 004633 7000 FNOR 1881 004634 6676 FPUT I XSQ2 1882 004635 0675 0675 1883 004636 2676 FSUB I XSQ2 1884 004637 6675 FPUT I X2 1885 004640 4675 FMUL I X2 1886 004641 6676 6676 1887 004642 1310 FADD DF 1888 004643 6326 FPUT TEMP 1889 004644 0305 FGET CF 1890 004645 3326 FDIV TEMP 1891 004646 2675 FSUB I X2 1892 004647 1277 FADD AF 1893 004650 6326 FPUT TEMP 1894 004651 0302 FGET BF 1895 004652 4676 FMUL I XSQ2 1896 004653 1326 FADD TEMP 1897 004654 6326 FPUT TEMP 1898 004655 0675 FGET I X2 1899 004656 3326 FDIV TEMP 1900 004657 4321 FMUL TWO 1901 004660 1316 FADD ONE 1902 004661 0000 FEXT 1903 004662 1325 TAD FLAG2 1904 004663 1044 TAD FLAC 1905 004664 3044 DCA FLAC 1906 004665 2033 ISZ T3 1907 004666 5536 JMP I XLG 1908 004667 4407 FINT 1909 004670 6675 FPUT I X2 1910 004671 0316 0316 1911 004672 3675 FDIV I X2 1912 004673 0000 FEXT 1913 004674 5536 JMP I XLG 1914 /CONSTANTS FOR FEXP 1915 004675 5321 X2, X 1916 004676 5325 XSQ2, XSQR 1917 004677 0004 AF, 0004 1918 004700 2372 2372 1919 004701 1402 1402 1920 004702 7774 BF, 7774 1921 004703 2157 2157 1922 004704 5157 5157 1923 004705 0012 CF, 0012 1924 004706 5454 5454 1925 004707 0343 0343 1926 004710 0007 DF, 0007 1927 004711 2566 2566 1928 004712 5341 5341 1929 004713 0001 LG2E, 0001 1930 004714 2705 2705 1931 004715 2435 2435 1932 004716 0001 ONE, 0001 1933 004717 2000 2000 1934 004720 0000 0000 1935 004721 0002 TWO, 0002 1936 004722 2000 2000 1937 004723 0000 0000 1938 004724 5163 NEGP, FNEG 1939 004725 0000 FLAG2, 0 1940 004726 0000 TEMP, 0 1941 004727 0000 0 1942 004730 0000 0 1943 004731 0000 0 1944 /MAIN ALGORITHM FOR ARCTANGENT 1945 004732 4407 ARCALG, FINT 1946 004733 0675 FGET I X2 1947 004734 4675 FMUL I X2 1948 004735 6676 FPUT I XSQ2 1949 004736 4374 FMUL BET2 1950 004737 1371 FADD BET1 1951 004740 4676 FMUL I XSQ2 1952 004741 1366 FADD BETZ 1953 004742 6326 FPUT TEMP 1954 004743 0363 FGET ALF2 1955 004744 4676 FMUL I XSQ2 1956 004745 1360 FADD ALF1 1957 004746 4676 FMUL I XSQ2 1958 004747 1355 FADD ALFZ 1959 004750 4675 FMUL I X2 1960 004751 3326 FDIV TEMP 1961 004752 0000 FEXT 1962 004753 5754 JMP I .+1 1963 004754 5024 ARCRTN 1964 /CONSTANTS - FLOATING ARC TANGENT 1965 004755 0000 ALFZ, 0 1966 004756 2437 2437 1967 004757 1643 1643 1968 004760 7777 ALF1, 7777 1969 004761 3304 3304 1970 004762 4434 4434 1971 004763 7773 ALF2, 7773 1972 004764 3306 3306 1973 004765 5454 5454 1974 004766 0000 BETZ, 0000 1975 004767 2437 2437 1976 004770 1646 1646 1977 004771 0000 BET1, 0000 1978 004772 2427 2427 1979 004773 2323 2323 1980 004774 7775 BET2, 7775 1981 004775 3427 3427 1982 004776 7052 7052 1983 /FLOATING POINT ARC TANGENT 1984 *5000 1985 005000 1045 ARTN, GETSGN /TAKE ABSOLUTE VALUE 1986 005001 7710 SPA CLA 1987 005002 4363 FMUL FNEG 1988 005003 3033 FDIV T3 1989 005004 4407 FMUL I O360 1990 005005 6635 FPUT I X1 1991 005006 2637 FSUB I CON1 1992 005007 0000 FEXT 1993 005010 1045 TAD HORD 1994 005011 7710 SPA CLA 1995 005012 5221 JMP GO /LESS THAN ONE 1996 005013 4407 FINT 1997 005014 0637 FGET I CON1 1998 005015 3635 FDIV I X1 1999 005016 6635 FPUT I X1 2000 005017 0000 FEXT 2001 005020 7240 CLA CMA 2002 005021 3362 GO, DCA FLAG1 /SIGN FLAG OF RESULT 2003 005022 5623 JMP I .+1 /CALL ALGORITHM 2004 005023 4732 ARCALG 2005 005024 2362 ARCRTN, ISZ FLAG1 /RETURN HERE 2006 005025 5634 JMP I EXIT1 2007 005026 4407 FINT 2008 005027 6635 FPUT I X1 2009 005030 0636 FGET I PI2 2010 005031 2635 FSUB I X1 2011 005032 0000 FEXT 2012 005033 5634 JMP I .+1 2013 005034 5301 EXIT1, EXIT2 2014 /CONSTANTS FOR ARCTANGENT 2015 005035 5321 X1, X 2016 005036 5315 PI2, PIOT 2017 005037 4716 CON1, ONE 2018 005040 1045 FLOG, GETSGN /FLOATING LOGARITHM 2019 005041 7450 SNA 2020 005042 4566 ERROR3 /ZERO ARGUMENT FOR LOG 2021 005043 7710 SPA CLA 2022 005044 4566 ERROR4 /* 2023 005045 4407 FINT 2024 005046 6756 FPUT I TEM 2025 005047 2637 FSUB I CON1 2026 005050 0000 FEXT 2027 005051 1045 GETSGN 2028 005052 7450 SNA 2029 005053 5536 RETURN 2030 005054 7700 SMA CLA 2031 005055 5264 JMP STARTL 2032 005056 4407 FINT 2033 005057 0637 FGET I CON1 2034 005060 3756 FDIV I TEM 2035 005061 6756 FPUT I TEM 2036 005062 0000 FEXT 2037 005063 7240 CLA CMA 2038 005064 3033 STARTL, DCA T3 2039 005065 1005 TAD P13 2040 005066 3044 DCA FLAC 2041 005067 7040 CMA 2042 005070 1756 TAD I TEM 2043 005071 3045 DCA FLAC+1 2044 005072 3046 DCA FLAC+2 2045 005073 3047 DCA FLAC+3 2046 005074 7001 IAC 2047 005075 3756 DCA I TEM 2048 005076 4407 FINT 2049 005077 4357 FMUL LOG2 2050 005100 6635 FPUT I X1 2051 005101 0756 FGET I TEM 2052 005102 2637 FSUB I CON1 2053 005103 6756 FPUT I TEM 2054 005104 4353 FMUL LOG8 2055 005105 1350 FADD LOG7 2056 005106 4756 FMUL I TEM 2057 005107 1345 FADD LOG6 2058 005110 4756 FMUL I TEM 2059 005111 1342 FADD LOG5 2060 005112 4756 FMUL I TEM 2061 005113 1337 FADD L4 2062 005114 4756 FMUL I TEM 2063 005115 1334 FADD L3 2064 005116 4756 FMUL I TEM 2065 005117 1331 FADD L2 2066 005120 4756 FMUL I TEM 2067 005121 1326 FADD L1 2068 005122 4756 FMUL I TEM 2069 005123 1635 FADD I X1 2070 005124 0000 FEXT 2071 005125 5634 JMP I EXIT1 2072 005126 0000 L1, 0 2073 005127 3777 3777 2074 005130 7742 7742 2075 005131 7777 L2, 7777 2076 005132 4000 4000 2077 005133 4100 4100 2078 005134 7777 L3, 7777 2079 005135 2517 2517 2080 005136 0310 0310 2081 005137 7776 L4, 7776 2082 005140 4113 4113 2083 005141 7211 7211 2084 /LOGARITHM CONSTANTS 2085 005142 7776 LOG5, 7776 2086 005143 2535 2535 2087 005144 3301 3301 2088 005145 7775 LOG6, 7775 2089 005146 4746 4746 2090 005147 0771 0771 2091 005150 7774 LOG7, 7774 2092 005151 2236 2236 2093 005152 4304 4304 2094 005153 7771 LOG8, 7771 2095 005154 4544 4544 2096 005155 1735 1735 2097 005156 4726 TEM, TEMP 2098 005157 0000 LOG2, 0 2099 005160 2613 2613 2100 005161 4414 4414 2101 005162 0000 FLAG1, 0 2102 005163 0000 FNEG, 0 2103 005164 4451 JMS I MINSKI 2104 005165 7240 CLA CMA 2105 005166 5763 JMP I FNEG 2106 005167 6213 LO, 6213/CIF CDF 10 /******** 2107 005170 5126 JMP XLO /******** 2108 005171 6213 LC, 6213/CIF CDF 10 /******** 2109 005172 5130 JMP XLC /******** 2110 005173 6213 LL, 6213/CIF CDF 10 /******** 2111 005174 5132 JMP XLL /******** 2112 /FLOATING POINT SINE AND COSINE 2113 2114 2115 2116 *5177 2117 005177 4407 FCOS, FINT /COS(X)=SIN(/PI/2-X) 2118 005200 6321 FPUT X 2119 005201 0315 FGET PIOT 2120 005202 2321 FSUB X 2121 005203 0000 FEXT 2122 005204 1045 FSIN, GETSGN 2123 005205 7740 SMA SZA CLA 2124 005206 5214 JMP MOD 2125 005207 1045 GETSGN 2126 005210 7700 SMA CLA 2127 005211 5536 RETURN /YES SIN(0) = 0 2128 005212 4451 JMS I MINSKI 2129 005213 7040 CMA /NO: SIN(-X)=-SIN(X) 2130 005214 3033 MOD, DCA T3 2131 /REDUCE X MODULO 2 PI 2132 005215 4407 FINT 2133 005216 3305 FDIV TWOPI 2134 005217 6325 FPUT XSQR 2135 005220 0000 FEXT 2136 005221 4453 JMS I INTEGER 2137 005222 4407 FINT 2138 005223 7000 FNOR 2139 005224 6321 FPUT X 2140 005225 0325 FGET XSQR 2141 005226 2321 FSUB X 2142 005227 4305 FMUL TWOPI 2143 005230 6321 FPUT X 2144 005231 2311 FSUB PI /X < PI ? 2145 005232 0000 FEXT 2146 005233 1045 GETSGN 2147 005234 7710 SPA CLA 2148 005235 5244 JMP PCHECK /YES 2149 005236 4407 FINT /NO, SIN(X-PI) = -SIN(X) 2150 005237 6321 FPUT X 2151 005240 0000 FEXT 2152 005241 1033 TAD T3 /INVERT THE SIGN 2153 005242 7040 CMA 2154 005243 3033 DCA T3 2155 005244 4407 PCHECK, FINT /X < PI/2 ? 2156 005245 0321 FGET X 2157 005246 2315 FSUB PIOT 2158 005247 0000 FEXT 2159 005250 1045 GETSGN 2160 005251 7710 SPA CLA 2161 005252 5260 JMP PALG /YES 2162 005253 4407 FINT /NO 2163 005254 0311 FGET PI /SIN(X) = SIN(PI-X) 2164 005255 2321 FSUB X 2165 005256 6321 FPUT X 2166 005257 0000 FEXT 2167 005260 4407 PALG, FINT 2168 005261 0321 FGET X 2169 005262 3315 FDIV PIOT 2170 005263 6321 FPUT X 2171 005264 4321 FMUL X 2172 005265 6325 FPUT XSQR 2173 005266 0331 FGET C9 2174 005267 4325 FMUL XSQR 2175 005270 1335 FADD C7 2176 005271 4325 FMUL XSQR 2177 005272 1341 FADD C5 2178 005273 4325 FMUL XSQR 2179 005274 1345 FADD C3 2180 005275 4325 FMUL XSQR 2181 005276 1315 FADD PIOT 2182 005277 4321 FMUL X 2183 005300 0000 FEXT 2184 005301 2033 EXIT2, ISZ T3 2185 005302 5536 RETURN 2186 005303 4451 JMS I MINSKI 2187 005304 5536 RETURN 2188 /CONSTANTS AND POINTERS 2189 005305 0003 TWOPI, 0003 2190 005306 3110 3110 2191 005307 3756 3756 2192 005310 3235 3235 2193 005311 0002 PI, 0002 2194 005312 3110 3110 2195 005313 3756 3756 2196 005314 3235 3235 2197 005315 0001 PIOT, 0001 2198 005316 3110 3110 2199 005317 3756 3756 2200 005320 3235 3235 2201 005321 0000 X, 0000 2202 005322 0000 0000 2203 005323 0000 0000 2204 005324 0000 0000 2205 005325 0000 XSQR, 0000 2206 005326 0000 0000 2207 005327 0000 0000 2208 005330 0000 0000 2209 /SINE CONSTANTS 2210 005331 7764 C9, 7764 2211 005332 2501 2501 2212 005333 7015 7015 2213 005334 1042 1042 2214 005335 7771 C7, 7771 2215 005336 5464 5464 2216 005337 5514 5514 2217 005340 6150 6150 2218 005341 7775 C5, 7775 2219 005342 2431 2431 2220 005343 5361 5361 2221 005344 4736 4736 2222 005345 0000 C3, 0000 2223 005346 5325 5325 2224 005347 0414 0414 2225 005350 3167 3167 2226 /END OF EXTENDED FUNCTIONS 2227 / 2228 /HANDLES O I, EXPRESSION 2229 /SETS CLOCK ACCORDING TO EXPRESSION 2230 / 2231 005351 4540 SETCLK, PUSHJ /******** 2232 005352 1612 EVAL-1 /******** 2233 005353 4407 FINT /******** 2234 005354 4375 FMUL MHUNDRD /******** 2235 005355 0000 FEXT /******** 2236 005356 6132 CLLR /******** 2237 005357 6134 CLEN /******** 2238 005360 4453 JMS I INTEGER /******** 2239 005361 6133 CLAB /******** 2240 005362 7200 CLA /******** 2241 005363 1006 TAD C100 /******** 2242 005364 6132 CLLR /******** 2243 005365 1123 TAD C200 /******** 2244 005366 6134 CLEN /******** 2245 005367 1374 TAD O4600 /******** 2246 005370 6132 CLLR /******** 2247 005371 7200 CLA /******** 2248 005372 5773 JMP I .+1 /******** 2249 005373 0611 PROC /******** 2250 005374 4600 O4600, 4600 /******** 2251 005375 0007 MHUNDRD,7;4700;0 /******** 005376 4700 005377 0000 2252 /PAGE 1 - INPUT/OUTPUT ROUTINES FOR THE FOCAL 2253 /FLOATING POINT PACKAGE. 2254 /IN THE COMMENTS BELOW: 2255 / F = NUMBER OF DIGITS TO BE OUTPUT = FISW 2256 / D = NUMBER OF DECIMAL PLACES = DECP 2257 / E = DECIMAL EXPONENT = BEXP 2258 / P = NUMBER OF PLACES REMAINING TO BE 2259 / PRINTED BEFORE DECIMAL POINT 2260 *5400 2261 DIGITS=6 /NUMBER OF DECIMAL DIGITS OUT 2262 005400 0000 TGO, 0 2263 005401 3334 DCA SCOUNT /SAVE MAX. NUMBER OF DIGITS AVAILABLE - *SET COUNTS* 2264 005402 1052 TAD FISW 2265 005403 4557 RTL6 2266 005404 0122 AND P77 2267 005405 3032 DCA T1 2268 005406 1032 TAD T1 2269 005407 7041 CIA /NO, COMPUTE FIELD SIZES 2270 005410 7450 SNA 2271 005411 1326 TAD MD 2272 005412 3335 DCA FCOUNT 2273 005413 1052 TAD FISW /(JMP FPRNT) = FOR NO ROUNDING. 2274 005414 7450 SNA /FLOATING OUTPUT? 2275 005415 5241 JMP R6 /YES, ROUND OFF TO MAX. NO. OF PLACES 2276 005416 0122 AND P77 2277 005417 3333 DCA DECP 2278 005420 1335 TAD FCOUNT 2279 005421 1333 TAD DECP 2280 005422 7510 SPA / F-D > 0 ? 2281 005423 5230 JMP .+5 /YES 2282 005424 7240 CLA CMA /NO. 2283 005425 1032 TAD T1 2284 005426 3333 DCA DECP /MAKE D = F-1 2285 005427 7040 CMA 2286 005430 1033 TAD T3 /COMPARE DECIMAL EXPONENT 2287 005431 7500 SMA / F-D > E ? 2288 005432 7200 CLA /NO, ROUND OFF TO .F PLACES 2289 005433 1032 TAD T1 /YES 2290 005434 7510 SPA / D+E < 0 ? 2291 005435 5263 JMP FPRNT-2 /YES, NO ROUNDING NEEDED. GO TO PRINT 2292 005436 1326 TAD MD /NO, ROUND TO D+E PLACES, 2293 005437 7500 SMA /TO A MAXIMUM OF D PLACES 2294 005440 7200 CLA 2295 005441 1327 R6, TAD RND2 / *ROUND UP* 2296 005442 3071 DCA T2 /SAVE NUMBER+1 OF PLACES TO ROUND TO. 2297 005443 1731 TAD I BUFST 2298 005444 1071 TAD T2 /SET UP BUFFER ADDRESS AT WHICH 2299 005445 3336 DCA PLCE /ROUNDING SHOULD START 2300 005446 1071 TAD T2 2301 005447 7041 CIA /SET UP COUNT OF MAXIMUM NUMBER 2302 005450 3071 DCA T2 /OF CARRIES ALLOWABLE 2303 005451 1325 TAD K5 /LITTLE EXTRA ON FIRST DIGIT. 2304 005452 2736 RET, ISZ I PLCE /ADD ONE TO DIGIT AT CURRENT POSITION 2305 005453 1736 TAD I PLCE 2306 005454 1330 TAD OM12 2307 005455 7710 SPA CLA /CARRY REQUIRED? 2308 005456 5265 JMP FPRNT /NO, GO TO OUTPUT 2309 005457 3736 DCA I PLCE /YES, MAKE CURRENT DIGIT ZERO 2310 005460 2071 ISZ T2 /BEGINNING OF BUFFER REACHED? 2311 005461 5321 JMP DECR /NO, DECREMENT BUFFER ADDRESS AND REPEAT 2312 005462 2736 ISZ I PLCE /YES, SET MANTISSA TO 0.1 2313 005463 2033 ISZ T3 /COMPENSATE BY INCREMENTING EXPONENT 2314 005464 7200 CLA 2315 005465 1052 FPRNT, TAD FISW /AUTO-INDEX REGISTER ALREADY SET. - *PRINT* 2316 005466 7650 SNA CLA / F = 0 ? 2317 005467 5356 JMP FLOUT /YES, OUTPUT AS FLOATING NUMBER 2318 005470 1335 TAD FCOUNT 2319 005471 1033 TAD T3 2320 005472 7540 SMA SZA / E > F ? 2321 005473 5355 JMP FLOUT-1 /YES, CONVERT TO E FORMAT 2322 005474 1333 TAD DECP 2323 005475 7500 SMA / E < F-D ? 2324 005476 7200 CLA /NO, TAKE P = E 2325 005477 7041 CIA /YES, TAKE P = F-D 2326 005500 1033 TAD T3 2327 005501 7041 CIA 2328 005502 3032 DCA T1 /SET UP MINUS P 2329 005503 1033 BACK, TAD T3 /PRINT DD.DDD 2330 005504 1032 TAD T1 2331 005505 7650 SNA CLA / P = E ? 2332 005506 5343 JMP DIG /YES, PRINT DIGIT 2333 005507 1032 TAD T1 /NO. 2334 005510 7001 IAC 2335 005511 7710 SPA CLA / P > 1 ? 2336 005512 1105 TAD M20 /YES, TAKE SPACE (240-260); OTHERWIZE ZERO 2337 005513 4336 IN, JMS OUTA /PRINT CHARACTER 2338 005514 2032 ISZ T1 /P CHARACTERS PRINTED? 2339 005515 5303 JMP BACK /NO 2340 005516 1102 TAD PER /YES. 2341 005517 4551 PRINTC /PRINT DECIMAL POINT 2342 005520 5303 JMP BACK 2343 005521 7040 DECR, CMA /BACKUP TO TOP OF BUFFER. 2344 005522 1336 TAD PLCE 2345 005523 3336 DCA PLCE 2346 005524 5252 JMP RET 2347 005525 0004 K5, 4 2348 005526 7772 MD, -DIGITS 2349 005527 0007 RND2, DIGITS+1 2350 005530 7766 OM12, -12 2351 005531 6150 BUFST, SADR 2352 005532 6154 OPUT, OUTDG 2353 005533 0000 DECP, 0 /MODIFIABLE LOCATIONS 2354 005534 0000 SCOUNT, 0 2355 005535 0000 FCOUNT, 0 2356 PLCE=. 2357 005536 0000 OUTA, 0 /MODIFIED REGISTERS. 2358 005537 4732 JMS I OPUT /PRINT CHARACTER 2359 005540 2335 ISZ FCOUNT /F CHARACTERS PRINTED? 2360 005541 5736 JMP I OUTA /NO, RETURN 2361 005542 5600 JMP I TGO /YES, NUMBER FINISHED 2362 005543 7040 DIG, CMA 2363 005544 1033 TAD T3 /REDUCE E, BY 1 2364 005545 3033 DCA T3 2365 005546 2334 ISZ SCOUNT /ARE ALL SIG. FIGS. USED? 2366 005547 5353 JMP .+4 /NO 2367 005550 7040 CMA /YES. 2368 005551 3334 DCA SCOUNT /RESET COUNT TO -1 2369 005552 5313 JMP IN /AND LEAVE C(AC) = 0 2370 005553 1414 TAD I FLTXR /TAKE NEXT DIGIT FROM BUFFER 2371 005554 5313 JMP IN 2372 /DO FLOATING OUTPUT 2373 005555 7200 CLA /IF OUTPUT TOO LARGE. 2374 005556 4732 FLOUT, JMS I OPUT /PRINT "0" 2375 005557 1102 TAD PER 2376 005560 4551 PRINTC /PRINT "." 2377 005561 2200 ISZ TGO /SECOND RETURN 2378 005562 1414 TAD I FLTXR /TAKE NEXT DIGIT FROM BUFFER 2379 005563 4336 JMS OUTA /PRINT IT 2380 005564 2334 ISZ SCOUNT /TEST FOR END OF INPUT 2381 005565 5362 JMP .-3 /AND REPEAT 2382 005566 7040 CMA 2383 005567 3334 DCA SCOUNT /OUTPUT EXTRA ZEROS. 2384 005570 5363 JMP .-5 2385 005571 0000 ABSOLV, 0 2386 005572 1045 TAD HORD 2387 005573 3050 DCA SIGNF 2388 005574 1045 TAD HORD 2389 005575 7710 SPA CLA 2390 005576 4451 JMS I MINSKI 2391 005577 5771 JMP I ABSOLV 2392 /DOUBLE PRECISION DECIMAL-BINARY 2393 /INPUT AND CONVERSION FOR + OR - XXX... 2394 *5600 2395 005600 0000 DECONV, 0 2396 005601 3046 DCA LORD 2397 005602 3044 DCA EXP /ZERO THE EXPONENT AND 2398 005603 3045 DCA HORD /INITIALIZE FLOATING AC. 2399 005604 3047 DCA OVER2 2400 005605 3314 DCA DNUMBR 2401 005606 3050 DCA SIGNF 2402 005607 1066 TAD CHAR /ALLOW KEYBOARD SIGN CHECKS. 2403 005610 1264 TAD MPLUS 2404 005611 7450 SNA 2405 005612 5220 JMP .+6 /+SIGN; GET NEXT 2406 005613 1111 TAD M2 /CHECK - SIGN 2407 005614 7640 SZA CLA 2408 005615 5221 JMP .+4 2409 005616 7040 CMA /INIT SIGN CHECK TO POS. 2410 005617 3050 DCA SIGNF 2411 005620 4666 JMS I XINPUT /GET NEXT 2412 005621 1066 TAD CHAR /A SPACE PERHAPS? 2413 005622 1265 TAD MSPACE 2414 005623 7650 SNA CLA 2415 005624 5220 JMP .-4 2416 005625 4227 JMS DECON 2417 005626 5600 JMP I DECONV 2418 005627 0000 DECON, 0 2419 005630 1066 TAD CHAR /TEST LEAD CHARACTER FOR TERMINATOR 2420 005631 1262 TAD MINE 2421 005632 7650 SNA CLA 2422 005633 5627 JMP I DECON /E 2423 005634 4561 TESTN 2424 005635 5627 JMP I DECON /. 2425 005636 5247 JMP DTST /OTHER 2426 005637 1054 TAD SORTCN /N 2427 005640 3313 DSAVE, DCA DIGIT /YES 2428 005641 4267 JMS MULT10 /REMAIN MUST =0 SINCE OVERFLOW IS CHECKED 2429 005642 2314 ISZ DNUMBR /COUNT DIGITS 2430 005643 7640 SZA CLA 2431 005644 4566 ERROR2 /INPUT-OVERFLOW ERROR 2432 005645 4666 JMS I XINPUT 2433 005646 5230 JMP DECON+1 /CONTINUE 2434 005647 1066 DTST, TAD CHAR /ALLOW A-Z 2435 005650 1112 TAD MINUSA 2436 005651 7710 SPA CLA 2437 005652 5627 JMP I DECON 2438 005653 1066 TAD CHAR 2439 005654 1263 TAD MINUSZ 2440 005655 7740 SZA SMA CLA 2441 005656 5627 JMP I DECON /USE SIX BITS OF ASCII 2442 005657 1066 TAD CHAR 2443 005660 0122 AND P77 2444 005661 5240 JMP DSAVE 2445 005662 7473 MINE, -305 /(7532) - FOR AMPERSAND 2446 005663 7446 MINUSZ, -332 2447 005664 7525 MPLUS, -253 2448 005665 7540 MSPACE, -240 2449 005666 0756 XINPUT, INPUT 2450 005667 0000 MULT10, 0 /ROUTINE TO MULTIPLY FLAC BY TEN (10) 2451 005670 1047 TAD OVER2 2452 005671 3043 DCA OVER1 2453 005672 1046 TAD LORD /DOUBLE PRECISION WORD 2454 005673 3042 DCA AC1L /BY TEN (DECIMAL) 2455 005674 1045 TAD HORD /REMAIN=REMAINDER 2456 005675 3041 DCA AC1H 2457 005676 3312 DCA REMAIN /CLEAR OVERFLOW WORD 2458 005677 4315 JMS MULT2 /CALL SUBROUTINE TO 2459 005700 4315 JMS MULT2 /MULTIPLY BY TWO 2460 005701 4333 JMS DUBLAD /CALL DOUBLE ADD 2461 005702 4315 JMS MULT2 2462 005703 1313 TAD DIGIT /ADD LAST DIGIT RECEIVED 2463 005704 3043 DCA OVER1 2464 005705 3042 DCA AC1L 2465 005706 3041 DCA AC1H 2466 005707 4333 JMS DUBLAD 2467 005710 1312 TAD REMAIN /EXIT WITH REMAINDER 2468 005711 5667 JMP I MULT10 /IN AC 2469 005712 0000 REMAIN, 0 2470 005713 0000 DIGIT, 0 /STORAGE FOR DIGIT 2471 005714 0000 DNUMBR, 0 /=NUMBER OF DIGITS 2472 005715 0000 MULT2, 0 /MULTIPLY OVER2, LORD, HORD BY 2 2473 005716 1047 TAD OVER2 2474 005717 7104 CLL RAL /CARRY INSERT BIT IS IN LINK 2475 005720 3047 DCA OVER2 2476 005721 1046 TAD LORD 2477 005722 7004 RAL 2478 005723 3046 DCA LORD 2479 005724 1045 TAD HORD 2480 005725 7004 RAL 2481 005726 3045 DCA HORD 2482 005727 1312 TAD REMAIN 2483 005730 7004 RAL 2484 005731 3312 DCA REMAIN 2485 005732 5715 JMP I MULT2 2486 005733 0000 DUBLAD, 0 /TRIPLE PRECISION ADDITION 2487 005734 7300 CLA CLL 2488 005735 1047 TAD OVER2 2489 005736 1043 TAD OVER1 2490 005737 3047 DCA OVER2 2491 005740 7004 RAL 2492 005741 1046 TAD LORD 2493 005742 1042 TAD AC1L 2494 005743 3046 DCA LORD 2495 005744 7004 RAL 2496 005745 1045 TAD HORD 2497 005746 1041 TAD AC1H 2498 005747 3045 DCA HORD 2499 005750 7004 RAL 2500 005751 1312 TAD REMAIN /WITH OVERFLOW 2501 005752 3312 DCA REMAIN 2502 005753 5733 JMP I DUBLAD 2503 005754 0000 DIV1, 0 /SHIFT OPERAND RIGHT 2504 005755 7300 CLA CLL /TRIPLE PRECISION 2505 005756 1041 TAD AC1H 2506 005757 7510 SPA 2507 005760 7120 CLL CML 2508 005761 7010 RAR 2509 005762 3041 DCA AC1H 2510 005763 1042 TAD AC1L 2511 005764 7010 RAR 2512 005765 3042 DCA AC1L 2513 005766 1043 TAD OVER1 2514 005767 7010 RAR 2515 005770 3043 DCA OVER1 2516 005771 2040 ISZ EX1 2517 005772 5754 JMP I DIV1 2518 005773 5754 JMP I DIV1 2519 005774 4566 FSSERR, ERROR4 /********( SUBSCRIPT ERROR FOR FILE VARIABLE-OR NOT DEFINED) 2520 *6000 2521 /FLOATING OUTPUT CONVERSION ROUTINE 2522 006000 0000 FLOUTP, 0 2523 006001 7610 SKP CLA /******** GETS RID OF = IN PRINTOUT 2524 LMODE 2525 006002 6377 OPTR, 6377 /******** 2526 PMODE 2527 006003 1045 TAD HORD /NUMBER > 0 ? 2528 006004 7700 SMA CLA 2529 006005 1334 TAD SMSP /PRINT "-" OR A SPACE 2530 006006 1336 TAD SMIN 2531 006007 4551 PRINTC 2532 006010 4753 JMS I ABSOL2 2533 006011 3033 FGO2, DCA T3 /INITIALIZE DECIMAL EXPONENT 2534 006012 1044 TAD EXP /IS EXP 0 TO 4? 2535 006013 7510 SPA 2536 006014 5227 JMP FGO3 /TOO LARGE; MULTIPLY BY 1/10 2537 006015 7440 SZA 2538 006016 1341 TAD M4 2539 006017 7750 SNA SPA CLA 2540 006020 5234 JMP FGO4 2541 006021 4407 FINT 2542 006022 4744 FMUL I PPTEN 2543 006023 0000 FEXT 2544 006024 7001 IAC 2545 006025 1033 TAD T3 2546 006026 5211 JMP FGO2 2547 006027 4407 FGO3, FINT 2548 006030 4752 FMUL I TENPT 2549 006031 0000 FEXT 2550 006032 7040 CMA 2551 006033 5225 JMP .-6 2552 006034 3745 FGO4, DCA I DPT /MULTIPLY BY TWO TO POSITION BIT 0 2553 006035 3746 DCA I REPT /CLEAR OVERFLOW WORD 2554 006036 1350 TAD SADR /INIT BUFFER POINTER 2555 006037 3014 DCA FLTXR 2556 006040 1044 TAD EXP /COMPUT BITS IN 1ST DIGIT 2557 006041 7140 CMA CLL 2558 006042 3354 DCA OUTDG /TEMP COUNT 2559 006043 1343 TAD DCOUNT /SETUP COUNT OF TOTAL OUTPUT 2560 006044 3044 DCA EXP 2561 006045 4527 JMS I DOUBLE /ROTATE OUT THE 1ST 4 BITS 2562 006046 2354 ISZ OUTDG 2563 006047 5245 JMP .-2 2564 006050 1746 TAD I REPT /TEST FOR 10-15, 0, 1-9 2565 006051 7450 SNA 2566 006052 5270 JMP FGO5 /IGNORE FIRST ZERO 2567 006053 1342 TAD FM12 2568 006054 7710 SPA CLA 2569 006055 5264 JMP .+7 /0-9 2570 006056 7001 IAC 2571 006057 3414 DCA I FLTXR /OUTPUT A 1 2572 006060 2044 ISZ EXP /COUNT THE DIGIT 2573 006061 1342 TAD FM12 /CORRECT REMAINDER 2574 006062 2033 ISZ T3 /BUMP DECIMAL EXPONENT 2575 006063 7000 NOP 2576 006064 1746 TAD I REPT /COMPUT RESULTANT OR SECOND DIGIT 2577 006065 2033 ISZ T3 2578 006066 7000 NOP 2579 006067 7410 SKP 2580 006070 4747 FGO5, JMS I M10PT /IE. .672X10 = 6 + .72, ETC. 2581 006071 3414 DCA I FLTXR 2582 006072 2044 ISZ EXP /ALL DIGITS OUTPUT? 2583 006073 5270 JMP .-3 /NO; CONTINUE 2584 006074 1350 TAD SADR /INIT BUFFER POINTER 2585 006075 3014 DCA FLTXR 2586 006076 1343 TAD DCOUNT 2587 006077 4751 JMS I ROUND /OUTPUT MANTISSA 2588 006100 5600 JMP I FLOUTP /FIXED POINT DONE 2589 006101 1333 TAD CHRT /PRINT "E" 2590 006102 4551 PRINTC 2591 /OUTPUT THE EXPONENT 2592 006103 1033 TAD T3 /TAKE ABSOLUTE VALUE OF EXPONENT 2593 006104 7510 SPA 2594 006105 7041 CIA 2595 006106 3045 DCA HORD /SAVE * POWER 2596 006107 1033 TAD T3 /PRINT SIGN 2597 006110 7700 SMA CLA 2598 006111 1111 TAD M2 2599 006112 1336 TAD SMIN 2600 006113 4551 PRINTC 2601 006114 1045 TAD HORD 2602 006115 2044 ISZ EXP 2603 006116 1337 TAD M144 2604 006117 7500 SMA 2605 006120 5315 JMP .-3 2606 006121 1340 TAD C144 2607 006122 3045 DCA HORD /SAVE TENS AND UNITS 2608 006123 7040 CMA /OUTPUT HUNDREDS 2609 006124 1044 TAD EXP 2610 006125 7440 SZA /UNLESS ZERO 2611 006126 4354 JMS OUTDG 2612 006127 1045 TAD HORD /PRINT TWO DIGITS 2613 006130 4732 JMS I PRNTI 2614 006131 5600 JMP I FLOUTP 2615 006132 2442 PRNTI, PRNT 2616 006133 0305 CHRT, 305 /E (0246) - FOR AMPERSAND 2617 006134 7763 SMSP, 240-255 / 2618 006135 0275 PEQ, 275 2619 006136 0255 SMIN, 255 2620 006137 7634 M144, -144 /-100 2621 006140 0144 C144, 0144 /+100 2622 006141 7774 M4, -4 2623 006142 7766 FM12, -12 2624 006143 7771 DCOUNT, -DIGITS-1 /NUMBER OF DIGITS OUTPUT 2625 006144 6275 PPTEN, PTEN /1E1 2626 006145 5713 DPT, DIGIT 2627 006146 5712 REPT, REMAIN /OVERFLOW FROM INTEGER MULTIPLY 2628 006147 5667 M10PT, MULT10 2629 006150 7467 SADR, BUFFER-1 2630 006151 5400 ROUND, TGO /ACTUAL OUTPUT ROUTINE 2631 006152 6271 TENPT, TEN 2632 006153 5571 ABSOL2, ABSOLV 2633 006154 0000 OUTDG, 0 /OUTPUT ONE DIGIT 2634 006155 1113 TAD C260 2635 006156 4551 PRINTC 2636 006157 5754 JMP I OUTDG 2637 006160 7750 RANMUL, 7750;2333;5733 /******** 006161 2333 006162 5733 2638 006163 1167 LEPUT, TAD SUBS2 /******** CALLS STORING ROUTINE FOR 2639 006164 3171 DCA SUBS /******** S FN(X)= 2640 006165 1170 TAD LESUB2 /******** 2641 006166 3173 DCA LESUBS /******** 2642 006167 1002 TAD LWETMP /******** 2643 006170 6212 6212/CIF 10 /******** 2644 006171 4775 JMS I STORIT /******** 2645 006172 2407 ISZ I 7 /******** 2646 006173 5774 JMP I .+1 /******** 2647 006174 6401 FPNT+1 /******** 2648 006175 2000 STORIT, ITSTOR /******** 2649 006176 6213 LS, 6213/CIF CDF 10 /******** LIBRARY SAVE 2650 006177 5134 JMP XLS /******** 2651 /USED BY 8K 2652 /FLOATING POINT INPUT 2653 *6200 2654 006200 0000 FLINTP, 0 /IF C(AC) = 0, USE CHAR 2655 006201 7640 SZA CLA /IF C(AC) NON-ZERO, GET NEXT 2656 006202 4706 JMS I XIN /GET FIRST CHAR 2657 006203 1066 TAD CHAR /IGNORE LEADING SPACES 2658 006204 1114 TAD M240 2659 006205 7650 SNA CLA 2660 006206 5202 JMP .-4 2661 006207 4702 JMS I DPCVPT /READ FIRST DIGIT GROUP 2662 006210 1066 TAD CHAR /AND SET "SIGNF" 2663 006211 1115 TAD MPER 2664 006212 7640 SZA CLA /ENDED BY PERIOD? 2665 006213 5221 JMP FIG01 2666 006214 4706 JMS I XIN /READ 2ND GROUP 2667 006215 3705 DCA I DPN 2668 006216 4703 JMS I DCONP 2669 006217 1705 TAD I DPN /SAVE NUMBER OF DIGITS IN T3 2670 006220 7041 CMA IAC 2671 006221 3033 FIG01, DCA T3 /NO. 2672 006222 1310 TAD P43 2673 006223 3044 DCA FLAC 2674 006224 4704 JMS I RESOL5 2675 006225 4707 JMS I INORM /NORMALIZE FIRST. THEN 2676 006226 4407 FINT 2677 006227 6430 FPUT I PT1 /SAVE NUMBER 2678 006230 0000 FEXT 2679 006231 1066 TAD CHAR 2680 006232 1301 TAD MINUSE 2681 006233 7640 SZA CLA /"E" READ IN? 2682 006234 5246 JMP ENDFI+3 /NO 2683 006235 4706 JMS I XIN /YES. READ 3RD DIGIT GROUP 2684 006236 4702 JMS I DPCVPT /I.E. CONVERT DECIMAL EXPONENT 2685 006237 4704 JMS I RESOL5 2686 006240 1047 TAD OVER2 2687 006241 1033 TAD T3 /C(SEXP) PLACES TO RIGHT 2688 006242 3033 DCA T3 2689 /COMPENSATE FOR DECIMAL EXPONENTS 2690 006243 4407 ENDFI, FINT /RESTORE MANTISSA 2691 006244 0430 FGET I PT1 2692 006245 0000 FEXT 2693 006246 1033 TAD T3 /TEST DECIMAL EXPONENT 2694 006247 7450 SNA 2695 006250 5600 JMP I FLINTP /FINISHED 2696 006251 7700 SMA CLA 2697 006252 5261 JMP FIG04 2698 006253 4407 FINT /. IS TO THE LEFT 2699 006254 4275 FMUL PTEN /TIMES .1000 2700 006255 6430 FPUT I PT1 2701 006256 0000 FEXT 2702 006257 7001 IAC 2703 006260 5266 JMP .+6 2704 006261 4407 FIG04, FINT /. IS TO THE RIGHT 2705 006262 4271 FMUL TEN /MULTIPLY BY 10 2706 006263 6430 FPUT I PT1 2707 006264 0000 FEXT 2708 006265 7040 CMA 2709 006266 1033 TAD T3 2710 006267 3033 DCA T3 2711 006270 5246 JMP ENDFI+3 2712 006271 0004 TEN, 0004 2713 006272 2400 2400 2714 006273 0000 0000 2715 006274 0000 0000 2716 006275 7775 PTEN, 7775 2717 006276 3146 3146 2718 006277 3147 3147 /(3146) - FOR 4-WORD 2719 006300 3150 3150 2720 006301 7473 MINUSE, -305 /(7532) - FOR AMPERSAND 2721 006302 5600 DPCVPT, DECONV 2722 006303 5627 DCONP, DECON 2723 006304 7173 RESOL5, RESOLV 2724 006305 5714 DPN, DNUMBR 2725 006306 0756 XIN, INPUT 2726 006307 7335 INORM, DNORM 2727 006310 0043 P43, 43 2728 /END OF FLOATING POINT INPUT 2729 /7 FREE 2730 /USED BY H.S. READER 2731 2732 2733 2734 / 2735 /CALLS LOADING ROUTINE FOR FILE 2736 /VARIABLES IN EXPRESSIONS; CALLED BY EFUN3I 2737 / 2738 *6311 /******** 2739 006311 1066 FNUM, TAD CHAR /******** 2740 006312 3056 DCA EFOP /******** 2741 006313 4545 GETC /******** 2742 006314 4550 SORTC /******** 2743 006315 1771 TERMS-1 /******** 2744 006316 7410 SKP /******** 2745 006317 5313 JMP .-4 /******** 2746 006320 4562 TSTLPR /******** 2747 006321 4566 ERROR4 /******** 2748 006322 4734 JMS I PECALL /******** 2749 006323 4453 JMS I INTEGER /******** 2750 006324 3171 DCA SUBS /******** 2751 006325 1045 TAD HORD /******** 2752 006326 3173 DCA LESUBS /******** 2753 006327 1413 POPA /******** 2754 006330 6212 6212/CIF 10 /******** FILE NO. 2755 006331 4733 JMS I LOADIT /******** 2756 006332 5536 JMP I EFUN3I /******** 2757 006333 1533 LOADIT, ITLOAD /******** 2758 006334 1601 PECALL, ECALL /******** 2759 006335 0000 PASS, 0 2760 006336 4545 GETC 2761 006337 1066 TAD CHAR 2762 006340 4542 PUSHA 2763 006341 4545 GETC 2764 006342 4550 SORTC 2765 006343 1374 GLIST-1 2766 006344 5735 JMP I PASS 2767 006345 5341 JMP .-4 2768 006346 4335 LTAPE, JMS PASS 2769 006347 1066 TAD CHAR /******** 2770 006350 1374 TAD MINCOM /******** 2771 006351 7640 SZA CLA /******** 2772 006352 5357 JMP LERR /******** 2773 006353 1413 POPA /******** 2774 006354 4547 SORTJ /******** JMPS ON SUBCOMMAND OF LIBR XXXX 2775 006355 6365 LLIST-1 /******** 2776 006356 7772 LGO-LLIST /******** 2777 006357 4566 LERR, ERROR4 /******** 2778 006360 5167 LGO, LO /******** 2779 006361 5171 LC /******** 2780 006362 2572 LM /******** 2781 006363 5173 LL /******** 2782 006364 6176 LS /******** 2783 006365 6375 LG /******** 2784 006366 0317 LLIST, 317 /******** 2785 006367 0303 303 /******** 2786 006370 0315 315 /******** 2787 006371 0314 314 /******** 2788 006372 0323 323 /******** 2789 006373 0307 307 /******** 2790 006374 7524 MINCOM, -254 /******** 2791 006375 6213 LG, 6213 /******** 2792 006376 5136 JMP XLG 2793 *6400 2794 / FLOATING POINT INTERPRETER FOR FOCAL. 2795 006400 0000 FPNT, 0 2796 006401 7300 CLA CLL 2797 006402 3047 DCA OVER2 /(NOP) - FOR 4-WORD 2798 006403 3043 DCA OVER1 /(NOP) - FOR 4-WORD 2799 006404 1600 TAD I FPNT /GET NEXT INSTRUCTION 2800 006405 7450 SNA 2801 006406 5600 JMP I FPNT /FAST EXIT 2802 006407 3264 DCA JUMP 2803 006410 1264 TAD JUMP 2804 006411 0123 AND C200 /GET PAGE BIT 2805 006412 7650 SNA CLA /PAGE ZERO? 2806 006413 5216 JMP .+3 /YES 2807 006414 1104 TAD P7600 /NO 2808 006415 0200 AND FPNT /C(FPNT)0-4 CONTAINS PAGE BITS 2809 006416 3040 DCA ADDR 2810 006417 1106 TAD P177 /GET 7 BIT ADDRESS 2811 006420 0264 AND JUMP 2812 006421 1040 TAD ADDR 2813 006422 3040 DCA ADDR 2814 006423 1265 TAD INDRCT /INDIRECT BIT=1? 2815 006424 0264 AND JUMP 2816 006425 7650 SNA CLA 2817 006426 5233 JMP LOOP01 /NO - GO ON 2818 006427 1440 TAD I ADDR /YES; DEFER, W/O AUTO-INDEX 2819 006430 7450 SNA /******** IF PT1 WAS ZERO, IT IS A 2820 006431 5572 JMP I LEFPUT /******** FILE VARIABLE 2821 006432 3040 DCA ADDR 2822 006433 2200 LOOP01, ISZ FPNT 2823 006434 7040 CMA 2824 006435 1040 TAD ADDR 2825 006436 3015 DCA FLTXR2 2826 006437 1264 TAD JUMP /GET COMMAND 2827 006440 7106 CLL RTL 2828 006441 7006 RTL 2829 006442 0107 AND P17 /GET BITS 0-2: IE OPCODE 2830 006443 7450 SNA 2831 006444 5271 JMP FLGT 2832 006445 1266 TAD TABLE /LOOKUP IN TABLE 2833 006446 3264 DCA JUMP 2834 006447 1664 TAD I JUMP 2835 006450 7450 SNA 2836 006451 5267 JMP FLPT 2837 006452 3264 DCA JUMP 2838 006453 1306 TAD CEX1 /SAVE FLOATING ARGUMENT, UNLESS 'GET' OR 'PUT' 2839 006454 3014 DCA FLTXR 2840 006455 1117 TAD MFLT 2841 006456 3057 DCA CNTR 2842 006457 1415 TAD I FLTXR2 2843 006460 3414 DCA I FLTXR 2844 006461 2057 ISZ CNTR 2845 006462 5257 JMP .-3 2846 006463 5664 JMP I JUMP /GO THERE 2847 006464 0000 JUMP, 0 2848 ADDR=EX1 2849 006465 0400 INDRCT, 0400 2850 006466 6575 TABLE, ITABLE 2851 006467 1305 FLPT, TAD CEXP /EXP TO (ADDR) 2852 006470 5275 JMP .+5 2853 006471 1305 FLGT, TAD CEXP /(ADDR) TO EXP 2854 006472 3015 DCA FLTXR2 2855 006473 7040 CMA 2856 006474 1040 TAD ADDR 2857 006475 3014 DCA FLTXR /SAVE 'FROM' ADDRESS 2858 006476 1117 TAD MFLT /3 OR 4 WORDS 2859 006477 3057 DCA CNTR 2860 006500 1414 TAD I FLTXR 2861 006501 3415 DCA I FLTXR2 2862 006502 2057 ISZ CNTR 2863 006503 5300 JMP .-3 2864 006504 5201 JMP FPNT+1 2865 006505 0043 CEXP, EXP-1 2866 006506 0037 CEX1, EX1-1 2867 006507 4767 FLSU, JMS I OPMINS /FSUB=2 - NEGATE THE OPERAND 2868 006510 4772 FLAD, JMS I ALGN /FADD=1 - FIRST ALIGN EXPONENTS 2869 006511 5201 JMP FPNT+1 /RETURN IF NO ALIGNMENT IS POSSIBLE 2870 006512 4774 JMS I RAR2 /TRIPLE PRECISION ADDITION 2871 006513 4773 JMS I RAR1 /SINCE BITS ARE SHIFTED 2872 006514 4775 JMS I TRAD /RIGHT 2873 006515 4771 NORF, JMS I NORM /NORMALIZE THE RESULT 2874 006516 5201 JMP FPNT+1 /HINT; USE 700X FOR FUNCTIONS. 2875 /INTERPRETIVE POWER 2876 006517 1045 FLEX, TAD HORD /ZERO? 2877 006520 7200 CLA /CROCK**** 2878 006521 5327 JMP .+6 2879 006522 3044 ZERO, DCA EXP /YES 2880 006523 3045 DCA HORD 2881 006524 3046 DCA LORD 2882 006525 3047 DCA OVER2 2883 006526 5201 JMP FPNT+1 2884 006527 4543 PUSHF /AC TO A + POWER 2885 006530 0044 FLAC 2886 006531 4543 PUSHF /SETUP ARGUMENT (THE EXPONENT) 2887 006532 0040 EX1 2888 006533 4544 POPF 2889 006534 0044 FLAC 2890 006535 4453 JMS I INTEGER /ONLY POSITIVE INTEGER EXPONENTS 2891 006536 7510 SPA 2892 006537 5344 JMP .+5 /(COULD DIVIDE) 2893 006540 7040 CMA 2894 006541 3264 DCA JUMP /TEMP STORAGE 2895 006542 3043 DCA OVER1 /(NOP) FOR 4-WORD 2896 006543 1045 TAD HORD 2897 006544 7640 SZA CLA 2898 006545 4566 ERROR2 /TOO LARGE OR NEGATIVE EXPONENT 2899 006546 4543 PUSHF /INITIALIZE TO ONE. 2900 006547 2405 FLTONE 2901 006550 4544 POPF 2902 006551 0044 FLAC 2903 006552 4544 POPF 2904 006553 7470 ITER1 2905 006554 5362 JMP .+6 2906 006555 4543 PUSHF 2907 006556 7470 ITER1 2908 006557 4544 POPF 2909 006560 0040 EX1 2910 006561 4770 JMS I MULT /"MULT" 2911 006562 2264 ISZ JUMP 2912 006563 5355 JMP .-6 2913 006564 5201 JMP FPNT+1 2914 006565 4770 FLMY, JMS I MULT /"MULTIPLY" 2915 006566 5201 JMP FPNT+1 2916 006567 7153 OPMINS, MINUS2 2917 006570 7004 MULT, DMULT 2918 006571 7335 NORM, DNORM 2919 006572 6623 ALGN, ALIGN 2920 006573 5754 RAR1, DIV1 2921 006574 6757 RAR2, DIV2 2922 006575 5733 TRAD, DUBLAD 2923 ITABLE=.-1 2924 006576 6510 FLAD 2925 006577 6507 FLSU 2926 006600 7107 FLDV 2927 006601 6565 FLMY 2928 006602 6517 FLEX 2929 006603 0000 0000 2930 006604 6515 NORF 2931 006605 0000 ACMINS, 0 /ROUTINE TO COMPLEMENT FLAC - VIA "MINSKI" 2932 006606 7200 CLA /********(IS THIS CLA NECESSARY?) 2933 006607 1047 TAD OVER2 /******** RECODING FOR SPACE 2934 006610 7161 CLL CML CIA /******** 2935 006611 3047 DCA OVER2 /******** 2936 006612 7004 RAL /******** 2937 006613 1046 TAD LORD /******** 2938 006614 7061 CML CIA /******** 2939 006615 3046 DCA LORD /******** 2940 006616 7004 RAL /******** 2941 006617 1045 TAD HORD /******** 2942 006620 7061 CML CIA /******** 2943 006621 3045 DCA HORD /******** 2944 006622 5605 JMP I ACMINS 2945 006623 0000 ALIGN, 0 /SUBROUTINE TO ALIGN 2946 006624 1045 TAD HORD /BINARY POINTS 2947 006625 7450 SNA 2948 006626 1046 TAD LORD /IS MANTISSA ZERO? 2949 006627 7650 SNA CLA 2950 006630 5311 JMP NOX1 /YES. RESULT=OPERAND 2951 006631 1041 TAD AC1H /NO, IS OPERAND ZERO? 2952 006632 7450 SNA 2953 006633 1042 TAD AC1L 2954 006634 7450 SNA 2955 006635 1043 TAD OVER1 2956 006636 7650 SNA CLA 2957 006637 5623 JMP I ALIGN /YES. EXIT. 2958 006640 1040 TAD EX1 2959 006641 7041 CMA IAC 2960 006642 1044 TAD EXP 2961 006643 7450 SNA /ARE EXPONENTS EQUAL? 2962 006644 5273 JMP ADONE /YES 2963 006645 3205 DCA ACMINS 2964 006646 1205 TAD ACMINS 2965 006647 7500 SMA /NO 2966 006650 7041 CIA /NEGATE AND 2967 006651 3322 DCA AMOUNT /SAVE THE DIFFERENCE 2968 006652 1322 TAD AMOUNT 2969 006653 1336 TAD TEST2 2970 006654 7710 SPA CLA /CAN EXPONENTS BE ALIGNED? 2971 006655 5275 JMP NOX /NO. USE LARGER OF THE TWO. 2972 006656 1205 TAD ACMINS /YES, SHIFT THE SMALLER 2973 006657 7700 SMA CLA 2974 006660 5265 JMP ASHFT 2975 006661 4357 JMS DIV2 2976 006662 2322 ISZ AMOUNT 2977 006663 5261 JMP .-2 2978 006664 5273 JMP ADONE 2979 006665 7040 ASHFT, CMA 2980 006666 1040 TAD EX1 2981 006667 3040 DCA EX1 2982 006670 4723 JMS I TAG1 2983 006671 2322 ISZ AMOUNT 2984 006672 5270 JMP .-2 2985 006673 2223 ADONE, ISZ ALIGN 2986 006674 5623 JMP I ALIGN 2987 006675 1040 NOX, TAD EX1 /MISSION IMPOSSIBLE! 2988 006676 7700 SMA CLA /CHECK FOR SIGN DIFFERENCE 2989 006677 5304 JMP NOX2 2990 006700 1044 TAD EXP 2991 006701 7700 SMA CLA 2992 006702 5623 JMP I ALIGN /-+ 2993 006703 5306 JMP .+3 /-- 2994 006704 1044 NOX2, TAD EXP 2995 006705 7700 SMA CLA 2996 006706 1205 TAD ACMINS /TEMP STORAGE OF DIFFERENCE. BOTH POS EXP OR BOTH NEG. 2997 006707 7740 SMA SZA CLA 2998 006710 5623 JMP I ALIGN /OK (+-) 2999 006711 1040 NOX1, TAD EX1 /USE LARGER 3000 006712 3044 DCA EXP 3001 006713 1041 TAD AC1H 3002 006714 3045 DCA HORD 3003 006715 1042 TAD AC1L 3004 006716 3046 DCA LORD 3005 006717 1043 TAD OVER1 3006 006720 3047 DCA OVER2 3007 006721 5623 JMP I ALIGN 3008 006722 0000 AMOUNT, 0 3009 006723 5754 TAG1, DIV1 3010 /LEAVE 12 BIT ANSWER IN AC UPON RETURN 3011 /LEAVE FLAC AS AN INTEGER. 3012 006724 0000 FIX, 0 /VIA (INTEGER) 3013 006725 4751 JMS I ABSOL 3014 006726 1044 TAD EXP /TEST FOR FRACTION 3015 006727 7750 SPA SNA CLA 3016 006730 5353 JMP FIXM /DOUBLE CHECK FOR MINUS ONE. 3017 006731 7001 IAC 3018 006732 3043 DCA OVER1 3019 006733 1350 TAD P27 /INIT ALIGNMENT 3020 006734 3040 DCA EX1 3021 006735 4223 JMS ALIGN /DO THE ALIGNMENT TO AN INTEGER 3022 006736 0027 TEST2, 0027 /ALREAD DONE; (43) - FOR 4-WORD 3023 006737 2047 ISZ OVER2 3024 006740 5344 JMP .+4 3025 006741 2046 ISZ LORD 3026 006742 7410 SKP 3027 006743 2045 ISZ HORD 3028 006744 3047 DCA OVER2 /CLEAR THE FRACTION 3029 006745 4752 JMS I RESOL 3030 006746 1046 TAD LORD /EXIT WITH LOW ORDER RESULT IN AC 3031 006747 5724 JMP I FIX 3032 006750 0027 P27, 27 3033 006751 5571 ABSOL, ABSOLV 3034 006752 7173 RESOL, RESOLV 3035 006753 3044 FIXM, DCA EXP /CLEAR EXPONENT 3036 006754 3045 DCA HORD 3037 006755 3046 DCA LORD 3038 006756 5344 JMP TEST2+6 3039 006757 0000 DIV2, 0 /SHIFT FLAC RIGHT 3040 006760 7300 CLA CLL 3041 006761 1045 TAD HORD 3042 006762 7510 SPA 3043 006763 7020 CML 3044 006764 7010 RAR 3045 006765 3045 DCA HORD 3046 006766 1046 TAD LORD 3047 006767 7010 RAR 3048 006770 3046 DCA LORD 3049 006771 1047 TAD OVER2 3050 006772 7010 RAR 3051 006773 3047 DCA OVER2 3052 006774 2044 ISZ EXP 3053 006775 5757 JMP I DIV2 3054 006776 5757 JMP I DIV2 3055 SPECIAL=. /INPUT CHARACTERS 3056 006777 0337 337 /LEFT ARROW 3057 007000 0377 377 /RUBOUT 3058 007001 0212 212 /L.F. 3059 007002 0375 375 /ALT MODE 3060 007003 7777 -1 3061 /(A+B+C)*(D+E+F) = A*D, A*E, B*D, E*E 3062 007004 0000 DMULT, 0 /N-PRECISION MULTIPLY WITH 3063 007005 7001 IAC /PRODUCT IN TRIPLE PRECISION 3064 007006 1040 TAD EX1 /ADD EXPONENTS+1 3065 007007 4324 JMS SIGN /AND DETERMINE SIGN OF RESULT 3066 007010 7710 SPA CLA 3067 007011 4353 JMS MINUS2 3068 007012 3301 DCA DATUM-1 /INITIALIZE RESULT 3069 007013 3300 DCA DATUM-2 3070 007014 3277 DCA DATUM-3 3071 007015 3276 DCA DATUM-4 3072 007016 1045 TAD A /A*D 3073 007017 3751 SAVE /STORE IN MP2 3074 007020 1041 TAD D /SIGNLE PRECISION MULTIPLY 3075 007021 4752 MULTY 3076 007022 0002 2 /ACCUMULATE STARTING IN #2 DATA WORD 3077 007023 1042 TAD E /A*E 3078 007024 4752 MULTY 3079 007025 0003 3 3080 007026 1046 TAD B /B*D 3081 007027 3751 SAVE 3082 007030 1041 TAD D 3083 007031 4752 MULTY 3084 007032 0003 3 3085 007033 1042 TAD E /B*E 3086 007034 4752 MULTY 3087 007035 0004 4 3088 007036 5263 DMULT4, JMP DMDONE /(DCA DATUM+5) FOR 4-WORD 3089 007037 3274 DCA DATUM-6 3090 007040 1043 TAD F /A*F 3091 007041 3751 SAVE 3092 007042 1045 TAD A 3093 007043 4752 MULTY 3094 007044 0004 4 3095 007045 1046 TAD B /B*F 3096 007046 4752 MULTY 3097 007047 0005 5 3098 007050 1047 TAD C /C*D 3099 007051 3751 SAVE 3100 007052 1041 TAD D 3101 007053 4752 MULTY 3102 007054 0004 4 3103 007055 1042 TAD E /C*E 3104 007056 4752 MULTY 3105 007057 0005 5 3106 007060 1043 TAD F /C*F 3107 007061 4752 MULTY 3108 007062 0006 6 3109 007063 1301 DMDONE, TAD DATUM-1 /COPY RESULT 3110 007064 3045 DCA HORD 3111 007065 1300 TAD DATUM-2 3112 007066 3046 DCA LORD 3113 007067 1277 TAD DATUM-3 3114 007070 3047 DCA OVER2 3115 007071 4301 JMS MULDIV 3116 007072 3047 DCA OVER2 /(NOP) FOR 4-WORD 3117 007073 5604 JMP I DMULT 3118 DATUM=.+6 /INTERMEDIATE STORAGE 3119 007074 0000 0/#6 - LOW ORDER RESULT 3120 007075 0000 0/#5 3121 007076 0000 0/#4 3122 007077 0000 0/#3 3123 007100 0000 0/#2 3124 /#1 - HIGH ORDER RESULT 3125 007101 0000 MULDIV, 0 /TERMINATE MULTIPLY AND DIVIDE. 3126 007102 2050 ISZ SIGNF /CORRECT FOR SIGN 3127 007103 4451 JMS I MINSKI 3128 007104 4747 JMS I NORMF /SHIFT LEFT 3129 007105 7000 NOP /* 3130 007106 5701 JMP I MULDIV 3131 007107 1041 FLDV, TAD AC1H /4:DIVIDE 3132 007110 7650 SNA CLA 3133 007111 4566 ERROR2 /DIVISION BY ZERO 3134 007112 1040 TAD EX1 /SUBTRACT EXPONENTS+1 3135 007113 7041 CMA IAC 3136 007114 7001 IAC 3137 007115 4324 JMS SIGN /SET UP SIGNS 3138 007116 7700 SMA CLA 3139 007117 4353 JMS MINUS2 /NEGATE DIVISOR 3140 007120 4750 JMS I DIVIDE /DIVIDE 3141 007121 4301 JMS MULDIV 3142 007122 5723 JMP I .+1 3143 007123 6401 FPNT+1 3144 /THIS SUBROUTINE PREPARES MULTIPLY AND DIVIDE 3145 /FOR ANY COMBINATION OF SIGNED ARGUMENTS AND FOR ZERO. 3146 /THE RESULT OF EITHER IS ZERO IF FLAC = 0. 3147 /RESULT OF MULTIPLY IS ZERO IF EITHER IS ZERO; 3148 /DIVISION BY ZERO IS CHECKED BEFORE THIS 3149 /ROUTINE IS CALLED. 3150 /THE CALLING AC CONTAINS AN UPDATE VALUE FOR THE 3151 /EXPONENT. THE RETURNING AC CONTAINS THE SIGN OF 3152 /THE ARGUMENT FOR FURTHER TESTING BY EACH ROUTINE. 3153 007124 0000 SIGN, 0 /TEST AND SAVE SIGN OF RESULT 3154 007125 1044 TAD EXP /COMPUT NEW EXPONENT FOR MUL-DIV. 3155 007126 3044 DCA EXP 3156 007127 1124 TAD P4000 /LOAD 4000 TO XOR THE SIGN BITS 3157 007130 0045 AND HORD 3158 007131 1041 TAD AC1H 3159 007132 7700 SMA CLA /RESULT MAY BE ZERO 3160 007133 7040 CMA 3161 007134 3050 DCA SIGNF 3162 007135 1045 TAD HORD 3163 007136 7450 SNA 3164 007137 5746 JMP I REVIT /ANSWER IS ZERO. 3165 007140 7710 SPA CLA /TAKE ABSOLUTE VALUE OF FLAC 3166 007141 4451 JMS I MINSKI 3167 007142 1041 TAD AC1H 3168 007143 7450 SNA /RESULT EITHER WAY MAY BE ZERO 3169 007144 5746 JMP I REVIT 3170 007145 5724 JMP I SIGN 3171 /SIGN OF RESULT - SIGNF 3172 /+=-1 3173 /-=0 3174 007146 6522 REVIT, ZERO 3175 007147 7335 NORMF, DNORM 3176 007150 7261 DIVIDE, DUBDIV 3177 SAVE=DCA I . 3178 007151 7256 MP2 3179 MULTY=JMS I . 3180 007152 7200 MP4 3181 A=FLAC+1 3182 B=FLAC+2 3183 C=FLAC+3 3184 D=AC1H 3185 E=AC1L 3186 F=OVER1 3187 007153 0000 MINUS2, 0 /NEGATE OPERAND 3188 007154 7300 CLA CLL /TRIPLE PRECISION 3189 007155 1043 TAD OVER1 3190 007156 7041 CMA IAC 3191 007157 3043 DCA OVER1 3192 007160 1042 TAD AC1L 3193 007161 7040 CMA 3194 007162 7430 SZL 3195 007163 7101 IAC CLL 3196 007164 3042 DCA AC1L 3197 007165 1041 TAD AC1H 3198 007166 7040 CMA 3199 007167 7430 SZL 3200 007170 7101 IAC CLL 3201 007171 3041 DCA AC1H 3202 007172 5753 JMP I MINUS2 3203 007173 0000 RESOLV, 0 3204 007174 1050 TAD SIGNF 3205 007175 7710 SPA CLA 3206 007176 4451 JMS I MINSKI 3207 007177 5773 JMP I RESOLV 3208 *7200 3209 007200 0000 MP4, 0 /SINGLE PRECISION. UNSIGNED MULTIPLY - "MULTY" 3210 007201 7450 SNA /NO RESULT ADDED IF ZERO 3211 007202 5600 JMP I MP4 3212 /FOR EAE INSERT THE FOLLOWING: 3213 /7203 3206 DCA .*3 3214 /7204 1256 TAD MP2 3215 /7205 7425 MQL MUY 3216 /7206 0000 0 3217 /7207 3253 DCA MP5 3218 /7210 7501 MOA 3219 /7211 3255 DCA MP3 3220 /7212 5227 JMP ,*15 3221 007203 3254 DCA MP1 /12 BITS BY 12 BITS 3222 007204 3253 DCA MP5 3223 007205 1257 TAD THIR 3224 007206 3255 DCA MP3 3225 007207 7100 CLL 3226 007210 1254 MP6, TAD MP1 3227 007211 7010 RAR 3228 007212 3254 DCA MP1 3229 007213 1253 TAD MP5 3230 007214 7420 SNL 3231 007215 5220 JMP .+3 3232 007216 7100 CLL 3233 007217 1256 TAD MP2 3234 007220 7010 RAR 3235 007221 3253 DCA MP5 /SAVE HIGH ORDER RESULT 3236 007222 2255 ISZ MP3 3237 007223 5210 JMP MP6 3238 007224 1254 TAD MP1 /CORRECT LOW ORDER RESULT 3239 007225 7010 RAR 3240 007226 3255 DCA MP3 3241 007227 1600 TAD I MP4 /PICK UP SCALE FACTOR 3242 007230 7041 CIA 3243 007231 1252 TAD DATUMA /COMPUTE ADDRESS 3244 007232 3254 DCA MP1 /TEMP 3245 007233 1255 TAD MP3 /LOW ORDER PART 3246 007234 7100 CLL 3247 007235 1654 TAD I MP1 /ACCUMULATE 3248 007236 3654 DCA I MP1 3249 007237 2254 ISZ MP1 3250 007240 7004 RAL 3251 007241 1253 TAD MP5 3252 007242 1654 TAD I MP1 3253 007243 3654 DCA I MP1 3254 007244 7420 SNL 3255 007245 5600 JMP I MP4 /NO CARRY 3256 007246 2254 ISZ MP1 3257 007247 2654 ISZ I MP1 3258 007250 5600 JMP I MP4 /EXIT 3259 007251 5246 JMP .-3 /CARRY AGAIN 3260 ///// 3261 007252 7102 DATUMA, DATUM 3262 007253 0000 MP5, 0 /PRODUCT 3263 007254 0000 MP1, 0 /MULTIPLIER 3264 007255 0000 MP3, 0 3265 007256 0000 MP2, 0 /MULTIPLICAND 3266 007257 7764 THIR, -14 /12 BITS 3267 007260 7751 MIF, -27 /(-43) FOR 4-WORD (=7735) 3268 007261 0000 DUBDIV, 0 /2 OR 3 PRECISION DIVIDE 3269 007262 3200 DCA MP4 3270 007263 3254 DCA MP1 3271 007264 1260 TAD MIF /INIT BIT COUNTER 3272 007265 3255 DCA MP3 3273 007266 7410 SKP 3274 007267 4527 DV3, JMS I DOUBLE /SHIFT FLAC LEFT 3275 007270 7100 CLL 3276 007271 1042 TAD AC1L /COMBINE ONE POSITION AND (4-WORD) 3277 007272 1046 TAD LORD 3278 007273 3256 DCA MP2 /SAVE RESULT 3279 007274 7004 RAL 3280 007275 1045 TAD HORD /ADD OVERFLOW 3281 007276 1041 TAD AC1H 3282 007277 7420 SNL /SKIP IFOVERFLOW 3283 007300 5304 JMP .+4 3284 007301 3045 DCA HORD /UPDATE FLAC 3285 007302 1256 TAD MP2 3286 007303 3046 DCA LORD 3287 007304 7200 CLA /CLEAR ACCUMULATOR 3288 007305 1254 TAD MP1 /SAVE OVERFLOW BITS CIRCULARLY 3289 007306 7004 RAL 3290 007307 3254 DCA MP1 3291 007310 1200 TAD MP4 3292 007311 7004 RAL 3293 007312 3200 DCA MP4 3294 007313 2255 ISZ MP3 /TEST FOR END OF DIVIDE 3295 007314 5267 JMP DV3 3296 007315 1254 TAD MP1 /LOAD RESULTS 3297 007316 3046 DCA LORD 3298 007317 1200 TAD MP4 3299 007320 3045 DCA HORD 3300 007321 5661 JMP I DUBDIV /(NOP) FOR 4-WORD 3301 007322 7004 RAL /EXTRA FOR 4-WORD 3302 007323 3335 DCA DNORM 3303 007324 2255 ISZ MP3 /TEST FOR END OF DIVIDE 3304 007325 5267 JMP DV3 3305 007326 1335 TAD DNORM 3306 007327 3045 DCA HORD 3307 007330 1200 TAD MP4 3308 007331 3046 DCA LORD 3309 007332 1254 TAD MP1 3310 007333 3047 DCA OVER2 3311 007334 5661 JMP I DUBDIV 3312 007335 0000 DNORM, 0 /SUBROUTINE TO NORNALIZE FLAC 3313 007336 4775 JMS I ABSOL3 3314 007337 4366 JMS TEST4 3315 007340 1045 TAD HORD 3316 007341 7450 SNA /IS MANTISSA = 0? 3317 007342 1047 TAD OVER2 3318 007343 7450 SNA 3319 007344 1046 TAD LORD 3320 007345 7650 SNA CLA 3321 007346 5363 JMP EXIT3 /YES 3322 007347 1045 TAD HORD 3323 007350 7104 CLL RAL 3324 007351 7710 SPA CLA /WILL SHIFT BE TOO FAR? 3325 007352 5360 JMP .+6 3326 007353 4527 JMS I DOUBLE 3327 007354 7140 CMA CLL 3328 007355 1044 TAD EXP 3329 007356 3044 DCA EXP 3330 007357 5347 JMP .-10 3331 007360 4776 JMS I RESOL3 3332 007361 4366 JMS TEST4 /DON'T LEAVE 4000 3333 007362 5735 JMP I DNORM 3334 007363 3044 EXIT3, DCA EXP /SET TO ZERO 3335 007364 5735 JMP I DNORM 3336 007365 6757 XRAR2, DIV2 3337 007366 0000 TEST4, 0 3338 007367 1045 TAD HORD /TEST FOR 4000 3339 007370 7510 SPA 3340 007371 7041 CIA 3341 007372 7710 SPA CLA 3342 007373 4765 JMS I XRAR2 /SHIFT BACK 3343 007374 5766 JMP I TEST4 3344 007375 5571 ABSOL3, ABSOLV 3345 007376 7173 RESOL3, RESOLV 3346 *7400 3347 /PAGE 18 3348 /FLOATING SQUARE ROOT FUNCTION 3349 007400 4407 XSQRT, FINT 3350 007401 6274 FPUT FPAC1 /VALUE 3351 007402 0000 FEXT /NEWTON'S METHOD IS USED 3352 007403 1045 GETSGN 3353 007404 7710 SPA CLA 3354 007405 4566 ERROR2 /NUMBER IS NEGATIVE=IMAGINARY ROOTS 3355 007406 1044 TAD EXP /LINK IS =0 FROM FINT 3356 007407 7510 SPA /MATCH THE SIGN WITH LINK BIT 3357 007410 7020 CML 3358 007411 7010 RAR 3359 007412 3270 DCA ITER1 /MAKE FIRST APPROXIMATION 3360 007413 7430 SZL /TEST LSB OF EXP 3361 007414 2270 ISZ ITER1 3362 007415 7000 O7000, NOP /******** 3363 007416 1267 TAD SQCON1 3364 007417 3271 DCA ITER1+1 3365 007420 3272 DCA ITER1+2 3366 007421 3273 DCA ITER1+3 3367 007422 1275 TAD FPAC1+1 3368 007423 7450 SNA 3369 007424 1276 TAD FPAC1+2 3370 007425 7650 SNA CLA 3371 007426 5265 JMP SQEND /NUMBER=0 3372 007427 4407 CLCU, FINT 3373 007430 0274 FGET FPAC1 3374 007431 3270 FDIV ITER1 3375 007432 1270 FADD ITER1 3376 007433 0000 FEXT 3377 007434 7240 CLA CMA 3378 007435 1044 TAD EXP 3379 007436 3044 DCA EXP 3380 007437 1044 TAD EXP 3381 007440 7041 CMA IAC 3382 007441 1270 TAD ITER1 3383 007442 7640 SZA CLA /ARE EXPONENTS EQUAL? 3384 007443 5261 JMP ROOTGO /NO 3385 007444 1045 TAD HORD /ARE HIGH-ORDER MANTISSAS EQUAL? 3386 007445 7041 CMA IAC 3387 007446 1271 TAD ITER1+1 3388 007447 7640 SZA CLA 3389 007450 5261 JMP ROOTGO /NO 3390 007451 1046 TAD LORD 3391 007452 7041 CMA IAC 3392 007453 1272 TAD ITER1+2 /DO LOW-ORDER MANTISSAS AGREE 3393 007454 7500 SMA 3394 007455 7041 CMA IAC /WITHIN ONE BIT? 3395 007456 7001 IAC 3396 007457 7700 SMA CLA 3397 007460 5536 RETURN 3398 007461 4407 ROOTGO, FINT 3399 007462 6270 FPUT ITER1 3400 007463 0000 FEXT 3401 007464 5227 JMP CLCU 3402 007465 3044 SQEND, DCA EXP 3403 007466 5536 RETURN 3404 007467 3015 SQCON1, 3015 3405 BUFFER=. 3406 007470 0000 ITER1, 0 3407 007471 0000 0 3408 007472 0000 0 3409 007473 0000 0 3410 007474 0000 FPAC1, 0 3411 007475 0000 0 3412 007476 0000 0 3413 007477 7503 BUFFER+13 /ADDRESS OF NEXT FREE LOCATION IN 10-DIGIT VERSION. 3414 /*7530 /******** 3415 007500 0000 SCOPOU, 0 /******** OUTPUT ROUTINE FOR SCOPE 3416 007501 0106 AND P177 /******** STORES CHARS IN FLD1, LOCS 400-777 3417 007502 1367 TAD O7763 /******** 3418 007503 7440 SZA /******** 3419 007504 5310 JMP NOCRLF /******** 3420 007505 3364 CRLF, DCA NCOLS /******** 3421 007506 2365 ISZ NFEEDS /******** 3422 007507 5321 JMP ITSOK /******** 3423 007510 1371 NOCRLF, TAD O7655 /******** 3424 007511 7100 CLL /******** 3425 007512 1006 TAD C100 /******** 3426 007513 7420 SNL /******** 3427 007514 7610 SKP CLA /******** 3428 007515 1361 TAD NLINES /******** 3429 007516 7450 SNA /******** 3430 007517 5700 JMP I SCOPOU /******** 3431 007520 2364 ISZ NCOLS /******** 3432 007521 6002 ITSOK, IOF /******** 3433 007522 6141 LINC /******** 3434 LMODE /******** 3435 007523 0644 LDF 4 /******** 3436 007524 1362 STH I OPTR /******** 3437 007525 0011 CLR /******** 3438 007526 0002 PDP /******** 3439 PMODE /******** 3440 007527 6201 6201 /******** 3441 007530 2366 ISZ NCHARS /******** 3442 007531 1366 TAD NCHARS /******** 3443 007532 1215 TAD O7000 /******** 3444 007533 7710 SPA CLA /******** 3445 007534 1361 TAD NLINES /******** 3446 007535 1365 TAD NFEEDS /******** 3447 007536 7710 SPA CLA /******** 3448 007537 5356 JMP NOHANG /******** 3449 007540 1366 TAD NCHARS /******** 3450 007541 6213 6213 /******** TOO MANY LINES/CHARS DISPLAYED 3451 007542 4020 JMS WAITER /******** HANG ON DISPLAY UNTIL SOMETHING IS TYPED 3452 007543 6031 KSF /******** 3453 007544 5340 JMP .-4 /******** 3454 007545 6034 KRS /******** 3455 007546 1372 TAD O7566 /******** 3456 007547 7650 SNA CLA /******** 3457 007550 6032 KCC /******** IGNORE LINE FEED 3458 007551 1370 TAD O6377 /******** 3459 007552 3774 DCA I PPTR /******** CLEAR 3460 007553 3366 DCA NCHARS /******** THE 3461 007554 3365 DCA NFEEDS /******** CHARACTER 3462 007555 3364 DCA NCOLS /******** DISPLAY 3463 007556 6001 NOHANG, ION /******** 3464 007557 1364 TAD NCOLS /******** 3465 007560 1373 TAD O7716 /******** 3466 007561 7740 NLINES, SMA SZA CLA /******** 3467 007562 5305 JMP CRLF /******** 3468 007563 5700 JMP I SCOPOU /******** 3469 007564 0000 NCOLS, 0 /******** 3470 007565 0000 NFEEDS, 0 /******** 3471 007566 0000 NCHARS, 0 /******** 3472 007567 7763 O7763, 7763 3473 007570 6377 O6377, 6377 3474 007571 7655 O7655, 7655 /******** 3475 007572 7566 O7566, 7566 /******** 3476 007573 7716 O7716, 7716 /******** 3477 007574 6002 PPTR, OPTR /******** 3478 *7576 /******** 3479 / 3480 /FDIS FUNCTION: STORES 2 WORDS 3481 /PER CALL IN 2200 THRU 5777 IN FLD1 3482 / 3483 007576 4453 CALLIN, JMS I INTEGER /******** 3484 007577 6213 6213 /******** 3485 007600 5601 JMP I .+1 /******** 3486 007601 2071 INCALL /******** 3487 007602 4407 XDISP, FINT /******** 3488 007603 4251 FMUL FORHUN /******** 3489 007604 0000 FEXT /******** 3490 007605 4453 JMS I INTEGER /******** 3491 007606 7510 SPA /******** 3492 007607 7041 CIA /******** 3493 007610 3350 DCA STEMP /******** 3494 007611 1066 TAD CHAR /******** 3495 007612 1256 TAD MMCOM /******** 3496 007613 7640 SZA CLA /******** 3497 007614 4566 ERROR3 /******** 3498 007615 4540 PUSHJ /******** 3499 007616 1612 EVAL-1 /******** 3500 007617 4407 FINT /******** 3501 007620 4253 FMUL FIVHUN /******** 3502 007621 0000 FEXT /******** 3503 007622 4453 JMS I INTEGER /******** 3504 007623 3351 DCA STEMP2 /******** 3505 007624 1271 TAD SPTR /******** 3506 007625 1247 TAD MLIMIT /******** 3507 007626 7650 SNA CLA /******** 3508 007627 4566 ERROR3 /******** 3509 007630 6002 IOF /******** 3510 007631 6211 6211/CDF 10 /******** 3511 007632 7350 CLA CLL CMA RAR /******** 3512 007633 0350 AND STEMP /******** 3513 007634 3671 DCA I SPTR /******** 3514 007635 2271 ISZ SPTR /******** 3515 007636 1351 TAD STEMP2 /******** 3516 007637 1250 TAD O7400 /******** 3517 007640 3671 DCA I SPTR /******** 3518 007641 2271 ISZ SPTR /******** 3519 007642 7240 CLA CMA /******** 3520 007643 3671 DCA I SPTR /******** 3521 007644 6201 6201/CDF 0 /******** 3522 007645 6001 ION /******** 3523 007646 5536 JMP I EFUN3I /******** 3524 007647 2002 MLIMIT, -5776 /******** LAST LOC OF DISP POINTS-1 3525 007650 7400 O7400, 7400 /******** 3526 007651 0011 FORHUN, 11;2700 /******** 007652 2700 3527 007653 0011 FIVHUN, 11;3770;0 /******** 007654 3770 007655 0000 3528 007656 7524 MMCOM, -254 /******** 3529 / 3530 /JMS WAIT IS EQUIVALENT 3531 /TO JMP .-2 WITH A REFRESH OF 3532 /THE DISPLAY ON THE WAY 3533 / 3534 007657 0000 WAIT, 0 /******** 3535 007660 7346 CLA CLL CMA RTL /******** 3536 007661 1257 TAD WAIT /******** 3537 007662 3257 DCA WAIT /******** 3538 007663 6002 IOF /******** 3539 007664 1732 TAD I PNCHARS /******** 3540 007665 6213 6213/CIF CDF 10 /******** 3541 007666 4020 JMS WAITER /******** 3542 007667 6001 ION /******** 3543 007670 5657 JMP I WAIT /******** 3544 007671 1000 SPTR, 1000 /******** 3545 007672 0000 CLEAR, 0 /******** CLEAR POINTS FROM THE SCOPE 3546 007673 1304 TAD ODISSP /******** 3547 007674 3271 DCA SPTR /******** 3548 007675 6002 IOF /******** 3549 007676 6211 6211/CDF 10 /******** 3550 007677 7240 CLA CMA /******** 3551 007700 3671 DCA I SPTR /******** 3552 007701 6201 6201/CDF 0 /******** 3553 007702 6001 ION /******** 3554 007703 5672 JMP I CLEAR /******** 3555 007704 2200 ODISSP, 2200 /******** FIRST LOC OF DISP POINTS 3556 007705 6335 PPASS, PASS /******** 3557 007706 4705 OUTPUT, JMS I PPASS /******** 3558 007707 1413 POPA /******** JUMPS ON SUBCOMMAND OF OUTPUT XXX 3559 007710 4547 SORTJ /******** 3560 007711 7721 OLIST-1 /******** 3561 007712 7772 OGO-OLIST /******** 3562 007713 4566 OERROR, ERROR3 /******** 3563 007714 7752 OGO, OC /******** 3564 007715 7761 OD /******** 3565 007716 7753 OE /******** 3566 007717 7763 OS /******** 3567 007720 7771 OT /******** 3568 007721 7734 OI /******** 3569 007722 0303 OLIST, 303 /******** 3570 007723 0304 304 /******** 3571 007724 0305 305 /******** 3572 007725 0323 323 /******** 3573 007726 0324 324 /******** 3574 007727 0311 311 /******** 3575 007730 6377 OO6377, 6377 /******** 3576 007731 0611 OEXIT, PROC /******** 3577 007732 7566 PNCHARS,NCHARS /******** 3578 007733 6002 POPTR, OPTR /******** 3579 007734 1066 OI, TAD CHAR /******** 3580 007735 1256 TAD MMCOM /******** 3581 007736 7650 SNA CLA /******** 3582 007737 5746 JMP I PSETCLK /******** O I, EXPRESSION 3583 007740 2745 ISZ I PCLKFLG /******** 3584 007741 1745 TAD I PCLKFLG /******** 3585 007742 7640 SZA CLA /******** 3586 007743 4257 JMS WAIT /******** 3587 007744 5731 JMP I OEXIT /******** 3588 007745 2661 PCLKFLF,CLKFLG /******** 3589 007746 5351 PSETCLK,SETCLK /******** 3590 *7750 /******** 3591 007750 0000 STEMP, 0 /******** 3592 007751 0000 STEMP2, 0 /******** 3593 007752 4575 OC, JMS I PCLEAR /******** 3594 007753 3732 OE, DCA I PNCHARS /******** 3595 007754 1330 TAD OO6377 /******** 3596 007755 3733 DCA I POPTR /******** 3597 007756 3777 DCA I PNFEED /******** 3598 007757 3776 DCA I PNCOLS /******** 3599 007760 5731 JMP I OEXIT /******** 3600 007761 7000 OD, NOP /******** 3601 007762 4257 JMS WAIT /******** 3602 007763 6002 OS, IOF /******** 3603 007764 6141 6141/LINC /******** 3604 007765 0004 0004/ESF /******** 3605 007766 0002 0002/PDP /******** 3606 007767 6001 ION /******** 3607 007770 1375 TAD PSCOPOU /******** SET OUTDEV TO SCOPOU 3608 007771 1374 OT, TAD PXOUTL /******** SET OUTDEV TO XOUTL 3609 007772 3063 DCA OUTDEV /******** 3610 007773 5731 JMP I OEXIT /******** 3611 007774 2676 PXOUTL, XOUTL /******** 3612 007775 4602 PSCOPO, SCOPOU-XOUTL /******** 3613 007776 7564 PNCOLS, NCOLS /******** 3614 007777 7565 PNFEED, NFEEDS /******** 3615 FIELD 1 /******** 3616 *1 /******** 3617 010001 0000 XQ, 0 /******** 3618 010002 0400 D256, 400 /(REFERENCED AS LOC 2) 3619 010003 0200 O200, 200 /(REFERENCED AS LOC 3) 3620 010004 0125 D85, 125 /(REFERENCED AS LOC 4) 3621 010005 0000 GAMMA, 0 /******** 3622 010006 0000 CHRCNT, 0 /******** 3623 010007 0360 O360, 360 /******** 3624 *10 /******** 3625 010010 0000 XR1, 0 /******** 3626 010011 0000 BLK2, 0 /UNIT 3627 010012 0000 0 /ADDRESS 3628 010013 0000 0 /BLOCK NUNBER 3629 010014 0001 1 /NUMBER OF BLOCKS 3630 010015 0760 O760, 760 /******** 3631 010016 0000 ALPHA, 0 /******** 3632 010017 0000 BETA, 0 /******** 3633 *20 /******** 3634 / 3635 /ENTERED WITH NO. CHARS IN AC; REFRESH 3636 /FOR CHARS AND POINTS 3637 / 3638 010020 0000 WAITER, 0 /******** 3639 010021 7450 SNA /******** 3640 010022 5061 JMP NOASCII /******** 3641 010023 7040 CMA /******** 3642 010024 3006 DCA CHRCNT /******** 3643 010025 1076 TAD O4377 /******** 3644 010026 3005 DCA GAMMA /******** 3645 010027 1007 TAD O360 /******** 3646 010030 3077 DCA Y /******** 3647 010031 3001 DCA XQ /******** 3648 010032 6141 LINC /******** 3649 LMODE /******** 3650 010033 1325 CHRLUP, LDH I GAMMA /******** 3651 010034 0450 AZE /******** 3652 010035 6045 JMP GOODY /******** 3653 010036 2077 ADD Y /******** 3654 010037 2015 ADD O760 /******** 3655 010040 1560 BCL I /******** 3656 010041 7000 7000 /******** 3657 010042 4077 STC Y /******** 3658 010043 4001 STC XQ /******** 3659 010044 6056 JMP CHREND /******** 3660 010045 0241 GOODY, ROL 1 /******** 3661 010046 2003 ADD O200 /******** 3662 010047 4016 STC ALPHA /******** 3663 010050 2077 ADD Y /******** 3664 010051 1756 DSC ALPHA /******** 3665 010052 1776 DSC I ALPHA /******** 3666 010053 0221 XSK I XQ /******** 3667 010054 0221 XSK I XQ /******** 3668 010055 0011 CLR /******** 3669 010056 0226 CHREND, XSK I CHRCNT /******** 3670 010057 6033 JMP CHRLUP /******** ONE TIME PER CHAR 3671 010060 0467 SKP /******** 3672 010061 6141 NOASCII,LINC /******** 3673 010062 0077 SET I BETA /******** 3674 010063 2200 2200 /******** 3675 010064 0645 LDF 5 /******** 3676 010065 6102 JMP SUBR /******** 3677 010066 0077 SET I BETA /******** 3678 010067 2000 2000 /******** 3679 010070 0646 LDF 6 /******** 3680 010071 6102 JMP SUBR /******** 3681 010072 0002 WEXIT, PDP /******** 3682 PMODE /******** 3683 010073 6203 6203/CIF CDF 0 /******** 3684 010074 7200 CLA /******** 3685 010075 5420 JMP I WAITER /******** 3686 010076 4377 O4377, 4377 /******** 3687 010077 0000 Y, 0 /******** 3688 010100 0171 PSUBS, SUBS /******** 3689 010101 0173 PLESUB, LESUBS /******** 3690 LMODE /******** 3691 010102 0056 SUBR, SET ALPHA /******** DISPLAYS POINTS 3692 010103 0000 0000 /******** 3693 010104 0415 KST /******** 3694 010105 0467 SKP /******** 3695 010106 6072 JMP WEXIT /******** 3696 010107 0500 IOB /******** 3697 010110 6041 TSF /******** 3698 010111 0467 SKP /******** 3699 010112 6072 JMP WEXIT /******** 3700 010113 1017 LDA BETA /******** 3701 010114 0467 SKP /******** 3702 010115 1037 WAITLP, LDA I BETA /******** 3703 010116 0451 APO /******** 3704 010117 6072 JMP WEXIT /******** 3705 010120 4005 STC GAMMA /******** 3706 010121 1037 LDA I BETA /******** 3707 010122 0145 DIS GAMMA /******** 3708 010123 0217 XSK BETA /******** 3709 010124 6115 JMP WAITLP /******** 3710 010125 6016 JMP ALPHA /******** 3711 PMODE /******** 3712 010126 5527 XLO, JMP I .+1 /******** 3713 010127 1431 LOPEN /******** 3714 010130 5531 XLC, JMP I .+1 /******** 3715 010131 1520 LCLOSE /******** 3716 010132 5533 XLL, JMP I .+1 /******** 3717 010133 1203 LLOAD /******** 3718 010134 5535 XLS, JMP I .+1 /******** 3719 010135 1233 LSAVE /******** 3720 010136 5537 XLG, JMP I .+1 /******** 3721 010137 1202 LCHAIN /******** 3722 010140 7774 X7774, 7774 3723 010141 7775 X7775, 7775 3724 010142 1171 PLNUM, LNUM 3725 010143 1000 PGETRHS,GETRHS 3726 010144 1160 PLDMILD,LDMILD 3727 010145 1177 P5LNAM, LNAME+5 3728 010146 1200 P6LNAM, LNAME+6 3729 010147 0000 CHFLAG, 0 3730 010150 0000 HISS, 0 3731 010151 0000 LOSS, 0 3732 010152 2135 PFILTAB,FILTAB 3733 010153 1342 PLOOKUP,LUKUP 3734 010154 1600 PCOMMON,COMMON 3735 010155 1361 PREPLAC,REPLACE 3736 010156 0000 MYTEMP, 0 3737 010157 0000 MYTMP2, 0 3738 010160 2076 PFINISH,FINISH 3739 010161 0000 SWITCH, 0 3740 010162 0000 SWTMP, 0 3741 010163 2124 PB1FLG, B1FLG-1 3742 010164 0000 MYAC1, 0 3743 010165 0000 MYAC2, 0 3744 010166 0000 MYAC3, 0 3745 010167 0044 P1FLAC, FLAC 3746 010170 0045 P2FLAC, FLAC+1 3747 010171 0046 P3FLAC, FLAC+2 3748 010172 7764 O7764, 7764 3749 010173 6000 O6000, 6000 3750 010174 7420 O7420, 7420 3751 *177 3752 010177 6203 FERROR, 6203 3753 010200 5601 JMP I .+1 3754 010201 5774 FSSERR 3755 *202 3756 CHARTAB=.-2 3757 010202 4477 4477;7744 / A 010203 7744 3758 010204 5177 5177;2651 / B 010205 2651 3759 010206 4136 4136;2241 / C 010207 2241 3760 010210 4177 4177;3641 / D 010211 3641 3761 010212 4577 4577;4145 / E 010213 4145 3762 010214 4477 4477;4044 / F 010215 4044 3763 010216 4136 4136;2645 / G 010217 2645 3764 010220 1077 1077;7710 / H 010221 7710 3765 010222 7741 7741;0041 / I 010223 0041 3766 010224 4142 4142;4076 / J 010225 4076 3767 010226 1077 1077;4324 / K 010227 4324 3768 010230 0177 0177;0301 / L 010231 0301 3769 010232 3077 3077;7730 / M 010233 7730 3770 010234 3077 3077;7706 / N 010235 7706 3771 010236 4177 4177;7741 / O 010237 7741 3772 010240 4477 4477;3044 / P 010241 3044 3773 010242 4276 4276;0376 / Q 010243 0376 3774 010244 4477 4477;3146 / R 010245 3146 3775 010246 5121 5121;4651 / S 010247 4651 3776 010250 4040 4040;4077 / T 010251 4077 3777 010252 0177 0177;7701 / U 010253 7701 3778 010254 0176 0176;7402 / V 010255 7402 3779 010256 0677 0677;7701 / W 010257 7701 3780 010260 1463 1463;6314 / X 010261 6314 3781 010262 0770 0770;7007 / Y 010263 7007 3782 010264 4543 4543;6151 / Z 010265 6151 3783 010266 4177 4177;0000 / [ 010267 0000 3784 010270 1020 1020;0204 / \ 010271 0204 3785 010272 0000 0000;7741 / ] 010273 7741 3786 010274 2000 2000;2076 / ^ 010275 2076 3787 010276 1604 1604;0404 / _ 010277 0404 3788 010300 0000 0000;0000 / SPACE 010301 0000 3789 010302 7500 7500;0000 / ! 010303 0000 3790 010304 7000 7000;0070 / " 010305 0070 3791 010306 7624 7624;2476 / # 010307 2476 3792 010310 5721 5721;4671 / $ 010311 4671 3793 010312 6661 6661;4333 / % CR 010313 4333 3794 010314 5166 5166;0526 / & 010315 0526 3795 010316 7000 7000;0000 / ' 010317 0000 3796 010320 3600 3600;0041 / ( 010321 0041 3797 010322 4100 4100;0036 / ) 010323 0036 3798 010324 2050 2050;0050 / * 010325 0050 3799 010326 0404 0404;0437 / + 010327 0437 3800 010330 0500 0500;0006 / , 010331 0006 3801 010332 0404 0404;0404 / - 010333 0404 3802 010334 0001 0001;0000 / . 010335 0000 3803 010336 0601 0601;4030 / / 010337 4030 3804 010340 4536 4536;3651 / 0 010341 3651 3805 010342 2101 2101;0177 / 1 010343 0177 3806 010344 4523 4523;2151 / 2 010345 2151 3807 010346 4122 4122;2651 / 3 010347 2651 3808 010350 2414 2414;0477 / 4 010351 0477 3809 010352 5172 5172;0651 / 5 010353 0651 3810 010354 1506 1506;4225 / 6 010355 4225 3811 010356 4443 4443;6050 / 7 010357 6050 3812 010360 5126 5126;2651 / 8 010361 2651 3813 010362 5122 5122;3651 / 9 010363 3651 3814 010364 2200 2200;0000 / : 010365 0000 3815 010366 4601 4601;0000 / ; 010367 0000 3816 010370 1000 1000;4224 / < 010371 4224 3817 010372 1212 1212;1212 / = 010373 1212 3818 010374 2442 2442;0010 / > 010375 0010 3819 010376 4020 4020;2055 / ? 010377 2055 3820 /403-777 ARE CHARACTER DISPLAY AREA 3821 *1000 3822 / 3823 /GET RIGHT HAND SIDE - USED IN 3824 /PROCESSING OF COMMANDS (LIBR) WHICH NEED 3825 /A FILE NAME; EXPECTS THE FORM FILE, UNIT 3826 / 3827 011000 0000 GETRHS, 0 3828 011001 3675 DCA I PLEFLAG 3829 011002 1322 TAD PLNAME 3830 011003 3011 DCA BLK2 3831 011004 1326 TAD O7770 3832 011005 3012 DCA BLK2+1 3833 011006 1324 PLLP1, TAD O77 3834 011007 3411 DCA I BLK2 3835 011010 2012 ISZ BLK2+1 3836 011011 5206 JMP PLLP1 3837 011012 1322 TAD PLNAME 3838 011013 3011 DCA BLK2 3839 011014 1326 TAD O7770 3840 011015 3012 DCA BLK2+1 3841 011016 4333 PLLP2, JMS CGET 3842 011017 5236 JMP IGOTIT 3843 011020 5330 JMP RHSERR 3844 011021 0324 AND O77 3845 011022 1277 TAD M43 3846 011023 7450 SNA 3847 011024 5261 JMP NUMSGN 3848 011025 1300 TAD PP43 3849 011026 3411 DCA I BLK2 3850 011027 2012 ISZ BLK2+1 3851 011030 5216 JMP PLLP2 3852 011031 4333 JMS CGET 3853 011032 5236 JMP IGOTIT 3854 011033 5330 JMP RHSERR 3855 011034 7200 CLA 3856 011035 5231 JMP .-4 3857 011036 1322 IGOTIT, TAD PLNAME 3858 011037 3011 DCA BLK2 3859 011040 1327 TAD O7774 3860 011041 3012 DCA BLK2+1 3861 011042 1322 TAD PLNAME 3862 011043 3013 DCA BLK2+2 3863 011044 1411 PLLP3, TAD I BLK2 3864 011045 7106 CLL RTL 3865 011046 7006 RTL 3866 011047 7006 RTL 3867 011050 1411 TAD I BLK2 3868 011051 3413 DCA I BLK2+2 3869 011052 2012 ISZ BLK2+1 3870 011053 5244 JMP PLLP3 3871 011054 7326 CLA CLL CML RTL 3872 011055 3376 DCA LNAME+4 3873 011056 4301 MORNUM, JMS OCTNUM 3874 011057 5600 JMP I GETRHS 3875 011060 5330 JMP RHSERR 3876 / 3877 /SCAN OFF THE NUMBER - SET THE FLAG 3878 /WHICH SAYS IT WAS A NUMBER 3879 / 3880 011061 1012 NUMSGN, TAD BLK2+1 3881 011062 1323 TAD O10 3882 011063 7650 SNA CLA 3883 011064 4301 JMS OCTNUM 3884 011065 5330 JMP RHSERR 3885 011066 1371 TAD LNUM 3886 011067 3545 DCA I P5LNAM 3887 011070 1276 TAD FLAGJ 3888 011071 3675 DCA I PLEFLAG 3889 011072 7240 CLA CMA 3890 011073 3546 DCA I P6LNAM 3891 011074 5256 JMP MORNUM 3892 011075 1462 PLEFLAG,LEFLAG 3893 011076 5265 FLAGJ, LEFLAG+3&177+5200 3894 011077 7735 M43, -43 3895 011100 0043 PP43, 43 3896 011101 0000 OCTNUM, 0 3897 / 3898 /SUBR TO GEN AN OCTAL NUMBER 3899 / 3900 011102 3371 PLLP4, DCA LNUM 3901 011103 4333 JMS CGET 3902 011104 2301 ISZ OCTNUM 3903 011105 5701 JMP I OCTNUM 3904 011106 0324 AND O77 3905 011107 1325 TAD O7710 3906 011110 7100 CLL 3907 011111 1323 TAD O10 3908 011112 3333 DCA CGET 3909 011113 7420 SNL 3910 011114 5330 JMP RHSERR 3911 011115 1371 TAD LNUM 3912 011116 7106 CLL RTL 3913 011117 7104 CLL RAL 3914 011120 1333 TAD CGET 3915 011121 5302 JMP PLLP4 3916 011122 1171 PLNAME, LNAME-1 3917 011123 0010 O10, 10 3918 011124 0077 O77, 77 3919 011125 7710 O7710, 7710 3920 011126 7770 O7770, 7770 3921 011127 7774 O7774, 7774 3922 011130 6203 RHSERR, 6203 /RIGHT HAND SIDE ERROR 3923 011131 5732 JMP I .+1 3924 011132 6357 LERR 3925 011133 0000 CGET, 0 /INTERFACE WITH FIELD 0 3926 011134 6203 6203 / JMS CGET 3927 011135 5736 JMP I .+1 / JMP 3928 011136 2564 CGETX / JMP 3929 011137 1354 CGETRET,TAD O7524 / JMP 3930 011140 7450 SNA 3931 011141 5733 JMP I CGET 3932 011142 2333 ISZ CGET 3933 011143 1355 TAD O7761 3934 011144 7450 SNA 3935 011145 5733 JMP I CGET 3936 011146 1356 TAD O56 3937 011147 7450 SNA 3938 011150 5733 JMP I CGET 3939 011151 1357 TAD O215 3940 011152 2333 ISZ CGET 3941 011153 5733 JMP I CGET 3942 011154 7524 O7524, 7524 3943 011155 7761 O7761, 7761 3944 011156 0056 O56, 56 3945 011157 0215 O215, 215 3946 / 3947 /BRING MILDRED INTO CORE 3948 / 3949 011160 0000 LDMILD, 0 3950 011161 6002 IOF 3951 011162 4540 JMS I X7774 3952 011163 1165 MLDBLK 3953 011164 5760 JMP I LDMILD 3954 011165 0110 MLDBLK, 110 3955 011166 0030 30 3956 011167 0076 76 3957 011170 0002 2 3958 *1171 3959 011171 0000 LNUM, 0 /-------- 3960 011172 0000 LNAME, 0;0;0;0;0;0 011173 0000 011174 0000 011175 0000 011176 0000 011177 0000 3961 011200 0000 MVCTR, 0 3962 011201 0000 MVPTR, 0 /--------(REFERENCED AS A BLOCK) 3963 011202 7240 LCHAIN, CLA CMA 3964 / 3965 /LIBRARY LOAD 3966 / 3967 011203 3147 LLOAD, DCA CHFLAG 3968 011204 4543 JMS I PGETRHS 3969 011205 4544 JMS I PLDMILD 3970 011206 4342 JMS LUKUP 3971 011207 1546 TAD I P6LNAM 3972 011210 7041 CIA 3973 011211 1327 TAD LLENGTH 3974 011212 7640 SZA CLA 3975 011213 5356 JMP FILERR+2 3976 011214 1542 TAD I PLNUM 3977 011215 3324 DCA LSBLK 3978 011216 1545 TAD I P5LNAM 3979 011217 3326 DCA FILSTRT 3980 011220 4540 JMS I X7774 3981 011221 1324 TAD LSBLK 3982 011222 7350 CLA CLL CMA RAR 3983 011223 3010 DCA XR1 3984 011224 1410 TAD I XR1 3985 011225 1174 TAD O7420 /FIRST WD MUST BE 0360 3986 011226 7640 SZA CLA 3987 011227 5356 JMP FILERR+2 3988 011230 1304 TAD LOADJ 3989 011231 4262 JMS MOO 3990 011232 5254 JMP XGETOUT 3991 / 3992 /LIBRARY SAVE 3993 / 3994 011233 3147 LSAVE, DCA CHFLAG 3995 011234 4543 JMS I PGETRHS 3996 011235 4544 JMS I PLDMILD 3997 011236 1327 TAD LLENGTH 3998 011237 3546 DCA I P6LNAM 3999 011240 4361 JMS REPLACE 4000 011241 1542 TAD I PLNUM 4001 011242 3324 DCA LSBLK 4002 011243 1545 TAD I P5LNAM 4003 011244 3326 DCA FILSTRT 4004 011245 7350 CLA CLL CMA RAR 4005 011246 3010 DCA XR1 4006 011247 1007 TAD O360 4007 011250 3410 DCA I XR1 4008 011251 4262 JMS MOO 4009 011252 4541 JMS I X7775 4010 011253 1324 LSBLK 4011 011254 6203 XGETOUT,6203 4012 011255 6001 ION 4013 011256 2147 ISZ CHFLAG 4014 011257 5722 JMP I PSTART 4015 011260 5661 JMP I .+1 4016 011261 0603 GOTO 4017 / 4018 /THE WORDS ARE READ/WRITTEN FROM LOC 4000 4019 /OF FLD1; THIS ROUTINE MOVES THEM THERE 4020 / 4021 011262 0000 MOO, 0 4022 011263 3306 DCA DEJUMP 4023 011264 1330 TAD PTBL 4024 011265 3200 DCA MVCTR 4025 011266 1600 MOOLUP, TAD I MVCTR 4026 011267 2200 ISZ MVCTR 4027 011270 7450 SNA 4028 011271 5275 JMP MOOEND 4029 011272 3201 DCA MVPTR 4030 011273 4305 JMS MOVMOV 4031 011274 5266 JMP MOOLUP 4032 011275 1323 MOOEND, TAD MVCNT 4033 011276 3200 DCA MVCTR 4034 011277 2201 ISZ MVPTR 4035 011300 4305 JMS MOVMOV 4036 011301 2200 ISZ MVCTR 4037 011302 5277 JMP .-3 4038 011303 5662 JMP I MOO 4039 011304 5314 LOADJ, JMP NOTSAV 4040 011305 0000 MOVMOV, 0 4041 011306 7402 DEJUMP, HLT 4042 011307 6201 6201 4043 011310 1601 TAD I MVPTR 4044 011311 6211 6211 4045 011312 3410 DCA I XR1 4046 011313 5705 JMP I MOVMOV 4047 011314 6211 NOTSAV, 6211 4048 011315 1410 TAD I XR1 4049 011316 6201 6201 4050 011317 3601 DCA I MVPTR 4051 011320 6211 6211 4052 011321 5705 JMP I MOVMOV 4053 011322 0177 PSTART, START 4054 011323 6366 MVCNT, FRST-FEXP 4055 011324 0000 LSBLK, 0 4056 011325 0030 30 /=14000 4057 011326 0000 FILSTRT,0 4058 011327 0004 LLENGTH,4 4059 011330 1331 PTBL, .+1 4060 011331 0035 BOTTOM 4061 011332 0410 PFNEW 4062 011333 0411 PFX 4063 011334 0412 PFZ 4064 011335 0060 BUFR 4065 011336 0031 LASTV 4066 011337 0013 PDLXR 4067 011340 3206 FRST 4068 011341 0000 0 4069 / 4070 /USES MILDREDS LOOKUP 4071 / 4072 011342 0000 LUKUP, 0 4073 011343 6141 6141 /LINC 4074 011344 0606 0606 /LIF 6 4075 011345 1020 1020 /LDA I 4076 011346 1171 LNUM 4077 011347 6020 6020 /JMP 20 4078 011350 7354 FILERR&1777+6000 4079 011351 0002 0002 /PDP 4080 011352 7200 CLA 4081 011353 5742 JMP I LUKUP 4082 011354 0002 FILERR, 0002 /PDP 4083 011355 7200 CLA 4084 011356 6203 6203/CIF CDF 0 4085 011357 5760 JMP I .+1 4086 011360 2571 ERRFIL 4087 / 4088 /USES MILDREDS REPLACE 4089 / 4090 011361 0000 REPLACE,0 4091 011362 6141 LINC 4092 LMODE 4093 011363 0606 LIF 6 4094 011364 1020 LDA I 4095 011365 1171 LNUM 4096 011366 6022 JMP 22 4097 011367 7372 JMP SAMEN /ALREADY THERE 4098 011370 7354 JMP FILERR /NOT ENUF ROOM 4099 011371 7375 JMP ENREPL 4100 011372 0606 SAMEN, LIF 6 4101 011373 6024 JMP 24 4102 011374 7354 JMP FILERR /NOT ENUF ROOM; SHOULD NOT HAPPEN 4103 011375 0002 ENREPL, PDP 4104 PMODE 4105 011376 7200 CLA 4106 011377 5761 JMP I REPLACE 4107 *1400 4108 011400 7524 MINCMA, -254 4109 011401 0066 PCHAR, CHAR 4110 011402 3157 LMAKE, DCA MYTMP2 /LIBRARY MAKE 4111 011403 6201 6201 4112 011404 1601 TAD I PCHAR 4113 011405 6211 6211 4114 011406 1200 TAD MINCMA 4115 011407 7640 SZA CLA 4116 011410 5623 JMP I PRHSERR 4117 011411 4543 JMS I PGETRHS 4118 011412 4544 JMS I PLDMILD 4119 011413 1157 TAD MYTMP2 4120 011414 3546 DCA I P6LNAM 4121 011415 4555 JMS I PREPLAC 4122 011416 6203 LXIT, 6203 4123 011417 6001 ION 4124 011420 5621 JMP I PPROC 4125 011421 0611 PPROC, PROC 4126 011422 1133 PGETC, CGET 4127 011423 1130 PRHSERR,RHSERR 4128 011424 7510 O7510, 7510 4129 011425 0010 OO10, 10 4130 011426 7455 MCS, -323 4131 011427 0012 CSMCI, 323-311 4132 011430 0003 CIMCF, 311-306 4133 /FILTAB ENTRY = TYPE 4134 / LENGTH 4135 / UNIT 4136 / FIRST BLOCK 4137 /WHERE TYPE 0 = UNDEFINED 4138 / 1 = UNSIGNED (1 WD) 4139 / 2 = SIGNED (2 WD) 4140 / 3 = FLOATING POINT (3 WD) 4141 011431 4302 LOPEN, JMS COMSUB 4142 011432 4622 JMS I PGETC 4143 011433 5236 JMP .+3 4144 011434 7000 NOP 4145 011435 5257 JMP ERXIT 4146 011436 4366 JMS GETCX 4147 011437 1226 TAD MCS 4148 011440 7450 SNA 4149 011441 5251 JMP ITSSS 4150 011442 1227 TAD CSMCI 4151 011443 7450 SNA 4152 011444 5252 JMP ITSII 4153 011445 1230 TAD CIMCF 4154 011446 7640 SZA CLA 4155 011447 5623 JMP I PRHSERR 4156 011450 7001 ITSFF, IAC 4157 011451 7001 ITSSS, IAC 4158 011452 7001 ITSII, IAC 4159 011453 3157 DCA MYTMP2 4160 011454 4622 JMS I PGETC 4161 011455 5261 JMP .+4 4162 011456 7000 NOP 4163 011457 7200 ERXIT, CLA 4164 011460 5623 JMP I PRHSERR 4165 011461 4543 JMS I PGETRHS 4166 011462 0000 LEFLAG, 0 /(OR JMP .+3 IF GETRHS GOT A #) 4167 011463 4544 JMS I PLDMILD 4168 011464 4553 JMS I PLOOKUP 4169 011465 1157 TAD MYTMP2 4170 011466 3556 DCA I MYTEMP 4171 011467 2156 ISZ MYTEMP 4172 011470 1546 TAD I P6LNAM 4173 011471 3556 DCA I MYTEMP 4174 011472 2156 ISZ MYTEMP 4175 011473 1542 TAD I PLNUM 4176 011474 3556 DCA I MYTEMP 4177 011475 2156 ISZ MYTEMP 4178 011476 1545 TAD I P5LNAM 4179 011477 3556 DCA I MYTEMP 4180 011500 5216 JMP LXIT 4181 011501 7472 O7472, 7472 4182 / 4183 /SCANS OFF FN AND LEAVES POINTER IN MYTEMP 4184 / 4185 011502 0000 COMSUB, 0 4186 011503 4366 JMS GETCX 4187 011504 1301 TAD O7472 4188 011505 7650 SNA CLA /F 4189 011506 4366 JMS GETCX 4190 011507 1224 TAD O7510 4191 011510 7100 CLL 4192 011511 1225 TAD OO10 4193 011512 7420 SNL 4194 011513 5257 JMP ERXIT 4195 011514 7106 CLL RTL 4196 011515 1152 TAD PFILTAB 4197 011516 3156 DCA MYTEMP 4198 011517 5702 JMP I COMSUB 4199 / 4200 /LIBRARY CLOSE 4201 / 4202 011520 4302 LCLOSE, JMS COMSUB 4203 011521 4622 JMS I PGETC 4204 011522 5623 JMP I PRHSERR 4205 011523 7410 SKP 4206 011524 5257 JMP ERXIT 4207 011525 3556 DCA I MYTEMP 4208 011526 6002 IOF 4209 011527 4560 JMS I PFINISH 4210 011530 7307 CLA CLL IAC RTL 4211 011531 4560 JMS I PFINISH 4212 011532 5216 JMP LXIT 4213 / 4214 /FILE VARIABLE LOADER 4215 / 4216 011533 0000 ITLOAD, 0 4217 011534 4554 JMS I PCOMMON 4218 / 4219 /VARIABLE IS NOW IN MEMORY; LOSS 4220 /POINT AT IT; ONE OF THE FOLLOWING 3 CHOICES WILL BE TAKEN, ACCORDING 4221 /TO TYPE 4222 / 4223 011535 5346 JMP IRETLD 4224 011536 5341 JMP SRETLD 4225 011537 1551 FRETLD, TAD I LOSS 4226 011540 2151 ISZ LOSS 4227 011541 3164 SRETLD, DCA MYAC1 4228 011542 1551 TAD I LOSS 4229 011543 3165 DCA MYAC2 4230 011544 2151 ISZ LOSS 4231 011545 5354 JMP CRETLD 4232 011546 1370 IRETLD, TAD O27 4233 011547 3164 DCA MYAC1 4234 011550 1551 TAD I LOSS 4235 011551 7710 SPA CLA 4236 011552 7040 CMA 4237 011553 3165 DCA MYAC2 4238 011554 1551 CRETLD, TAD I LOSS 4239 011555 3166 DCA MYAC3 4240 011556 6203 6203 4241 011557 1164 TAD MYAC1 4242 011560 3567 DCA I P1FLAC 4243 011561 1165 TAD MYAC2 4244 011562 3570 DCA I P2FLAC 4245 011563 1166 TAD MYAC3 4246 011564 3571 DCA I P3FLAC 4247 011565 5733 JMP I ITLOAD 4248 011566 5623 GETCX, 5623/0 4249 011567 4622 JMS I PGETC 4250 011570 0027 O27, 27 4251 011571 5623 JMP I PRHSERR 4252 011572 5766 JMP I GETCX 4253 *1600 4254 / 4255 /SUBSCRIPTING FOR FILE VARIABLES 4256 /ENTER WITH A FILE NO. IN AC 4257 011600 0000 COMMON, 0 4258 011601 0376 AND O7 4259 011602 7106 CLL RTL 4260 011603 1152 TAD PFILTAB 4261 011604 3156 DCA MYTEMP 4262 011605 1501 TAD I PLESUB 4263 011606 3150 DCA HISS 4264 011607 1500 TAD I PSUBS /SUBSCRIPTS 4265 011610 3151 DCA LOSS 4266 011611 6211 6211 4267 011612 1556 TAD I MYTEMP 4268 011613 7650 SNA CLA 4269 011614 5177 JMP FERROR 4270 011615 1556 TAD I MYTEMP 4271 011616 3011 DCA BLK2 4272 011617 1411 TAD I BLK2 /(REFERENCES LOCS 2, 3, 4) 4273 011620 3011 DCA BLK2 4274 011621 3013 DCA BLK2+2 4275 011622 1011 PREDIV, TAD BLK2 /DIVIDES BY NO. ENTRIES/BLOCK 4276 011623 7141 CLL CIA 4277 011624 1150 TAD HISS 4278 011625 7420 SNL 4279 011626 5232 JMP DIVDIV 4280 011627 3150 DCA HISS 4281 011630 2013 ISZ BLK2+2 4282 011631 5222 JMP PREDIV 4283 011632 7200 DIVDIV, CLA 4284 011633 1172 TAD O7764 4285 011634 3012 DCA BLK2+1 /LOW ORDER SUBSCRIPT, THEN POINTER 4286 011635 1151 DIVLUP, TAD LOSS 4287 011636 7104 CLL RAL 4288 011637 3151 DCA LOSS 4289 011640 1150 TAD HISS 4290 011641 7004 RAL 4291 011642 3150 DCA HISS 4292 011643 1011 TAD BLK2 4293 011644 7141 CLL CIA 4294 011645 1150 TAD HISS 4295 011646 7430 SZL 4296 011647 3150 DCA HISS 4297 011650 7200 CLA 4298 011651 1013 TAD BLK2+2 4299 011652 7004 RAL 4300 011653 3013 DCA BLK2+2 4301 011654 7430 SZL 4302 011655 5177 JMP FERROR 4303 011656 2012 ISZ BLK2+1 4304 011657 5235 JMP DIVLUP 4305 011660 1556 TAD I MYTEMP 4306 011661 2156 ISZ MYTEMP 4307 011662 7041 CIA 4308 011663 3012 DCA BLK2+1 4309 011664 7410 SKP 4310 011665 2200 ISZ COMMON /SETS UP COMMON XIT ACCORDING TO FILE TYPE 4311 011666 1150 TAD HISS 4312 011667 2012 ISZ BLK2+1 /TBLK (RELATIVE) IS IN BLK2+2 4313 011670 5265 JMP .-3 4314 011671 3151 DCA LOSS 4315 011672 1013 TAD BLK2+2 4316 011673 7140 CLL CMA 4317 011674 1556 TAD I MYTEMP /(THE LENGTH) 4318 011675 7620 SNL CLA /SUBSCRIPT IS TOO LONG 4319 011676 5177 JMP FERROR 4320 011677 2156 ISZ MYTEMP 4321 011700 1556 TAD I MYTEMP 4322 011701 3011 DCA BLK2 4323 011702 2156 ISZ MYTEMP 4324 011703 1556 TAD I MYTEMP /STARTING TBLK 4325 011704 1013 TAD BLK2+2 4326 011705 3013 DCA BLK2+2 /ABSOLUTE TBLK 4327 011706 4351 JMS CHECK 4328 011707 7307 CLA CLL RTL IAC 4329 011710 4351 JMS CHECK 4330 011711 1161 TAD SWITCH /ALTERNATE THE BUFFERS 4331 011712 7650 SNA CLA 4332 011713 7307 CLA CLL IAC RTL 4333 011714 3161 DCA SWITCH 4334 011715 6002 IOF 4335 011716 1161 TAD SWITCH 4336 011717 4560 JMS I PFINISH 4337 011720 1161 TAD SWITCH 4338 011721 1163 TAD PB1FLG 4339 011722 3010 DCA XR1 4340 011723 7201 CLA IAC 4341 011724 3410 DCA I XR1 4342 011725 1011 TAD BLK2 4343 011726 3410 DCA I XR1 4344 011727 1410 TAD I XR1 4345 011730 3012 DCA BLK2+1 4346 011731 1013 TAD BLK2+2 4347 011732 3410 DCA I XR1 4348 011733 4540 JMS I X7774 /READ IT IN 4349 011734 0011 BLK2 4350 011735 1161 TAD SWITCH /THE VARIABLE IS IN MEMORY 4351 011736 7106 ITSAGO, CLL RTL 4352 011737 7006 RTL 4353 011740 7006 RTL 4354 011741 1173 TAD O6000 4355 011742 1151 TAD LOSS 4356 011743 3151 DCA LOSS 4357 011744 7346 CLA CLL CMA RTL 4358 011745 1010 TAD XR1 4359 011746 3150 DCA HISS 4360 011747 6001 ION 4361 011750 5600 JMP I COMMON 4362 011751 0000 CHECK, 0 4363 011752 3162 DCA SWTMP 4364 011753 1162 TAD SWTMP 4365 011754 1163 TAD PB1FLG 4366 011755 3010 DCA XR1 4367 011756 1410 TAD I XR1 4368 011757 7650 SNA CLA 4369 011760 5751 JMP I CHECK 4370 011761 1410 TAD I XR1 4371 011762 7041 CIA 4372 011763 1011 TAD BLK2 4373 011764 7640 SZA CLA 4374 011765 5751 JMP I CHECK 4375 011766 2010 ISZ XR1 4376 011767 1410 TAD I XR1 4377 011770 7041 CIA 4378 011771 1013 TAD BLK2+2 4379 011772 7640 SZA CLA 4380 011773 5751 JMP I CHECK 4381 011774 1162 TAD SWTMP 4382 011775 5336 JMP ITSAGO /BLK IS IN MEMORY ALREADY 4383 011776 0007 O7, 7 4384 *2000 4385 / 4386 /FILE VARIABLE STORER 4387 / 4388 012000 0000 ITSTOR, 0 4389 012001 3010 DCA XR1 4390 012002 1567 TAD I P1FLAC 4391 012003 3164 DCA MYAC1 4392 012004 1570 TAD I P2FLAC 4393 012005 3165 DCA MYAC2 4394 012006 1571 TAD I P3FLAC 4395 012007 3166 DCA MYAC3 4396 012010 1010 TAD XR1 4397 012011 4554 JMS I PCOMMON /BLK IS IN MEMORY; LOSS POINTS AT IT 4398 012012 5266 JMP URETST 4399 012013 5224 JMP SRETST 4400 012014 1164 FRETST, TAD MYAC1 4401 012015 3551 DCA I LOSS 4402 012016 2151 ISZ LOSS 4403 012017 1165 TAD MYAC2 4404 012020 3551 DCA I LOSS 4405 012021 2151 ISZ LOSS 4406 012022 1166 TAD MYAC3 4407 012023 5271 JMP INCALL 4408 012024 1164 SRETST, TAD MYAC1 4409 012025 7450 SNA 4410 012026 5244 JMP STOKOK 4411 012027 7700 SMA CLA 4412 012030 5251 JMP STOOBG /MUST BE LESS THAN MAGN. 1 4413 012031 7100 NORMLE, CLL 4414 012032 1165 TAD MYAC2 4415 012033 7510 SPA 4416 012034 7020 CML 4417 012035 7010 RAR 4418 012036 3165 DCA MYAC2 4419 012037 1166 TAD MYAC3 4420 012040 7010 RAR 4421 012041 3166 DCA MYAC3 4422 012042 2164 ISZ MYAC1 4423 012043 5231 JMP NORMLE 4424 012044 1165 STOKOK, TAD MYAC2 4425 012045 3551 DCA I LOSS 4426 012046 2151 ISZ LOSS 4427 012047 1166 TAD MYAC3 4428 012050 5271 JMP INCALL 4429 012051 1165 STOOBG, TAD MYAC2 4430 012052 7120 CLL CML 4431 012053 7700 SMA CLA 4432 012054 7060 CMA CML 4433 012055 7010 RAR 4434 012056 3551 DCA I LOSS 4435 012057 2151 ISZ LOSS 4436 012060 1165 TAD MYAC2 4437 012061 7700 SMA CLA 4438 012062 7344 CLA CLL CMA RAL 4439 012063 7001 IAC 4440 012064 3551 UZERST, DCA I LOSS 4441 012065 5272 JMP CRETST 4442 012066 6203 URETST, 6203 4443 012067 5670 JMP I .+1 4444 012070 7576 CALLIN 4445 012071 3551 INCALL, DCA I LOSS 4446 012072 7240 CRETST, CLA CMA 4447 012073 3550 DCA I HISS 4448 012074 6203 6203 4449 012075 5600 JMP I ITSTOR 4450 012076 0000 FINISH, 0 4451 012077 1163 TAD PB1FLG 4452 012100 3010 DCA XR1 4453 012101 1410 TAD I XR1 4454 012102 7700 SMA CLA 4455 012103 5676 JMP I FINISH 4456 012104 1010 TAD XR1 4457 012105 3321 DCA BLOCK 4458 012106 7201 CLA IAC 4459 012107 3721 DCA I BLOCK 4460 012110 1410 TAD I XR1 4461 012111 3321 DCA BLOCK 4462 012112 1410 TAD I XR1 4463 012113 3322 DCA BLOCK+1 4464 012114 1410 TAD I XR1 4465 012115 3323 DCA BLOCK+2 4466 012116 4541 JMS I X7775 4467 012117 2121 BLOCK 4468 012120 5676 JMP I FINISH 4469 012121 0000 BLOCK, 0 /UNIT 4470 012122 0000 0 /ADDRESS/256 4471 012123 0000 0 /BLOCKNUM 4472 012124 0001 1 /BLOCKCOUNT 4473 / 4474 /BXFLG=0 IF THE BUFFER IS FREE 4475 / =+ IF THE BUFFER IS OCCUPIED 4476 / =- IF OCCUPIED AND SOMETHING HAS 4477 / CHANGED; IE MUST BE WRITTEN OUT 4478 /BXBLK CONTAINS THE TBLK WHICH IS IN THE BUFFER 4479 /PB1FLG POINTS TO B1FLG; ADDING SWITCH MAKES 4480 /IT POINT AT B2FLG 4481 / 4482 012125 0000 B1FLG, 0 4483 012126 0000 B1UNIT, 0 4484 012127 0034 34 4485 012130 0000 B1BLK, 0 4486 012131 0000 B2FLG, 0 4487 012132 0000 B2UNIT, 0 4488 012133 0035 35 4489 012134 0000 B2BLK, 0 4490 / 4491 /FILE DEFINITIONS - 4 WORDS APIECE 4492 /-TYPE (1,2,3=U,S,F) 0 FOR UNDEFINED 4493 /-LENGTH (7777 IF #) 4494 /-UNIT 4495 /-FIRST BLOCK 4496 / 4497 4498 012135 0000 FILTAB, 0;0;0;0;0;0;0;0 012136 0000 012137 0000 012140 0000 012141 0000 012142 0000 012143 0000 012144 0000 4499 012145 0000 0;0;0;0;0;0;0;0 012146 0000 012147 0000 012150 0000 012151 0000 012152 0000 012153 0000 012154 0000 4500 012155 0000 0;0;0;0;0;0;0;0 012156 0000 012157 0000 012160 0000 012161 0000 012162 0000 012163 0000 012164 0000 4501 012165 0000 0;0;0;0;0;0;0;0 012166 0000 012167 0000 012170 0000 012171 0000 012172 0000 012173 0000 012174 0000 4502 /$ 4503 4504 CRUFT=1 4505 IFDEF CRUFT < 4506 / 4507 / THIS MATERIAL IS IN THE EXECUTABLE, BUT NOT IN THE LISTING. 4508 / SOME OF THAT IS BECAUSE OF THE SAVE COMMAND GRANULARITY, BUT 4509 / SOME OF IT IS NOT. 4510 / 4511 FIELD 0 4512 *0 4513 000000 0000 0 4514 *IOBUF 4515 003120 2307 2307 4516 003121 1502 TAD I SUBR 4517 003122 4341 JMS 3141 4518 003123 3103 DCA M77 4519 003124 7410 SKP 4520 003125 3101 DCA PLESUB 4521 003126 1501 TAD I PLESUB 4522 003127 3503 DCA I M77 4523 003130 4341 JMS 3141 4524 003131 2101 ISZ PLESUB 4525 003132 7410 SKP 4526 003133 2103 ISZ M77 4527 003134 2102 2102 4528 003135 1502 TAD I SUBR 4529 003136 7640 SZA CLA 4530 003137 5321 JMP 3121 4531 003140 5707 5707 4532 003141 0000 0000 4533 003142 3100 DCA PSUBS 4534 003143 1352 TAD 3152 4535 003144 7640 SZA CLA 4536 003145 5350 JMP 3150 4537 003146 2341 2341 4538 003147 2341 2341 4539 003150 1100 TAD PSUBS 4540 003151 5741 JMP I 3141 4541 003152 0000 0000 4542 003153 1370 TAD 3170 4543 003154 3766 DCA I 3166 4544 003155 1367 TAD 3167 4545 003156 3321 DCA 3121 4546 003157 6212 CIF 10 4547 003160 4422 JMS I PC 4548 003161 0547 AND I CHFLAG 4549 003162 6141 6141 4550 003163 0641 AND I RUB5 4551 003164 0602 AND I 3002 4552 003165 6041 TSF 4553 003166 2400 2400 4554 003167 1502 1502 4555 003170 4002 4002 4556 003171 1373 TAD 3173 4557 003172 1366 TAD 3166 4558 003173 2570 2570 4559 003174 7233 CLA CML RTR IAC 4560 003175 0456 AND I EFOP 4561 003176 7322 7322 4562 003177 0642 AND I RUB2 4563 003200 0043 AND OVER1 4564 003201 2003 ISZ WORDS 4565 003202 0641 0641 4566 003203 1440 TAD I EX1 4567 003204 0003 AND WORDS 4568 003205 7322 CLA CLL CML BSW 4569 *3216 4570 003216 7247 7247 4571 003217 1437 1437 4572 003220 7254 7254 4573 003221 1437 TAD I HINBUF 4574 003222 7251 CLA RAR CIA 4575 003223 1437 TAD I HINBUF 4576 003224 7245 CLA RAL CIA 4577 003225 1437 TAD I HINBUF 4578 003226 7371 CLA CLL CML RAR CIA 4579 003227 1437 TAD I HINBUF 4580 003230 7245 CLA RAL CIA 4581 003231 0602 AND I 3202 4582 003232 7046 CMA RTL 4583 003233 0642 AND I 3242 4584 003234 1000 TAD FEXT 4585 003235 2026 ISZ DEBGSW 4586 003236 1120 TAD M5 4587 003237 3777 DCA I 3377 4588 003240 1440 TAD I EX1 4589 003241 2002 2002 4590 003242 0220 220 4591 003243 0641 AND I 3241 4592 003244 6000 IOT 4593 003245 0602 AND I 3202 4594 003246 7032 CML RTR 4595 003247 0602 AND I 3202 4596 003250 7052 CMA RTR 4597 003251 0471 AND I T2 4598 003252 7247 CLA RTL CIA 4599 003253 7260 CLA CML CMA 4600 003254 0471 AND I T2 4601 003255 7247 CLA RTL CIA 4602 003256 0602 AND I 3202 4603 003257 7100 CLL 4604 003260 0602 AND I 3202 4605 003261 7035 CML RAL RAR IAC 4606 003262 7556 SNA SPA OSR HLT 4607 003263 0470 AND I GINC 4608 003264 7260 CLA CML CMA 4609 003265 0077 AND Y 4610 003266 5565 JMP I PSIN 4611 003267 1437 TAD I HINBUF 4612 003270 7245 CLA RAL CIA 4613 003271 1437 TAD I HINBUF 4614 003272 7342 CLA CLL CMA BSW 4615 003273 1437 TAD I HINBUF 4616 003274 7344 CLA CLL CMA RAL 4617 003275 1437 TAD I HINBUF 4618 003276 7346 CLA CLL CMA RTL 4619 003277 1437 TAD I HINBUF 4620 003300 7350 CLA CLL CMA RAR 4621 003301 1437 1437 4622 003302 7352 CLA CLL CMA RTR 4623 003303 1437 TAD I HINBUF 4624 003304 7354 CLA CLL CMA RAL RAR 4625 003305 1437 TAD I HINBUF 4626 003306 7356 CLA CLL CMA RTL RTR 4627 003307 7245 CLA RAL CIA 4628 003310 0602 AND I 3202 4629 003311 7040 CMA 4630 003312 7556 SNA SPA OSR HLT 4631 003313 0470 AND I GINC 4632 003314 7310 CLA CLL RAR 4633 003315 0077 AND Y 4634 003316 1570 TAD I P2FLAC 4635 003317 7301 CLA CLL IAC 4636 003320 0602 AND I 3202 4637 003321 7043 BSW CIA 4638 003322 7556 SNA SPA OSR HLT 4639 003323 0470 AND I GINC 4640 003324 7245 CLA RAL CIA 4641 003325 0077 AND Y 4642 003326 1563 TAD I PB1FLG 4643 003327 1437 TAD I HINBUF 4644 003330 7362 CLA CLL CML CMA BSW 4645 003331 1437 TAD I HINBUF 4646 003332 7366 CLA CLL CML CMA RTL 4647 003333 1437 TAD I HINBUF 4648 003334 7360 CLA CLL CML CMA 4649 003335 1437 TAD I HINBUF 4650 003336 7414 SKP OSR 4651 003337 1437 TAD I HINBUF 4652 003340 7464 7464 4653 003341 7247 CLA RTL CIA 4654 003342 0602 AND I 3202 4655 003343 7614 SKP CLA OSR 4656 003344 0602 AND I 3202 4657 003345 6246 6246 4658 003346 0602 AND I 3202 4659 003347 7607 7607 4660 003350 0602 AND I 3202 4661 003351 6253 6253 4662 003352 0602 AND I 3202 4663 003353 7261 CLA CML CIA 4664 003354 0602 AND I 3202 4665 003355 7311 CLA CLL RAR IAC 4666 003356 0602 AND I 3202 4667 003357 6121 6121 4668 003360 0602 AND I 3202 4669 003361 7130 CLL CML RAR 4670 003362 0471 AND I T2 4671 003363 7245 CLA RAL CIA 4672 003364 0602 AND I 3202 4673 003365 7100 CLL 4674 003366 0471 AND I T2 4675 003367 7247 CLA RTL CIA 4676 003370 7310 CLA CLL RAR 4677 003371 1040 TAD EX1 4678 003372 1374 TAD 3374 4679 003373 7247 CLA RTL CIA 4680 003374 0000 0000 4681 003375 0642 AND I 3242 4682 003376 1000 TAD FEXT 4683 003377 2026 2026 4684 4685 *3400 4686 003400 0241 AND 3441 4687 003401 0017 AND TEXTP 4688 003402 5413 5413 4689 003403 1000 TAD FEXT 4690 003404 2003 ISZ WORDS 4691 003405 0241 AND 3441 4692 003406 3413 DCA I PDLXR 4693 003407 0471 AND I T2 4694 003410 0220 AND 3420 4695 003411 0641 AND I 3441 4696 003412 6000 IOT 4697 003413 0000 AND FEXT 4698 003414 7375 CLA CLL CML RAL RAR CIA 4699 003415 7420 SNL 4700 003416 1317 TAD 3517 4701 003417 7247 CLA RTL CIA 4702 003420 1000 1000 4703 003421 1374 1374 4704 003422 0450 AND I SIGNF 4705 003423 7462 SZA SNL HLT 4706 003424 0642 AND I 3442 4707 003425 0052 AND FISW 4708 003426 2003 ISZ WORDS 4709 003427 0042 AND E 4710 003430 2002 2002 4711 003431 0641 AND I 3441 4712 003432 0061 AND NOASCI 4713 003433 7767 7767 4714 003434 0070 AND GINC 4715 003435 7774 SNA SPA SZL CLA OSR 4716 003436 1332 TAD 3532 4717 003437 1420 TAD I XCT 4718 003440 4700 JMS I 3500 4719 003441 7456 7456 4720 003442 0221 221 4721 003443 0456 456 4722 003444 7456 SNA OSR HLT 4723 003445 1000 TAD FEXT 4724 003446 0012 AND XRT2 4725 003447 1440 TAD I EX1 4726 003450 0002 AND LWETMP 4727 003451 7436 SZL OSR HLT 4728 003452 1000 TAD FEXT 4729 003453 0010 AND AXIN 4730 003454 0602 AND I 3402 4731 003455 7113 CLL RTR IAC 4732 003456 0061 AND NOASCI 4733 003457 7767 7767 4734 003460 0230 0230 4735 003461 7445 7445 4736 003462 1317 TAD 3517 4737 003463 7371 CLA CLL CML RAR CIA 4738 003464 0642 AND I 3442 4739 003465 0043 AND OVER1 4740 003466 2003 ISZ WORDS 4741 003467 0042 AND E 4742 003470 2002 ISZ LWETMP 4743 003471 0046 AND LORD 4744 003472 2006 ISZ DIGITS 4745 003473 0641 AND I 3441 4746 003474 0054 AND SORTCN 4747 003475 0003 AND WORDS 4748 003476 1334 TAD 3534 4749 003477 1420 TAD I XCT 4750 003500 3700 3700 4751 003501 7554 SNA SPA OSR 4752 003502 1460 TAD I STARTV 4753 003503 0047 AND OVER2 4754 003504 7554 SNA SPA OSR 4755 003505 1000 TAD FEXT 4756 003506 1374 TAD 3574 4757 003507 0450 AND I SIGNF 4758 003510 7554 SNA SPA OSR 4759 003511 7233 CLA CML RTR IAC 4760 003512 0456 AND I EFOP 4761 003513 7554 SNA SPA OSR 4762 003514 1020 TAD XCT 4763 003515 0161 AND 161 4764 003516 2006 ISZ DIGITS 4765 003517 1120 1120 4766 003520 0010 AND AXIN 4767 003521 0017 AND TEXTP 4768 003522 4001 JMS XQ 4769 003523 0070 AND GINC 4770 003524 7770 SNA SPA SZL CLA 4771 003525 0052 AND FISW 4772 003526 0003 AND WORDS 4773 003527 1000 GETRHS 4774 003530 0012 AND XRT2 4775 003531 1440 TAD I EX1 4776 003532 0002 0002 4777 003533 0456 AND I EFOP 4778 003534 7542 7542 4779 003535 1332 TAD 3532 4780 003536 1417 TAD I TEXTP 4781 003537 7245 7245 4782 003540 0230 AND 3430 4783 003541 7527 7527 4784 003542 0052 0052 4785 003543 0003 AND WORDS 4786 003544 1334 TAD 3534 4787 003545 1372 TAD 3572 4788 003546 0221 AND 3421 4789 003547 7544 SZA SMA OSR 4790 003550 1317 TAD 3517 4791 003551 1342 TAD 3542 4792 003552 0602 AND I 3402 4793 003553 7126 CLL CML RTL 4794 003554 1317 1317 4795 003555 7247 CLA RTL CIA 4796 003556 0002 AND LWETMP 4797 003557 4762 JMS I 3562 4798 003560 6141 6141 4799 003561 6000 IOT 4800 003562 0455 0455 4801 003563 4737 JMS I 3537 4802 003564 3643 DCA I 3443 4803 003565 5754 JMP I 3554 4804 003566 3727 DCA I 3527 4805 003567 6121 6121 4806 003570 6222 CIF 20 4807 003571 1404 TAD I DDTJR 4808 003572 1000 1000 4809 003573 0000 AND FEXT 4810 003574 5660 5660 4811 003575 0642 AND I 3442 4812 003576 0056 AND EFOP 4813 003577 2026 ISZ DEBGSW 4814 *3672 4815 003672 0000 AND FEXT 4816 003673 0010 AND AXIN 4817 003674 0270 AND G7776 4818 003675 0001 AND XQ 4819 003676 6141 6141 4820 003677 0641 AND I 3641 4821 003700 1000 1000 4822 003701 2373 ISZ 3773 4823 003702 0643 AND I 3643 4824 003703 0602 AND I 3602 4825 003704 6020 6020 4826 003705 0000 0 4827 003706 2305 ISZ 3705 4828 003707 6141 6141 4829 003710 0053 AND INTEGER 4830 003711 0000 AND FEXT 4831 003712 0074 AND LIST7 4832 003713 0100 AND PSUBS 4833 003714 0075 AND P337 4834 003715 6000 IOT 4835 003716 0076 AND O4377 4836 003717 7757 7757 4837 003720 0100 AND PSUBS 4838 003721 1560 TAD I PFINIS 4839 003722 0017 AND TEXTP 4840 003723 5731 JMP I 3731 4841 003724 6014 RFC 4842 003725 0234 AND 3634 4843 003726 1560 TAD I PFINIS 4844 003727 0017 AND TEXTP 4845 003730 1460 TAD I STARTV 4846 003731 0000 0 4847 003732 7742 SZA SMA CLA HLT 4848 003733 0236 AND 3636 4849 003734 7724 SMA SNL CLA OSR 4850 003735 0040 AND EX1 4851 003736 0013 AND PDLXR 4852 003737 0011 AND XRT 4853 003740 0002 AND LWETMP 4854 003741 5705 5705 4855 003742 0011 AND XRT 4856 003743 0040 AND EX1 4857 003744 0013 AND PDLXR 4858 003745 0002 AND LWETMP 4859 003746 5747 JMP I 3747 4860 003747 1005 1005 4861 003750 0000 AND FEXT 4862 003751 0000 0 4863 003752 0000 0 4864 003753 0000 0 4865 003754 0000 0 4866 003755 0000 0 4867 003756 0000 0 4868 003757 0000 0 4869 003760 0000 0 4870 003761 0000 0 4871 003762 0000 0 4872 003763 0000 0 4873 003764 0000 0 4874 003765 0000 0 4875 003766 0000 0 4876 003767 0000 0 4877 003770 0000 0 4878 003771 0000 0 4879 003772 0000 0 4880 003773 0000 0 4881 003774 0000 0 4882 003775 0000 0 4883 003776 0000 0 4884 003777 0000 0 4885 *4400 4886 004400 4757 JMS I RTL6 4887 004401 2005 2005 4888 004402 2240 ISZ 4440 4889 004403 0214 AND 4414 4890 004404 1343 TAD PUSHF 4891 004405 4706 JMS I 4506 4892 004406 1404 TAD I DDTJR 4893 004407 0141 X7775 4894 004410 0427 AND I PACKST 4895 004411 0441 DGRP1 4896 004412 0661 AND I 4461 4897 004413 4757 JMS I RTL6 4898 004414 1625 1625 4899 004415 1540 TAD I X7774 4900 004416 2704 ISZ I 4504 4901 004417 2343 2343 4902 004420 4704 JMS I 4504 4903 004421 0214 AND 4414 4904 004422 0516 AND I MCR 4905 004423 4747 4747 4906 004424 5720 JMP I 4520 4907 004425 0522 0522 4908 004426 4002 JMS LWETMP 4909 004427 1413 POPA 4910 004430 4347 4347 4911 004431 0623 AND I 4423 4912 004432 2422 ISZ I PC 4913 004433 4104 JMS P7600 4914 004434 2704 ISZ I 4504 4915 004435 4130 JMS XLC 4916 004436 2261 ISZ 4461 4917 004437 4106 JMS P177 4918 004440 6143 6143 4919 004441 4702 BF 4920 004442 2506 ISZ I P177 4921 004443 1405 GETVAR 4922 004444 1643 TAD I 4443 4923 004445 4723 JMS I 4523 4924 004446 2430 ISZ I PT1 4925 004447 4347 JMS SORTJ 4926 004450 5564 JMP I MYAC1 4927 004451 4347 4347 4928 004452 0614 AND I 4414 4929 004453 0401 AND I XQ 4930 004454 4104 JMS P7600 4931 004455 2704 ISZ I 4504 4932 004456 4106 JMS P177 4933 004457 6143 6143 4934 004460 4704 JMS I 4504 4935 004461 3043 3043 4936 004462 1004 TAD DDTJR 4937 004463 1417 TAD I TEXTP 4938 004464 2054 ISZ SORTCN 4939 004465 4706 JMS I 4506 4940 004466 2324 ISZ 4524 4941 004467 2241 ISZ 4441 4942 004470 0427 AND I PACKST 4943 004471 0441 AND I D 4944 004472 3022 DCA PC 4945 004473 6141 6141 4946 004474 0661 AND I 4461 4947 004475 4347 JMS SORTJ 4948 004476 0405 AND I P13 4949 004477 1424 TAD I THISOP 4950 004500 0130 AND XLC 4951 004501 4347 4347 4952 004502 0601 0601 4953 004503 0404 AND I DDTJR 4954 004504 4104 4104 4955 004505 2704 ISZ I 4504 4956 004506 4130 4130 4957 004507 2261 ISZ 4461 4958 004510 4106 4106 4959 004511 6143 6143 4960 004512 4702 JMS I 4502 4961 004513 2506 ISZ I P177 4962 004514 1405 TAD I P13 4963 004515 1643 1643 4964 004516 4706 4706 4965 004517 2324 ISZ 4524 4966 004520 2241 ERVX 4967 004521 0427 AND I PACKST 4968 004522 0441 AND I D 4969 004523 3022 3022 4970 004524 6141 M4 4971 004525 0661 AND I 4461 4972 004526 4347 JMS SORTJ 4973 004527 0316 AND 4516 4974 004530 2443 ISZ I OVER1 4975 004531 4701 JMS I 4501 4976 004532 0430 AND I PT1 4977 004533 4106 JMS P177 4978 004534 6143 6143 4979 004535 4762 JMS I TSTLPR 4980 004536 4347 JMS SORTJ 4981 004537 0614 AND I 4414 4982 004540 0401 0401 4983 004541 4104 JMS P7600 4984 004542 2704 2704 4985 004543 4106 4106 4986 004544 6147 M10PT 4987 004545 5704 5704 4988 004546 0514 0514 4989 004547 2401 INFIX 4990 004550 3040 3040 4991 004551 0617 0617 4992 004552 2243 2243 4993 004553 4715 4715 4994 004554 6147 M10PT 4995 004555 4757 4757 4996 004556 0114 M240 4997 004557 1440 1440 4998 004560 1724 1724 4999 004561 1005 1005 5000 004562 2223 2223 5001 004563 4347 4347 5002 004564 1230 1230 5003 004565 1641 1641 5004 004566 0611 PROC 5005 004567 4106 JMS P177 5006 004570 6143 6143 5007 004571 4710 JMS I 4510 5008 004572 0414 AND I FLTXR 5009 004573 1720 TAD I 4520 5010 004574 4347 JMS SORTJ 5011 004575 0601 AND I 4401 5012 004576 0404 AND I DDTJR 5013 004577 4104 JMS P7600 5014 004600 2704 ISZ I 4704 5015 004601 4130 JMS XLC 5016 004602 2264 ISZ 4664 5017 004603 4106 JMS P177 5018 004604 6147 6147 5019 004605 5716 JMP I ONE 5020 004606 0530 AND I XLC 5021 004607 2440 ISZ I EX1 5022 004610 2402 ISZ I LWETMP 5023 004611 1413 POPA 5024 004612 4347 JMS 4747 5025 004613 0316 AND ONE 5026 004614 2443 ISZ I OVER1 5027 004615 4706 JMS I 4706 5028 004616 2324 ISZ NEGP 5029 004617 2241 2241 5030 *4777 5031 004777 0443 0443 5032 *5175 5033 005175 0601 AND I 5001 5034 005176 0404 AND I DDTJR 5035 *5775 5036 005775 2005 ISZ P13 5037 005776 4001 JMS XQ 5038 005777 1604 TAD I 5604 5039 *6377 5040 006377 0000 0 5041 *7377 5042 007377 0000 0 5043 *7575 5044 007575 0000 0 5045 *7747 5046 007747 0000 0 5047 FIELD 1 5048 *0 5049 010000 0000 0 5050 *175 5051 010175 0000 0 5052 010176 0000 0 5053 *1573 5054 011573 0000 0 5055 011574 0000 0 5056 011575 0000 0 5057 011576 0000 0 5058 011577 0000 0 5059 *1777 5060 011777 6141 6141 5061 *2175 5062 012175 0456 AND I CHREND 5063 012176 7322 CLA CLL CML BSW 5064 012177 0642 AND I 2042 5065 5066 / NOTHING BELOW HERE IS IN THE LISTING! 5067 *2200 5068 012200 0043 AND 43 5069 012201 2003 ISZ O200 5070 012202 0641 0641 5071 012203 1440 TAD I 40 5072 012204 0003 AND O200 5073 012205 7322 CLA CLL CML BSW 5074 012206 0011 AND BLK2 5075 012207 5374 JMP 2374 5076 012210 7556 SNA SPA OSR HLT 5077 012211 0470 AND I 70 5078 012212 7245 CLA RAL CIA 5079 012213 0077 AND Y 5080 012214 5562 JMP I SWTMP 5081 012215 1437 TAD I 37 5082 012216 7247 CLA RTL CIA 5083 012217 1437 TAD I 37 5084 012220 7254 7254 5085 012221 1437 TAD I 37 5086 012222 7251 CLA RAR CIA 5087 012223 1437 TAD I 37 5088 012224 7245 CLA RAL CIA 5089 012225 1437 TAD I 37 5090 012226 7371 CLA CLL CML RAR CIA 5091 012227 1437 TAD I 37 5092 012230 7245 CLA RAL CIA 5093 012231 0602 AND I 2202 5094 012232 7046 CMA RTL 5095 012233 0642 AND I 2242 5096 012234 1000 1000 5097 012235 2026 ISZ 26 5098 012236 1120 TAD 120 5099 012237 3777 DCA I 2377 5100 012240 1440 TAD I 40 5101 012241 2002 2002 5102 012242 0220 220 5103 012243 0641 AND I 2241 5104 012244 6000 IOT 5105 012245 0602 AND I 2202 5106 012246 7032 CML RTR 5107 012247 0602 AND I 2202 5108 012250 7052 CMA RTR 5109 012251 0471 AND I 71 5110 012252 7247 CLA RTL CIA 5111 012253 7260 CLA CML CMA 5112 012254 0471 AND I 71 5113 012255 7247 CLA RTL CIA 5114 012256 0602 AND I 2202 5115 012257 7100 CLL 5116 012260 0602 AND I 2202 5117 012261 7035 CML RAL RAR IAC 5118 012262 7556 SNA SPA OSR HLT 5119 012263 0470 AND I 70 5120 012264 7260 CLA CML CMA 5121 012265 0077 AND Y 5122 012266 5565 JMP I MYAC2 5123 012267 1437 TAD I 37 5124 012270 7245 CLA RAL CIA 5125 012271 1437 TAD I 37 5126 012272 7342 CLA CLL CMA BSW 5127 012273 1437 TAD I 37 5128 012274 7344 CLA CLL CMA RAL 5129 012275 1437 TAD I 37 5130 012276 7346 CLA CLL CMA RTL 5131 012277 1437 TAD I 37 5132 012300 7350 CLA CLL CMA RAR 5133 012301 1437 TAD I 37 5134 012302 7352 CLA CLL CMA RTR 5135 012303 1437 TAD I 37 5136 012304 7354 CLA CLL CMA RAL RAR 5137 012305 1437 TAD I 37 5138 012306 7356 CLA CLL CMA RTL RTR 5139 012307 7245 CLA RAL CIA 5140 012310 0602 AND I 2202 5141 012311 7040 CMA 5142 012312 7556 SNA SPA OSR HLT 5143 012313 0470 AND I 70 5144 012314 7310 CLA CLL RAR 5145 012315 0077 AND Y 5146 012316 1570 TAD I P2FLAC 5147 012317 7301 CLA CLL IAC 5148 012320 0602 AND I 2202 5149 012321 7043 BSW CIA 5150 012322 7556 SNA SPA OSR HLT 5151 012323 0470 AND I 70 5152 012324 7245 CLA RAL CIA 5153 012325 0077 AND Y 5154 012326 1563 TAD I PB1FLG 5155 012327 1437 TAD I 37 5156 012330 7362 CLA CLL CML CMA BSW 5157 012331 1437 TAD I 37 5158 012332 7366 CLA CLL CML CMA RTL 5159 012333 1437 TAD I 37 5160 012334 7360 CLA CLL CML CMA 5161 012335 1437 TAD I 37 5162 012336 7414 SKP OSR 5163 012337 1437 TAD I 37 5164 012340 7464 SZA SNL OSR 5165 012341 7247 CLA RTL CIA 5166 012342 0602 AND I 2202 5167 012343 7614 SKP CLA OSR 5168 012344 0602 AND I 2202 5169 012345 6246 6246 5170 012346 0602 AND I 2202 5171 012347 7607 7607 5172 012350 0602 AND I 2202 5173 012351 6253 6253 5174 012352 0602 AND I 2202 5175 012353 7261 CLA CML CIA 5176 012354 0602 AND I 2202 5177 012355 7311 CLA CLL RAR IAC 5178 012356 0602 AND I 2202 5179 012357 6121 6121 5180 012360 0602 AND I 2202 5181 012361 7130 CLL CML RAR 5182 012362 0471 AND I 71 5183 012363 7245 CLA RAL CIA 5184 012364 0602 AND I 2202 5185 012365 7100 CLL 5186 012366 0471 AND I 71 5187 012367 7247 CLA RTL CIA 5188 012370 7310 CLA CLL RAR 5189 012371 1040 TAD 40 5190 012372 1374 TAD 2374 5191 012373 7247 CLA RTL CIA 5192 012374 0000 0 5193 012375 0642 AND I 2242 5194 012376 1000 1000 5195 012377 2026 2026 5196 5197 *4000 5198 014000 0000 0 5199 014001 0000 0 5200 014002 0000 0 5201 014003 0000 0 5202 014004 0000 0 5203 014005 0000 0 5204 014006 0000 0 5205 014007 0000 0 5206 014010 0000 0 5207 014011 0000 0 5208 014012 0000 0 5209 014013 0000 0 5210 014014 0000 0 5211 014015 0000 0 5212 014016 0000 0 5213 014017 0000 0 5214 014020 0006 DIGITS 5215 014021 6030 6030 5216 014022 0006 AND CHRCNT 5217 014023 6265 6265 5218 014024 0006 0006 5219 014025 6252 CIF 50 5220 014026 0006 AND CHRCNT 5221 014027 6604 6604 5222 014030 0075 AND 75 5223 014031 7777 7777 5224 014032 0056 AND CHREND 5225 014033 0000 0 5226 014034 1620 TAD I 4020 5227 014035 4000 4000 5228 014036 0262 AND 4062 5229 014037 0302 AND 4102 5230 014040 1560 1560 5231 014041 4000 4000 5232 014042 4001 4001 5233 014043 4011 4011 5234 014044 0500 AND I PSUBS 5235 014045 6234 6234 5236 014046 1060 TAD 60 5237 014047 0000 0000 5238 014050 0303 AND 4103 5239 014051 1560 TAD I PFINISH 5240 014052 7740 SZA SMA CLA 5241 014053 1620 TAD I 4020 5242 014054 0600 AND I 4000 5243 014055 4221 JMS 4021 5244 014056 2047 ISZ 47 5245 014057 0242 AND 4042 5246 014060 1560 TAD I PFINISH 5247 014061 7740 SZA SMA CLA 5248 014062 1620 1620 5249 014063 0640 AND I 4040 5250 014064 4220 JMS 4020 5251 014065 0452 AND I 52 5252 014066 2220 ISZ 4020 5253 014067 0472 AND I WEXIT 5254 014070 2221 ISZ 4021 5255 014071 1620 TAD I 4020 5256 014072 0640 AND I 4040 5257 014073 4241 JMS 4041 5258 014074 1020 TAD WAITER 5259 014075 0001 AND XQ 5260 014076 0500 AND I PSUBS 5261 014077 6224 6224 5262 014100 0241 AND 4041 5263 014101 1040 TAD 40 5264 014102 0247 0247 5265 014103 0302 0302 5266 014104 1560 TAD I PFINISH 5267 014105 7740 SZA SMA CLA 5268 014106 1620 TAD I 4020 5269 014107 0640 AND I 4040 5270 014110 1040 TAD 40 5271 014111 0243 AND 4043 5272 014112 1560 TAD I PFINISH 5273 014113 7774 SNA SPA SZL CLA OSR 5274 014114 0302 AND 4102 5275 014115 2245 ISZ 4045 5276 014116 1040 TAD 40 5277 014117 4132 JMS 0132 5278 014120 4504 JMS I 104 5279 014121 6241 6241 5280 014122 1001 TAD XQ 5281 014123 1560 TAD I PFINISH 5282 014124 7700 SMA CLA 5283 014125 4246 JMS 4046 5284 014126 6243 6243 5285 014127 0002 AND D256 5286 014130 6212 CIF 10 5287 014131 4754 JMS I 4154 5288 014132 4246 JMS 4046 5289 014133 6141 6141 5290 014134 6241 6241 5291 014135 0064 AND 64 5292 014136 1000 1000 5293 014137 1004 TAD D85 5294 014140 1460 TAD I 60 5295 014141 5757 JMP I 4157 5296 014142 0456 AND I CHREND 5297 014143 6155 6155 5298 014144 1020 TAD WAITER 5299 014145 5757 JMP I 4157 5300 014146 1044 TAD 44 5301 014147 0224 AND 4024 5302 014150 6146 6146 5303 014151 0221 AND 4021 5304 014152 1044 TAD 44 5305 014153 6214 6214 5306 014154 7774 PXOUTL 5307 014155 1021 TAD 0021 5308 014156 4170 JMS P2FLAC 5309 014157 1020 1020 5310 014160 0007 AND O360 5311 014161 1140 TAD X7774 5312 014162 0004 AND D85 5313 014163 0204 AND 4004 5314 014164 0456 AND I CHREND 5315 014165 6214 6214 5316 014166 1024 TAD 24 5317 014167 1460 TAD I 60 5318 014170 0000 0 5319 014171 6157 6157 5320 014172 0045 AND GOODY 5321 014173 0004 AND D85 5322 014174 0042 AND 42 5323 014175 0001 AND XQ 5324 014176 0067 AND 67 5325 014177 7774 SNA SPA SZL CLA OSR 5326 5327 *4200 5328 014200 1022 1022 5329 014201 1465 1465 5330 014202 6157 6157 5331 014203 0227 IRETN 5332 014204 6200 6200 5333 014205 1022 TAD 22 5334 014206 1420 TAD I WAITER 5335 014207 2300 ISZ 4300 5336 014210 6225 6225 5337 014211 1420 1420 5338 014212 0200 AND 4200 5339 014213 6223 6223 5340 014214 0215 AND 4215 5341 014215 6016 6016 5342 014216 0040 AND 40 5343 014217 0016 AND ALPHA 5344 014220 0640 AND I 4240 5345 014221 0600 AND I 4200 5346 014222 6000 IOT 5347 014223 0225 AND 4225 5348 014224 0225 AND 4225 5349 014225 0215 0215 5350 014226 0236 AND 4236 5351 014227 1025 1025 5352 014230 1062 TAD 62 5353 014231 1025 TAD 25 5354 014232 0451 AND I 51 5355 014233 6214 6214 5356 014234 0215 AND 4215 5357 014235 0456 0456 5358 014236 1062 TAD XCTIN 5359 014237 0236 AND 4236 5360 014240 6214 6214 5361 014241 0640 AND I 4240 5362 014242 6000 IOT 5363 014243 0640 AND I 4240 5364 014244 6000 IOT 5365 014245 0246 AND 4246 5366 014246 0000 0000 5367 014247 0000 0 5368 014250 0346 AND 4346 5369 014251 0002 AND D256 5370 014252 0055 AND 55 5371 014253 0000 0 5372 014254 6654 6654 5373 014255 0000 0 5374 014256 0211 AND 4211 5375 014257 6255 6255 5376 014260 6241 6241 5377 014261 1020 TAD WAITER 5378 014262 5757 JMP I 4357 5379 014263 1045 TAD GOODY 5380 014264 6311 6311 5381 014265 0055 AND 55 5382 014266 0000 0 5383 014267 6032 KCC 5384 014270 6306 6306 5385 014271 6301 6301 5386 014272 1020 TAD WAITER 5387 014273 7775 7775 5388 014274 2005 ISZ GAMMA 5389 014275 4010 JMS XR1 5390 014276 0071 AND 71 5391 014277 1776 TAD I 4376 5392 014300 6506 6506 5393 014301 1020 TAD WAITER 5394 014302 7775 7775 5395 014303 2005 ISZ GAMMA 5396 014304 4010 JMS XR1 5397 014305 6310 6310 5398 014306 0070 AND 70 5399 014307 7777 7777 5400 014310 0235 AND 4235 5401 014311 1020 TAD WAITER 5402 014312 0471 AND I 71 5403 014313 4550 JMS I HISS 5404 014314 1020 TAD WAITER 5405 014315 0005 AND GAMMA 5406 014316 2001 ISZ XQ 5407 014317 1040 TAD 40 5408 014320 0006 AND CHRCNT 5409 014321 4007 JMS O360 5410 014322 1027 TAD 0027 5411 014323 0451 AND I 51 5412 014324 6506 6506 5413 014325 0470 AND I 70 5414 014326 6506 6506 5415 014327 1040 TAD 40 5416 014330 0601 AND I 4201 5417 014331 0017 AND BETA 5418 014332 1120 TAD 120 5419 014333 0270 AND 4270 5420 014334 0470 AND I 70 5421 014335 0011 AND BLK2 5422 014336 0451 AND I 51 5423 014337 6350 6350 5424 014340 4600 JMS I 4200 5425 014341 6513 6513 5426 014342 6357 6357 5427 014343 1000 1000 5428 014344 0601 AND I 4201 5429 014345 0017 AND BETA 5430 014346 1104 1104 5431 014347 6334 6334 5432 014350 0072 AND WEXIT 5433 014351 0000 0 5434 014352 1020 TAD WAITER 5435 014353 6777 6777 5436 014354 2601 ISZ I 4201 5437 014355 4603 JMS I 4203 5438 014356 6371 6371 5439 014357 0072 WEXIT 5440 014360 7777 7777 5441 014361 1000 1000 5442 014362 0600 AND I 4200 5443 014363 1040 TAD 40 5444 014364 0602 AND I 4202 5445 014365 2601 ISZ I 4201 5446 014366 1120 TAD 120 5447 014367 7061 CML CIA 5448 014370 4603 JMS I 4203 5449 014371 1020 TAD WAITER 5450 014372 0451 AND I 51 5451 014373 4550 JMS I HISS 5452 014374 1020 TAD WAITER 5453 014375 0470 AND I 70 5454 014376 1040 IPART 5455 014377 0600 AND I 4200 5456 5457 *4400 5458 014400 2603 INTRPT 5459 014401 0471 DCONT 5460 014402 6410 6410 5461 014403 6513 6513 5462 014404 6415 6415 5463 014405 1004 TAD D85 5464 014406 1105 TAD 105 5465 014407 6376 6376 5466 014410 0212 0212 5467 014411 6506 6506 5468 014412 1000 1000 5469 014413 0602 AND I 4402 5470 014414 4600 JMS I 4400 5471 014415 0210 AND 4410 5472 014416 6471 6471 5473 014417 0070 AND 70 5474 014420 1000 1000 5475 014421 1020 TAD WAITER 5476 014422 0007 AND O360 5477 014423 1140 TAD X7774 5478 014424 0010 0010 5479 014425 0210 AND 4410 5480 014426 0456 AND I CHREND 5481 014427 6506 6506 5482 014430 1030 TAD 0030 5483 014431 1460 TAD I 60 5484 014432 5757 JMP I 4557 5485 014433 6421 6421 5486 014434 1001 TAD XQ 5487 014435 1050 1050 5488 014436 1021 1021 5489 014437 1070 TAD 70 5490 014440 1021 TAD 0021 5491 014441 1070 TAD 70 5492 014442 1021 TAD 0021 5493 014443 1070 TAD 70 5494 014444 1021 TAD 0021 5495 014445 1420 TAD I WAITER 5496 014446 2300 ISZ 4500 5497 014447 6454 6454 5498 014450 1420 TAD I WAITER 5499 014451 0200 AND 4400 5500 014452 6465 6465 5501 014453 6506 6506 5502 014454 0047 AND 47 5503 014455 0010 AND XR1 5504 014456 0227 AND 4427 5505 014457 0227 AND 4427 5506 014460 1020 TAD WAITER 5507 014461 5757 JMP I 4557 5508 014462 1067 TAD 67 5509 014463 1067 TAD 67 5510 014464 6471 6471 5511 014465 1020 TAD WAITER 5512 014466 5757 JMP I 4557 5513 014467 1070 TAD 70 5514 014470 1070 TAD 70 5515 014471 1000 1000 5516 014472 0600 AND I 4400 5517 014473 1070 TAD 70 5518 014474 1046 TAD 46 5519 014475 1026 TAD 26 5520 014476 1070 TAD 70 5521 014477 0235 AND 4435 5522 014500 6243 6243 5523 014501 0002 AND D256 5524 014502 6212 CIF 10 5525 014503 4712 JMS I 4512 5526 014504 4246 JMS 4446 5527 014505 6141 6141 5528 014506 0040 AND 40 5529 014507 0015 AND O760 5530 014510 0006 AND CHRCNT 5531 014511 6220 6220 5532 014512 7775 PSCOPO 5533 014513 0056 AND CHREND 5534 014514 0000 0 5535 014515 0064 AND 64 5536 014516 1006 TAD CHRCNT 5537 014517 0224 AND 4424 5538 014520 0456 AND I CHREND 5539 014521 6016 RRB RFC 5540 014522 0224 AND 4424 5541 014523 1000 1000 5542 014524 0004 AND D85 5543 014525 0323 AND 4523 5544 014526 0452 AND I 52 5545 014527 6545 6545 5546 014530 1004 TAD D85 5547 014531 1460 TAD I 60 5548 014532 5757 JMP I 4557 5549 014533 6541 6541 5550 014534 1020 TAD WAITER 5551 014535 0006 AND CHRCNT 5552 014536 1140 TAD X7774 5553 014537 0004 AND D85 5554 014540 6517 6517 5555 014541 1020 TAD WAITER 5556 014542 0004 AND D85 5557 014543 1140 TAD X7774 5558 014544 0004 AND D85 5559 014545 1004 TAD D85 5560 014546 1120 TAD 120 5561 014547 7430 SZL 5562 014550 0451 AND I 51 5563 014551 6517 6517 5564 014552 0045 AND GOODY 5565 014553 0004 AND D85 5566 014554 1025 TAD 25 5567 014555 0451 AND I 51 5568 014556 6517 6517 5569 014557 1004 1004 5570 014560 1560 TAD I PFINISH 5571 014561 7000 NOP 5572 014562 0017 AND BETA 5573 014563 2600 ISZ I 4400 5574 014564 0451 AND I 51 5575 014565 6573 6573 5576 014566 0017 AND BETA 5577 014567 1105 TAD 105 5578 014570 0451 AND I 51 5579 014571 6517 6517 5580 014572 6576 6576 5581 014573 2601 ISZ I 4401 5582 014574 0451 AND I 51 5583 014575 6517 6517 5584 014576 0236 AND 4436 5585 014577 6016 RRB RFC 5586 5587 *4600 5588 014600 0000 0000 5589 014601 0000 0 5590 014602 0000 0 5591 014603 0000 0 5592 014604 0055 0055 5593 014605 0000 0 5594 014606 6032 KCC 5595 014607 6506 6506 5596 014610 6506 6506 5597 014611 1020 TAD WAITER 5598 014612 7776 SNA SPA SZL CLA OSR HLT 5599 014613 1140 TAD X7774 5600 014614 0005 AND GAMMA 5601 014615 1020 TAD WAITER 5602 014616 5757 JMP I 4757 5603 014617 1045 TAD GOODY 5604 014620 1065 TAD 65 5605 014621 1000 1000 5606 014622 0005 AND GAMMA 5607 014623 1660 TAD I 4660 5608 014624 0002 AND D256 5609 014625 4005 JMS GAMMA 5610 014626 1005 TAD GAMMA 5611 014627 0471 AND I 71 5612 014630 6500 6500 5613 014631 1020 1020 5614 014632 5757 JMP I 4757 5615 014633 1044 TAD 44 5616 014634 1064 1064 5617 014635 1064 TAD 64 5618 014636 1064 TAD 64 5619 014637 0064 0064 5620 014640 0777 AND I 4777 5621 014641 1464 1464 5622 014642 6500 6500 5623 014643 0204 AND 4604 5624 014644 6641 6641 5625 014645 0011 AND BLK2 5626 014646 0064 AND 64 5627 014647 0777 AND I 4777 5628 014650 1064 TAD 64 5629 014651 0204 AND 4604 5630 014652 6650 6650 5631 014653 6500 6500 5632 014654 1000 1000 5633 014655 0001 AND XQ 5634 014656 4742 JMS I 4742 5635 014657 1020 TAD WAITER 5636 014660 0200 CHARTAB 5637 014661 0004 AND D85 5638 014662 0073 AND 73 5639 014663 0711 AND I 4711 5640 014664 1020 TAD WAITER 5641 014665 7750 SNA SPA CLA 5642 014666 4014 JMS BLK2+3 5643 014667 0061 AND NOASCII 5644 014670 0200 AND 4600 5645 014671 4003 JMS O200 5646 014672 0435 AND I 35 5647 014673 6741 6741 5648 014674 1020 TAD WAITER 5649 014675 0000 0 5650 014676 1773 TAD I 4773 5651 014677 0234 AND 4634 5652 014700 6676 6676 5653 014701 0237 0237 5654 014702 6662 6662 5655 014703 0077 AND Y 5656 014704 7677 7677 5657 014705 0234 AND 4634 5658 014706 6705 6705 5659 014707 0237 AND 4637 5660 014710 6705 6705 5661 014711 6662 6662 5662 014712 4477 JMS I Y 5663 014713 3146 DCA P6LNAM 5664 014714 0000 0 5665 014715 4577 JMS I FERROR 5666 014716 4145 JMS P5LNAM 5667 014717 0000 0 5668 014720 4477 JMS I Y 5669 014721 3044 DCA 44 5670 014722 0000 0 5671 014723 0177 AND FERROR 5672 014724 0301 AND 4701 5673 014725 0000 0 5674 014726 4477 JMS I Y 5675 014727 7744 SZA SMA CLA OSR 5676 014730 0000 0 5677 014731 4136 JMS 136 5678 014732 2241 ISZ 4641 5679 014733 0000 0 5680 014734 4577 JMS I FERROR 5681 014735 4145 JMS P5LNAM 5682 014736 0000 0 5683 014737 4020 JMS WAITER 5684 014740 2055 ISZ 55 5685 014741 0061 AND NOASCII 5686 014742 0000 0 5687 014743 0011 AND BLK2 5688 014744 0004 AND D85 5689 014745 0500 AND I PSUBS 5690 014746 6036 KRB 5691 014747 1560 TAD I PFINISH 5692 014750 0200 AND 4600 5693 014751 1120 TAD 120 5694 014752 7655 7655 5695 014753 0450 AND I 50 5696 014754 6506 6506 5697 014755 0231 AND 4631 5698 014756 6255 6255 5699 014757 6256 6256 5700 014760 0000 0 5701 014761 0000 0 5702 014762 0000 0 5703 014763 0000 0 5704 014764 0000 0 5705 014765 0000 0 5706 014766 0000 0 5707 014767 0000 0 5708 014770 0000 0 5709 014771 0000 0 5710 014772 0000 0 5711 014773 0000 0 5712 014774 0000 0 5713 014775 0000 0 5714 014776 0000 0 5715 014777 0000 0 5716 > 5717 $ A 0045 ABSOL 6751 ABSOL2 6153 ABSOL3 7375 ABSOLV 5571 AC1H 0041 AC1L 0042 ACMINS 6605 ADDR 0040 ADONE 6673 AF 4677 ALF1 4760 ALF2 4763 ALFZ 4755 ALGN 6572 ALIGN 6623 ALIST 1370 ALPHA 0016 AMOUNT 6722 ARCALG 4732 ARCRTN 5024 ARGNXT 1723 ARTN 5000 ASHFT 6665 ASK 1200 ATLIST 1570 ATSW 0056 AXIN 0010 AXOUT 0017 B 0046 B1BLK 2130 unreferenced B1FLG 2125 B1UNIT 2126 unreferenced B2BLK 2134 unreferenced B2FLG 2131 unreferenced B2UNIT 2132 unreferenced BACK 5503 BEGIN 3601 BET1 4771 BET2 4774 BETA 0017 BETZ 4766 BF 4702 BLK2 0011 BLOCK 2121 BOTTOM 0035 BUFBEG 3216 BUFFER 7470 BUFR 0060 BUFST 5531 C 0047 C100 0006 C140 2554 C144 6140 C200 0123 C260 0113 C3 5345 C5 5341 C7 5335 C9 5331 CALLIN 7576 CCR 0077 CDF 7000 CEX1 6506 CEXP 6505 CF 4705 CFRS 0133 CFRSX 0137 CGET 1133 CGETRE 1137 CGETX 2564 CHAR 0066 CHARTA 0200 CHECK 1751 CHFLAG 0147 CHIN 2157 CHRCNT 0006 CHREND 0056 CHRLUP 0033 CHRT 6133 CIMCF 1430 CLCU 7427 CLEAR 7672 CLF 0076 CLKFLG 2661 CNTR 0057 COL 1253 COMBOT 0226 COMBUF 0132 COMEIN 3140 COMEOU 3206 COMGO 1161 COMLST 0774 COMMEN 0614 COMMON 1600 COMSUB 1502 CON1 5037 CRETLD 1554 CRETST 2072 CRLF 7505 CRUDDY 1155 CRUFT 0001 CSMCI 1427 CSTAR 0225 D 0041 D256 0002 D85 0004 DATUM 7102 DATUMA 7252 DCONP 6303 DCONT 0471 DCOUNT 6143 DDTJR 0004 DEBGSW 0026 DECON 5627 DECONV 5600 DECP 5533 DECR 5521 DEJUMP 1306 DELETE 4565 DF 4710 DGRP 0425 DGRP1 0441 DIG 5543 DIGIT 5713 DIGITS 0006 DIV1 5754 DIV2 6757 DIVDIV 1632 DIVIDE 7150 DIVLUP 1635 DMDONE 7063 DMPSW 0100 DMULT 7004 DMULT4 7036 unreferenced DNORM 7335 DNUMBR 5714 DO 0420 DOK 2113 DONE 2131 DOONE 0463 DOUBLE 0127 DPCVPT 6302 DPN 6305 DPT 6145 DSAVE 5640 DTST 5647 DUBDIV 7261 DUBLAD 5733 DV3 7267 E 0042 ECALL 1601 ECHOLS 1624 EFOP 0056 EFUN 1743 EFUN2 1755 EFUN3 2021 EFUN3I 0136 ELPAR 1764 END 0134 unreferenced ENDFI 6243 ENDLN 4556 ENDT 0135 ENREPL 1375 ENUM 1732 EPAR 1710 EPAR2 1766 ERASE 2206 ERG 2227 ERL 2224 ERR2 2726 ERRFIL 2571 ERROR2 4566 ERROR3 4566 ERROR4 4566 ERROR5 2725 ERT 2216 ERV 2221 ERVX 2241 ERXIT 1457 ESCA 2532 ETERM 1647 ETERM1 1627 ETERM2 1655 ETERMN 1644 EVAL 1613 EX1 0040 EXIT 2646 EXIT1 5034 EXIT2 5301 EXIT3 7363 EXITJ 2660 unreferenced EXP 0044 EXTR 2313 F 0043 FADD 1000 FCONT 1101 FCOS 5177 FCOUNT 5535 FDIV 3000 FEND3 2267 FERROR 0177 FEXP 4620 FEXT 0000 FFF 1522 FGET 0000 FGO2 6011 FGO3 6027 FGO4 6034 FGO5 6070 FIG01 6221 FIG04 6261 FILERR 1354 FILSTR 1326 FILTAB 2135 FINCR 1065 FINDLN 4555 FINDN 2250 FINFIN 1137 FINISH 2076 FINKP 1133 FINPUT 0131 FINT 4407 FISW 0052 FIVHUN 7653 FIX 6724 FIXM 6753 FLAC 0044 FLAD 6510 FLAG1 5162 FLAG2 4725 FLAGJ 1076 FLARG 2032 FLARGP 0125 FLDV 7107 FLEX 6517 FLGT 6471 FLIMIT 1075 FLINTP 6200 FLIST1 0577 FLIST2 0574 FLMY 6565 FLOG 5040 FLOP 1674 FLOUT 5556 FLOUTP 6000 FLPT 6467 FLSU 6507 FLTONE 2405 FLTXR 0014 FLTXR2 0015 FLTZER 2407 FM12 6142 FMUL 4000 FNEG 5163 FNOR 7000 FNTABF 0374 FNTABL 2167 FNUM 6311 FOR 1041 FORHUN 7651 FOUTPU 0130 FPAC1 7474 FPNT 6400 FPOW 5000 unreferenced FPRNT 5465 FPUT 6000 FRETLD 1537 unreferenced FRETST 2014 unreferenced FRST 3206 FRSTX 3214 FSIN 5204 FSSERR 5774 FSUB 2000 FXIT 0000 G101 3661 G5772 3662 G5773 3663 G7200 3664 G7773 3665 unreferenced G7774 3666 G7775 3667 G7776 3670 G7777 3671 GAMMA 0005 GBLOK 3655 GECALL 1463 GEND 2334 GERR 0340 GET1 2330 GET3 2345 GETARG 1401 GETC 4545 GETCX 1566 GETLN 4554 GETRHS 1000 GETSGN 1045 GETVAR 1405 GEXIT 0352 GFND1 1510 GINC 0070 GLIST 1375 GO 5021 GONE 0232 GOODY 0045 GOTO 0603 GRPTST 0744 GS1 1435 GS2 1464 GS3 1444 GS4 1457 GSERCH 1424 GTEM 0021 GZERR 0362 HINBUF 0037 HISS 0150 HORD 0045 I33 2414 IBAR 0212 IECALL 1037 IF 1013 IF1 1035 IF3 1025 IGNOR 0217 IGOTIT 1036 ILIST 0771 IN 5513 INBUF 0034 INCALL 2071 INDEV 0064 INDRCT 6465 INFIX 2401 INLIST 0570 INORM 6307 INPUT 0756 INPUTX 0271 INSUB 0036 INTEGE 0053 INTRPT 2603 IOBUF 3120 IPART 1040 IRETLD 1546 IRETN 0227 ITABLE 6575 ITER1 7470 ITLOAD 1533 ITSAGO 1736 ITSFF 1450 unreferenced ITSII 1452 ITSOK 7521 ITSSS 1451 ITSTOR 2000 JUMP 6464 K5 5525 KINT 2625 L1 5126 L2 5131 L3 5134 L4 5137 LASTLN 0025 LASTOP 0055 LASTV 0031 LC 5171 LCHAIN 1202 LCLOSE 1520 LCON 0371 LDMILD 1160 LEFLAG 1462 LEFPUT 0172 LEPUT 6163 LERR 6357 LESUB2 0170 LESUBS 0173 LG 6375 LG2E 4713 LGO 6360 LINENO 0067 LIST3 0077 LIST6 0072 LIST7 0074 LISTGO 1366 LL 5173 LLENGT 1327 LLIST 6366 LLOAD 1203 LM 2572 LMAKE 1402 LNAME 1172 LNUM 1171 LO 5167 LOADIT 6333 LOADJ 1304 LOG2 5157 LOG5 5142 LOG6 5145 LOG7 5150 LOG8 5153 LOOP01 6433 LOPEN 1431 LORD 0046 LOSS 0151 LPRTST 2037 LS 6176 LSAVE 1233 LSBLK 1324 LTAPE 6346 LUKUP 1342 LWETMP 0002 LXIT 1416 M100 0101 unreferenced M10PT 6147 M11 0121 M12 2413 M137 2357 M140 2556 M144 6137 M2 0111 M20 0105 M240 0114 M260 1534 unreferenced M272 1544 M4 6141 M40 2356 M43 1077 M5 0120 M77 0103 MBREAK 2602 MCOM 1136 unreferenced MCR 0116 MCS 1426 MD 5526 MEQ 1135 MF 0602 MFLT 0117 MHUNDR 5375 MIF 7260 MINCMA 1400 MINCOM 6374 MINE 5662 MINSKI 0051 MINUS2 7153 MINUSA 0112 MINUSE 6301 MINUSZ 5663 MLDBLK 1165 MLIMIT 7647 MMCOM 7656 MOD 5214 MODIFY 1254 MOO 1262 MOOEND 1275 MOOLUP 1266 MORNUM 1056 MOVMOV 1305 MP1 7254 MP2 7256 MP3 7255 MP4 7200 MP5 7253 MP6 7210 MPER 0115 MPLUS 5664 MSPACE 5665 MULDIV 7101 MULT 6570 MULT10 5667 MULT2 5715 MULTY 4752 MVCNT 1323 MVCTR 1200 MVPTR 1201 MYAC1 0164 MYAC2 0165 MYAC3 0166 MYTEMP 0156 MYTMP2 0157 NAGSW 0065 NCHARS 7566 NCOLS 7564 NEGP 4724 NFEEDS 7565 NLINES 7561 NOASCI 0061 NOCLK 2653 NOCRLF 7510 NOHANG 7556 NORF 6515 NORM 6571 NORMF 7147 NORMLE 2031 NOTSAV 1314 NOX 6675 NOX1 6711 NOX2 6704 NUMSGN 1061 O1 3600 O10 1123 O12 1545 O200 0003 O215 1157 O27 1570 O360 0007 O37 1360 O4377 0076 O4600 5374 O56 1156 O6000 0173 O6377 7570 O7 1776 O7000 7415 O7400 7650 O7420 0174 O7472 1501 O7510 1424 O7524 1154 O7566 7572 O760 0015 O7655 7571 O77 1124 O7710 1125 O7716 7573 O7761 1155 O7763 7567 O7764 0172 O7770 1126 O7774 1127 OC 7752 OCTNUM 1101 OD 7761 ODISSP 7704 OE 7753 OERROR 7713 unreferenced OEXIT 7731 OGO 7714 OI 7734 OLIST 7722 OM12 5530 ONE 4716 OO10 1425 OO6377 7730 OP 3115 OPMINS 6567 OPNEXT 1622 OPTABL 1731 OPTR 6002 OPTR0 2663 OPTRI 2665 OPTRO 2664 OPUT 5532 OS 7763 OSAMP 1357 OT 7771 OUT 2465 OUTA 5536 OUTCR 2476 OUTDEV 0063 OUTDG 6154 OUTPUT 7706 OUTX 2475 OVER1 0043 OVER2 0047 P 0000 P13 0005 P17 0107 P177 0106 P1FLAC 0167 P2000 0373 P27 6750 P277 0110 P2FLAC 0170 P3 2036 P337 0075 P377 2553 P3FLAC 0171 P40 2552 P4000 0124 P43 6310 P5LNAM 0145 P6LNAM 0146 P7200 1402 P7600 0104 P77 0122 P7700 0101 P7740 0372 PA1 2524 PACBUF 2502 PACKC 4546 PACKST 0027 PACX 2530 PALG 5260 PARTES 2051 PASS 6335 PB1FLG 0163 PC 0022 PC1 0614 PCHAR 1401 PCHECK 5244 PCHK 0510 PCK1 2535 PCLEAR 0175 PCLKFL 7745 PCOMMO 0154 PD2 0534 PD3 0554 PDLXR 0013 PECALL 6334 PEQ 6135 unreferenced PER 0102 PFILTA 0152 PFINIS 0160 PFNEW 0410 PFNUM 1771 PFX 0411 PFZ 0412 PGETC 1422 PGETRH 0143 PI 5311 PI2 5036 PIOT 5315 PLCE 5536 PLDMIL 0144 PLEFLA 1075 PLESUB 0101 PLLP1 1006 PLLP2 1016 PLLP3 1044 PLLP4 1102 PLNAME 1122 PLNUM 0142 PLOOKU 0153 PNCHAR 7732 PNCOLS 7776 PNFEED 7777 POPA 1413 POPF 4544 POPJ 5541 POPTR 7733 PP43 1100 PPASS 7705 PPROC 1421 PPTEN 6144 PPTR 7574 PREDIV 1622 PREPLA 0155 PRHSER 1423 PRINTC 4551 PRNT 2442 PRNT2 3114 PRNTI 6132 PRNTLN 4553 PROC 0611 PROCES 0610 PSCOPO 7775 PSETCL 7746 PSIN 0165 PSTART 1322 PSUBS 0100 PT1 0030 PTBL 1330 PTCH 0126 PTEN 6275 PTEST 1462 PUSHA 4542 PUSHF 4543 PUSHJ 4540 PWAIT 0174 PXOUTL 7774 QADD 0061 R6 5441 RANMUL 6160 RANO 1142 RAR1 6573 RAR2 6574 RDIV 0152 READC 4552 RECOVR 2740 RECOVX 2761 unreferenced REMAIN 5712 REPLAC 1361 REPT 6146 RESOL 6752 RESOL3 7376 RESOL5 6304 RESOLV 7173 RET 5452 RETRN 1563 RETURN 5536 REVIT 7146 RHSERR 1130 RITEOU 3651 RND2 5527 ROOTGO 7461 ROT 2557 ROUND 6151 RTL6 4557 RUB1 3004 RUB2 3042 RUB3 3030 RUB4 3037 RUB5 3041 RUBIT 2555 SADR 6150 SAMEN 1372 SAVAC 2600 SAVE 3751 SAVLK 2601 SBAR 1300 SCHAR 1271 SCONT 1266 SCOPOU 7500 SCOUNT 5534 SETCLK 5351 SETT 1041 SEX 1336 SEXC 0740 SFOUND 1304 SGOT 1310 SIGN 7124 SIGNF 0050 SIN 2662 SMIN 6136 SMP 6101 unreferenced SMSP 6134 SORTB 1312 SORTC 4550 SORTCN 0054 SORTJ 4547 SPECIA 6777 SPLAT 3051 SPNOR 4560 SPTR 7671 SQCON1 7467 SQEND 7465 SRETLD 1541 SRETN 0261 SRETST 2024 SRNLST 1361 START 0177 STARTL 5064 STARTV 0060 STEMP 7750 STEMP2 7751 STOKOK 2044 STOOBG 2051 STORIT 6175 SUBR 0102 SUBS 0171 SUBS2 0167 SWITCH 0161 SWTMP 0162 T 0000 T1 0032 T12 3611 unreferenced T2 0071 T3 0033 TABLE 6466 TAG1 6723 TASK 1202 TASK4 1250 TCRLF 1246 TCRLF2 1243 TDUMP 3052 TELSW 0016 TEM 5156 TEMP 4726 TEN 6271 TENPT 6152 TERMS 1772 TEST2 6736 TEST4 7366 TESTA 0322 TESTC 4564 TESTN 4561 TEXTP 0017 TGO 5400 THIR 7257 THISLN 0023 THISOP 0024 TINTR 1236 TLIST 1376 TLIST2 1532 TLIST3 2377 TQUOT 1227 TRAD 6575 TSTGRP 4563 TSTLPR 4562 TWO 4721 TWOPI 5305 TYPE 1201 TYPE2 1223 URETST 2066 UTE 2276 UTO 2305 UTRA 2274 UTX 2316 UZERST 2064 unreferenced VAL 0032 WAIT 7657 WAITER 0020 WAITLP 0115 WALL 0664 WEXIT 0072 WORDS 0003 WRITE 0635 WTEST2 0653 WTESTG 0667 WX 0673 X 5321 X1 5035 X2 4675 X7774 0140 X7775 0141 XABS 2016 XADC 1341 XCT 0020 XCTIN 0062 XDELET 2064 XDISP 7602 XENDLN 2360 XFIND 2244 XGETLN 0302 XGETOU 1254 XI33 2666 XIN 6306 XINPUT 5666 XINT 1156 XLC 0130 XLG 0136 XLL 0132 XLO 0126 XLS 0134 XOUTL 2676 XPOPJ 1565 XPRNT 2425 XPUSHA 0477 XPUSHJ 0521 XQ 0001 XR1 0010 XRAN 1145 XRAR2 7365 XRT 0011 XRT2 0012 XRTL6 0413 XSGN 2012 XSORTC 0721 XSPNOR 1535 XSQ2 4676 XSQR 5325 XSQRT 7400 XT3 0717 XTESTC 0700 XTESTN 1546 XYZ 2451 Y 0077 ZERO 6522