| 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 | \f/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 | ZERO, JMS I XSHNDLR |
| 74 | ONE, 2010 |
| 75 | 3600 |
| 76 | MTEMP+11 |
| 77 | HLT |
| 78 | FIVE, JMP I .+1 |
| 79 | 7600 |
| 80 | XSHNDLR,SHNDLR |
| 81 | X1, 0 |
| 82 | X2, 0 |
| 83 | X3, 0 |
| 84 | X4, 0 |
| 85 | |
| 86 | *16 |
| 87 | NOPUNC |
| 88 | *100 |
| 89 | ENPUNC |
| 90 | |
| 91 | DFRSTR, CIF 10 |
| 92 | JMS I DF200 |
| 93 | 11 /KICK OUT MONITOR |
| 94 | DFSAVE, 0 /RESTORE CALLING FIELD |
| 95 | JMP I CDZSKP /AND EXIT |
| 96 | |
| 97 | SAVEDF, 0 /COMMON SAVE-FIELD PROCESSOR FOR FORTRAN I/O |
| 98 | DCA CDZSKP /CALLING ADDRESS |
| 99 | RDF |
| 100 | TAD .+2 |
| 101 | DCA DFSAVE /CALLING FIELD |
| 102 | CDF CIF 0 |
| 103 | JMP I SAVEDF |
| 104 | DF200, 200 |
| 105 | \f/RUN-TIME SYSTEM PAGE 0 - PROPAGATED TROUGH ALL FIELDS |
| 106 | |
| 107 | *33 |
| 108 | BNK=00 |
| 109 | / |
| 110 | / COMMON SUBROUTINE CALL LINKAGE ROUTINE |
| 111 | / |
| 112 | LINK, 0 |
| 113 | K6201, CDF BNK /SET DATA FIELD TO THIS BANK |
| 114 | K6202, CIF 00 /SET INSTRUCTION FIELD TO ZERO |
| 115 | JMP I MLINKP /EXIT TO MASTER LINKAGE ROUTINE |
| 116 | MLINKP, MLINK |
| 117 | / |
| 118 | / COMMON SUBROUTINE RETURN LINKAGE ROUTINE |
| 119 | / |
| 120 | RTN, 0 |
| 121 | CDF BNK /SET DATA FIELD TO THIS BANK |
| 122 | CIF 00 /SET INSTRUCTION FIELD TO ZERO |
| 123 | JMP I MRTNP /EXIT TO MASTER RETURN ROUTINE |
| 124 | MRTNP, MRTN |
| 125 | / |
| 126 | / CHANGE DATA FIELD TO CURRENT AND SKIP |
| 127 | / |
| 128 | CDFSKP, 0 |
| 129 | ISZ CDFSKP /INDEX ADDRESS FOR SKIPPING |
| 130 | CDF BNK /CHANGE DATA FIELD TO CURRENT BANK |
| 131 | JMP I CDFSKP /EXIT |
| 132 | / |
| 133 | / CHANGE DATA FIELD TO ZERO AND SKIP |
| 134 | / |
| 135 | CDZSKP, 0 |
| 136 | ISZ CDZSKP /INDEX RETURN ADDRESS FOR SKIPPING |
| 137 | CDF 10 /CHANGE DATA FIELD TO ZERO |
| 138 | JMP I CDZSKP /EXIT |
| 139 | / |
| 140 | / OFF BANK INDIRECT SUBROUTINE |
| 141 | / |
| 142 | OBISUB, 0 |
| 143 | CDF BNK /SET DATA FIELD TO THIS BANK |
| 144 | CIF 00 /SET INSTRUCTION FIELD TO ZERO |
| 145 | JMP I MOBIP /EXIT TO MASTER OFF BANK INDIRECT SUBROUTINE |
| 146 | MOBIP, MOBI |
| 147 | / |
| 148 | / OFF PAGE INDIRECT SUBROUTINE |
| 149 | / |
| 150 | OPISUB, 0 |
| 151 | CDF BNK /SET DATA FIELD TO THIS BANK |
| 152 | CIF 00 /SET INSTRUCTION FIELD TO BANK 0 |
| 153 | JMP I MOPIP /EXIT TO MASTER OFF PAGE INDIRECT SUBROUTINE |
| 154 | MOPIP, MOPI |
| 155 | \f/ |
| 156 | / ROUTINE TO HANDLE DUMMY ARGUMENTS |
| 157 | / |
| 158 | DUMSUB, 0 |
| 159 | CDF BNK /SET DATA FIELD TO THIS BANK |
| 160 | CIF 00 /SET INSTRUCTION FIELD TO BANK 0 |
| 161 | JMP I MDUMP /EXIT TO MASTER DUMMY ARGUMENT ROUTINE |
| 162 | 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 | INHNDL, 0 /PAGE FOR INPUT HANDLER IF /I SWITCH WAS ON |
| 168 | OUHNDL, 0 /PAGE FOR OUTPUT HANDLER IF /O SWITCH WAS ON |
| 169 | ELENGT, 0 /"DESIRED LENGTH" FOR FORTRAN OUTPUT FILES - USUALLY 0 |
| 170 | |
| 171 | *DF200+1 |
| 172 | /OTHER PAGE 0 LOCATIONS |
| 173 | |
| 174 | FOPOLD, 0 |
| 175 | FINPTR, 0 |
| 176 | FICHCT, 0 /MUST BE INIT. TO -1 AT LOOKUP |
| 177 | FINTMP, 0 /MUST BE INIT. TO 10 AT LOOKUP |
| 178 | OHNDLR, 0 /SET BY FENTER - CLEARED BY FCLOSE |
| 179 | IHNDLR, 0 /SET BY FLUKUP - NEVER CLEARED |
| 180 | FOUPTR, 0 |
| 181 | FOCHCT, 0 |
| 182 | \f *200 |
| 183 | LSTART, JMP I (LDRZZ1 |
| 184 | SSTART, CDF 10 |
| 185 | TAD I (MPARAM+2 |
| 186 | SMA CLA |
| 187 | JMP NOTSBR |
| 188 | TAD I (MPARAM+2 |
| 189 | AND (3777 |
| 190 | DCA I (MPARAM+2 |
| 191 | TAD I (MOFILE |
| 192 | SNA CLA |
| 193 | JMP LDRYYY |
| 194 | TAD (MOFILE+11 |
| 195 | DCA X1 |
| 196 | TAD (MOFILE |
| 197 | DCA SEVEN |
| 198 | TAD (-5 |
| 199 | DCA SIX |
| 200 | TAD (TEMP-1 |
| 201 | DCA X2 |
| 202 | MOVLP1, TAD I SEVEN |
| 203 | CDF 0 |
| 204 | DCA I X2 |
| 205 | CDF 10 |
| 206 | TAD I X1 |
| 207 | DCA I SEVEN |
| 208 | ISZ SEVEN |
| 209 | ISZ SIX |
| 210 | JMP MOVLP1 |
| 211 | TAD TEMP+1 /GET BLOCK NUMBER WHICH SABR PLACED HERE |
| 212 | DCA I (MIFILE+1 |
| 213 | DCA I (MIFILE+2 |
| 214 | CLA CLL CMA RAL |
| 215 | AND I (MPARAM |
| 216 | DCA I (MPARAM /REMOVE /L SWITCH FROM SABR INPUT |
| 217 | CDF 0 |
| 218 | CIF 10 |
| 219 | CLA IAC |
| 220 | JMS I (200 |
| 221 | 4 /DELETE |
| 222 | FORTRL /THE FILE "FORTRL.TM" IF IT EXISTS |
| 223 | 0 |
| 224 | NOP /IT DIDN'T EXIST - BIG DEAL |
| 225 | TAD TEMP |
| 226 | LDRYYY, CDF 10 |
| 227 | DCA I (MIFILE |
| 228 | NOTSBR, CIF 10 |
| 229 | CDF 0 |
| 230 | JMS I (200 |
| 231 | 12 /GET DEVICE NUMBER WITHOUT HANDLER |
| 232 | 2424 /TT |
| 233 | TTYNUM, 3100 /Y |
| 234 | 1000 /RANDOM NUMBER |
| 235 | JMP LWOWIE /WHAT - NO TELETYPE??? |
| 236 | CIF 10 |
| 237 | CLA IAC /DEVICE "SYS" |
| 238 | JMS I (200 |
| 239 | 2 |
| 240 | PTSLIB, SYSLIB |
| 241 | 0 /USELESS LENGTH WORD |
| 242 | CLA SKP |
| 243 | TAD PTSLIB |
| 244 | CDF 10 |
| 245 | DCA I (PSYSLB |
| 246 | TAD TTYNUM |
| 247 | DCA I (TTYNO /STORE AWAY TTY DEVICE NUMBER |
| 248 | JMS I (BATCK |
| 249 | CORO, TAD CORSIZ /GET FLD OF TEST |
| 250 | RTL |
| 251 | RAL |
| 252 | AND COR70 |
| 253 | TAD COREX /MASK USEFUL BITS |
| 254 | DCA .+1 |
| 255 | COR1, CDF |
| 256 | TAD I CORLOC /SAVE CURRENT CONTENTS |
| 257 | COR2, NOP |
| 258 | DCA COR1 |
| 259 | TAD COR2 |
| 260 | DCA I CORLOC |
| 261 | COR70, 70 |
| 262 | TAD I CORLOC /TRY TO READ BACK |
| 263 | CORX, 7400 |
| 264 | TAD CORX |
| 265 | TAD CORV /TAD (1400) |
| 266 | SZA CLA |
| 267 | JMP COREX /NON-EXISTENT FLD EXIT |
| 268 | TAD COR1 |
| 269 | DCA I CORLOC /RESTORE LOC |
| 270 | ISZ CORSIZ |
| 271 | JMP CORO |
| 272 | COREX, CDF 0 |
| 273 | TAD CORSIZ |
| 274 | CIA |
| 275 | FOUNDX, CDF CIF 10 |
| 276 | DCA I (WROVLY /POSTPONE SPREADING FIELD ZERO RESIDENT |
| 277 | TAD (TTYOUT / THRU FIELDS UNTIL /I,/O AND /H ARE TESTED |
| 278 | DCA I (TYPE |
| 279 | JMP I .+1 |
| 280 | LDRXXX |
| 281 | \fSIX, 0 |
| 282 | SEVEN, 0 |
| 283 | |
| 284 | LWOWIE, CDF CIF 10 |
| 285 | JMP I (SIOERR |
| 286 | CORLOC, CORX |
| 287 | CORV, 1400 |
| 288 | CORSIZ, 1 |
| 289 | TEMP, 0;0;0;0 |
| 290 | PAGE |
| 291 | \f/FULL LINKAGE ROUTINES FOR RUN-TIME SYSTEM |
| 292 | |
| 293 | *400 |
| 294 | K77A, 0077 /MUST BE FIRST LOC ON PAGE |
| 295 | / |
| 296 | / MASTER OFF PAGE INDIRECT ROUTINE |
| 297 | / |
| 298 | MOPI, DCA AC /SAVE AC |
| 299 | TAD I OPIP /PICK UP ADDRESS OF PARAMETER |
| 300 | DCA DUMSUB |
| 301 | TAD I DUMSUB /ACTUAL PARAMETER |
| 302 | DCA 7 /TO A TEMP |
| 303 | TAD I 7 /PICK UP FINAL DATA |
| 304 | DCA I K7 /TO LOCATION 7 IN FROM BANK |
| 305 | RDF /FROM BANK |
| 306 | ATVX, TAD K6202 /MAKE A CIF FROM INSTRUCTION |
| 307 | DCA ATV /SAVE IN THIS SEQUENCE |
| 308 | JMP ATV-1 |
| 309 | / |
| 310 | / MASTER OFF BANK INDIRECT ROUTINE |
| 311 | / |
| 312 | MOBI, DCA AC /SAVE AC |
| 313 | TAD I OBIP /ADDRESS OF PARAMETER |
| 314 | DCA DUMSUB |
| 315 | TAD I DUMSUB /ACTUAL COMMON ADDRESS |
| 316 | DCA 7 /SAVE IT |
| 317 | RDF /FROM BANK |
| 318 | TAD K6201 /MAKE A CDF FROM INSTRUCTION |
| 319 | DCA .+3 /PLACE IN THIS SEQUANCE |
| 320 | CDF 10 /CHANGE DATA FIELD TO COMMON |
| 321 | TAD I 7 /ACTUAL DATA |
| 322 | NOP /BECOMES CDF AND CIF FROM INSTRUCTION |
| 323 | DCA I K7 /TO LOCATION 7 IN FROM BANK |
| 324 | RDF |
| 325 | CDF 10 |
| 326 | JMP ATVX |
| 327 | \f/ MASTER INDIRECT DUMMY ARGUMENT SUBROUTINE |
| 328 | |
| 329 | MDUM, DCA AC /SAVE AC |
| 330 | TAD I DUMP /PICK UP ADDRESS OF PAR |
| 331 | DCA DUMSUB |
| 332 | TAD I DUMSUB /PICK UP POINTER TO 2 WORD VECTOR |
| 333 | DCA DUMTEM /TO A TEMPORARY |
| 334 | TAD I DUMTEM /FIELD DATA IS IN AS A CDF |
| 335 | DCA ABCRT /TO THIS SEQUANCE |
| 336 | RDF /FROM FIELD |
| 337 | TAD K6202 /MAKE A CIF INSTRUCTION |
| 338 | DCA ATV /TO THIS SEQUANCE FOR EXIT |
| 339 | ISZ DUMTEM /POINT TO LOCATION IN FIELD |
| 340 | TAD I DUMTEM /ACTUAL LOCATION IN UNKNOWN FIELD |
| 341 | DCA I K7 /TO FROM FIELD LOCATION 7 |
| 342 | ABCRT, NOP /BECOMES CDF UNKNOWN |
| 343 | ISZ DUMSUB /BUMP RETURN ADDRESS |
| 344 | ATV, NOP /BECOMES CIF FROM |
| 345 | TAD AC /RESTORE AC |
| 346 | JMP I DUMSUB /EXIT |
| 347 | AC= CDZSKP |
| 348 | DUMTEM= OBISUB |
| 349 | OPIP, OPISUB |
| 350 | OBIP, OBISUB |
| 351 | DUMP, DUMSUB |
| 352 | / |
| 353 | / MASTER LINKAGE ROUTINE |
| 354 | / |
| 355 | MLINK, DCA AC /SAVE AC |
| 356 | RDF |
| 357 | TAD K6201 /MAKE A CDF |
| 358 | DCA DUMTEM |
| 359 | TAD I LINKP /ADDRESS OF CODE WORD |
| 360 | JMS RTS1 |
| 361 | TAD DUMTEM /CDF FROM INSTRUCTION |
| 362 | DCA I DUMSUB /TO FIRST WORD OF 2 WORD VECTOR |
| 363 | ISZ DUMSUB /POINT TO DISPLACEMENT |
| 364 | TAD LINK /ADDRESS OF CODE WORD |
| 365 | IAC /INCR. TO FIRST ARG |
| 366 | DCA I DUMSUB /TO SECOND WORD OF 2 WORD VECTOR |
| 367 | JMP ATVX-1 |
| 368 | / |
| 369 | / MASTER RETURN ROUTINE |
| 370 | / |
| 371 | MRTN, DCA AC /SAVE AC |
| 372 | TAD I RTNP /ADDRESS OF CODE WORD |
| 373 | JMS RTS1 |
| 374 | TAD I DUMSUB /FIELD TO RETURN TO AS A CDF INSTRUCTION |
| 375 | TAD K2 |
| 376 | DCA ATV |
| 377 | ISZ DUMSUB |
| 378 | TAD I DUMSUB |
| 379 | DCA DUMSUB |
| 380 | JMP ATV |
| 381 | \f/DATA |
| 382 | |
| 383 | K100A, 100 |
| 384 | K7700A, 7700 |
| 385 | LINKP, LINK |
| 386 | RTNP, RTN |
| 387 | / |
| 388 | /SUBROUTINE 1 |
| 389 | / |
| 390 | RTS1, 0 |
| 391 | DCA LINK |
| 392 | TAD I LINK /CODE WORD |
| 393 | K200A, AND K77A /MASK OUT NUMBER OF ARGUMENTS |
| 394 | TAD K200A /+DISPLACEMENT |
| 395 | DCA ABCRT /GIVES ADDRESS OF BCRT ENTRY |
| 396 | TAD ABCRT |
| 397 | TAD K100A /+DISPLACEMENT |
| 398 | DCA ATV /GIVES ADDRESS OF TV DISPLACEMENT |
| 399 | CDF CIF 0 /(TABLES IN FIELD 0!) |
| 400 | TAD I ABCRT /TO CDF INSTRUCTION |
| 401 | DCA RTSCDF /TO FIRST WORD OF 2 WORD VECTOR |
| 402 | TAD I ATV /TO BANK DISPLACEMENT |
| 403 | SNA /WAS IT LOADED? |
| 404 | JMP NOTIN /NO |
| 405 | |
| 406 | DCA DUMSUB /TO SECOND WORD OF 2 WORD VECTOR |
| 407 | RTSCDF, 0 |
| 408 | JMP I RTS1 |
| 409 | |
| 410 | NOTIN, CIF 10 |
| 411 | JMS I K7700A |
| 412 | K7, 7 |
| 413 | 1 /USER ERROR 1 - PROGRAM NOT LOADED |
| 414 | \fFASIGN, 0 /CALLED FROM SABR - DOES ASSIGN AND |
| 415 | DCA CDFSKP /EITHER LOOKUP,ENTER OR CLOSE |
| 416 | TAD FASIGN |
| 417 | JMS SAVEDF |
| 418 | CIF 10 |
| 419 | JMS I K7700A |
| 420 | 10 /CALL USR IN |
| 421 | CIF 10 |
| 422 | JMS I K200A |
| 423 | 1 /ASSIGN HANDLER |
| 424 | ASDEV, 0;0 /SET UP BY SABR |
| 425 | ASPAGE, 0 /DITTO |
| 426 | JMP ASERR /ASSIGN FAILURE |
| 427 | ZRONAM, DCA FLUNAM /ZERO FILENAME FOR LOOKUP |
| 428 | TAD ASDEV+1 /PUT DEVICE NUMBER IN AC |
| 429 | JMP I CDFSKP /JUMP TO APPROPRIATE ROUTINE |
| 430 | |
| 431 | *567 /MUST CROSS PAGE BOUNDARY JUST SO |
| 432 | FLUKUP, CIF 10 |
| 433 | JMS I K200A |
| 434 | K2, 2 /LOOKUP FILE |
| 435 | FLUNAM, 0 /REPLACED BY BLOCK NUMBER |
| 436 | FLUCNT, 0 /REPLACED BY LENGTH (UNUSED) |
| 437 | ASERR, ISZ CDZSKP /SKIP RETURN IF ERROR |
| 438 | TAD ASPAGE |
| 439 | DCA IHNDLR /SET UP INPUT HANDLER ENTRY AND FLAG |
| 440 | TAD FLUNAM |
| 441 | FINRXX, DCA FINREC /***** THIS SHOULD BE AT LOC 600! ***** |
| 442 | CLA CMA |
| 443 | DCA FICHCT |
| 444 | TAD FIN10 |
| 445 | DCA FINTMP |
| 446 | JMP FRESET /RESET I/O AND RETURN FROM FASIGN |
| 447 | IFNZRO FINRXX-600 <FINERR,_ERROR> |
| 448 | \f /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 | FICHAR, 0 |
| 454 | TAD FICHAR |
| 455 | JMS SAVEDF /SAVE RETURN FIELD AND ADDRESS |
| 456 | FNXTCH, ISZ FICHCT /BUMP CHAR COUNT |
| 457 | JMP FIGET |
| 458 | JMS I IHNDLR /IT OVERFLOWED - READ IN A NEW BUFFER |
| 459 | FI200, 200 |
| 460 | FINBUF, 1200 |
| 461 | FINREC, 0 |
| 462 | FI7700, SMA CLA |
| 463 | SKP /END - OF - FILE ERROR - IGNORE |
| 464 | JMP DFSAVE /ERROR RETURN |
| 465 | ISZ FINREC |
| 466 | CLA CMA |
| 467 | TAD FINBUF |
| 468 | DCA FINPTR |
| 469 | TAD FI7200 |
| 470 | DCA FICHCT /INITIALIZE FOR NEW RECORD |
| 471 | FIGET, TAD FINTMP /GET HIGH-ORDER-BIT BUFFER |
| 472 | SPA /IS IT FULL? |
| 473 | JMP FITHRD /YES - OUTPUT COMBINED HIGH-ORDER BITS |
| 474 | FI7200, CLA |
| 475 | ISZ FINPTR |
| 476 | TAD I FINPTR /GET A LOC FROM THE BUFFER |
| 477 | AND FI7400 |
| 478 | RAL CLL |
| 479 | TAD FINTMP /PUT THE HIGH ORDER BITS ONTO THE HOB BUFFER |
| 480 | FINXX, RTL |
| 481 | RTL |
| 482 | DCA FINTMP |
| 483 | TAD I FINPTR |
| 484 | JMP DFEXIT /RETURN WITH SKIP |
| 485 | FITHRD, DCA I FINPTR /FUDGE THIRD CHAR INTO BUFFER |
| 486 | CLL CML |
| 487 | JMP FINXX /RESET FINTMP TO 10 |
| 488 | \f /PUT A CHARACTER |
| 489 | /RETURNS TO .+1 IF ERR, .+2 IF NORMAL |
| 490 | /CALLED WITH CHAR IN AC |
| 491 | |
| 492 | FOCHAR, 0 |
| 493 | DCA FOUTMP /SAVE CHAR |
| 494 | TAD FOCHAR |
| 495 | JMS SAVEDF /SAVE CALLING FIELD AND LOC |
| 496 | FOLOOP, ISZ FOUJMP |
| 497 | ISZ FOCHCT /BUMP CHAR COUNT |
| 498 | FOJMP, JMP FOUJMP /TAKE A BRANCH OF THE THREE-WAY JUMP |
| 499 | JMS I OHNDLR |
| 500 | 4200 |
| 501 | FOUBUF, 1200 |
| 502 | FOUREC, 0 |
| 503 | JMP DFSAVE /OUTPUT ERROR |
| 504 | ISZ FOUREC |
| 505 | JMS FOSETP |
| 506 | ISZ FOCCNT /BUMP FILE LENGTH |
| 507 | ISZ FOOCNT /ALSO ENTER COUNT |
| 508 | JMP FOLOOP /NOW GO PUT THE CHAR INTO THE NEW BUFFER |
| 509 | JMP DFSAVE /ENTER COUNT OVERFLOWED - ERROR RETURN |
| 510 | |
| 511 | FOUJMP, JMP . /THREE-WAY SWITCH |
| 512 | JMP FOUCH1 |
| 513 | JMP FOUCH2 |
| 514 | FOUCH3, TAD FOUTMP |
| 515 | RTL |
| 516 | RTL |
| 517 | DCA FOUTMP |
| 518 | TAD FOUTMP |
| 519 | AND FI7400 |
| 520 | TAD I FOPOLD /PUT HIGH ORDER BITS OF CHAR3 |
| 521 | DCA I FOPOLD /INTO HIGH ORDER BITS OF CHAR 1 |
| 522 | TAD FOUTMP |
| 523 | RTL |
| 524 | RTL |
| 525 | AND FI7400 |
| 526 | TAD I FOUPTR /PUT LOW ORDER BITS OF CHAR 3 |
| 527 | DCA I FOUPTR /INTO HIGH ORDER BITS OF CHAR 2 |
| 528 | TAD FOJMP |
| 529 | DCA FOUJMP |
| 530 | ISZ FOUPTR |
| 531 | JMP DFEXIT /RETURN NORMALLY |
| 532 | FOUCH2, TAD FOUPTR |
| 533 | DCA FOPOLD /SAVE POINTER TO CHAR 1 |
| 534 | ISZ FOUPTR |
| 535 | FOUCH1, TAD FOUTMP |
| 536 | DCA I FOUPTR /STORE CHAR 1 OR 2 |
| 537 | DFEXIT, ISZ CDZSKP /INCREMENT RETURN ADDR |
| 538 | JMP DFSAVE /AND GO THERE |
| 539 | \fFOSETP, 0 |
| 540 | TAD FO7177 |
| 541 | DCA FOCHCT |
| 542 | TAD FOUBUF |
| 543 | DCA FOUPTR |
| 544 | TAD FOJMP |
| 545 | DCA FOUJMP |
| 546 | JMP I FOSETP |
| 547 | |
| 548 | FO7177, 7177 |
| 549 | FIN10, 10 |
| 550 | |
| 551 | FENTER, TAD ELENGT /ELENGT=0 UNLESS SOME KLUDGE SETS IT UP |
| 552 | CIF 10 /FENTER JUMPED TO BY FASIGN |
| 553 | JMS I FI200 |
| 554 | 3 |
| 555 | FOONAM, 0 /FILE NAME IN LOCS 0-3 |
| 556 | FOOCNT, 0 |
| 557 | ISZ CDZSKP /FOR ENTER, ERROR RETURN IS SKIP RETURN |
| 558 | TAD FOONAM |
| 559 | DCA FOUREC /INITIALIZE OUTPUT RECORD # |
| 560 | JMS FOSETP /SET UP CHARACTER POINTERS |
| 561 | DCA FOONAM /SET FOONAM FOR NEXT ENTER |
| 562 | TAD I PASPAG |
| 563 | JMP STOHND /GO TO COMMON CODE WITH "FCLOSE" |
| 564 | PASPAG, ASPAGE |
| 565 | |
| 566 | FCLOSE, CIF 10 /JUMPED TO BY FASIGN |
| 567 | JMS I FI200 /CALL I/O MONITOR |
| 568 | 4 |
| 569 | FOCNAM, 0 /FILE NAME IN 0-3 |
| 570 | FOCCNT, 0 /CLOSING LENGTH |
| 571 | ISZ CDZSKP /ERROR - BUMP RETURN |
| 572 | STOHND, DCA OHNDLR |
| 573 | DCA FOCCNT /INITIALIZE CLOSING COUNT FOR NEXT FILE |
| 574 | FRESET, CIF 10 |
| 575 | JMS I FI200 |
| 576 | 13 /RESET ALL DEVICE HANDLER ENTRIES |
| 577 | 0 /BUT RETAIN ANY OPEN OUTPUT FILES |
| 578 | JMP DFRSTR /RETURN FROM FASIGN AFTER KICKING MONITOR OUT |
| 579 | FOUTMP= FICHAR |
| 580 | FI7400, 7400 |
| 581 | PAGE |
| 582 | \f *1000 |
| 583 | PROPGT, 0 /CALLED FROM FIELD 1 LOADER WHEN 1ST |
| 584 | CDF 10 /CHECKING FOR I/O SWITCHES. |
| 585 | DCA I LTOPCOR /-# OF CORE FIELDS IN AC |
| 586 | TAD I LTOPCOR |
| 587 | DCA I LFCTR |
| 588 | TAD I LTOPCOR |
| 589 | CDF 0 |
| 590 | CMA /GET # OF HI CORE FIELD |
| 591 | PROPLP, DCA FC |
| 592 | CLA CMA |
| 593 | TAD FC |
| 594 | SNA CLA |
| 595 | JMP FIELD1 |
| 596 | TAD FC |
| 597 | JMS CHGBNK |
| 598 | JMS STOBNK |
| 599 | CLA CMA |
| 600 | TAD FC |
| 601 | JMP PROPLP |
| 602 | FIELD1, CLA IAC |
| 603 | JMS CHGBNK |
| 604 | JMS I LSHNDLR |
| 605 | 4100 |
| 606 | 0 |
| 607 | MTEMP |
| 608 | JMP I LLWOWIE |
| 609 | JMS I LSHNDLR |
| 610 | 4201 |
| 611 | 400 |
| 612 | MTEMP+21 /WRITE OUT RUN-TIME ROUTINES |
| 613 | JMP I LLWOWIE |
| 614 | JMS CHGBNK |
| 615 | TAD L6001 |
| 616 | DCA I LJSBITS |
| 617 | TAD L6213 |
| 618 | DCA I LJSTFLD |
| 619 | TAD LLRSTRT |
| 620 | DCA I LJSTADR |
| 621 | CDF CIF 10 /PROPGT IS CALLED FROM FIELD 1 ONLY |
| 622 | JMP I PROPGT |
| 623 | FC, 0 |
| 624 | \fCHGBNK, 0 |
| 625 | CLL RTL |
| 626 | RAL |
| 627 | TAD LCDF |
| 628 | DCA X1 |
| 629 | TAD X1 |
| 630 | DCA LINK+1 |
| 631 | TAD X1 |
| 632 | DCA RTN+1 |
| 633 | TAD X1 |
| 634 | DCA CDFSKP+2 |
| 635 | TAD X1 |
| 636 | DCA OBISUB+1 |
| 637 | TAD X1 |
| 638 | DCA OPISUB+1 |
| 639 | TAD X1 |
| 640 | DCA DUMSUB+1 |
| 641 | JMP I CHGBNK |
| 642 | |
| 643 | STOBNK, 0 |
| 644 | TAD LLINK1 |
| 645 | DCA X2 |
| 646 | TAD X2 |
| 647 | DCA X3 |
| 648 | TAD LLINK2 |
| 649 | DCA X4 |
| 650 | TAD X1 |
| 651 | DCA STOCDF |
| 652 | STOLUP, CDF 0 |
| 653 | TAD I X2 |
| 654 | STOCDF, HLT |
| 655 | DCA I X3 |
| 656 | ISZ X4 |
| 657 | JMP STOLUP |
| 658 | CDF 0 |
| 659 | JMP I STOBNK |
| 660 | SYSLIB, TEXT /LIB8/ |
| 661 | 2214 /.RL |
| 662 | |
| 663 | LTOPCOR,TOPCOR |
| 664 | LSHNDLR,SHNDLR |
| 665 | LFCTR, FCTR |
| 666 | LLWOWIE,LWOWIE |
| 667 | L6001, 6001 |
| 668 | LJSBITS,JSBITS |
| 669 | LJSTADR,JSTADR |
| 670 | LJSTFLD,JSTFLD |
| 671 | L6213, 6213 |
| 672 | LCDF, CDF |
| 673 | LLINK1, LINK-1 |
| 674 | LLINK2, LINK-MDUMP-2 |
| 675 | \fLDRZZ1, CDF 10 /COME HERE IF NOT CHAINED TO |
| 676 | DCA I LMOFIL |
| 677 | ISZ LMOFIL |
| 678 | ISZ LMOCNT |
| 679 | JMP .-3 |
| 680 | CLA CLL CMA RAL /-2 |
| 681 | DCA I LDOPRP |
| 682 | CDF 00 |
| 683 | JMP I .+1 |
| 684 | LDRYYY |
| 685 | LMOFIL, 7600 |
| 686 | LMOCNT, -47 |
| 687 | LLRSTRT,LRSTRT |
| 688 | LDOPRP, DOPROP |
| 689 | FORTRL, FILENAME FORTRL.TM |
| 690 | PAGE |
| 691 | \f *1200 /LINKING LOADER SUBROUTINES FOR /I AND /O OPTIONS |
| 692 | INPENB, 0 |
| 693 | ISZ INPFLG |
| 694 | JMP INRTRN /ALREADY HAVE A /I |
| 695 | JMS TWOPAG /HAS USER SPECIFIED 2-PG. HNDLRS? |
| 696 | TAD OUPFLG |
| 697 | SPA CLA |
| 698 | JMP INVRGN |
| 699 | TAD K2200 |
| 700 | DCA INHNDL |
| 701 | TAD (FINBUF |
| 702 | DCA I (ST1600 /MARK THE INPUT BUFFER IN PAGE 1600 |
| 703 | TAD K2377 |
| 704 | JMS SETHLA |
| 705 | INRTRN, CDF CIF 10 |
| 706 | JMP I INPENB |
| 707 | |
| 708 | INVRGN, TAD K1000 |
| 709 | DCA INHNDL |
| 710 | TAD K1577 |
| 711 | JMP INRTRN-1 |
| 712 | |
| 713 | OUPENB, 0 |
| 714 | ISZ OUPFLG |
| 715 | JMP OURTRN |
| 716 | JMS TWOPAG /HAS USER SPECIFIED 2 PG. HNDLRS? |
| 717 | TAD INPFLG |
| 718 | SPA CLA |
| 719 | JMP OUVRGN |
| 720 | TAD K2200 |
| 721 | DCA OUHNDL |
| 722 | TAD (FOUBUF |
| 723 | DCA I (ST1600 /MARK OUTPUT BUFFER IN 1600 |
| 724 | TAD K2377 |
| 725 | JMS SETHLA |
| 726 | OURTRN, CDF CIF 10 |
| 727 | JMP I OUPENB |
| 728 | |
| 729 | OUVRGN, TAD K1000 |
| 730 | DCA OUHNDL |
| 731 | TAD K1577 |
| 732 | JMP OURTRN-1 |
| 733 | |
| 734 | INPFLG, -1 |
| 735 | OUPFLG, -1 |
| 736 | K1000, 1000 /SET TO 1001 FOR 2 PAGE HANDLERS |
| 737 | K2200, 2200 /SET TO 2401 FOR 2 PAGE HANDLERS. |
| 738 | K2377, 2377 /SET TO 2577 FOR 2 PAGE HANDLERS. |
| 739 | K1577, 1577 /SET TO 1777 FOR 2 PAGE HANDLERS. |
| 740 | \f/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 | TWOPAG, 0 |
| 745 | CDF 10 |
| 746 | TAD I (MPARAM |
| 747 | AND (20 /IS /H SWITCH SET? |
| 748 | SNA CLA |
| 749 | JMP I TWOPAG /NO-RETURN (DATA FLD=1) |
| 750 | TAD (1001 /YES-RESET HANDLR FETCH TO ACCEPT |
| 751 | DCA K1000 /TWO PAGE HANDLERS |
| 752 | TAD (2401 /RESET FETCH FOR SECOND HANDLER |
| 753 | DCA K2200 |
| 754 | TAD (2777 |
| 755 | DCA K2377 /RESET HLA CONSTANT FOR 2 PG HANDLRS |
| 756 | TAD (1777 |
| 757 | DCA K1577 /RESET 2ND HLA CONSTANT FOR 2 PG |
| 758 | TAD (2000 |
| 759 | DCA I (K1600 /RESET BUFR. ADDRESS-SEE *LDRXIT* |
| 760 | CDF 00 |
| 761 | TAD (1400 |
| 762 | DCA I (FINBUF /RESET IN AND OUT BUFFER ADDRESSES |
| 763 | TAD (1400 /TO MAKE ROOM FOR 2 PG HANDLR |
| 764 | DCA I (FOUBUF |
| 765 | CDF 10 |
| 766 | JMP I TWOPAG /RETN. DATA FLD=1 |
| 767 | |
| 768 | SETHLA, 0 |
| 769 | DCA I (HLAZ |
| 770 | TAD I (HLAZ |
| 771 | CIA |
| 772 | DCA I (HLAIO |
| 773 | CDF 0 |
| 774 | JMP I SETHLA |
| 775 | BATCK, 0 |
| 776 | CDF 0 |
| 777 | TAD I (7777 |
| 778 | AND (70 |
| 779 | SNA |
| 780 | JMP I BATCK |
| 781 | CLL RTR |
| 782 | RAR |
| 783 | CMA |
| 784 | DCA TMPC |
| 785 | TAD I (7777 |
| 786 | RAL |
| 787 | SPA CLA |
| 788 | IAC |
| 789 | TAD TMPC |
| 790 | JMP I (FOUNDX |
| 791 | TMPC, 0 |
| 792 | PAGE |
| 793 | \f 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 | LRSTRT, DCA I (MIFILE |
| 814 | LDRZZZ, JMS I (IONULL |
| 815 | LDRXXX, TAD (MIFILE |
| 816 | DCA FILPTR |
| 817 | DCA OVLYFG |
| 818 | DCA I (WRBFSW |
| 819 | JMS I (START |
| 820 | JMP IOCHEK /GO TEST FOR /I, /O ALD /0-7 |
| 821 | LDRLP, DCA BANK |
| 822 | TAD I FILPTR |
| 823 | SNA |
| 824 | JMP GETCD |
| 825 | JMS GETHND |
| 826 | TAD I FILPTR |
| 827 | ISZ FILPTR |
| 828 | DCA RECNO |
| 829 | TAD I (MPARAM |
| 830 | RAR |
| 831 | SZL CLA |
| 832 | JMP I (LBRY |
| 833 | JMS I (LOAD |
| 834 | JMP LDRLP |
| 835 | GETCD, TAD I (MPARAM+3 |
| 836 | SNA |
| 837 | JMP LKATMP |
| 838 | DCA I (LSTADR |
| 839 | TAD I (MPARAM-1 |
| 840 | CLL RAL |
| 841 | AND (17 |
| 842 | CLL RTL |
| 843 | TAD (CDF CIF 0 |
| 844 | DCA I (LSTFLD /FALL INTO NEXT PAGE |
| 845 | \fLKATMP, JMS I (WRPGBF |
| 846 | TAD I (MPARAM |
| 847 | AND (40 |
| 848 | SZA CLA |
| 849 | JMP BUILD |
| 850 | TAD I (MPARAM-1 |
| 851 | SPA CLA |
| 852 | JMP BUILD |
| 853 | JMS MAP |
| 854 | CDCALL, JMS I (200 |
| 855 | 5 |
| 856 | 2214 |
| 857 | TAD I (MPARAM+1 |
| 858 | AND (100 |
| 859 | SZA CLA |
| 860 | JMP LDRZZZ |
| 861 | IOCHEK, JMS I (IOTEST |
| 862 | DCA TM1 |
| 863 | TAD (MIFILE |
| 864 | DCA FILPTR |
| 865 | TAD I (MPARAM+2 |
| 866 | AND (1774 |
| 867 | SNA |
| 868 | JMP LDRLP |
| 869 | RAL |
| 870 | ISZ TM1 |
| 871 | SNL |
| 872 | JMP .-3 |
| 873 | CLA CMA CLL RTL |
| 874 | TAD TM1 |
| 875 | JMP LDRLP |
| 876 | FILPTR, 0 |
| 877 | MAP, 0 |
| 878 | TAD I (MPARAM+1 |
| 879 | AND (4410 /"M","P" AND "U" OPTIONS |
| 880 | SNA |
| 881 | MAPRTN, JMP I MAP |
| 882 | CLL RTR |
| 883 | RTR |
| 884 | AND (200 |
| 885 | SZA CLA |
| 886 | CLL CML IAC |
| 887 | CML RAL /FORM 0 IF /U, 1 IF /P AND 2 IF /M |
| 888 | DCA TM1 |
| 889 | JMP I (MAPIO |
| 890 | \fBUILD, TAD (SHNDLR |
| 891 | DCA DEVHND |
| 892 | TAD PSYSLB |
| 893 | SZA |
| 894 | JMS I (LBSRCH |
| 895 | JMS MAP |
| 896 | JMP I (BUILDX |
| 897 | PSYSLB, 0 |
| 898 | |
| 899 | GETHND, 0 |
| 900 | AND (17 |
| 901 | DCA I (EASGN |
| 902 | TAD (401 |
| 903 | DCA LASGN |
| 904 | TAD I (EASGN |
| 905 | ISZ FILPTR |
| 906 | JMS I (200 |
| 907 | 1 /ASSIGN |
| 908 | LASGN, 401 |
| 909 | JMP I (HNDERR /BAD HANDLER |
| 910 | TAD LASGN |
| 911 | DCA DEVHND |
| 912 | JMP I GETHND |
| 913 | PAGE |
| 914 | \fBUILDX, TAD LSTADR |
| 915 | SZA CLA |
| 916 | JMP ALREDY |
| 917 | TAD (MAIN-1 |
| 918 | DCA X1 |
| 919 | JMS I (SETS1 |
| 920 | JMS I (SEARCH |
| 921 | JMP I (ERSTAD |
| 922 | TAD (TVEC-1 |
| 923 | TAD I (SYMNUM |
| 924 | DCA TM1 |
| 925 | CDF 0 |
| 926 | TAD I TM1 |
| 927 | SNA |
| 928 | JMP I (ERSTAD |
| 929 | DCA LSTADR |
| 930 | TAD TM1 |
| 931 | TAD (7700 |
| 932 | DCA TM1 |
| 933 | CLA CLL CML RTL /CHANGE CDF TO CDF CIF |
| 934 | TAD I TM1 |
| 935 | DCA LSTFLD |
| 936 | ALREDY, CDF 10 |
| 937 | JMS I (WROVLY |
| 938 | TAD (1400 |
| 939 | JMS STOINF |
| 940 | DCA OLDT9 |
| 941 | TAD (HLA7 |
| 942 | DCA TM1 |
| 943 | TAD (-10 |
| 944 | DCA X3 |
| 945 | DCA I X1 |
| 946 | DCA X4 |
| 947 | BLDLP, CLA CLL CML RTL |
| 948 | TAD X3 |
| 949 | SNA CLA |
| 950 | JMP BFLD1 /TREAT FIELD 1 (COMMON AREA) DIFFERENTLY |
| 951 | BLDLPX, TAD I TM1 |
| 952 | AND (7600 |
| 953 | SNA |
| 954 | JMP BLDSKP |
| 955 | BLDLPY, TAD (170 |
| 956 | CLL CML CMA RTR |
| 957 | RTR |
| 958 | TAD X3 |
| 959 | CLL CMA RTL |
| 960 | RAL |
| 961 | DCA I X1 |
| 962 | DCA I X1 |
| 963 | ISZ X4 |
| 964 | BLDSKP, CLA CMA |
| 965 | TAD TM1 |
| 966 | DCA TM1 |
| 967 | ISZ X3 |
| 968 | JMP BLDLP |
| 969 | TAD X4 |
| 970 | CIA |
| 971 | DCA I (1400 |
| 972 | CIF 0 |
| 973 | JMS I (SHNDLR |
| 974 | 4210 |
| 975 | 1200 |
| 976 | MTEMP+10 |
| 977 | HLT |
| 978 | CDF 0 |
| 979 | TAD (JSTFLD-1 |
| 980 | JMS STOINF |
| 981 | TAD LSTADR |
| 982 | DCA I (MSTADR |
| 983 | TAD LSTFLD |
| 984 | DCA I (MSTCDF |
| 985 | JMP I (LDRXIT |
| 986 | |
| 987 | BFLD1, TAD COML |
| 988 | SNA /IS THERE ANY COMMON? |
| 989 | JMP BLDLPX /NO |
| 990 | CLL CMA |
| 991 | TAD I TM1 |
| 992 | SNL CLA /IS THERE ANY CODE IN FIELD 1? |
| 993 | JMP BLDSKP /NO |
| 994 | TAD (110 /SAVE FIELD 1 IN TWO SEGMENTS - PAGE 0 AND |
| 995 | DCA I X1 /THE CODE FOLLOWING THE END OF THE COMMON AREA |
| 996 | ISZ X4 /(THIS IS TO ENABLE "CHAIN" TO WORK PROPERLY) |
| 997 | TAD COML |
| 998 | IAC |
| 999 | DCA I X1 |
| 1000 | TAD COML |
| 1001 | CMA |
| 1002 | TAD I TM1 |
| 1003 | AND (7600 |
| 1004 | JMP BLDLPY |
| 1005 | \fCVTREC, 0 |
| 1006 | TAD CUR |
| 1007 | CLL RTL |
| 1008 | RTL |
| 1009 | RAL |
| 1010 | AND (7 |
| 1011 | JMP I CVTREC |
| 1012 | |
| 1013 | STOINF, 0 |
| 1014 | DCA X1 |
| 1015 | TAD LSTFLD |
| 1016 | DCA I X1 |
| 1017 | TAD LSTADR |
| 1018 | DCA I X1 |
| 1019 | DCA I X1 |
| 1020 | JMP I STOINF |
| 1021 | LSTADR, 0 |
| 1022 | LSTFLD, 0 |
| 1023 | PAGE |
| 1024 | |
| 1025 | \fMAPIO, TAD I ML7600 |
| 1026 | SNA |
| 1027 | TAD TTYNO /TELETYPE IS DEFAULT LISTING DEVICE |
| 1028 | JMS I (GETHND |
| 1029 | TAD I ML7604 /PICK UP EXTENSION WORD. |
| 1030 | SNA /NON-ZERO? |
| 1031 | TAD (1520 /NO-SUPPLY '.MP' EXTENSION. |
| 1032 | DCA I ML7604 /YES-LEAVE ALONE |
| 1033 | TAD ML7601 |
| 1034 | DCA MNAME |
| 1035 | TAD I (EASGN |
| 1036 | TAD (100 /4 SHIFTED LEFT INTO THE "DESIRED LENGTH" POSITION |
| 1037 | JMS I (200 |
| 1038 | 3 |
| 1039 | MNAME, 0 |
| 1040 | MECNT, 0 |
| 1041 | JMP I (OUERR |
| 1042 | TAD MNAME |
| 1043 | DCA ORECNO |
| 1044 | JMS OUSETP |
| 1045 | DCA MCCNT |
| 1046 | TAD (OCHAR |
| 1047 | DCA TYPE |
| 1048 | TAD TM1 |
| 1049 | CLL CML RAR |
| 1050 | JMP I (MAPX |
| 1051 | OCHAR, 0 |
| 1052 | DCA OUTEMP |
| 1053 | ISZ OJMP |
| 1054 | ISZ OCHCNT |
| 1055 | OJMPE, JMP OJMP |
| 1056 | CIF 0 |
| 1057 | JMS I DEVHND |
| 1058 | 4210 |
| 1059 | OUBUF, 4600 |
| 1060 | ORECNO, 0 |
| 1061 | JMP I (OUERR |
| 1062 | ISZ ORECNO |
| 1063 | ISZ MCCNT |
| 1064 | JMS OUSETP |
| 1065 | ISZ MECNT |
| 1066 | JMP OCHAR+2 |
| 1067 | JMP I (OUERR |
| 1068 | \fOUSETP, 0 |
| 1069 | TAD (-601 |
| 1070 | DCA OCHCNT |
| 1071 | TAD OUBUF |
| 1072 | DCA OUPTR |
| 1073 | TAD OJMPE |
| 1074 | DCA OJMP |
| 1075 | JMP I OUSETP |
| 1076 | |
| 1077 | OJMP, HLT /THREE-WAY JUMP FOR CHAR OUTPUT |
| 1078 | JMP OCHAR1 |
| 1079 | JMP OCHAR2 |
| 1080 | OCHAR3, TAD OJMPE |
| 1081 | DCA OJMP |
| 1082 | TAD OUTEMP |
| 1083 | RTL |
| 1084 | RTL |
| 1085 | DCA OUTEMP |
| 1086 | TAD OUTEMP |
| 1087 | AND OU7400 |
| 1088 | TAD I OUPOLD |
| 1089 | DCA I OUPOLD |
| 1090 | TAD OUTEMP |
| 1091 | RTL |
| 1092 | RTL |
| 1093 | AND OU7400 |
| 1094 | TAD I OUPTR |
| 1095 | DCA I OUPTR |
| 1096 | ISZ OUPTR |
| 1097 | JMP OUCOM |
| 1098 | OCHAR2, TAD OUPTR |
| 1099 | DCA OUPOLD |
| 1100 | ISZ OUPTR |
| 1101 | OCHAR1, TAD OUTEMP |
| 1102 | AND OU377 |
| 1103 | DCA I OUPTR |
| 1104 | OUCOM, JMP I OCHAR |
| 1105 | OCHCNT, 0 |
| 1106 | OUPOLD=OUSETP |
| 1107 | OUTEMP, 0 |
| 1108 | OU7400, 7400 |
| 1109 | OUPTR, 0 |
| 1110 | OU377, 377 |
| 1111 | \f/CLOSE OUTPUT FILE |
| 1112 | |
| 1113 | OCLOS, TAD (232 |
| 1114 | JMS OCHAR |
| 1115 | TAD OCHCNT |
| 1116 | CMA |
| 1117 | SZA CLA |
| 1118 | JMP .-4 |
| 1119 | JMS OCHAR |
| 1120 | TAD I (EASGN |
| 1121 | JMS I (200 |
| 1122 | 4 |
| 1123 | ML7601, 7601 |
| 1124 | MCCNT, 0 |
| 1125 | JMP I (OUERR |
| 1126 | TAD (TTYOUT |
| 1127 | DCA TYPE |
| 1128 | JMP I (MAPRTN |
| 1129 | |
| 1130 | TTYOUT, 0 |
| 1131 | 6046 |
| 1132 | 6041 |
| 1133 | JMP .-1 |
| 1134 | ML7600, 7600 |
| 1135 | JMP I TTYOUT |
| 1136 | TTYNO, 0 /SET TO TTY DEVICE NUMBER BY INITIALIZATION |
| 1137 | IONULL, 0 |
| 1138 | TAD ML7600 |
| 1139 | DCA I (HLASZA |
| 1140 | ML7604, 7604 /POINTER TO FILE EXT. WORD |
| 1141 | JMP I IONULL |
| 1142 | PAGE |
| 1143 | \fLOAD, 0 |
| 1144 | DCA LREQUR |
| 1145 | TAD BANK |
| 1146 | TAD (HLAZ |
| 1147 | DCA HLAPTR |
| 1148 | JMS I (SETRCN /SET UP HLA AND RCON |
| 1149 | TAD RCON |
| 1150 | CLL CML |
| 1151 | TAD LREQUR |
| 1152 | TAD (400 |
| 1153 | SNL SZA CLA |
| 1154 | JMP LFAILD |
| 1155 | TAD RECNO |
| 1156 | DCA LRECNO |
| 1157 | CLA CMA |
| 1158 | DCA INCHCT |
| 1159 | JMS ICHAR |
| 1160 | SNA CLA |
| 1161 | JMP .-2 |
| 1162 | JMP I (MORE |
| 1163 | |
| 1164 | ICHAR, 0 |
| 1165 | TAD XX7600 /PARITY TTY HACK |
| 1166 | KRS |
| 1167 | TAD (-7603 |
| 1168 | SNA CLA |
| 1169 | KSF |
| 1170 | SKP |
| 1171 | JMP I (MGET /17667=07605 |
| 1172 | ISZ IJMP |
| 1173 | ISZ INCHCT |
| 1174 | IJMPE, JMP IJMP |
| 1175 | CIF 0 |
| 1176 | JMS I DEVHND |
| 1177 | INCTLW, 0410 |
| 1178 | INBUF, 4600 |
| 1179 | LRECNO, 0 |
| 1180 | JMP INCKEF |
| 1181 | INISZ, ISZ LRECNO |
| 1182 | ISZ LRECNO |
| 1183 | TAD IN6377 |
| 1184 | DCA INCHCT |
| 1185 | TAD INBUF |
| 1186 | DCA INPTR |
| 1187 | TAD IJMPE |
| 1188 | DCA IJMP |
| 1189 | JMP ICHAR+1 |
| 1190 | \fIJMP, HLT /THREE-WAY JUMP FOR CHAR INPUT |
| 1191 | JMP ICHAR1 |
| 1192 | JMP ICHAR2 |
| 1193 | ICHAR3, TAD IJMPE |
| 1194 | DCA IJMP |
| 1195 | TAD I INPTR |
| 1196 | ISZ INPTR |
| 1197 | AND IN7400 |
| 1198 | CLL RTR |
| 1199 | RTR |
| 1200 | TAD INTEMP |
| 1201 | RTR |
| 1202 | RTR |
| 1203 | JMP INCOM |
| 1204 | ICHAR2, TAD I INPTR |
| 1205 | ISZ INPTR |
| 1206 | AND IN7400 |
| 1207 | DCA INTEMP |
| 1208 | ICHAR1, TAD I INPTR |
| 1209 | INCOM, AND IN377 |
| 1210 | JMP I ICHAR |
| 1211 | INCKEF, SMA CLA |
| 1212 | JMP LRECNO+2 |
| 1213 | JMP I (INERR |
| 1214 | INPTR, 0 |
| 1215 | INCHCT, 0 |
| 1216 | INTEMP, 0 |
| 1217 | IN7400, 7400 |
| 1218 | IN377, 377 |
| 1219 | IN6377, 6377 |
| 1220 | \fXX7600, |
| 1221 | XER2, 7600 |
| 1222 | TAD EASGN |
| 1223 | TAD (DCB-1 |
| 1224 | DCA TM2 |
| 1225 | TAD I TM2 |
| 1226 | SPA CLA |
| 1227 | JMP DIRDEV |
| 1228 | TAD (2205 |
| 1229 | JMS I (TTWO |
| 1230 | TAD (1417 |
| 1231 | JMS I (TTWO |
| 1232 | TAD (0104 |
| 1233 | JMS I (TTWO |
| 1234 | JMS I (CRLF |
| 1235 | DIRDEV, TAD I HLAPTR |
| 1236 | ISZ BANK |
| 1237 | CMA |
| 1238 | AND XX7600 |
| 1239 | JMP LOAD+1 |
| 1240 | LFAILD, ISZ BANK |
| 1241 | JMP LOAD+2 |
| 1242 | EASGN, 0 |
| 1243 | LREQUR, 0 |
| 1244 | LOADOK, JMS I (WRPGBF |
| 1245 | JMP I LOAD |
| 1246 | |
| 1247 | SETS1, 0 |
| 1248 | TAD (S1-1 |
| 1249 | DCA X2 |
| 1250 | TAD I X1 |
| 1251 | DCA I X2 |
| 1252 | TAD I X1 |
| 1253 | DCA I X2 |
| 1254 | TAD I X1 |
| 1255 | DCA I X2 |
| 1256 | JMP I SETS1 |
| 1257 | PAGE |
| 1258 | \f/ 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 | LBRY, TAD RECNO |
| 1267 | JMS LBSRCH |
| 1268 | JMP I .+1 |
| 1269 | GETCD |
| 1270 | |
| 1271 | LBSRCH, 0 /LIBRARY SEARCH ROUTINE |
| 1272 | DCA LBREC /SAVE START BLK OF LIBRARY |
| 1273 | CIF 0 |
| 1274 | JMS I DEVHND /READ LIBRARY DIRECTORY |
| 1275 | LBCTLW, 0210 |
| 1276 | L5200, 5200 |
| 1277 | LBREC, 0 |
| 1278 | JMP I LIOERR |
| 1279 | TAD LBCTLW |
| 1280 | DCA I LINCTL |
| 1281 | TAD L7177 |
| 1282 | DCA I LIN6377 |
| 1283 | DCA I LINISZ |
| 1284 | TAD L5177 |
| 1285 | DCA X1 /INITIALIZE FOR SEARCH |
| 1286 | LBRYLP, JMS I LSETS1 /GET NEXT DIRECTORY ENTRY |
| 1287 | TAD I X1 |
| 1288 | SNA |
| 1289 | JMP I LBSRCH /END OF DIRECTORY |
| 1290 | TAD L5200 |
| 1291 | DCA LBFPTR |
| 1292 | JMS I LSEARCH /IS IT IN SYMTAB? |
| 1293 | JMP LBRYLP /NO |
| 1294 | TAD I LSYMNUM |
| 1295 | TAD LTVEC1 |
| 1296 | DCA TM1 |
| 1297 | CDF 0 |
| 1298 | TAD I TM1 |
| 1299 | CDF 10 |
| 1300 | SZA CLA /IS SYMBOL ALREADY DEFINED? |
| 1301 | JMP LBRYLP /YES |
| 1302 | LBLDLP, TAD I LBFPTR /GET MODULE TO LOAD |
| 1303 | SNA |
| 1304 | JMP LBRYLP-2 /NO MORE MODULES TO LOAD |
| 1305 | AND L177 |
| 1306 | IAC |
| 1307 | TAD LBREC |
| 1308 | DCA RECNO |
| 1309 | DCA BANK |
| 1310 | TAD I LBFPTR |
| 1311 | AND L7600 |
| 1312 | JMS I LLOAD /LOAD LIBRARY MODULE |
| 1313 | ISZ LBFPTR |
| 1314 | JMP LBLDLP /GET NEXT MODULE |
| 1315 | |
| 1316 | LBFPTR, 0 |
| 1317 | LIOERR, INERR |
| 1318 | LINCTL, INCTLW |
| 1319 | L7177, 7177 |
| 1320 | LIN6377, IN6377 |
| 1321 | L5177, 5177 |
| 1322 | LSETS1, SETS1 |
| 1323 | LSEARCH, SEARCH |
| 1324 | L177, 177 |
| 1325 | L7600, 7600 |
| 1326 | LLOAD, LOAD |
| 1327 | LSYMNUM, SYMNUM |
| 1328 | LINISZ, INISZ |
| 1329 | LTVEC1, TVEC-1 |
| 1330 | IFZERO .-5700&4000 <LBRERR, _ERROR> |
| 1331 | \f/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 | START, 0 |
| 1347 | TAD K7600 /SET COUNTER FOR 200 |
| 1348 | DCA NSUB |
| 1349 | TAD BCRTA /POINTER TO BANK TABLE |
| 1350 | DCA X3 |
| 1351 | CDF 00 |
| 1352 | DCA I X3 /CLEAR BANK TABLE & TV TABLE |
| 1353 | ISZ NSUB |
| 1354 | JMP .-2 /NOT DONE |
| 1355 | CDF 10 |
| 1356 | TAD M10 |
| 1357 | DCA NSUB |
| 1358 | TAD HLAZA |
| 1359 | DCA X3 |
| 1360 | TAD K777 |
| 1361 | DCA I X3 /BANK0 HIGHEST LOADED ADDR. =777 |
| 1362 | ISZ NSUB /NSUB INCREMENTS TO ZERO |
| 1363 | JMP .-2 |
| 1364 | DCA COML /INIT. OLD COMMON AT 0000 |
| 1365 | JMP I START |
| 1366 | \f/REENTRY FOR NEXT ROUTINE TO BE LOADED |
| 1367 | |
| 1368 | MORE, DCA LMTC /CLR LOCAL SYMBOL COUNT |
| 1369 | DCA CSUM /CLR CHECKSUM |
| 1370 | TAD MORE1A /SET FOR RETURN TO MORE1 IF LEADER |
| 1371 | DCA EOF |
| 1372 | MORE1, JMS RWORD |
| 1373 | TAD RC10A /RESET EOF TO WATCH FOR TRAILER |
| 1374 | DCA EOF |
| 1375 | TAD CODE /CK FOR HIGH COMMON |
| 1376 | TAD M12 |
| 1377 | SZA CLA |
| 1378 | JMP I ER5P /NOT THERE |
| 1379 | TAD COML |
| 1380 | CIA |
| 1381 | CLL CML /IF NO COMMON EXISTS, OR |
| 1382 | TAD WORD /IF NEW COMMON .LE. OLD IT'S |
| 1383 | SNL SZA CLA /OK, ELSE ERROR |
| 1384 | JMP I ER3P |
| 1385 | TAD COML |
| 1386 | SNA CLA |
| 1387 | TAD WORD /IF NO PREVIOUS COMMON AND IF |
| 1388 | AND K7600 /THIS PROGRAM HAS COMMON ABOVE 177 |
| 1389 | SNA /THEN SET COMMON LIMIT TO LIMIT OF THIS PROG |
| 1390 | JMP GETSW |
| 1391 | AND K7400 |
| 1392 | TAD K377 /HIGH COMMON MUST BE AT A MULTIPLE OF 400 |
| 1393 | DCA COML |
| 1394 | TAD I HLA1P /IF WE HAVE LOADED |
| 1395 | SZA CLA /ANY CODE INTO FIELD 1 |
| 1396 | JMP I ER3P /IT'S AN ERROR |
| 1397 | TAD COML /SET BANK1 HIGHEST LOADED ADDRESS |
| 1398 | DCA I HLA1P |
| 1399 | JMS I (SETRCN /SET UP HLA AND RCON AGAIN JUST IN CASE |
| 1400 | GETSW, TAD BANK /BANK NUMBER |
| 1401 | TAD TOPCOR /OK FOR NON-EX. MEM. |
| 1402 | SMA CLA |
| 1403 | JMP I ER2I /TOO BIG |
| 1404 | / |
| 1405 | /MAIN LOADING LOOP |
| 1406 | / |
| 1407 | LOOP, JMS RWORD |
| 1408 | TAD BASE /LOCATE CORRECT FUNCTION |
| 1409 | TAD CODE /IN TRANSFER TABLE |
| 1410 | DCA CODE |
| 1411 | CODE, 0 /TRANSFER TO APPROPRIATE ADDRESS |
| 1412 | \f/READ 12-BIT COMPUTER WORD & 4-BIT RELOCATION CODE |
| 1413 | /FROM 2 INPUT CHARACTERS |
| 1414 | |
| 1415 | RWORD, 0 |
| 1416 | JMS I HSRPA /FIRST FRAME |
| 1417 | DCA WORD |
| 1418 | TAD WORD /EXTRACT RELOC. CODE |
| 1419 | RTR |
| 1420 | RTR |
| 1421 | AND K17 |
| 1422 | DCA CODE |
| 1423 | TAD CODE /CK FOR LEADER |
| 1424 | TAD M10 |
| 1425 | SNA CLA |
| 1426 | JMP I EOF /YES |
| 1427 | TAD WORD /ADD TO CHECKSUM |
| 1428 | TAD CSUM |
| 1429 | DCA CSUM |
| 1430 | JMS FORMWD |
| 1431 | JMS I RCHARP |
| 1432 | TAD WORD |
| 1433 | DCA WORD |
| 1434 | JMP I RWORD |
| 1435 | |
| 1436 | FORMWD, 0 |
| 1437 | TAD WORD |
| 1438 | RTR |
| 1439 | RTR |
| 1440 | RAR |
| 1441 | AND K7400 /ISOLATE HI 4 BITS |
| 1442 | DCA WORD /FROM 1ST CHAR |
| 1443 | JMP I FORMWD |
| 1444 | |
| 1445 | /DATA |
| 1446 | |
| 1447 | EOF, 0 |
| 1448 | LMTC, 0 |
| 1449 | K17, 17 |
| 1450 | K377, 377 |
| 1451 | K777, 777 |
| 1452 | K7400, 7400 |
| 1453 | K7600, 7600 |
| 1454 | M10, -10 |
| 1455 | M12, -12 |
| 1456 | BASE, JMP I TRTAB |
| 1457 | BCRTA, BCRT-1 |
| 1458 | HLAZA, HLAZ-1 |
| 1459 | HSRPA, ICHAR |
| 1460 | MORE1A, MORE1 |
| 1461 | RCHARP, RCHAR |
| 1462 | TOPCOR, 0 |
| 1463 | HLA1P, HLA1 |
| 1464 | ER2I, ER2 |
| 1465 | \f/RELOCATION CODE TRANSFER TABLE |
| 1466 | |
| 1467 | TRTAB, RC0 /LOAD AS IS |
| 1468 | RC1 /ADD RELOCATION CONSTANT |
| 1469 | ER5 |
| 1470 | RC3 /DEFINE SYMBOL |
| 1471 | RC4 /ORIGIN |
| 1472 | RC5 /CDF TO CURRENT BANK |
| 1473 | RC6 /REPLACE LOCAL # WITH GLOBAL # |
| 1474 | ER5 |
| 1475 | RC10A, RC10 /LEADER-TRAILER |
| 1476 | ER5 |
| 1477 | ER3P, ER3 /HIGH COMMON |
| 1478 | ER5P, ER5 |
| 1479 | ER5 |
| 1480 | ER5 |
| 1481 | ER5 |
| 1482 | RC17 /EXTERNAL SYMBOL SPECIFICATION |
| 1483 | PAGE |
| 1484 | \f/NEW ORIGIN |
| 1485 | |
| 1486 | RC4, TAD WORD /NEW ORIGIN |
| 1487 | CLL |
| 1488 | TAD RCON /+ RELOCATION CONSTANT |
| 1489 | DCA CUR /= NEW LOADING ADDRESS |
| 1490 | SZL |
| 1491 | JMP I OVERFP /FIELD OVERFLOW |
| 1492 | JMP I LOOPP1 |
| 1493 | / |
| 1494 | /CHANGE CDF TO CURRENT BANK |
| 1495 | / |
| 1496 | RC5, TAD BANK /MOVE BANK TO BITS 6-8 |
| 1497 | CLL RTL |
| 1498 | RAL |
| 1499 | TAD WORD /PICK UP CDF |
| 1500 | JMP RC1+2 |
| 1501 | / |
| 1502 | /REPLACE LOCAL EXTERNAL SYMBOL NUMBER WITH GLOBAL EXT. SYM. NO. |
| 1503 | / |
| 1504 | RC6, TAD WORD |
| 1505 | AND K77 /EXTRACT LOCAL NUMBER |
| 1506 | DCA B1 |
| 1507 | TAD B1 /CK IF LOCAL # .LE. LOCAL SYM. COUNT |
| 1508 | CIA |
| 1509 | TAD I LMTCP1 |
| 1510 | SPA CLA |
| 1511 | JMP I ER5I /NO |
| 1512 | TAD B1 /ADD LOCAL # TO BASE OF TABLE |
| 1513 | TAD ORGTA |
| 1514 | DCA B1 |
| 1515 | TAD WORD /LOAD ARG COUNT |
| 1516 | AND K7700 |
| 1517 | KCDF, CDF 0 |
| 1518 | TAD I B1 /+ GLOBAL # |
| 1519 | CDF 10 |
| 1520 | JMP RC1+2 /AT CURRENT LOADING ADDRESS |
| 1521 | \f/ADD RELOCATION CONSTANT TO WORD |
| 1522 | |
| 1523 | RC1, TAD WORD |
| 1524 | TAD RCON |
| 1525 | DCA WORD |
| 1526 | / |
| 1527 | /LOAD WORD DIRECTLY AS IT IS |
| 1528 | / |
| 1529 | RC0, TAD HLA /CK FOR CURRENT ADDRESS TO LOAD |
| 1530 | CIA CLL /.GE. HIGHEST ALREADY LOADED |
| 1531 | TAD CUR |
| 1532 | SNL CLA |
| 1533 | JMP .+3 /NO |
| 1534 | TAD CUR /YES, RESET HIGHEST |
| 1535 | DCA HLA |
| 1536 | CLL |
| 1537 | TAD CUR /CK FOR ATTEMPT TO LOAD TOP PAGE |
| 1538 | TAD K200 |
| 1539 | SZL CLA |
| 1540 | JMP I OVERFP /YES, ROUTINE IS TOO BIG |
| 1541 | CLA CMA |
| 1542 | TAD BANK |
| 1543 | SZA CLA |
| 1544 | JMP JUSTLD |
| 1545 | CLL CML CLA RTR |
| 1546 | TAD CUR |
| 1547 | SZL SPA CLA |
| 1548 | JMP GT2000 |
| 1549 | TAD OVLYFG |
| 1550 | K7700, SMA CLA |
| 1551 | JMP OFFSET |
| 1552 | JMS I (CVTREC |
| 1553 | TAD (-11 |
| 1554 | JMP PAGEX2 |
| 1555 | GT2000, TAD CUR |
| 1556 | CLL |
| 1557 | TAD (-3600 |
| 1558 | SZL CLA |
| 1559 | JMP PAGEX1 |
| 1560 | JMS I (WROVLY |
| 1561 | CLA CMA |
| 1562 | DCA OVLYFG |
| 1563 | JMP JUSTLD |
| 1564 | PAGEX1, TAD K200 |
| 1565 | JMS I (CVTREC |
| 1566 | PAGEX2, TAD (MTEMP+11 |
| 1567 | JMS I (WRPGBF |
| 1568 | CLA CLL CML RTR |
| 1569 | TAD CUR |
| 1570 | SZL SPA CLA |
| 1571 | TAD K200 |
| 1572 | TAD CUR |
| 1573 | AND (377 |
| 1574 | TAD (1400 |
| 1575 | JMP JUSTLD+1 |
| 1576 | OFFSET, CLA IAC |
| 1577 | DCA OVLYFG |
| 1578 | TAD (1600 |
| 1579 | JUSTLD, TAD CUR |
| 1580 | DCA CURX |
| 1581 | TAD BANK |
| 1582 | CLL RTL |
| 1583 | RAL |
| 1584 | TAD KCDF |
| 1585 | DCA .+2 |
| 1586 | TAD WORD |
| 1587 | HLT |
| 1588 | DCA I CURX |
| 1589 | CDF 10 |
| 1590 | ISZ CUR |
| 1591 | JMP I LOOPP1 |
| 1592 | CURX, 0 |
| 1593 | / |
| 1594 | /DATA |
| 1595 | / |
| 1596 | K77, 77 |
| 1597 | K200, 200 |
| 1598 | ER5I, ER5 |
| 1599 | LMTCP1, LMTC |
| 1600 | LOOPP1, LOOP |
| 1601 | ORGTA, ORGT |
| 1602 | OVERFP, OVERFL |
| 1603 | HLAZ, 0 /HLA GROUP MUST REMAIN IN GIVEN ORDER |
| 1604 | HLA1, 0 |
| 1605 | HLA2, 0 |
| 1606 | HLA3, 0 |
| 1607 | HLA4, 0 |
| 1608 | HLA5, 0 |
| 1609 | HLA6, 0 |
| 1610 | HLA7, 0 |
| 1611 | B1, |
| 1612 | |
| 1613 | HLATST, 0 |
| 1614 | TAD HLAZ |
| 1615 | TAD HLAIO |
| 1616 | HLASZA, SZA CLA /SET TO CLA BY /R AND RESTART |
| 1617 | JMP I (UIOERR |
| 1618 | JMP I HLATST |
| 1619 | HLAIO, -777 |
| 1620 | PAGE |
| 1621 | \f/SYMBOL DEFINITION |
| 1622 | |
| 1623 | RC3, JMS I GTSYMP |
| 1624 | TAD TVM1 /ADJUSTED BASE OF TRANSFER VECTOR TABLE |
| 1625 | TAD SYMNUM /+ NUM. OF SYMBOL IN MST |
| 1626 | DCA C1 |
| 1627 | TAD RCON /LOADING ADDRESS OF THE SYMBOL |
| 1628 | TAD WORD |
| 1629 | CDF 00 |
| 1630 | DCA I C1 /TO THE TRANS. VEC. TABLE |
| 1631 | TAD C1 /GET POINTER INTO TRANSFER VECTOR TABLE |
| 1632 | TAD M100A /FORM CORRESPONDING POINTER INTO BANK TABLE |
| 1633 | DCA C1 /=PTR. TO BANK TABLE STORAGE |
| 1634 | TAD BANK /GET BANK IN BITS 6-8 |
| 1635 | CLL RTL |
| 1636 | RAL |
| 1637 | DCA I C1 /STORE IN BANK TABLE |
| 1638 | CDF 10 |
| 1639 | RC3A, TAD NSUB /CHECK FOR TOO MANY SYMBOLS |
| 1640 | TAD M100A |
| 1641 | SPA SNA CLA |
| 1642 | JMP I LOOPP2 /NO |
| 1643 | JMP ER1 |
| 1644 | / |
| 1645 | /TRANSFER VECTOR |
| 1646 | / |
| 1647 | RC17, TAD WORD /COUNTER OF SYMBOLS TO COME |
| 1648 | CIA |
| 1649 | DCA C2 |
| 1650 | RC17A, JMS I GTSYMP |
| 1651 | ISZ I LMTCP2 /INC. LOCAL SYM. CTR. |
| 1652 | TAD ORGTA2 /GET PTR TO STORAGE IN ORIG. TABLE |
| 1653 | TAD I LMTCP2 |
| 1654 | DCA C1 |
| 1655 | CMA /SYM. # -1 TO ORIG. TABLE |
| 1656 | TAD SYMNUM |
| 1657 | CDF 0 |
| 1658 | DCA I C1 |
| 1659 | CDF 10 |
| 1660 | ISZ C2 /CK CTR. |
| 1661 | JMP RC17A /NOT DONE |
| 1662 | JMP RC3A |
| 1663 | \f/ERRORS |
| 1664 | |
| 1665 | SIOERR, |
| 1666 | H7600, 7600 |
| 1667 | DCA ERBACK |
| 1668 | IAC |
| 1669 | HNDERR, IAC |
| 1670 | ERSTAD, IAC |
| 1671 | INERR, IAC |
| 1672 | OUERR, IAC |
| 1673 | ER5, IAC /ILLEGAL INPUT FORMAT |
| 1674 | ER4, IAC /CHECKSUM ERROR |
| 1675 | ER3, IAC /HIGHEST COMMON NOT FIRST |
| 1676 | ER2, IAC /PROGRAM TOO LARGE |
| 1677 | ER1, IAC /SYMBOL TABLE OVERFLOW |
| 1678 | UIOERR, DCA C3 |
| 1679 | JMS CRLF |
| 1680 | TAD K0522 /"ER" |
| 1681 | JMS TTWO |
| 1682 | TAD K2217 /"RO" |
| 1683 | JMS TTWO |
| 1684 | TAD K2240 /"R " |
| 1685 | JMS TTWO |
| 1686 | TAD C3 /# |
| 1687 | JMS TOCT |
| 1688 | JMS I (WRPGBF |
| 1689 | ERBACK, JMP I (CDCALL |
| 1690 | CDF CIF 0 |
| 1691 | JMP I H7600 /RETURN TO MONITOR |
| 1692 | / |
| 1693 | /TYPE A CARRIAGE RETURN & LINE FEED |
| 1694 | / |
| 1695 | CRLF, 0 |
| 1696 | TAD K215 |
| 1697 | JMS I TYPE |
| 1698 | TAD K212 |
| 1699 | JMS I TYPE |
| 1700 | JMP I CRLF |
| 1701 | / |
| 1702 | /UNPACK & TYPE 2 6-BIT CHARACTERS |
| 1703 | / |
| 1704 | TTWO, 0 |
| 1705 | DCA C1 |
| 1706 | CMA /SET FLAG FOR 1ST CHARACTER |
| 1707 | DCA C2 |
| 1708 | TAD C1 /MOVE LEFT HALF DOWN |
| 1709 | RTR |
| 1710 | RTR |
| 1711 | RTR |
| 1712 | SKP |
| 1713 | TTWO1, TAD C1 /GET RIGHT HALF |
| 1714 | AND C77 |
| 1715 | TAD M40 /200 OR 300 GROUP? |
| 1716 | SPA |
| 1717 | TAD K100 /300 + 6BIT |
| 1718 | TAD K2240 /200 + 6BIT |
| 1719 | JMS I TYPE |
| 1720 | ISZ C2 /2ND CHARACTER DONE? |
| 1721 | JMP I TTWO |
| 1722 | JMP TTWO1 /NO |
| 1723 | / |
| 1724 | /TYPE OCTAL CONTENTS OF AC |
| 1725 | / |
| 1726 | TOCT, 0 |
| 1727 | DCA C1 |
| 1728 | TAD M4B |
| 1729 | DCA C2 |
| 1730 | TOCT1, TAD C1 /MOVE NEXT DIGIT INTO BITS 9-11 |
| 1731 | RTL |
| 1732 | RAL |
| 1733 | DCA C1 |
| 1734 | TAD C1 /GET DIGIT |
| 1735 | RAL |
| 1736 | AND KK7 |
| 1737 | TAD C260 /CONVERT TO ASCII |
| 1738 | JMS I TYPE |
| 1739 | ISZ C2 |
| 1740 | JMP TOCT1 /MORE TO GO |
| 1741 | JMP I TOCT |
| 1742 | / |
| 1743 | /DATA |
| 1744 | / |
| 1745 | C1, 0 |
| 1746 | C2, 0 |
| 1747 | C3, |
| 1748 | SYMNUM, 0 |
| 1749 | KK7, 7 |
| 1750 | C77, 77 |
| 1751 | K100, 100 |
| 1752 | K212, 212 |
| 1753 | K215, 215 |
| 1754 | C260, 260 |
| 1755 | K0522, 0522 |
| 1756 | K2217, 2217 |
| 1757 | K2240, 2240 |
| 1758 | M4B, -4 |
| 1759 | M40, -40 |
| 1760 | M100A, -100 |
| 1761 | GTSYMP, GETSYM |
| 1762 | LMTCP2, LMTC |
| 1763 | LOOPP2, LOOP |
| 1764 | ORGTA2, ORGT |
| 1765 | TVM1, TVEC-1 |
| 1766 | PAGE |
| 1767 | \f/STORE OR LOOK UP SYMBOL IN SYMBOL TABLE |
| 1768 | |
| 1769 | DEFN, 0 |
| 1770 | |
| 1771 | /READ A SYMBOL FROM INPUT ASCII - 6 FRAMES |
| 1772 | |
| 1773 | CLA CLL CMA RTL |
| 1774 | DCA D1 |
| 1775 | TAD S1A /POINTER TO 3 WORD BUFFER |
| 1776 | DCA X3 |
| 1777 | RSYM1, JMS RCHAR |
| 1778 | AND K0077 /EXTRACT 6-BIT |
| 1779 | CLL RTL |
| 1780 | RTL |
| 1781 | RTL |
| 1782 | DCA D3 /SAVE LEFT HALF |
| 1783 | JMS RCHAR |
| 1784 | AND K0077 /GET RIGHT HALF |
| 1785 | TAD D3 |
| 1786 | DCA I X3 |
| 1787 | ISZ D1 |
| 1788 | JMP RSYM1 /NOT DONE |
| 1789 | JMP I DEFN |
| 1790 | / |
| 1791 | /SEARCH SYMBOL TABLE FOR CURRENT SYMBOL (IN S1-S3) |
| 1792 | / |
| 1793 | SEARCH, 0 |
| 1794 | DCA I SYMNMP /CLR SYMBOL COUNTER |
| 1795 | TAD MSTA /SET SYMBOL TABLE PTR |
| 1796 | DCA D4 |
| 1797 | TAD NSUB /SET CTR FOR NUMBER OF SYMBOLS |
| 1798 | CMA /+1 (IN CASE NSUB=0) |
| 1799 | DCA D5 |
| 1800 | JMP SRCH2 |
| 1801 | SRCH1, ISZ I SYMNMP /KEEP COUNT |
| 1802 | TAD D4 /TEST TABLE ENTRY |
| 1803 | DCA X4 /SYM. TAB. PTR |
| 1804 | CLA CLL CMA RTL |
| 1805 | DCA D2 /COUNTER |
| 1806 | TAD S1A |
| 1807 | DCA X3 /PTR TO S1/S3 |
| 1808 | COMP1, TAD I X4 /COMPARE WORDS |
| 1809 | CIA |
| 1810 | TAD I X3 |
| 1811 | SZA CLA |
| 1812 | JMP NOMACH /NOT ALIKE |
| 1813 | ISZ D2 |
| 1814 | JMP COMP1 /TRY NEXT WORD OF TRIPLET |
| 1815 | ISZ SEARCH |
| 1816 | JMP I SEARCH |
| 1817 | NOMACH, CLA CLL CMA RTL |
| 1818 | TAD D4 |
| 1819 | DCA D4 |
| 1820 | SRCH2, ISZ D5 |
| 1821 | JMP SRCH1 /NOT DONE |
| 1822 | JMP I SEARCH |
| 1823 | / |
| 1824 | /ENTER A SYMBOL IN THE SYMBOL TABLE |
| 1825 | / |
| 1826 | INSERT, 0 |
| 1827 | TAD NSUB /(NUMBER OF SYMBOLS)*3 |
| 1828 | CLL RAL |
| 1829 | TAD NSUB |
| 1830 | CIA /SUBTRACT FROM BASE OF TABLE |
| 1831 | TAD MSTA |
| 1832 | DCA X3 /FOR POINTER |
| 1833 | TAD S1 /1ST WORD |
| 1834 | DCA I X3 |
| 1835 | TAD S2 /2ND |
| 1836 | DCA I X3 |
| 1837 | TAD S3 /3RD |
| 1838 | DCA I X3 |
| 1839 | ISZ NSUB /COMPUTE SYM. TAB. NUMBER |
| 1840 | TAD NSUB |
| 1841 | DCA I SYMNMP |
| 1842 | JMP I INSERT |
| 1843 | / |
| 1844 | /CORE OVERFLOW |
| 1845 | / |
| 1846 | OVERFL, TAD BCRTA3 |
| 1847 | DCA D1 |
| 1848 | TAD TVECA3 |
| 1849 | DCA D2 |
| 1850 | TAD M100 |
| 1851 | DCA D3 |
| 1852 | CDF 00 |
| 1853 | OVERF2, TAD I D1 /CK FOR CDF IN BCRT |
| 1854 | SPA CLA |
| 1855 | JMP .+3 /YES |
| 1856 | DCA I D1 /NO, CLEAR IT |
| 1857 | DCA I D2 /CLEAR TV WORD |
| 1858 | ISZ D1 |
| 1859 | ISZ D2 |
| 1860 | ISZ D3 |
| 1861 | JMP OVERF2 /MORE TO GO |
| 1862 | CDF 10 |
| 1863 | JMP I ER2P |
| 1864 | |
| 1865 | GETSYM, 0 /GET SYMBOL AND SEARCH TABLE |
| 1866 | JMS DEFN |
| 1867 | JMS SEARCH |
| 1868 | JMS INSERT |
| 1869 | JMP I GETSYM |
| 1870 | \f/READ 1 FRAME & ADD TO CHECKSUM |
| 1871 | |
| 1872 | RCHAR, 0 |
| 1873 | JMS I HSRPB |
| 1874 | DCA D4 |
| 1875 | TAD D4 |
| 1876 | TAD CSUM |
| 1877 | DCA CSUM |
| 1878 | TAD D4 |
| 1879 | JMP I RCHAR |
| 1880 | |
| 1881 | SETRCN, 0 /SUBR TO SET HIGHEST-LOADED ADDRESS (HLA) |
| 1882 | TAD I HLAPTR /AND RELOCATION CONSTANT (RCON) |
| 1883 | DCA HLA |
| 1884 | TAD HLA |
| 1885 | AND (7600 |
| 1886 | DCA RCON |
| 1887 | JMP I SETRCN |
| 1888 | |
| 1889 | MAIN, 1501;1116;4040 /"MAIN" |
| 1890 | |
| 1891 | / |
| 1892 | /DATA |
| 1893 | / |
| 1894 | D1, 0 |
| 1895 | D2, 0 |
| 1896 | D3, 0 |
| 1897 | D4, 0 |
| 1898 | D5, 0 |
| 1899 | S1, 0 |
| 1900 | S2, 0 |
| 1901 | S3, 0 |
| 1902 | K0077, 77 |
| 1903 | M100, -100 |
| 1904 | BCRTA3, BCRT |
| 1905 | ER2P, XER2 |
| 1906 | HSRPB, ICHAR |
| 1907 | MSTA, MST-3 |
| 1908 | S1A, S1-1 |
| 1909 | SYMNMP, SYMNUM |
| 1910 | TVECA3, TVEC |
| 1911 | PAGE |
| 1912 | \f/TRAILER CODE EXIT |
| 1913 | |
| 1914 | RC10, JMS I (FORMWD |
| 1915 | JMS I HSRP /GET LOW ORDER PART |
| 1916 | TAD WORD |
| 1917 | CIA |
| 1918 | TAD CSUM /COMPARE WITH ACCUMULATED SUM |
| 1919 | SZA CLA |
| 1920 | JMP I ER4P /NOT EQUAL |
| 1921 | TAD BCRTA4 |
| 1922 | DCA T1 |
| 1923 | TAD TVECA |
| 1924 | DCA X2 |
| 1925 | TAD M100D |
| 1926 | DCA T3 |
| 1927 | K6201A, CDF 00 |
| 1928 | RC10Z, TAD I X2 /GET TV ENTRY |
| 1929 | SNA CLA |
| 1930 | JMP .+5 /NOT DEFINED; IGNORE IT |
| 1931 | TAD I T1 /GET BCRT WORD |
| 1932 | AND K70 /EXTRACT BANK |
| 1933 | TAD K6201A /COMBINE CDF |
| 1934 | DCA I T1 |
| 1935 | ISZ T1 |
| 1936 | ISZ T3 |
| 1937 | JMP RC10Z /NOT DONE YET |
| 1938 | CDF 10 |
| 1939 | TAD HLA /STORE HIGHEST LOADED ADDRESS |
| 1940 | DCA I HLAPTR /IN PROPER LOC. (HLA0-7) |
| 1941 | JMP I (LOADOK |
| 1942 | \f/LOADER MAP PRINT ROUTINE CONTINUED |
| 1943 | |
| 1944 | MAPX, SNL CLA /IF LINK=1 ONLY PRINT PAGE COUNTS, |
| 1945 | TAD NSUB /OTHERWISE PRINT SYMBOLS |
| 1946 | CMA |
| 1947 | DCA T1 /CTR OF ROUTINES |
| 1948 | TAD MSTA4 /SYMB. TAB. PTR. |
| 1949 | DCA X1 |
| 1950 | TAD TVECA /TV PTR |
| 1951 | DCA X2 |
| 1952 | TAD BCRTA4 /BCRT PTR |
| 1953 | DCA T4 |
| 1954 | TAD (2640 /PRINT V# |
| 1955 | JMS I TTWOP |
| 1956 | TAD (VERSION+PATCH |
| 1957 | JMS I TTWOP |
| 1958 | JMS I CRLFP |
| 1959 | JMP PRINT1 |
| 1960 | PRINT, TAD TM1 |
| 1961 | RTR CLL |
| 1962 | CDF 0 |
| 1963 | TAD I X2 |
| 1964 | CDF 10 |
| 1965 | DCA TM2 |
| 1966 | TAD TM2 |
| 1967 | SNL SZA CLA |
| 1968 | JMP PIGNOR |
| 1969 | TAD I X1 |
| 1970 | JMS I TTWOP |
| 1971 | TAD I X1 |
| 1972 | JMS I TTWOP |
| 1973 | TAD I X1 |
| 1974 | JMS I TTWOP |
| 1975 | TAD K4040 /2 SPACES |
| 1976 | JMS I TTWOP |
| 1977 | CDF 00 |
| 1978 | TAD I T4 /PRINT BANK NUMBER |
| 1979 | CDF 10 |
| 1980 | RTR |
| 1981 | RAR |
| 1982 | AND K7B |
| 1983 | TAD K260 |
| 1984 | JMS I TYPE |
| 1985 | TAD TM2 /PRINT SYMBOL VALUE |
| 1986 | JMS I TOCTP |
| 1987 | TAD TM2 /IF ADDRESS=0,IT IS UNDEFINED |
| 1988 | SZA CLA |
| 1989 | JMP .+3 /ITS OK |
| 1990 | TAD K4025 /TYPE SPACE,U |
| 1991 | JMS I TTWOP |
| 1992 | JMS I CRLFP |
| 1993 | TAD M03 |
| 1994 | PIGNOR, TAD M03 |
| 1995 | TAD X1 |
| 1996 | DCA X1 |
| 1997 | ISZ T4 |
| 1998 | PRINT1, ISZ T1 |
| 1999 | JMP PRINT /JUMP IF MORE SYMBOLS, ELSE FALL INTO NEXT PG |
| 2000 | \fPAGES, TAD FCTR /SET CTR FOR CORRECT # OF BANKS |
| 2001 | DCA T1 |
| 2002 | TAD (HLAZ-1 /INIT. PTR. TO HLA LIST |
| 2003 | DCA X1 |
| 2004 | TAD I X1 /GET HLA OF NEXT BANK |
| 2005 | CMA RTL /DIVIDE BY 200 AND COMPLEMENT |
| 2006 | RTL |
| 2007 | RTL |
| 2008 | AND K37 /=NUMBER OF PAGES LEFT + 1 |
| 2009 | SZA |
| 2010 | TAD (-1 /REDUCE IF NON-ZERO |
| 2011 | JMS I TOCTP |
| 2012 | JMS I CRLFP |
| 2013 | ISZ T1 |
| 2014 | JMP PAGES+4 /NOT DONE WITH ALL BANKS |
| 2015 | JMP I (OCLOS |
| 2016 | |
| 2017 | / |
| 2018 | /DATA |
| 2019 | / |
| 2020 | FCTR, 0 /# OF HIGHEST MEM. FIELD |
| 2021 | K37, 37 |
| 2022 | T1, 0 |
| 2023 | T3, 0 |
| 2024 | T4, 0 |
| 2025 | K7B, 7 |
| 2026 | K70, 70 |
| 2027 | K260, 260 |
| 2028 | K4025, 4025 |
| 2029 | K4040, 4040 |
| 2030 | M03, -3 |
| 2031 | BCRTA4, BCRT |
| 2032 | CRLFP, CRLF |
| 2033 | ER4P, ER4 |
| 2034 | HSRP, ICHAR |
| 2035 | MSTA4, MST-3 |
| 2036 | TOCTP, TOCT |
| 2037 | TTWOP, TTWO |
| 2038 | TVECA, TVEC-1 |
| 2039 | M100D, 7700 |
| 2040 | PAGE |
| 2041 | \f/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 | BC1000, 1000 |
| 2046 | WROVLY, 0 |
| 2047 | TAD OVLYFG |
| 2048 | SPA SNA CLA |
| 2049 | JMP I WROVLY |
| 2050 | CIF 0 |
| 2051 | JMS I (SHNDLR |
| 2052 | 0110 |
| 2053 | 1600 |
| 2054 | MTEMP |
| 2055 | JMP I (SIOERR |
| 2056 | CIF 0 |
| 2057 | JMS I (SHNDLR |
| 2058 | 5010 |
| 2059 | 1600 |
| 2060 | MTEMP |
| 2061 | JMP I (SIOERR |
| 2062 | DCA OVLYFG |
| 2063 | JMP I WROVLY |
| 2064 | |
| 2065 | WRPGBF, 0 |
| 2066 | DCA PRECNO |
| 2067 | TAD WRBFSW |
| 2068 | SNA |
| 2069 | JMP PREAD |
| 2070 | CIA |
| 2071 | TAD PRECNO |
| 2072 | SNA CLA |
| 2073 | JMP I WRPGBF |
| 2074 | CIF 0 |
| 2075 | JMS I (SHNDLR |
| 2076 | 4210 |
| 2077 | 1400 |
| 2078 | WRBFSW, 0 |
| 2079 | JMP I (SIOERR |
| 2080 | PREAD, DCA OLDT9 |
| 2081 | TAD PRECNO |
| 2082 | SNA CLA |
| 2083 | JMP SETBF |
| 2084 | CIF 0 |
| 2085 | JMS I (SHNDLR |
| 2086 | 0210 |
| 2087 | 1400 |
| 2088 | PRECNO, 0 |
| 2089 | JMP I (SIOERR |
| 2090 | SETBF, TAD PRECNO |
| 2091 | DCA WRBFSW |
| 2092 | JMP I WRPGBF |
| 2093 | \f/LOADER CLEANUP CODE - PREPARES TO RETURN TO OS/8 |
| 2094 | |
| 2095 | LDRXIT, CDF 10 |
| 2096 | TAD I (HLA1 |
| 2097 | TAD BC200 |
| 2098 | L7700, SMA CLA /DID WE LOAD OVER THE LOADER? |
| 2099 | TAD (FIVE /NO |
| 2100 | DCA WROVLY /WROVLY=0 OR 5 |
| 2101 | CIF 0 |
| 2102 | JMS I (SHNDLR |
| 2103 | 0201 |
| 2104 | 400 |
| 2105 | MTEMP+21 /READ BACK THE RUN-TIME ROUTINES |
| 2106 | JMP I (SIOERR /BADDIE |
| 2107 | TAD K1600 |
| 2108 | CDF 0 |
| 2109 | DCA I ST1600 |
| 2110 | TAD I P4 |
| 2111 | DCA I P5 |
| 2112 | ISZ P4 |
| 2113 | ISZ P5 |
| 2114 | ISZ P6 |
| 2115 | JMP .-5 /ALSO MOVE 16-32 INTO LOC 100 |
| 2116 | CDF 10 |
| 2117 | JMS I BC200 |
| 2118 | 13 /RESET EVERYTHING |
| 2119 | TAD I (MPARAM |
| 2120 | AND (40 /GET "/G" SWITCH |
| 2121 | SNA CLA |
| 2122 | JMP CALMON /GO SWITCH NOT ON |
| 2123 | JMS I BC200 |
| 2124 | 11 /KICK MONITOR OUT |
| 2125 | CDF CIF 0 |
| 2126 | TAD (MSTCDF |
| 2127 | DCA I (FIVE+1 /GO TO PROGRAM START ADR INSTEAD OF 7600 |
| 2128 | ISZ I (ONE /OPTOMIZE READ A LITTLE ON DECTAPE |
| 2129 | JMP I WROVLY |
| 2130 | |
| 2131 | CALMON, CLA CMA |
| 2132 | DCA I L7700 /INDICATE I/O MONITOR IS IN CORE |
| 2133 | CDF CIF 0 |
| 2134 | JMP I WROVLY /GET OUT |
| 2135 | |
| 2136 | ST1600, 177 /THIS IS SET TO "FINBUF" OR "FOUBUF" BY /I AND /O |
| 2137 | P4, 16 |
| 2138 | P5, 100 |
| 2139 | P6, -15 |
| 2140 | \f/ROUTINE TO TEST FOR /I AND /O SWITCHES |
| 2141 | |
| 2142 | IOTEST, 0 |
| 2143 | TAD I (MPARAM |
| 2144 | AND (10 |
| 2145 | SNA CLA //I? |
| 2146 | JMP .+4 |
| 2147 | JMS I (HLATST |
| 2148 | CDF CIF 0 |
| 2149 | JMS I (INPENB |
| 2150 | TAD I (MPARAM+1 |
| 2151 | BC200, AND BC1000 |
| 2152 | SNA CLA //O? |
| 2153 | JMP .+4 |
| 2154 | JMS I (HLATST |
| 2155 | CDF CIF 0 |
| 2156 | JMS I (OUPENB |
| 2157 | ISZ DOPROP /SHOULD WE PROPAGATE RESIDENT(AND WRITE OUT |
| 2158 | JMP .+4 /THE RUN-TIME ROUTINES?)--NO |
| 2159 | TAD WROVLY /YES-FIELD COUNT IS IN WROVLY |
| 2160 | CDF CIF 0 |
| 2161 | JMS I (PROPGT /DO IT |
| 2162 | JMP I IOTEST |
| 2163 | K1600, 1600 /RESET TO 2000 IF TWO PG.DEV.HNDLRS AT RUN TIME |
| 2164 | 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 | PAGE |
| 2170 | $ |
| 2171 | \f |