1 /STAGE2 RUN TIME SYSTEM 2 / 3 / THIS IS THE MACHINE DEPENDENT CODE PART OF STAGE2. 4 / IT CONTAINS THE INITIAL SET UP AND INTERACTION WITH THE 5 / OPERATING SYSTEM, I/O AND CLEAN-UP. 6 / THE GET, STORE, MULTPLY AND DIVIDE ARE ALSO HERE 7 / 8 SWAB=7431 9 SWBA=7447 10 SAM=7457 11 DAD=7443 12 DLD=7663 13 DST=7445 14 DPIC=7573 15 DPCM=7575 16 DPSZ=7451 17 MUY=7405 18 DVI=7407 19 SHL=7413 20 ASR=7415 21 LSR=7417 22 CAM=7621 23 LSF=6661 24 LSE=6663 25 LLS=6666 26 FIXTAB 27 MAXL=205 /133 DECIMAL 28 P=10 29 *10 30 000010 0000 XR1, 0 31 000011 0000 XR2, 0 32 000012 0000 XR3, 0 33 *20 34 000020 7767 TABCK, -11 /TAB CHECK 35 000021 3001 LBP, LB /POINTER TO LINE BUFFER 36 000022 7572 LBC, -MAXL-1 37 000023 0000 T1, 0 /GENERAL TEMP. 38 000024 0000 T2, 0 39 000025 0000 ARGP, 0 40 000026 0000 CHAR, 0 41 000027 7777 INHAND, -1 //CURRENT DEVICE NUMBER OF INPUT 42 000030 7777 CUR, -1 /CURRENT CHANEL ON DECK 43 000031 0000 ENTRYP, 0 /ENTRY POINT OF HANDLER 44 000032 0000 CURB, 0 /CURRENT RELATIVE BLOCK NUMBER 45 000033 0000 BASEF, 0 /BLOCK # OF FILE BASE 46 000034 0000 BUFBASE,0 /ADDRESS OF BUFFER IN FIELD 1 47 000035 0000 WORP, 0 /WORD POINTER (RELATIVE) INTO OS/8 BUFFER 48 000036 0000 CHARSW, 0 /CHARACTER SWITCH. 0,1, OR 2 49 000037 0000 STAT, 0 /DEVICE STATUS 50 / BITS IN THE STATUS WORD ARE ALLOCATED AS FOLLOWS: 51 / 0 CHARACTER HANDLER 52 / 1 NO CONTROL OPERATIONS ALLOWED 53 / 2 IS A TENATIVE (OUTPUT) FILE 54 / 3 TEMPORARY FILE 55 / 4 END OF FILE OR MEDIUM THIS BUFFER 56 / 5 LOGICAL END OF FILE 57 / 9 WRITTEN ON 58 / 10 READ ONLY FILE (NO REWIND) 59 / 11 FILE IS REWOUND 60 / 61 000040 0000 MAXB, 0 /FILE SIZE IN BLOCKS 62 STARTAD, /STARTING ADDRESS OF STAGE2 63 000041 0000 RESGN, 0 /FLAG FOR RESULTING SIGN 64 000042 0000 PTRDIF, 0 /DIFFERENCE BETWEEN FLAG ANG PTR 65 000043 0000 PTR9, 0 /USED ONLY ONCE 66 000044 0000 TRACEP, 0 /POINTER TO TRACE BACK IN FIELD P 67 000045 0000 EXPER, 0 /POINTER TO TRACE BACK WITH EXPRESSION ERROR 68 000046 0000 GTP, 0 /ADDRESS OF POINTERS ON PAGE ZERO FIELD 1 69 000047 0003 NWORDS, 3 70 000050 0004 EXFILE, 4 /CHANNEL NUMBER OF THE EXTRA FILE (DEFAULT 4) 71 000051 0202 CNTRLB, 202 72 000052 0000 OPT1, 0 /OPTION BITS FROM CD 73 000053 0000 OPT2, 0 74 000054 0000 OPT3, 0 75 000055 0000 OPT4, 0 76 000056 0000 OPT5, 0 77 000057 0200 USR, 200 /POINTER TO USR FOR INEXT 78 NL, 79 000060 0000 RA1, 0 /DP REG. 80 NH, 81 000061 0000 RA2, 0 82 DL, 83 000062 0000 RB1, 0 84 DH, 85 000063 0000 RB2, 0 86 Q, 87 000064 0000 RC1, 0 88 PAGE 89 000200 5777 JMP I (STARTUP /NORMAL ENTRY 90 / 91 / MUL0 MULTIPLYS TWO 24BIT NUMBERS TOGETHER. OVERFLOW NOW PRODUCES A HALT. 92 / ON ENTRY THE AC POINTS TO A LIST OF THREE ADDRESSES IN FIELD P. 93 / THE ADDRESSES ARE OPERAND 1, OPERAND 2 AND THE RESULT. 94 / 95 000201 0000 MUL0, 0 /MULTIPLY TWO DP NUMBERS 96 000202 3025 DCA ARGP /AC HAS ARGLIST POINTER 97 000203 1425 TAD I ARGP /DF STILL P 98 000204 3216 DCA M1 /FIRST ARG 99 000205 2025 ISZ ARGP /NEXT 100 000206 1425 TAD I ARGP /SECOND ARG 101 000207 3227 DCA M2 102 000210 2025 ISZ ARGP /RESULT ADDRESS 103 000211 1425 TAD I ARGP 104 000212 3267 DCA RESP 105 000213 7344 CLL CLA CMA RAL /-2 106 000214 3041 DCA RESGN /KEEP TRACK OF RESULT SIGN 107 000215 7663 DLD 108 000216 0000 M1, 0 109 000217 7500 SMA /CHECK SIGN 110 000220 5223 JMP .+3 111 000221 7575 DPCM /MAKE POSATIVE 112 000222 2041 ISZ RESGN /MAKE THE FACT KNOWN 113 000223 3063 DCA RB2 114 000224 7521 SWP 115 000225 3062 DCA RB1 116 000226 7663 DLD /NEXT 117 000227 0000 M2, 0 118 000230 7500 SMA 119 000231 5235 JMP .+4 120 000232 7575 DPCM 121 000233 2041 ISZ RESGN 122 000234 7000 NOP /COULD SKIP 123 000235 6201 CDF 0 124 000236 7445 DST; RA1 000237 0060 125 000240 7605 CLA MUY; RB1 /LORD TIMES LORD 000241 0062 126 000242 7521 SWP /GET LOW RESULT 127 000243 3064 DCA RC1 128 000244 1061 TAD RA2 129 000245 7525 SWP MUY; RB1 /NICE INSTRUCTION DEC! 000246 0062 130 000247 7640 SZA CLA /MUST BE ZERO 131 000250 5273 JMP MOVER 132 000251 1060 TAD RA1 133 000252 7525 SWP MUY; RB2 /HI TIMES LOW + HI(LOW*HI) 000253 0063 134 000254 7640 SZA CLA 135 000255 5273 JMP MOVER 136 000256 1064 TAD RC1 137 000257 7521 SWP /PUT IN RIGHT ORDER 138 000260 7510 SPA 139 000261 5273 JMP MOVER 140 000262 2041 ISZ RESGN /SIGN CHECK 141 000263 7410 SKP /REVERSE SENCE 142 000264 7575 DPCM 143 000265 6213 CDF CIF P 144 000266 7445 DST 145 000267 0000 RESP, 0 146 000270 7301 CLL CLA IAC /1 147 000271 1025 TAD ARGP /POINT TO RETURN 148 000272 5601 JMP I MUL0 149 / 150 000273 7621 MOVER, CAM 151 000274 4577 JMS I [MESS4 152 000275 3252 MULV 153 000276 7300 EXER, CLL CLA 154 000277 6213 CDF CIF P 155 000300 5445 JMP I EXPER 156 / 157 000301 0000 CLOSE, 0 /CLOSE A FILE IS IT WAS SPECIFIED 158 000302 1701 TAD I CLOSE /GET CHALEL NUMBER 159 000303 3344 DCA CNO 160 000304 1344 TAD CNO 161 000305 4576 JMS I [ONDECK 162 000306 7402 HLT /SYSYTEM ERROR 163 000307 2301 ISZ CLOSE 164 000310 1701 TAD I CLOSE /POINTER TO NAME 165 000311 2301 ISZ CLOSE 166 000312 3340 DCA FNAME 167 000313 1740 TAD I FNAME 168 000314 7650 SNA CLA /WAS THERE A FILE SPECIFACTION? 169 000315 5701 JMP I CLOSE /NO 170 000316 1344 TAD CNO 171 000317 1376 TAD (BMAX-1 172 000320 3341 DCA OMAX 173 000321 1741 TAD I OMAX /CHECK FOR ANYTHING WORTH SAVING 174 000322 1032 TAD CURB 175 000323 1035 TAD WORP 176 000324 1036 TAD CHARSW 177 000325 7650 SNA CLA 178 000326 5701 JMP I CLOSE /DON'T CLOSE IT IF NEVER WRITTEN ON 179 000327 4775 JMS I (FILB /CLOSE IT OUT 180 000330 5342 JMP ERCL /ERROR IN CLOSING FILE 181 000331 1741 TAD I OMAX /GET NEW LIMIT 182 000332 3341 DCA OMAX 183 000333 1740 TAD I FNAME 184 000334 2340 ISZ FNAME 185 000335 6212 CIF 10 186 000336 4575 JMS I [200 /NED0 BROUGHT URS IN 187 000337 0004 4 /CLOSE 188 000340 0000 FNAME, 0 189 000341 0000 OMAX, 0 190 000342 7201 ERCL, CLA IAC 191 000343 5701 JMP I CLOSE 192 / 193 000344 0000 CNO, 0 194 000375 1400 PAGE 000376 3305 000377 6400 195 / 196 / DIV0 PERFORMS A 24 BIT BY 24 BIT DIVISION. ONLY THE INTEGER PART IS RETU 197 / NED. IN ORDER TO SPEED THINGS UP IT CHECKS THE RELATIVE SIZE 198 / OF THE TWO OPERANDS AND JUMP TO THE FASTEST CODE. 199 / 200 000400 0000 DIV0, 0 /DIVIDE 24BITS SIGNED BY 24 BITS SIGNED 201 000401 3025 DCA ARGP /AC HAS POINTER TO ARG LIST. 202 000402 1425 TAD I ARGP /DF STILL P 203 000403 3215 DCA DP /DENOMINATOR 204 000404 2025 ISZ ARGP 205 000405 1425 TAD I ARGP 206 000406 3236 DCA NP /NUMORATOR 207 000407 2025 ISZ ARGP 208 000410 1425 TAD I ARGP 209 000411 3337 DCA RESQ /RESULT (QUOTIANT) 210 000412 7344 CLL CLA CMA RAL /-2 211 000413 3041 DCA RESGN /SIGN OF RESULT 212 000414 7663 DLD 213 000415 0000 DP, 0 214 000416 7451 DPSZ 215 000417 5223 JMP DNOT0 /DIVISOR OK 216 000420 4577 JMS I [MESS4 217 000421 3264 DBY0 218 000422 5777 JMP I (EXER 219 000423 7500 DNOT0, SMA /MINUS? 220 000424 5227 JMP .+3 /NO 221 000425 7575 DPCM /MAKE IT PLUS 222 000426 2041 ISZ RESGN /SAY SO 223 000427 3063 DCA DH 224 000430 7521 SWP 225 000431 3062 DCA DL 226 000432 6031 KSF /IS USER CALLING? 227 000433 7410 SKP /NO 228 000434 4574 JMS I [CCCK /MAYBE HE(SHE) HAS CHANGED HER(HIS) MIND 229 000435 7663 DLD 230 000436 0000 NP, 0 /NUMORATOR 231 000437 6201 CDF 0 232 000440 7500 SMA /SAME GAME 233 000441 5245 JMP .+4 234 000442 7575 DPCM 235 000443 2041 ISZ RESGN 236 000444 7000 NOP 237 000445 7445 DST; NL 000446 0060 238 000447 7640 SZA CLA /GOT HI ORDER BITS? 239 000450 5260 JMP BIGNUM /YES 240 000451 1063 TAD DH /NOW CHECK SIZE OF DIVISOR 241 000452 7640 SZA CLA / SMALL/SMALL? 242 000453 5343 JMP STOR0 /SMALL BY BIG IS ZERO 243 000454 7407 DVI; DL /LOW BITS STILL IN MQ 000455 0062 244 000456 7200 CLA /FORGET REMAINDER 245 000457 5332 JMP SGNQ /CORRECT SIGN 246 000460 1063 BIGNUM, TAD DH /DIVISOR BIG TOO? 247 000461 7640 SZA CLA 248 000462 5276 JMP DBIG /YES 249 000463 1061 TAD NH /NEED TWO DIVIDES 250 000464 7427 MQL DVI; DL /RESULT IS TIMES 10000 OCTAL 000465 0062 251 000466 7521 SWP /GET HI ORGER OF Q 252 000467 3064 DCA Q 253 000470 1060 TAD NL /LOW ORDER BITS OF NUMERATOR ARE 254 000471 7527 SWP DVI; DL /THE LOW ORDER BITS OF THE REMAINDER 000472 0062 255 000473 7200 CLA /FORGET REMAINDER AFTER THAT 256 000474 1064 TAD Q 257 000475 5332 JMP SGNQ 258 000476 1061 DBIG, TAD NH /BOTH NUMBERS ABOUT THE SAME SIZE 259 000477 7427 MQL DVI; DH /FIRST ESTIMATE 000500 0063 260 000501 7701 CLA MQA 261 000502 3064 DCA Q 262 000503 3345 DCA CORQ /ZERO OUT CORRECTION FOR Q 263 000504 1062 TAD DL /MULTIPLY BACK 264 000505 7425 MQL MUY; Q 000506 0064 265 000507 7521 SWP 266 000510 3023 DCA T1 267 000511 1063 TAD DH 268 000512 7525 SWP MUY; Q 000513 0064 269 000514 1023 TAD T1 /AC MUST HAVE BEEN ZERO 270 000515 7521 SWP /GET CORRECT ORDER 271 000516 7575 DPCM /SUBTRCT 272 000517 7443 QTST, DAD; NL /CHECK FOR REMAINDER 000520 0060 273 000521 7500 SMA /MINUS MEANS LOWER BITS SNUCK UP 274 000522 5325 JMP DOK /POSATIVE REMAINDER LESS THAN DIVISOR 275 000523 2345 ISZ CORQ /INCREMENT AMOUNT BY WICH TO CORRECT Q 276 000524 5317 JMP QTST /THIS COULD BE VERY SLOW 277 000525 7200 DOK, CLA 278 000526 1345 TAD CORQ /CORRECTION 279 000527 7041 CIA 280 000530 1064 TAD Q 281 000531 7421 MQL 282 000532 2041 SGNQ, ISZ RESGN 283 000533 7410 SKP 284 000534 7575 DPCM 285 000535 6213 STORQ, CDF CIF P 286 000536 7445 DST 287 000537 0000 RESQ, 0 288 000540 7301 CLL CLA IAC /1 289 000541 1025 TAD ARGP /RETURN POINTER 290 000542 5600 JMP I DIV0 291 000543 7621 STOR0, CAM 292 000544 5335 JMP STORQ 293 000545 0000 CORQ, 0 294 000577 0276 PAGE 295 / 296 / ONDECK IS LIKE A CHANEL ATTACH. IT BRINGS THE RELAVENT INFO 297 / 298 / ABOUT A FILE ONTO PAGE ZERO. DEVICE 0 SHOULD BE DETECTED BEFORE 299 / A CALL TO ONDECK. FIRST RETURN IS FATAL, SECOND IS OK. 300 / 301 000600 0000 ONDECK, 0 /GET INFO ABOUT A UNIT 302 000601 7431 SWAB /SAVE UNIT# IN MQ 303 000602 7501 MQA 304 000603 7710 SPA CLA /MUST BE POSATIVE. 305 000604 5600 JMP I ONDECK /ERROR 306 000605 1030 TAD CUR 307 000606 7457 SAM /COMPAIR 308 000607 7650 SNA CLA /DIFFERENT 309 000610 5234 JMP NOWK /ALREADY THERE 310 000611 1377 TAD (12 /MAXIMUM UNIT # PLUS 1 311 000612 7457 SAM 312 000613 7700 SMA CLA /10 SHOULD BE GREATER THAN ANY NUMBER 313 000614 5600 JMP I ONDECK /ERROR 314 000615 4236 JMS OFFDECK /SAVE CURRENT INFO IF GOOD 315 000616 7501 MQA 316 000617 3030 DCA CUR /NEW ENTRY 317 000620 7413 SHL; 17 /TIMES 8 ALTOGETHER 000621 0017 318 000622 1376 TAD (DSRN-1 /DEVICE SEQUENCE REFERENCE NUMBER TABLE 319 000623 3010 DCA XR1 320 000624 1375 TAD (ENTRYP-1 321 000625 3011 DCA XR2 322 000626 1374 TAD (-10 323 000627 3023 DCA T1 324 000630 1410 TAD I XR1 325 000631 3411 DCA I XR2 /TRANSFER 326 000632 2023 ISZ T1 /COUNT 327 000633 5230 JMP .-3 328 000634 2200 NOWK, ISZ ONDECK /NORMAL EXIT 329 000635 5600 JMP I ONDECK 330 / 331 / 332 / OFFDECK PUT CHANEL INFO BACK IF IT IS GOOD. OFFDECK MUST NOT 333 / ALTER THE MQ. 334 / 335 000636 0000 OFFDECK, 0 336 000637 1030 TAD CUR 337 000640 7710 SPA CLA /MINUS MEANS DUMMY DATA 338 000641 5636 JMP I OFFDECK 339 000642 1030 TAD CUR /LEAVE MQ ALONE 340 000643 7104 CLL RAL; CLL RTL /TIMES 8 000644 7106 341 000645 1376 TAD (DSRN-1 342 000646 3010 DCA XR1 343 000647 1375 TAD (ENTRYP-1 344 000650 3011 DCA XR2 345 000651 1374 TAD (-10 346 000652 3023 DCA T1 347 000653 1411 TAD I XR2 348 000654 3410 DCA I XR1 349 000655 2023 ISZ T1 350 000656 5253 JMP .-3 351 000657 7040 CMA 352 000660 3030 DCA CUR /MARK IT BAD 353 000661 5636 JMP I OFFDECK 354 / 355 / 356 000662 0000 SIX28, 0 /CONVERT THE LOWER SIX BITS TO 8 BIT ACSII 357 000663 0373 AND (77 /USE LOWER BITS 358 000664 7421 MQL /SAVE FOR TESTING 359 000665 7501 MQA 360 000666 0372 AND (40 361 000667 7650 SNA CLA 362 000670 7303 CLL CLA IAC BSW /300 TYPE CODE 363 000671 1175 TAD [200 /SET MARK PARITY 364 000672 7501 MQA /ADD IN LOWER BITS 365 000673 5662 JMP I SIX28 366 / 367 000674 4577 VALER0, JMS I [MESS4 368 000675 0705 VALM 369 000676 5301 JMP TRACEB 370 000677 4577 PTRER0, JMS I [MESS4 371 000700 0717 PERM 372 000701 6213 TRACEB, CIF CDF P 373 000702 7300 CLL CLA 374 000703 3051 DCA CNTRLB /CLEAR CONTROL BE TO AVOID RECURSION 375 000704 5444 JMP I TRACEP /PROVIDE TRACE BACK 376 000705 2601 VALM, TEXT+VALUE OUT OF RANGE+ 000706 1425 000707 0540 000710 1725 000711 2440 000712 1706 000713 4022 000714 0116 000715 0705 000716 0000 377 000717 2024 PERM, TEXT+PTR VALUE OUT OF RANGE+ 000720 2240 000721 2601 000722 1425 000723 0540 000724 1725 000725 2440 000726 1706 000727 4022 000730 0116 000731 0705 000732 0000 378 000772 0040 PAGE 000773 0077 000774 7770 000775 0030 000776 3316 000777 0012 379 001000 0000 READ0, 0 /READ FROM THE CHANEL IN THE AC 380 001001 7450 SNA /CHECK FOR CHANEL 0 381 001002 5262 JMP NEOF /CHANNEL 0 GIVE EOF ON READ 382 001003 4576 JMS I [ONDECK /GET RELAVENT INFO 383 001004 5324 JMP RIOCH /SOME SORT OF CHANEL DES. ERROR 384 001005 6031 KSF /USER CALLING 385 001006 7410 SKP 386 001007 4574 JMS I [CCCK /CONTROL C CHECK 387 001010 4573 JMS I [RESETB /RESET FOR READ OPERATION 388 001011 7307 CLL CLA IAC RTL /4 389 001012 0037 AND STAT /CHECK FRO WRITTEN ON 390 001013 7640 SZA CLA 391 001014 5324 JMP RIOCH /READ AFTER WRITE 392 001015 7301 RTST, CLL CLA IAC /1 393 001016 0037 AND STAT /RREWOUND? 394 001017 7650 SNA CLA 395 001020 5247 JMP EOFT /NO 396 001021 1033 TAD BASEF 397 001022 3230 DCA .+6 398 001023 1034 TAD BUFBASE 399 001024 3227 DCA .+3 400 001025 4431 JMS I ENTRYP /CALL HANDLER 401 001026 0200 0200 /READ TWO PAGES 402 001027 0000 0 /CORE ADDRESS 403 001030 0000 0 /DISK ADDRESS 404 001031 5236 JMP SHRTCK 405 001032 7344 CLRRW, CLL CLA CMA RAL /7776 406 001033 0037 AND STAT /CLEAR REWOUND BIT 407 001034 3037 DCA STAT 408 001035 5252 JMP GETMR 409 001036 7710 SHRTCK, SPA CLA /FATAL ERROR? 410 001037 5324 JMP RIOCH /BAD ERROR 411 001040 1175 TAD [200 412 001041 7421 MQL 413 001042 7344 CLL CLA CMA RAL 414 001043 0037 AND STAT /CLEAR RWOUND BIT 415 001044 7501 MQA /SET PHYSICAL EOF 416 001045 3037 DCA STAT /SET PHYSICAL EOF 417 001046 5252 JMP GETMR 418 001047 7303 EOFT, CLA CLL IAC BSW /100 419 001050 0037 AND STAT /LOGICAL EOF? 420 001051 7650 SNA CLA 421 001052 4777 GETMR, JMS I (GETC /READ A CHARACTER 422 001053 5331 JMP REOF /END FILE OR READ ERROR 423 001054 4776 JMS I (ASC2I /CONVERT TO INTEGER 424 001055 5252 JMP GETMR /IGNORE 425 001056 7500 SMA /CHECK FOR EOL 426 001057 5265 JMP EOLT /NO, NOW CHECK SPACE LEFT 427 001060 3421 DCA I LBP /INSERT AN END OF LINE 428 001061 7410 SKP 429 001062 7301 NEOF, CLL CLA IAC /NORMAL EOF 430 001063 6213 RHOME, CDF CIF P 431 001064 5600 JMP I READ0 /STATUS IN AC 432 001065 3421 EOLT, DCA I LBP /SAVE IT 433 001066 1421 TAD I LBP 434 001067 1020 TAD TABCK /CHECK FOR A HORIZONTAL TABB 435 001070 7640 SZA CLA 436 001071 5310 JMP NOTAB 437 001072 1021 TAD LBP 438 001073 1375 TAD (-LB 439 001074 0374 AND (7 440 001075 1373 TAD (-10 441 001076 3342 DCA TABC 442 001077 1372 EXPTAB, TAD (40 443 001100 3421 DCA I LBP 444 001101 2021 ISZ LBP /ADVANCE 445 001102 2022 ISZ LBC /COUNT 446 001103 7410 SKP /STILL ROOM 447 001104 5313 JMP MEOL /OUT OF ROOM 448 001105 2342 ISZ TABC /MORE SPACES? 449 001106 5277 JMP EXPTAB /YES 450 001107 5252 JMP GETMR /NO 451 001110 2021 NOTAB, ISZ LBP /ADVANCE 452 001111 2022 ISZ LBC /COUNT 453 001112 5252 JMP GETMR /STILL ROOM 454 001113 7040 MEOL, CMA /MAKE EOL MARKER 455 001114 3421 DCA I LBP /OVERLAY LAST CHARACTER 456 001115 4777 IGNOR, JMS I (GETC 457 001116 5326 JMP RET /READ ERROR TEST 458 001117 1026 TAD CHAR 459 001120 1371 TAD (-15 /LOOK FOR CR 460 001121 7640 SZA CLA 461 001122 5315 JMP IGNOR /KEEP GOING 462 001123 5263 JMP RHOME /DONE 463 001124 7305 RIOCH, CLL CLA IAC RAL /2 /FATAL ERROR 464 001125 5263 JMP RHOME 465 001126 7640 RET, SZA CLA /EOF OR READ ERROR? 466 001127 5324 JMP RIOCH /CHANEL ERROR 467 001130 5263 JMP RHOME /EOF FOR NEXT TIME 468 / 469 001131 7640 REOF, SZA CLA /EOF? 470 001132 5324 JMP RIOCH /NO, FATAL ERROR 471 001133 7040 CMA /-1 472 001134 1030 TAD CUR /FILE 1? 473 001135 7640 SZA CLA 474 001136 5262 JMP NEOF /NORMAL EOF 475 001137 4770 JMS I (INEXT /OPEN NEXY INPUT FILE 476 001140 5262 JMP NEOF 477 001141 5215 JMP RTST /REWIND TEAT 478 / 479 001142 0000 TABC, 0 /SPACES LEFT TO BE TABED(MINUS) 480 001170 2400 PAGE 001171 7763 001172 0040 001173 7770 001174 0007 001175 4777 001176 2117 001177 1417 481 001200 0000 WRITE, 0 /LOCAL SUBROUTINE OF WRITE0 482 001201 4576 JMS I [ONDECK /BRING OUT INFO 483 001202 5233 JMP WIOCH /FATAL ERROR 484 001203 6031 KSF /CHECK IF USER IS CALLING 485 001204 7410 SKP 486 001205 4574 JMS I [CCCK 487 001206 1377 TAD (302 /CHECK FOR EOM,OEF, AND READ ONLY 488 001207 0037 AND STAT /CHECK FOR EOM OR READ ONLY 489 001210 7640 SZA CLA 490 001211 5233 JMP WIOCH /FATAL ERROR 491 001212 7307 CLL CLA IAC RTL /4 492 001213 7421 MQL 493 001214 7344 CLL CLA CMA RAL /7776 494 001215 0037 AND STAT /CLEAR REOUND BIT 495 001216 7501 MQA /OR THE BIT IN 496 001217 3037 DCA STAT /WRITTEN ON 497 001220 4324 JMS RESETB /RESET LINE 498 001221 1421 PMORE, TAD I LBP /PICK UP A CHARACTER 499 001222 7510 SPA /CHECK FOR EOL 500 001223 5231 JMP FEOL /FOUND EOL 501 001224 4572 JMS I [PRINTC /PUT INTO BUFFER 502 001225 5233 JMP WIOCH /FATA ERROR 503 001226 2021 ISZ LBP /ADVANCE 504 001227 2022 ISZ LBC /COUNT 505 001230 5221 JMP PMORE 506 001231 7200 FEOL, CLA 507 001232 4571 JMS I [OUTCR /END LINE 508 001233 7305 WIOCH, CLL CLA IAC RAL /2 509 001234 5600 WHOME, JMP I WRITE 510 / 511 001235 0000 WRITE0, 0 /WRITE OUT THE LINE BUFFER 512 001236 7450 SNA 513 001237 5315 JMP WBAC /DO NOTHING FOR UNIT ZERO 514 001240 3322 DCA HLDU /SAVE THE UNIT NUMBER 515 001241 7346 CLL CLA CMA RTL /-3 516 001242 1322 TAD HLDU 517 001243 7640 SZA CLA /MAIN OUTPUT UNIT 518 001244 5317 JMP OU /NO, OTHER UNIT 519 001245 1055 TAD OPT4 520 001246 7700 SMA CLA /'Y' SET? 521 001247 5254 JMP .+5 /NO 522 001250 1376 TAD (5 /YES, OUTPUT TO UNIT 5 ALSO 523 001251 4200 JMS WRITE 524 001252 7440 SZA /OK? 525 001253 5315 JMP WBAC /NO 526 001254 7201 CLA IAC 527 001255 0053 AND OPT2 /'L' SET? 528 001256 7650 SNA CLA 529 001257 5264 JMP .+5 /NO 530 001260 7327 CLL CLA CML IAC RTL /6 531 001261 4200 JMS WRITE 532 001262 7440 SZA /OK? 533 001263 5315 JMP WBAC /NO 534 001264 1054 TAD OPT3 535 001265 7700 SMA CLA /'M' SET 536 001266 5273 JMP .+5 /NO 537 001267 7307 CLL CLA IAC RTL /4 538 001270 4200 JMS WRITE 539 001271 7440 SZA /OK? 540 001272 5315 JMP WBAC /NO 541 001273 7000 COMPIN, NOP /MAY BE OVERLAYED TO CALL COMPRESS ROUTINE 542 001274 7325 CLL CLA CML IAC RAL /3 543 001275 4200 JMS WRITE 544 001276 7640 SZA CLA /OK? 545 001277 5315 JMP WBAC /NO 546 001300 1056 TAD OPT5 /FORMFEED SETTING? 547 001301 7650 SNA CLA 548 001302 5315 JMP WBAC /NO 549 001303 2323 ISZ LC /YES 550 001304 5315 JMP WBAC /NOT THIS TIME 551 001305 1375 TAD (214 /FORMFEED 552 001306 4572 JMS I [PRINTC /OUTPUT IT 553 001307 5314 JMP WIOCH2 /ERROR 554 001310 1056 TAD OPT5 555 001311 7041 CIA 556 001312 3323 DCA LC /RESET COUNT 557 001313 7410 SKP 558 001314 7305 WIOCH2, CLL CLA IAC RAL /2 559 001315 6213 WBAC, CDF CIF P 560 001316 5635 JMP I WRITE0 561 001317 1322 OU, TAD HLDU /GET CHANNEL NUMBER 562 001320 4200 JMS WRITE 563 001321 5315 JMP WBAC 564 001322 0000 HLDU, 0 565 001323 0000 LC, 0 566 / 567 001324 0000 RESETB, 0 /RESET POINTERS OF LINE BUFFER 568 001325 1374 TAD (LB 569 001326 7421 MQL 570 001327 7501 MQA 571 001330 3021 DCA LBP 572 001331 6211 CDF 10 573 001332 7501 MQA 574 001333 3773 DCA I (LBIP&177+7400 575 001334 7521 SWP 576 001335 3772 DCA I (LBOP&177+7400 577 001336 1371 TAD (-MAXL-1 578 001337 3770 DCA I (LBOC&177+7400 579 001340 6201 CDF 0 580 001341 1371 TAD (-MAXL-1 581 001342 3022 DCA LBC 582 001343 5724 JMP I RESETB 583 001370 7432 PAGE 001371 7572 001372 7431 001373 7430 001374 3001 001375 0214 001376 0005 001377 0302 584 001400 0000 FILB, 0 /EOF THE FILE AND FLUSH THE BUFFER 585 001401 1377 TAD (232 586 001402 4572 MORFIL, JMS I [PRINTC 587 001403 5600 JMP I FILB /CHANNEL ERROR 588 001404 1035 TAD WORP 589 001405 1036 TAD CHARSW 590 001406 7640 SZA CLA /NEW BUFFER 591 001407 5202 JMP MORFIL /NO 592 001410 1030 TAD CUR 593 001411 1376 TAD (BMAX-1 594 001412 3023 DCA T1 595 001413 1032 TAD CURB 596 001414 3423 DCA I T1 /INSERT INTO TABLE 597 001415 2200 ISZ FILB /NORMAL EXIT 598 001416 5600 JMP I FILB 599 / 600 001417 0000 GETC, 0 /GET A CHARACTER OUT OF THE BUFFER 601 001420 1037 TAD STAT 602 001421 7700 SMA CLA /CHARACTER AT A TIME? 603 001422 5226 JMP .+4 /NO 604 001423 4431 JMS I ENTRYP /CALL IT (AC=0 MEANS READ) 605 001424 5617 JMP I GETC /ERROR 606 001425 5310 JMP CZT /CHECK FOR CONTROL Z 607 001426 1036 TAD CHARSW /0,1, OR 2 608 001427 1375 TAD (JMP .+3 609 001430 3231 DCA .+1 610 001431 7402 HLT 611 001432 5330 JMP GC1 /FIRST CHARACTER 612 001433 5327 JMP GC2 /SECOND CHARACTER 613 001434 3036 DCA CHARSW /SET UP FOR FIRST NEXTIME 614 001435 7040 CMA /BACK UP POINTER 615 001436 1035 TAD WORP 616 001437 1034 TAD BUFBASE /CORE ADDRESS 617 001440 3023 DCA T1 618 001441 1423 TAD I T1 /GET BITS 0 TO 3 619 001442 7002 BSW /MOVE TO LOWER PART OF WORD 620 001443 0374 AND (74 /MASK OUT 4 BITS 621 001444 7106 CLL RTL /ALIGN AND CLEAR LINK 622 001445 7421 MQL /SAVE IT 623 001446 2023 ISZ T1 /ADVANCE POINTER 624 001447 1423 TAD I T1 /GET BITS 3 TO 7 625 001450 7002 BSW /MOVE TO LOWER PART OF WORD 626 001451 0374 AND (74 /MASK OUT 4 BITS 627 001452 7112 CLL RTR /ALIGN WITH BIT 0 628 001453 7501 MQA /MASK IN LOWER 4 629 001454 0373 AND (177 /NO PARITY 630 001455 3026 DCA CHAR /SAVE IN COMMON 631 001456 2035 ISZ WORP /ADVANCE BUFFER POINTER 632 001457 1035 TAD WORP 633 001460 0372 AND (377 634 001461 7640 SZA CLA /TEST FOR OVER BUFFER 635 001462 5310 JMP CZT /OK, NOW TEST FOR CONTROL Z , OR TAB 636 001463 3035 DCA WORP /RESET POINTER 637 001464 2032 ISZ CURB /ADVANCE THE COUNT 638 001465 1032 TAD CURB 639 001466 1040 TAD MAXB /COMPARE WITH MAXIMUN SIZE 640 001467 7630 SZL CLA /LINK CLEARED FROM PACKING 641 001470 5317 JMP EOM /END OF MEDIUM 642 001471 1032 TAD CURB 643 001472 1033 TAD BASEF /COMPUTE BLOCK NUMBER 644 001473 3301 DCA DISKAD 645 001474 1034 TAD BUFBASE 646 001475 3300 DCA CORAD /BUFFER ADDRESS 647 001476 4431 JMS I ENTRYP /CALL HADDLER 648 001477 0200 0200 /READ TWO RECORDS 649 001500 0000 CORAD, 0 /INTO THIS LOCATION 650 001501 0000 DISKAD, 0 /FROM HERE 651 001502 7410 SKP /CHANEL ERROR 652 001503 5310 JMP CZT /OK 653 001504 7700 SMA CLA /ONLY NEGATIVE IS FATAL 654 001505 5321 JMP EOMF /END OF FIEL FOUND 655 001506 7001 IAC /1 WILL BE ADDED TO THIS TO GET 2 656 001507 5617 JMP I GETC /FIRST EXIT, ONE IN AC 657 001510 1026 CZT, TAD CHAR 658 001511 1371 TAD (-32 /CHECK FOR LOGICAL EOF 659 001512 7650 SNA CLA 660 001513 5316 JMP SETEOF /YES 661 001514 2217 EXTC, ISZ GETC /NORMAL EXIT 662 001515 5617 JMP I GETC 663 001516 4340 SETEOF, JMS EOFSET /SET THE BIT IN STATUS 664 001517 4340 EOM, JMS EOFSET /SET LOGICAL EOF 665 001520 5617 JMP I GETC /EOF EXIT 666 001521 1175 EOMF, TAD [200 667 001522 7421 MQL 668 001523 1037 TAD STAT 669 001524 7501 MQA /OR IT IN 670 001525 3037 DCA STAT 671 001526 5310 JMP CZT 672 001527 2035 GC2, ISZ WORP /ADVANCE POINTER 673 001530 2036 GC1, ISZ CHARSW /SET FOR NEXT TIME 674 001531 1035 TAD WORP /GET RELATIVE POINTER 675 001532 1034 TAD BUFBASE 676 001533 3023 DCA T1 677 001534 1423 TAD I T1 678 001535 0373 AND (177 /MASK OUT JUNK AND PARIY 679 001536 3026 DCA CHAR 680 001537 5310 JMP CZT /TEST FOR EOF 681 / 682 001540 0000 EOFSET, 0 /SET LOGICAL EOF 683 001541 7303 CLL CLA IAC BSW /100 684 001542 7421 MQL 685 001543 1037 TAD STAT 686 001544 7501 MQA /OR IT IN CASE IT IS DONE TWICE 687 001545 3037 DCA STAT 688 001546 5740 JMP I EOFSET 689 001571 7746 PAGE 001572 0377 001573 0177 001574 0074 001575 5232 001576 3305 001577 0232 690 001600 0000 PUTC, 0 /PUT A CHARACTER IN AN OS/8 BUFFER 691 001601 1037 TAD STAT 692 001602 7700 SMA CLA /CHARACTER AT A TIME? 693 001603 5211 JMP .+6 /NO 694 001604 7001 IAC /AC NE 0 MEANS WRITE 695 001605 4431 JMS I ENTRYP /CALL IT 696 001606 5600 JMP I PUTC /ERROR 697 001607 2200 ISZ PUTC 698 001610 5600 JMP I PUTC 699 001611 1036 TAD CHARSW /0,1, OR 2 700 001612 1377 TAD (JMP .+3 701 001613 3214 DCA .+1 702 001614 7402 HLT 703 001615 5311 JMP CP1 /FIRST 704 001616 5310 JMP CP2 /SECOND 705 001617 3036 DCA CHARSW /RESET FOR NEXT TIME 706 001620 7040 CMA /-1 707 001621 1035 TAD WORP /BACK UP POINTER 708 001622 1034 TAD BUFBASE 709 001623 3023 DCA T1 710 001624 1026 TAD CHAR 711 001625 0376 AND (160 /MASK OUT UPPER 3 712 001626 1175 TAD [200 /SET PARITY 713 001627 7112 CLL RTR /ALIGN ON THE HALF WORD 714 001630 7002 BSW /PUT IN UPPER WORD 715 001631 7421 MQL 716 001632 1423 TAD I T1 /MESH THE TWO 717 001633 0375 AND (377 /ALLOW WRITE AFTER READ 718 001634 7501 MQA 719 001635 3423 DCA I T1 720 001636 1026 TAD CHAR 721 001637 0374 AND (17 /LOWER BITS 722 001640 7106 CLL RTL /ALIGN WITH HALF WORD 723 001641 7002 BSW /PUT IN UPPER WORD 724 001642 7421 MQL 725 001643 2023 ISZ T1 726 001644 1423 TAD I T1 727 001645 0375 AND (377 /ALLOW WRITE AFTER READ 728 001646 7501 MQA 729 001647 3423 DCA I T1 730 001650 2035 ISZ WORP /ADVANCE IN BUFFER 731 001651 1035 TAD WORP 732 001652 0375 AND (377 733 001653 7640 SZA CLA /END OF BUFFER? 734 001654 5306 JMP EXIT2 /NO, OK TO LEAVE 735 001655 3035 DCA WORP /YES, RESET 736 001656 1032 TAD CURB 737 001657 1033 TAD BASEF /COMPUTE FILE BLOCK NUMBER 738 001660 3266 DCA WDAD 739 001661 1034 TAD BUFBASE 740 001662 3265 DCA FROMAD 741 001663 4431 JMS I ENTRYP /WRITE 742 001664 4200 4200 /WRITE 2 RECORDS 743 001665 0000 FROMAD, 0 /BUFFER ADDRESS 744 001666 0000 WDAD, 0 /DISK BLOCK NUMBER 745 001667 7410 SKP /CHANEL ERROR 746 001670 5273 JMP .+3 /OK 747 001671 7301 CLL CLA IAC 748 001672 5600 JMP I PUTC /FIRST EXIT WITH ONE IN AC 749 750 001673 7300 CLL CLA 751 001674 2032 ISZ CURB 752 001675 1032 TAD CURB 753 001676 1040 TAD MAXB /COMPARE 754 001677 7620 SNL CLA 755 001700 5306 JMP EXIT2 756 001701 1373 SETEOM, TAD (300 /SET LEOF,PEOF 757 001702 7421 MQL 758 001703 1037 TAD STAT 759 001704 7501 MQA /OR FOR SAFETY 760 001705 3037 DCA STAT /SET FOR NEXT TIME 761 001706 2200 EXIT2, ISZ PUTC 762 001707 5600 JMP I PUTC 763 001710 2035 CP2, ISZ WORP /ADVANCE ONE IN THE OS/8 BUFFER 764 001711 2036 CP1, ISZ CHARSW 765 001712 1035 TAD WORP 766 001713 1034 TAD BUFBASE /COMPUTE POINTER 767 001714 3023 DCA T1 768 001715 1026 TAD CHAR 769 001716 0372 AND (177 770 001717 1175 TAD [200 /SET PARITY 771 001720 3423 DCA I T1 772 001721 5306 JMP EXIT2 773 / 774 001722 0000 NAME2, ZBLOCK 5 /ROOM HERE 001723 0000 001724 0000 001725 0000 001726 0000 775 001772 0177 PAGE 001773 0300 001774 0017 001775 0377 001776 0160 001777 5215 776 002000 0000 MES0, 0 /PRINT A FOUR CHARACTER ERROR MESSAGE 777 002001 3025 DCA ARGP /POINTER TO MESSAGE IN AC 778 002002 1425 TAD I ARGP 779 002003 3230 DCA ME1 780 002004 2025 ISZ ARGP /FOUT CHARACTERS 781 002005 1425 TAD I ARGP 782 002006 6203 CDF CIF 0 783 002007 3231 DCA ME2 784 002010 7521 SWP /UNIT NUMBER IN MQ 785 002011 7450 SNA 786 002012 5220 JMP MOME /0 IS OK 787 002013 4576 JMS I [ONDECK /ATTACH CHANEL 788 002014 7402 HLT /STOP FOR NOW 789 002015 4252 JMS MESSG /GENERAL PRINT MESSAGE 790 002016 2025 IOER /STARTING ADDRESS 791 002017 7301 CLL CLA IAC 792 002020 7421 MOME, MQL /LOAD MQ WITH STATUS 793 002021 7001 IAC 794 002022 1025 TAD ARGP /AC HAS RETURN ADDRESS 795 002023 6213 CDF CIF P 796 002024 5600 JMP I MES0 797 / 798 002025 5252 IOER, TEXT /***** / 002026 5252 002027 5240 002030 0000 799 *.-1 /BACK UP OVER TRAILING ZEROES 800 002030 4040 ME1, 4040 801 002031 4040 ME2, 4040 802 002032 4005 TEXT / ERROR/ 002033 2222 002034 1722 002035 0000 803 / 804 002036 0000 MESS, 0 805 002037 6203 CDF CIF 0 806 002040 7200 CLA /PROTECTION 807 002041 4576 JMS I [ONDECK /UNIT 0 WILL ALWAYS BE THE CONSOLE 808 002042 7402 HLT /SYSTEM ERROR 809 002043 1636 TAD I MESS 810 002044 2236 ISZ MESS 811 002045 3247 DCA .+2 812 002046 4252 JMS MESSG 813 002047 0000 0 /ADDRESS OF MESSAGE 814 002050 7402 HLT /SYSTEM ERROR 815 / 816 002051 5636 JMP I MESS 817 002052 0000 MESSG, 0 /GENERAL MESSAGE PRINTER 818 002053 1652 TAD I MESSG /ADDRESS OF MESSAGE 819 002054 3271 DCA MESP 820 002055 2252 ISZ MESSG /FIRST EXIT AFTER ARG 821 002056 1671 MCK, TAD I MESP 822 002057 7450 SNA /12BITS OF ZERO IS END 823 002060 5265 JMP MDONE 824 002061 4272 JMS PR2 /PRINT TWO CHARACTERS 825 002062 5652 JMP I MESSG /ERROR 826 002063 2271 ISZ MESP /NEXT RWO 827 002064 5256 JMP MCK /CHECK FOR END 828 002065 4571 MDONE, JMS I [OUTCR /END LINE 829 002066 5652 JMP I MESSG 830 002067 2252 ISZ MESSG /NORMAL EXIT 831 002070 5652 JMP I MESSG 832 002071 0000 MESP, 0 833 / 834 002072 0000 PR2, 0 835 002073 3310 DCA MTE /PUT IN TEMP 836 002074 1310 TAD MTE 837 002075 7002 BSW /PRINT UPPER BYTE FIRST 838 002076 4777 JMS I (SIX28 /CONVERT TO ASCII 839 002077 4572 JMS I [PRINTC 840 002100 5672 JMP I PR2 /ERROR 841 002101 1310 TAD MTE 842 002102 4777 JMS I (SIX28 /PRINT LOWER SIX 843 002103 3026 DCA CHAR 844 002104 4776 JMS I (PUTC 845 002105 5672 JMP I PR2 /ERROR 846 002106 2272 ISZ PR2 847 002107 5672 JMP I PR2 848 002110 0000 MTE, 0 /TEMP 849 / 850 002111 0000 PRINTC, 0 851 002112 3026 DCA CHAR 852 002113 4570 JMS I [PUTC 853 002114 5711 JMP I PRINTC 854 002115 2311 ISZ PRINTC 855 002116 5711 JMP I PRINTC 856 / 857 002117 0000 ASC2I, 0 /CHECK FOR CR AND LF 858 002120 1375 TAD (-40 /CONTROL? 859 002121 1026 TAD CHAR 860 002122 7710 SPA CLA 861 002123 5327 JMP CRCK /CHECK FOR CR 862 002124 1026 TAD CHAR /NO ALLOW ANYTHING ELSE 863 002125 2317 ASCEX, ISZ ASC2I 864 002126 5717 JMP I ASC2I /NORMAL EXIT 865 002127 1374 CRCK, TAD (-15 /CR IS SPECIAL 866 002130 1026 TAD CHAR 867 002131 7640 SZA CLA 868 002132 5335 JMP .+3 869 002133 7040 CMA /-1 870 002134 5325 JMP ASCEX /NORMAL EXIT 871 002135 1373 TAD (-12 /LINE FEED? 872 002136 1026 TAD CHAR 873 002137 7650 SNA CLA 874 002140 5717 JMP I ASC2I /IGNORE 875 002141 1026 TAD CHAR 876 002142 1372 TAD (-14 /VERTICLE FORM FEED? 877 002143 7650 SNA CLA 878 002144 5717 JMP I ASC2I /IGNORE THEM 879 002145 5324 JMP ASCEX-1 /COULD BE LOWER CASE 880 / 881 002146 0000 MESS4, 0 /PRINT A MESSAGE ON UNIT 4 882 002147 6203 CDF CIF 0 /SAFETY 883 002150 7307 CLL CLA IAC RTL /4 884 002151 4576 TRY0, JMS I [ONDECK 885 002152 7402 HLT 886 002153 1746 TAD I MESS4 /GET ADDRESS OF MESSAGE 887 002154 3356 DCA .+2 888 002155 4252 JMS MESSG 889 002156 0000 0 /PONITER GOES HERE 890 002157 5351 JMP TRY0 /FAILURE, TRY UNIT 0 891 002160 2346 ISZ MESS4 892 002161 5746 JMP I MESS4 893 002172 7764 PAGE 002173 7766 002174 7763 002175 7740 002176 1600 002177 0662 894 002200 0000 OUTCR, 0 /OUTPUT A CARRIAGE RETURN AND LINE FEED 895 002201 1377 TAD (215 896 002202 4572 JMS I [PRINTC 897 002203 5600 JMP I OUTCR 898 002204 1376 TAD (212 899 002205 4572 JMS I [PRINTC 900 002206 5600 JMP I OUTCR 901 002207 2200 ISZ OUTCR 902 002210 5600 JMP I OUTCR 903 / 904 002211 0000 CCCK, 0 905 002212 6036 KRB /READ IT 906 002213 7041 CIA 907 002214 3226 DCA CTEMP 908 002215 1375 TAD (203 909 002216 1226 TAD CTEMP 910 002217 7650 SNA CLA 911 002220 5774 ABORT, JMP I (7605 912 002221 1226 TAD CTEMP 913 002222 1051 TAD CNTRLB /ADD CONTROL B 914 002223 7640 SZA CLA 915 002224 5611 JMP I CCCK /IGNORE IT 916 002225 5567 JMP I [TRACEB /TRACEBACK 917 002226 0000 CTEMP, 0 918 / 919 002227 0000 LPT, 0 /INTERNAL CHARACTER HANDLER FOR LINE PRINTER 920 002230 7650 SNA CLA /OUTPUT ONLY 921 002231 5666 JMP I TTY /ERROR 922 002232 6031 LCK, KSF /CHECK FOR USER CALLING 923 002233 7410 SKP 924 002234 4574 JMS I [CCCK 925 002235 6663 LSE /HARDWARE ERROR 926 002236 7410 SKP /NO 927 002237 5627 JMP I LPT /ERROR 928 002240 1256 TAD LGNG /ALREADY GOING 929 002241 7640 SZA CLA 930 002242 5246 JMP .+4 /YES 931 002243 1373 TAD (214 /TOP OF FORM 932 002244 6666 LLS 933 002245 3256 DCA LGNG 934 002246 6661 LSF 935 002247 5232 JMP LCK 936 002250 1026 TAD CHAR 937 002251 6666 LLS 938 002252 7201 CLA IAC 939 002253 3256 DCA LGNG 940 002254 2227 ISZ LPT /NORMAL EXIT 941 002255 5627 JMP I LPT 942 002256 0000 LGNG, 0 /LPT GOING FLAG 943 002257 0000 DONO, 0 /DO NOTHING DEVICE HANDELER 944 002260 7640 SZA CLA /READ OR WRITE 945 002261 5264 JMP .+3 /WRITE 946 002262 7001 IAC 947 002263 5657 JMP I DONO /EOF ON READ 948 002264 2257 ISZ DONO 949 002265 5657 JMP I DONO 950 / 951 002266 0000 TTY, 0 /TTY OUTPUT 952 002267 7650 SNA CLA /NON ZERO IS OUTPUT 953 002270 5666 JMP I TTY /ERROR TO INPUT 954 002271 2266 ISZ TTY /NORMAL EXIT FROM HERE ON 955 002272 6031 TWAIT, KSF 956 002273 7410 SKP 957 002274 4574 JMS I [CCCK 958 002275 1307 TAD TGNG /TTY GOING? 959 002276 7650 SNA CLA 960 002277 5302 JMP .+3 /NO 961 002300 6041 TSF 962 002301 5272 JMP TWAIT 963 002302 1026 TAD CHAR 964 002303 6046 TLS 965 002304 7201 CLA IAC 966 002305 3307 DCA TGNG /FROM NOW ON ITS GOING 967 002306 5666 JMP I TTY 968 / 969 002307 0000 TGNG, 0 /TYY GOING FLAG 970 002310 6203 END0, CIF CDF 0 971 002311 1372 TAD (1001 972 002312 3771 DCA I (7746 /DON'T MAKE USR SAVE ANYTHING 973 002313 6212 CIF 10 974 002314 4770 JMS I (7700 975 002315 0010 10 /USR IN 976 002316 4767 JMS I (CLOSE 977 002317 0003 3 978 002320 3301 ONAME 979 002321 4335 JMS CLOSER /CHECK FOR ERROR 980 002322 1050 TAD EXFILE /COULD BE ANY CHANNEL FROM 4 TO 9 981 002323 3325 DCA .+2 982 002324 4767 JMS I (CLOSE 983 002325 0004 4 984 002326 3274 MNAME 985 002327 4335 JMS CLOSER 986 002330 4767 JMS I (CLOSE /COULD BE A USER SPECIFIED FILE FOR 2 987 002331 0002 2 988 002332 1722 NAME2 989 002333 4335 JMS CLOSER 990 002334 5774 JMP I (7605 /BACK TO OS/8 991 / 992 002335 0000 CLOSER, 0 993 002336 7650 SNA CLA /CHECK FOR ERROR 994 002337 5735 JMP I CLOSER /OK 995 002340 4566 JMS I [MESS 996 002341 3236 OPPS 997 002342 5735 JMP I CLOSER 998 002367 0301 PAGE 002370 7700 002371 7746 002372 1001 002373 0214 002374 7605 002375 0203 002376 0212 002377 0215 999 002400 0000 INEXT, 0 /SET UP FOR NRXT INPUT FILE 1000 002401 7305 CLA CLL IAC RAL /2 1001 002402 1212 TAD INP /ADVANCE POINTER TO NEXT FILE 1002 002403 3212 DCA INP 1003 002404 1377 TAD (-7642 /CHECK FOR OVER LAST INPUT ENTRY 1004 002405 1212 TAD INP 1005 002406 7700 SMA CLA 1006 002407 5600 JMP I INEXT /NO 10TH FILE 1007 002410 6211 CDF 10 1008 002411 7663 DLD 1009 002412 7615 INP, 7615 /FIRST ENTRY-2 1010 002413 3033 DCA BASEF /STORE BASE POINTER 1011 002414 6201 CDF 0 1012 002415 7501 MQA /GET DEVICE NUMBER AND LENGHT 1013 002416 7450 SNA /CHECK DEVICE NUMBER 1014 002417 5600 JMP I INEXT /FIRST EXIT, NOTHING LEFT 1015 002420 0376 AND (7760 /MASK OUT LENGHT 1016 002421 7450 SNA 1017 002422 5227 JMP .+5 /BIG FILE MUST HAVE CONTROL Z AT END 1018 002423 7130 CLL CML RAR /ARITHMETIC SHIFT 1019 002424 7130 CLL CML RAR 1020 002425 7130 CLL CML RAR 1021 002426 7130 CLL CML RAR 1022 002427 3040 DCA MAXB 1023 002430 7501 MQA 1024 002431 0375 AND (17 /GET DEVICE NUMBER 1025 002432 7041 CIA 1026 002433 1027 TAD INHAND /COMPARE 1027 002434 7650 SNA CLA 1028 002435 5253 JMP NOLOAD /SAME, NO REASON TO LOAD 1029 002436 7501 MQA 1030 002437 0375 AND (17 1031 002440 3027 DCA INHAND /UPDATE 1032 002441 1374 TAD (IHAND+1 1033 002442 3247 DCA .+5 1034 002443 1027 TAD INHAND 1035 002444 6212 CIF 10 1036 002445 4457 JMS I USR /CALL USER WHEREVER IT IS 1037 002446 0001 1 /LOAD A HANDLER 1038 002447 3601 IHAND+1 /ROOM FOR TWP PAGE HANDLER 1039 002450 5262 JMP LDER 1040 002451 1247 TAD .-2 /GET ENTRY POINT 1041 002452 3031 DCA ENTRYP 1042 002453 3032 NOLOAD, DCA CURB 1043 002454 3036 DCA CHARSW 1044 002455 3035 DCA WORP 1045 002456 7325 CLL CLA CML IAC RAL /3 1046 002457 3037 DCA STAT /REWOUND AND READ ONLY 1047 002460 2200 ISZ INEXT /NORMAL EXIT 1048 002461 5600 JMP I INEXT 1049 / 1050 002462 4566 LDER, JMS I [MESS /ERROR IN LOADING HANDLER 1051 002463 3207 INER 1052 002464 5600 JMP I INEXT /MAKE BELIVE AN EOF 1053 / 1054 002465 0000 RWND0, 0 /REWIND UNIT IN AC 1055 002466 7450 SNA 1056 002467 5325 JMP RWH /EVERYTHINGS OK ON UNIT 0 1057 002470 4576 JMS I [ONDECK 1058 002471 5327 JMP RWIOCH /ERROR 1059 002472 1033 TAD BASEF 1060 002473 7650 SNA CLA /FILE STRUCTURED DEVICE? 1061 002474 5327 JMP RWIOCH /NO, NO REWIND 1062 002475 7332 CLL CLA CML RTR /2000 1063 002476 0037 AND STAT /CONTROL OK? 1064 002477 7640 SZA CLA 1065 002500 5327 JMP RWIOCH /NO 1066 002501 7307 CLL CLA IAC RTL /4 1067 002502 0037 AND STAT 1068 002503 7650 SNA CLA /WRITTEN ON? 1069 002504 5307 JMP CLREOF /NO, CLEAR ONLY 1070 002505 4773 JMS I (FILB /INSERT CONTROL Z AND FILL BUFFER 1071 002506 5327 JMP RWIOCH /ERROR 1072 002507 1372 CLREOF, TAD (7472 /CLEAR WRITTEN ON, EOF-EOM, AND REWOUND BITS 1073 002510 0037 AND STAT 1074 002511 7001 IAC /SET REWOUND BIT 1075 002512 3037 DCA STAT 1076 002513 3035 DCA WORP 1077 002514 3036 DCA CHARSW 1078 002515 3032 DCA CURB 1079 002516 7346 CLL CLA CMA RTL /-3 1080 002517 1030 TAD CUR /MAIN OUTPUT? 1081 002520 7640 SZA CLA 1082 002521 5325 JMP .+4 /NO 1083 002522 1056 TAD OPT5 /YES 1084 002523 7041 CIA 1085 DCA LC /RESET LINE COUNT off page ^ 002524 3771 1086 002525 6213 RWH, CIF CDF P 1087 002526 5665 JMP I RWND0 /GO HOME 1088 002527 7301 RWIOCH, CLL CLA IAC 1089 002530 5325 JMP RWH 1090 / 1091 / 1092 002571 1323 PAGE 002572 7472 002573 1400 002574 3601 002575 0017 002576 7760 002577 0136 1093 002600 0000 COMPRESS, 0 1094 002601 1377 TAD (LB 1095 002602 3324 DCA COP 1096 002603 1377 TAD (LB 1097 002604 3325 DCA CIP 1098 002605 3327 DCA CCNT 1099 002606 1725 CNEXT, TAD I CIP /GET NEXT CHARACTER 1100 002607 3026 DCA CHAR /SAVE IT 1101 002610 1026 ENDCK, TAD CHAR /CHECK FOR END OF LINE 1102 002611 7510 SPA 1103 002612 5232 JMP TRAIL /DELEAT TRAILING JUNK 1104 002613 1376 TAD (-40 /SPACE? 1105 002614 7650 SNA CLA 1106 002615 5255 JMP FNDB /FOUND A BLANK 1107 002616 1026 TAD CHAR 1108 002617 3724 DCA I COP /COPY TO OUTPUT 1109 002620 2324 ISZ COP 1110 002621 1026 TAD CHAR 1111 002622 1375 TAD (-11 /HORIZONTAL TAB? 1112 002623 7650 SNA CLA 1113 002624 5227 JMP .+3 1114 002625 2327 ISZ CCNT /NO 1115 002626 7410 SKP 1116 002627 3327 DCA CCNT /YES, MAKE BELIEVE ALIGNED 1117 002630 2325 ISZ CIP 1118 002631 5206 JMP CNEXT 1119 002632 7240 TRAIL, CLA CMA /MAKE ENS OF BUFFER 1120 002633 3724 DCA I COP 1121 002634 7240 CLA CMA /BACK UP POINTER 1122 002635 1324 TAD COP 1123 002636 3324 DCA COP 1124 002637 1724 TAD I COP 1125 002640 3026 DCA CHAR 1126 002641 1026 TAD CHAR 1127 002642 7710 SPA CLA /BEGINNING OF LINE? 1128 002643 5600 JMP I COMPRESS /YES 1129 002644 1026 TAD CHAR 1130 002645 1376 TAD (-40 /SPACE 1131 002646 7650 SNA CLA 1132 002647 5232 JMP TRAIL 1133 002650 1026 TAD CHAR 1134 002651 1375 TAD (-11 1135 002652 7640 SZA CLA 1136 002653 5600 JMP I COMPRESS /NO MORE POSSIBLE 1137 002654 5232 JMP TRAIL 1138 002655 3326 FNDB, DCA SPC /CLEAR SPACE COUNT 1139 002656 2326 ISZ SPC /INC SPACE COUNT 1140 002657 2325 ISZ CIP /GET NEXT CHARACTER 1141 002660 1725 TAD I CIP 1142 002661 3026 DCA CHAR 1143 002662 1327 TAD CCNT 1144 002663 1326 TAD SPC 1145 002664 0374 AND (7 1146 002665 7650 SNA CLA /NEW TAB? 1147 002666 5313 JMP INTAB /YES 1148 002667 1026 TAD CHAR /NO 1149 002670 1376 TAD (-40 /ANOTHER SPACE? 1150 002671 7650 SNA CLA 1151 002672 5256 JMP FNDB+1 /YES 1152 002673 1026 TAD CHAR 1153 002674 1375 TAD (-11 /TAB? 1154 002675 7650 SNA CLA 1155 002676 5317 JMP OTAB /YES, DELEATE PRECEEDINF BLANKS 1156 002677 1326 EXSPAC, TAD SPC 1157 002700 7041 CIA /GET COUNT OF SPACES 1158 002701 3023 DCA T1 1159 002702 1373 SPCIT, TAD (40 1160 002703 3724 DCA I COP 1161 002704 2324 ISZ COP 1162 002705 2023 ISZ T1 1163 002706 5302 JMP SPCIT /MORE 1164 002707 1326 TAD SPC /UPDATE COLUMN COUNT 1165 002710 1327 TAD CCNT 1166 002711 3327 DCA CCNT 1167 002712 5210 JMP ENDCK /NOW CHECK FOR END 1168 002713 7240 INTAB, CLA CMA /INSERT A TAB 1169 002714 1326 TAD SPC /EXCEPT FOR SINGLE SPACE 1170 002715 7650 SNA CLA 1171 002716 5277 JMP EXSPAC /INSERT A SINGLR SPACE 1172 002717 1372 OTAB, TAD (11 /OUTPUT A TAB 1173 002720 3724 DCA I COP 1174 002721 3327 DCA CCNT /RESET TO BEGINNING OF FIELD 1175 002722 2324 ISZ COP 1176 002723 5210 JMP ENDCK 1177 / 1178 002724 0000 COP, 0 /COMPRESSION OUTPUT POINTER 1179 002725 0000 CIP, 0 /COMPRESSION INPUT POINTER 1180 002726 0000 SPC, 0 /NUMBER OF ENCOUNTERED CONTIGUIOUS BLANKS 1181 002727 0000 CCNT, 0 /VIRTUAL COULUM COUNT 1182 / 1183 002730 0000 ENDB, 0 /DELEATE TRAILING BLANKS ONLY 1184 002731 1330 TAD ENDB /PUT RETURN ADDRESS ENSE WHERE 1185 002732 3200 DCA COMPRESS 1186 002733 1377 TAD (LB 1187 002734 3324 DCA COP 1188 002735 1724 BLOOK, TAD I COP 1189 002736 7710 SPA CLA /LOOK FOR END 1190 002737 5232 JMP TRAIL 1191 002740 2324 ISZ COP /NO 1192 002741 5335 JMP BLOOK 1193 002772 0011 PAGE 002773 0040 002774 0007 002775 7767 002776 7740 002777 3001 1194 003000 7777 -1 /BEGINNING OF LINE FOR COMPRESSION 1195 LB, /LINE BUFFER 1196 / 1197 /ONCE ONLY STUFF IS KEPT IN LB 1198 003001 0201 LINK0, MUL0 /2 1199 003002 0400 DIV0 /3 1200 003003 1000 READ0 /4 1201 003004 1235 WRITE0 /5 1202 003005 2465 RWND0 /6 1203 003006 2000 MES0 /7 1204 003007 2310 END0 /10,12 1205 003010 2362 DUMMY, FILENAME S2TEMP.TM 003011 2405 003012 1520 003013 2415 1206 003014 1617 SMLCORE,TEXT+NOT ENOUGH MEMORY.+ 003015 2440 003016 0516 003017 1725 003020 0710 003021 4015 003022 0515 003023 1722 003024 3156 003025 0000 1207 003026 0522 TERROR, TEXT+ERROR IN OPENING CHANNEL 2+ 003027 2217 003030 2240 003031 1116 003032 4017 003033 2005 003034 1611 003035 1607 003036 4003 003037 1001 003040 1616 003041 0514 003042 4062 003043 0000 1208 003044 0522 MESMES, TEXT+ERROR IN OPENING EXTRA CHANNEL+ 003045 2217 003046 2240 003047 1116 003050 4017 003051 2005 003052 1611 003053 1607 003054 4005 003055 3024 003056 2201 003057 4003 003060 1001 003061 1616 003062 0514 003063 0000 1209 003064 0522 OER, TEXT+ERROR IN OPENING OUTPUT CHANNEL 3.+ 003065 2217 003066 2240 003067 1116 003070 4017 003071 2005 003072 1611 003073 1607 003074 4017 003075 2524 003076 2025 003077 2440 003100 0310 003101 0116 003102 1605 003103 1440 003104 6356 003105 0000 1210 003106 0522 OPER, TEXT+ERROR ENCOUNTERED IN PROCESSING OUTPUT OR CHAIN OPTION+ 003107 2217 003110 2240 003111 0516 003112 0317 003113 2516 003114 2405 003115 2205 003116 0440 003117 1116 003120 4020 003121 2217 003122 0305 003123 2323 003124 1116 003125 0740 003126 1725 003127 2420 003130 2524 003131 4017 003132 2240 003133 0310 003134 0111 003135 1640 003136 1720 003137 2411 003140 1716 003141 0000 1211 003142 1617 NOEAE, TEXT+NO EAE+ 003143 4005 003144 0105 003145 0000 1212 *LB+MAXL 1213 003206 7777 -1 /SENTINAL AT END OF BUFFER 1214 003207 0522 INER, TEXT+ERROR IN LOADING INPUT HANDLER FOR CHANNEL 1+ 003210 2217 003211 2240 003212 1116 003213 4014 003214 1701 003215 0411 003216 1607 003217 4011 003220 1620 003221 2524 003222 4010 003223 0116 003224 0414 003225 0522 003226 4006 003227 1722 003230 4003 003231 1001 003232 1616 003233 0514 003234 4061 003235 0000 1215 003236 0522 OPPS, TEXT+ERROR IN CLOSING FILE.+ 003237 2217 003240 2240 003241 1116 003242 4003 003243 1417 003244 2311 003245 1607 003246 4006 003247 1114 003250 0556 003251 0000 1216 003252 1525 MULV, TEXT+MULTIPLY OVERFLOW.+ 003253 1424 003254 1120 003255 1431 003256 4017 003257 2605 003260 2206 003261 1417 003262 2756 003263 0000 1217 003264 0411 DBY0, TEXT+DIVIDE BY ZERO+ 003265 2611 003266 0405 003267 4002 003270 3140 003271 3205 003272 2217 003273 0000 1218 003274 0000 MNAME, ZBLOCK 5 003275 0000 003276 0000 003277 0000 003300 0000 1219 003301 0000 ONAME, ZBLOCK 5 003302 0000 003303 0000 003304 0000 003305 0000 1220 003306 0000 BMAX, ZBLOCK 11 /9 ENTRIES, MAXIMUM BLOCK WRITTEN 003307 0000 003310 0000 003311 0000 003312 0000 003313 0000 003314 0000 003315 0000 003316 0000 1221 003317 2266 DSRN, TTY;ZBLOCK 5;4000;0 003320 0000 003321 0000 003322 0000 003323 0000 003324 0000 003325 4000 003326 0000 1222 003327 2257 DONO;0;0;IBUF;0;0;4102;0 /CHARACTER,EOFED,READONLY 003330 0000 003331 0000 003332 5600 003333 0000 003334 0000 003335 4102 003336 0000 1223 003337 2257 DONO;0;0;FL2B;0;0;4000;0 003340 0000 003341 0000 003342 6600 003343 0000 003344 0000 003345 4000 003346 0000 1224 003347 2257 DONO;0;0;OBUF;0;0;4000;0 003350 0000 003351 0000 003352 6200 003353 0000 003354 0000 003355 4000 003356 0000 1225 003357 2266 TTY;0;0;MBUF;0;0;4000;0 003360 0000 003361 0000 003362 7200 003363 0000 003364 0000 003365 4000 003366 0000 1226 003367 2266 TTY ;ZBLOCK 5;4000;0 003370 0000 003371 0000 003372 0000 003373 0000 003374 0000 003375 4000 003376 0000 1227 003377 2227 LPT ;ZBLOCK 5;4000;0 003400 0000 003401 0000 003402 0000 003403 0000 003404 0000 003405 4000 003406 0000 1228 003407 2257 DONO;ZBLOCK 5;4000;0 003410 0000 003411 0000 003412 0000 003413 0000 003414 0000 003415 4000 003416 0000 1229 003417 2257 DONO;ZBLOCK 5;4000;0 003420 0000 003421 0000 003422 0000 003423 0000 003424 0000 003425 4000 003426 0000 1230 003427 2257 DONO;ZBLOCK 5;4000;0 003430 0000 003431 0000 003432 0000 003433 0000 003434 0000 003435 4000 003436 0000 1231 PAGE 1232 IHAND=. 1233 OHAND=IHAND+400 1234 MHAND=OHAND+400 1235 FL2H=MHAND+400 1236 IBUF=FL2H+400 1237 OBUF=IBUF+400 1238 FL2B=OBUF+400 1239 MBUF=FL2B+400 1240 *IBUF /PUT INIT IN IO BUFFERS 1241 005600 0000 MAKE2, 0 /OPEN A FILE FOR CHANNEL 2 1242 005601 1054 TAD OPT3 1243 005602 0377 AND (20 1244 005603 7650 SNA CLA 1245 005604 5234 JMP USPEC /USER SPECIFIED? 1246 005605 7305 CLL CLA IAC RAL /2 1247 005606 4576 JMS I [ONDECK 1248 005607 7402 HLT 1249 005610 7301 CLL CLA IAC /SYS IS 1 1250 005611 6212 CIF 10 1251 005612 4575 JMS I [200 1252 005613 0003 3 /OPEN 1253 005614 3010 SB, DUMMY 1254 005615 0000 BL, 0 1255 005616 5232 JMP M2ER 1256 005617 1214 TAD SB 1257 005620 3033 DCA BASEF 1258 005621 1215 TAD BL 1259 005622 3040 DCA MAXB 1260 005623 1376 TAD (FL2B 1261 005624 3034 DCA BUFBASE 1262 005625 1375 TAD (7607 1263 005626 3031 DCA ENTRYP 1264 005627 7001 IAC 1265 005630 3037 DCA STAT /REWOUND 1266 005631 5600 JMP I MAKE2 1267 005632 7201 M2ER, CLA IAC 1268 005633 5600 JMP I MAKE2 1269 / 1270 005634 4774 USPEC, JMS I (OPENO /CHECK FOR FILE 1271 005635 0002 2 1272 005636 7604 7605-1 /SECOND ENTRY 1273 005637 5201 FL2H+1 /ROOM FOR TWO PAGE HANDLER 1274 005640 1721 NAME2-1 1275 005641 7410 SKP /FILE OPENED 1276 005642 5600 JMP I MAKE2 /ERROR OR NO FILE 1277 005643 7201 CLA IAC /REWOUND 1278 005644 3037 DCA STAT /CLEAR CONTROL RESTRICTIONS 1279 005645 5600 JMP I MAKE2 1280 005646 0000 CHECK4, 0 /CHECK MESSAGE OPTIONS 1281 005647 7307 CLL CLA IAC RTL /4 1282 005650 4576 JMS I [ONDECK 1283 005651 7402 HLT 1284 005652 7332 CLL CLA CML RTR //SET BIT 1 1285 005653 0054 AND OPT3 /SEE IF N WAS SET 1286 005654 7650 SNA CLA 1287 005655 5261 JMP OTHER /SEE IF OTHER DESTIMATION 1288 005656 1373 TAD (DONO 1289 005657 3031 DCA ENTRYP 1290 005660 5646 JMP I CHECK4 1291 / 1292 005661 7307 OTHER, CLL CLA IAC RTL /4 1293 005662 3050 DCA EXFILE /DEFAULT IS 4 1294 005663 1055 TAD OPT4 /CHECK FOR OPTIONS 4 THROUGH 9 1295 005664 0372 AND (77 1296 005665 7450 SNA 1297 005666 5300 JMP OPN4 /OPEN IT UNDER THE GUISE OF CHANNEL FOUR 1298 005667 7421 MQL /SAVE 1299 005670 3050 DCA EXFILE /CLEAR COUNT 1300 005671 7501 MQA /BRING OPTION BACK 1301 005672 7106 CLL RTL /ALIGN SO THAT SHIFT COUNT IS OPTION 1302 005673 2050 ISZ EXFILE 1303 005674 7104 CLL RAL 1304 005675 7500 SMA /BIT IN HIGH POSITION 1305 005676 5273 JMP .-3 /NO 1306 005677 7200 CLA /RECOGNIZE LOWEST NUMBER 1307 1308 005700 1050 OPN4, TAD EXFILE 1309 005701 3303 DCA .+2 1310 005702 4774 JMS I (OPENO 1311 005703 0004 4 /ON CHANEL 4 1312 005704 7611 7612-1 /THIRD FILE 1313 005705 4601 MHAND+1 /ROOM FOR TWO PAGE HANDLER 1314 005706 3273 MNAME-1 /STORAGE FOR FILE NAME 1315 005707 7410 SKP 1316 005710 5646 JMP I CHECK4 /EITHER NO FILE, OR ERROR 1317 005711 7201 CLA IAC /REWOUND 1318 005712 3037 DCA STAT 1319 005713 5646 JMP I CHECK4 1320 / 1321 / 1322 005714 1617 FRSTIN, TEXT+NO INPUT FILES+ 005715 4011 005716 1620 005717 2524 005720 4006 005721 1114 005722 0523 005723 0000 1323 005772 0077 PAGE 005773 2257 005774 6000 005775 7607 005776 6600 005777 0020 1324 006000 0000 OPENO, 0 /OPEN AN OUTPUT FILE IF SPECIFIED 1325 006001 4257 JMS ONEXP /GET CHANEL NUMBER 1326 006002 3023 DCA T1 1327 006003 4257 JMS ONEXP /GET POINTER TO FILE NAME IN FIELD 1 1328 006004 3215 DCA CDP 1329 006005 4257 JMS ONEXP /GET POINTER TO HANDLER PAGE 1330 006006 3231 DCA HANP 1331 006007 4257 JMS ONEXP 1332 006010 3217 DCA NAMEP 1333 006011 1023 TAD T1 /CHANEL NUMBER 1334 006012 4576 JMS I [ONDECK 1335 006013 7402 HLT /SHOULD NEVER HAPPEN 1336 006014 4565 JMS I [MOVE /BRING FILE SPEC IN 1337 006015 0000 CDP, 0 1338 006016 6211 CDF 10 1339 006017 0000 NAMEP, 0 1340 006020 6201 CDF 0 1341 006021 7773 -5 1342 006022 2217 ISZ NAMEP /POINT TO FILE NAME 1343 006023 1617 TAD I NAMEP /WAS A FILE SPECIFIED 1344 006024 7450 SNA 1345 006025 5255 JMP OEREX+1 /NO FILE 1346 006026 6212 CIF 10 1347 006027 4575 JMS I [200 1348 006030 0001 1 /LOAD HANDLER 1349 006031 0000 HANP, 0 1350 006032 5254 JMP OEREX /VERY BAD 1351 006033 1217 TAD NAMEP 1352 006034 7001 IAC /POINT TO FILE NAME 1353 006035 3242 DCA OA1 1354 006036 1617 TAD I NAMEP /GET DEVICE AND LENGHT AGAIN 1355 006037 6212 CIF 10 1356 006040 4575 JMS I [200 1357 006041 0003 3 /OPEN 1358 006042 0000 OA1, 0 1359 006043 0000 OA2, 0 1360 006044 5254 JMP OEREX 1361 006045 1243 TAD OA2 /LENGHT 1362 006046 3040 DCA MAXB 1363 006047 1242 TAD OA1 1364 006050 3033 DCA BASEF 1365 006051 1231 TAD HANP 1366 006052 3031 DCA ENTRYP 1367 006053 5600 JMP I OPENO /NORMAL EXIT 1368 006054 7301 OEREX, CLL CLA IAC /ERROR EXIT 1369 006055 2200 ISZ OPENO /NO FILE EXIT 1370 006056 5600 JMP I OPENO 1371 / 1372 006057 0000 ONEXP, 0 /GET NEXT ARG 1373 006060 1600 TAD I OPENO 1374 006061 2200 ISZ OPENO 1375 006062 5657 JMP I ONEXP 1376 / 1377 006063 0000 OPEN3, 0 1378 006064 4777 JMS I (OPENO /OPEN THREE FOR OUTPUT 1379 006065 0003 3 1380 006066 7577 7600-1 1381 006067 4201 OHAND+1 1382 006070 3300 ONAME-1 1383 006071 5273 JMP CNGSTAT 1384 006072 5663 JMP I OPEN3 1385 006073 3037 CNGSTAT,DCA STAT 1386 006074 5663 JMP I OPEN3 1387 / 1388 006075 0000 CORE, 0 /GET BIGGEST FIELD 1389 006076 7300 CLA CLL 1390 006077 6201 COR0, CDF 0 1391 006100 1335 TAD CORSIZ 1392 006101 7006 RTL 1393 006102 7004 RAL 1394 006103 0314 AND COR70 1395 006104 1327 TAD COREX 1396 006105 3306 DCA .+1 1397 006106 6201 COR1, CDF 1398 006107 1733 TAD I CORLOC 1399 006110 7000 COR2, NOP 1400 006111 3306 DCA COR1 1401 006112 1310 TAD COR2 1402 006113 3733 DCA I CORLOC 1403 006114 0070 COR70, 70 1404 006115 1733 TAD I CORLOC 1405 006116 7400 CORX, 7400 1406 006117 1316 TAD CORX 1407 006120 1334 TAD CORV 1408 006121 7640 SZA CLA 1409 006122 5327 JMP COREX 1410 006123 1306 TAD COR1 1411 006124 3733 DCA I CORLOC 1412 006125 2335 ISZ CORSIZ 1413 006126 5277 JMP COR0 1414 006127 6201 COREX, CDF 0 1415 006130 7140 CLL CMA /RETURN HIGHEST FIELD NUMBER 1416 006131 1335 TAD CORSIZ 1417 006132 5675 JMP I CORE 1418 006133 6116 CORLOC, CORX 1419 006134 1400 CORV, 1400 1420 006135 0001 CORSIZ, 1 1421 / 1422 006177 6000 PAGE 1423 006200 0000 MOVE, 0 /GENERAL CORE MOVER 1424 006201 1600 TAD I MOVE /ADDRESS-1 OF FROM 1425 006202 3010 DCA XR1 1426 006203 1200 TAD MOVE 1427 006204 3012 DCA XR3 1428 006205 1412 TAD I XR3 1429 006206 3215 DCA FRMFLD 1430 006207 1412 TAD I XR3 1431 006210 3011 DCA XR2 1432 006211 1412 TAD I XR3 1433 006212 3217 DCA TOFLD 1434 006213 1412 TAD I XR3 1435 006214 3023 DCA T1 1436 006215 0000 FRMFLD, 0 1437 006216 1410 TAD I XR1 1438 006217 0000 TOFLD, 0 1439 006220 3411 DCA I XR2 1440 006221 2023 ISZ T1 1441 006222 5215 JMP FRMFLD 1442 006223 6203 CDF CIF 0 1443 006224 5412 JMP I XR3 1444 / 1445 006225 0000 CKPK, 0 1446 006226 1377 TAD (10 1447 006227 0054 AND OPT3 /IS U FOR UNPACKED SET? 1448 006230 7650 SNA CLA 1449 006231 5243 JMP PCK /NO 1450 006232 1042 TAD PTRDIF /NEEDED TO CALCULATE ADDRESSES 1451 006233 3776 DCA I (PDIF4 1452 006234 7307 CLL CLA IAC RTL /4 1453 006235 3047 DCA NWORDS 1454 006236 1375 TAD (GET&177+7400 1455 006237 3320 DCA PVEC 1456 006240 1374 TAD (STO&177+7400 1457 006241 3321 DCA PVEC+1 1458 006242 5261 JMP PFIN 1459 006243 1042 PCK, TAD PTRDIF /NEEDED TO CALCULATE ADDRESSES 1460 006244 3773 DCA I (PDIF2 1461 006245 4565 JMS I [MOVE 1462 006246 6777 STO2-1 1463 006247 6201 CDF 0 1464 006250 7177 7200-1 1465 006251 6211 CDF 10 1466 006252 7600 -200 1467 006253 1372 TAD (GET2&177+7200 1468 006254 3320 DCA PVEC 1469 006255 1371 TAD (STO2&177+7200 1470 006256 3321 DCA PVEC+1 1471 006257 7305 CLL CLA IAC RAL /2 1472 006260 3047 DCA NWORDS 1473 006261 7240 PFIN, CLA CMA /MINUS ONE FOR XR 1474 006262 1046 TAD GTP 1475 006263 3267 DCA TOP 1476 006264 4565 JMS I [MOVE 1477 006265 6317 PVEC-1 1478 006266 6201 CDF 0 1479 006267 0000 TOP, 0 1480 006270 6211 CDF 10 1481 006271 7774 -4 1482 006272 4565 JMS I [MOVE 1483 006273 6577 CHARG-1 1484 006274 6201 CDF 0 1485 006275 7377 7400-1 1486 006276 6211 CDF 10 1487 006277 7600 -200 1488 006300 1056 TAD OPT5 /FORMFEED REQUEST 1489 006301 7041 CIA 1490 006302 3770 DCA I (LC 1491 006303 1175 TAD [200 1492 006304 0053 AND OPT2 1493 006305 7650 SNA CLA 1494 006306 5311 JMP .+3 1495 006307 1367 TAD (JMS I [ENDB 1496 006310 3766 DCA I (COMPIN 1497 006311 1365 TAD (1000 /CHECK FOR A 'C' 1498 006312 0053 AND OPT2 1499 006313 7650 SNA CLA 1500 006314 5625 JMP I CKPK /NO 1501 006315 1364 TAD (JMS I [COMPRESS /GET INSTRUCTION 1502 006316 3766 DCA I (COMPIN /PUT INLINE 1503 006317 5625 JMP I CKPK 1504 006320 0000 PVEC, ZBLOCK 2 006321 0000 1505 006322 7400 CHARG&177+7400 1506 006323 7406 CHARP&177+7400 1507 006364 4563 PAGE 006365 1000 006366 1273 006367 4564 006370 1323 006371 7200 006372 7264 006373 7154 006374 7433 006375 7503 006376 6753 006377 0010 1508 006400 7431 STARTUP,SWAB /START OUT RIGHT FROM HE BEGINNING 1509 006401 7621 CAM 1510 006402 7451 DPSZ /CHECK FOR EAE 1511 006403 7410 SKP /NOT IN 1512 006404 5210 JMP .+4 1513 006405 4566 JMS I [MESS 1514 006406 3142 NOEAE 1515 006407 5777 JMP I (7605 /FAST EXIT 1516 006410 4776 JMS I (CORE /GET NUMBER OF FIELDS 1517 006411 3355 DCA HICORE 1518 006412 7326 CLL CLA CML RTL /6 1519 006413 0355 AND HICORE 1520 006414 7640 SZA CLA 1521 006415 5221 JMP LOTSACORE 1522 006416 4566 JMS I [MESS 1523 006417 3014 SMLCORE 1524 006420 5777 JMP I (7605 1525 006421 1375 LOTSACO,TAD (1001 /NO RESTART, NO SAVE 10000-11777 1526 006422 3774 DCA I (7746 /JOB STATUS WORD 1527 006423 4565 JMS I [MOVE /SAVE STUFF IN FIELD 1 FROM USR 1528 006424 7777 0-1 1529 006425 6211 CDF 10 1530 006426 7777 0-1 1531 006427 6221 CDF 20 1532 006430 6000 -2000 1533 006431 6212 CIF 10 1534 006432 4773 JMS I (7700 /CALL URS 1535 006433 0010 10 /LOCK INTO CORE 1536 006434 6212 RESTAR, CIF 10 1537 006435 4575 JMS I [200 1538 006436 0005 5 /CALL CD 1539 006437 2362 2362 /S2 1540 006440 3772 DCA I (TGNG /CLEAR GOING FLAG CAUSE OF CD 1541 006441 4565 JMS I [MOVE /BRING OPTIN DATA INTO FIELD 0 1542 006442 7641 7642-1 1543 006443 6211 CDF 10 1544 006444 0051 OPT1-1 1545 006445 6201 CDF 0 1546 006446 7773 -5 1547 006447 4771 JMS I (OPEN3 /PROCESS OUTPUT SPECS FIRST 1548 006450 7650 SNA CLA 1549 006451 5255 JMP .+4 /NO ERRORS 1550 006452 4566 JMS I [MESS 1551 006453 3064 OER 1552 006454 5234 JMP RESTAR 1553 006455 7650 SNA CLA 1554 006456 5262 JMP .+4 1555 006457 4566 JMS I [MESS 1556 006460 3106 OPER 1557 006461 5234 JMP RESTAR 1558 006462 4770 JMS I (MAKE2 /CREAT A TEMP? 1559 006463 7650 SNA CLA 1560 006464 5270 JMP OK2 /2 IS OK 1561 006465 4566 JMS I [MESS 1562 006466 3026 TERROR 1563 006467 5234 JMP RESTAR 1564 006470 4767 OK2, JMS I (CHECK4 /DIFFERENT MESSAGE FILE? 1565 006471 7650 SNA CLA 1566 006472 5276 JMP .+4 1567 006473 4566 JMS I [MESS 1568 006474 3044 MESMES 1569 006475 5234 JMP RESTAR 1570 006476 7201 CLA IAC 1571 006477 4576 JMS I [ONDECK /READY FOR INPUT 1572 006500 7402 HLT /SYSTEM ERROR 1573 006501 4766 JMS I (INEXT /BRING IN FIRST FILE AS LONG AS USR IS IN 1574 006502 7410 SKP /ERROR 1575 006503 5307 JMP .+4 1576 006504 4566 JMS I [MESS 1577 006505 5714 FRSTIN 1578 006506 5234 JMP RESTAR 1579 006507 1373 TAD (7700 1580 006510 3057 DCA USR /TELL INEXT TO CALL IN OVERLAY 1581 006511 4565 JMS I [MOVE 1582 006512 7777 0-1 1583 006513 6221 CDF 20 1584 006514 7777 0-1 /BRING STUFF BACK 1585 006515 6211 CDF 10 1586 006516 6000 -2000 1587 006517 1365 TAD (1000 /USR MUST SAVE FIELD 1 STUFF 1588 006520 3774 DCA I (7746 1589 006521 4565 JMS I [MOVE /LINK TWO FIELDS TOGETHER 1590 006522 0177 200-1 1591 006523 6211 CDF P 1592 006524 0040 STARTAD-1 /LOCAL CODE 1593 006525 6201 CDF 0 1594 006526 7772 -6 /STARTAD,PTRDIF,PTR9+1,LOC100,LOC93,GTP 1595 006527 4565 JMS I [MOVE 1596 006530 3000 LINK0-1 /ADDRESSS OF FIELD 0 ROUTINES 1597 006531 6201 CDF 0 1598 006532 0177 200-1 1599 006533 6211 CDF P 1600 006534 7771 -7 1601 006535 4764 JMS I (CKPK /CHECK FOR PACKED-UNPACKED 1602 006536 1363 TAD (20 1603 006537 0053 AND OPT2 /CHECK FOR AN H 1604 006540 7650 SNA CLA 1605 006541 5344 JMP .+3 /NO 1606 006542 7332 CLL CLA CML RTR /2000 1607 006543 3020 DCA TABCK /NO CHARACTER WILL LOOK LIKE THIS 1608 006544 4573 JMS I [RESETB 1609 006545 1355 TAD HICORE 1610 006546 6213 CDF CIF P 1611 006547 3443 DCA I PTR9 /SET HIGHEST FIRLD 1612 006550 2043 ISZ PTR9 /POINT TO LOW ORDER BITS OF A 1613 006551 1047 TAD NWORDS 1614 006552 3443 DCA I PTR9 /USED IN MEMORY CALCULATION 1615 006553 7431 SWAB /CLEAR MQ 1616 006554 5441 JMP I STARTAD /START STAGE 2 CODE 1617 / 1618 006555 0000 HICORE, 0 /HIGHEST CORE FIELD 1619 006563 0020 PAGE 006564 6225 006565 1000 006566 2400 006567 5646 006570 5600 006571 6063 006572 2307 006573 7700 006574 7746 006575 1001 006576 6075 006577 7605 1620 006600 0000 CHARG, 0 /GET A CHARACTER OUT OF THE LINE BUFFER 1621 006601 6201 CDF 0 1622 006602 1630 TAD I LBIP /GET A CHARACTER 1623 006603 6211 CDF 10 1624 006604 2230 ISZ LBIP /ADVANCE OR NEXTIME 1625 006605 5600 JMP I CHARG 1626 / 1627 / 1628 006606 0000 CHARP, 0 /PUT A CHARACTER INTO THE LINE BUFFER. 1629 006607 6201 CDF 0 1630 006610 7510 SPA /EOL? 1631 006611 5216 JMP EOL /YES 1632 006612 3631 DCA I LBOP /SAVE IT 1633 006613 2232 ISZ LBOC /LINE FULL? 1634 006614 5225 JMP LBOK /NO 1635 006615 7040 CMA /CHANGE CHARACTER TO A -1 1636 006616 3631 EOL, DCA I LBOP /OVERLAY WITH -1 1637 006617 1377 TAD (LB 1638 006620 3231 DCA LBOP 1639 006621 1376 TAD (-MAXL-1 1640 006622 3232 DCA LBOC 1641 006623 7001 IAC /INDICATE CHARACTER REJECTED 1642 006624 7410 SKP /DO NOT ADVANCE AFTER END OF LINE 1643 006625 2231 LBOK, ISZ LBOP /ADVANCE FOR NEXT TIME 1644 006626 6211 CDF 10 1645 006627 5606 JMP I CHARP 1646 006630 3001 LBIP, LB /LINE BUFFER INPUT POINTER 1647 006631 3001 LBOP, LB /LINE BUFFER OUTPUT POINTER 1648 006632 7572 LBOC, -MAXL-1 /OUTPUT COUNT 1649 / 1650 006633 0000 STO, 0 /STORE A VALUE 1651 006634 7621 CAM 1652 006635 1633 TAD I STO 1653 006636 3244 DCA RP1 /PUT IN LINE 1654 006637 2233 ISZ STO 1655 006640 1633 TAD I STO /ADDRESS OF FLAG 1656 006641 2233 ISZ STO /SET FOR RETURN 1657 006642 3256 DCA FP1 1658 006643 7663 DLD 1659 006644 0000 RP1, 0 /ADDRESS OF ADDRESS 1660 006645 7413 SHL; 2 /TIMES FOUR TO GET WORD ADDRESS 006646 0002 1661 006647 7104 CLL RAL /OH WHY OH WHY DID DEC DO IT THIS WAY 1662 006650 7106 CLL RTL /SHIFT FIELD INTO PLACE 1663 006651 1375 TAD (CDF 20 /ADD IN OFFSET AND MAKE AN INSTRUCTION 1664 006652 3257 DCA MEMF1 1665 006653 7521 SWP /GET LOWER BITS INTO AC 1666 006654 3261 DCA MEMP1 1667 006655 7663 DLD 1668 006656 0000 FP1, 0 /ADDRESS OF FLAG AND VALUE REGISTARS 1669 006657 7402 MEMF1, HLT /CHANGE FIEELDS 1670 006660 7445 DST 1671 006661 0000 MEMP1, 0 1672 006662 7305 CLL CLA IAC RAL /2 1673 006663 1261 TAD MEMP1 1674 006664 3277 DCA MEMP2 /ADDRESS OF POINTER IN SAME FIELD 1675 006665 1256 TAD FP1 1676 006666 1353 TAD PDIF4 /CREATE A POINTER TO THE POINTER 1677 006667 3274 DCA PP1 1678 006670 1257 TAD MEMF1 1679 006671 3275 DCA MEMF2 1680 006672 6211 CDF 10 1681 006673 7663 DLD 1682 006674 0000 PP1, 0 /GET PTR VALUE 1683 006675 7402 MEMF2, HLT /CHANGE TO MEM FIELD 1684 006676 7445 DST 1685 006677 0000 MEMP2, 0 1686 006700 7621 CAM 1687 006701 6213 CDF CIF 10 1688 006702 5633 JMP I STO 1689 / 1690 006703 0000 GET, 0 /GET A VALUE OUT OF FLUB MEMORY 1691 006704 7621 CAM 1692 006705 1703 TAD I GET /GET POINTER TO ADDRESS 1693 006706 3314 DCA RP2 /ADDRESS OF MEMORY ADDRESS 1694 006707 2303 ISZ GET 1695 006710 1703 TAD I GET /GET POINTER TO FLAG 1696 006711 2303 ISZ GET /SET UP FOR RETURN 1697 006712 3332 DCA FP2 1698 006713 7663 DLD 1699 006714 0000 RP2, 0 /GET MEMORY ADDRESS 1700 006715 7413 SHL; 2 /TIMES FOUR TO GET WORD ADDRESS 006716 0002 1701 006717 7104 CLL RAL 1702 006720 7106 CLL RTL /MAKE MEMORY FIELD INSTRUCTION 1703 006721 1375 TAD (CDF 20 /ADD IN OFFSET AND MAKE AN INSTRUCTION 1704 006722 3325 DCA MEMF3 1705 006723 7521 SWP /GET LOWER ADDRESS BITS 1706 006724 3327 DCA MEMP3 1707 006725 7402 MEMF3, HLT /CHANGE TO FLUB MEMORY FIELD 1708 006726 7663 DLD 1709 006727 0000 MEMP3, 0 /GET FLAG AND VALUE 1710 006730 6211 CDF 10 1711 006731 7445 DST 1712 006732 0000 FP2, 0 1713 006733 7305 CLL CLA IAC RAL /2 1714 006734 1327 TAD MEMP3 /STILL IN SAME FIELD 1715 006735 3345 DCA MEMP4 1716 006736 1332 TAD FP2 1717 006737 1353 TAD PDIF4 /CREATE A POINTER TO THE POINTER 1718 006740 3350 DCA PP2 1719 006741 1325 TAD MEMF3 1720 006742 3343 DCA .+1 1721 006743 7402 HLT 1722 006744 7663 DLD 1723 006745 0000 MEMP4, 0 1724 006746 6213 CIF CDF 10 1725 006747 7445 DST 1726 006750 0000 PP2, 0 1727 006751 7621 CAM 1728 006752 5703 JMP I GET 1729 006753 0000 PDIF4, 0 /FILLED IN AT RUN TIME 1730 006775 6221 PAGE 006776 7572 006777 3001 1731 007000 0000 STO2, 0 /STORE A VALUE IN FLUB MEMORY 1732 007001 7621 CAM 1733 007002 1600 TAD I STO2 /GET ADDRESS OF ADDRESS 1734 007003 3205 DCA .+2 1735 007004 7663 DLD 1736 007005 0000 0 /GET FLUB ADDRESS 1737 007006 7413 SHL; 1 /TIMES 2 TO CONVERT TO WORDS 007007 0001 1738 007010 7106 CLL RTL /EXTRACT FILED BITS 1739 007011 7104 CLL RAL 1740 007012 1377 TAD (CDF 20 /ADD IN OFFSET AND MAKE AN INSTRUCTION 1741 007013 3256 DCA ST2C1 1742 007014 7521 SWP 1743 007015 3260 DCA ST2P1 /LOWER BITS 1744 007016 2200 ISZ STO2 1745 007017 1600 TAD I STO2 /GET POINTER TO FLAG 1746 007020 2200 ISZ STO2 /GET SET FOR RETURN 1747 007021 3223 DCA .+2 1748 007022 7663 DLD 1749 007023 7402 FP21, HLT 1750 007024 7001 IAC /BIAS THE VALUE 1751 007025 3344 DCA HLD1 /SAVE FOR TESTING 1752 007026 1347 TAD P7600 /7 BITS ONLY 1753 007027 0344 AND HLD1 1754 007030 7640 SZA CLA 1755 007031 5355 JMP VALER 1756 007032 1344 TAD HLD1 1757 007033 7413 SHL; 5 /SHIFT INTO PLACE 007034 0005 1758 007035 7521 SWP 1759 007036 7112 CLL RTR /MOVE HESE TWO BITS BACK 2 1760 007037 7501 MQA /COMBINE 1761 007040 3344 DCA HLD1 1762 007041 1223 TAD FP21 1763 007042 1354 TAD PDIF2 /MAKE POINTER TO PTR 1764 007043 3245 DCA .+2 1765 007044 7663 DLD 1766 007045 0000 0 /PICK UP PTR 1767 007046 1346 TAD P4 /SET BIAS 1768 007047 3345 DCA HLD2 /SAVE FOR TESTING 1769 007050 1350 TAD P7770 /TREE BITS ONLY 1770 007051 0345 AND HLD2 1771 007052 7640 SZA CLA 1772 007053 5357 JMP PTRER 1773 007054 1344 TAD HLD1 1774 007055 1345 TAD HLD2 /MESH WITH FLAG AND VAL 1775 007056 7402 ST2C1, HLT /CHANGE TO CORRECT FIELD 1776 007057 7445 DST 1777 007060 0000 ST2P1, 0 /STORE IT 1778 007061 7621 CAM 1779 007062 6213 CDF CIF 10 1780 007063 5600 JMP I STO2 1781 / 1782 007064 0000 GET2, 0 /GET A PACKED VALUE 1783 007065 7621 CAM 1784 007066 1664 TAD I GET2 /GET ADDRESS OF ADDRESS 1785 007067 3271 DCA .+2 1786 007070 7663 DLD 1787 007071 0000 0 1788 007072 7413 SHL; 1 007073 0001 1789 007074 7106 CLL RTL 1790 007075 7104 CLL RAL /GET FIELD 1791 007076 1377 TAD (CDF 20 /ADD IN OFFSET AND MAKE AN INSTRUCTION 1792 007077 3306 DCA GT2C1 1793 007100 7521 SWP /GET LOWER BITS 1794 007101 3310 DCA GTP21 1795 007102 2264 ISZ GET2 1796 007103 1664 TAD I GET2 1797 007104 2264 ISZ GET2 1798 007105 3326 DCA GF21 1799 007106 7402 GT2C1, HLT /CHANGE TO STORAGE FIELD 1800 007107 7663 DLD 1801 007110 0000 GTP21, 0 /PICK UP PACKED INFO 1802 007111 6211 CDF 10 1803 007112 7445 DST; HLD1&177+7200 007113 7344 1804 007114 7417 LSR; 3 007115 0003 1805 007116 7421 MQL 1806 007117 7501 MQA 1807 007120 0351 AND P3 /GET FLAG OUT 1808 007121 7521 SWP 1809 007122 7110 CLL RAR /ALIGN 1810 007123 7110 CLL RAR 1811 007124 1376 TAD (-1 /UNBIAS 1812 007125 7445 DST 1813 007126 0000 GF21, 0 /FLAG AND VALUE 1814 007127 7200 CLA 1815 007130 1326 TAD GF21 1816 007131 1354 TAD PDIF2 /MAKE POINTER TO PTR 1817 007132 3341 DCA GF22 1818 007133 1344 TAD HLD1 1819 007134 7421 MQL 1820 007135 1345 TAD HLD2 1821 007136 0352 AND P7 /MASK OUT 3 BITS 1822 007137 1353 TAD M4 /TAKE OUT BIAS 1823 007140 7445 DST 1824 007141 0000 GF22, 0 /POINTER TO PTR 1825 007142 7621 CAM 1826 007143 5664 JMP I GET2 /RETURN 1827 / 1828 007144 0000 HLD1, 0 /TENP 1829 007145 0000 HLD2, 0 1830 007146 0004 P4, 4 1831 007147 7600 P7600, 7600 1832 007150 7770 P7770, 7770 1833 007151 0003 P3, 3 1834 007152 0007 P7, 7 1835 007153 7774 M4, -4 1836 007154 0000 PDIF2, 0 /FILLED IN AT RUN TIME 1837 / 1838 007155 6203 VALER, CIF CDF 0 1839 007156 5775 JMP I (VALER0 1840 007157 6203 PTRER, CIF CDF 0 1841 007160 5774 JMP I (PTRER0 1842 / 1843 007174 0677 PAGE 007175 0674 007176 7777 007177 6221 1844 000163 2600 $ 000164 2730 000165 6200 000166 2036 000167 0701 000170 1600 000171 2200 000172 2111 000173 1324 000174 2211 000175 0200 000176 0600 000177 2146 ABORT 2220 unreferenced ARGP 0025 ASC2I 2117 ASCEX 2125 ASR 7415 unreferenced BASEF 0033 BIGNUM 0460 BL 5615 BLOOK 2735 BMAX 3306 BUFBAS 0034 CAM 7621 CCCK 2211 CCNT 2727 CDP 6015 CHAR 0026 CHARG 6600 CHARP 6606 CHARSW 0036 CHECK4 5646 CIP 2725 CKPK 6225 CLOSE 0301 CLOSER 2335 CLREOF 2507 CLRRW 1032 unreferenced CNEXT 2606 CNGSTA 6073 CNO 0344 CNTRLB 0051 COMPIN 1273 COMPRE 2600 COP 2724 COR0 6077 COR1 6106 COR2 6110 COR70 6114 CORAD 1500 CORE 6075 COREX 6127 CORLOC 6133 CORQ 0545 CORSIZ 6135 CORV 6134 CORX 6116 CP1 1711 CP2 1710 CRCK 2127 CTEMP 2226 CUR 0030 CURB 0032 CZT 1510 DAD 7443 DBIG 0476 DBY0 3264 DH 0063 DISKAD 1501 DIV0 0400 DL 0062 DLD 7663 DNOT0 0423 DOK 0525 DONO 2257 DP 0415 DPCM 7575 DPIC 7573 unreferenced DPSZ 7451 DSRN 3317 DST 7445 DUMMY 3010 DVI 7407 END0 2310 ENDB 2730 ENDCK 2610 ENTRYP 0031 EOFSET 1540 EOFT 1047 EOL 6616 EOLT 1065 EOM 1517 EOMF 1521 ERCL 0342 EXER 0276 EXFILE 0050 EXIT2 1706 EXPER 0045 EXPTAB 1077 EXSPAC 2677 EXTC 1514 unreferenced FEOL 1231 FILB 1400 FL2B 6600 FL2H 5200 FNAME 0340 FNDB 2655 FP1 6656 FP2 6732 FP21 7023 FRMFLD 6215 FROMAD 1665 FRSTIN 5714 GC1 1530 GC2 1527 GET 6703 GET2 7064 GETC 1417 GETMR 1052 GF21 7126 GF22 7141 GT2C1 7106 GTP 0046 GTP21 7110 HANP 6031 HICORE 6555 HLD1 7144 HLD2 7145 HLDU 1322 IBUF 5600 IGNOR 1115 IHAND 3600 INER 3207 INEXT 2400 INHAND 0027 INP 2412 INTAB 2713 IOER 2025 LB 3001 LBC 0022 LBIP 6630 LBOC 6632 LBOK 6625 LBOP 6631 LBP 0021 LC 1323 LCK 2232 LDER 2462 LGNG 2256 LINK0 3001 LLS 6666 LOTSAC 6421 LPT 2227 LSE 6663 LSF 6661 LSR 7417 M1 0216 M2 0227 M2ER 5632 M4 7153 MAKE2 5600 MAXB 0040 MAXL 0205 MBUF 7200 MCK 2056 MDONE 2065 ME1 2030 ME2 2031 MEMF1 6657 MEMF2 6675 MEMF3 6725 MEMP1 6661 MEMP2 6677 MEMP3 6727 MEMP4 6745 MEOL 1113 MES0 2000 MESMES 3044 MESP 2071 MESS 2036 MESS4 2146 MESSG 2052 MHAND 4600 MNAME 3274 MOME 2020 MORFIL 1402 MOVE 6200 MOVER 0273 MTE 2110 MUL0 0201 MULV 3252 MUY 7405 NAME2 1722 NAMEP 6017 NEOF 1062 NH 0061 NL 0060 NOEAE 3142 NOLOAD 2453 NOTAB 1110 NOWK 0634 NP 0436 NWORDS 0047 OA1 6042 OA2 6043 OBUF 6200 OER 3064 OEREX 6054 OFFDEC 0636 OHAND 4200 OK2 6470 OMAX 0341 ONAME 3301 ONDECK 0600 ONEXP 6057 OPEN3 6063 OPENO 6000 OPER 3106 OPN4 5700 OPPS 3236 OPT1 0052 OPT2 0053 OPT3 0054 OPT4 0055 OPT5 0056 OTAB 2717 OTHER 5661 OU 1317 OUTCR 2200 P 0010 P3 7151 P4 7146 P7 7152 P7600 7147 P7770 7150 PCK 6243 PDIF2 7154 PDIF4 6753 PERM 0717 PFIN 6261 PMORE 1221 PP1 6674 PP2 6750 PR2 2072 PRINTC 2111 PTR9 0043 PTRDIF 0042 PTRER 7157 PTRER0 0677 PUTC 1600 PVEC 6320 Q 0064 QTST 0517 RA1 0060 RA2 0061 RB1 0062 RB2 0063 RC1 0064 READ0 1000 REOF 1131 RESETB 1324 RESGN 0041 RESP 0267 RESQ 0537 RESTAR 6434 RET 1126 RHOME 1063 RIOCH 1124 RP1 6644 RP2 6714 RTST 1015 RWH 2525 RWIOCH 2527 RWND0 2465 SAM 7457 SB 5614 SETEOF 1516 SETEOM 1701 unreferenced SGNQ 0532 SHL 7413 SHRTCK 1036 SIX28 0662 SMLCOR 3014 SPC 2726 SPCIT 2702 ST2C1 7056 ST2P1 7060 STARTA 0041 STARTU 6400 STAT 0037 STO 6633 STO2 7000 STOR0 0543 STORQ 0535 SWAB 7431 SWBA 7447 unreferenced T1 0023 T2 0024 unreferenced TABC 1142 TABCK 0020 TERROR 3026 TGNG 2307 TOFLD 6217 TOP 6267 TRACEB 0701 TRACEP 0044 TRAIL 2632 TRY0 2151 TTY 2266 TWAIT 2272 USPEC 5634 USR 0057 VALER 7155 VALER0 0674 VALM 0705 WBAC 1315 WDAD 1666 WHOME 1234 unreferenced WIOCH 1233 WIOCH2 1314 WORP 0035 WRITE 1200 WRITE0 1235 XR1 0010 XR2 0011 XR3 0012