1 /OS8 FORTRAN II RELOCATING LOADER V4 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 // 10 / 11 / 12 / 13 / 14 /COPYRIGHT (C) 1973, 1975 15 /DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 16 / 17 / 18 / 19 /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 20 /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- 21 /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER 22 /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE 23 /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO 24 /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE 25 /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. 26 / 27 / 28 /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT 29 /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 30 /EQUIPMRNT COROPATION. 31 / 32 /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS 33 /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 34 / 35 / 36 / 37 / 38 / 39 / 40 /LOADER.07 DECEMBER 5, 1973 41 / 42 / 43 /CHANGES MADE FOR V4 J.K. 1975 44 / 45 / .VERSION NUMBER PRINTED ON MAP 46 / .BIT ZERO OF 17645 IS USED INSTEAD OF THE WHOLE 47 / WORD TO INDICATE THAT THE LOADER WAS CHAINED 48 / TO FROM SABR 49 / .CORE ROUTINE STANDARIZED 50 / .CHECK FOR BATCH CORRECTED 51 / 52 / 53 /FIELD 0, PAGE 0 54 55 VERSION=6400 /PRINTS ON MAP 56 PATCH=01 57 JSTFLD= 7744 58 JSTADR= 7745 59 JSBITS= 7746 60 MOFILE= 7600 61 MIFILE= 7617 62 MPARAM= 7643 63 DCB= 7760 64 MSTCDF= 7772 65 MSTADR= 7775 66 SHNDLR= 7607 67 MGET= 7667 68 MTEMP= 27 69 OLDT9= 7 /LOCATION OF HANDLER ENTRY OF DEVICE 70 /WITH DIRECTORY IN CORE 71 72 *0 73 000000 4407 ZERO, JMS I XSHNDLR 74 000001 2010 ONE, 2010 75 000002 3600 3600 76 000003 0040 MTEMP+11 77 000004 7402 HLT 78 000005 5406 FIVE, JMP I .+1 79 000006 7600 7600 80 000007 7607 XSHNDLR,SHNDLR 81 000010 0000 X1, 0 82 000011 0000 X2, 0 83 000012 0000 X3, 0 84 000013 0000 X4, 0 85 86 *16 87 NOPUNC 88 *100 89 ENPUNC 90 91 000100 6212 DFRSTR, CIF 10 92 000101 4514 JMS I DF200 93 000102 0011 11 /KICK OUT MONITOR 94 000103 0000 DFSAVE, 0 /RESTORE CALLING FIELD 95 000104 5451 JMP I CDZSKP /AND EXIT 96 97 000105 0000 SAVEDF, 0 /COMMON SAVE-FIELD PROCESSOR FOR FORTRAN I/O 98 000106 3051 DCA CDZSKP /CALLING ADDRESS 99 000107 6214 RDF 100 000110 1112 TAD .+2 101 000111 3103 DCA DFSAVE /CALLING FIELD 102 000112 6203 CDF CIF 0 103 000113 5505 JMP I SAVEDF 104 000114 0200 DF200, 200 105 /RUN-TIME SYSTEM PAGE 0 - PROPAGATED TROUGH ALL FIELDS 106 107 *33 108 BNK=00 109 / 110 / COMMON SUBROUTINE CALL LINKAGE ROUTINE 111 / 112 000033 0000 LINK, 0 113 000034 6201 K6201, CDF BNK /SET DATA FIELD TO THIS BANK 114 000035 6202 K6202, CIF 00 /SET INSTRUCTION FIELD TO ZERO 115 000036 5437 JMP I MLINKP /EXIT TO MASTER LINKAGE ROUTINE 116 000037 0460 MLINKP, MLINK 117 / 118 / COMMON SUBROUTINE RETURN LINKAGE ROUTINE 119 / 120 000040 0000 RTN, 0 121 000041 6201 CDF BNK /SET DATA FIELD TO THIS BANK 122 000042 6202 CIF 00 /SET INSTRUCTION FIELD TO ZERO 123 000043 5444 JMP I MRTNP /EXIT TO MASTER RETURN ROUTINE 124 000044 0475 MRTNP, MRTN 125 / 126 / CHANGE DATA FIELD TO CURRENT AND SKIP 127 / 128 000045 0000 CDFSKP, 0 129 000046 2045 ISZ CDFSKP /INDEX ADDRESS FOR SKIPPING 130 000047 6201 CDF BNK /CHANGE DATA FIELD TO CURRENT BANK 131 000050 5445 JMP I CDFSKP /EXIT 132 / 133 / CHANGE DATA FIELD TO ZERO AND SKIP 134 / 135 000051 0000 CDZSKP, 0 136 000052 2051 ISZ CDZSKP /INDEX RETURN ADDRESS FOR SKIPPING 137 000053 6211 CDF 10 /CHANGE DATA FIELD TO ZERO 138 000054 5451 JMP I CDZSKP /EXIT 139 / 140 / OFF BANK INDIRECT SUBROUTINE 141 / 142 000055 0000 OBISUB, 0 143 000056 6201 CDF BNK /SET DATA FIELD TO THIS BANK 144 000057 6202 CIF 00 /SET INSTRUCTION FIELD TO ZERO 145 000060 5461 JMP I MOBIP /EXIT TO MASTER OFF BANK INDIRECT SUBROUTINE 146 000061 0414 MOBIP, MOBI 147 / 148 / OFF PAGE INDIRECT SUBROUTINE 149 / 150 000062 0000 OPISUB, 0 151 000063 6201 CDF BNK /SET DATA FIELD TO THIS BANK 152 000064 6202 CIF 00 /SET INSTRUCTION FIELD TO BANK 0 153 000065 5466 JMP I MOPIP /EXIT TO MASTER OFF PAGE INDIRECT SUBROUTINE 154 000066 0401 MOPIP, MOPI 155 / 156 / ROUTINE TO HANDLE DUMMY ARGUMENTS 157 / 158 000067 0000 DUMSUB, 0 159 000070 6201 CDF BNK /SET DATA FIELD TO THIS BANK 160 000071 6202 CIF 00 /SET INSTRUCTION FIELD TO BANK 0 161 000072 5473 JMP I MDUMP /EXIT TO MASTER DUMMY ARGUMENT ROUTINE 162 000073 0433 MDUMP, MDUM 163 164 / PAGE 0 CELLS FOR FORTRAN EXECUTION TIME I/O 165 / CELLS SET UP BY LINKING LOADER - CANNOT GO PAST 77 166 167 000074 0000 INHNDL, 0 /PAGE FOR INPUT HANDLER IF /I SWITCH WAS ON 168 000075 0000 OUHNDL, 0 /PAGE FOR OUTPUT HANDLER IF /O SWITCH WAS ON 169 000076 0000 ELENGT, 0 /"DESIRED LENGTH" FOR FORTRAN OUTPUT FILES - USUALLY 0 170 171 *DF200+1 172 /OTHER PAGE 0 LOCATIONS 173 174 000115 0000 FOPOLD, 0 175 000116 0000 FINPTR, 0 176 000117 0000 FICHCT, 0 /MUST BE INIT. TO -1 AT LOOKUP 177 000120 0000 FINTMP, 0 /MUST BE INIT. TO 10 AT LOOKUP 178 000121 0000 OHNDLR, 0 /SET BY FENTER - CLEARED BY FCLOSE 179 000122 0000 IHNDLR, 0 /SET BY FLUKUP - NEVER CLEARED 180 000123 0000 FOUPTR, 0 181 000124 0000 FOCHCT, 0 182 *200 183 000200 5777 LSTART, JMP I (LDRZZ1 184 000201 6211 SSTART, CDF 10 185 000202 1776 TAD I (MPARAM+2 186 000203 7700 SMA CLA 187 000204 5255 JMP NOTSBR 188 000205 1776 TAD I (MPARAM+2 189 000206 0375 AND (3777 190 000207 3776 DCA I (MPARAM+2 191 000210 1774 TAD I (MOFILE 192 000211 7650 SNA CLA 193 000212 5253 JMP LDRYYY 194 000213 1373 TAD (MOFILE+11 195 000214 3010 DCA X1 196 000215 1374 TAD (MOFILE 197 000216 3343 DCA SEVEN 198 000217 1372 TAD (-5 199 000220 3342 DCA SIX 200 000221 1371 TAD (TEMP-1 201 000222 3011 DCA X2 202 000223 1743 MOVLP1, TAD I SEVEN 203 000224 6201 CDF 0 204 000225 3411 DCA I X2 205 000226 6211 CDF 10 206 000227 1410 TAD I X1 207 000230 3743 DCA I SEVEN 208 000231 2343 ISZ SEVEN 209 000232 2342 ISZ SIX 210 000233 5223 JMP MOVLP1 211 000234 1352 TAD TEMP+1 /GET BLOCK NUMBER WHICH SABR PLACED HERE 212 000235 3770 DCA I (MIFILE+1 213 000236 3767 DCA I (MIFILE+2 214 000237 7344 CLA CLL CMA RAL 215 000240 0766 AND I (MPARAM 216 000241 3766 DCA I (MPARAM /REMOVE /L SWITCH FROM SABR INPUT 217 000242 6201 CDF 0 218 000243 6212 CIF 10 219 000244 7201 CLA IAC 220 000245 4765 JMS I (200 221 000246 0004 4 /DELETE 222 000247 1152 FORTRL /THE FILE "FORTRL.TM" IF IT EXISTS 223 000250 0000 0 224 000251 7000 NOP /IT DIDN'T EXIST - BIG DEAL 225 000252 1351 TAD TEMP 226 000253 6211 LDRYYY, CDF 10 227 000254 3764 DCA I (MIFILE 228 000255 6212 NOTSBR, CIF 10 229 000256 6201 CDF 0 230 000257 4765 JMS I (200 231 000260 0012 12 /GET DEVICE NUMBER WITHOUT HANDLER 232 000261 2424 2424 /TT 233 000262 3100 TTYNUM, 3100 /Y 234 000263 1000 1000 /RANDOM NUMBER 235 000264 5344 JMP LWOWIE /WHAT - NO TELETYPE??? 236 000265 6212 CIF 10 237 000266 7201 CLA IAC /DEVICE "SYS" 238 000267 4765 JMS I (200 239 000270 0002 2 240 000271 1114 PTSLIB, SYSLIB 241 000272 0000 0 /USELESS LENGTH WORD 242 000273 7610 CLA SKP 243 000274 1271 TAD PTSLIB 244 000275 6211 CDF 10 245 000276 3763 DCA I (PSYSLB 246 000277 1262 TAD TTYNUM 247 000300 3762 DCA I (TTYNO /STORE AWAY TTY DEVICE NUMBER 248 000301 4761 JMS I (BATCK 249 000302 1350 CORO, TAD CORSIZ /GET FLD OF TEST 250 000303 7006 RTL 251 000304 7004 RAL 252 000305 0316 AND COR70 253 000306 1331 TAD COREX /MASK USEFUL BITS 254 000307 3310 DCA .+1 255 000310 6201 COR1, CDF 256 000311 1746 TAD I CORLOC /SAVE CURRENT CONTENTS 257 000312 7000 COR2, NOP 258 000313 3310 DCA COR1 259 000314 1312 TAD COR2 260 000315 3746 DCA I CORLOC 261 000316 0070 COR70, 70 262 000317 1746 TAD I CORLOC /TRY TO READ BACK 263 000320 7400 CORX, 7400 264 000321 1320 TAD CORX 265 000322 1347 TAD CORV /TAD (1400) 266 000323 7640 SZA CLA 267 000324 5331 JMP COREX /NON-EXISTENT FLD EXIT 268 000325 1310 TAD COR1 269 000326 3746 DCA I CORLOC /RESTORE LOC 270 000327 2350 ISZ CORSIZ 271 000330 5302 JMP CORO 272 000331 6201 COREX, CDF 0 273 000332 1350 TAD CORSIZ 274 000333 7041 CIA 275 000334 6213 FOUNDX, CDF CIF 10 276 000335 3760 DCA I (WROVLY /POSTPONE SPREADING FIELD ZERO RESIDENT 277 000336 1357 TAD (TTYOUT / THRU FIELDS UNTIL /I,/O AND /H ARE TESTED 278 000337 3756 DCA I (TYPE 279 000340 5741 JMP I .+1 280 000341 3602 LDRXXX 281 000342 0000 SIX, 0 282 000343 0000 SEVEN, 0 283 284 000344 6213 LWOWIE, CDF CIF 10 285 000345 5755 JMP I (SIOERR 286 000346 0320 CORLOC, CORX 287 000347 1400 CORV, 1400 288 000350 0001 CORSIZ, 1 289 000351 0000 TEMP, 0;0;0;0 000352 0000 000353 0000 000354 0000 290 000355 6645 PAGE 000356 0034 000357 4344 000360 7401 000361 1312 000362 4352 000363 3724 000364 7617 000365 0200 000366 7643 000367 7621 000370 7620 000371 0350 000372 7773 000373 7611 000374 7600 000375 3777 000376 7645 000377 1134 291 /FULL LINKAGE ROUTINES FOR RUN-TIME SYSTEM 292 293 *400 294 000400 0077 K77A, 0077 /MUST BE FIRST LOC ON PAGE 295 / 296 / MASTER OFF PAGE INDIRECT ROUTINE 297 / 298 000401 3051 MOPI, DCA AC /SAVE AC 299 000402 1655 TAD I OPIP /PICK UP ADDRESS OF PARAMETER 300 000403 3067 DCA DUMSUB 301 000404 1467 TAD I DUMSUB /ACTUAL PARAMETER 302 000405 3007 DCA 7 /TO A TEMP 303 000406 1407 TAD I 7 /PICK UP FINAL DATA 304 000407 3737 DCA I K7 /TO LOCATION 7 IN FROM BANK 305 000410 6214 RDF /FROM BANK 306 000411 1035 ATVX, TAD K6202 /MAKE A CIF FROM INSTRUCTION 307 000412 3252 DCA ATV /SAVE IN THIS SEQUENCE 308 000413 5251 JMP ATV-1 309 / 310 / MASTER OFF BANK INDIRECT ROUTINE 311 / 312 000414 3051 MOBI, DCA AC /SAVE AC 313 000415 1656 TAD I OBIP /ADDRESS OF PARAMETER 314 000416 3067 DCA DUMSUB 315 000417 1467 TAD I DUMSUB /ACTUAL COMMON ADDRESS 316 000420 3007 DCA 7 /SAVE IT 317 000421 6214 RDF /FROM BANK 318 000422 1034 TAD K6201 /MAKE A CDF FROM INSTRUCTION 319 000423 3226 DCA .+3 /PLACE IN THIS SEQUANCE 320 000424 6211 CDF 10 /CHANGE DATA FIELD TO COMMON 321 000425 1407 TAD I 7 /ACTUAL DATA 322 000426 7000 NOP /BECOMES CDF AND CIF FROM INSTRUCTION 323 000427 3737 DCA I K7 /TO LOCATION 7 IN FROM BANK 324 000430 6214 RDF 325 000431 6211 CDF 10 326 000432 5211 JMP ATVX 327 / MASTER INDIRECT DUMMY ARGUMENT SUBROUTINE 328 329 000433 3051 MDUM, DCA AC /SAVE AC 330 000434 1657 TAD I DUMP /PICK UP ADDRESS OF PAR 331 000435 3067 DCA DUMSUB 332 000436 1467 TAD I DUMSUB /PICK UP POINTER TO 2 WORD VECTOR 333 000437 3055 DCA DUMTEM /TO A TEMPORARY 334 000440 1455 TAD I DUMTEM /FIELD DATA IS IN AS A CDF 335 000441 3250 DCA ABCRT /TO THIS SEQUANCE 336 000442 6214 RDF /FROM FIELD 337 000443 1035 TAD K6202 /MAKE A CIF INSTRUCTION 338 000444 3252 DCA ATV /TO THIS SEQUANCE FOR EXIT 339 000445 2055 ISZ DUMTEM /POINT TO LOCATION IN FIELD 340 000446 1455 TAD I DUMTEM /ACTUAL LOCATION IN UNKNOWN FIELD 341 000447 3737 DCA I K7 /TO FROM FIELD LOCATION 7 342 000450 7000 ABCRT, NOP /BECOMES CDF UNKNOWN 343 000451 2067 ISZ DUMSUB /BUMP RETURN ADDRESS 344 000452 7000 ATV, NOP /BECOMES CIF FROM 345 000453 1051 TAD AC /RESTORE AC 346 000454 5467 JMP I DUMSUB /EXIT 347 AC= CDZSKP 348 DUMTEM= OBISUB 349 000455 0062 OPIP, OPISUB 350 000456 0055 OBIP, OBISUB 351 000457 0067 DUMP, DUMSUB 352 / 353 / MASTER LINKAGE ROUTINE 354 / 355 000460 3051 MLINK, DCA AC /SAVE AC 356 000461 6214 RDF 357 000462 1034 TAD K6201 /MAKE A CDF 358 000463 3055 DCA DUMTEM 359 000464 1711 TAD I LINKP /ADDRESS OF CODE WORD 360 000465 4313 JMS RTS1 361 000466 1055 TAD DUMTEM /CDF FROM INSTRUCTION 362 000467 3467 DCA I DUMSUB /TO FIRST WORD OF 2 WORD VECTOR 363 000470 2067 ISZ DUMSUB /POINT TO DISPLACEMENT 364 000471 1033 TAD LINK /ADDRESS OF CODE WORD 365 000472 7001 IAC /INCR. TO FIRST ARG 366 000473 3467 DCA I DUMSUB /TO SECOND WORD OF 2 WORD VECTOR 367 000474 5210 JMP ATVX-1 368 / 369 / MASTER RETURN ROUTINE 370 / 371 000475 3051 MRTN, DCA AC /SAVE AC 372 000476 1712 TAD I RTNP /ADDRESS OF CODE WORD 373 000477 4313 JMS RTS1 374 000500 1467 TAD I DUMSUB /FIELD TO RETURN TO AS A CDF INSTRUCTION 375 000501 1371 TAD K2 376 000502 3252 DCA ATV 377 000503 2067 ISZ DUMSUB 378 000504 1467 TAD I DUMSUB 379 000505 3067 DCA DUMSUB 380 000506 5252 JMP ATV 381 /DATA 382 383 000507 0100 K100A, 100 384 000510 7700 K7700A, 7700 385 000511 0033 LINKP, LINK 386 000512 0040 RTNP, RTN 387 / 388 /SUBROUTINE 1 389 / 390 000513 0000 RTS1, 0 391 000514 3033 DCA LINK 392 000515 1433 TAD I LINK /CODE WORD 393 000516 0200 K200A, AND K77A /MASK OUT NUMBER OF ARGUMENTS 394 000517 1316 TAD K200A /+DISPLACEMENT 395 000520 3250 DCA ABCRT /GIVES ADDRESS OF BCRT ENTRY 396 000521 1250 TAD ABCRT 397 000522 1307 TAD K100A /+DISPLACEMENT 398 000523 3252 DCA ATV /GIVES ADDRESS OF TV DISPLACEMENT 399 000524 6203 CDF CIF 0 /(TABLES IN FIELD 0!) 400 000525 1650 TAD I ABCRT /TO CDF INSTRUCTION 401 000526 3333 DCA RTSCDF /TO FIRST WORD OF 2 WORD VECTOR 402 000527 1652 TAD I ATV /TO BANK DISPLACEMENT 403 000530 7450 SNA /WAS IT LOADED? 404 000531 5335 JMP NOTIN /NO 405 406 000532 3067 DCA DUMSUB /TO SECOND WORD OF 2 WORD VECTOR 407 000533 0000 RTSCDF, 0 408 000534 5713 JMP I RTS1 409 410 000535 6212 NOTIN, CIF 10 411 000536 4710 JMS I K7700A 412 000537 0007 K7, 7 413 000540 0001 1 /USER ERROR 1 - PROGRAM NOT LOADED 414 000541 0000 FASIGN, 0 /CALLED FROM SABR - DOES ASSIGN AND 415 000542 3045 DCA CDFSKP /EITHER LOOKUP,ENTER OR CLOSE 416 000543 1341 TAD FASIGN 417 000544 4105 JMS SAVEDF 418 000545 6212 CIF 10 419 000546 4710 JMS I K7700A 420 000547 0010 10 /CALL USR IN 421 000550 6212 CIF 10 422 000551 4716 JMS I K200A 423 000552 0001 1 /ASSIGN HANDLER 424 000553 0000 ASDEV, 0;0 /SET UP BY SABR 000554 0000 425 000555 0000 ASPAGE, 0 /DITTO 426 000556 5374 JMP ASERR /ASSIGN FAILURE 427 000557 3372 ZRONAM, DCA FLUNAM /ZERO FILENAME FOR LOOKUP 428 000560 1354 TAD ASDEV+1 /PUT DEVICE NUMBER IN AC 429 000561 5445 JMP I CDFSKP /JUMP TO APPROPRIATE ROUTINE 430 431 *567 /MUST CROSS PAGE BOUNDARY JUST SO 432 000567 6212 FLUKUP, CIF 10 433 000570 4716 JMS I K200A 434 000571 0002 K2, 2 /LOOKUP FILE 435 000572 0000 FLUNAM, 0 /REPLACED BY BLOCK NUMBER 436 000573 0000 FLUCNT, 0 /REPLACED BY LENGTH (UNUSED) 437 000574 2051 ASERR, ISZ CDZSKP /SKIP RETURN IF ERROR 438 000575 1355 TAD ASPAGE 439 000576 3122 DCA IHNDLR /SET UP INPUT HANDLER ENTRY AND FLAG 440 000577 1372 TAD FLUNAM 441 000600 3216 FINRXX, DCA FINREC /***** THIS SHOULD BE AT LOC 600! ***** 442 000601 7240 CLA CMA 443 000602 3117 DCA FICHCT 444 000603 1340 TAD FIN10 445 000604 3120 DCA FINTMP 446 000605 5367 JMP FRESET /RESET I/O AND RETURN FROM FASIGN 447 IFNZRO FINRXX-600 448 /GET A CHARACTER ROUTINE. 449 /RETURNS TO .+1 IF ERROR, .+2 IF NORMAL 450 /CHAR IN AC ON OUTPUT 451 /DOES NOT HANDLE END-OF-FILE VERY WELL 452 453 000606 0000 FICHAR, 0 454 000607 1206 TAD FICHAR 455 000610 4105 JMS SAVEDF /SAVE RETURN FIELD AND ADDRESS 456 000611 2117 FNXTCH, ISZ FICHCT /BUMP CHAR COUNT 457 000612 5230 JMP FIGET 458 000613 4522 JMS I IHNDLR /IT OVERFLOWED - READ IN A NEW BUFFER 459 000614 0200 FI200, 200 460 000615 1200 FINBUF, 1200 461 000616 0000 FINREC, 0 462 000617 7700 FI7700, SMA CLA 463 000620 7410 SKP /END - OF - FILE ERROR - IGNORE 464 000621 5103 JMP DFSAVE /ERROR RETURN 465 000622 2216 ISZ FINREC 466 000623 7240 CLA CMA 467 000624 1215 TAD FINBUF 468 000625 3116 DCA FINPTR 469 000626 1233 TAD FI7200 470 000627 3117 DCA FICHCT /INITIALIZE FOR NEW RECORD 471 000630 1120 FIGET, TAD FINTMP /GET HIGH-ORDER-BIT BUFFER 472 000631 7510 SPA /IS IT FULL? 473 000632 5246 JMP FITHRD /YES - OUTPUT COMBINED HIGH-ORDER BITS 474 000633 7200 FI7200, CLA 475 000634 2116 ISZ FINPTR 476 000635 1516 TAD I FINPTR /GET A LOC FROM THE BUFFER 477 000636 0374 AND FI7400 478 000637 7104 RAL CLL 479 000640 1120 TAD FINTMP /PUT THE HIGH ORDER BITS ONTO THE HOB BUFFER 480 000641 7006 FINXX, RTL 481 000642 7006 RTL 482 000643 3120 DCA FINTMP 483 000644 1516 TAD I FINPTR 484 000645 5325 JMP DFEXIT /RETURN WITH SKIP 485 000646 3516 FITHRD, DCA I FINPTR /FUDGE THIRD CHAR INTO BUFFER 486 000647 7120 CLL CML 487 000650 5241 JMP FINXX /RESET FINTMP TO 10 488 /PUT A CHARACTER 489 /RETURNS TO .+1 IF ERR, .+2 IF NORMAL 490 /CALLED WITH CHAR IN AC 491 492 000651 0000 FOCHAR, 0 493 000652 3206 DCA FOUTMP /SAVE CHAR 494 000653 1251 TAD FOCHAR 495 000654 4105 JMS SAVEDF /SAVE CALLING FIELD AND LOC 496 000655 2273 FOLOOP, ISZ FOUJMP 497 000656 2124 ISZ FOCHCT /BUMP CHAR COUNT 498 000657 5273 FOJMP, JMP FOUJMP /TAKE A BRANCH OF THE THREE-WAY JUMP 499 000660 4521 JMS I OHNDLR 500 000661 4200 4200 501 000662 1200 FOUBUF, 1200 502 000663 0000 FOUREC, 0 503 000664 5103 JMP DFSAVE /OUTPUT ERROR 504 000665 2263 ISZ FOUREC 505 000666 4327 JMS FOSETP 506 000667 2363 ISZ FOCCNT /BUMP FILE LENGTH 507 000670 2346 ISZ FOOCNT /ALSO ENTER COUNT 508 000671 5255 JMP FOLOOP /NOW GO PUT THE CHAR INTO THE NEW BUFFER 509 000672 5103 JMP DFSAVE /ENTER COUNT OVERFLOWED - ERROR RETURN 510 511 000673 5273 FOUJMP, JMP . /THREE-WAY SWITCH 512 000674 5323 JMP FOUCH1 513 000675 5320 JMP FOUCH2 514 000676 1206 FOUCH3, TAD FOUTMP 515 000677 7006 RTL 516 000700 7006 RTL 517 000701 3206 DCA FOUTMP 518 000702 1206 TAD FOUTMP 519 000703 0374 AND FI7400 520 000704 1515 TAD I FOPOLD /PUT HIGH ORDER BITS OF CHAR3 521 000705 3515 DCA I FOPOLD /INTO HIGH ORDER BITS OF CHAR 1 522 000706 1206 TAD FOUTMP 523 000707 7006 RTL 524 000710 7006 RTL 525 000711 0374 AND FI7400 526 000712 1523 TAD I FOUPTR /PUT LOW ORDER BITS OF CHAR 3 527 000713 3523 DCA I FOUPTR /INTO HIGH ORDER BITS OF CHAR 2 528 000714 1257 TAD FOJMP 529 000715 3273 DCA FOUJMP 530 000716 2123 ISZ FOUPTR 531 000717 5325 JMP DFEXIT /RETURN NORMALLY 532 000720 1123 FOUCH2, TAD FOUPTR 533 000721 3115 DCA FOPOLD /SAVE POINTER TO CHAR 1 534 000722 2123 ISZ FOUPTR 535 000723 1206 FOUCH1, TAD FOUTMP 536 000724 3523 DCA I FOUPTR /STORE CHAR 1 OR 2 537 000725 2051 DFEXIT, ISZ CDZSKP /INCREMENT RETURN ADDR 538 000726 5103 JMP DFSAVE /AND GO THERE 539 000727 0000 FOSETP, 0 540 000730 1337 TAD FO7177 541 000731 3124 DCA FOCHCT 542 000732 1262 TAD FOUBUF 543 000733 3123 DCA FOUPTR 544 000734 1257 TAD FOJMP 545 000735 3273 DCA FOUJMP 546 000736 5727 JMP I FOSETP 547 548 000737 7177 FO7177, 7177 549 000740 0010 FIN10, 10 550 551 000741 1076 FENTER, TAD ELENGT /ELENGT=0 UNLESS SOME KLUDGE SETS IT UP 552 000742 6212 CIF 10 /FENTER JUMPED TO BY FASIGN 553 000743 4614 JMS I FI200 554 000744 0003 3 555 000745 0000 FOONAM, 0 /FILE NAME IN LOCS 0-3 556 000746 0000 FOOCNT, 0 557 000747 2051 ISZ CDZSKP /FOR ENTER, ERROR RETURN IS SKIP RETURN 558 000750 1345 TAD FOONAM 559 000751 3263 DCA FOUREC /INITIALIZE OUTPUT RECORD # 560 000752 4327 JMS FOSETP /SET UP CHARACTER POINTERS 561 000753 3345 DCA FOONAM /SET FOONAM FOR NEXT ENTER 562 000754 1756 TAD I PASPAG 563 000755 5365 JMP STOHND /GO TO COMMON CODE WITH "FCLOSE" 564 000756 0555 PASPAG, ASPAGE 565 566 000757 6212 FCLOSE, CIF 10 /JUMPED TO BY FASIGN 567 000760 4614 JMS I FI200 /CALL I/O MONITOR 568 000761 0004 4 569 000762 0000 FOCNAM, 0 /FILE NAME IN 0-3 570 000763 0000 FOCCNT, 0 /CLOSING LENGTH 571 000764 2051 ISZ CDZSKP /ERROR - BUMP RETURN 572 000765 3121 STOHND, DCA OHNDLR 573 000766 3363 DCA FOCCNT /INITIALIZE CLOSING COUNT FOR NEXT FILE 574 000767 6212 FRESET, CIF 10 575 000770 4614 JMS I FI200 576 000771 0013 13 /RESET ALL DEVICE HANDLER ENTRIES 577 000772 0000 0 /BUT RETAIN ANY OPEN OUTPUT FILES 578 000773 5100 JMP DFRSTR /RETURN FROM FASIGN AFTER KICKING MONITOR OUT 579 FOUTMP= FICHAR 580 000774 7400 FI7400, 7400 581 PAGE 582 *1000 583 001000 0000 PROPGT, 0 /CALLED FROM FIELD 1 LOADER WHEN 1ST 584 001001 6211 CDF 10 /CHECKING FOR I/O SWITCHES. 585 001002 3720 DCA I LTOPCOR /-# OF CORE FIELDS IN AC 586 001003 1720 TAD I LTOPCOR 587 001004 3722 DCA I LFCTR 588 001005 1720 TAD I LTOPCOR 589 001006 6201 CDF 0 590 001007 7040 CMA /GET # OF HI CORE FIELD 591 001010 3250 PROPLP, DCA FC 592 001011 7240 CLA CMA 593 001012 1250 TAD FC 594 001013 7650 SNA CLA 595 001014 5223 JMP FIELD1 596 001015 1250 TAD FC 597 001016 4251 JMS CHGBNK 598 001017 4273 JMS STOBNK 599 001020 7240 CLA CMA 600 001021 1250 TAD FC 601 001022 5210 JMP PROPLP 602 001023 7201 FIELD1, CLA IAC 603 001024 4251 JMS CHGBNK 604 001025 4721 JMS I LSHNDLR 605 001026 4100 4100 606 001027 0000 0 607 001030 0027 MTEMP 608 001031 5723 JMP I LLWOWIE 609 001032 4721 JMS I LSHNDLR 610 001033 4201 4201 611 001034 0400 400 612 001035 0050 MTEMP+21 /WRITE OUT RUN-TIME ROUTINES 613 001036 5723 JMP I LLWOWIE 614 001037 4251 JMS CHGBNK 615 001040 1324 TAD L6001 616 001041 3725 DCA I LJSBITS 617 001042 1330 TAD L6213 618 001043 3727 DCA I LJSTFLD 619 001044 1350 TAD LLRSTRT 620 001045 3726 DCA I LJSTADR 621 001046 6213 CDF CIF 10 /PROPGT IS CALLED FROM FIELD 1 ONLY 622 001047 5600 JMP I PROPGT 623 001050 0000 FC, 0 624 001051 0000 CHGBNK, 0 625 001052 7106 CLL RTL 626 001053 7004 RAL 627 001054 1331 TAD LCDF 628 001055 3010 DCA X1 629 001056 1010 TAD X1 630 001057 3034 DCA LINK+1 631 001060 1010 TAD X1 632 001061 3041 DCA RTN+1 633 001062 1010 TAD X1 634 001063 3047 DCA CDFSKP+2 635 001064 1010 TAD X1 636 001065 3056 DCA OBISUB+1 637 001066 1010 TAD X1 638 001067 3063 DCA OPISUB+1 639 001070 1010 TAD X1 640 001071 3070 DCA DUMSUB+1 641 001072 5651 JMP I CHGBNK 642 643 001073 0000 STOBNK, 0 644 001074 1332 TAD LLINK1 645 001075 3011 DCA X2 646 001076 1011 TAD X2 647 001077 3012 DCA X3 648 001100 1333 TAD LLINK2 649 001101 3013 DCA X4 650 001102 1010 TAD X1 651 001103 3306 DCA STOCDF 652 001104 6201 STOLUP, CDF 0 653 001105 1411 TAD I X2 654 001106 7402 STOCDF, HLT 655 001107 3412 DCA I X3 656 001110 2013 ISZ X4 657 001111 5304 JMP STOLUP 658 001112 6201 CDF 0 659 001113 5673 JMP I STOBNK 660 001114 1411 SYSLIB, TEXT /LIB8/ 001115 0270 001116 0000 661 001117 2214 2214 /.RL 662 663 001120 6350 LTOPCOR,TOPCOR 664 001121 7607 LSHNDLR,SHNDLR 665 001122 7344 LFCTR, FCTR 666 001123 0344 LLWOWIE,LWOWIE 667 001124 6001 L6001, 6001 668 001125 7746 LJSBITS,JSBITS 669 001126 7745 LJSTADR,JSTADR 670 001127 7744 LJSTFLD,JSTFLD 671 001130 6213 L6213, 6213 672 001131 6201 LCDF, CDF 673 001132 0032 LLINK1, LINK-1 674 001133 7736 LLINK2, LINK-MDUMP-2 675 001134 6211 LDRZZ1, CDF 10 /COME HERE IF NOT CHAINED TO 676 001135 3746 DCA I LMOFIL 677 001136 2346 ISZ LMOFIL 678 001137 2347 ISZ LMOCNT 679 001140 5335 JMP .-3 680 001141 7344 CLA CLL CMA RAL /-2 681 001142 3751 DCA I LDOPRP 682 001143 6201 CDF 00 683 001144 5745 JMP I .+1 684 001145 0253 LDRYYY 685 001146 7600 LMOFIL, 7600 686 001147 7731 LMOCNT, -47 687 001150 3600 LLRSTRT,LRSTRT 688 001151 7560 LDOPRP, DOPROP 689 001152 0617 FORTRL, FILENAME FORTRL.TM 001153 2224 001154 2214 001155 2415 690 PAGE 691 *1200 /LINKING LOADER SUBROUTINES FOR /I AND /O OPTIONS 692 001200 0000 INPENB, 0 693 001201 2246 ISZ INPFLG 694 001202 5215 JMP INRTRN /ALREADY HAVE A /I 695 001203 4254 JMS TWOPAG /HAS USER SPECIFIED 2-PG. HNDLRS? 696 001204 1247 TAD OUPFLG 697 001205 7710 SPA CLA 698 001206 5217 JMP INVRGN 699 001207 1251 TAD K2200 700 001210 3074 DCA INHNDL 701 001211 1377 TAD (FINBUF 702 001212 3776 DCA I (ST1600 /MARK THE INPUT BUFFER IN PAGE 1600 703 001213 1252 TAD K2377 704 001214 4303 JMS SETHLA 705 001215 6213 INRTRN, CDF CIF 10 706 001216 5600 JMP I INPENB 707 708 001217 1250 INVRGN, TAD K1000 709 001220 3074 DCA INHNDL 710 001221 1253 TAD K1577 711 001222 5214 JMP INRTRN-1 712 713 001223 0000 OUPENB, 0 714 001224 2247 ISZ OUPFLG 715 001225 5240 JMP OURTRN 716 001226 4254 JMS TWOPAG /HAS USER SPECIFIED 2 PG. HNDLRS? 717 001227 1246 TAD INPFLG 718 001230 7710 SPA CLA 719 001231 5242 JMP OUVRGN 720 001232 1251 TAD K2200 721 001233 3075 DCA OUHNDL 722 001234 1375 TAD (FOUBUF 723 001235 3776 DCA I (ST1600 /MARK OUTPUT BUFFER IN 1600 724 001236 1252 TAD K2377 725 001237 4303 JMS SETHLA 726 001240 6213 OURTRN, CDF CIF 10 727 001241 5623 JMP I OUPENB 728 729 001242 1250 OUVRGN, TAD K1000 730 001243 3075 DCA OUHNDL 731 001244 1253 TAD K1577 732 001245 5237 JMP OURTRN-1 733 734 001246 7777 INPFLG, -1 735 001247 7777 OUPFLG, -1 736 001250 1000 K1000, 1000 /SET TO 1001 FOR 2 PAGE HANDLERS 737 001251 2200 K2200, 2200 /SET TO 2401 FOR 2 PAGE HANDLERS. 738 001252 2377 K2377, 2377 /SET TO 2577 FOR 2 PAGE HANDLERS. 739 001253 1577 K1577, 1577 /SET TO 1777 FOR 2 PAGE HANDLERS. 740 /SUBROUTINE TO CHECK FOR /H SWITCH MEANING USER 741 /WANTS RUN TIME DEVICE INDEPENDENT I/O TO 742 /BE ABLE TO USE 2 PAGE DEVICE HANDLERS 743 / 744 001254 0000 TWOPAG, 0 745 001255 6211 CDF 10 746 001256 1774 TAD I (MPARAM 747 001257 0373 AND (20 /IS /H SWITCH SET? 748 001260 7650 SNA CLA 749 001261 5654 JMP I TWOPAG /NO-RETURN (DATA FLD=1) 750 001262 1372 TAD (1001 /YES-RESET HANDLR FETCH TO ACCEPT 751 001263 3250 DCA K1000 /TWO PAGE HANDLERS 752 001264 1371 TAD (2401 /RESET FETCH FOR SECOND HANDLER 753 001265 3251 DCA K2200 754 001266 1370 TAD (2777 755 001267 3252 DCA K2377 /RESET HLA CONSTANT FOR 2 PG HANDLRS 756 001270 1367 TAD (1777 757 001271 3253 DCA K1577 /RESET 2ND HLA CONSTANT FOR 2 PG 758 001272 1366 TAD (2000 759 001273 3765 DCA I (K1600 /RESET BUFR. ADDRESS-SEE *LDRXIT* 760 001274 6201 CDF 00 761 001275 1364 TAD (1400 762 001276 3777 DCA I (FINBUF /RESET IN AND OUT BUFFER ADDRESSES 763 001277 1364 TAD (1400 /TO MAKE ROOM FOR 2 PG HANDLR 764 001300 3775 DCA I (FOUBUF 765 001301 6211 CDF 10 766 001302 5654 JMP I TWOPAG /RETN. DATA FLD=1 767 768 001303 0000 SETHLA, 0 769 001304 3763 DCA I (HLAZ 770 001305 1763 TAD I (HLAZ 771 001306 7041 CIA 772 001307 3762 DCA I (HLAIO 773 001310 6201 CDF 0 774 001311 5703 JMP I SETHLA 775 001312 0000 BATCK, 0 776 001313 6201 CDF 0 777 001314 1761 TAD I (7777 778 001315 0360 AND (70 779 001316 7450 SNA 780 001317 5712 JMP I BATCK 781 001320 7112 CLL RTR 782 001321 7010 RAR 783 001322 7040 CMA 784 001323 3332 DCA TMPC 785 001324 1761 TAD I (7777 786 001325 7004 RAL 787 001326 7710 SPA CLA 788 001327 7001 IAC 789 001330 1332 TAD TMPC 790 001331 5757 JMP I (FOUNDX 791 001332 0000 TMPC, 0 792 001357 0334 PAGE 001360 0070 001361 7777 001362 6565 001363 6547 001364 1400 001365 7557 001366 2000 001367 1777 001370 2777 001371 2401 001372 1001 001373 0020 001374 7643 001375 0662 001376 7526 001377 0615 793 FIELD 1 794 /FIELD 1 PAGE 0 EQUIVALENCES - FIT INTO USR CRACKS 795 796 DEVHND=20 797 BANK=21 798 TM1=22 799 TM2=23 800 RECNO=24 801 OVLYFG=25 802 CUR=26 803 WORD=27 804 HLAPTR=30 805 HLA=31 806 RCON=32 807 COML=33 /HI COMMON LOC, 0 IF NONE 808 TYPE=34 809 CSUM=35 810 NSUB=36 811 812 *3600 813 013600 3777 LRSTRT, DCA I (MIFILE 814 013601 4776 LDRZZZ, JMS I (IONULL 815 013602 1377 LDRXXX, TAD (MIFILE 816 013603 3277 DCA FILPTR 817 013604 3025 DCA OVLYFG 818 013605 3775 DCA I (WRBFSW 819 013606 4774 JMS I (START 820 013607 5260 JMP IOCHEK /GO TEST FOR /I, /O ALD /0-7 821 013610 3021 LDRLP, DCA BANK 822 013611 1677 TAD I FILPTR 823 013612 7450 SNA 824 013613 5226 JMP GETCD 825 013614 4325 JMS GETHND 826 013615 1677 TAD I FILPTR 827 013616 2277 ISZ FILPTR 828 013617 3024 DCA RECNO 829 013620 1773 TAD I (MPARAM 830 013621 7010 RAR 831 013622 7630 SZL CLA 832 013623 5772 JMP I (LBRY 833 013624 4771 JMS I (LOAD 834 013625 5210 JMP LDRLP 835 013626 1770 GETCD, TAD I (MPARAM+3 836 013627 7450 SNA 837 013630 5240 JMP LKATMP 838 013631 3767 DCA I (LSTADR 839 013632 1766 TAD I (MPARAM-1 840 013633 7104 CLL RAL 841 013634 0365 AND (17 842 013635 7106 CLL RTL 843 013636 1364 TAD (CDF CIF 0 844 013637 3763 DCA I (LSTFLD /FALL INTO NEXT PAGE 845 013640 4762 LKATMP, JMS I (WRPGBF 846 013641 1773 TAD I (MPARAM 847 013642 0361 AND (40 848 013643 7640 SZA CLA 849 013644 5315 JMP BUILD 850 013645 1766 TAD I (MPARAM-1 851 013646 7710 SPA CLA 852 013647 5315 JMP BUILD 853 013650 4300 JMS MAP 854 013651 4760 CDCALL, JMS I (200 855 013652 0005 5 856 013653 2214 2214 857 013654 1757 TAD I (MPARAM+1 858 013655 0356 AND (100 859 013656 7640 SZA CLA 860 013657 5201 JMP LDRZZZ 861 013660 4755 IOCHEK, JMS I (IOTEST 862 013661 3022 DCA TM1 863 013662 1377 TAD (MIFILE 864 013663 3277 DCA FILPTR 865 013664 1754 TAD I (MPARAM+2 866 013665 0353 AND (1774 867 013666 7450 SNA 868 013667 5210 JMP LDRLP 869 013670 7004 RAL 870 013671 2022 ISZ TM1 871 013672 7420 SNL 872 013673 5270 JMP .-3 873 013674 7346 CLA CMA CLL RTL 874 013675 1022 TAD TM1 875 013676 5210 JMP LDRLP 876 013677 0000 FILPTR, 0 877 013700 0000 MAP, 0 878 013701 1757 TAD I (MPARAM+1 879 013702 0352 AND (4410 /"M","P" AND "U" OPTIONS 880 013703 7450 SNA 881 013704 5700 MAPRTN, JMP I MAP 882 013705 7112 CLL RTR 883 013706 7012 RTR 884 013707 0360 AND (200 885 013710 7640 SZA CLA 886 013711 7121 CLL CML IAC 887 013712 7024 CML RAL /FORM 0 IF /U, 1 IF /P AND 2 IF /M 888 013713 3022 DCA TM1 889 013714 5751 JMP I (MAPIO 890 013715 1350 BUILD, TAD (SHNDLR 891 013716 3020 DCA DEVHND 892 013717 1324 TAD PSYSLB 893 013720 7440 SZA 894 013721 4747 JMS I (LBSRCH 895 013722 4300 JMS MAP 896 013723 5746 JMP I (BUILDX 897 013724 0000 PSYSLB, 0 898 899 013725 0000 GETHND, 0 900 013726 0365 AND (17 901 013727 3745 DCA I (EASGN 902 013730 1344 TAD (401 903 013731 3336 DCA LASGN 904 013732 1745 TAD I (EASGN 905 013733 2277 ISZ FILPTR 906 013734 4760 JMS I (200 907 013735 0001 1 /ASSIGN 908 013736 0401 LASGN, 401 909 013737 5743 JMP I (HNDERR /BAD HANDLER 910 013740 1336 TAD LASGN 911 013741 3020 DCA DEVHND 912 013742 5725 JMP I GETHND 913 013743 6650 PAGE 013744 0401 013745 4541 013746 4000 013747 5604 013750 7607 013751 4200 013752 4410 013753 1774 013754 7645 013755 7532 013756 0100 013757 7644 013760 0200 013761 0040 013762 7423 013763 4152 013764 6203 013765 0017 013766 7642 013767 4151 013770 7646 013771 4400 013772 5600 013773 7643 013774 6200 013775 7440 013776 4353 013777 7617 914 014000 1351 BUILDX, TAD LSTADR 915 014001 7640 SZA CLA 916 014002 5226 JMP ALREDY 917 014003 1377 TAD (MAIN-1 918 014004 3010 DCA X1 919 014005 4776 JMS I (SETS1 920 014006 4775 JMS I (SEARCH 921 014007 5774 JMP I (ERSTAD 922 014010 1373 TAD (TVEC-1 923 014011 1772 TAD I (SYMNUM 924 014012 3022 DCA TM1 925 014013 6201 CDF 0 926 014014 1422 TAD I TM1 927 014015 7450 SNA 928 014016 5774 JMP I (ERSTAD 929 014017 3351 DCA LSTADR 930 014020 1022 TAD TM1 931 014021 1371 TAD (7700 932 014022 3022 DCA TM1 933 014023 7326 CLA CLL CML RTL /CHANGE CDF TO CDF CIF 934 014024 1422 TAD I TM1 935 014025 3352 DCA LSTFLD 936 014026 6211 ALREDY, CDF 10 937 014027 4770 JMS I (WROVLY 938 014030 1367 TAD (1400 939 014031 4341 JMS STOINF 940 014032 3007 DCA OLDT9 941 014033 1366 TAD (HLA7 942 014034 3022 DCA TM1 943 014035 1365 TAD (-10 944 014036 3012 DCA X3 945 014037 3410 DCA I X1 946 014040 3013 DCA X4 947 014041 7326 BLDLP, CLA CLL CML RTL 948 014042 1012 TAD X3 949 014043 7650 SNA CLA 950 014044 5310 JMP BFLD1 /TREAT FIELD 1 (COMMON AREA) DIFFERENTLY 951 014045 1422 BLDLPX, TAD I TM1 952 014046 0364 AND (7600 953 014047 7450 SNA 954 014050 5262 JMP BLDSKP 955 014051 1363 BLDLPY, TAD (170 956 014052 7172 CLL CML CMA RTR 957 014053 7012 RTR 958 014054 1012 TAD X3 959 014055 7146 CLL CMA RTL 960 014056 7004 RAL 961 014057 3410 DCA I X1 962 014060 3410 DCA I X1 963 014061 2013 ISZ X4 964 014062 7240 BLDSKP, CLA CMA 965 014063 1022 TAD TM1 966 014064 3022 DCA TM1 967 014065 2012 ISZ X3 968 014066 5241 JMP BLDLP 969 014067 1013 TAD X4 970 014070 7041 CIA 971 014071 3767 DCA I (1400 972 014072 6202 CIF 0 973 014073 4762 JMS I (SHNDLR 974 014074 4210 4210 975 014075 1200 1200 976 014076 0037 MTEMP+10 977 014077 7402 HLT 978 014100 6201 CDF 0 979 014101 1361 TAD (JSTFLD-1 980 014102 4341 JMS STOINF 981 014103 1351 TAD LSTADR 982 014104 3760 DCA I (MSTADR 983 014105 1352 TAD LSTFLD 984 014106 3757 DCA I (MSTCDF 985 014107 5756 JMP I (LDRXIT 986 987 014110 1033 BFLD1, TAD COML 988 014111 7450 SNA /IS THERE ANY COMMON? 989 014112 5245 JMP BLDLPX /NO 990 014113 7140 CLL CMA 991 014114 1422 TAD I TM1 992 014115 7620 SNL CLA /IS THERE ANY CODE IN FIELD 1? 993 014116 5262 JMP BLDSKP /NO 994 014117 1355 TAD (110 /SAVE FIELD 1 IN TWO SEGMENTS - PAGE 0 AND 995 014120 3410 DCA I X1 /THE CODE FOLLOWING THE END OF THE COMMON AREA 996 014121 2013 ISZ X4 /(THIS IS TO ENABLE "CHAIN" TO WORK PROPERLY) 997 014122 1033 TAD COML 998 014123 7001 IAC 999 014124 3410 DCA I X1 1000 014125 1033 TAD COML 1001 014126 7040 CMA 1002 014127 1422 TAD I TM1 1003 014130 0364 AND (7600 1004 014131 5251 JMP BLDLPY 1005 014132 0000 CVTREC, 0 1006 014133 1026 TAD CUR 1007 014134 7106 CLL RTL 1008 014135 7006 RTL 1009 014136 7004 RAL 1010 014137 0354 AND (7 1011 014140 5732 JMP I CVTREC 1012 1013 014141 0000 STOINF, 0 1014 014142 3010 DCA X1 1015 014143 1352 TAD LSTFLD 1016 014144 3410 DCA I X1 1017 014145 1351 TAD LSTADR 1018 014146 3410 DCA I X1 1019 014147 3410 DCA I X1 1020 014150 5741 JMP I STOINF 1021 014151 0000 LSTADR, 0 1022 014152 0000 LSTFLD, 0 1023 014154 0007 PAGE 014155 0110 014156 7457 014157 7772 014160 7775 014161 7743 014162 7607 014163 0170 014164 7600 014165 7770 014166 6556 014167 1400 014170 7401 014171 7700 014172 6752 014173 0277 014174 6651 014175 7022 014176 4545 014177 7146 1024 1025 014200 1750 MAPIO, TAD I ML7600 1026 014201 7450 SNA 1027 014202 1352 TAD TTYNO /TELETYPE IS DEFAULT LISTING DEVICE 1028 014203 4777 JMS I (GETHND 1029 014204 1756 TAD I ML7604 /PICK UP EXTENSION WORD. 1030 014205 7450 SNA /NON-ZERO? 1031 014206 1376 TAD (1520 /NO-SUPPLY '.MP' EXTENSION. 1032 014207 3756 DCA I ML7604 /YES-LEAVE ALONE 1033 014210 1336 TAD ML7601 1034 014211 3216 DCA MNAME 1035 014212 1775 TAD I (EASGN 1036 014213 1374 TAD (100 /4 SHIFTED LEFT INTO THE "DESIRED LENGTH" POSITION 1037 014214 4773 JMS I (200 1038 014215 0003 3 1039 014216 0000 MNAME, 0 1040 014217 0000 MECNT, 0 1041 014220 5772 JMP I (OUERR 1042 014221 1216 TAD MNAME 1043 014222 3243 DCA ORECNO 1044 014223 4253 JMS OUSETP 1045 014224 3337 DCA MCCNT 1046 014225 1371 TAD (OCHAR 1047 014226 3034 DCA TYPE 1048 014227 1022 TAD TM1 1049 014230 7130 CLL CML RAR 1050 014231 5770 JMP I (MAPX 1051 014232 0000 OCHAR, 0 1052 014233 3320 DCA OUTEMP 1053 014234 2263 ISZ OJMP 1054 014235 2317 ISZ OCHCNT 1055 014236 5263 OJMPE, JMP OJMP 1056 014237 6202 CIF 0 1057 014240 4420 JMS I DEVHND 1058 014241 4210 4210 1059 014242 4600 OUBUF, 4600 1060 014243 0000 ORECNO, 0 1061 014244 5772 JMP I (OUERR 1062 014245 2243 ISZ ORECNO 1063 014246 2337 ISZ MCCNT 1064 014247 4253 JMS OUSETP 1065 014250 2217 ISZ MECNT 1066 014251 5234 JMP OCHAR+2 1067 014252 5772 JMP I (OUERR 1068 014253 0000 OUSETP, 0 1069 014254 1367 TAD (-601 1070 014255 3317 DCA OCHCNT 1071 014256 1242 TAD OUBUF 1072 014257 3322 DCA OUPTR 1073 014260 1236 TAD OJMPE 1074 014261 3263 DCA OJMP 1075 014262 5653 JMP I OUSETP 1076 1077 014263 7402 OJMP, HLT /THREE-WAY JUMP FOR CHAR OUTPUT 1078 014264 5313 JMP OCHAR1 1079 014265 5310 JMP OCHAR2 1080 014266 1236 OCHAR3, TAD OJMPE 1081 014267 3263 DCA OJMP 1082 014270 1320 TAD OUTEMP 1083 014271 7006 RTL 1084 014272 7006 RTL 1085 014273 3320 DCA OUTEMP 1086 014274 1320 TAD OUTEMP 1087 014275 0321 AND OU7400 1088 014276 1653 TAD I OUPOLD 1089 014277 3653 DCA I OUPOLD 1090 014300 1320 TAD OUTEMP 1091 014301 7006 RTL 1092 014302 7006 RTL 1093 014303 0321 AND OU7400 1094 014304 1722 TAD I OUPTR 1095 014305 3722 DCA I OUPTR 1096 014306 2322 ISZ OUPTR 1097 014307 5316 JMP OUCOM 1098 014310 1322 OCHAR2, TAD OUPTR 1099 014311 3253 DCA OUPOLD 1100 014312 2322 ISZ OUPTR 1101 014313 1320 OCHAR1, TAD OUTEMP 1102 014314 0323 AND OU377 1103 014315 3722 DCA I OUPTR 1104 014316 5632 OUCOM, JMP I OCHAR 1105 014317 0000 OCHCNT, 0 1106 OUPOLD=OUSETP 1107 014320 0000 OUTEMP, 0 1108 014321 7400 OU7400, 7400 1109 014322 0000 OUPTR, 0 1110 014323 0377 OU377, 377 1111 /CLOSE OUTPUT FILE 1112 1113 014324 1366 OCLOS, TAD (232 1114 014325 4232 JMS OCHAR 1115 014326 1317 TAD OCHCNT 1116 014327 7040 CMA 1117 014330 7640 SZA CLA 1118 014331 5325 JMP .-4 1119 014332 4232 JMS OCHAR 1120 014333 1775 TAD I (EASGN 1121 014334 4773 JMS I (200 1122 014335 0004 4 1123 014336 7601 ML7601, 7601 1124 014337 0000 MCCNT, 0 1125 014340 5772 JMP I (OUERR 1126 014341 1365 TAD (TTYOUT 1127 014342 3034 DCA TYPE 1128 014343 5764 JMP I (MAPRTN 1129 1130 014344 0000 TTYOUT, 0 1131 014345 6046 6046 1132 014346 6041 6041 1133 014347 5346 JMP .-1 1134 014350 7600 ML7600, 7600 1135 014351 5744 JMP I TTYOUT 1136 014352 0000 TTYNO, 0 /SET TO TTY DEVICE NUMBER BY INITIALIZATION 1137 014353 0000 IONULL, 0 1138 014354 1350 TAD ML7600 1139 014355 3763 DCA I (HLASZA 1140 014356 7604 ML7604, 7604 /POINTER TO FILE EXT. WORD 1141 014357 5753 JMP I IONULL 1142 014363 6562 PAGE 014364 3704 014365 4344 014366 0232 014367 7177 014370 7234 014371 4232 014372 6653 014373 0200 014374 0100 014375 4541 014376 1520 014377 3725 1143 014400 0000 LOAD, 0 1144 014401 3342 DCA LREQUR 1145 014402 1021 TAD BANK 1146 014403 1377 TAD (HLAZ 1147 014404 3030 DCA HLAPTR 1148 014405 4776 JMS I (SETRCN /SET UP HLA AND RCON 1149 014406 1032 TAD RCON 1150 014407 7120 CLL CML 1151 014410 1342 TAD LREQUR 1152 014411 1375 TAD (400 1153 014412 7660 SNL SZA CLA 1154 014413 5337 JMP LFAILD 1155 014414 1024 TAD RECNO 1156 014415 3243 DCA LRECNO 1157 014416 7240 CLA CMA 1158 014417 3307 DCA INCHCT 1159 014420 4224 JMS ICHAR 1160 014421 7650 SNA CLA 1161 014422 5220 JMP .-2 1162 014423 5774 JMP I (MORE 1163 1164 014424 0000 ICHAR, 0 1165 014425 1314 TAD XX7600 /PARITY TTY HACK 1166 014426 6034 KRS 1167 014427 1373 TAD (-7603 1168 014430 7650 SNA CLA 1169 014431 6031 KSF 1170 014432 7410 SKP 1171 014433 5772 JMP I (MGET /17667=07605 1172 014434 2256 ISZ IJMP 1173 014435 2307 ISZ INCHCT 1174 014436 5256 IJMPE, JMP IJMP 1175 014437 6202 CIF 0 1176 014440 4420 JMS I DEVHND 1177 014441 0410 INCTLW, 0410 1178 014442 4600 INBUF, 4600 1179 014443 0000 LRECNO, 0 1180 014444 5303 JMP INCKEF 1181 014445 2243 INISZ, ISZ LRECNO 1182 014446 2243 ISZ LRECNO 1183 014447 1313 TAD IN6377 1184 014450 3307 DCA INCHCT 1185 014451 1242 TAD INBUF 1186 014452 3306 DCA INPTR 1187 014453 1236 TAD IJMPE 1188 014454 3256 DCA IJMP 1189 014455 5225 JMP ICHAR+1 1190 014456 7402 IJMP, HLT /THREE-WAY JUMP FOR CHAR INPUT 1191 014457 5300 JMP ICHAR1 1192 014460 5274 JMP ICHAR2 1193 014461 1236 ICHAR3, TAD IJMPE 1194 014462 3256 DCA IJMP 1195 014463 1706 TAD I INPTR 1196 014464 2306 ISZ INPTR 1197 014465 0311 AND IN7400 1198 014466 7112 CLL RTR 1199 014467 7012 RTR 1200 014470 1310 TAD INTEMP 1201 014471 7012 RTR 1202 014472 7012 RTR 1203 014473 5301 JMP INCOM 1204 014474 1706 ICHAR2, TAD I INPTR 1205 014475 2306 ISZ INPTR 1206 014476 0311 AND IN7400 1207 014477 3310 DCA INTEMP 1208 014500 1706 ICHAR1, TAD I INPTR 1209 014501 0312 INCOM, AND IN377 1210 014502 5624 JMP I ICHAR 1211 014503 7700 INCKEF, SMA CLA 1212 014504 5245 JMP LRECNO+2 1213 014505 5771 JMP I (INERR 1214 014506 0000 INPTR, 0 1215 014507 0000 INCHCT, 0 1216 014510 0000 INTEMP, 0 1217 014511 7400 IN7400, 7400 1218 014512 0377 IN377, 377 1219 014513 6377 IN6377, 6377 1220 XX7600, 1221 014514 7600 XER2, 7600 1222 014515 1341 TAD EASGN 1223 014516 1370 TAD (DCB-1 1224 014517 3023 DCA TM2 1225 014520 1423 TAD I TM2 1226 014521 7710 SPA CLA 1227 014522 5332 JMP DIRDEV 1228 014523 1367 TAD (2205 1229 014524 4766 JMS I (TTWO 1230 014525 1365 TAD (1417 1231 014526 4766 JMS I (TTWO 1232 014527 1364 TAD (0104 1233 014530 4766 JMS I (TTWO 1234 014531 4763 JMS I (CRLF 1235 014532 1430 DIRDEV, TAD I HLAPTR 1236 014533 2021 ISZ BANK 1237 014534 7040 CMA 1238 014535 0314 AND XX7600 1239 014536 5201 JMP LOAD+1 1240 014537 2021 LFAILD, ISZ BANK 1241 014540 5202 JMP LOAD+2 1242 014541 0000 EASGN, 0 1243 014542 0000 LREQUR, 0 1244 014543 4762 LOADOK, JMS I (WRPGBF 1245 014544 5600 JMP I LOAD 1246 1247 014545 0000 SETS1, 0 1248 014546 1361 TAD (S1-1 1249 014547 3011 DCA X2 1250 014550 1410 TAD I X1 1251 014551 3411 DCA I X2 1252 014552 1410 TAD I X1 1253 014553 3411 DCA I X2 1254 014554 1410 TAD I X1 1255 014555 3411 DCA I X2 1256 014556 5745 JMP I SETS1 1257 014561 7156 PAGE 014562 7423 014563 6677 014564 0104 014565 1417 014566 6705 014567 2205 014570 7757 014571 6652 014572 7667 014573 0175 014574 6224 014575 0400 014576 7140 014577 6547 1258 / 4600-5177 USED FOR LOADER MAP OUTPUT BUFFER 1259 / 5200-5577 USED FOR LIBRARY DIRECTORY BUFFER 1260 1261 *5600 1262 1263 /** CAN ONLY USE FIRST HALF OF THIS PAGE - 2ND HALF IS PART OF MST 1264 /** NO LITERALS IN THIS PAGE! 1265 1266 015600 1024 LBRY, TAD RECNO 1267 015601 4204 JMS LBSRCH 1268 015602 5603 JMP I .+1 1269 015603 3626 GETCD 1270 1271 015604 0000 LBSRCH, 0 /LIBRARY SEARCH ROUTINE 1272 015605 3212 DCA LBREC /SAVE START BLK OF LIBRARY 1273 015606 6202 CIF 0 1274 015607 4420 JMS I DEVHND /READ LIBRARY DIRECTORY 1275 015610 0210 LBCTLW, 0210 1276 015611 5200 L5200, 5200 1277 015612 0000 LBREC, 0 1278 015613 5661 JMP I LIOERR 1279 015614 1210 TAD LBCTLW 1280 015615 3662 DCA I LINCTL 1281 015616 1263 TAD L7177 1282 015617 3664 DCA I LIN6377 1283 015620 3674 DCA I LINISZ 1284 015621 1265 TAD L5177 1285 015622 3010 DCA X1 /INITIALIZE FOR SEARCH 1286 015623 4666 LBRYLP, JMS I LSETS1 /GET NEXT DIRECTORY ENTRY 1287 015624 1410 TAD I X1 1288 015625 7450 SNA 1289 015626 5604 JMP I LBSRCH /END OF DIRECTORY 1290 015627 1211 TAD L5200 1291 015630 3260 DCA LBFPTR 1292 015631 4667 JMS I LSEARCH /IS IT IN SYMTAB? 1293 015632 5223 JMP LBRYLP /NO 1294 015633 1673 TAD I LSYMNUM 1295 015634 1275 TAD LTVEC1 1296 015635 3022 DCA TM1 1297 015636 6201 CDF 0 1298 015637 1422 TAD I TM1 1299 015640 6211 CDF 10 1300 015641 7640 SZA CLA /IS SYMBOL ALREADY DEFINED? 1301 015642 5223 JMP LBRYLP /YES 1302 015643 1660 LBLDLP, TAD I LBFPTR /GET MODULE TO LOAD 1303 015644 7450 SNA 1304 015645 5221 JMP LBRYLP-2 /NO MORE MODULES TO LOAD 1305 015646 0270 AND L177 1306 015647 7001 IAC 1307 015650 1212 TAD LBREC 1308 015651 3024 DCA RECNO 1309 015652 3021 DCA BANK 1310 015653 1660 TAD I LBFPTR 1311 015654 0271 AND L7600 1312 015655 4672 JMS I LLOAD /LOAD LIBRARY MODULE 1313 015656 2260 ISZ LBFPTR 1314 015657 5243 JMP LBLDLP /GET NEXT MODULE 1315 1316 015660 0000 LBFPTR, 0 1317 015661 6652 LIOERR, INERR 1318 015662 4441 LINCTL, INCTLW 1319 015663 7177 L7177, 7177 1320 015664 4513 LIN6377, IN6377 1321 015665 5177 L5177, 5177 1322 015666 4545 LSETS1, SETS1 1323 015667 7022 LSEARCH, SEARCH 1324 015670 0177 L177, 177 1325 015671 7600 L7600, 7600 1326 015672 4400 LLOAD, LOAD 1327 015673 6752 LSYMNUM, SYMNUM 1328 015674 4445 LINISZ, INISZ 1329 015675 0277 LTVEC1, TVEC-1 1330 IFZERO .-5700&4000 1331 /MAIN LOADING CODE 1332 /MODIFIED VERSION OF 1333 /PAPER-TAPE LINKING LOADER 1334 1335 /DEFINITIONS 1336 1337 BCRT= 200 1338 TVEC= 300 1339 ORGT= 100 /LOCAL SYMBOL TABLE NOW IN FIELD 0 1340 MST= 6177 /MAIN SYMBOL TABLE 1341 1342 *6200 1343 1344 /START OF PROGRAM - INITIALIZATION 1345 1346 016200 0000 START, 0 1347 016201 1337 TAD K7600 /SET COUNTER FOR 200 1348 016202 3036 DCA NSUB 1349 016203 1343 TAD BCRTA /POINTER TO BANK TABLE 1350 016204 3012 DCA X3 1351 016205 6201 CDF 00 1352 016206 3412 DCA I X3 /CLEAR BANK TABLE & TV TABLE 1353 016207 2036 ISZ NSUB 1354 016210 5206 JMP .-2 /NOT DONE 1355 016211 6211 CDF 10 1356 016212 1340 TAD M10 1357 016213 3036 DCA NSUB 1358 016214 1344 TAD HLAZA 1359 016215 3012 DCA X3 1360 016216 1335 TAD K777 1361 016217 3412 DCA I X3 /BANK0 HIGHEST LOADED ADDR. =777 1362 016220 2036 ISZ NSUB /NSUB INCREMENTS TO ZERO 1363 016221 5217 JMP .-2 1364 016222 3033 DCA COML /INIT. OLD COMMON AT 0000 1365 016223 5600 JMP I START 1366 /REENTRY FOR NEXT ROUTINE TO BE LOADED 1367 1368 016224 3332 MORE, DCA LMTC /CLR LOCAL SYMBOL COUNT 1369 016225 3035 DCA CSUM /CLR CHECKSUM 1370 016226 1346 TAD MORE1A /SET FOR RETURN TO MORE1 IF LEADER 1371 016227 3331 DCA EOF 1372 016230 4275 MORE1, JMS RWORD 1373 016231 1363 TAD RC10A /RESET EOF TO WATCH FOR TRAILER 1374 016232 3331 DCA EOF 1375 016233 1274 TAD CODE /CK FOR HIGH COMMON 1376 016234 1341 TAD M12 1377 016235 7640 SZA CLA 1378 016236 5766 JMP I ER5P /NOT THERE 1379 016237 1033 TAD COML 1380 016240 7041 CIA 1381 016241 7120 CLL CML /IF NO COMMON EXISTS, OR 1382 016242 1027 TAD WORD /IF NEW COMMON .LE. OLD IT'S 1383 016243 7660 SNL SZA CLA /OK, ELSE ERROR 1384 016244 5765 JMP I ER3P 1385 016245 1033 TAD COML 1386 016246 7650 SNA CLA 1387 016247 1027 TAD WORD /IF NO PREVIOUS COMMON AND IF 1388 016250 0337 AND K7600 /THIS PROGRAM HAS COMMON ABOVE 177 1389 016251 7450 SNA /THEN SET COMMON LIMIT TO LIMIT OF THIS PROG 1390 016252 5264 JMP GETSW 1391 016253 0336 AND K7400 1392 016254 1334 TAD K377 /HIGH COMMON MUST BE AT A MULTIPLE OF 400 1393 016255 3033 DCA COML 1394 016256 1751 TAD I HLA1P /IF WE HAVE LOADED 1395 016257 7640 SZA CLA /ANY CODE INTO FIELD 1 1396 016260 5765 JMP I ER3P /IT'S AN ERROR 1397 016261 1033 TAD COML /SET BANK1 HIGHEST LOADED ADDRESS 1398 016262 3751 DCA I HLA1P 1399 016263 4777 JMS I (SETRCN /SET UP HLA AND RCON AGAIN JUST IN CASE 1400 016264 1021 GETSW, TAD BANK /BANK NUMBER 1401 016265 1350 TAD TOPCOR /OK FOR NON-EX. MEM. 1402 016266 7700 SMA CLA 1403 016267 5752 JMP I ER2I /TOO BIG 1404 / 1405 /MAIN LOADING LOOP 1406 / 1407 016270 4275 LOOP, JMS RWORD 1408 016271 1342 TAD BASE /LOCATE CORRECT FUNCTION 1409 016272 1274 TAD CODE /IN TRANSFER TABLE 1410 016273 3274 DCA CODE 1411 016274 0000 CODE, 0 /TRANSFER TO APPROPRIATE ADDRESS 1412 /READ 12-BIT COMPUTER WORD & 4-BIT RELOCATION CODE 1413 /FROM 2 INPUT CHARACTERS 1414 1415 016275 0000 RWORD, 0 1416 016276 4745 JMS I HSRPA /FIRST FRAME 1417 016277 3027 DCA WORD 1418 016300 1027 TAD WORD /EXTRACT RELOC. CODE 1419 016301 7012 RTR 1420 016302 7012 RTR 1421 016303 0333 AND K17 1422 016304 3274 DCA CODE 1423 016305 1274 TAD CODE /CK FOR LEADER 1424 016306 1340 TAD M10 1425 016307 7650 SNA CLA 1426 016310 5731 JMP I EOF /YES 1427 016311 1027 TAD WORD /ADD TO CHECKSUM 1428 016312 1035 TAD CSUM 1429 016313 3035 DCA CSUM 1430 016314 4321 JMS FORMWD 1431 016315 4747 JMS I RCHARP 1432 016316 1027 TAD WORD 1433 016317 3027 DCA WORD 1434 016320 5675 JMP I RWORD 1435 1436 016321 0000 FORMWD, 0 1437 016322 1027 TAD WORD 1438 016323 7012 RTR 1439 016324 7012 RTR 1440 016325 7010 RAR 1441 016326 0336 AND K7400 /ISOLATE HI 4 BITS 1442 016327 3027 DCA WORD /FROM 1ST CHAR 1443 016330 5721 JMP I FORMWD 1444 1445 /DATA 1446 1447 016331 0000 EOF, 0 1448 016332 0000 LMTC, 0 1449 016333 0017 K17, 17 1450 016334 0377 K377, 377 1451 016335 0777 K777, 777 1452 016336 7400 K7400, 7400 1453 016337 7600 K7600, 7600 1454 016340 7770 M10, -10 1455 016341 7766 M12, -12 1456 016342 5753 BASE, JMP I TRTAB 1457 016343 0177 BCRTA, BCRT-1 1458 016344 6546 HLAZA, HLAZ-1 1459 016345 4424 HSRPA, ICHAR 1460 016346 6230 MORE1A, MORE1 1461 016347 7130 RCHARP, RCHAR 1462 016350 0000 TOPCOR, 0 1463 016351 6550 HLA1P, HLA1 1464 016352 6657 ER2I, ER2 1465 /RELOCATION CODE TRANSFER TABLE 1466 1467 016353 6440 TRTAB, RC0 /LOAD AS IS 1468 016354 6435 RC1 /ADD RELOCATION CONSTANT 1469 016355 6654 ER5 1470 016356 6600 RC3 /DEFINE SYMBOL 1471 016357 6400 RC4 /ORIGIN 1472 016360 6407 RC5 /CDF TO CURRENT BANK 1473 016361 6414 RC6 /REPLACE LOCAL # WITH GLOBAL # 1474 016362 6654 ER5 1475 016363 7200 RC10A, RC10 /LEADER-TRAILER 1476 016364 6654 ER5 1477 016365 6656 ER3P, ER3 /HIGH COMMON 1478 016366 6654 ER5P, ER5 1479 016367 6654 ER5 1480 016370 6654 ER5 1481 016371 6654 ER5 1482 016372 6625 RC17 /EXTERNAL SYMBOL SPECIFICATION 1483 016377 7140 PAGE 1484 /NEW ORIGIN 1485 1486 016400 1027 RC4, TAD WORD /NEW ORIGIN 1487 016401 7100 CLL 1488 016402 1032 TAD RCON /+ RELOCATION CONSTANT 1489 016403 3026 DCA CUR /= NEW LOADING ADDRESS 1490 016404 7430 SZL 1491 016405 5746 JMP I OVERFP /FIELD OVERFLOW 1492 016406 5744 JMP I LOOPP1 1493 / 1494 /CHANGE CDF TO CURRENT BANK 1495 / 1496 016407 1021 RC5, TAD BANK /MOVE BANK TO BITS 6-8 1497 016410 7106 CLL RTL 1498 016411 7004 RAL 1499 016412 1027 TAD WORD /PICK UP CDF 1500 016413 5237 JMP RC1+2 1501 / 1502 /REPLACE LOCAL EXTERNAL SYMBOL NUMBER WITH GLOBAL EXT. SYM. NO. 1503 / 1504 016414 1027 RC6, TAD WORD 1505 016415 0340 AND K77 /EXTRACT LOCAL NUMBER 1506 016416 3357 DCA B1 1507 016417 1357 TAD B1 /CK IF LOCAL # .LE. LOCAL SYM. COUNT 1508 016420 7041 CIA 1509 016421 1743 TAD I LMTCP1 1510 016422 7710 SPA CLA 1511 016423 5742 JMP I ER5I /NO 1512 016424 1357 TAD B1 /ADD LOCAL # TO BASE OF TABLE 1513 016425 1345 TAD ORGTA 1514 016426 3357 DCA B1 1515 016427 1027 TAD WORD /LOAD ARG COUNT 1516 016430 0265 AND K7700 1517 016431 6201 KCDF, CDF 0 1518 016432 1757 TAD I B1 /+ GLOBAL # 1519 016433 6211 CDF 10 1520 016434 5237 JMP RC1+2 /AT CURRENT LOADING ADDRESS 1521 /ADD RELOCATION CONSTANT TO WORD 1522 1523 016435 1027 RC1, TAD WORD 1524 016436 1032 TAD RCON 1525 016437 3027 DCA WORD 1526 / 1527 /LOAD WORD DIRECTLY AS IT IS 1528 / 1529 016440 1031 RC0, TAD HLA /CK FOR CURRENT ADDRESS TO LOAD 1530 016441 7141 CIA CLL /.GE. HIGHEST ALREADY LOADED 1531 016442 1026 TAD CUR 1532 016443 7620 SNL CLA 1533 016444 5247 JMP .+3 /NO 1534 016445 1026 TAD CUR /YES, RESET HIGHEST 1535 016446 3031 DCA HLA 1536 016447 7100 CLL 1537 016450 1026 TAD CUR /CK FOR ATTEMPT TO LOAD TOP PAGE 1538 016451 1341 TAD K200 1539 016452 7630 SZL CLA 1540 016453 5746 JMP I OVERFP /YES, ROUTINE IS TOO BIG 1541 016454 7240 CLA CMA 1542 016455 1021 TAD BANK 1543 016456 7640 SZA CLA 1544 016457 5322 JMP JUSTLD 1545 016460 7332 CLL CML CLA RTR 1546 016461 1026 TAD CUR 1547 016462 7730 SZL SPA CLA 1548 016463 5272 JMP GT2000 1549 016464 1025 TAD OVLYFG 1550 016465 7700 K7700, SMA CLA 1551 016466 5317 JMP OFFSET 1552 016467 4777 JMS I (CVTREC 1553 016470 1376 TAD (-11 1554 016471 5305 JMP PAGEX2 1555 016472 1026 GT2000, TAD CUR 1556 016473 7100 CLL 1557 016474 1375 TAD (-3600 1558 016475 7630 SZL CLA 1559 016476 5303 JMP PAGEX1 1560 016477 4774 JMS I (WROVLY 1561 016500 7240 CLA CMA 1562 016501 3025 DCA OVLYFG 1563 016502 5322 JMP JUSTLD 1564 016503 1341 PAGEX1, TAD K200 1565 016504 4777 JMS I (CVTREC 1566 016505 1373 PAGEX2, TAD (MTEMP+11 1567 016506 4772 JMS I (WRPGBF 1568 016507 7332 CLA CLL CML RTR 1569 016510 1026 TAD CUR 1570 016511 7730 SZL SPA CLA 1571 016512 1341 TAD K200 1572 016513 1026 TAD CUR 1573 016514 0371 AND (377 1574 016515 1370 TAD (1400 1575 016516 5323 JMP JUSTLD+1 1576 016517 7201 OFFSET, CLA IAC 1577 016520 3025 DCA OVLYFG 1578 016521 1367 TAD (1600 1579 016522 1026 JUSTLD, TAD CUR 1580 016523 3337 DCA CURX 1581 016524 1021 TAD BANK 1582 016525 7106 CLL RTL 1583 016526 7004 RAL 1584 016527 1231 TAD KCDF 1585 016530 3332 DCA .+2 1586 016531 1027 TAD WORD 1587 016532 7402 HLT 1588 016533 3737 DCA I CURX 1589 016534 6211 CDF 10 1590 016535 2026 ISZ CUR 1591 016536 5744 JMP I LOOPP1 1592 016537 0000 CURX, 0 1593 / 1594 /DATA 1595 / 1596 016540 0077 K77, 77 1597 016541 0200 K200, 200 1598 016542 6654 ER5I, ER5 1599 016543 6332 LMTCP1, LMTC 1600 016544 6270 LOOPP1, LOOP 1601 016545 0100 ORGTA, ORGT 1602 016546 7101 OVERFP, OVERFL 1603 016547 0000 HLAZ, 0 /HLA GROUP MUST REMAIN IN GIVEN ORDER 1604 016550 0000 HLA1, 0 1605 016551 0000 HLA2, 0 1606 016552 0000 HLA3, 0 1607 016553 0000 HLA4, 0 1608 016554 0000 HLA5, 0 1609 016555 0000 HLA6, 0 1610 016556 0000 HLA7, 0 1611 B1, 1612 1613 016557 0000 HLATST, 0 1614 016560 1347 TAD HLAZ 1615 016561 1365 TAD HLAIO 1616 016562 7640 HLASZA, SZA CLA /SET TO CLA BY /R AND RESTART 1617 016563 5766 JMP I (UIOERR 1618 016564 5757 JMP I HLATST 1619 016565 7001 HLAIO, -777 1620 016566 6661 PAGE 016567 1600 016570 1400 016571 0377 016572 7423 016573 0040 016574 7401 016575 4200 016576 7767 016577 4132 1621 /SYMBOL DEFINITION 1622 1623 016600 4767 RC3, JMS I GTSYMP 1624 016601 1373 TAD TVM1 /ADJUSTED BASE OF TRANSFER VECTOR TABLE 1625 016602 1352 TAD SYMNUM /+ NUM. OF SYMBOL IN MST 1626 016603 3350 DCA C1 1627 016604 1032 TAD RCON /LOADING ADDRESS OF THE SYMBOL 1628 016605 1027 TAD WORD 1629 016606 6201 CDF 00 1630 016607 3750 DCA I C1 /TO THE TRANS. VEC. TABLE 1631 016610 1350 TAD C1 /GET POINTER INTO TRANSFER VECTOR TABLE 1632 016611 1366 TAD M100A /FORM CORRESPONDING POINTER INTO BANK TABLE 1633 016612 3350 DCA C1 /=PTR. TO BANK TABLE STORAGE 1634 016613 1021 TAD BANK /GET BANK IN BITS 6-8 1635 016614 7106 CLL RTL 1636 016615 7004 RAL 1637 016616 3750 DCA I C1 /STORE IN BANK TABLE 1638 016617 6211 CDF 10 1639 016620 1036 RC3A, TAD NSUB /CHECK FOR TOO MANY SYMBOLS 1640 016621 1366 TAD M100A 1641 016622 7750 SPA SNA CLA 1642 016623 5771 JMP I LOOPP2 /NO 1643 016624 5260 JMP ER1 1644 / 1645 /TRANSFER VECTOR 1646 / 1647 016625 1027 RC17, TAD WORD /COUNTER OF SYMBOLS TO COME 1648 016626 7041 CIA 1649 016627 3351 DCA C2 1650 016630 4767 RC17A, JMS I GTSYMP 1651 016631 2770 ISZ I LMTCP2 /INC. LOCAL SYM. CTR. 1652 016632 1372 TAD ORGTA2 /GET PTR TO STORAGE IN ORIG. TABLE 1653 016633 1770 TAD I LMTCP2 1654 016634 3350 DCA C1 1655 016635 7040 CMA /SYM. # -1 TO ORIG. TABLE 1656 016636 1352 TAD SYMNUM 1657 016637 6201 CDF 0 1658 016640 3750 DCA I C1 1659 016641 6211 CDF 10 1660 016642 2351 ISZ C2 /CK CTR. 1661 016643 5230 JMP RC17A /NOT DONE 1662 016644 5220 JMP RC3A 1663 /ERRORS 1664 1665 SIOERR, 1666 016645 7600 H7600, 7600 1667 016646 3274 DCA ERBACK 1668 016647 7001 IAC 1669 016650 7001 HNDERR, IAC 1670 016651 7001 ERSTAD, IAC 1671 016652 7001 INERR, IAC 1672 016653 7001 OUERR, IAC 1673 016654 7001 ER5, IAC /ILLEGAL INPUT FORMAT 1674 016655 7001 ER4, IAC /CHECKSUM ERROR 1675 016656 7001 ER3, IAC /HIGHEST COMMON NOT FIRST 1676 016657 7001 ER2, IAC /PROGRAM TOO LARGE 1677 016660 7001 ER1, IAC /SYMBOL TABLE OVERFLOW 1678 016661 3352 UIOERR, DCA C3 1679 016662 4277 JMS CRLF 1680 016663 1361 TAD K0522 /"ER" 1681 016664 4305 JMS TTWO 1682 016665 1362 TAD K2217 /"RO" 1683 016666 4305 JMS TTWO 1684 016667 1363 TAD K2240 /"R " 1685 016670 4305 JMS TTWO 1686 016671 1352 TAD C3 /# 1687 016672 4330 JMS TOCT 1688 016673 4777 JMS I (WRPGBF 1689 016674 5776 ERBACK, JMP I (CDCALL 1690 016675 6203 CDF CIF 0 1691 016676 5645 JMP I H7600 /RETURN TO MONITOR 1692 / 1693 /TYPE A CARRIAGE RETURN & LINE FEED 1694 / 1695 016677 0000 CRLF, 0 1696 016700 1357 TAD K215 1697 016701 4434 JMS I TYPE 1698 016702 1356 TAD K212 1699 016703 4434 JMS I TYPE 1700 016704 5677 JMP I CRLF 1701 / 1702 /UNPACK & TYPE 2 6-BIT CHARACTERS 1703 / 1704 016705 0000 TTWO, 0 1705 016706 3350 DCA C1 1706 016707 7040 CMA /SET FLAG FOR 1ST CHARACTER 1707 016710 3351 DCA C2 1708 016711 1350 TAD C1 /MOVE LEFT HALF DOWN 1709 016712 7012 RTR 1710 016713 7012 RTR 1711 016714 7012 RTR 1712 016715 7410 SKP 1713 016716 1350 TTWO1, TAD C1 /GET RIGHT HALF 1714 016717 0354 AND C77 1715 016720 1365 TAD M40 /200 OR 300 GROUP? 1716 016721 7510 SPA 1717 016722 1355 TAD K100 /300 + 6BIT 1718 016723 1363 TAD K2240 /200 + 6BIT 1719 016724 4434 JMS I TYPE 1720 016725 2351 ISZ C2 /2ND CHARACTER DONE? 1721 016726 5705 JMP I TTWO 1722 016727 5316 JMP TTWO1 /NO 1723 / 1724 /TYPE OCTAL CONTENTS OF AC 1725 / 1726 016730 0000 TOCT, 0 1727 016731 3350 DCA C1 1728 016732 1364 TAD M4B 1729 016733 3351 DCA C2 1730 016734 1350 TOCT1, TAD C1 /MOVE NEXT DIGIT INTO BITS 9-11 1731 016735 7006 RTL 1732 016736 7004 RAL 1733 016737 3350 DCA C1 1734 016740 1350 TAD C1 /GET DIGIT 1735 016741 7004 RAL 1736 016742 0353 AND KK7 1737 016743 1360 TAD C260 /CONVERT TO ASCII 1738 016744 4434 JMS I TYPE 1739 016745 2351 ISZ C2 1740 016746 5334 JMP TOCT1 /MORE TO GO 1741 016747 5730 JMP I TOCT 1742 / 1743 /DATA 1744 / 1745 016750 0000 C1, 0 1746 016751 0000 C2, 0 1747 C3, 1748 016752 0000 SYMNUM, 0 1749 016753 0007 KK7, 7 1750 016754 0077 C77, 77 1751 016755 0100 K100, 100 1752 016756 0212 K212, 212 1753 016757 0215 K215, 215 1754 016760 0260 C260, 260 1755 016761 0522 K0522, 0522 1756 016762 2217 K2217, 2217 1757 016763 2240 K2240, 2240 1758 016764 7774 M4B, -4 1759 016765 7740 M40, -40 1760 016766 7700 M100A, -100 1761 016767 7123 GTSYMP, GETSYM 1762 016770 6332 LMTCP2, LMTC 1763 016771 6270 LOOPP2, LOOP 1764 016772 0100 ORGTA2, ORGT 1765 016773 0277 TVM1, TVEC-1 1766 016776 3651 PAGE 016777 7423 1767 /STORE OR LOOK UP SYMBOL IN SYMBOL TABLE 1768 1769 017000 0000 DEFN, 0 1770 1771 /READ A SYMBOL FROM INPUT ASCII - 6 FRAMES 1772 1773 017001 7346 CLA CLL CMA RTL 1774 017002 3352 DCA D1 1775 017003 1370 TAD S1A /POINTER TO 3 WORD BUFFER 1776 017004 3012 DCA X3 1777 017005 4330 RSYM1, JMS RCHAR 1778 017006 0362 AND K0077 /EXTRACT 6-BIT 1779 017007 7106 CLL RTL 1780 017010 7006 RTL 1781 017011 7006 RTL 1782 017012 3354 DCA D3 /SAVE LEFT HALF 1783 017013 4330 JMS RCHAR 1784 017014 0362 AND K0077 /GET RIGHT HALF 1785 017015 1354 TAD D3 1786 017016 3412 DCA I X3 1787 017017 2352 ISZ D1 1788 017020 5205 JMP RSYM1 /NOT DONE 1789 017021 5600 JMP I DEFN 1790 / 1791 /SEARCH SYMBOL TABLE FOR CURRENT SYMBOL (IN S1-S3) 1792 / 1793 017022 0000 SEARCH, 0 1794 017023 3771 DCA I SYMNMP /CLR SYMBOL COUNTER 1795 017024 1367 TAD MSTA /SET SYMBOL TABLE PTR 1796 017025 3355 DCA D4 1797 017026 1036 TAD NSUB /SET CTR FOR NUMBER OF SYMBOLS 1798 017027 7040 CMA /+1 (IN CASE NSUB=0) 1799 017030 3356 DCA D5 1800 017031 5255 JMP SRCH2 1801 017032 2771 SRCH1, ISZ I SYMNMP /KEEP COUNT 1802 017033 1355 TAD D4 /TEST TABLE ENTRY 1803 017034 3013 DCA X4 /SYM. TAB. PTR 1804 017035 7346 CLA CLL CMA RTL 1805 017036 3353 DCA D2 /COUNTER 1806 017037 1370 TAD S1A 1807 017040 3012 DCA X3 /PTR TO S1/S3 1808 017041 1413 COMP1, TAD I X4 /COMPARE WORDS 1809 017042 7041 CIA 1810 017043 1412 TAD I X3 1811 017044 7640 SZA CLA 1812 017045 5252 JMP NOMACH /NOT ALIKE 1813 017046 2353 ISZ D2 1814 017047 5241 JMP COMP1 /TRY NEXT WORD OF TRIPLET 1815 017050 2222 ISZ SEARCH 1816 017051 5622 JMP I SEARCH 1817 017052 7346 NOMACH, CLA CLL CMA RTL 1818 017053 1355 TAD D4 1819 017054 3355 DCA D4 1820 017055 2356 SRCH2, ISZ D5 1821 017056 5232 JMP SRCH1 /NOT DONE 1822 017057 5622 JMP I SEARCH 1823 / 1824 /ENTER A SYMBOL IN THE SYMBOL TABLE 1825 / 1826 017060 0000 INSERT, 0 1827 017061 1036 TAD NSUB /(NUMBER OF SYMBOLS)*3 1828 017062 7104 CLL RAL 1829 017063 1036 TAD NSUB 1830 017064 7041 CIA /SUBTRACT FROM BASE OF TABLE 1831 017065 1367 TAD MSTA 1832 017066 3012 DCA X3 /FOR POINTER 1833 017067 1357 TAD S1 /1ST WORD 1834 017070 3412 DCA I X3 1835 017071 1360 TAD S2 /2ND 1836 017072 3412 DCA I X3 1837 017073 1361 TAD S3 /3RD 1838 017074 3412 DCA I X3 1839 017075 2036 ISZ NSUB /COMPUTE SYM. TAB. NUMBER 1840 017076 1036 TAD NSUB 1841 017077 3771 DCA I SYMNMP 1842 017100 5660 JMP I INSERT 1843 / 1844 /CORE OVERFLOW 1845 / 1846 017101 1364 OVERFL, TAD BCRTA3 1847 017102 3352 DCA D1 1848 017103 1372 TAD TVECA3 1849 017104 3353 DCA D2 1850 017105 1363 TAD M100 1851 017106 3354 DCA D3 1852 017107 6201 CDF 00 1853 017110 1752 OVERF2, TAD I D1 /CK FOR CDF IN BCRT 1854 017111 7710 SPA CLA 1855 017112 5315 JMP .+3 /YES 1856 017113 3752 DCA I D1 /NO, CLEAR IT 1857 017114 3753 DCA I D2 /CLEAR TV WORD 1858 017115 2352 ISZ D1 1859 017116 2353 ISZ D2 1860 017117 2354 ISZ D3 1861 017120 5310 JMP OVERF2 /MORE TO GO 1862 017121 6211 CDF 10 1863 017122 5765 JMP I ER2P 1864 1865 017123 0000 GETSYM, 0 /GET SYMBOL AND SEARCH TABLE 1866 017124 4200 JMS DEFN 1867 017125 4222 JMS SEARCH 1868 017126 4260 JMS INSERT 1869 017127 5723 JMP I GETSYM 1870 /READ 1 FRAME & ADD TO CHECKSUM 1871 1872 017130 0000 RCHAR, 0 1873 017131 4766 JMS I HSRPB 1874 017132 3355 DCA D4 1875 017133 1355 TAD D4 1876 017134 1035 TAD CSUM 1877 017135 3035 DCA CSUM 1878 017136 1355 TAD D4 1879 017137 5730 JMP I RCHAR 1880 1881 017140 0000 SETRCN, 0 /SUBR TO SET HIGHEST-LOADED ADDRESS (HLA) 1882 017141 1430 TAD I HLAPTR /AND RELOCATION CONSTANT (RCON) 1883 017142 3031 DCA HLA 1884 017143 1031 TAD HLA 1885 017144 0377 AND (7600 1886 017145 3032 DCA RCON 1887 017146 5740 JMP I SETRCN 1888 1889 017147 1501 MAIN, 1501;1116;4040 /"MAIN" 017150 1116 017151 4040 1890 1891 / 1892 /DATA 1893 / 1894 017152 0000 D1, 0 1895 017153 0000 D2, 0 1896 017154 0000 D3, 0 1897 017155 0000 D4, 0 1898 017156 0000 D5, 0 1899 017157 0000 S1, 0 1900 017160 0000 S2, 0 1901 017161 0000 S3, 0 1902 017162 0077 K0077, 77 1903 017163 7700 M100, -100 1904 017164 0200 BCRTA3, BCRT 1905 017165 4514 ER2P, XER2 1906 017166 4424 HSRPB, ICHAR 1907 017167 6174 MSTA, MST-3 1908 017170 7156 S1A, S1-1 1909 017171 6752 SYMNMP, SYMNUM 1910 017172 0300 TVECA3, TVEC 1911 017177 7600 PAGE 1912 /TRAILER CODE EXIT 1913 1914 017200 4777 RC10, JMS I (FORMWD 1915 017201 4762 JMS I HSRP /GET LOW ORDER PART 1916 017202 1027 TAD WORD 1917 017203 7041 CIA 1918 017204 1035 TAD CSUM /COMPARE WITH ACCUMULATED SUM 1919 017205 7640 SZA CLA 1920 017206 5761 JMP I ER4P /NOT EQUAL 1921 017207 1357 TAD BCRTA4 1922 017210 3346 DCA T1 1923 017211 1366 TAD TVECA 1924 017212 3011 DCA X2 1925 017213 1367 TAD M100D 1926 017214 3347 DCA T3 1927 017215 6201 K6201A, CDF 00 1928 017216 1411 RC10Z, TAD I X2 /GET TV ENTRY 1929 017217 7650 SNA CLA 1930 017220 5225 JMP .+5 /NOT DEFINED; IGNORE IT 1931 017221 1746 TAD I T1 /GET BCRT WORD 1932 017222 0352 AND K70 /EXTRACT BANK 1933 017223 1215 TAD K6201A /COMBINE CDF 1934 017224 3746 DCA I T1 1935 017225 2346 ISZ T1 1936 017226 2347 ISZ T3 1937 017227 5216 JMP RC10Z /NOT DONE YET 1938 017230 6211 CDF 10 1939 017231 1031 TAD HLA /STORE HIGHEST LOADED ADDRESS 1940 017232 3430 DCA I HLAPTR /IN PROPER LOC. (HLA0-7) 1941 017233 5776 JMP I (LOADOK 1942 /LOADER MAP PRINT ROUTINE CONTINUED 1943 1944 017234 7620 MAPX, SNL CLA /IF LINK=1 ONLY PRINT PAGE COUNTS, 1945 017235 1036 TAD NSUB /OTHERWISE PRINT SYMBOLS 1946 017236 7040 CMA 1947 017237 3346 DCA T1 /CTR OF ROUTINES 1948 017240 1363 TAD MSTA4 /SYMB. TAB. PTR. 1949 017241 3010 DCA X1 1950 017242 1366 TAD TVECA /TV PTR 1951 017243 3011 DCA X2 1952 017244 1357 TAD BCRTA4 /BCRT PTR 1953 017245 3350 DCA T4 1954 017246 1375 TAD (2640 /PRINT V# 1955 017247 4765 JMS I TTWOP 1956 017250 1374 TAD (VERSION+PATCH 1957 017251 4765 JMS I TTWOP 1958 017252 4760 JMS I CRLFP 1959 017253 5322 JMP PRINT1 1960 017254 1022 PRINT, TAD TM1 1961 017255 7112 RTR CLL 1962 017256 6201 CDF 0 1963 017257 1411 TAD I X2 1964 017260 6211 CDF 10 1965 017261 3023 DCA TM2 1966 017262 1023 TAD TM2 1967 017263 7660 SNL SZA CLA 1968 017264 5316 JMP PIGNOR 1969 017265 1410 TAD I X1 1970 017266 4765 JMS I TTWOP 1971 017267 1410 TAD I X1 1972 017270 4765 JMS I TTWOP 1973 017271 1410 TAD I X1 1974 017272 4765 JMS I TTWOP 1975 017273 1355 TAD K4040 /2 SPACES 1976 017274 4765 JMS I TTWOP 1977 017275 6201 CDF 00 1978 017276 1750 TAD I T4 /PRINT BANK NUMBER 1979 017277 6211 CDF 10 1980 017300 7012 RTR 1981 017301 7010 RAR 1982 017302 0351 AND K7B 1983 017303 1353 TAD K260 1984 017304 4434 JMS I TYPE 1985 017305 1023 TAD TM2 /PRINT SYMBOL VALUE 1986 017306 4764 JMS I TOCTP 1987 017307 1023 TAD TM2 /IF ADDRESS=0,IT IS UNDEFINED 1988 017310 7640 SZA CLA 1989 017311 5314 JMP .+3 /ITS OK 1990 017312 1354 TAD K4025 /TYPE SPACE,U 1991 017313 4765 JMS I TTWOP 1992 017314 4760 JMS I CRLFP 1993 017315 1356 TAD M03 1994 017316 1356 PIGNOR, TAD M03 1995 017317 1010 TAD X1 1996 017320 3010 DCA X1 1997 017321 2350 ISZ T4 1998 017322 2346 PRINT1, ISZ T1 1999 017323 5254 JMP PRINT /JUMP IF MORE SYMBOLS, ELSE FALL INTO NEXT PG 2000 017324 1344 PAGES, TAD FCTR /SET CTR FOR CORRECT # OF BANKS 2001 017325 3346 DCA T1 2002 017326 1373 TAD (HLAZ-1 /INIT. PTR. TO HLA LIST 2003 017327 3010 DCA X1 2004 017330 1410 TAD I X1 /GET HLA OF NEXT BANK 2005 017331 7046 CMA RTL /DIVIDE BY 200 AND COMPLEMENT 2006 017332 7006 RTL 2007 017333 7006 RTL 2008 017334 0345 AND K37 /=NUMBER OF PAGES LEFT + 1 2009 017335 7440 SZA 2010 017336 1372 TAD (-1 /REDUCE IF NON-ZERO 2011 017337 4764 JMS I TOCTP 2012 017340 4760 JMS I CRLFP 2013 017341 2346 ISZ T1 2014 017342 5330 JMP PAGES+4 /NOT DONE WITH ALL BANKS 2015 017343 5771 JMP I (OCLOS 2016 2017 / 2018 /DATA 2019 / 2020 017344 0000 FCTR, 0 /# OF HIGHEST MEM. FIELD 2021 017345 0037 K37, 37 2022 017346 0000 T1, 0 2023 017347 0000 T3, 0 2024 017350 0000 T4, 0 2025 017351 0007 K7B, 7 2026 017352 0070 K70, 70 2027 017353 0260 K260, 260 2028 017354 4025 K4025, 4025 2029 017355 4040 K4040, 4040 2030 017356 7775 M03, -3 2031 017357 0200 BCRTA4, BCRT 2032 017360 6677 CRLFP, CRLF 2033 017361 6655 ER4P, ER4 2034 017362 4424 HSRP, ICHAR 2035 017363 6174 MSTA4, MST-3 2036 017364 6730 TOCTP, TOCT 2037 017365 6705 TTWOP, TTWO 2038 017366 0277 TVECA, TVEC-1 2039 017367 7700 M100D, 7700 2040 017371 4324 PAGE 017372 7777 017373 6546 017374 6401 017375 2640 017376 4543 017377 6321 2041 /WROVLY IS USED TO STORE THE FIELD COUNT FOR THE PROPGT 2042 /ROUTINE- PROPGT IS CALLED THE FIRST TIME THAT IOTEST IS 2043 /CALLED-SEE LOC.325 IN FIELD ZERO(APPROX.) 2044 2045 017400 1000 BC1000, 1000 2046 017401 0000 WROVLY, 0 2047 017402 1025 TAD OVLYFG 2048 017403 7750 SPA SNA CLA 2049 017404 5601 JMP I WROVLY 2050 017405 6202 CIF 0 2051 017406 4777 JMS I (SHNDLR 2052 017407 0110 0110 2053 017410 1600 1600 2054 017411 0027 MTEMP 2055 017412 5776 JMP I (SIOERR 2056 017413 6202 CIF 0 2057 017414 4777 JMS I (SHNDLR 2058 017415 5010 5010 2059 017416 1600 1600 2060 017417 0027 MTEMP 2061 017420 5776 JMP I (SIOERR 2062 017421 3025 DCA OVLYFG 2063 017422 5601 JMP I WROVLY 2064 2065 017423 0000 WRPGBF, 0 2066 017424 3252 DCA PRECNO 2067 017425 1240 TAD WRBFSW 2068 017426 7450 SNA 2069 017427 5242 JMP PREAD 2070 017430 7041 CIA 2071 017431 1252 TAD PRECNO 2072 017432 7650 SNA CLA 2073 017433 5623 JMP I WRPGBF 2074 017434 6202 CIF 0 2075 017435 4777 JMS I (SHNDLR 2076 017436 4210 4210 2077 017437 1400 1400 2078 017440 0000 WRBFSW, 0 2079 017441 5776 JMP I (SIOERR 2080 017442 3007 PREAD, DCA OLDT9 2081 017443 1252 TAD PRECNO 2082 017444 7650 SNA CLA 2083 017445 5254 JMP SETBF 2084 017446 6202 CIF 0 2085 017447 4777 JMS I (SHNDLR 2086 017450 0210 0210 2087 017451 1400 1400 2088 017452 0000 PRECNO, 0 2089 017453 5776 JMP I (SIOERR 2090 017454 1252 SETBF, TAD PRECNO 2091 017455 3240 DCA WRBFSW 2092 017456 5623 JMP I WRPGBF 2093 /LOADER CLEANUP CODE - PREPARES TO RETURN TO OS/8 2094 2095 017457 6211 LDRXIT, CDF 10 2096 017460 1775 TAD I (HLA1 2097 017461 1343 TAD BC200 2098 017462 7700 L7700, SMA CLA /DID WE LOAD OVER THE LOADER? 2099 017463 1374 TAD (FIVE /NO 2100 017464 3201 DCA WROVLY /WROVLY=0 OR 5 2101 017465 6202 CIF 0 2102 017466 4777 JMS I (SHNDLR 2103 017467 0201 0201 2104 017470 0400 400 2105 017471 0050 MTEMP+21 /READ BACK THE RUN-TIME ROUTINES 2106 017472 5776 JMP I (SIOERR /BADDIE 2107 017473 1357 TAD K1600 2108 017474 6201 CDF 0 2109 017475 3726 DCA I ST1600 2110 017476 1727 TAD I P4 2111 017477 3730 DCA I P5 2112 017500 2327 ISZ P4 2113 017501 2330 ISZ P5 2114 017502 2331 ISZ P6 2115 017503 5276 JMP .-5 /ALSO MOVE 16-32 INTO LOC 100 2116 017504 6211 CDF 10 2117 017505 4743 JMS I BC200 2118 017506 0013 13 /RESET EVERYTHING 2119 017507 1773 TAD I (MPARAM 2120 017510 0372 AND (40 /GET "/G" SWITCH 2121 017511 7650 SNA CLA 2122 017512 5322 JMP CALMON /GO SWITCH NOT ON 2123 017513 4743 JMS I BC200 2124 017514 0011 11 /KICK MONITOR OUT 2125 017515 6203 CDF CIF 0 2126 017516 1371 TAD (MSTCDF 2127 017517 3770 DCA I (FIVE+1 /GO TO PROGRAM START ADR INSTEAD OF 7600 2128 017520 2767 ISZ I (ONE /OPTOMIZE READ A LITTLE ON DECTAPE 2129 017521 5601 JMP I WROVLY 2130 2131 017522 7240 CALMON, CLA CMA 2132 017523 3662 DCA I L7700 /INDICATE I/O MONITOR IS IN CORE 2133 017524 6203 CDF CIF 0 2134 017525 5601 JMP I WROVLY /GET OUT 2135 2136 017526 0177 ST1600, 177 /THIS IS SET TO "FINBUF" OR "FOUBUF" BY /I AND /O 2137 017527 0016 P4, 16 2138 017530 0100 P5, 100 2139 017531 7763 P6, -15 2140 /ROUTINE TO TEST FOR /I AND /O SWITCHES 2141 2142 017532 0000 IOTEST, 0 2143 017533 1773 TAD I (MPARAM 2144 017534 0366 AND (10 2145 017535 7650 SNA CLA //I? 2146 017536 5342 JMP .+4 2147 017537 4765 JMS I (HLATST 2148 017540 6203 CDF CIF 0 2149 017541 4764 JMS I (INPENB 2150 017542 1763 TAD I (MPARAM+1 2151 017543 0200 BC200, AND BC1000 2152 017544 7650 SNA CLA //O? 2153 017545 5351 JMP .+4 2154 017546 4765 JMS I (HLATST 2155 017547 6203 CDF CIF 0 2156 017550 4762 JMS I (OUPENB 2157 017551 2360 ISZ DOPROP /SHOULD WE PROPAGATE RESIDENT(AND WRITE OUT 2158 017552 5356 JMP .+4 /THE RUN-TIME ROUTINES?)--NO 2159 017553 1201 TAD WROVLY /YES-FIELD COUNT IS IN WROVLY 2160 017554 6203 CDF CIF 0 2161 017555 4761 JMS I (PROPGT /DO IT 2162 017556 5732 JMP I IOTEST 2163 017557 1600 K1600, 1600 /RESET TO 2000 IF TWO PG.DEV.HNDLRS AT RUN TIME 2164 017560 7777 DOPROP, 7777 /ONCE-ONLY FLAG FOR PROPAGATING FIELD ZERO 2165 /RESIDENT AND WRITING OUT RUNTIME ROUTINES 2166 /NOT RESET AFTER /R!!!! 2167 /SET TO -2 IF CALLED BY ".R LOADER" 2168 /BECAUSE OF USELESS INIT CALL TO IOTEST 2169 017561 1000 PAGE 017562 1223 017563 7644 017564 1200 017565 6557 017566 0010 017567 0001 017570 0006 017571 7772 017572 0040 017573 7643 017574 0005 017575 6550 017576 6645 017577 7607 2170 $ ABCRT 0450 AC 0051 ALREDY 4026 ASDEV 0553 ASERR 0574 ASPAGE 0555 ATV 0452 ATVX 0411 B1 6557 BANK 0021 BASE 6342 BATCK 1312 BC1000 7400 BC200 7543 BCRT 0200 BCRTA 6343 BCRTA3 7164 BCRTA4 7357 BFLD1 4110 BLDLP 4041 BLDLPX 4045 BLDLPY 4051 BLDSKP 4062 BNK 0000 BUILD 3715 BUILDX 4000 C1 6750 C2 6751 C260 6760 C3 6752 C77 6754 CALMON 7522 CDCALL 3651 CDFSKP 0045 CDZSKP 0051 CHGBNK 1051 CODE 6274 COML 0033 COMP1 7041 COR1 0310 COR2 0312 COR70 0316 COREX 0331 CORLOC 0346 CORO 0302 CORSIZ 0350 CORV 0347 CORX 0320 CRLF 6677 CRLFP 7360 CSUM 0035 CUR 0026 CURX 6537 CVTREC 4132 D1 7152 D2 7153 D3 7154 D4 7155 D5 7156 DCB 7760 DEFN 7000 DEVHND 0020 DF200 0114 DFEXIT 0725 DFRSTR 0100 DFSAVE 0103 DIRDEV 4532 DOPROP 7560 DUMP 0457 DUMSUB 0067 DUMTEM 0055 EASGN 4541 ELENGT 0076 EOF 6331 ER1 6660 ER2 6657 ER2I 6352 ER2P 7165 ER3 6656 ER3P 6365 ER4 6655 ER4P 7361 ER5 6654 ER5I 6542 ER5P 6366 ERBACK 6674 ERSTAD 6651 FASIGN 0541 FC 1050 FCLOSE 0757 unreferenced FCTR 7344 FENTER 0741 unreferenced FI200 0614 FI7200 0633 FI7400 0774 FI7700 0617 unreferenced FICHAR 0606 FICHCT 0117 FIELD1 1023 FIGET 0630 FILPTR 3677 FIN10 0740 FINBUF 0615 FINPTR 0116 FINREC 0616 FINRXX 0600 FINTMP 0120 FINXX 0641 FITHRD 0646 FIVE 0005 FLUCNT 0573 unreferenced FLUKUP 0567 unreferenced FLUNAM 0572 FNXTCH 0611 unreferenced FO7177 0737 FOCCNT 0763 FOCHAR 0651 FOCHCT 0124 FOCNAM 0762 unreferenced FOJMP 0657 FOLOOP 0655 FOOCNT 0746 FOONAM 0745 FOPOLD 0115 FORMWD 6321 FORTRL 1152 FOSETP 0727 FOUBUF 0662 FOUCH1 0723 FOUCH2 0720 FOUCH3 0676 unreferenced FOUJMP 0673 FOUNDX 0334 FOUPTR 0123 FOUREC 0663 FOUTMP 0606 FRESET 0767 GETCD 3626 GETHND 3725 GETSW 6264 GETSYM 7123 GT2000 6472 GTSYMP 6767 H7600 6645 HLA 0031 HLA1 6550 HLA1P 6351 HLA2 6551 unreferenced HLA3 6552 unreferenced HLA4 6553 unreferenced HLA5 6554 unreferenced HLA6 6555 unreferenced HLA7 6556 HLAIO 6565 HLAPTR 0030 HLASZA 6562 HLATST 6557 HLAZ 6547 HLAZA 6344 HNDERR 6650 HSRP 7362 HSRPA 6345 HSRPB 7166 ICHAR 4424 ICHAR1 4500 ICHAR2 4474 ICHAR3 4461 unreferenced IHNDLR 0122 IJMP 4456 IJMPE 4436 IN377 4512 IN6377 4513 IN7400 4511 INBUF 4442 INCHCT 4507 INCKEF 4503 INCOM 4501 INCTLW 4441 INERR 6652 INHNDL 0074 INISZ 4445 INPENB 1200 INPFLG 1246 INPTR 4506 INRTRN 1215 INSERT 7060 INTEMP 4510 INVRGN 1217 IOCHEK 3660 IONULL 4353 IOTEST 7532 JSBITS 7746 JSTADR 7745 JSTFLD 7744 JUSTLD 6522 K0077 7162 K0522 6761 K100 6755 K1000 1250 K100A 0507 K1577 1253 K1600 7557 K17 6333 K2 0571 K200 6541 K200A 0516 K212 6756 K215 6757 K2200 1251 K2217 6762 K2240 6763 K2377 1252 K260 7353 K37 7345 K377 6334 K4025 7354 K4040 7355 K6201 0034 K6201A 7215 K6202 0035 K7 0537 K70 7352 K7400 6336 K7600 6337 K77 6540 K7700 6465 K7700A 0510 K777 6335 K77A 0400 K7B 7351 KCDF 6431 KK7 6753 L177 5670 L5177 5665 L5200 5611 L6001 1124 L6213 1130 L7177 5663 L7600 5671 L7700 7462 LASGN 3736 LBCTLW 5610 LBFPTR 5660 LBLDLP 5643 LBREC 5612 LBRY 5600 LBRYLP 5623 LBSRCH 5604 LCDF 1131 LDOPRP 1151 LDRLP 3610 LDRXIT 7457 LDRXXX 3602 LDRYYY 0253 LDRZZ1 1134 LDRZZZ 3601 LFAILD 4537 LFCTR 1122 LIN637 5664 LINCTL 5662 LINISZ 5674 LINK 0033 LINKP 0511 LIOERR 5661 LJSBIT 1125 LJSTAD 1126 LJSTFL 1127 LKATMP 3640 LLINK1 1132 LLINK2 1133 LLOAD 5672 LLRSTR 1150 LLWOWI 1123 LMOCNT 1147 LMOFIL 1146 LMTC 6332 LMTCP1 6543 LMTCP2 6770 LOAD 4400 LOADOK 4543 LOOP 6270 LOOPP1 6544 LOOPP2 6771 LRECNO 4443 LREQUR 4542 LRSTRT 3600 LSEARC 5667 LSETS1 5666 LSHNDL 1121 LSTADR 4151 LSTART 0200 unreferenced LSTFLD 4152 LSYMNU 5673 LTOPCO 1120 LTVEC1 5675 LWOWIE 0344 M03 7356 M10 6340 M100 7163 M100A 6766 M100D 7367 M12 6341 M40 6765 M4B 6764 MAIN 7147 MAP 3700 MAPIO 4200 MAPRTN 3704 MAPX 7234 MCCNT 4337 MDUM 0433 MDUMP 0073 MECNT 4217 MGET 7667 MIFILE 7617 ML7600 4350 ML7601 4336 ML7604 4356 MLINK 0460 MLINKP 0037 MNAME 4216 MOBI 0414 MOBIP 0061 MOFILE 7600 MOPI 0401 MOPIP 0066 MORE 6224 MORE1 6230 MORE1A 6346 MOVLP1 0223 MPARAM 7643 MRTN 0475 MRTNP 0044 MST 6177 MSTA 7167 MSTA4 7363 MSTADR 7775 MSTCDF 7772 MTEMP 0027 NOMACH 7052 NOTIN 0535 NOTSBR 0255 NSUB 0036 OBIP 0456 OBISUB 0055 OCHAR 4232 OCHAR1 4313 OCHAR2 4310 OCHAR3 4266 unreferenced OCHCNT 4317 OCLOS 4324 OFFSET 6517 OHNDLR 0121 OJMP 4263 OJMPE 4236 OLDT9 0007 ONE 0001 OPIP 0455 OPISUB 0062 ORECNO 4243 ORGT 0100 ORGTA 6545 ORGTA2 6772 OU377 4323 OU7400 4321 OUBUF 4242 OUCOM 4316 OUERR 6653 OUHNDL 0075 OUPENB 1223 OUPFLG 1247 OUPOLD 4253 OUPTR 4322 OURTRN 1240 OUSETP 4253 OUTEMP 4320 OUVRGN 1242 OVERF2 7110 OVERFL 7101 OVERFP 6546 OVLYFG 0025 P4 7527 P5 7530 P6 7531 PAGES 7324 PAGEX1 6503 PAGEX2 6505 PASPAG 0756 PATCH 0001 PIGNOR 7316 PREAD 7442 PRECNO 7452 PRINT 7254 PRINT1 7322 PROPGT 1000 PROPLP 1010 PSYSLB 3724 PTSLIB 0271 RC0 6440 RC1 6435 RC10 7200 RC10A 6363 RC10Z 7216 RC17 6625 RC17A 6630 RC3 6600 RC3A 6620 RC4 6400 RC5 6407 RC6 6414 RCHAR 7130 RCHARP 6347 RCON 0032 RECNO 0024 RSYM1 7005 RTN 0040 RTNP 0512 RTS1 0513 RTSCDF 0533 RWORD 6275 S1 7157 S1A 7170 S2 7160 S3 7161 SAVEDF 0105 SEARCH 7022 SETBF 7454 SETHLA 1303 SETRCN 7140 SETS1 4545 SEVEN 0343 SHNDLR 7607 SIOERR 6645 SIX 0342 SRCH1 7032 SRCH2 7055 SSTART 0201 unreferenced ST1600 7526 START 6200 STOBNK 1073 STOCDF 1106 STOHND 0765 STOINF 4141 STOLUP 1104 SYMNMP 7171 SYMNUM 6752 SYSLIB 1114 T1 7346 T3 7347 T4 7350 TEMP 0351 TM1 0022 TM2 0023 TMPC 1332 TOCT 6730 TOCT1 6734 TOCTP 7364 TOPCOR 6350 TRTAB 6353 TTWO 6705 TTWO1 6716 TTWOP 7365 TTYNO 4352 TTYNUM 0262 TTYOUT 4344 TVEC 0300 TVECA 7366 TVECA3 7172 TVM1 6773 TWOPAG 1254 TYPE 0034 UIOERR 6661 VERSIO 6400 WORD 0027 WRBFSW 7440 WROVLY 7401 WRPGBF 7423 X1 0010 X2 0011 X3 0012 X4 0013 XER2 4514 XSHNDL 0007 XX7600 4514 ZERO 0000 unreferenced ZRONAM 0557 unreferenced