ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:07 2020 Source File: \pmonitor.asm 1 | * RLTV ADDR* SYMBOL* DESCRIPTION PMN00010 2 | * * * PMN00020 3 | * 0-3 * * RESERVED FOR EVEN BOUNDARIES PMN00030 4 | * 4-5 * #NAME * NAME OF PROGRAM/CORE LOAD PMN00040 5 | * 6 * #DBCT * BLOCK COUNT OF PROG/CORE LOAD PMN00050 6 | * 7 * #FCNT * *FILES SWITCH--ZERO MEANS NO PMN00060 7 | * * * FILES HAVE BEEN EQUATED PMN00070 8 | * 8 * #SYSC * SYS/NON-SYS CARTRIDGE INDR PMN00080 9 | * 9 * #JBSW * JOBT SWITCH-- NON-ZERO MEANS PMN00090 10 | * * * TEMPORARY MODE PMN00100 11 | * 10 * #CBSW * CLB-RETURN-TO-DUP SWITCH-- PMN00110 12 | * * * ZERO=CLB RETURN TO SUPV PMN00120 13 | * 11 * #LCNT * NO. OF LOCALS PMN00130 14 | * 12 * #MPSW * CORE MAP SWITCH--ZERO MEANS PMN00140 15 | * * * DO NOT PRINT A CORE MAP PMN00150 16 | * 13 * #MDF1 * NO. DUP CTRL RECDS (MODIF) PMN00160 17 | * 14 * #MDF2 * ADDR OF MODIF BUFFER PMN00170 18 | * 15 * #NCNT * NO. OF NOCALS PMN00180 19 | * 16 * #ENTY * RLTV ENTRY ADDR OF PROGRAM PMN00190 20 | * 17 * #RP67 * 1442-5 SW (0=1442-5 ON SYSTEM PMN00200 21 | * 18 * #TODR * 'TO' WORKING STG DRIVE CODE PMN00210 22 | * 19 * #FRDR * 'FROM' WORKING STG DRIVE CODE PMN00220 23 | * 20 * #FHOL * ADDR OF LARGEST HOLE IN FXA PMN00230 24 | * 21 * #FSZE * BLK CNT OF LARGEST HOLE IN FXA PMN00240 25 | * 22 * #UHOL * ADDR OF LAST HOLE IN UA 2-10 PMN00250 26 | * 23 * #USZE * BLK CNT OF LAST HOLE IN UA2-10 PMN00260 27 | * 24 * #DCSW * DUP CALL SW--NON-ZERO=DUP CALL PMN00270 28 | * 25 * #PIOD * PRINCIPAL I/O DEVICE INDICATOR PMN00280 29 | * 26 * #PPTR * PRINC. PRINT DEVICE INDICATOR PMN00290 30 | * 27 * #CIAD * RLTV ADDR IN @STRT OF CIL ADDR PMN00300 31 | * 28 * #ACIN * AVAILABLE CARTRIDGE INDICAT2-2 PMN00310 32 | * 29 * #GRPH * 2250 INDICATOR 2G2 PMN00320 33 | * 30 * #GCNT * NO. G2250 RECORDS 2G2 PMN00330 34 | * 31 * #LOSW * LOCAL-CANNOT-CALL-LOCAL SW 2-2 PMN00340 35 | * 32 * #X3SW * SPECIAL ILS SWITCH 2-2 PMN00350 36 | * 33 * #ECNT * NO. OF *EQUAT RCDS 2-4 PMN00360 37 | * 33-34 * * RESERVED FOR FUTURE USE 2-2 PMN00370 38 | * 35 * #ANDU * 1+BLOCK ADDR OF END OF USER PMN00380 39 | * * * AREA (ADJUSTED) LOGICAL DR 0 PMN00390 40 | * 36 * * 1+BLOCK ADDR OF END OF USER PMN00400 41 | * * * AREA (ADJUSTED) LOGICAL DR 1 PMN00410 42 | * 37 * * 1+BLOCK ADDR OF END OF USER PMN00420 43 | * * * AREA (ADJUSTED) LOGICAL DR 2 PMN00430 44 | * 38 * * 1+BLOCK ADDR OF END OF USER PMN00440 45 | * * * AREA (ADJUSTED) LOGICAL DR 3 PMN00450 46 | * 39 * * 1+BLOCK ADDR OF END OF USER PMN00460 47 | * * * AREA (ADJUSTED) LOGICAL DR 4 PMN00470 48 | * 40 * #BNDU * 1+BLOCK ADDR OF END OF USER PMN00480 49 | * * * AREA (BASE) LOGICAL DRIVE 0 PMN00490 50 | * 41 * * 1+BLOCK ADDR OF END OF USER PMN00500 51 | * * * AREA (BASE) LOGICAL DRIVE 1 PMN00510 52 | * 42 * * 1+BLOCK ADDR OF END OF USER PMN00520 53 | * * * AREA (BASE) LOGICAL DRIVE 2 PMN00530 54 | * 43 * * 1+BLOCK ADDR OF END OF USER PMN00540 55 | * * * AREA (BASE) LOGICAL DRIVE 3 PMN00550 56 | * 44 * * 1+BLOCK ADDR OF END OF USER PMN00560 57 | * * * AREA (BASE) LOGICAL DRIVE 4 PMN00570 58 | * 45 * #FPAD * FILE PROTECT ADDR, LOGICAL PMN00580 59 | * * * DRIVE 0 (BASE) PMN00590 60 | * 46 * * FILE PROTECT ADDR, LOGICAL PMN00600 61 | * * * DRIVE 1 (BASE) PMN00610 62 | * 47 * * FILE PROTECT ADDR, LOGICAL PMN00620 63 | * * * DRIVE 2 (BASE) PMN00630 64 | * 48 * * FILE PROTECT ADDR, LOGICAL PMN00640 65 | * * * DRIVE 3 (BASE) PMN00650 66 | * 49 * * FILE PROTECT ADDR,LOGICAL PMN00660 67 | * * * DRIVE 4 (BASE) PMN00670 68 | * 50 * #PCID * CARTRIDGE ID, PHYSICAL DRIVE 0 PMN00680 69 | * 51 * * CARTRIDGE ID, PHYSICAL DRIVE 1 PMN00690 70 | * 52 * * CARTRIDGE ID, PHYSICAL DRIVE 2 PMN00700 71 | * 53 * * CARTRIDGE ID, PHYSICAL DRIVE 3 PMN00710 72 | * 54 * * CARTRIDGE ID, PHYSICAL DRIVE 4 PMN00720 73 | * 55 * #CIDN * CARTRIDGE ID, LOGICAL DRIVE 0 PMN00730 74 | * 56 * * CARTRIDGE ID, LOGICAL DRIVE 1 PMN00740 75 | * 57 * * CARTRIDGE ID, LOGICAL DRIVE 2 PMN00750 76 | * 58 * * CARTRIDGE ID, LOGICAL DRIVE 3 PMN00760 77 | * 59 * * CARTRIDGE ID, LOGICAL DRIVE 4 PMN00770 78 | * 60 * #CIBA * SCTR ADDR OF CIB, LOGICAL DR 0 PMN00780 79 | * 61 * * SCTR ADDR OF CIB, LOGICAL DR 1 PMN00790 80 | * 62 * * SCTR ADDR OF CIB, LOGICAL DR 2 PMN00800 81 | * 63 * * SCTR ADDR OF CIB, LOGICAL DR 3 PMN00810 82 | * 64 * * SCTR ADDR OF CIB, LOGICAL DR 4 PMN00820 83 | * 65 * #SCRA * SCRA, LOGICAL DRIVE 0 PMN00830 84 | * 66 * * SCRA, LOGICAL DRIVE 1 PMN00840 85 | * 67 * * SCRA, LOGICAL DRIVE 2 PMN00850 86 | * 68 * * SCRA, LOGICAL DRIVE 3 PMN00860 87 | * 69 * * SCRA, LOGICAL DRIVE 4 PMN00870 88 | * 70 * #FMAT * FORMAT OF PROG IN WS, DRIVE 0 PMN00880 89 | * 71 * * FORMAT OF PROG IN WS, DRIVE 1 PMN00890 90 | * 72 * * FORMAT OF PROG IN WS, DRIVE 2 PMN00900 91 | * 73 * * FORMAT OF PROG IN WS, DRIVE 3 PMN00910 92 | * 74 * * FORMAT OF PROG IN WS, DRIVE 4 PMN00920 93 | * 75 * #FLET * FLET SCTR ADDR, LOGICAL DR 0 PMN00930 94 | * 76 * * FLET SCTR ADDR, LOGICAL DR 1 PMN00940 95 | * 77 * * FLET SCTR ADDR, LOGICAL DR 2 PMN00950 96 | * 78 * * FLET SCTR ADDR, LOGICAL DR 3 PMN00960 97 | * 79 * * FLET SCTR ADDR, LOGICAL DR 4 PMN00970 98 | * 80 * #ULET * LET SCTR ADDR, LOGICAL DR 0 PMN00980 99 | * 81 * * LET SCTR ADDR, LOGICAL DR 1 PMN00990 100 | * 82 * * LET SCTR ADDR, LOGICAL DR 2 PMN01000 101 | * 83 * * LET SCTR ADDR, LOGICAL DR 3 PMN01010 102 | * 84 * * LET SCTR ADDR, LOGICAL DR 4 PMN01020 103 | * 85 * #WSCT * BLK CNT OF PROG IN WS, DRIVE 0 PMN01030 104 | * 86 * * BLK CNT OF PROG IN WS, DRIVE 1 PMN01040 105 | * 87 * * BLK CNT OF PROG IN WS, DRIVE 2 PMN01050 106 | * 88 * * BLK CNT OF PROG IN WS, DRIVE 3 PMN01060 107 | * 89 * * BLK CNT OF PROG IN WS, DRIVE 4 PMN01070 108 | * 90 * #CSHN * SCTR CNT CUSHION,LOGICAL DR 0 PMN01080 109 | * 91 * * SCTR CNT CUSHION,LOGICAL DR 1 PMN01090 110 | * 92 * * SCTR CNT CUSHION,LOGICAL DR 2 PMN01100 111 | * 93 * * SCTR CNT CUSHION,LOGICAL DR 3 PMN01110 112 | * 94 * * SCTR CNT CUSHION,LOGICAL DR 4 PMN01120 113 | * 95-319 * * RESERVED FOR FUTURE USE PMN01130 RESIDENT MONITOR 115 | *************************************************** PMN01150 116 | * * PMN01160 117 | *STATUS-VERSION 2, MODIFICATION 10 * PMN01170 118 | * * PMN01180 119 | *FUNCTION/OPERATION- * PMN01190 120 | * THIS SECTION ALWAYS REMAINS IN CORE. IT * PMN01200 121 | * IS COMPRISED OF THE COMMUNICATIONS * PMN01210 122 | * AREA (COMMA), THE SKELETON SUPERVISOR, AND * PMN01220 123 | * A DISK I/O SUBROUTINE, NOMINALLY DISKZ. (THE * PMN01230 124 | * FIRST TWO OF THESE SECTIONS ARE INTERMIXED.) * PMN01240 125 | * COMMA CONTAINS THE SYSTEM PARAMETERS REQUIR- * PMN01250 126 | * ED TO FETCH A CORE LOAD IN CORE IMAGE FOR- * PMN01260 127 | * MAT. THE SKELETON SUPERVISOR PROVIDES IN- * PMN01270 128 | * STRUCTIONS FOR INITIATING A CALL EXIT, A * PMN01280 129 | * CALL LINK, A DUMP-TO-PRINTER OR A CALL TO THE * PMN01290 130 | * AUXILIARY SUPERVISOR. IN ADDITION, THE SKELE-* PMN01300 131 | * TON SUPERVISOR CONTAINS SEVERAL TRAPS FOR CER-* PMN01310 132 | * TAIN I/O FUNCTIONS/CONDITIONS. THE DISK I/O * PMN01320 133 | * SECTION CONSISTS OF A SUBROUTINE FOR READING * PMN01330 134 | * FROM OR WRITING ON A DISK CARTRIDGE ON A * PMN01340 135 | * GIVEN LOGICAL DISK DRIVE. * PMN01350 136 | * * PMN01360 137 | *ENTRY POINTS- * PMN01370 138 | * * $PRET-A TRAP FOR PREOPERATIVE I/O ERRORS. * PMN01380 139 | * THE CALLING SEQUENCE IS * PMN01390 140 | * BSI L $PRET * PMN01400 141 | * * $PSTX-A POSTOPERATIVE ERROR TRAP FOR I/O * PMN01410 142 | * DEVICES ON LEVEL X (X=1,2,3,OR 4). * PMN01420 143 | * THE CALLING SEQUENCE IS * PMN01430 144 | * BSI L $PSTX * PMN01440 145 | * * $STOP-THE PROGRAM STOP KEY TRAP. * PMN01450 146 | * * $EXIT-THE ENTRY POINT FOR THE EXIT/CALL * PMN01460 147 | * EXIT STATEMENT. THE CALLING SEQUENCE IS* PMN01470 148 | * LDX 0 $EXIT * PMN01480 149 | * * $LINK-THE ENTRY POINT FOR THE LINK/CALL * PMN01490 150 | * LINK STATEMENT. THE CALLING SEQUENCE IS* PMN01500 151 | * BSI L $LINK * PMN01510 152 | * * $DUMP-THE ENTRY POINT FOR THE DUMP/PDMP * PMN01520 153 | * STATEMENT. THE CALLING SEQUENCE IS * PMN01530 154 | * BSI L $DUMP * PMN01540 155 | * DC FORMAT * PMN01550 156 | * DC LIMIT1 * PMN01560 157 | * DC LIMIT2 * PMN01570 158 | * WHERE LIMIT1 AND LIMIT2 ARE THE LIMITS * PMN01580 159 | * BETWEEN WHICH THE DUMP IS TO OCCUR, AND* PMN01590 160 | * FORMAT IS A CODE INDICATING THE FORMAT * PMN01600 161 | * OF THE DUMP. IF FORMAT IS NEGATIVE, * PMN01610 162 | * THE AUXILIARY SUPERVISOR IS FETCHED * PMN01620 163 | * AND CONTROL PASSED TO IT. * PMN01630 164 | * * DZ000-ENTERED WHEN THE CALLER WISHES TO * PMN01640 165 | * PERFORM A DISK I/O OPERATION. THE * PMN01650 166 | * CALLING SEQUENCE VARIES WITH THE * PMN01660 167 | * VERSION OF THE DISK I/O SUBROUTINE. * PMN01670 168 | * * $I200/$I400-ENTERED WHEN THE OPERATION- * PMN01680 169 | * COMPLETE INTERRUPT OCCURS ON * PMN01690 170 | * LEVEL 2/4. * PMN01700 171 | * * PMN01710 172 | *INPUT-N/A * PMN01720 173 | * * PMN01730 174 | *OUTPUT-WORDS 6-4090 SAVED ON THE CIB ON A CALL * PMN01740 175 | * DUMP * PMN01750 176 | * * PMN01760 177 | *EXTERNAL REFERENCES-N/A * PMN01770 178 | * * PMN01780 179 | *EXITS- * PMN01790 180 | * * NORMAL * PMN01800 181 | * *THE EXITS FROM THE SUBROUTINES AT $PRET * PMN01810 182 | * $PST1, $PST2, $PST3, $PST4, AND $STOP * PMN01820 183 | * ARE BRANCH INSTRUCTIONS FOLLOWING A * PMN01830 184 | * WAIT INSTRUCTION. $STOP TURNS OFF IN- * PMN01840 185 | * TERRUPT LEVEL 5 AFTER THE START KEY IS * PMN01850 186 | * DEPRESSED. * PMN01860 187 | * *THE EXITS FROM $EXIT,$LINK,AND $DUMP ARE * PMN01870 188 | * TO THE CORE IMAGE LOADER, PHASE 1, * PMN01880 189 | * AFTER THAT PHASE HAS BEEN FETCHED. * PMN01890 190 | * *THE EXIT FROM DZ000 IS BACK TO THE * PMN01900 191 | * CALLER AFTER THE REQUESTED DISK OPERA- * PMN01910 192 | * TION HAS BEEN INITIATED. * PMN01920 193 | * *THE EXITS FROM $I200/$I400 ARE BACK TO * PMN01930 194 | * THE ADDRESSES FROM WHICH THE DISK OP- * PMN01940 195 | * ERATION COMPLETE INTERRUPT OCCURED * PMN01950 196 | * AFTER THE INTERRUPT HAS BEEN SERVICED * PMN01960 197 | * BY THE APPROPRIATE ISS. * PMN01970 198 | * * ERROR-N/A * PMN01980 199 | * * PMN01990 200 | *TABLES/WORK AREAS- * PMN02000 201 | * * $ACDE * PMN02010 202 | * * $CH12 * PMN02020 203 | * * $CILA * PMN02030 204 | * * $CLSW * PMN02040 205 | * * $COMN * PMN02050 206 | * * $CORE * PMN02060 207 | * * $CTSW * PMN02070 208 | * * $CXR1 * PMN02080 209 | * * $CYLN * PMN02090 210 | * * $DADR * PMN02100 211 | * * $DBSY * PMN02110 212 | * * $DCYL * PMN02120 213 | * * $DMPF * PMN02130 214 | * * $DREQ * PMN02140 215 | * * $FPAD * PMN02150 216 | * * $GCOM 2G2 * PMN02160 217 | * * $GRIN 2G2 * PMN02170 218 | * * $HASH * PMN02180 219 | * * $IBT2 * PMN02190 220 | * * $IBT4 * PMN02200 221 | * * $IBSY * PMN02210 222 | * * $IOCT * PMN02220 223 | * * $KCSW * PMN02230 224 | * * $LAST * PMN02240 225 | * * $LNXQ 2-9 * PMN02250 226 | * * $NDUP * PMN02260 227 | * * $NXEQ * PMN02270 228 | * * $PBSY * PMN02280 229 | * * $PGCT * PMN02290 230 | * * $PHSE * PMN02300 231 | * * $RMSW * PMN02310 232 | * * $SCAT 2-4 * PMN02320 233 | * * $SNLT * PMN02330 234 | * * $UFIO * PMN02340 235 | * * $ULET * PMN02350 236 | * * $WRD1 * PMN02360 237 | * * $WSDR * PMN02370 238 | * * $XR3X 2-2 * PMN02380 239 | * * PMN02390 240 | *ATTRIBUTES-REUSABLE * PMN02400 241 | * * PMN02410 242 | *NOTES- * PMN02420 243 | * THERE ARE WAIT INSTRUCTIONS AT $PRET+1, * PMN02430 244 | * $STOP+1, AND $PSTX+1. DEPRESSING THE START * PMN02440 245 | * KEY WILL RETURN CONTROL TO THE CALLER IN ALL * PMN02450 246 | * CASES. * PMN02460 247 | *************************************************** PMN02470 RESIDENT MONITOR 249 | * PROVIDE PARAMETERS FOR SYSTEM LOADER PMN02490 250 | * PMN02500 251 | ABS PMN02510 0004 252 | ORG 4 PMN02520 0004 0FFA 253 | DC 4095-* WD CNT FOR WRITING CORE ON CIB PMN02530 0005 0000 254 | $CIBA DC *-* SCTR ADDR OF THE CIB PMN02540 0006 0000 255 | $CH12 DC *-* ADDR OF CHANNEL 12 INDICATOR PMN02550 0007 0000 256 | $COMN DC *-* LENGTH OF COMMON (IN WORDS) PMN02560 257 | * PMN02570 258 | * ULTIMATE RESIDENCE OF THE INTERRUPT TV PMN02580 259 | * PMN02590 0008 0000 260 | $LEV0 DC *-* LEVEL 0 BRANCH ADDRESS PMN02600 0009 0000 261 | $LEV1 DC *-* LEVEL 1 BRANCH ADDRESS PMN02610 000A 00B3 262 | $LEV2 DC $I200 LEVEL 2 BRANCH ADDR PMN02620 000B 0000 263 | $LEV3 DC *-* LEVEL 3 BRANCH ADDRESS PMN02630 000C 00C4 264 | $LEV4 DC $I400 LEVEL 4 BRANCH ADDR PMN02640 000D 0091 265 | $LEV5 DC $STOP LEVEL 5 BRANCH ADDR PMN02650 266 | * PMN02660 267 | * PMN02670 000E 0000 268 | $CORE DC *-* SIZE OF CORE, E.G., /1000=4K PMN02680 000F 0000 269 | $CTSW DC *-* CONTROL RECORD TRAP SWITCH PMN02690 0010 0000 270 | $DADR DC *-* SCTR ADDR OF PROG TO BE LOADED PMN02700 0011 0000 271 | $SCAT DC *-* NON ZERO=SCA INTRPT PNDNG 2-4 PMN02710 0012 0000 272 | $DREQ DC *-* IND. FOR REQUESTED VERSION DKI/O PMN02720 0013 0000 273 | $IBSY DC *-* NON-ZERO IF CD/PAP TP DEV. BUSY PMN02730 0014 274 | $HASH BSS E 12 WORK AREA PMN02740 275 | * PMN02750 276 | * PMN02760 0020 277 | $SCAN BSS 8 1132 SCAN AREA 32 PMN02770 278 | * PMN02780 279 | * PMN02790 280 | * PMN02800 281 | * TRAP FOR PREOPERATIVE I/O ERRORS PMN02810 282 | * PMN02820 0028 0000 283 | $PRET DC *-* ENTRY POINT PMN02830 0029 3000 284 | WAIT WAIT TIL START KEY PUSHED PMN02840 002A 4C80 0028 285 | BSC I $PRET RETURN TO CALLER PMN02850 286 | * PMN02860 287 | * PMN02870 002C 0000 288 | $IREQ DC *-* ADDR OF INT REQUEST SUBROUTINE PMN02880 002D 0000 289 | $ULET DC *-* ADDR OF LET, LOGICAL DR 0 PMN02890 002E 0000 290 | DC *-* ADDR OF LET, LOGICAL DR 1 PMN02900 002F 0000 291 | DC *-* ADDR OF LET, LOGICAL DR 2 PMN02910 0030 0000 292 | DC *-* ADDR OF LET, LOGICAL DR 3 PMN02920 0031 0000 293 | DC *-* ADDR OF LET, LOGICAL DR 4 PMN02930 0032 0000 294 | $IOCT DC *-* ZERO IF NO I/O IN PROGRESS 50 PMN02940 0033 0000 295 | $LAST DC *-* NON-ZERO WHEN LAST CARD SENSED PMN02950 0034 0000 296 | $NDUP DC *-* DO NOT DUP IF NON-ZERO PMN02960 0035 0000 297 | $NXEQ DC *-* DO NOT EXECUTE IF NON-ZERO PMN02970 0036 0000 298 | $PBSY DC *-* NON-ZERO WHEN PRINTER BUSY PMN02980 0037 0000 299 | $PGCT DC *-* PAGE NO. FOR HEADINGS PMN02990 300 | * PMN03000 301 | * CALL EXIT ENTRY POINT TO SKELETON SUPERVISOR PMN03010 302 | * PMN03020 0038 7019 303 | $EXIT MDX $S000 BR TO FETCH CIL, PHASE 1 56 PMN03030 304 | * PMN03040 305 | *** CALL LINK ENTRY POINT PMN03050 306 | * PMN03060 0039 0000 307 | $LINK DC *-* ENTRY POINT 57 PMN03070 003A 1810 308 | SRA 16 PMN03080 003B 7017 309 | MDX $S100 BR TO FETCH CIL, PHASE 1 PMN03090 003C 310 | BSS E 0 PMN03100 003C 0001 311 | $S900 DC 1 DISK PARAMETERS FOR SAVING CORE PMN03110 312 | *$S900 ALSO USED AS CONSTANT 1 BY CIL PH2 2-10 PMN03111 003D 0004 313 | DC $CIBA-1 *IN CONNECTION WITH DUMP PMN03120 003E FFFF 314 | $S910 DC -1 CALL EXIT INDICATOR PMN03130 315 | *$S910 ALSO USED AS CONSTANT-1 BY CIL PH2 2-10 PMN03131 316 | * PMN03140 317 | *** SAVE 1ST 4K OF CORE ON THE CIB PMN03150 318 | * PMN03160 003F 0000 319 | $DUMP DC *-* ENTRY POINT 63 PMN03170 0040 D8D9 320 | STD $ACEX SAVE ACCUMULATOR, EXTENSION PMN03180 0041 4023 321 | BSI $S250 CHK PNDNG INTRPT 2-4 PMN03190 0042 282A 322 | STS $SSTS SAVE STATUS 2-6 PMN03200 0043 69D3 323 | STX 1 $CXR1 SAVE XR1 PMN03210 0044 C480 003F 324 | LD I $DUMP PMN03220 0046 D0D2 325 | STO $DMPF SAVE DUMP FORMAT CODE PMN03230 0047 C8F4 326 | LDD $S900 PMN03240 0048 4400 00F2 327 | BSI L DZ000 SAVE WDS 6-4095 ON CIB PMN03250 004A C0F1 328 | LD $S900 PMN03260 004B 7007 329 | MDX $S100 BR TO FETCH CIL, PHASE 1 PMN03270 330 | * 2-6 PMN03280 004C 331 | BSS 6 PATCH AREA 2-7 PMN03290 RESIDENT MONITOR 333 | * PMN03310 334 | *** FETCH CORE IMAGE LOADER, PHASE 1 PMN03320 335 | * PMN03330 0052 C0EB 336 | $S000 LD $S910 PMN03340 0053 D0C2 337 | $S100 STO $RMSW SAVE EXIT-LINK-DUMP SWITCH PMN03350 0054 6580 0039 338 | LDX I1 $LINK LINK ADDR TO XR1 PMN03360 0056 C101 339 | LD 1 1 FETCH 2ND WD OF LINK NAME PMN03370 0057 18D0 340 | RTE 16 PMN03380 0058 C100 341 | LD 1 0 FETCH 1ST WD OF LINK NAME PMN03390 342 | * $S150+1 CONTAINS ADDR LAST WD OF DISK I/O MINUS 3 PMN03400 0059 6500 0000 343 | $S150 LDX L1 *-* ADDR END OF DKI/O-1 TO XR1 PMN03410 005B D8B8 344 | STD $LKNM SAVE LINK NAME PMN03420 005C 4008 345 | BSI $S250 CHK ANY PNDNG INTRPT 2-4 PMN03430 005D C0FC 346 | LD $CILA PMN03440 005E 1890 347 | $S200 SRT 16 PMN03450 005F 4400 00F2 348 | BSI L DZ000 FETCH CI LOADER, PHASE 1 PMN03460 0061 4003 349 | BSI $S250 CHK DISK OP FINISHED 2-4 PMN03470 0062 4102 350 | BSI 1 2 BR TO CI LOADER, PHASE 1 PMN03480 351 | * PMN03490 0063 0000 352 | $GCOM DC *-* GRAPHIC SUBR PACKAGE INDR 2G2 PMN03500 0064 0000 353 | $GRIN DC *-* GRAPHIC INITLZN PROGRAM INDR 2G2 PMN03510 354 | * PMN03520 355 | *** SUBR TO CHECK IF ANY INTRPT IS PENDING PMN03530 356 | * PMN03540 0065 0000 357 | $S250 DC *-* ENTRY POINT PMN03550 0066 C0CB 358 | $S300 LD $IOCT IS THERE INTRPT PNDNG PMN03560 0067 E8A9 359 | OR $SCAT *OR SCA INTRPT PNDNG PMN03570 0068 4C20 0066 360 | BSC L $S300,Z *THEN BR,IF ALL INTRPT PMN03580 006A 0803 361 | XIO $I499 RESET 2250 2-7 PMN03590 006B 4C80 0065 362 | BSC I $S250 *IS SERVICED-RETURN PMN03600 363 | * 2-6 PMN03610 006D 2000 364 | $SSTS LDS *-* STATUS SAVED FOR DUMP 2-7 PMN03620 006E 0000 365 | $I499 DC 0 IOCC FOR RESET 2-7 PMN03630 006F CC80 366 | DC /CC80 *OF 2250 2-7 PMN03640 0070 0000 367 | $LNXQ DC *-* LINK/XEQ SW, -1 LINK,+1 XEQ 2-9 PMN03650 368 | * PMN03660 0071 0000 369 | $FLSH DC *-* FLUSH-TO-NEXT-JOB SWITCH 1=FLUSH PMN03670 0072 370 | BSS E 0 PMN03680 0072 0000 371 | $CWCT DC *-* WORD COUNT AND SECTOR ADDRESS PMN03690 0073 0000 372 | DC *-* *FOR SAVING/RESTORING COMMON PMN03700 0074 0000 373 | $CCAD DC *-* ADDR FOR SAVING/RESTORING COMMON PMN03710 0075 0000 374 | $LSAD DC *-* SCTR ADDR OF 1ST LOCAL/SOCAL PMN03720 0076 0000 375 | $DZ1N DC *-* DISKZ/1/N INDICATOR (-1,0,+1) PMN03730 0077 0000 376 | $DCDE DC *-* LOGICAL DRIVE CODE FOR PROGRAM PMN03740 0078 0000 377 | $PHSE DC *-* NO. OF PHASE NOW IN CORE PMN03750 0079 0000 378 | $UFIO DC *-* UNFORMATTED I/O RECORD NO. PMN03760 007A 0000 379 | $WSDR DC *-* WORKING STORAGE DRIVE CODE PMN03770 007B 0000 380 | $WRD1 DC *-* LOADING ADDR OF THE CORE LOAD PMN03780 007C 0000 381 | $KCSW DC *-* 1 IF KB,CP BOTH UTILIZED PMN03790 007D 0000 382 | $UFDR DC *-* UNFORMATTED I/O DRIVE CODE PMN03800 007E 0000 383 | $CPTR DC *-* CHANNEL 12 INDICATOR FOR CP PMN03810 007F 0000 384 | $1132 DC *-* CHANNEL 12 INDICATOR FOR 1132 PMN03820 0080 0000 385 | $1403 DC *-* CHANNEL 12 INDICATOR FOR 1403 PMN03830 RESIDENT MONITOR 387 | * TRAP FOR POSTOPERATIVE I/O ERRORS ON LEVEL 1 PMN03850 388 | * PMN03860 0081 0000 389 | $PST1 DC *-* ENTRY POINT PMN03870 0082 3000 390 | WAIT PMN03880 0083 4C80 0081 391 | BSC I $PST1 RETURN TO DEVICE SUBROUTINE PMN03890 392 | * PMN03900 393 | * TRAP FOR POSTOPERATIVE I/O ERRORS ON LEVEL 2 PMN03910 394 | * PMN03920 0085 0000 395 | $PST2 DC *-* ENTRY POINT PMN03930 0086 3000 396 | WAIT PMN03940 0087 4C80 0085 397 | BSC I $PST2 RETURN TO DEVICE SUBROUTINE PMN03950 398 | * PMN03960 399 | * TRAP FOR POSTOPERATIVE I/O ERRORS ON LEVEL 3 PMN03970 400 | * PMN03980 0089 0000 401 | $PST3 DC *-* ENTRY POINT PMN03990 008A 3000 402 | WAIT PMN04000 008B 4C80 0089 403 | BSC I $PST3 RETURN TO DEVICE SUBROUTINE PMN04010 404 | * PMN04020 405 | * TRAP FOR POSTOPERATIVE I/O ERRORS ON LEVEL 4 PMN04030 406 | * PMN04040 008D 0000 407 | $PST4 DC *-* ENTRY POINT PMN04050 008E 3000 408 | WAIT PMN04060 008F 4C80 008D 409 | BSC I $PST4 RETURN TO DEVICE SUBROUTINE PMN04070 410 | * PMN04080 411 | * PMN04090 412 | * PROGRAM STOP KEY TRAP PMN04100 413 | * PMN04110 0091 0000 414 | $STOP DC *-* ENTRY POINT PMN04120 0092 3000 415 | WAIT WAIT TIL START KEY PUSHED PMN04130 0093 4CC0 0091 416 | BOSC I $STOP RETURN TO CALLER PMN04140 RESIDENT MONITOR 418 | * PMN04160 419 | * PARAMETERS USED BY THE DISK I/O SUBROUTINES. THE PMN04170 420 | * LOGICAL DRIVE CODE IS FOUND IN BITS 1-3 FOR ALL PMN04180 421 | * BUT THE AREA CODE. BIT 0 WILL ALWAYS BE ZERO. PMN04190 422 | * PMN04200 423 | * PMN04210 424 | *** DISK1 AND DISKN WILL NOT WRITE BELOW THE PMN04220 425 | *** FOLLOWING SCTR ADDRESSES (EXCEPT WRITE IMMED). PMN04230 426 | * PMN04240 0095 0000 427 | $FPAD DC *-* FILE PROTECT ADDR, LOGICAL DR 0 PMN04250 0096 0000 428 | DC *-* FILE PROTECT ADDR, LOGICAL DR 1 PMN04260 0097 0000 429 | DC *-* FILE PROTECT ADDR, LOGICAL DR 2 PMN04270 0098 0000 430 | DC *-* FILE PROTECT ADDR, LOGICAL DR 3 PMN04280 0099 0000 431 | DC *-* FILE PROTECT ADDR, LOGICAL DR 4 PMN04290 432 | * PMN04300 433 | *** THE ARM POSITION IS UPDATED WHENEVER A SEEK PMN04310 434 | *** OCCURS. PMN04320 435 | * PMN04330 009A 0000 436 | $CYLN DC 0 ARM POSITION FOR LOGICAL DRIVE 0 PMN04340 009B 0000 437 | DC 0 ARM POSITION FOR LOGICAL DRIVE 1 PMN04350 009C 0000 438 | DC 0 ARM POSITION FOR LOGICAL DRIVE 2 PMN04360 009D 0000 439 | DC 0 ARM POSITION FOR LOGICAL DRIVE 3 PMN04370 009E 0000 440 | DC 0 ARM POSITION FOR LOGICAL DRIVE 4 PMN04380 441 | * PMN04390 442 | *** BELOW ARE THE DISK AREA CODES. A ZERO PMN04400 443 | *** INDICATES THE CORRESPONDING DRIVE IS NOT PMN04410 444 | *** ON THE SYSTEM PMN04420 445 | * PMN04430 009F 0000 446 | $ACDE DC *-* AREA CODE FOR LOGICAL DRIVE 0 PMN04440 00A0 0000 447 | DC *-* AREA CODE FOR LOGICAL DRIVE 1 PMN04450 00A1 0000 448 | DC *-* AREA CODE FOR LOGICAL DRIVE 2 PMN04460 00A2 0000 449 | DC *-* AREA CODE FOR LOGICAL DRIVE 3 PMN04470 00A3 0000 450 | DC *-* AREA CODE FOR LOGICAL DRIVE 4 PMN04480 451 | * PMN04490 452 | *** THE ADR OF THE CYLINDER IN WHICH A DEFECT OC- PMN04500 453 | *** CURS, IF ANY, IS STORED IN THE 1ST, 2ND, OR 3RD PMN04510 454 | *** WORD BELOW, DEPENDING ON WHETHER IT IS THE 1ST, PMN04520 455 | *** 2ND, OR 3RD DEFECT ON THE CARTRIDGE. PMN04530 456 | * PMN04540 00A4 0000 457 | $DCYL DC *-* DEFECTIVE CYLINDER ADDRESSES 1 PMN04550 00A5 0000 458 | DC *-* *FOR LOGICAL DRIVE 0 2 PMN04560 00A6 0000 459 | DC *-* 3 PMN04570 00A7 0000 460 | DC *-* DEFECTIVE CYLINDER ADDRESSES 1 PMN04580 00A8 0000 461 | DC *-* *FOR LOGICAL DRIVE 1 2 PMN04590 00A9 0000 462 | DC *-* 3 PMN04600 00AA 0000 463 | DC *-* DEFECTIVE CYLINDER ADDRESSES 1 PMN04610 00AB 0000 464 | DC *-* *FOR LOGICAL DRIVE 2 2 PMN04620 00AC 0000 465 | DC *-* 3 PMN04630 00AD 0000 466 | DC *-* DEFECTIVE CYLINDER ADDRESSES 1 PMN04640 00AE 0000 467 | DC *-* *FOR LOGICAL DRIVE 3 2 PMN04650 00AF 0000 468 | DC *-* 3 PMN04660 00B0 0000 469 | DC *-* DEFECTIVE CYLINDER ADDRESSES 1 PMN04670 00B1 0000 470 | DC *-* *FOR LOGICAL DRIVE 4 2 PMN04680 00B2 0000 471 | DC *-* 3 PMN04690 RESIDENT MONITOR 473 | * PMN04710 474 | * ILS02--THIS SUBROUTINE SAVES XR1, XR2, STATUS, PMN04720 475 | * AND THE ACCUMULATOR AND ITS EXTENSION. PMN04730 476 | * THE ADDRESS OF THE INTERRUPT SERVICE ROU- PMN04740 477 | * TINE IS STORED IN $I205 BY PHASE 2 OF PMN04750 478 | * THE CORE IMAGE LOADER. WORD 10 ALWAYS PMN04760 479 | * CONTAINS THE ADDRESS OF $I200. PMN04770 480 | * PMN04780 481 | * PMN04790 482 | * PMN04800 00B3 0000 483 | $I200 DC *-* ENTRY PT (LEVEL 2 INTRUPT) PMN04810 00B4 6906 484 | STX 1 $I210+1 SAVE XR1 PMN04820 00B5 6A07 485 | STX 2 $I210+3 SAVE XR2 PMN04830 00B6 2807 486 | STS $I210+4 STORE STATUS PMN04840 00B7 D80A 487 | STD $I290 SAVE ACCUMULATOR,EXTENSION PMN04850 488 | * $I205+1 CONTAINS ADDR INTERRUPT ENTRY PT TO DKI/O PMN04860 00B8 4400 0000 489 | $I205 BSI L *-* BR TO SERVICE THE INTERRUPT PMN04870 00BA 6500 0000 490 | $I210 LDX L1 *-* RESTORE XR1 PMN04880 00BC 6600 0000 491 | LDX L2 *-* RESTORE XR2 PMN04890 00BE 2000 492 | LDS 0 RESTORE STATUS PMN04900 00BF C802 493 | LDD $I290 RESTORE ACCUMULATOR,EXT PMN04910 00C0 4CC0 00B3 494 | BOSC I $I200 RETURN FROM INTERRUPT PMN04920 00C2 495 | $I290 BSS E 0 PMN04930 00C2 0000 496 | DC *-* CONTENTS OF ACCUMULATOR AND PMN04940 00C3 0000 497 | DC *-* *EXTENTION PMN04950 RESIDENT MONITOR 499 | * PMN04970 500 | * ILS04--THIS SUBROUTINE SAVES XR1, XR2, STATUS, PMN04980 501 | * AND THE ACCUMULATOR AND ITS EXTENSION. PMN04990 502 | * IF THE INTERRUPT IS FOR A KEYBOARD REQ- * PMN05000 503 | * UEST,AND IF A MONITOR PROGRAM IS IN CON- * PMN05010 504 | * TROL, CONTROL IS PASSED TO DUMP. OTHER- * PMN05020 505 | * WISE, CONTROL IS PASSED TO THE KEYBOARD/ * PMN05030 506 | * CONSOLE PRINTER SUBROUTINE. WORD 12 AL- * PMN05040 507 | * WAYS CONTAINS THE ADDRESS OF $I400. * PMN05050 508 | * PMN05060 509 | * THE TABLE BELOW CONTAINS THE ADDRESSES OF THE PMN05070 510 | * INTERRUPT SERVICE ROUTINES FOR ALL THE DEVICES PMN05080 511 | * ON LEVEL 4. PMN05090 512 | * PMN05100 513 | * PMN05110 514 | * PMN05120 00C4 0000 515 | $I400 DC *-* ENTRY POINT PMN05130 00C5 D818 516 | STD $I490 SAVE ACCUMULATOR, EXTENSION PMN05140 00C6 280E 517 | STS $I410 SAVE STATUS PMN05150 00C7 690F 518 | STX 1 $I410+2 SAVE XR1 PMN05160 00C8 6A10 519 | STX 2 $I410+4 SAVE XR2 PMN05170 00C9 0816 520 | XIO $I492 SENSE DSW PMN05180 00CA 1002 521 | SLA 2 IS THIS INTERRUPT REQUEST PMN05190 00CB 4C10 00D0 522 | BSC L $I403,- BR IF NOT INTERRUPT REQUEST PMN05200 00CD 4480 002C 523 | BSI I $IREQ BR IF INTERRUPT REQUEST PMN05210 00CF FFFE 524 | DC -2 ERROR CODE PMN05220 00D0 6109 525 | $I403 LDX 1 9 NO. DEVICES ON LEVEL TO XR1 PMN05230 00D1 0810 526 | XIO $I494 SENSE ILSW PMN05240 00D2 1140 527 | SLCA 1 FIND CAUSE OF INTERRUPT PMN05250 528 | * $I405+1 CONTAINS ADDR OF LEVEL 4 IBT MINUS 1 PMN05260 00D3 4580 0000 529 | $I405 BSI I1 *-* BR TO SERVICE THE INTERRUPT PMN05270 00D5 2000 530 | $I410 LDS 0 RESTORE STATUS PMN05280 00D6 6500 0000 531 | LDX L1 *-* RESTORE XR1 PMN05290 00D8 6600 0000 532 | LDX L2 *-* RESTORE XR2 PMN05300 00DA C803 533 | LDD $I490 RESTORE ACCUMULATOR, EXT. PMN05310 00DB 4CC0 00C4 534 | BOSC I $I400 RETURN PMN05320 535 | * PMN05330 536 | * CONSTANTS AND WORK AREAS PMN05340 537 | * EVEN-NUMBERED LABELS ARE ON EVEN BOUNDARIES PMN05350 538 | * PMN05360 00DD 0000 539 | $DDSW DC *-* DSW FOR THE DISK PMN05370 00DE 540 | $I490 BSS E 2 CONTENTS OF ACCUMULATOR, EXT. PMN05380 00E0 0000 541 | $I492 DC *-* PMN05390 00E0 542 | $SYSC EQU *-1 VERSION AND MOD NO. PMN05400 00E1 0F00 543 | DC /0F00 IOCC FOR SENSE IOCC FOR KB/CP PMN05410 00E2 544 | $I494 BSS 1 PATCH AREA PMN05420 00E3 0300 545 | DC /0300 IOCC FOR SENSING ILSW04 PMN05430 RESIDENT MONITOR 547 | * 2-2 PMN05450 548 | * 2-2 PMN05460 00E4 0000 549 | $I496 DC *-* XR3 SETTING DURING XEQ 2-2 PMN05470 00E5 0F01 550 | DC /0F01 SENSE KEY BOARD W RESET2-2 PMN05480 551 | * 2-2 PMN05490 00E6 0000 552 | $I420 DC *-* ENTRY POINT FLUSH JOB 2-2 PMN05500 00E7 08FC 553 | XIO $I496 SENSE KEY BOARD W RESET2-2 PMN05510 00E8 4C40 00EA 554 | BOSC L $I425 TURN OF INTERRUPT 2-2 PMN05520 00EA 4400 003F 555 | $I425 BSI L $DUMP BR TO $DUMP 2-7 PMN05530 00EC FFFE 556 | DC -2 CALLING AUX SUP 2-7 PMN05540 557 | * 2-2 PMN05550 00ED 558 | BSS 1 PATCH AREA 2-7 PMN05560 00EE 0000 559 | $DBSY DC *-* NON-ZERO WHEN DISK I/O BUSY PMN05570 DISKZ 561 | *************************************************** PMN05590 562 | * * PMN05600 563 | *STATUS - VERSION 2, MODIFICATION 11 * PMN05610 564 | * * PMN05620 565 | *PROGRAM NAME- * PMN05630 566 | * *FULL NAME-FORTRAN/SYSTEM DISK I/O SUBROUTINE * PMN05640 567 | * *CALLING SEQUENCE- * PMN05650 568 | * LDD PARAM * PMN05660 569 | * BSI L DZ000 * PMN05670 570 | * WHERE PARAM IS THE LABEL OF A DOUBLE-WORD * PMN05680 571 | * CELL CONTAINING THE FUNCTION CODE AND THE * PMN05690 572 | * ADDR OF THE I/O BUFFER,I.E., ADDR OF WD CNT. * PMN05700 573 | * SEE 'CAPABILITIES' FOR DISCUSSION OF PARAM- * PMN05710 574 | * ETERS. * PMN05720 575 | * PMN05730 576 | *PURPOSE- * PMN05740 577 | * TO PROVIDE A SUBROUTINE TO PERFORM DISK OPERA-* PMN05750 578 | * TIONS. THIS SUBROUTINE IS INTENDED FOR USE BY * PMN05760 579 | * MONITOR PROGRAMS AND USER PROGRAMS WRITTEN IN * PMN05770 580 | * FORTRAN. THUS,IT IS INTENDED FOR USE IN AN * PMN05780 581 | * ERROR-FREE ENVIRONMENT. * PMN05790 582 | * * PMN05800 583 | *METHOD- * PMN05810 584 | * DISKZ REQUIRES A BUFFER,THE LENGTH OF WHICH IS* PMN05820 585 | * 2 GREATER THAN THE NO. WORDS TO BE READ/WRIT- * PMN05830 586 | * TEN. * PMN05840 587 | * * PMN05850 588 | *CAPABILITIES AND LIMITATIONS- * PMN05860 589 | * THE WD CNT,AS WELL AS DZ000,MUST BE ON AN EVEN* PMN05870 590 | * BOUNDARY,MUST BE IN THE RANGE 0-32767. THE * PMN05880 591 | * DRIVE CODE MUST BE IN BITS 1-3 OF THE SECTOR * PMN05890 592 | * ADDR,WHICH FOLLOWS THE WD CNT. THE FUNCTION * PMN05900 593 | * INDICATOR MUST BE XX00 FOR A READ OR XX01 FOR * PMN05910 594 | * A WRITE,WHERE 'XX' MEANS ANY 2 HEXADECIMAL * PMN05920 595 | * CHARACTERS. A WD CNT OF ZERO INDICATES A SEEK.* PMN05930 596 | * (READ OR WRITE MAY BE INDICATED.) AUTOMATIC * PMN05940 597 | * SEEKING IS PROVIDED AS A PART OF READ/WRITE. * PMN05950 598 | * A WRITE IS ALWAYS WITH A READ-BACK-CHECK. * PMN05960 599 | * DISKZ MAKES NO PREOPERATIVE PARAMETER CHECKS. * PMN05970 600 | * * PMN05980 601 | *SPECIAL FEATURES- * PMN05990 602 | * DISKZ PROVIDES ONLY THOSE FUNCTIONS MENTIONED * PMN06000 603 | * ABOVE. DISK1 AND DISKN OFFER THIS BASIC SET OF* PMN06010 604 | * FUNCTIONS PLUS OTHERS. * PMN06020 605 | * * PMN06030 606 | *************************************************** PMN06040 DISKZ 608 | * PROVIDE PARAMETERS FOR SYSTEM LOADER PMN06060 609 | * PMN06070 00F0 610 | BSS E 0 PMN06080 00F0 00EF 611 | DC $ZEND-* DISKZ WORD COUNT PMN06090 00F1 FF6A 612 | DC -@DZID PHASE ID PMN06100 00F2 00E8 613 | DC $ZEND-6-*+1 ADDR OF SLET EXTRACT PMN06110 00F3 0001 614 | DC 1 NO. ENTRIES IN SLET EXTRACT PMN06120 00F2 615 | ORG *-2 PMN06130 DISKZ 00F2 0000 617 | DZ000 DC *-* ENTRY POINT PMN06150 00F3 7400 00EE 618 | MDX L $DBSY,0 LOOP UNTIL OPERATION IN PMN06160 00F5 70FD 619 | MDX *-3 *PROGRESS IS COMPLETE PMN06170 00F6 7002 620 | MDX DZ020 BR AROUND INT ENTRY POINT PMN06180 621 | * PMN06190 622 | * INTERRUPT ENTRY POINT PMN06200 623 | * PMN06210 00F7 0000 624 | DZ010 DC *-* INTERRUPT ADDRESS PMN06220 00F8 7018 625 | MDX DZ180 BR TO SERVICE INTERRUPT PMN06230 00F9 690B 626 | DZ020 STX 1 DZ100+1 SAVE XR1 PMN06240 00FA 6A0C 627 | STX 2 DZ100+3 SAVE XR2 PMN06250 00FB 1008 628 | SLA 8 SHIFT INDICATOR 8 BITS PMN06260 00FC D03C 629 | STO DZ945 SAVE FUNCTION INDICATOR PMN06270 00FD 18D0 630 | RTE 16 PMN06280 00FE D05A 631 | STO DZ235+1 SAVE ADDR OF THE I/O AREA PMN06290 00FF 7054 632 | MDX DZ230 BR TO CONTINUE PMN06300 0100 4C00 0000 633 | DZ060 BSC L *-* BR TO SERVICE THE INTERRUPT PMN06310 634 | * PMN06320 635 | * START ALL DISK OPERATIONS PMN06330 636 | * PMN06340 0102 690F 637 | DZ070 STX 1 DZ180+1 SAVE ADDR OF THE I/O AREA PMN06350 0103 0822 638 | XIO DZ904 START AN OPERATION PMN06360 639 | * PMN06370 640 | * RETURN TO USER PMN06380 641 | * PMN06390 0104 6500 0000 642 | DZ100 LDX L1 *-* RESTORE XR1 PMN06400 0106 6600 0000 643 | LDX L2 *-* RESTORE XR2 PMN06410 0108 C0EE 644 | LD DZ010 INTERRUPT ENTRY 2-6 PMN06420 0109 4C98 00F2 645 | BSC I DZ000,+- NO,MONITOR ENTRY 2-6 PMN06430 010B D003 646 | STO DZ110+1 YES,INT ENTRY 2-6 PMN06440 010C 1810 647 | SRA 16 RESET 2-6 PMN06450 010D D0E9 648 | STO DZ010 *INT ENTRY 2-6 PMN06460 010E 4C00 0000 649 | DZ110 BSC L *-* 2-6 PMN06470 0110 1000 650 | NOP DUMMY OP 2-6 PMN06480 651 | * PMN06490 652 | * SERVICE ALL INTERRUPTS PMN06500 653 | * PMN06510 0111 6500 0000 654 | DZ180 LDX L1 *-* ADDR OF I/O AREA TO XR1 PMN06520 0113 6600 00F2 655 | LDX L2 DZ000 ADDR OF DZ000 TO XR2 PMN06530 0115 0816 656 | XIO DZ910 SENSE THE DSW PMN06540 0116 D0C6 657 | STO $DDSW SAVE THE DSW PMN06550 0117 4810 658 | BSC - SKIP IF ERROR BIT SET 2-6 PMN06560 0118 70E7 659 | MDX DZ060 BRANCH IF ERROR BIT NOT SET PMN06570 0119 C80A 660 | DZ185 LDD DZ902 RESTORE WORD COUNT PMN06580 011A D900 661 | STD 1 0 *AND SECTOR ADDRESS PMN06590 011B 74FF 00EE 662 | MDX L $DBSY,-1 SKIP IF 16 RETRIES DONE PMN06600 011D 703A 663 | MDX DZ235 BRANCH IF LESS THAN 16 PMN06610 664 | * PMN06620 665 | * TRAP OUT TO POSTOPERATIVE TRAP PMN06630 666 | * PMN06640 011E C80F 667 | LDD DZ912 1+SCTR ADDR TO EXTENSION PMN06650 011F C011 668 | LD DZ915 PMN06660 0120 4293 669 | DZ190 BSI 2 $PST2-X2 BR TO POSTOPERATIVE ER TRAP PMN06670 0121 7034 670 | MDX DZ232 RETRY OPERATION 2-6 PMN06680 671 | * PMN06690 672 | * CONSTANTS AND WORK AREAS PMN06700 673 | * PMN06710 0122 674 | BSS E 0 PMN06720 675 | * EVEN-NUMBERED LABELS ARE ON EVEN BOUNDARIES PMN06730 0122 0001 676 | DZ900 DC 1 CONSTANT,READ-AFTER-SEEK WD CNT PMN06740 0123 0000 677 | DZ901 DC 0 CURRENT ARM POSITION PMN06750 0124 0000 678 | DZ902 DC *-* LAST TWO WORDS OF SECTOR PMN06760 0125 0000 679 | DC *-* *PREVIOUSLY READ PMN06770 0126 0000 680 | DZ904 DC *-* IOCC FOR OPERATION CURRENTLY PMN06780 0127 0000 681 | DZ905 DC *-* *BEING PERFORMED PMN06790 0128 0000 682 | DZ906 DC *-* SAVE AREA FOR IOCC FOR PMN06800 0129 0000 683 | DZ907 DC *-* *USER-REQUESTED OPERATION PMN06810 012A 0122 684 | DZ908 DC DZ900 IOCC FOR READ PMN06820 012B 0000 685 | DZ909 DC *-* *AFTER SEEK PMN06830 012C 0000 686 | DZ910 DC *-* 2ND WORD OF SEEK IOCC PMN06840 012D 0000 687 | DZ911 DC *-* SENSE IOCC PMN06850 012E 0000 688 | DZ912 DC *-* INTERMEDIATE WORD COUNT PMN06860 012F 0000 689 | DZ913 DC *-* ADDR OF NEXT SEQUENTIAL SECTOR PMN06870 0130 5002 690 | DZ914 DC /5002 WRITE SELECT/POWER UNSAFE INDR PMN06880 0131 5004 691 | DZ915 DC /5004 READ/WRITE/SEEK ERROR INDICATOR PMN06890 0132 FEC0 692 | DZ916 DC -320 TO BE USED TO SIMULTANEOUSLY PMN06900 0133 0001 693 | DC 1 *DECR WD CNT, INCR SCTR ADDR PMN06910 0134 0080 694 | DZ920 DC /0080 READ CHECK BIT FOR IOCC PMN06920 0135 0600 695 | DZ925 DC /0600 2ND WD OF READ IOCC W/O AREA CD PMN06930 0136 0008 696 | DZ930 DC 8 NO. SECTORS PER CYLINDER PMN06940 0137 5000 697 | DZ935 DC /5000 NOT READY DISPLAY CODE PMN06950 0138 0FF8 698 | DZ940 DC /0FF8 'AND' OUT DR CODE, SCTR ADDR PMN06960 0139 0000 699 | DZ945 DC *-* FUNC INDICATOR (0=READ,1=WRITE) PMN06970 013A 0701 700 | DZ950 DC /0701 SENSE IOCC W/O AREA CODE PMN06980 013B 0007 701 | DZ955 DC /0007 'AND' OUT ALL BUT SCTR NO. PMN06990 013C 000A 702 | DZ960 DC $DCYL-$CYLN BASE DEFECTIVE CYL ADDR PMN07000 013D 009F 703 | DZ965 DC $ACDE BASE AREA CODE ADDR PMN07010 013E FFFB 704 | DZ970 DC $CYLN-$ACDE BASE ARM POSITION ADDR PMN07020 013F 0000 705 | DZ975 DC *-* 2ND WORD OF READ CHECK IOCC PMN07030 0140 0400 706 | DZ980 DC /0400 2ND WD OF SEEK IOCC W/O AREA CD PMN07040 0141 0141 707 | DZ985 DC 321 NO. WORDS PER SECTOR (W/ ADDR) PMN07050 0142 0000 708 | DZ990 DC *-* CURRENT SECTOR NO. PMN07060 0143 FFFF 709 | DZ995 DC -1 MASK FOR COMPLEMENTING PMN07070 710 | * PMN07080 711 | * RESERVED FOR SAVING CORE ON A DUMP ENTRY TO SKEL PMN07090 712 | * PMN07100 0144 713 | BSS 2 THIS AREA MUST BE AT $CIBA+319 PMN07110 00F2 714 | X2 EQU DZ000 PMN07120 715 | * PMN07130 716 | * PMN07140 717 | * PMN07150 0146 1810 718 | DZ210 SRA 16 PMN07160 0147 D0A6 719 | STO $DBSY CLEAR BUSY INDICATOR PMN07170 0148 74FF 0032 720 | MDX L $IOCT,-1 DECREMENT IOCS COUNTER PMN07180 014A 1000 721 | NOP PMN07190 014B 70B8 722 | MDX DZ100 TO EXIT PMN07200 723 | * PMN07210 724 | * PREPARE TO TRAP OUT ON 'POWER UNSAFE' CONDITION PMN07220 725 | * PMN07230 014C C8D7 726 | DZ215 LDD DZ902 RESTORE WORD COUNT 2-6 PMN07240 014D D900 727 | STD 1 0 *AND SECTOR ADDRES 2-6 PMN07250 014E C0E1 728 | LD DZ914 PMN07260 014F 70D0 729 | MDX DZ190 BR TO TPAP OUT PMN07270 730 | * PMN07280 731 | * PREPARE TO TRAP OUT ON 'NOT READY' CONDITION PMN07290 732 | * PMN07300 0150 C0E6 733 | DZ220 LD DZ935 FETCH ERROR CODE PMN07310 0151 4400 0028 734 | BSI L $PRET BR TO PREOPERATIVE ERR TRAP PMN07320 0153 7038 735 | MDX DZ340 RETRY THE OPERATION PMN07330 736 | * PMN07340 737 | * STATEMENTS MOVED 2-1 PMN07350 738 | * PMN07360 0154 7401 0032 739 | DZ230 MDX L $IOCT,1 INCREMENT IOCS COUNTER PMN07370 0156 6211 740 | DZ232 LDX 2 @TCNT TURN BUSY INDICATOR ON 2-10 PMN07380 0157 6A96 741 | STX 2 $DBSY * 2-6 PMN07390 0158 6500 0000 742 | DZ235 LDX L1 *-* ADDR I/O AREA TO XR1 PMN07400 015A C900 743 | LDD 1 0 PMN07410 015B D8C8 744 | STD DZ902 SAVE WORD COUNT, SCTR ADDR PMN07420 015C D8D1 745 | STD DZ912 PMN07430 015D 1810 746 | DZ240 SRA 16 PMN07440 015E 1084 747 | SLT 4 DRIVE CODE IN BITS 12-15 PMN07450 015F D00E 748 | STO DZ280+1 PMN07460 0160 80DC 749 | A DZ965 COMPUTE AND STORE THE PMN07470 0161 D01C 750 | STO DZ330+1 *ADDR OF THE AREA CODE PMN07480 0162 80DB 751 | A DZ970 COMPUTE AND STORE THE PMN07490 0163 D034 752 | STO DZ350+1 *ADDR OF THE ARM POSITION PMN07500 0164 80D7 753 | A DZ960 ADD IN BASE DT ADDR PMN07510 0165 8008 754 | A DZ280+1 ADD IN THE DRIVE PMN07520 0166 8007 755 | A DZ280+1 *CODE TWICE MORE PMN07530 0167 D006 756 | STO DZ280+1 PMN07540 0168 62FD 757 | LDX 2 -3 INITIALIZE COUNTER FOR LOOP PMN07550 0169 69BE 758 | STX 1 DZ906 PMN07560 016A C101 759 | LD 1 1 FETCH DESIRED SECTOR ADDR PMN07570 016B E0CC 760 | AND DZ940 'AND' OUT SECTOR NO. PMN07580 016C D101 761 | DZ250 STO 1 1 *AND DRIVE CODE PMN07590 016D 9400 0000 762 | DZ280 S L *-* SUB DEFECTIVE CYLINDER ADDR PMN07600 016F 4828 763 | BSC Z+ SKIP IF BAD CYLINDER PMN07610 0170 7007 764 | MDX DZ300 BR TO CONTINUE PROCESSING PMN07620 0171 C101 765 | LD 1 1 PMN07630 0172 80C3 766 | A DZ930 INCREMENT SCTR ADDR BY 8 PMN07640 0173 7401 016E 767 | MDX L DZ280+1,1 POINT TO NEXT DEFECTIVE CYL PMN07650 0175 7201 768 | MDX 2 1 SKIP AFTER 3RD PASS PMN07660 0176 70F5 769 | MDX DZ250 COMPARE W/ NEXT DEF CYL ADR PMN07670 0177 D101 770 | STO 1 1 SCTR ADDR WITH 3 DEF CYL2-4 PMN07680 771 | * PMN07690 772 | * CONSTRUCT THE 2ND WORD OF ALL IOCC'S PMN07700 773 | * PMN07710 0178 6600 00F2 774 | DZ300 LDX L2 DZ000 ADDR OF DZ000 TO XR2 PMN07720 017A C23D 775 | LD 2 DZ913-X2 FETCH SECTOR ADDRESS PMN07730 017B E249 776 | AND 2 DZ955-X2 'AND' OUT ALL BUT SECTOR NO PMN07740 017C D250 777 | STO 2 DZ990-X2 SAVE SECTOR NO. PMN07750 017D C400 0000 778 | DZ330 LD L *-* FETCH AREA CODE PMN07760 017F EA4E 779 | OR 2 DZ980-X2 'OR' IN SEEK FUNCTION CODE PMN07770 0180 D23A 780 | STO 2 DZ910-X2 SEEK IOCC MINUS DIRECTION PMN07780 0181 EA43 781 | OR 2 DZ925-X2 'OR' IN READ FUNCTION CODE PMN07790 0182 D239 782 | STO 2 DZ909-X2 IOCC FOR READ-AFTER-SEEK PMN07800 0183 EA50 783 | OR 2 DZ990-X2 'OR' IN SECTOR NO. PMN07810 0184 9247 784 | S 2 DZ945-X2 COMPLETE READ/WRITE CODE PMN07820 0185 D237 785 | STO 2 DZ907-X2 2ND WD OF READ/WRITE IOCC PMN07830 0186 EA42 786 | OR 2 DZ920-X2 'OR' IN READ CHECK BIT PMN07840 0187 8247 787 | A 2 DZ945-X2 PMN07850 0188 D24D 788 | STO 2 DZ975-X2 2ND WD OF READ CHECK IOCC PMN07860 0189 EA48 789 | OR 2 DZ950-X2 'OR' IN SENSE IOCC BITS PMN07870 018A D23B 790 | STO 2 DZ911-X2 COMPLETED SENSE IOCC PMN07880 018B CA3C 791 | LDD 2 DZ912-X2 1+SCTR ADDR TO EXTENSION PMN07890 018C 0A3A 792 | DZ340 XIO 2 DZ910-X2 SENSE FOR DISK READY PMN07900 018D D2EB 793 | STO 2 $DDSW-X2 SAVE THE DSW PMN07910 018E 4828 794 | BSC Z+ SKIP UNLESS POWER UNSAFE OR PMN07920 018F 70BC 795 | MDX DZ215 *WRITE SELECT, BR OTHERWISE PMN07930 0190 1002 796 | SLA 2 BR TO PREOPERATIVE ERR TRAP PMN07940 0191 4828 797 | BSC Z+ *IF DISK NOT READY, SKIP PMN07950 0192 70BD 798 | MDX DZ220 *OTHERWISE PMN07960 799 | * STATEMENTS REMOVED 2-1 PMN07970 0193 1002 800 | SLA 2 CHECK FOR ARM AT HOME 2-11 PMN07980 0194 4828 801 | BSC +Z SKIP IF NOT HOME 2-11 PMN07990 0195 7010 802 | MDX DZ390+1 BR TO VERIFY ARM AT HOM2-11 PMN08000 803 | * 2-11 PMN08010 804 | * 3 INSTRUCTIONS REMOVED 2-11 PMN08020 805 | * 2-11 PMN08025 0196 C101 806 | LD 1 1 FETCH DESIRED CYLINDER ADDR PMN08030 0197 9400 0000 807 | DZ350 S L *-* SUBTRACT ARM POSITION PMN08040 0199 4818 808 | BSC +- SKIP IF SEEK NECESSARY PMN08050 019A 701B 809 | MDX DZ400 BRANCH TO PERFORM OPERATION PMN08060 810 | * PMN08070 811 | * SEEK PMN08080 812 | * PMN08090 019B 1893 813 | SRT 19 PUT NO. CYLINDERS IN EXT PMN08100 019C 180F 814 | SRA 15 + OR - SIGN TO BIT 15 PMN08110 019D 1002 815 | SLA 2 SHIFT SIGN TO BIT 13 PMN08120 019E EA3A 816 | OR 2 DZ910-X2 "OR" IN REMAINDER OF IOCC PMN08130 019F 18D0 817 | RTE 16 PMN08140 01A0 4810 818 | BSC - SKIP IF SEEK TOWARD HOME PMN08150 01A1 7002 819 | MDX DZ380 BRANCH IF SEEK TOWARD CENTR PMN08160 01A2 F251 820 | EOR 2 DZ995-X2 COMPLEMENT NO. CYLS TO BE PMN08170 01A3 8230 821 | A 2 DZ900-X2 *SOUGHT TO GET POSITIVE NO. PMN08180 01A4 DA34 822 | DZ380 STD 2 DZ904-X2 PMN08190 01A5 420F 823 | DZ390 BSI 2 DZ070-1-X2 START SEEK 2-1 PMN08200 824 | * PMN08210 825 | * SEEK COMPLETE INTERRUPT PROCESSING PMN08220 826 | * PMN08230 01A6 CA38 827 | LDD 2 DZ908-X2 SET UP IOCC FOR PMN08240 01A7 DA34 828 | STD 2 DZ904-X2 *READ AFTER SEEK PMN08250 01A8 420F 829 | BSI 2 DZ070-1-X2 START READ-AFTER-SEEK PMN08260 830 | * PMN08270 831 | * READ-AFTER-SEEK COMPLETE INTERRUPT PROCESSING PMN08280 832 | * PMN08290 01A9 C231 833 | LD 2 DZ901-X2 FETCH ADR OF SCTR JUST READ PMN08300 01AA D480 0198 834 | STO I DZ350+1 UPDATE ARM POSITION PMN08310 01AC 9101 835 | S 1 1 SUB DESIRED SCTR ADDR PMN08320 01AD 4C18 01B6 836 | BSC L DZ400,+- BR IF SEEK SUCCESSFUL 2-11 PMN08330 01AF 74FF 00EE 837 | MDX L $DBSY,-1 SKIP IF NO MORE RETRIES2-11 PMN08332 01B1 70E4 838 | MDX DZ350-1 BR TO CALC NEW SEEK 2-11 PMN08334 01B2 7401 00EE 839 | MDX L $DBSY,1 PREVENT A MINUS $DBSY 2-11 PMN08336 01B4 4C00 0119 840 | BSC L DZ185 BR TO TRAP OUT 2-11 PMN08338 841 | * PMN08340 842 | * PMN08350 843 | * READ/WRITE PMN08360 844 | * PMN08370 01B6 CA3C 845 | DZ400 LDD 2 DZ912-X2 FETCH INTERMEDIATE WD CNT PMN08380 01B7 4808 846 | BSC + SKIP, WD CNT NOT EXHAUSTED PMN08390 01B8 7011 847 | MDX DZ410 BR IF WD CNT EXHAUSTED 2-11 PMN08400 01B9 8A40 848 | AD 2 DZ916-X2 DECREMENT WORD COUNT AND PMN08410 01BA DA3C 849 | STD 2 DZ912-X2 *INCREMENT SECTOR ADDRESS PMN08420 01BB 4830 850 | BSC Z- SKIP IF THIS IS LAST SECTOR PMN08430 01BC 1810 851 | SRA 16 CLEAR ACCUMULATOR PMN08440 01BD 824F 852 | A 2 DZ985-X2 ADD BACK 321 TO WD CNT PMN08450 01BE D100 853 | STO 1 0 STORE RESULT IN I/O AREA PMN08460 01BF CA36 854 | LDD 2 DZ906-X2 RESTORE IOCC FOR ORIGINALLY PMN08470 01C0 DA34 855 | STD 2 DZ904-X2 *REQUESTED OPERATION PMN08480 01C1 C101 856 | LD 1 1 ADD SECTOR NO. TO SECTOR PMN08490 01C2 EA50 857 | OR 2 DZ990-X2 *ADDRESS PMN08500 01C3 D101 858 | STO 1 1 PMN08510 01C4 420F 859 | BSI 2 DZ070-1-X2 START READ/WRITE OPERATION PMN08520 860 | * PMN08530 861 | * READ/WRITE COMPLETE INTERRUPT PROCESSING PMN08540 862 | * PMN08550 01C5 C24D 863 | LD 2 DZ975-X2 SET UP FOR READ CHECK PMN08560 01C6 D235 864 | STO 2 DZ905-X2 PMN08570 01C7 C247 865 | LD 2 DZ945-X2 FETCH FUNCTION INDICATOR PMN08580 01C8 4820 866 | BSC Z SKIP IF READ REQUESTED PMN08590 01C9 420F 867 | BSI 2 DZ070-1-X2 START READ CHECK OPERATION PMN08600 01CA CA32 868 | DZ410 LDD 2 DZ902-X2 RESTORE LST 2 WDS, SEC-2-11 PMN08610 01CB D900 869 | STD 1 0 *TOR PREVIOUSLY READ PMN08620 01CC C23C 870 | LD 2 DZ912-X2 FETCH INTERMEDIATE WD CNT PMN08630 871 | * SHORT BSC AND MDX CHANGED TO FOLLOWING BSC L 2-11 PMN08640 01CD 4C08 0146 872 | BSC L DZ210,+ BR IF WD CNT EXHAUSTED 2-11 PMN08650 01CF 7500 0140 873 | MDX L1 320 POINT XR1 TO NEW I/O AREA PMN08660 01D1 C900 874 | LDD 1 0 SAVE LAST 2 WDS OF SECTOR PMN08670 01D2 DA32 875 | STD 2 DZ902-X2 *JUST READ/WRITTEN PMN08680 01D3 CA3C 876 | LDD 2 DZ912-X2 WD CNT, SCTR ADDR NEXT OP PMN08690 01D4 D900 877 | STD 1 0 STORE BOTH IN NEW I/O AREA PMN08700 01D5 7087 878 | MDX DZ240 BACK TO SET UP NEXT OPERATN PMN08710 879 | * PMN08720 880 | * PMN08730 01E0 881 | $ZEND EQU /01E0 1 + END OF DISKZ 2-11 PMN08735 01D6 882 | BSS $ZEND-*-6 PATCH AREA 2-11 PMN08740 883 | * PMN08750 884 | * PMN08760 01DA 00A0 885 | DC @CIL1 ID NO. OF CORE IMAGE LDR,P1 PMN08770 01DB 0000 886 | $CIDN DC *-* CORE ADDR/CID NO. PMN08780 01DC 0000 887 | DC *-* WORD COUNT PMN08790 01DD 0000 888 | DC *-* SCTR ADDR PMN08800 01DE 889 | BSS 2 WD CNT, SCTR ADDR CORE LDS PMN08810 890 | * $ZEND EQUATE MOVED 2-11 PMN08820 EQUIVALENCES 892 | * PMN08840 893 | * EQUIVALENCES FOR DCOM PARAMETERS PMN08850 894 | * PMN08860 0004 895 | #NAME EQU 4 NAME OF PROGRAM/CORE LOAD PMN08870 0006 896 | #DBCT EQU 6 BLOCK CT OF PROGRAM/CORE LOAD PMN08880 0007 897 | #FCNT EQU 7 FILES SWITCH PMN08890 0008 898 | #SYSC EQU 8 SYSTEM/NON-SYSTEM CARTRIDGE INDR PMN08900 0009 899 | #JBSW EQU 9 JOBT SWITCH PMN08910 000A 900 | #CBSW EQU 10 CLB-RETURN SWITCH PMN08920 000B 901 | #LCNT EQU 11 NO. OF LOCALS PMN08930 000C 902 | #MPSW EQU 12 CORE MAP SWITCH PMN08940 000D 903 | #MDF1 EQU 13 NO. DUP CTRL RECORDS (MODIF) PMN08950 000E 904 | #MDF2 EQU 14 ADDR OF MODIF BUFFER PMN08960 000F 905 | #NCNT EQU 15 NO. OF NOCALS PMN08970 0010 906 | #ENTY EQU 16 RLTV ENTRY ADDR OF PROGRAM PMN08980 0011 907 | #RP67 EQU 17 1442-5 SWITCH PMN08990 0012 908 | #TODR EQU 18 OBJECT WORK STORAGE DRIVE CODE PMN09000 0014 909 | #FHOL EQU 20 ADDR LARGEST HOLE IN FIXED AREA PMN09010 0015 910 | #FSZE EQU 21 BLK CNT LARGEST HOLE IN FXA PMN09020 0016 911 | #UHOL EQU 22 ADDR LAST HOLE IN USER AREA 2-10 PMN09030 0017 912 | #USZE EQU 23 BLK CNT LAST HOLE IN UA 2-10 PMN09040 0018 913 | #DCSW EQU 24 DUP CALL SWITCH PMN09050 0019 914 | #PIOD EQU 25 PRINCIPAL I/O DEVICE INDICATOR PMN09060 001A 915 | #PPTR EQU 26 PRINCIPAL PRINT DEVICE INDICATOR PMN09070 001B 916 | #CIAD EQU 27 RLTV ADDR IN @STRT OF CIL ADDR PMN09080 001C 917 | #ACIN EQU 28 AVAILABLE CARTRIDGE INDICATOR PMN09090 001D 918 | #GRPH EQU 29 2250 INDICATOR 2G2 PMN09100 001E 919 | #GCNT EQU 30 NO. G2250 RECORDS 2G2 PMN09110 001F 920 | #LOSW EQU 31 LOCAL-CALLS-LOCAL SWITCH 2-2 PMN09120 0020 921 | #X3SW EQU 32 SPECIAL ILS SWITCH 2-2 PMN09130 0021 922 | #ECNT EQU 33 NO. OF *EQUAT RCDS 2-4 PMN09140 0023 923 | #ANDU EQU 35 1+BLK ADDR END OF UA (ADJUSTED) PMN09150 0028 924 | #BNDU EQU 40 1+BLK ADDR END OF UA (BASE) PMN09160 002D 925 | #FPAD EQU 45 FILE PROTECT ADDR PMN09170 0032 926 | #PCID EQU 50 CARTRIDGE ID, PHYSICAL DRIVE PMN09180 0037 927 | #CIDN EQU 55 CARTRIDGE ID, LOGICAL DRIVE PMN09190 003C 928 | #CIBA EQU 60 SCTR ADDR OF CIB PMN09200 0041 929 | #SCRA EQU 65 SCTR ADDR OF SCRA PMN09210 0046 930 | #FMAT EQU 70 FORMAT OF PROG IN WORKING STG PMN09220 004B 931 | #FLET EQU 75 SCTR ADDR 1ST SCTR OF FLET PMN09230 0050 932 | #ULET EQU 80 SCTR ADDR 1ST SCTR OF LET PMN09240 0055 933 | #WSCT EQU 85 BLK CNT OF PROG IN WORKING STG PMN09250 005A 934 | #CSHN EQU 90 NO. SCTRS IN CUSHION AREA PMN09260 935 | * PMN09270 936 | * EQUIVALENCES FOR PHASE ID NUMBERS PMN09280 937 | * PMN09290 006E 938 | @MCRA EQU 110 PHASE ID FOR MCRA PMN09300 0073 939 | @SUP6 EQU 115 PHASE ID FOR DUMP PROG 2-10 PMN09310 0074 940 | @SUP7 EQU 116 PHASE ID FOR AUX SUPV 2-10 PMN09320 0078 941 | @CLB0 EQU 120 PHASE ID FOR CLB, PHASE 0/1 PMN09330 008C 942 | @1403 EQU 140 PHASE ID FOR SYS 1403 SUBR PMN09340 008D 943 | @1132 EQU 141 PHASE ID FOR SYS 1132 SUBR PMN09350 008E 944 | @CPTR EQU 142 PHASE ID FOR SYS CP SUBR PMN09360 008F 945 | @2501 EQU 143 PHASE ID FOR SYS 2501 SUBR PMN09370 0090 946 | @1442 EQU 144 PHASE ID FOR SYS 1442 SUBR PMN09380 0091 947 | @1134 EQU 145 PHASE ID FOR SYS 1134 SUBR PMN09390 0092 948 | @KBCP EQU 146 PHASE ID FOR SYS KB/CP SUBR PMN09400 0093 949 | @CDCV EQU 147 PHASE ID FOR SYS CD CONV PMN09410 0094 950 | @PTCV EQU 148 PHASE ID FOR SYS 1134 CONV PMN09420 0095 951 | @KBCV EQU 149 PHASE ID FOR SYS KB CONV PMN09430 0096 952 | @DZID EQU 150 PHASE ID FOR DISKZ PMN09440 0097 953 | @D1ID EQU 151 PHASE ID FOR DISKI PMN09450 0098 954 | @DNID EQU 152 PHASE ID FOR DISKN PMN09460 00A0 955 | @CIL1 EQU 160 PHASE ID FOR CI LOADER,PH 1 PMN09470 00A1 956 | @CIL2 EQU 161 PHASE ID FOR CI LOADER,PH 2 PMN09480 957 | * PMN09490 958 | * EQUIVALENCES FOR RESIDENT MONITOR PMN09500 959 | * PMN09510 0014 960 | $LKNM EQU $HASH SAVE AREA FOR NAME OF LINK PMN09520 0016 961 | $RMSW EQU $HASH+2 EXIT-LINK-DUMP SW(-1,0,+1) PMN09530 0017 962 | $CXR1 EQU $HASH+3 SAVE AREA FOR XR1 PMN09540 0018 963 | $CLSW EQU $HASH+4 SW FOR CORE IMAGE LDR,PH 2 PMN09550 0019 964 | $DMPF EQU $HASH+5 DUMP FORMAT CODE PMN09560 001A 965 | $ACEX EQU $HASH+6 ACC AND EXT WHEN ENTER DUMP PMN09570 005A 966 | $CILA EQU $S150+1 ADDR OF END OF DK I/O - 3 PMN09580 00B9 967 | $IBT2 EQU $I205+1 ADR OF SERVICE PART OF DKIO PMN09590 00D4 968 | $IBT4 EQU $I405+1 ADDR OF THE IBT PMN09600 00EF 969 | $SNLT EQU $DBSY+1 SENSE LIGHT INDICATOR PMN09610 00F0 970 | $PAUS EQU DZ000-2 PAUSE,INTERRUPT INDICATOR PMN09620 00F1 971 | $RWCZ EQU DZ000-1 READ/WRITE SWITCH (CARDZ) PMN09630 00E4 972 | $XR3X EQU $I496 XR3 SETTING DURING XEQ 2-2 PMN09640 973 | * PMN09650 974 | * EQUIVALENCES FOR ABSOLUTE SECTOR ADDRESSES PMN09660 975 | * PMN09670 0000 976 | @IDAD EQU 0 ADDR OF SCTR WITH ID,DEF CYL ADR PMN09680 0001 977 | @DCOM EQU 1 ADDR OF SCTR CONTAINING DCOM PMN09690 0002 978 | @RIAD EQU 2 ADDROOF SCTR CONTAINING RES IMGE PMN09700 0003 979 | @SLET EQU 3 ADDR OF SCTR CONTAINING SLET PMN09710 0006 980 | @RTBL EQU 6 ADDR OF SCTR CONTAINING RELD TBL PMN09720 0007 981 | @HDNG EQU 7 ADDR OF SCTR CONTAINING PAGE HDR PMN09730 0000 982 | @STRT EQU 0 ADDR OF SCTR W/ COLD START PROG PMN09740 983 | * PMN09750 984 | * EQUIVALENCES FOR THE CORE IMAGE HEADER PMN09760 985 | * PMN09770 0000 986 | @XEQA EQU 0 RLTV ADDR OF CORE LOAD EXEC ADDR PMN09780 0001 987 | @CMON EQU 1 RLTV ADDR OF WD CNT OF COMMON PMN09790 0002 988 | @DREQ EQU 2 RLTV ADDR OF DISK I/O INDICATOR PMN09800 0003 989 | @FILE EQU 3 RLTV ADDR OF NO. FILES DEFINED PMN09810 0004 990 | @HWCT EQU 4 RLTV ADDR OF WD CNT OF CI HEADER PMN09820 0005 991 | @LSCT EQU 5 SCTR CNT OF FILES IN WK STORAGE PMN09830 0006 992 | @LDAD EQU 6 RLTV ADDR OF LOAD ADDR CORE LOAD PMN09840 0007 993 | @XCTL EQU 7 RLTV ADDR DISK1/DISKN EXIT CTRL PMN09850 0008 994 | @TVWC EQU 8 RLTV ADDR OF WD CNT OF TV PMN09860 0009 995 | @WCNT EQU 9 RLTV ADDR OF WD CNT OF CORE LOAD PMN09870 000A 996 | @XR3X EQU 10 RLTV ADDR OF EXEC SETTING OF XR3 PMN09880 000B 997 | @ITVX EQU 11 RLTV ADDR OF 1ST WD OF ITV PMN09890 0011 998 | @ILS4 EQU 17 RLTV ADDR OF 1ST WD OF IBT4 PMN09900 001A 999 | @OVSW EQU 26 RLTV ADDR OF LOCAL/SOCAL SWITCH PMN09910 001B 1000 | @CORE EQU 27 CORE SIZE OF BUILDING SYST 2-10 PMN09920 001D 1001 | @HEND EQU 29 RLTV ADDR OF LAST WD OF CI HDR PMN09930 1002 | * PMN09940 1003 | * EQUIVALENCES FOR LET/FLET PMN09950 1004 | * PMN09960 0005 1005 | @LFHD EQU 5 WORD COUNT OF LET/FLET HEADER PMN09970 0003 1006 | @LFEN EQU 3 NO OF WDS PER LET/FLET ENTRY PMN09980 0000 1007 | @SCTN EQU 0 RLTY ADDR OF LET/FLET SCTR NO. PMN09990 0001 1008 | @UAFX EQU 1 RLTV ADDR OF SCTR ADDR OF UA/FXA PMN10000 0003 1009 | @WDSA EQU 3 RLTV ADDR OF WDS AVAIL IN SCTR PMN10010 0004 1010 | @NEXT EQU 4 RLTV ADDR OF ADDR NEXT SCTR PMN10020 0000 1011 | @LFNM EQU 0 RLTV ADDR OF LET/FLET ENTRY NAME PMN10030 0002 1012 | @BLCT EQU 2 RLTV ADDR OF LET/FLET ENTRY DBCT PMN10040 1013 | * PMN10050 1014 | * MISCELLANEOUS EQUIVALENCES PMN10060 1015 | * PMN10070 0033 1016 | @ISTV EQU 51 ISS NO. ADJUSTMENT FACTOR 2-1 PMN10080 0005 1017 | @MXDR EQU 5 MAX NO. DRIVES SUPPORTED PMN10090 0380 1018 | @COMZ EQU 896 LOW COMMON LIMIT FOR DISKZ PMN10100 04C0 1019 | @COM1 EQU 1216 LOW COMMON LIMIT FOR DISK1 PMN10110 0600 1020 | @COM2 EQU 1536 LOW COMMON LIMIT OF DISKN PMN10120 0011 1021 | @TCNT EQU 17 NO. TRIES BEFORE DISK ERROR PMN10130 00F9 1022 | @DKEP EQU DZ000+7 LIBF ENTRY TO DISK1/N PMN10140 00F7 1023 | @DKIP EQU DZ000+5 DISK I/O INTERRUPT ENTRY PT PMN10150 0010 1024 | @SCIB EQU 16 CIB SECTOR COUNT 2-2 PMN10160 0003 1025 | @HCIB EQU 3 HIGH COMMON SECTOR COUNT 2-2 PMN10170 1000 1026 | @MCOR EQU 4096 SIZE OF MINIMUM CORE 2-2 PMN10180 007F 1027 | Y EQU 127 PMN10190 1028 | * PMN10200 0004 1029 | @CIDN EQU 4 RLTV ADDR CARTRIDGE ID 2-2 PMN10210 0005 1030 | @COPY EQU 5 RLTV ADDR COPY INDICATOR 2-2 PMN10220 0001 1031 | @DCTB EQU 1 RLTV ADDR DEFECTIV CYL TBL 2-2 PMN10230 0008 1032 | @DTYP EQU 8 RLTV ADDR DISK TYPE INDR 2-2 PMN10240 COLD START PROGRAM 1034 | *************************************************** PMN10260 1035 | * * PMN10270 1036 | *STATUS - VERSION 2, MODIFICATION 11 * PMN10280 1037 | * * PMN10290 1038 | *FUNCTION/OPERATION - * PMN10300 1039 | * THIS PROGRAM IS READ INTO CORE FROM SECTOR 0 * PMN10310 1040 | * OF THE SYSTEM CARTRIDGE AND TRANSFERRED TO BY * PMN10320 1041 | * THE COLD START CARD. DEFECTIVE CYLINDER * PMN10330 1042 | * ADDRESSES, CARTRIDGE ID AND DISKZ ARE ALSO ON * PMN10340 1043 | * SECTOR 0 AND ARE READ IN AT THE SAME TIME. * PMN10350 1044 | * ALL THAT REMAINS FOR THE COLD START PROGRAM IS* PMN10360 1045 | * TO READ IN THE RESIDENT IMAGE, SAVE THE * PMN10370 1046 | * CARTRIDGE ID AND TRANSFER TO THE AUXILIARY * PMN10380 1047 | * SUPERVISOR THROUGH $DUMP IN THE RESIDENT * PMN10390 1048 | * MONITOR. * PMN10400 1049 | * * PMN10410 1050 | *ENTRY - CR010-2 * PMN10420 1051 | * ENTER PROGRAM BY TRANSFER FROM COLD START CARD* PMN10430 1052 | * * PMN10440 1053 | *INPUT - * PMN10450 1054 | * THE CARTRIDGE ID OF LOGICAL DRIVE ZERO (THE * PMN10460 1055 | * SYSTEM CARTRIDGE) IS READ IN FROM SECTOR 0 * PMN10470 1056 | * WITH THE COLD START PROGRAM. * PMN10480 1057 | * * PMN10490 1058 | *OUTPUT - * PMN10500 1059 | * * THE RESIDENT IMAGE IS READ INTO CORE FROM * PMN10510 1060 | * THE DISK. * PMN10520 1061 | * * IN COMMA- * PMN10530 1062 | * $ACDE * PMN10540 1063 | * $CIBA-1 * PMN10550 1064 | * $CIDN * PMN10560 1065 | * $CYLN * PMN10570 1066 | * $DBSY * PMN10580 1067 | * $IOCT * PMN10590 1068 | * * PMN10600 1069 | *EXTERNAL REFERENCES - * PMN10610 1070 | * DZ000 SUBROUTINE TO PERFORM DISK I/O. * PMN10620 1071 | * * PMN10630 1072 | *EXITS - * PMN10640 1073 | * THE ONLY EXIT IS TO THE AUXILIARY SUPERVISOR * PMN10650 1074 | * AS FOLLOWS- * PMN10660 1075 | * BSI $DUMP * PMN10670 1076 | * DC -1 * PMN10680 1077 | * * PMN10690 1078 | *TABLES/WORK AREAS - N/A * PMN10700 1079 | * * PMN10710 1080 | *ATTRIBUTES - * PMN10720 1081 | * THIS PROGRAM IS NOT NATURALLY RELOCATABLE. * PMN10730 1082 | * * PMN10740 1083 | *NOTES - * PMN10750 1084 | * DISK ERRORS RESULT IN A WAIT AT $PST2. * PMN10760 1085 | *************************************************** PMN10770 COLD START PROGRAM 1087 | * PMN10790 1088 | * READ THE RESIDENT IMAGE INTO CORE PMN10800 1089 | * PMN10810 01E0 617F 1090 | LDX 1 Y PMN10820 01E1 C824 1091 | LDD CR920 SET UP WORD COUNT AND SCTR PMN10830 01E2 DC00 0004 1092 | CR010 STD L $CIBA-1 *ADDR OF RESIDENT IMAGE PMN10840 01E4 D125 1093 | STO 1 $DCYL-Y *INITIALIZE DEF CYL NO. 1 PMN10850 01E5 C184 1094 | LD 1 3-Y FETCH LOG DRIVE 0 AREA CODE PMN10860 01E6 D120 1095 | STO 1 $ACDE-Y *AND STORE IT IN COMMA PMN10870 01E7 D01F 1096 | STO CR920+1 SAVE THE AREA CODE PMN10880 01E8 C156 1097 | LD 1 DZ000-2-27-Y FETCH AND SAVE THE PMN10890 01E9 D0F1 1098 | STO $CIDN *CARTRIDGE ID PMN10900 01EA 6600 01FE 1099 | LDX L2 CR020 SET UP TEMPORARY 2-11 PMN10902 01EC 6E00 000A 1100 | STX L2 $LEV2 *ILS02 2-11 PMN10904 01EE C0F4 1101 | LD CR010+1 FETCH CORE ADDR OF RESIDENT PMN10910 01EF 1890 1102 | SRT 16 *IMAGE AND PUT IN EXTENSION PMN10920 01F0 D16F 1103 | STO 1 $DBSY-Y CLEAR DISK BUSY INDICATOR PMN10930 01F1 D11B 1104 | STO 1 $CYLN-Y INITIALIZE ARM POSITION PMN10940 01F2 4173 1105 | BSI 1 DZ000-Y FETCH RESIDENT IMAGE PMN10950 01F3 3000 1106 | WAIT WAIT OUT THE INTERRUPT PMN10960 1107 | * PMN10970 1108 | * INITIALIZE ITEMS IN COMMA PMN10980 1109 | * PMN10990 01F4 1810 1110 | SRA 16 PMN11000 01F5 D1B3 1111 | STO 1 $IOCT-Y CLEAR IOCS COUNTER PMN11010 01F6 C80D 1112 | LDD CR910 PMN11020 01F7 D985 1113 | STD 1 $CIBA-1-Y *FOR SAVING CORE ON THE CIB PMN11030 01F8 C00E 1114 | LD CR920+1 FETCH AREA CODE PMN11040 01F9 D120 1115 | STO 1 $ACDE-Y RESET AREA CODE PMN11050 01FA C00D 1116 | LD CR905 INITIALIZE WD ZERO TO PMN11060 01FB D181 1117 | STO 1 0-Y *AN 'MDX *-1' LOOP PMN11070 1118 | * PMN11080 1119 | * TRANSFER TO THE AUXILIARY SUPERVISOR PMN11090 1120 | * TO COMPLETE INITIALIZATION PMN11100 1121 | * PMN11110 01FC 41C0 1122 | BSI 1 $DUMP-Y BR TO AUXILLIARY SUPERVISOR PMN11120 01FD FFFF 1123 | DC -1 *FOR JOB PROCESSING PMN11130 1124 | * PMN11140 01FE 0000 1125 | CR020 DC *-* 2-11 PMN11142 01FF 4178 1126 | BSI 1 DZ010-Y BR TO SERVICE INTERRUPT2-11 PMN11144 0200 74FF 01FE 1127 | MDX L CR020,-1 2-11 PMN11146 0202 4CC0 01FE 1128 | BOSC I CR020 RETURN 2-11 PMN11148 1129 | * PMN11160 1130 | * CONSTANTS AND WORK AREAS PMN11170 1131 | * PMN11180 0204 1132 | BSS E 0 ASSURE EVEN BOUNDARY 2-11 PMN11190 0204 0000 1133 | CR910 DC 0 WD CNT,SCTR ADDR OF 2-5 PMN11200 0205 0007 1134 | DC @HDNG *HARMLESS WRITE TO DISK PMN11210 0206 00E8 1135 | CR920 DC $DBSY-$CH12 WD CNT AND SCTR PMN11220 0207 0002 1136 | DC @RIAD *ADDR OF RESIDENT IMAGE PMN11230 0208 70FF 1137 | CR905 MDX *-1 TO BE PUT AT ADDR 0000 2-11 PMN11231 0209 1138 | BSS /0212-* PATCH AREA 2-11 PMN11232 SYSTEM 1403 SUBROUTINE 1140 | *************************************************** PMN11250 1141 | * * PMN11260 1142 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN11270 1143 | * * PMN11280 1144 | *FUNCTION/OPERATION- * PMN11290 1145 | * THIS IS A SUBROUTINE USED BY THE 1130 * PMN11300 1146 | * MONITOR TO PERFORM THE FOLLOWING FUNCTIONS * PMN11310 1147 | * ON THE 1403 PRINT DEVICE- * PMN11320 1148 | * *SKIP TO CHANNEL 1. * PMN11330 1149 | * *PRINT A LINE WITH ONE SPACE. * PMN11340 1150 | * *SPACE IMMEDIATE. * PMN11350 1151 | * * PMN11360 1152 | *ENTRY POINTS- * PMN11370 1153 | * *PR000+1 IS THE USER ENTRY. * PMN11380 1154 | * *PR010 IS THE INTERRUPT ENTRY. * PMN11390 1155 | * * PMN11400 1156 | *INPUT- * PMN11410 1157 | * *SKIP TO CHANNEL 1 * PMN11420 1158 | * ACC = 7000 * PMN11430 1159 | * EXT = ADDRESS OF HEADING I/O AREA * PMN11440 1160 | * *PRINT A LINE WITH ONE SPACE * PMN11450 1161 | * ACC = 7001 * PMN11460 1162 | * EXT = ADDRESS OF I/O AREA * PMN11470 1163 | * *SPACE IMMEDIATE * PMN11480 1164 | * ACC = 7002 * PMN11490 1165 | * EXT = ANYTHING * PMN11500 1166 | * **THE I/O AREA CONSISTS OF ONE WORD OF WORD * PMN11510 1167 | * COUNT FOLLOWED BY 0-60 WORD OF PACKED * PMN11520 1168 | * EBCDIC CODE. * PMN11530 1169 | * * PMN11540 1170 | *OUTPUT- * PMN11550 1171 | * THE MESSAGE IN THE I/O AREA IS PRINTED TO * PMN11560 1172 | * THE 1403 PRINTER. * PMN11570 1173 | * * PMN11580 1174 | *EXTERNAL REFERENCES * PMN11590 1175 | * $I403 * PMN11600 1176 | * $IOCT 2-2 * PMN11610 1177 | * $PBSY * PMN11620 1178 | * $PGCT * PMN11630 1179 | * $PRET * PMN11640 1180 | * $PST4 * PMN11650 1181 | * * PMN11660 1182 | *EXITS- NORMAL * PMN11670 1183 | * *SUBROUTINE RETURNS TO USER AFTER FUNCTION * PMN11680 1184 | * HAS BEEN INITIATED. * PMN11690 1185 | * *SUBROUTINE RETURNS TO INTERRUPT LEVEL * PMN11700 1186 | * SUBROUTINE AFTER AN INTERRUPT HAS BEEN * PMN11710 1187 | * SERVICED. * PMN11720 1188 | * * PMN11730 1189 | *EXITS-ERROR * PMN11740 1190 | * *EXIT TO $PRET ON PRE-OPERATIVE ERROR. * PMN11750 1191 | * *EXIT TO $PST4 ON POST-OPERATIVE ERROR. * PMN11760 1192 | * * PMN11770 1193 | *TABLES/WORK AREAS- * PMN11780 1194 | * PR390 IS A 60-WORD AREA USED TO STORE THE * PMN11790 1195 | * USERS CONVERTED MESSAGE AND TO PRINT IT. IT* PMN11800 1196 | * IS ALSO USED TO PERFORM ONE TIME * PMN11810 1197 | * INITIALIZATIONS THE INSTRUCTIONS OF WHICH * PMN11820 1198 | * ARE WIPED OUT BY THE FIRST LINE MESSAGE. * PMN11830 1199 | * * PMN11840 1200 | *ATTRIBUTES- * PMN11850 1201 | * *NATURALLY RELOCATABLE. * PMN11860 1202 | * *REUSABLE. * PMN11870 1203 | * * PMN11880 1204 | *NOTES- NONE * PMN11890 1205 | * * PMN11900 1206 | *************************************************** PMN11910 SYSTEM 1403 SUBROUTINE 0000 1208 | ORG 0 PMN11930 *SBRKDD 8C 1209 | *SYS 1403 V2M02 PMN11940 0000 0134 1210 | DC PR475-PR000+1 WD CNT OF 1403 SUBR 2-9 PMN11950 0001 008C 1211 | DC @1403 PHASE ID OF SYS 1403 SUBR PMN11960 SYSTEM 1403 SUBROUTINE 0002 4C00 0000 1213 | PR000 BSC L *-* RETURN TO USER PMN11980 0004 7028 1214 | MDX PR130 GO EXECUTE CALL PORTION PMN11990 0005 4C00 0000 1215 | BSC L *-* RETURN TO ILS ROUTINE PMN12000 0006 1216 | PR010 EQU *-1 INTERRUPT ENTRANCE PMN12010 1217 | * PMN12020 1218 | *XR2 SET TO 50 IN ORDER TO REFER TO CERTAIN PMN12030 1219 | *LOCATIONS IN COMMA--$PBSY,$1403,$PST4--WITH PMN12040 1220 | *SHORT INSTRUCTIONS PMN12050 1221 | * PMN12060 0007 6232 1222 | LDX 2 50 PMN12070 0008 081B 1223 | XIO PR070-1 SENSE WITH RESET PMN12080 0009 D01A 1224 | STO PR060 PMN12090 000A 1003 1225 | SLA 3 CHECK FOR CARRIAGE INTRP PMN12100 000B 4810 1226 | BSC - YES,JUMP PMN12110 000C 7005 1227 | MDX PR020 NO,CHK.TRANS.COMPL.INTRP PMN12120 000D 74FF 0032 1228 | MDX L $IOCT,-1 DECREMENT IOCS CNTR 2-2 PMN12130 000F 1000 1229 | NOP IN CASE OF NO SKIP 2-2 PMN12140 0010 1810 1230 | SRA 16 *YES,TURN OFF PROG.BUSY* PMN12150 0011 D204 1231 | STO 2 $PBSY-50 *INDICATOR * PMN12160 0012 C011 1232 | PR020 LD PR060 CHK FOR PMN12170 0013 1001 1233 | SLA 1 TRANS.COMP.INTRPT PMN12180 0014 4810 1234 | BSC - YES,GO MAKE PBUSY NEGATIVE PMN12190 0015 7005 1235 | MDX PR040 NO,GO CHK FOR CHANNEL 12 PMN12200 0016 D204 1236 | STO 2 $PBSY-50 I/O AREA FREE TO CHANGE PMN12210 0017 0812 1237 | PR030 XIO PR100 *TEST FOR* PMN12220 0018 4804 1238 | BSC E *PRINTER * PMN12230 0019 7007 1239 | MDX PR050 *READY * PMN12240 001A 080D 1240 | XIO PR090 INITIATE SPACE PMN12250 001B C008 1241 | PR040 LD PR060 * SET CHANNEL 12 * PMN12260 001C 100C 1242 | SLA 12 * SWITCH IF * PMN12270 001D 4810 1243 | BSC - * CHANNEL 12 * PMN12280 001E 70E6 1244 | MDX PR010-1 * INDICATOR * PMN12290 001F D24E 1245 | STO 2 $1403-50 * IS ON. * PMN12300 0020 70E4 1246 | MDX PR010-1 EXIT PMN12310 0021 C008 1247 | PR050 LD PR100 LOAD NOT READY ERROR CODE PMN12320 0022 425B 1248 | BSI 2 $PST4-50 TO POST -OPERATIVE ER TRAP PMN12330 0023 70F3 1249 | MDX PR030 TRY AGAIN PMN12340 1250 | * PMN12350 1251 | *SYSTEM EQUATES PMN12360 1252 | * PMN12370 1253 | * PMN12380 0024 1254 | BSS E 0 PMN12390 0024 0000 1255 | PR060 DC 0 WORD TO SAVE DSW PMN12400 0025 AF01 1256 | PR070 DC /AF01 WITH RESET PMN12410 0026 0000 1257 | PR080 DC *-* PR390 ADDRESS OF OUTPUT AREA PMN12420 0027 AD00 1258 | DC /AD00 IOCC FOR PRINT PMN12430 0028 0800 1259 | PR090 DC /0800 USE THIS WD.FOR CHAN SKIP PMN12440 0029 AC00 1260 | DC /AC00 IOCC FOR SPACE PMN12450 002A 9000 1261 | PR100 DC /9000 NOT READY ERROR CODE PMN12460 002B AF00 1262 | PR110 DC /AF00 SENSE WITHOUT RESET PMN12470 002C FF00 1263 | PR120 DC /FF00 CON.TO ELIM.RIGHT 8 BITS PMN12480 1264 | * PMN12490 1265 | * PMN12500 002D D00A 1266 | PR130 STO PR150 STORE FUNCTION CODE PMN12510 002E 694D 1267 | STX 1 PR230+1 SAVE XR1 PMN12520 002F 6A4E 1268 | STX 2 PR240+1 SAVE XR2 PMN12530 0030 6B4F 1269 | STX 3 PR250+1 SAVE XR3 PMN12540 1270 | * PMN12550 1271 | *GO TO EXECUTE ONE TIME INITIALIZATIONS PMN12560 1272 | * PMN12570 0031 707E 1273 | PR140 MDX PR490 SWITCH INSTRUCTION PMN12580 1274 | * PMN12590 0032 18D0 1275 | RTE 16 ADDR.OF I/O AREA TO A REG. PMN12600 0033 D01F 1276 | STO PR190+2 STORE IT IN INSTRUCTION PMN12610 0034 D05C 1277 | STO PR290+1 FOR RETURN FROM CHN SKIP PMN12620 0035 D001 1278 | STO *+1 *WORD COUNT* PMN12630 0036 6780 0000 1279 | LDX I3 *-* *TO XR3 * PMN12640 1280 | * PMN12650 0038 1000 1281 | PR150 NOP BR TO PRINT, SKIP OR SPACE PMN12660 0039 705D 1282 | MDX PR330 BRANCH TO SKIP SUBROUTINE PMN12670 003A 7007 1283 | MDX PR160 GO TO PRINT A LINE PMN12680 003B 4063 1284 | BSI PR340 IMMEDIATE SPACE PMN12690 003C 6C00 0036 1285 | STX L0 $PBSY SET PROG.BUSY IND PMN12700 003E 08E9 1286 | XIO PR090 INIT SPACE AND GO PMN12710 003F 703B 1287 | MDX PR230 RESTORE REGISTERS AND EXIT PMN12720 1288 | * 2-9 PMN12730 0040 C0E9 1289 | PR155 LD PR100 LD NOT READY CODE /9000 2-9 PMN12740 0041 42EC 1290 | BSI 2 $PRET-60 BR TO DISPLAY 2-9 PMN12750 1291 | * PMN12760 1292 | *CHECK IF THE TRANSFER COMPLETE INTERRUPT HAS BEEN PMN12770 1293 | *RECEIVED,I.E.,LOOP TILL PBUSY GOES NEGATIVE.THEN PMN12780 1294 | *CLEAR THE PRINTER OUTPUT AREA TO BLANKS PMN12790 1295 | * PMN12800 0042 623C 1296 | PR160 LDX 2 +60 NO. OF WDS. TO CLEAR=60 PMN12810 0043 08E6 1297 | PR165 XIO PR110-1 SENSE DSW W/O RESET 2-9 PMN12820 0044 4804 1298 | BSC E SKIP IF READY 2-9 PMN12830 0045 70FA 1299 | MDX PR155 BR TO DISP NOT READY 2-9 PMN12840 0046 C2FA 1300 | LD 2 $PBSY-60 LOOP TILL PBUSY IS NEG.OR PMN12850 0047 4830 1301 | BSC Z- ZERO,MEANS I/O AREA,PR330 PMN12860 0048 70FA 1302 | MDX PR165 IS FREE TO BE ALTERED PMN12870 0049 C04A 1303 | LD PR310 LOAD BLANKS PMN12880 004A D600 0000 1304 | PR170 STO L2 *-* PR390-1 CLEAR WORD PMN12890 004C 72FF 1305 | MDX 2 -1 NEXT WORD,ARE WE DONE PMN12900 004D 70FC 1306 | MDX PR170 NO,LOOP,YES START CONV PMN12910 1307 | * PMN12920 1308 | * PMN12930 1309 | *PICK UP ONE WORD--2 CHARS-- FROM USERS I/O AREA PMN12940 1310 | *CONVERT TO 1403 CODE FROM EBC AND STORE IN PMN12950 1311 | *PRINTER OUTPUT AREA PMN12960 1312 | * PMN12970 004E 6100 1313 | PR180 LDX 1 0 INITIALIZE RIGHT-LEFT IND- PMN12980 004F 6600 0000 1314 | LDX L2 *-* PR460 XR2=TABLE ADDRESS PMN12990 0051 10A0 1315 | PR190 SLT 32 CLEAR ACC AND EXT PMN13000 0052 C700 0000 1316 | LD L3 *-* LOAD WORD FROM USER AREA PMN13010 0054 1100 1317 | SLA 1 SHIFT 8 OR NO-OP PMN13020 0055 E0D6 1318 | AND PR120 ELIMINATE RIGHT HALF PMN13030 0056 4810 1319 | BSC - SPECIAL CHAR.IF NOT NEG. PMN13040 0057 702B 1320 | MDX PR270 GO PROCESS SPECIAL CHAR PMN13050 0058 1002 1321 | SLA 2 1ST OR 2ND HALF OF TABLE PMN13060 0059 4802 1322 | BSC C *UPPER CASE * PMN13070 005A 7001 1323 | MDX *+1 *CHARACTERS * PMN13080 005B 7026 1324 | MDX PR270-1 *TREATED AS BLANKS * PMN13090 005C 4808 1325 | BSC + 1ST HALF REQUIRED,SKIP PMN13100 005D 720A 1326 | MDX 2 10 2ND HALF REQUIRED, SET XR2 PMN13110 005E 1002 1327 | SLA 2 SET CARRY IF RT.HALF TABLE PMN13120 005F 180C 1328 | SRA 12 MOVE TO RT.HAND SIDE PMN13130 0060 D001 1329 | STO *+1 COMPUTE TABLE INCREMENT PMN13140 0061 C600 0000 1330 | PR200 LD L2 *-* LOAD 2-1403 CHARACTERS PMN13150 0063 4802 1331 | BSC C CHK.CARRY FOR RT.OR LEFT PMN13160 0064 1008 1332 | SLA 8 ISOLATE AND LEFT JUSTIFY PMN13170 0065 1808 1333 | SRA 8 THE CHARACTER REQUIRED PMN13180 0066 1888 1334 | SRT 8 SAVE CHARACTER PMN13190 0067 C0FA 1335 | LD PR200+1 CHK.VALIDITY OF ORIGINAL PMN13200 0068 902D 1336 | S PR260 EBC HALF CHAR.TREAT AS PMN13210 0069 4810 1337 | BSC - SPECIAL IF GREATER PMN13220 006A 7017 1338 | MDX PR270-1 THAN 9 PMN13230 006B 1090 1339 | PR210 SLT 16 BRING BACK CHAR.SAVED PMN13240 006C 1900 1340 | SRA 1 CHAR MOVES RT OR STAYS PUT PMN13250 006D 7100 1341 | MDX 1 0 IS CHAR.RIGHT OR LEFT PMN13260 006E 7003 1342 | MDX PR220 *RIGHT, GO TO WORD PMN13270 006F D0C8 1343 | STO PR380 *LEFT, STORE IN TEMP LOC PMN13280 0070 7108 1344 | MDX 1 8 SET XR1 FOR RIGHT SIDE PMN13290 0071 70DD 1345 | MDX PR190-2 GO PROCESS RIGHT SIDE CHAR PMN13300 0072 E8C5 1346 | PR220 OR PR380 COMBINE RIGHT-LEFT CHARS PMN13310 0073 D700 0000 1347 | STO L3 *-* PR390-1 STORE IN PRINTER I/O AREA PMN13320 0075 73FF 1348 | MDX 3 -1 NEXT WORD,ARE WE FINISHED PMN13330 0076 70D7 1349 | MDX PR180 NO,GO PROCESS NEXT WORD. PMN13340 1350 | * PMN13350 1351 | * CHECK IF PRINTER READY AND NOT BUSY PMN13360 1352 | * PMN13370 0077 4027 1353 | BSI PR340 TO PRINTER BUSY ROUTINE PMN13380 0078 6C00 0036 1354 | STX L $PBSY SET BUSY INDICATOR PMN13390 007A 08AB 1355 | XIO PR080 INITIATE PRINT PMN13400 1356 | * PMN13410 1357 | * RESTORE XR1,2 AND 3 PMN13420 1358 | * PMN13430 007B 6500 0000 1359 | PR230 LDX L1 *-* RESTORE INDEX REGISTER 1 PMN13440 007D 6600 0000 1360 | PR240 LDX L2 *-* RESTORE INDEX REGISTER 2 PMN13450 007F 6700 0000 1361 | PR250 LDX L3 *-* RESTORE INDEX REGISTER 3 PMN13460 0081 7080 1362 | MDX PR000 EXIT TO USERS ROUTINE PMN13470 1363 | * PMN13480 1364 | * PMN13490 1365 | * PMN13500 1366 | * ROUTINE TO CONVERT SPECIAL CHARATERS PMN13510 1367 | * PMN13520 0082 C011 1368 | LD PR310 FORCE BLANK CHARACTER PMN13530 0083 D01B 1369 | PR270 STO PR340 STORE CHAR.IN TEMP.LOC. PMN13540 0084 620F 1370 | LDX 2 15 XR2 = SPEC. TABLE CNT 212 PMN13550 0085 10A0 1371 | PR280 SLT 32 CLEAR EXTENSION PMN13560 0086 C600 0000 1372 | LD L2 *-* PR460+19 LD.CHAR FROM SPEC.TABLE PMN13570 0088 1888 1373 | SRT 8 SAVE 1403 CHAR IN EXT PMN13580 0089 1008 1374 | SLA 8 LEFT JUSTIFY EBC CHAR PMN13590 008A 9014 1375 | S PR340 IS IT CHAR.WE WANT PMN13600 008B 4818 1376 | BSC +- NO,SKIP PMN13610 008C 70DE 1377 | MDX PR210 YES,GO GET 1403 EQUIVALENT PMN13620 008D 72FF 1378 | MDX 2 -1 NEXT WORD IN TABLE PMN13630 008E 70F6 1379 | MDX PR280 LOOP PMN13640 008F 70DB 1380 | MDX PR210 NOT IN TABLE,TREAT AS BLK PMN13650 1381 | * PMN13660 0090 1382 | BSS E 0 PMN13670 0090 7001 1383 | PR290 DC /7001 CALLING SEQUENCE FOR PMN13680 0091 0000 1384 | DC *-* PRINTING A LINE PMN13690 0092 0000 1385 | PR300 DC *-* PR370 ADDR OF CONTROL WORD PMN13700 0093 A900 1386 | DC /A900 SKIP IOCC PMN13710 0094 7F7F 1387 | PR310 DC /7F7F 1403 BLANK CHARACTERS PMN13720 0095 4040 1388 | PR320 DC /4040 EBC BLANK CHAR--ODD LOC PMN13730 0096 000A 1389 | PR260 DC 10 CONSTANT PMN13740 1390 | * PMN13750 1391 | * SKIP TO CHANNEL 1 PMN13760 1392 | * PMN13770 0097 4007 1393 | PR330 BSI PR340 BR TO CHECK BUSY, READY PMN13780 0098 6204 1394 | LDX 2 +4 BIN TO DEC LOOP COUNTER PMN13790 0099 D27C 1395 | STO 2 $1403-4 CLEAR CHANNEL 12 SWITCH PMN13800 009A 6C00 0036 1396 | STX L0 $PBSY SET PROG.BUSY INDICATOR PMN13810 009C 08F5 1397 | XIO PR300 SKIP TO NEW PAGE PMN13820 009D 704C 1398 | MDX PR400 GO PROCESS PAGE NO PMN13830 1399 | * PMN13840 1400 | * CHECK IF PRINTER IS READY AND CARRIAGE NOT BUSY PMN13850 1401 | * PMN13860 009E 4C00 0000 1402 | BSC L *-* RETURN PMN13870 009F 1403 | PR340 EQU *-1 PMN13880 00A0 0889 1404 | XIO PR110-1 SENSE WITHOUT RESET PMN13890 00A1 4804 1405 | BSC E TEST FOR PMN13900 00A2 7006 1406 | MDX PR350 PRINTER NOT READY PMN13910 00A3 100D 1407 | SLA 13 *LOOP * PMN13920 00A4 4820 1408 | BSC Z * IF * PMN13930 00A5 70FA 1409 | MDX PR340+1 *BUSY * PMN13940 00A6 7401 0032 1410 | MDX L $IOCT,1 INCREMENT IOCS CNTR 2-2 PMN13950 00A8 70F5 1411 | MDX PR340-1 * * PMN13960 00A9 C080 1412 | PR350 LD PR100 LD.NOT READY ER.CODE PMN13970 00AA 4400 0028 1413 | BSI L $PRET EXIT TO IOCS SOFT ER.TRAP PMN13980 00AC 70F3 1414 | MDX PR340+1 TRY AGAIN PMN13990 1415 | * PMN14000 00AD 70CD 1416 | PR360 MDX PR230 INTERMEDIATE JUMP PMN14010 1417 | * PMN14020 1418 | * PMN14030 1419 | *CHANNEL CONSTANT LOCATED IN 1ST. WORD OF SPACE IOC PMN14040 1420 | * PMN14050 0028 1421 | PR370 EQU PR090 PMN14060 1422 | * PMN14070 1423 | *USE WORD FOR TEMPORARY STORAGE PMN14080 1424 | * PMN14090 0038 1425 | PR380 EQU PR150 PMN14100 1426 | * PMN14110 1427 | * PMN14120 00AE 1428 | PR390 BSS 60 PRINTER OUTPUT AREA PMN14130 1429 | * PMN14140 1430 | * PMN14150 1431 | * CONVERT BINARY PAGE COUNT(PGCNT IN COMMA) TO PMN14160 1432 | * PACKED EBCDIC DECIMAL CHARACTERS AND INSERT IN PMN14170 1433 | * USERS PRINT AREA IN POSITIONS 5-8 (WORDS 3 AND 4 PMN14180 1434 | * OF PRINT BUFFER) WITH ZERO SUPPRESSION. PMN14190 1435 | * PMN14200 00EA 6780 0000 1436 | PR400 LDX I3 *-* PR190+2 XR3=ADDR OF USER I/O BFR PMN14210 00EC C233 1437 | LD 2 $PGCT-4 BINARY PAGE COUNT PMN14220 00ED 1890 1438 | SRT 16 CONVERT TO DECIMAL BY PMN14230 00EE A8A7 1439 | PR410 D PR260 REPETITIVE DIVISION BY 10 PMN14240 00EF 18D0 1440 | RTE 16 OR IN /00F0 TO REMAINDER PMN14250 00F0 E81F 1441 | OR PR450 TO GET EBC CHAR.FOR EACH PMN14260 00F1 D306 1442 | STO 3 6 POSITION.STORE IN I/O BFR PMN14270 00F2 1010 1443 | SLA 16 PMN14280 00F3 73FF 1444 | MDX 3 -1 NEXT POSITION IN BUFFER PMN14290 00F4 72FF 1445 | MDX 2 -1 DECR.LOOP COUNTER PMN14300 00F5 70F8 1446 | MDX PR410 CONTINUE CONVERSION PMN14310 1447 | * PMN14320 1448 | * REPLACE LEADING ZEROS WITH BLANKS PMN14330 1449 | * PMN14340 00F6 C307 1450 | PR420 LD 3 +7 CHECK CHARACTER FOR PMN14350 00F7 F018 1451 | EOR PR450 /00F0.REPLACE WITH BLANK PMN14360 00F8 4820 1452 | BSC Z BRANCH IF PMN14370 00F9 7004 1453 | MDX PR430 CHARACTER NOT ZERO PMN14380 00FA C09A 1454 | LD PR320 REPLACE ZERO WITH PMN14390 00FB D307 1455 | STO 3 +7 EBC BLANK CHAR. PMN14400 00FC 7301 1456 | MDX 3 +1 NEXT CHAR PMN14410 00FD 70F8 1457 | MDX PR420 CONTINUE SCAN FOR ZEROS PMN14420 1458 | * PMN14430 1459 | *PACK THE 4 CHARACTER EBC PAGE COUNT INTO 2 WORDS PMN14440 1460 | * PMN14450 00FE 6780 0000 1461 | PR430 LDX I3 *-* PR190+2 XR3=ADDR OF USER I/O BFR PMN14460 0100 C304 1462 | PR440 LD 3 +4 *PACK THE * PMN14470 0101 1888 1463 | SRT 8 *EBCDIC CHARACTERS * PMN14480 0102 C303 1464 | LD 3 +3 *TWO PER WORD--1ST * PMN14490 0103 1088 1465 | SLT 8 *TWO CHARACTERS * PMN14500 0104 D303 1466 | STO 3 3 STORE PACKED CHARS IN I/O PMN14510 0105 C306 1467 | LD 3 +6 *REPEAT * PMN14520 0106 1888 1468 | SRT 8 *FOR * PMN14530 0107 C305 1469 | LD 3 +5 *NEXT * PMN14540 0108 1088 1470 | SLT 8 *TWO * PMN14550 0109 D304 1471 | STO 3 4 *CHARACTERS* PMN14560 010A C88A 1472 | LDD PR320 BLANK OUT PMN14570 010B DB05 1473 | STD 3 5 2 WDS. OF USER I/O AREA PMN14580 1474 | * PMN14590 1475 | * INCREMENT PAGE COUNT BY ONE AND SET UP NEW PMN14600 1476 | * CALLING SEQUENCE FOR USER TO PRINT HEADER RECORD PMN14610 1477 | * PMN14620 010C 7401 0037 1478 | MDX L $PGCT,1 PMN14630 010E C881 1479 | LDD PR290 LD CALLING SEQ.FOR PRINT PMN14640 010F 709D 1480 | MDX PR360 RESTORE REGISTERS AND EXIT PMN14650 1481 | * PMN14660 1482 | * CONSTANT USED IN BINARY TO DECIMAL CONVERSION PMN14670 1483 | * OF PAGE COUNT. PMN14680 1484 | * PMN14690 0110 00F0 1485 | PR450 DC /00F0 CONSTANT TO CREATE EBC CHAR PMN14700 1486 | * PMN14710 1487 | * TABLE OF 1403 CHARACTERS--ALPHABETICS AND NUMERIC PMN14720 1488 | * PMN14730 0111 7F7F 1489 | PR460 DC /7F7F BLANK BLANK PMN14740 0112 6458 1490 | DC /6458 A J PMN14750 0113 2519 1491 | DC /2519 B K PMN14760 0114 261A 1492 | DC /261A C L PMN14770 0115 675B 1493 | DC /675B D M PMN14780 0116 681C 1494 | DC /681C E N PMN14790 0117 295D 1495 | DC /295D F O PMN14800 0118 2A5E 1496 | DC /2A5E G P PMN14810 0119 6B1F 1497 | DC /6B1F H Q PMN14820 011A 2C20 1498 | DC /2C20 I R PMN14830 1499 | * PMN14840 1500 | * SECOND HALF OF TABLE PMN14850 1501 | * PMN14860 011B 7F49 1502 | DC /7F49 0 PMN14870 011C 7F40 1503 | DC /7F40 1 PMN14880 011D 0D01 1504 | DC /0D01 S 2 PMN14890 011E 0E02 1505 | DC /0E02 T 3 PMN14900 011F 4F43 1506 | DC /4F43 U 4 PMN14910 0120 1004 1507 | DC /1004 V 5 PMN14920 0121 5145 1508 | DC /5145 W 6 PMN14930 0122 5246 1509 | DC /5246 X 7 PMN14940 0123 1307 1510 | DC /1307 Y 8 PMN14950 0124 5408 1511 | DC /5408 Z 9 PMN14960 1512 | * PMN14970 1513 | *SPECIAL CHARACTER TABLE.EBC CODE IN LEFT SIDE, PMN14980 1514 | *1403 EQUIVALENT IN RIGHT PMN14990 1515 | * PMN15000 0125 407F 1516 | PR470 DC /407F BLANK PMN15010 0126 7E4A 1517 | DC /7E4A EQUAL PMN15020 0127 7D0B 1518 | DC /7D0B APOSTROPHE PMN15030 0128 614C 1519 | DC /614C SLASH PMN15040 0129 5015 1520 | DC /5015 AMPERSAND PMN15050 012A 6B16 1521 | DC /6B16 COMMA PMN15060 012B 4D57 1522 | DC /4D57 LEFT PAREN PMN15070 012C 6061 1523 | DC /6061 MINUS PMN15080 012D 5B62 1524 | DC /5B62 DOLLAR PMN15090 012E 5C23 1525 | DC /5C23 ASTERISK PMN15100 012F 4E6D 1526 | DC /4E6D PLUS PMN15110 0130 4B6E 1527 | DC /4B6E PERIOD PMN15120 0131 5D2F 1528 | DC /5D2F RIGHT PAREN PMN15130 0132 7C0B 1529 | DC /7C0B AT SIGN = APOSTROPHE 212 PMN15133 0133 7B4A 1530 | DC /7B4A POUND SIGN = EQUAL 212 PMN15136 1531 | * PMN15140 1532 | * PATCH AREA PMN15150 1533 | * PMN15160 0134 1234 1534 | DC /1234 INDICATING END OF PATCH AREA PMN15170 0135 5678 1535 | PR475 DC /5678 2-9 PMN15180 1536 | * PMN15190 1537 | *ONE TIME INITIALIZATIONS STORED IN THE PRINTER PMN15200 1538 | *OUTPUT AREA. THESE INSTRUCTIONS SET UP WORDS PMN15210 1539 | *THAT ARE RELOCATABLE. PMN15220 1540 | * PMN15230 00AE 1541 | ORG PR390 PMN15240 00AE D082 1542 | PR480 STO PR140 MAKE INSTRUCTION A NOP PMN15250 00AF 7082 1543 | MDX PR140+1 RESUME PROCESSING PMN15260 00B0 6801 1544 | PR490 STX *+1 STORE I-COUNTER PMN15270 00B1 6600 0000 1545 | LDX L2 *-* XR2=PR490+1 PMN15280 00B3 7600 FF77 1546 | MDX L2 PR370-PR490-1 XR2=PR370 PMN15290 00B5 6ADC 1547 | STX 2 PR300 INIT PR300 TO PR370 PMN15300 1548 | * PMN15310 00B6 72FE 1549 | MDX 2 PR080-PR370 XR2=PR080 PMN15320 00B7 6A0B 1550 | STX 2 PR500+1 INIT PR500+1 TO PR080 PMN15330 1551 | * PMN15340 00B8 7600 00EB 1552 | MDX L2 PR460-PR080 XR2=PR460 PMN15350 00BA 6A95 1553 | STX 2 PR180+2 INIT PR180+2 TO PR460 PMN15360 1554 | * PMN15370 00BB 7213 1555 | MDX 2 19 XR2=PR460+19 PMN15380 00BC 6ACA 1556 | STX 2 PR280+2 INIT PR280+2 TO PR460+19 PMN15390 1557 | * PMN15400 00BD 7600 FF89 1558 | MDX L2 PR390-1-PR460-19 XR2=PR390-1 PMN15410 00BF 6A8B 1559 | STX 2 PR170+1 INIT PR170+1 TO PR390-1 PMN15420 00C0 6AB3 1560 | STX 2 PR220+2 INIT PR220+2 TO PR390-1 PMN15430 1561 | * PMN15440 00C1 7201 1562 | MDX 2 +1 XR2=PR390 PMN15450 00C2 6E00 0000 1563 | PR500 STX L2 *-* PR080 INIT PR080 TO PR390 PMN15460 1564 | * PMN15470 00C4 72A5 1565 | MDX 2 PR190+2-PR390 XR2=PR190+2 PMN15480 00C5 6A25 1566 | STX 2 PR400+1 INIT PR400+1 TO PR190+2 PMN15490 00C6 6A38 1567 | STX 2 PR430+1 INIT PR430+1 TO PR190+2 PMN15500 1568 | * PMN15510 00C7 C001 1569 | LD PR510 LOAD NOP INSTRUCTION PMN15520 00C8 70E5 1570 | MDX PR480 GO STORE NOP,RESUM PROC. PMN15530 00C9 1000 1571 | PR510 NOP NOP CONSTANT PMN15540 SYSTEM 1132 SUBROUTINE 1573 | *************************************************** PMN15560 1574 | *STATUS-VERSION 2, MODIFICATION 10 * PMN15570 1575 | * * PMN15580 1576 | *FUNCTION/OPERATION- * PMN15590 1577 | * * PRINT WITH SINGLE SPACE AFTER PRINTING * PMN15600 1578 | * * SKIP TO CHANNEL 1 * PMN15610 1579 | * * IMMEDIATE SINGLE SPACE * PMN15620 1580 | * * PMN15630 1581 | *ENTRY POINTS- * PMN15640 1582 | * * PN000+1 IS THE USER ENTRY * PMN15650 1583 | * * PN010+1 IS THE INTERRUPT ENTRY * PMN15660 1584 | * * PMN15670 1585 | *INPUT- * PMN15680 1586 | * * SKIP TO CHANNEL 1 * PMN15690 1587 | * ACC = 7000 * PMN15700 1588 | * EXT = ADDRESS OF I/O AREA (WORD COUNT) * PMN15710 1589 | * THIS ADDRESS MUST BE ODD SO THAT FIRST * PMN15720 1590 | * DATA WORD OF I/O AREA WILL BE AT AN * PMN15730 1591 | * EVEN ADDRESS * PMN15740 1592 | * * PRINT * PMN15750 1593 | * ACC = 7001 * PMN15760 1594 | * EXT = ADDRESS OF I/O AREA (WORD COUNT) * PMN15770 1595 | * * SPACE * PMN15780 1596 | * ACC = 7002 * PMN15790 1597 | * * PMN15800 1598 | *OUTPUT- * PMN15810 1599 | * * A CARRIAGE SKIP TO CHANNEL 1 IS EXECUTED, * PMN15820 1600 | * AND THE BINARY JOB PAGE COUNT ($PGCT) IS * PMN15830 1601 | * CONVERTED TO DECIMAL IN THE USERS * PMN15840 1602 | * I/O AREA. THE ACCUMULATOR AND EXTENSION * PMN15850 1603 | * IS SET UP TO PRINT OUT OF THE SAME * PMN15860 1604 | * I/O AREA BEFORE RETURNING TO THE USER * PMN15870 1605 | * * A LINE IS PRINTED FOLLOWED BY A * PMN15880 1606 | * SINGLE SPACE * PMN15890 1607 | * * THE FORM IS SPACED ONE LINE * PMN15900 1608 | * * PMN15910 1609 | *EXTERNAL REFERENCES- * PMN15920 1610 | * $1132 * PMN15930 1611 | * $IOCT 2-2 * PMN15940 1612 | * $PBSY * PMN15950 1613 | * $PGCT * PMN15960 1614 | * $PRET * PMN15970 1615 | * * PMN15980 1616 | *EXITS- * PMN15990 1617 | * NORMAL- * PMN16000 1618 | * * SUBROUTINE RETURNS TO USER AFTER * PMN16010 1619 | * FUNCTION HAS BEEN INITIATED * PMN16020 1620 | * * SUBROUTINE RETURNS TO POINT OF * PMN16030 1621 | * INTERRUPTION AFTER AN INTERRUPT * PMN16040 1622 | * (LEVEL 1) HAS BEEN SERVICED * PMN16050 1623 | * ERROR * PMN16060 1624 | * * $PRET WITH 6000 IN THE ACCUMULATOR WHEN * PMN16070 1625 | * THE 1132 IS NOT READY TO INITIATE * PMN16080 1626 | * A FUNCTION * PMN16090 1627 | * * SUBROUTINE RETURNS TO USER WITH $1132 * PMN16100 1628 | * SET NON-ZERO IF CHANNEL 12 IS SENSED * PMN16110 1629 | * AFTER PRINTING * PMN16120 1630 | * * PMN16130 1631 | *TABLES/WORK AREAS-N/A * PMN16140 1632 | * * PMN16150 1633 | *ATTRIBUTES- * PMN16160 1634 | * * NATURALLY RELOCATABLE * PMN16170 1635 | * * SERIALLY REUSEABLE * PMN16180 1636 | * * PMN16190 1637 | *NOTES- * PMN16200 1638 | * * THE ONLY ERROR DETECTED WITH THE 1132 * PMN16210 1639 | * IS A PRINT SCAN CHECK. WHEN THIS OCCURS, * PMN16220 1640 | * THE SUBROUTINE TAKES 47 IDLE PRINT CYCLES * PMN16230 1641 | * BEFORE RETRYING THE CHARACTER ON WHICH THE * PMN16240 1642 | * CHECK OCCURED. * PMN16250 1643 | * * PMN16260 1644 | * * PMN16270 1645 | * *THIS ROUTINE WAS COMPLETELY REPLACED IN MOD 9* PMN16280 1646 | * * PMN16290 1647 | *************************************************** PMN16300 SYSTEM DEVICE SUBROUTINE FOR 1132 0000 1649 | ORG 0 PMN16315 *SBRK 8D 1650 | *SYS 1132 PMN16317 0000 0115 1651 | DC PNEND-*+1 WORDCOUNT OF THIS PHASE PMN16320 0001 008D 1652 | DC @1132 ID OF THIS PHASE PMN16330 SYSTEM DEVICE SUBROUTINE FOR 1132 1654 | *************************************************** PMN16350 1655 | * B S I E N T R Y P O I N T * PMN16360 1656 | *************************************************** PMN16370 1657 | * PMN16380 0002 4C00 0000 1658 | PN000 BSC L *-* BSI IS TO SECOND WORD PMN16390 0004 7010 1659 | MDX PN001 BR TO PROCESS REQUEST PMN16400 1660 | * PMN16410 1661 | * PMN16420 1662 | * PMN16430 1663 | *************************************************** PMN16440 1664 | * I N T E R R U P T E N T R Y P O I N T * PMN16450 1665 | *************************************************** PMN16460 1666 | * PMN16470 0005 4C40 0000 1667 | PN500 BOSC L *-* RETURN AND RESET LEVEL 1 PMN16480 0007 6959 1668 | STX 1 PN591+1 SAVE INDEX 1 PMN16490 0008 6A5A 1669 | STX 2 PN592+1 SAVE INDEX 2 PMN16500 0009 6B5B 1670 | STX 3 PN593+1 SAVE INDEX 3 PMN16510 000A 285B 1671 | STS PN594 SAVE STATUS PMN16520 000B D802 1672 | STD PN595 SAVE ACC/EXT PMN16530 000C 7052 1673 | MDX PN499 HOP AND JUMP TO PROCESS PMN16540 1674 | * PMN16550 1675 | * CERTAIN CONVENIENT CONSTANTS PMN16560 1676 | * PMN16570 000D 4040 1677 | PN064 DC /4040 EBCDIC MASK PMN16580 000E 1678 | BSS E 0 PMN16590 1679 | * PMN16600 000E 0000 0000 1680 | PN595 DEC 0 SAVE ACC/EXT FOR LEVEL 1 PMN16610 0010 7001 1681 | PN070 DC /7001 FOR AFTER EJECT PMN16620 0011 0000 1682 | DC *-* HOLD ADDR OF COUNT PMN16630 0012 00F0 1683 | PN240 DC /00F0 PMN16640 0013 000A 1684 | PN910 DC 10 CONSTANT 10 PMN16650 0014 1600 1685 | PN916 DC /1600 MASK FOR TEST READY/BUSY PMN16660 1686 | * PMN16670 1687 | * PMN16680 1688 | * PMN16690 1689 | *************************************************** PMN16700 1690 | * P R O C E S S I N G O F T H E B S I * PMN16710 1691 | *************************************************** PMN16720 1692 | * PMN16730 0015 1693 | PN001 EQU * PMN16740 1694 | * PMN16750 1695 | * SAVE INDEX REGISTERS FIRST PMN16760 1696 | * PMN16770 0015 6945 1697 | STX 1 PN091+1 SAVE INDEX 1 PMN16780 0016 6A46 1698 | STX 2 PN092+1 SAVE INDEX 2 PMN16790 1699 | * PMN16800 1700 | * NOW SAVE THE FUNCTION CODE AS AN MDX PMN16810 1701 | * PMN16820 0017 D017 1702 | STO PN010 SAVE AS MDX *, *+1, *+2 PMN16830 1703 | * PMN16840 1704 | * NOW BE SURE THE ROUTINE IS FREE PMN16850 1705 | * PMN16860 0018 6236 1706 | LDX 2 $PBSY POINT TO BUSY INDICATOR PMN16870 0019 C200 1707 | LD 2 0 GET BUSY INDICATOR PMN16880 001A 4820 1708 | BSC Z PMN16890 001B 70FD 1709 | MDX *-3 ELSE DWELL UNTIL FREE PMN16900 1710 | * PMN16910 1711 | * ROUTINE IS FREE -- SET IT BUSY AND SAVE ADDRESS PMN16920 1712 | * PMN16930 001C C0FF 1713 | LD *-1 GET A NEGATIVE PMN16940 001D D200 1714 | STO 2 0 SET $PBSY=ROUT BSY/BUF NOT PMN16950 001E 1090 1715 | SLT 16 ADDRESS TO ACC PMN16960 001F D001 1716 | STO *+1 PMN16970 0020 6500 0000 1717 | LDX L1 *-* X1=ADDR(COUNT) PMN16980 0021 1718 | PN005 EQU *-1 PMN16990 0022 D0EE 1719 | STO PN070+1 SAVE IN CASE EJECT PMN17000 1720 | * PMN17010 1721 | * NOW BE SURE THE PRINTER IS READY PMN17020 1722 | * PMN17030 0023 087A 1723 | PN007 XIO PN900 SENSE NO RESET PMN17040 0024 E0EF 1724 | AND PN916 ISOLATE BOTH UNREADY+BUSY PMN17050 0025 4818 1725 | BSC +- SKIP IF ANY HANGUP PMN17060 0026 7006 1726 | MDX PN009 ALL READY--SET I/O COUNTER PMN17070 0027 1005 1727 | SLA 5 NOT READY BIT TO BIT 0 PMN17080 0028 4810 1728 | BSC - SKIP IF NOT READY PMN17090 0029 70F9 1729 | MDX PN007 JUST BUSY--LOOP PMN17100 002A C079 1730 | LD PN906 /6000--CODE FOR PRE-OP ERR PMN17110 002B 42F2 1731 | BSI 2 $PRET-$PBSY GO TO PRE-OP ERROR TRAP PMN17120 002C 70F6 1732 | MDX PN007 WHEN RETURN, TEST AGAIN PMN17130 1733 | * PMN17140 1734 | * WE ARE GOING TO START I/O. SET THE I/O COUNTER PMN17150 1735 | * PMN17160 002D 7401 0032 1736 | PN009 MDX L $IOCT,+1 INCR THE MASTER I/O COUNT PMN17170 1737 | * PMN17180 1738 | * NOW BRANCH TO APPROPRIATE ACTION ROUTINE PMN17190 1739 | * PMN17200 002F 0000 1740 | PN010 DC *-* SET TO MDX *, *+1,*+2 PMN17210 1741 | * PMN17220 0030 7003 1742 | MDX PN011 SKIP TO 1 PMN17230 0031 7037 1743 | MDX PN120 PRINT PMN17240 1744 | * PMN17250 1745 | * PMN17260 1746 | * PMN17270 1747 | *************************************************** PMN17280 1748 | * E X E C U T E S P A C E R E Q U E S T * PMN17290 1749 | *************************************************** PMN17300 1750 | * PMN17310 0032 0877 1751 | PN100 XIO PN988 START THE CARRIAGE SPACE PMN17320 0033 7026 1752 | MDX PN091 START THE RETURN TO CALLER PMN17330 1754 | *************************************************** PMN17350 1755 | * E X E C U T E E J E C T R E Q U E S T * PMN17360 1756 | *************************************************** PMN17370 1757 | * PMN17380 1758 | * FIRST, CLEAR OFLO INDIC. ACC IS ALREADY ZERO AND PMN17390 1759 | * INDEX 2 NOW POINTS TO $PBSY IN COMMA. PMN17400 1760 | * PMN17410 0034 D249 1761 | PN011 STO 2 $1132-$PBSY SET OFLO INDIC = 0 PMN17420 1762 | * PMN17430 1763 | * NOW START THE SKIP PMN17440 1764 | * PMN17450 0035 086C 1765 | XIO PN933 START SKIP PMN17460 1766 | * PMN17470 1767 | * NOW CONVERT AND INCREMENT THE PAGE NUMBER PMN17480 1768 | * PMN17490 0036 C201 1769 | LD 2 $PGCT-$PBSY GET PAGE NO. IN BINARY PMN17500 0037 7401 0037 1770 | MDX L $PGCT,+1 INCREMENT FOR NEXT TIME PMN17510 0039 6204 1771 | LDX 2 4 PMN17520 003A 1890 1772 | SRT 16 MAKE INTO A DIVIDEND PMN17530 003B 1804 1773 | PN013 SRA 4 PMN17540 003C D0F2 1774 | STO PN010 STORE CURRENT ACCUM PMN17550 003D 1010 1775 | SLA 16 PMN17560 003E A8D4 1776 | D PN910 DIVIDE BY 10 PMN17570 003F 18D0 1777 | RTE 16 PMN17580 0040 100C 1778 | SLA 12 RMDR TO UPPER ACCUM PMN17590 0041 E8ED 1779 | OR PN010 OR PREV ACCUMULATION PMN17600 0042 72FF 1780 | MDX 2 -1 PMN17610 0043 70F7 1781 | MDX PN013 DO MORE IF NOT DONE PMN17620 1782 | * PMN17630 0044 7105 1783 | MDX 1 +5 X1=ADDR(PAGENO)+2 PMN17640 0045 6910 1784 | STX 1 PN016+1 SET INTO STORE INSTR PMN17650 0046 1890 1785 | SRT 16 PMN17660 0047 62FE 1786 | LDX 2 -2 MAJOR CYCLE COUNT PMN17670 0048 2000 1787 | LDS 0 SET OVERFLOW OFF PMN17680 0049 6102 1788 | PN014 LDX 1 2 SET MINOR CYCLE COUNT PMN17690 004A 1010 1789 | SLA 16 CLEAR PMN17700 004B 1004 1790 | PN015 SLA 4 PMN17710 004C 1084 1791 | SLT 4 PMN17720 004D 4818 1792 | BSC +- SKIP TO SET F-ZONE IF NONZ PMN17730 004E 4801 1793 | BSC O SKIP IF OFLO OFF--RESETS O PMN17740 004F E8C2 1794 | OR PN240 NON-ZERO--OR /00F0 PMN17750 0050 4820 1795 | BSC Z SKIP IF STILL ZERO PMN17760 0051 2001 1796 | LDS 1 IF NON-ZERO, SET OFLO ON PMN17770 0052 71FF 1797 | MDX 1 -1 MINOR LOOP PMN17780 0053 70F7 1798 | MDX PN015 PMN17790 0054 E8B8 1799 | OR PN064 ASSURE EBCDIC--/4040 PMN17800 0055 D600 0000 1800 | PN016 STO L2 *-* STORE EBC PAGENO IN HEADR PMN17810 0057 7201 1801 | MDX 2 +1 INCR POINTER/COUNT PMN17820 0058 70F0 1802 | MDX PN014 PMN17830 1803 | * PMN17840 1804 | * PAGE NUMBER NOW IN PLACE--SET UP ACC/EXT FOR PRNT PMN17850 1805 | * PMN17860 0059 C8B6 1806 | LDD PN070 /7001 AND ADDR PMN17870 1807 | * PMN17880 1808 | * PMN17890 1809 | * PMN17900 1810 | *************************************************** PMN17910 1811 | * RETURN FROM BSI PROCESSING * PMN17920 1812 | *************************************************** PMN17930 1813 | * PMN17940 005A 6500 0000 1814 | PN091 LDX L1 *-* RESTORE INDEX 1 PMN17950 005C 6600 0000 1815 | PN092 LDX L2 *-* RESTORE INDEX 2 PMN17960 005E 70A3 1816 | MDX PN000 RETURN TO CALLER PMN17970 1817 | * PMN17980 1818 | * PMN17990 1819 | * PMN18000 1820 | *************************************************** PMN18010 1821 | * FORWARD LINK TO INTERRUPT PROCESSING * PMN18020 1822 | *************************************************** PMN18030 1823 | * PMN18040 005F 7058 1824 | PN499 MDX PN501 BR TO PROCESS INTERRUPT PMN18050 1825 | * PMN18060 1826 | *************************************************** PMN18070 1827 | * PMN18080 1828 | * RETURN LINK FROM INTERRUPT PROCESSING * PMN18090 1829 | *************************************************** PMN18100 1830 | * PMN18110 0060 6500 0000 1831 | PN591 LDX L1 *-* RESTORE INDEX 1 PMN18120 0062 6600 0000 1832 | PN592 LDX L2 *-* RESTORE INDEX 2 PMN18130 0064 6700 0000 1833 | PN593 LDX L3 *-* RESTORE INDEX 3 PMN18140 0066 2000 1834 | PN594 LDS 0 RESTORE STATUS PMN18150 0067 C8A6 1835 | LDD PN595 RESTORE ACC/EXT PMN18160 0068 709C 1836 | MDX PN500 GO TO BRANCH OUT PMN18170 1837 | * PMN18180 1838 | * PMN18190 1839 | * PMN18200 1840 | *************************************************** PMN18210 1841 | * E X E C U T E P R I N T R E Q U E S T * PMN18220 1842 | *************************************************** PMN18230 1843 | * PMN18240 1844 | * FIRST, ESTABLISH ADDRESS FOR READ EMITTER IOCC PMN18250 1845 | * PMN18260 0069 6801 1846 | PN120 STX *+1 ADDR(PN120+1) PMN18270 006A 6600 0000 1847 | LDX L2 *-* X2=ADDR(PN120+1) PMN18280 006C 723C 1848 | MDX 2 PN907-PN120-1 X1=ADDR(PN907) PMN18290 006D 6A3A 1849 | STX 2 PN902 SET ADDR INTO READ E IOCC PMN18300 1850 | * PMN18310 1851 | * NOW SET UP THE ADDRESSES FOR INTERRUPT SIZE AND PMN18320 1852 | * FOR THE COUNT OF POTENTIALLY PRINTABLE CHARS PMN18330 1853 | * PMN18340 006E 6916 1854 | STX 1 PN124+1 SET ADDR IN TEST LOAD INST PMN18350 006F C100 1855 | LD 1 0 ACC=WORDCOUNT PMN18360 0070 D001 1856 | STO *+1 PMN18370 0071 7500 0000 1857 | MDX L1 *-* X1=ADDR(RIGHTMOST WORD) PMN18380 0073 6958 1858 | STX 1 PN503+1 SET ADDR IN LDX INSTR PMN18390 0074 D00D 1859 | STO PN122+1 SET COUNT INTO LDX INSTR PMN18400 0075 9026 1860 | S PN991 PMN18410 0076 1883 1861 | SRT 3 COUNT/8--EXT WAS ALL ZERO PMN18420 0077 800B 1862 | A PN123 ADD 'LDX 1 1' TO QUOT PMN18430 0078 D054 1863 | STO PN504 SET LDX SCAN PTR PMN18440 0079 1010 1864 | SLA 16 PMN18450 007A 1084 1865 | SLT 4 ACC=2*REMAINDER PMN18460 007B D001 1866 | STO *+1 PMN18470 007C 6500 0000 1867 | LDX L1 *-* PMN18480 007E C021 1868 | LD PN980 GET A /0002 PMN18490 007F 1100 1869 | SLA 1 PMN18500 0080 D01C 1870 | STO PN905 SAVE THE STOP BIT FOR INT PMN18510 0081 6600 0000 1871 | PN122 LDX L2 *-* X2=WORDCOUNT PMN18520 0083 6101 1872 | PN123 LDX 1 1 X1=INIT HAMMER COUNT+1 PMN18530 1873 | * PMN18540 1874 | * NOW COUNT THE NUMBER OF POTENTIALLY PRINTABLE PMN18550 1875 | * CHARACTERS PMN18560 1876 | * PMN18570 0084 C600 0000 1877 | PN124 LD L2 *-* GET WORD FROM AREA PMN18580 0086 8017 1878 | A PN940 ADD /BF00 PMN18590 0087 4802 1879 | BSC C SKIP IF CHAR /00-/40 PMN18600 0088 7101 1880 | MDX 1 +1 INCR HAMMER CNT IF GT /40 PMN18610 0089 1008 1881 | SLA 8 SECOND CHAR TO UPPER ACC PMN18620 008A 8013 1882 | A PN940 ADD /BF00 PMN18630 008B 4802 1883 | BSC C SKIP IF CHAR /00-/40 PMN18640 008C 7101 1884 | MDX 1 +1 INCR HAMMER CNT IF GT /40 PMN18650 008D 72FF 1885 | MDX 2 -1 DECR AREA POINTER/COUNT PMN18660 008E 70F5 1886 | MDX PN124 GET ANOTHER WORD PMN18670 1887 | * PMN18680 1888 | * IF NO CHARACTERS TO PRINT, DO A SPACE ONLY PMN18690 1889 | * PMN18700 008F 6933 1890 | STX 1 PN548 SET THE HAMMER COUNTER PMN18710 0090 71FF 1891 | MDX 1 -1 SKIP IF NO CHARS GT /40 PMN18720 0091 7001 1892 | MDX *+1 NOT ALL LT /40--CONTINUE PMN18730 0092 709F 1893 | MDX PN100 JUST DO A SPACE PMN18740 1894 | * PMN18750 1895 | * NOW START THE PRINTER, THEN RETURN TO CALLER PMN18760 1896 | * PMN18770 0093 6231 1897 | LDX 2 49 SET MAX CYCLES + 1 PMN18780 0094 6A0D 1898 | STX 2 PN949 SET THE 'BIG COUNT' PMN18790 0095 4019 1899 | BSI PN520 CLEAR THE SCAN FIELD PMN18800 0096 C005 1900 | LD PN991 GET A 1 PMN18810 0097 D2F6 1901 | STO 2 $SCAN+7-49 SET SCAN COMPLETE BIT PMN18820 0098 D205 1902 | STO 2 $PBSY-49 SET $PBSY TOTALLY BUSY PMN18830 0099 080C 1903 | XIO PN956 START THE PRINTER PMN18840 009A 70BF 1904 | MDX PN091 START THE RETURN TO CALLER PMN18850 1905 | * PMN18860 1906 | * PMN18870 1907 | * PMN18880 1908 | *************************************************** PMN18890 1909 | *INTERMEDIATE RETURN LINK FROM INTERRUPT PROCESSNG* PMN18900 1910 | *************************************************** PMN18910 1911 | * PMN18920 009B 70C4 1912 | PN590 MDX PN591 NECESSARY BECAUSE OF SHORT PMN18930 1914 | *************************************************** PMN18950 1915 | * I O C C S A N D C O N S T A N T S * PMN18960 1916 | *************************************************** PMN18970 1917 | * PMN18980 009C 1918 | BSS E 0 PMN18990 1919 | * PMN19000 009C 0001 1920 | PN991 DC 1 CONSTANT 1 PMN19010 009D 0000 1921 | PN905 DC *-* HOLD INIT SCAN STOP BIT PMN19020 009E 1923 | PN900 EQU * PMN19040 009E BF00 1924 | PN940 DC /BF00 TO FORCE GT /40 TO CARRY PMN19050 009F 3700 1925 | DC /3700 SENSE *NO* RESET PMN19060 1926 | * PMN19070 00A0 1927 | PN901 EQU * PMN19080 00A0 0002 1928 | PN980 DC /0002 MASK FOR SETTING SCAN STOP PMN19090 00A1 3701 1929 | DC /3701 SENSE WITH *RESET* PMN19100 1930 | * PMN19110 00A2 1931 | PN933 EQU * PMN19120 00A2 0000 1932 | PN949 DC *-* 'BIG COUNT' PMN19130 00A3 3404 1933 | DC /3404 START CARRIAGE PMN19140 1934 | * PMN19150 00A4 1935 | PN966 EQU * PMN19160 00A4 6000 1936 | PN906 DC /6000 PRE-OP ERROR CODE PMN19170 00A5 3402 1937 | DC /3402 STOP CARRIAGE PMN19180 00A6 1938 | PN956 EQU * PMN19190 00A6 0000 1939 | PN907 DC *-* PLACE FOR EMITTER CHAR PMN19200 00A7 3480 1940 | DC /3480 START PRINTER PMN19210 1941 | * PMN19220 00A8 0000 1942 | PN902 DC *-* ADDR(PN907) MUST BE PLUGGE PMN19230 00A9 3200 1943 | DC /3200 READ EMITTER PMN19240 00AA 1944 | PN988 EQU * PMN19250 00AA FF00 1945 | PN955 DC /FF00 /FF00 FOR FORCING CARRY PMN19260 00AB 3401 1946 | DC /3401 CARRIAGE SPACE PMN19270 1947 | * PMN19280 00AC 1948 | PN947 EQU * PMN19290 00AC 0000 1949 | PN950 DC *-* HOLD CYCLE COUNT PMN19300 00AD 3440 1950 | DC /3440 STOP PRINTER PMN19310 1951 | * PMN19320 1952 | * PMN19330 1953 | * PMN19340 1954 | *************************************************** PMN19350 1955 | * SERVICE ROUTINE TO CLEAR SCAN FIELD * PMN19360 1956 | *************************************************** PMN19370 1957 | * PMN19380 00AE 4C00 0000 1958 | BSC L *-* ENTRY/RETURN PMN19390 00AF 1959 | PN520 EQU *-1 PMN19400 00B0 6120 1960 | LDX 1 $SCAN X1=ADDR(SCANFIELD) PMN19410 00B1 189B 1961 | SRT 27 SCAN-CHECK BIT TO BIT 31 PMN19420 00B2 10A0 1962 | SLT 32 ACC/EXT=0, CARRY=SCAN-CHK PMN19430 00B3 D900 1963 | STD 1 0 CLEAR FIRST TWO WORDS PMN19440 00B4 D902 1964 | STD 1 2 CLEAR SECOND TWO WORDS PMN19450 00B5 D904 1965 | STD 1 4 CLEAR THIRD TWO WORDS PMN19460 00B6 D906 1966 | STD 1 6 CLEAR LAST TWO WORDS PMN19470 00B7 70F6 1967 | MDX PN520-1 RETURN PMN19480 1968 | *************************************************** PMN19490 1969 | * CONTINUE THE PROCESSING OF LEVEL 1 INTERRUPT * PMN19500 1970 | *************************************************** PMN19510 1971 | * PMN19520 1972 | * SENSE DSW -- DETERMINE IF PRINT RESPONSE PMN19530 1973 | * PMN19540 00B8 08E7 1974 | PN501 XIO PN901 SENSE WITH RESET PMN19550 00B9 4810 1975 | BSC - SKIP IF IT IS PRINT RESP PMN19560 00BA 7036 1976 | MDX PN600 BR IF *NOT* PRINT RESP PMN19570 1977 | * PMN19580 1978 | * IT IS A PRINT RESPONSE--ZERO THE SCAN FIELD AND PMN19590 1979 | * SEE IF WE HAD A SCAN CHECK ON THE LAST CYCLE. PMN19600 1980 | * THE ZERO-SCAN SERVICE ROUTINE SETS CARRY ON PMN19610 1981 | * IF SCAN CHECK HAS OCCURRED. PMN19620 1982 | * PMN19630 00BB 40F3 1983 | BSI PN520 DO ZERO-SCAN-FIELD PMN19640 00BC 4802 1984 | BSC C SKIP IF *NO* SCAN CHECK PMN19650 00BD 7048 1985 | MDX PN847 SCAN CHECK--BR TO RECOVER PMN19660 1986 | * PMN19670 1987 | * NO SCAN-CHECK HAS OCCURRED. SEE IF WE ARE NOW IN PMN19680 1988 | * IDLE CYCLES. PMN19690 1989 | * PMN19700 00BE C0ED 1990 | LD PN950 ACC=IDLE CYCLE COUNTER PMN19710 00BF 4820 1991 | BSC Z SKIP IF *NOT* IN IDLE PMN19720 00C0 7049 1992 | MDX PN800 IN IDLE--BR TO RESOLVE WHY PMN19730 1993 | * PMN19740 1994 | * NO SCAN-CHECK AND NOT IN IDLE. ONLY QUESTION PMN19750 1995 | * LEFT IS WHETHER LAST CYCLE WAS THE LAST PRINT PMN19760 1996 | * CYCLE THAT WAS NEEDED. PMN19770 1997 | * PMN19780 00C1 08E6 1998 | XIO PN902 READ EMITTER JUST IN CASE PMN19790 00C2 6600 0000 1999 | LDX L2 *-* X2=COUNT OF REMAINING PMN19800 00C3 2000 | PN548 EQU *-1 POSSIBLE HAMMER FIRES PMN19810 00C4 C0DD 2001 | LD PN949 ACC=MAX REMAINING CYCLES PMN19820 00C5 90D6 2002 | S PN991 SUBTRACT 1 PMN19830 00C6 D0DB 2003 | STO PN949 STORE UPDATED VALUE PMN19840 00C7 72FF 2004 | MDX 2 -1 TRY FORCE SKIP PMN19850 00C8 4808 2005 | BSC + NO SKIP--TEST NO CYCL LEFT PMN19860 00C9 7022 2006 | MDX PN599 BR IF WAS LAST PRINT CYCLE PMN19870 2007 | * PMN19880 2008 | * NO QUESTIONS LEFT. WE MUST SET UP THE SCAN FIELD PMN19890 2009 | * PMN19900 00CA 7201 2010 | MDX 2 +1 RESTORE HAMMER COUNT PMN19910 00CB 6700 0000 2011 | PN503 LDX L3 *-* X3=ADDR(RIGHTMOST AREA) PMN19920 00CD 0000 2012 | PN504 DC *-* SET TO LDX 1 SCAN-WD NO. PMN19930 00CE C8CD 2013 | LDD PN905-1 ACC=XXX, EXT=STOP BIT PMN19940 2014 | * PMN19950 2015 | * NOW SCAN THE PRINT TEXT TO SET SCAN FIELD PMN19960 2016 | * PMN19970 00CF C300 2017 | PN513 LD 3 0 GET TWO CHARS FROM AREA PMN19980 00D0 F0D5 2018 | EOR PN907 COMPARE FIRST TO EMIT CHAR PMN19990 00D1 2002 2019 | LDS 2 SET CARRY ON PMN20000 00D2 4810 2020 | BSC - AVOID ADD IF NEG--MAY OFLO PMN20010 00D3 80D6 2021 | A PN955 CARRY ON AGAIN IF NOT EQ PMN20020 00D4 2806 2022 | STS PN516 SET MDX * OR MDX *+2 PMN20030 00D5 1008 2023 | SLA 8 SECOND CHAR TO UPPER ACC PMN20040 00D6 F0CF 2024 | EOR PN907 PMN20050 00D7 4820 2025 | BSC Z SKIP IF WAS EQUAL PMN20060 00D8 7002 2026 | PN515 MDX *+2 NOT EQ--SKIP NEXT 2 INSTRS PMN20070 00D9 72FF 2027 | MDX 2 -1 EQUAL--DECR HAMMER COUNT PMN20080 00DA C0C1 2028 | LD PN991 EQUAL--SET SCAN BIT ON PMN20090 00DB 7000 2029 | PN516 MDX * BECOMES *+2 IF 1ST NOT EQ PMN20100 00DC 72FF 2030 | MDX 2 -1 EQUAL--DECR HAMMER COUNT PMN20110 00DD E8FA 2031 | OR PN515 EQUAL--SET SCAN BIT ON PMN20120 00DE 1008 2032 | SLA 8 GET RID OF FIRST 8 BITS PMN20130 00DF 1808 2033 | SRA 8 OF POSSIBLE GARBAGE PMN20140 00E0 73FF 2034 | MDX 3 -1 DECR AREA POINTER PMN20150 00E1 18C2 2035 | RTE 2 INCORP SCAN BITS PMN20160 00E2 4810 2036 | BSC - SKIP IF STOPPER CAME AROUN PMN20170 00E3 70EB 2037 | MDX PN513 PMN20180 2038 | * PMN20190 2039 | * WE SKIP TO HERE WHEN A SCAN WORD IS TO BE STORED PMN20200 00E4 18D0 2040 | RTE 16 ACC=SCAN-WD, EXT=STOPPER PMN20210 00E5 D11F 2041 | STO 1 $SCAN-1 STORE INTO SCAN FIELD PMN20220 00E6 71FF 2042 | MDX 1 -1 UPDATE SCAN PTR--SKIP IF 0 PMN20230 00E7 70E7 2043 | MDX PN513 NOT LAST SCAN WORD--DO MOR PMN20240 2044 | * PMN20250 2045 | * WE SKIP TO HERE WHEN THE LAST SCAN WORD HAS BEEN PMN20260 2046 | * STORED AND WE ARE ABOUT TO EXIT THE INTERRUPT. PMN20270 2047 | * PMN20280 00E8 6ADA 2048 | STX 2 PN548 STORE REMAINING HAMMER COU PMN20290 00E9 7401 0027 2049 | PN580 MDX L $SCAN+7,+1 SET SCAN-COMPLETE BIT PMN20300 00EB 70AF 2050 | MDX PN590 EXIT FROM INTERRUPT LEVEL PMN20310 2051 | * PMN20320 2052 | * WE COME HERE WHEN PREVIOUS CYCLE WAS LAST CYCLE. PMN20330 2053 | * WE HAVE ALREADY TAKEN ONE EXTRA CYCLE FOR IDLE, PMN20340 2054 | * AND MUST SET FOR 15 MORE. WE WILL ALSO SET PMN20350 2055 | * THE $PBSY SWITCH TO INDICATE ROUTINE BUSY BUT PMN20360 2056 | * BUFFER FREE. THEN WE MAY SET SCAN COMPLETE BIT PMN20370 2057 | * AND EXIT THE INTERRUPT LEVEL. PMN20380 2058 | * PMN20390 00EC 620F 2059 | PN599 LDX 2 15 X2=REMAINING IDLE CYCLES PMN20400 00ED C0FF 2060 | LD *-1 GET A NEGATIVE PMN20410 00EE D227 2061 | STO 2 $PBSY-15 SET ROUT BUSY/BUF FREE PMN20420 00EF 6ABC 2062 | PN589 STX 2 PN950 SET IDLE COUNT PMN20430 00F0 70F8 2063 | MDX PN580 GO SET SCAN COMPLETE, EXIT PMN20440 2064 | * PMN20450 2065 | * PMN20460 2066 | * PMN20470 2067 | * NOT A PRINTER RESPONSE--MAYBE SKIP PMN20480 2068 | * PMN20490 00F1 6100 2069 | PN600 LDX 1 0 GIVE OURSELVES A BASE ADDR PMN20500 00F2 1001 2070 | SLA 1 SKIP BIT TO BIT 0 PMN20510 00F3 4810 2071 | BSC - SKIP IF IT WAS 'SKIP' PMN20520 00F4 700A 2072 | MDX PN700 NOT SKIP--BR FOR SPACE PMN20530 00F5 1007 2073 | SLA 7 CHAN 1 BIT TO BIT 0 PMN20540 00F6 4810 2074 | BSC - SKIP IF IT WAS CHANNEL 1 PMN20550 00F7 70A3 2075 | MDX PN590 NOT OUR CHAN--EXIT INTERRU PMN20560 00F8 08AB 2076 | XIO PN966 STOP CARRIAGE PMN20570 2077 | * PMN20580 2078 | * COMMON CARRIAGE CONTROL EXIT PMN20590 2079 | * PMN20600 00F9 74FF 0032 2080 | PN650 MDX L $IOCT,-1 REDUCE MASTER I/O COUNT PMN20610 00FB 1000 2081 | NOP IN CASE OF SKIP PMN20620 00FC 1010 2082 | SLA 16 PMN20630 00FD D136 2083 | STO 1 $PBSY SET ROUTINE TOTALLY FREE PMN20640 00FE 709C 2084 | MDX PN590 GO START THE RETURN PMN20650 2085 | * PMN20660 2086 | * SPACE COMPLETE INTERRUPT PMN20670 2087 | * PMN20680 00FF 1001 2088 | PN700 SLA 1 SPACE BIT TO BIT 0 PMN20690 0100 4810 2089 | BSC - SKIP IF SPACE INTERRUPT PMN20700 0101 7099 2090 | MDX PN590 BR ON UNEXPECTED--RETURN PMN20710 0102 1802 2091 | SRA 2 CHAN 12 TO BIT 15 PMN20720 0103 4804 2092 | BSC E SKIP IF *NO* CHAN 12 PMN20730 0104 D17F 2093 | STO 1 $1132 SET CHAN 12 ON PMN20740 0105 70F3 2094 | MDX PN650 GO TO COMMON CARRIAGE EXIT PMN20750 2095 | * PMN20760 2096 | * PMN20770 2097 | * PMN20780 2098 | * RECOVERY FROM SCAN CHECK PMN20790 2099 | * PMN20800 0106 622E 2100 | PN847 LDX 2 46 SET 46 *MORE* DEAD CYCLES PMN20810 0107 6AA4 2101 | STX 2 PN950 SET IDLE COUNTER PMN20820 0108 6278 2102 | LDX 2 120 WE MUST FORGET ABOUT OPTI- PMN20830 0109 70DE 2103 | MDX PN580-1 MIZING HAMMER FIRES NOW PMN20840 2104 | * PMN20850 2105 | * IN A DELAY--DISCOVER WHY PMN20860 2106 | * PMN20870 010A 9091 2107 | PN800 S PN991 SUBTRACT 1 PMN20880 010B D0A0 2108 | STO PN950 PUT BACK CYCLE PMN20890 010C 4808 2109 | BSC + SKIP IF ANY IDLE LEFT PMN20900 010D C116 2110 | LD 1 $PBSY-$SCAN PMN20910 010E 4810 2111 | BSC - SKIP IF IN BUF FREE MODE PMN20920 010F 70D9 2112 | MDX PN580 ELSE, MERE DELAY--RETURN PMN20930 0110 7401 0027 2113 | MDX L $SCAN+7,+1 PMN20940 0112 0899 2114 | XIO PN947 TIME TO STOP THE PRINTER PMN20950 0113 0896 2115 | XIO PN988 AND START A SPACE PMN20960 0114 7086 2116 | MDX PN590 NOW WE CAN RETURN PMN20970 2117 | * PMN20980 2118 | * PMN20990 2119 | * PMN21000 0115 2120 | PNEND EQU * PMN21010 SYSTEM CONSOLE PRINTER SUBROUTINE 2122 | *************************************************** PMN21030 2123 | * * PMN21040 2124 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN21050 2125 | * * PMN21060 2126 | *FUNCTION/OPERATION- * PMN21070 2127 | * *RESTORE (SPACE 5 LINES) * PMN21080 2128 | * *WRITE * PMN21090 2129 | * *SPACE ONE LINE * PMN21100 2130 | * * PMN21110 2131 | *ENTRY POINTS- * PMN21120 2132 | * *CP000+1 IS THE USER ENTRY. * PMN21130 2133 | * *CP020+1 IS THE INTERRUPT ENTRY. * PMN21140 2134 | * * PMN21150 2135 | *INPUT- * PMN21160 2136 | * *RESTORE * PMN21170 2137 | * ACC = 7000 * PMN21180 2138 | * EXT = ADDRESS OF PAGE HEADING BUFFER * PMN21190 2139 | * *WRITE * PMN21200 2140 | * ACC = 7001 * PMN21210 2141 | * EXT = ADDRESS OF I/O AREA * PMN21220 2142 | * *SPACE * PMN21230 2143 | * ACC = 7002 * PMN21240 2144 | * EXT = ANYTHING * PMN21250 2145 | * **THE I/O AREA CONSISTS OF ONE WORD OF WORD * PMN21260 2146 | * COUNT FOLLOWED BY PACKED EBCDIC. * PMN21270 2147 | * * PMN21280 2148 | *OUTPUT- * PMN21290 2149 | * THE MESSAGE IN THE I/O AREA IS PRINTED TO * PMN21300 2150 | * THE KEYBOARD. * PMN21310 2151 | * * PMN21320 2152 | *EXTERNAL REFERENCES- * PMN21330 2153 | * $I405+1 * PMN21340 2154 | * $IOCT 2-2 * PMN21350 2155 | * $KCSW * PMN21360 2156 | * $PBSY * PMN21370 2157 | * $PRET * PMN21380 2158 | * $PST4 * PMN21390 2159 | * * PMN21400 2160 | *EXITS- NORMAL * PMN21410 2161 | * *SUBROUTINE RETURNS TO USER AFTER FUNCTION * PMN21420 2162 | * HAS BEEN INITIATED. * PMN21430 2163 | * *SUBROUTINE RETURNS TO INTERRUPT LEVEL * PMN21440 2164 | * SUBROUTINE AFTER AN INTERRUPT HAS BEEN * PMN21450 2165 | * SERVICED. * PMN21460 2166 | * * PMN21470 2167 | *EXITS- ERROR * PMN21480 2168 | * *EXIT TO $PRET ON PRE-OPERATIVE ERROR. * PMN21490 2169 | * *EXIT TO $PST4 ON POST-OPERATIVE ERROR. * PMN21500 2170 | * * PMN21510 2171 | *TABLES/WORK AREAS- * PMN21520 2172 | * CP480 IS A TABLE OF EBCDIC TO ROTATE AND * PMN21530 2173 | * TILT INLINE CODE. * PMN21540 2174 | * * PMN21550 2175 | *ATTRIBUTES- * PMN21560 2176 | * *NATURALLY RELOCATABLE. * PMN21570 2177 | * *REUSABLE. * PMN21580 2178 | * * PMN21590 2179 | *NOTES- BEFORE RETURNING TO THE CALLER A CHECK IS * PMN21600 2180 | * MADE FOR THE PRESENCE OF THE SYSTEM KEYBOARD* PMN21610 2181 | * SUBROUTINE IN CORE. IF IT IS, RETURNING IS * PMN21620 2182 | * DELAYED UNTIL CONSOLE PRINTING IS COMPLETED * PMN21630 2183 | * TO PREVENT POSSIBLE OVER-LAPPING. * PMN21640 2184 | * * PMN21650 2185 | *************************************************** PMN21660 SYSTEM CONSOLE PRINTER SUBROUTINE 0000 2187 | ORG 0 PMN21680 *SBRKSMC 8E 2188 | *SYS CONSOLE PRINTER V2M03 PMN21690 0000 011E 2189 | DC CP530-CP000 WC OF SYS CP SUBR 2-1 PMN21700 0001 008E 2190 | DC @CPTR PHASE ID OF SYS CP SUBR PMN21710 SYSTEM CONSOLE PRINTER SUBROUTINE 0002 4C00 0000 2192 | CP000 BSC L *-* ENTER HERE FROM MAIN (+2) PMN21730 0004 700D 2193 | MDX CP090-1 BR TO SERVICE CALL PMN21740 2194 | * * PMN21750 0005 4C00 0000 2195 | CP020 BSC L *-* ENTER HERE ON INTRPT (+5) PMN21760 0007 C004 2196 | LD CP040 INITLZ SYSTEM TRAP ADDR PMN21770 0008 D02C 2197 | STO CP110+1 OF 'TEST DEV RDY' SUBR PMN21780 0009 7066 2198 | MDX CP480 BR TO SERVICE INTERRUPT2-1 PMN21790 2199 | * * PMN21800 000A 0008 2200 | CP025 DC 8 IBT INCREMENT PMN21810 000B 0006 2201 | CP030 DC 6 PAGE HDR INCREMENT PMN21820 000C 008D 2202 | CP040 DC $PST4 ADDR OF INT TRAP ADDR PMN21830 000D 0028 2203 | CP050 DC $PRET ADDR OF CALL TRAP ADDR PMN21840 000E FFE7 2204 | CP060 DC CP020-CP010 ADDR DISPLACEMENT PMN21850 000F 0000 2205 | CP070 DC 0 INTRPT ADDR MINUS DISP PMN21860 0010 2206 | BSS E 0 PMN21870 0010 7001 2207 | CP080 DC /7001 PRNT FUNC CODE PMN21880 0011 0000 2208 | DC *-* PAGE HDR ADDR PMN21890 2209 | * * PMN21900 0012 D024 2210 | STO CP120 SET UP FUNCTION PMN21910 0013 C400 0036 2211 | CP090 LD L $PBSY TEST SUBROUTINE BUSY PMN21920 0015 4820 2212 | BSC Z SKIP ON NOT BUSY PMN21930 0016 70FC 2213 | MDX *-4 LOOP ON BUSY PMN21940 2214 | * * PMN21950 0017 6C00 0036 2215 | STX L0 $PBSY SET SUBROUTINE BUSY PMN21960 0019 D0F7 2216 | STO CP080+1 SAVE FOR INTRPT EXIT PMN21970 001A D04E 2217 | STO CP210 SET LFT/RT INDR TO LFT PMN21980 001B D04C 2218 | STO CP200 AND CARRIER RET INDR TO Z PMN21990 001C 6A59 2219 | STX 2 CP510+2 SAVE XR2 2-2 PMN22000 001D 6B5A 2220 | STX 3 CP510+4 SAVE XR3 2-2 PMN22010 2221 | * * PMN22020 001E 68F0 2222 | CP010 STX CP070 COMPUTE RELATIVE ADDR PMN22030 001F C0EF 2223 | LD CP070 *OF INTERRUPT ENTRY PMN22040 0020 80ED 2224 | A CP060 FOR ILS04 BRANCH TABLE PMN22050 0021 D0ED 2225 | STO CP070 PMN22060 0022 C400 00D4 2226 | LD L $I405+1 FETCH ADDR OF ILS04 IBT PMN22070 0024 80E5 2227 | A CP025 PMN22080 0025 D002 2228 | STO *+2 SAVE KB/CP ENTRY ADDR PMN22090 0026 C0E8 2229 | LD CP070 SET UP THE INTERRUPT ADDR PMN22100 0027 D400 0000 2230 | STO L *-* IN THE IBT PMN22110 0029 C0E3 2231 | LD CP050 CALL SYSTEM TRAP ADDR PMN22120 002A D00A 2232 | STO CP110+1 TO 'TEST DEV RDY' SUBR PMN22130 002B 4002 2233 | BSI CP100 GO TO TEST DEVICE READY PMN22140 002C 700A 2234 | MDX CP120 GO TO DETRMINE FUNCTION PMN22150 2235 | * * PMN22160 002D 4C00 2236 | DC /4C00 BRANCH OUT PMN22170 002E 0000 2237 | CP100 DC *-* OF READY TEST PMN22180 002F 083A 2238 | XIO CP320-1 SENSE AND RESET PMN22190 0030 1005 2239 | SLA 5 PMN22200 0031 4810 2240 | BSC - SKIP ON DEVIC NOT RDY PMN22210 0032 70FA 2241 | MDX CP100-1 GO TO RET ON DEVIC RDY PMN22220 2242 | * * PMN22230 0033 C036 2243 | LD CP330 ERROR CD FOR DEVC NOT RDY PMN22240 0034 4400 0000 2244 | CP110 BSI L *-* TO ACC AND GO TO WAIT PMN22250 0036 70F8 2245 | MDX CP100+1 TRY AGAIN PMN22260 2246 | * * PMN22270 0037 0000 2247 | CP120 DC *-* FUNCTION BRANCH PMN22280 0038 7002 2248 | MDX CP130 *TO HERE ON RESTORE PMN22290 0039 7040 2249 | MDX CP140 *TO HERE ON PRINT PMN22300 003A 7053 2250 | MDX CP180 *TO HERE ON SKIP - BRANCH PMN22310 2251 | * TO XEQ CARR RET AND EXIT * PMN22320 003B C031 2252 | CP130 LD CP410 SET FOR FIVE PMN22330 003C D02B 2253 | STO CP200 CARR RETURNS AND PMN22340 003D 18D0 2254 | RTE 16 FETCH I/O AREA ADDR PMN22350 003E D0D2 2255 | STO CP080+1 SAVE I/O AREA ADDRESS 2-1 PMN22360 003F D018 2256 | STO CP136+1 2-1 PMN22370 0040 D002 2257 | STO *+2 2-1 PMN22380 0041 6204 2258 | LDX 2 4 XR2 EQUALS WORD COUNT 2-1 PMN22390 0042 6700 0000 2259 | LDX L3 *-* XR3 POINT TO I/O AREA 2-1 PMN22400 0044 C400 0037 2260 | LD L $PGCT FETCH PAGE COUNT 2-1 PMN22410 0046 1890 2261 | SRT 16 2-1 PMN22420 0047 A824 2262 | CP132 D CP340 CONVERT 2-1 PMN22430 0048 18D0 2263 | RTE 16 *PAGE 2-1 PMN22440 0049 E824 2264 | OR CP420 *COUNT 2-1 PMN22450 004A D306 2265 | STO 3 6 *TO 2-1 PMN22460 004B 1010 2266 | SLA 16 *UNPACKED 2-1 PMN22470 004C 73FF 2267 | MDX 3 -1 *EBCDIC 2-1 PMN22480 004D 72FF 2268 | MDX 2 -1 2-1 PMN22490 004E 70F8 2269 | MDX CP132 2-1 PMN22500 004F C307 2270 | CP134 LD 3 7 REPLACE 2-1 PMN22510 0050 F01D 2271 | EOR CP420 *LEADING 2-1 PMN22520 0051 4820 2272 | BSC Z *ZEROS 2-1 PMN22530 0052 7004 2273 | MDX CP136 *WITH 2-1 PMN22540 0053 C01B 2274 | LD CP470 *BLANKS 2-1 PMN22550 0054 D307 2275 | STO 3 7 2-1 PMN22560 0055 7301 2276 | MDX 3 1 2-1 PMN22570 0056 70F8 2277 | MDX CP134 2-1 PMN22580 0057 6700 0000 2278 | CP136 LDX L3 *-* 2-1 PMN22590 0059 C304 2279 | LD 3 4 PACK 2-1 PMN22600 005A 1888 2280 | SRT 8 *FOUR 2-1 PMN22610 005B C303 2281 | LD 3 3 *CHARACTER 2-1 PMN22620 005C 1088 2282 | SLT 8 *PAGE 2-1 PMN22630 005D D303 2283 | STO 3 3 *COUNT 2-1 PMN22640 005E C306 2284 | LD 3 6 *TO 2-1 PMN22650 005F 1888 2285 | SRT 8 *TWO 2-1 PMN22660 0060 C305 2286 | LD 3 5 *WORDS 2-1 PMN22670 0061 1088 2287 | SLT 8 2-1 PMN22680 0062 D304 2288 | STO 3 4 2-1 PMN22690 0063 C80B 2289 | LDD CP470 CLEAR TEMPORARLY 2-1 PMN22700 0064 DB05 2290 | STD 3 5 *USED WORDS 2-1 PMN22710 0065 7401 0037 2291 | MDX L $PGCT,1 INCREMENT THE PAGE CNT 2-1 PMN22720 0067 7026 2292 | MDX CP180 BRANCH FOR CARR RETURNS2-1 PMN22730 2293 | * 2-1 PMN22740 2294 | * CONSTANTS AND WORK AREAS 2-1 PMN22750 2295 | * 2-1 PMN22760 0068 2296 | BSS E 0 2-1 PMN22770 0068 0000 2297 | CP200 DC *-* CARRIAGE RETURN INDIC 2-1 PMN22780 0069 0000 2298 | CP210 DC *-* LEFT/RIGHT INDICATOR 2-1 PMN22790 006A 2000 2299 | CP330 DC /2000 'DEVICE NOT READY' CODE2-1 PMN22800 006B 0F01 2300 | CP320 DC /0F01 SENSE AND RESET IOCC 2-1 PMN22810 006C 000A 2301 | CP340 DC 10 BINARY TO EBCDIC DIVISOR PMN22820 006D 0004 2302 | CP410 DC 4 NO. OF CARRIAGE RETURNS2-1 PMN22830 006E 00F0 2303 | CP420 DC /00F0 BINARY TO EBCDIC MASK 2-1 PMN22840 006F 4040 2304 | CP470 DC /4040 PACKED EBCDIC BLANKS 2-1 PMN22850 0070 702F 2305 | CP480 MDX CP220 BR TO SERVICE INTERRUPT2-1 PMN22860 0071 40BC 2306 | CP490 BSI CP100 BR TO SENSE DEVICE RDY 2-1 PMN22870 0072 7069 2307 | MDX CP305 BRANCH TO PRINT 2-1 PMN22880 0073 7091 2308 | CP500 MDX CP020 RETURN TO ILS04 2-1 PMN22890 0074 C89B 2309 | CP510 LDD CP080 FUNC CODE / I/O AREA 2-1 PMN22900 0075 6600 0000 2310 | LDX L2 *-* RESTORE XR2 2-2 PMN22910 0077 6700 0000 2311 | LDX L3 *-* RESTORE XR3 2-2 PMN22920 0079 7088 2312 | MDX CP000 RETURN TO CALLER 2-1 PMN22930 2313 | * 2-1 PMN22940 2314 | * INSTRUCTION REMOVED 2-2 PMN22950 007A 18D0 2315 | CP140 RTE 16 FETCH AND STORE 2-1 PMN22960 007B D00B 2316 | STO CP160+1 ADDRESS OF 2-1 PMN22970 007C D003 2317 | STO *+3 I/O AREA PMN22980 007D 8067 2318 | A CP400 PMN22990 007E D064 2319 | STO CP380 PMN23000 007F 6680 0000 2320 | LDX I2 *-* WD CNT TO XR2 PMN23010 2321 | * * PMN23020 0081 6833 2322 | STX CP250+1 PMN23030 0082 C032 2323 | CP150 LD CP250+1 PMN23040 0083 8060 2324 | A CP390 ADDR OF TEMP STORAGE PMN23050 0084 D030 2325 | STO CP250+1 I/O AREA ADDR TO PMN23060 0085 D03B 2326 | STO CP270+1 INLINE CODING PMN23070 2327 | * * PMN23080 0086 C600 0000 2328 | CP160 LD L2 *-* SCAN FOR TRAILING BLANKS PMN23090 0088 90E6 2329 | S CP470 FROM END OF I/O AREA 2-1 PMN23100 0089 4820 2330 | BSC Z SKIP IF WD IS A BLANK PMN23110 008A 7002 2331 | MDX CP170 BRANCH OUT TO SCAN PMN23120 008B 72FF 2332 | MDX 2 -1 DECR WD CNT AND PMN23130 008C 70F9 2333 | MDX CP160 CONTINUE SCAN PMN23140 2334 | * * PMN23150 008D 6A54 2335 | CP170 STX 2 CP370 SET ACTUAL WD CNT PMN23160 2336 | * INSTRUCTION REMOVED 2-2 PMN23170 008E C057 2337 | CP180 LD CP430 SET UP AND PMN23180 008F D058 2338 | STO CP450 EXECUTE A CARR RETURN PMN23190 0090 684D 2339 | STX CP350 ADDRESS OF BUFFER PMN23200 0091 C04C 2340 | CP190 LD CP350 COMPUTED AND STORED PMN23210 0092 804E 2341 | A CP360 FOR IOCC WORD PMN23220 0093 D04A 2342 | STO CP350 PMN23230 2343 | * * PMN23240 0094 0849 2344 | XIO CP350 PMN23250 0095 7401 0032 2345 | MDX L $IOCT,1 INCREMENT INTRPT CNTR 2-2 PMN23260 0097 7400 007C 2346 | MDX L $KCSW,0 IS CPSYS SUBR IN CORE PMN23270 0099 7001 2347 | MDX *+1 YES, SKIP TO HANG IN PMN23280 009A 7004 2348 | MDX *+4 NO, GO TO RETURN PMN23290 2349 | * * PMN23300 009B C400 0036 2350 | LD L $PBSY IS SUBROUTINE BUSY PMN23310 009D 4820 2351 | BSC Z SKIP TO RETURN PMN23320 009E 70FC 2352 | MDX *-4 LOOP UNTIL NOT BUSY PMN23330 2353 | * * PMN23340 009F 70D4 2354 | MDX CP510 RETURN TO CALLER 2-1 PMN23350 2355 | * * PMN23360 2356 | *************************************************** PMN23370 2357 | * THIS BLOCK OF CODING SERVICES * PMN23380 2358 | * THE INTERRUPT * PMN23390 2359 | *************************************************** PMN23400 00A0 08C9 2360 | CP220 XIO CP320-1 PMN23410 00A1 C0C6 2361 | LD CP200 TEST CARR RET IND PMN23420 00A2 4820 2362 | BSC Z SKIP TO CHECK WD CNT ON Z PMN23430 00A3 7009 2363 | MDX CP230 GO TO HANDLE RESTORE PMN23440 00A4 C03D 2364 | LD CP370 DETRM FUNC REQUESTED PMN23450 00A5 4820 2365 | BSC Z SKIP ON SKIP FUNCTION PMN23460 00A6 700A 2366 | MDX CP240 BRANCH TO SERVICE PRINT PMN23470 2367 | * *REQUEST * PMN23480 00A7 D400 0036 2368 | STO L $PBSY TURN OFF SUBR BUSY INDR PMN23490 00A9 74FF 0032 2369 | MDX L $IOCT,-1 DECREMENT IOCS CNTR 2-2 PMN23500 00AB 1000 2370 | NOP IN CASE OF SKIP 2-2 PMN23510 00AC 70C6 2371 | MDX CP500 RETURN TO ILS04 2-1 PMN23520 00AD C0BA 2372 | CP230 LD CP200 PMN23530 00AE 9036 2373 | S CP400 DECR THE CARR RET INDR PMN23540 00AF D0B8 2374 | STO CP200 PMN23550 00B0 702A 2375 | MDX CP300+4 GO TO EXEC CARR RET PMN23560 2376 | * * PMN23570 00B1 C0B7 2377 | CP240 LD CP210 DETM WHICH HALF OF PACKED PMN23580 00B2 4820 2378 | BSC Z EBC WORD TO HANDLE PMN23590 00B3 7007 2379 | MDX CP260 BRANCH TO HANDLE RIGHT PMN23600 2380 | * * PMN23610 00B4 C480 0000 2381 | CP250 LD I *-* SKIP TO HERE TO HANDLE LFT PMN23620 00B6 1808 2382 | SRA 8 FETCH WRD, SHIFT OUT RT PMN23630 00B7 D030 2383 | STO CP450 AND STORE INTO BUFFER PMN23640 00B8 C0FF 2384 | LD *-1 PMN23650 00B9 D0AF 2385 | STO CP210 SET INDR TO HANDLE RT PMN23660 00BA 700C 2386 | MDX CP280-1 GO TO CONVERT PMN23670 2387 | * * PMN23680 00BB 1010 2388 | CP260 SLA 16 SET INDR TO PMN23690 00BC D0AC 2389 | STO CP210 HANDLE LEFT PMN23700 00BD C024 2390 | LD CP370 DECR WORD COUNT PMN23710 00BE 9026 2391 | S CP400 PMN23720 00BF D022 2392 | STO CP370 PMN23730 00C0 C480 0000 2393 | CP270 LD I *-* FETCH WORD, AND PMN23740 00C2 E024 2394 | AND CP440 DELETE RIGHT HALF PMN23750 00C3 D024 2395 | STO CP450 STORE INTO BUFFER PMN23760 00C4 C01E 2396 | LD CP380 INCR I/O AREA POINTER PMN23770 00C5 801F 2397 | A CP400 PMN23780 00C6 D01C 2398 | STO CP380 PMN23790 2399 | * * PMN23800 00C7 6807 2400 | STX CP290+1 COMPUTE THE PMN23810 00C8 C006 2401 | CP280 LD CP290+1 *EFFECTIVE ADDRESS PMN23820 00C9 801F 2402 | A CP460 *OF THE CONV TABLE PMN23830 00CA D004 2403 | STO CP290+1 *AND STORE IT INLINE PMN23840 00CB D00C 2404 | STO CP300+1 PMN23850 00CC 6131 2405 | LDX 1 +49 PMN23860 00CD C01A 2406 | LD CP450 FETCH WORD PMN23870 00CE F500 0000 2407 | CP290 EOR L1 *-* PMN23880 00D0 1008 2408 | SLA 8 SHIFT OUT CONSOLE CODE PMN23890 00D1 4818 2409 | BSC +- SKIP IF NO COMPARE PMN23900 00D2 7004 2410 | MDX CP300 END SEARCH - CHAR FOUND PMN23910 00D3 71FF 2411 | MDX 1 -1 PMN23920 00D4 70F8 2412 | MDX CP290-1 CONTINUE SEARCH PMN23930 2413 | * * PMN23940 00D5 C014 2414 | LD CP520 INVALID CHAR DETECTED 2-3 PMN23950 00D6 7002 2415 | MDX CP300+2 GO TO PRINT A BLANK PMN23960 2416 | * * PMN23970 00D7 C500 0000 2417 | CP300 LD L1 *-* PMN23980 00D9 E006 2418 | AND CP310 DELETE EBC PMN23990 00DA D00D 2419 | STO CP450 SET FOR IOCC PMN24000 2420 | * * PMN24010 00DB 7095 2421 | MDX CP490 BR TO SENSE DEVICE RDY 2-1 PMN24020 2422 | * * PMN24030 00DC 0801 2423 | CP305 XIO CP350 PRINT PMN24040 00DD 70CE 2424 | MDX CP230-1 GO TO RET FROM INTRPT PMN24050 2425 | *************************************************** PMN24060 2426 | * FOLLOWING IS A TABLE OF CONSTANTS * PMN24070 2427 | * * PMN24080 2428 | *************************************************** PMN24090 00DE 2429 | BSS E 0 PMN24100 00DE 0000 2430 | CP350 DC *-* AREA ADDR FOR CONSOLE PMN24110 00DF 0902 2431 | DC /0902 IOCC FOR WRITE ON CONSOLE PMN24120 00E0 FF00 2432 | CP310 DC /FF00 MASKING CONSTANT 2-1 PMN24130 00E1 0057 2433 | CP360 DC CP450-CP190 ADDRESSING DISP PMN24140 00E2 0000 2434 | CP370 DC 0 WORD COUNT PMN24150 00E3 0000 2435 | CP380 DC 0 I/O AREA ADDR PMN24160 00E4 0061 2436 | CP390 DC CP380-CP150 ADDRESSING DISP PMN24170 00E5 0001 2437 | CP400 DC 1 CONSTANT ONE PMN24180 00E6 8100 2438 | CP430 DC /8100 IOCC FOR CARR RET PMN24190 00E7 00FF 2439 | CP440 DC /00FF MASKING CONSTANT PMN24200 00E8 0000 2440 | CP450 DC *-* INPUT BUFFER PMN24210 00E9 0021 2441 | CP460 DC CP520-CP280-1 ADDR DISP 2-1 PMN24220 2442 | *************************************************** PMN24230 2443 | * THE CONV CP480 FOLLOWING CONSISTS * PMN24240 2444 | * OF 49 ACCEPTABLE CONSOLE CODES IN * PMN24250 2445 | * BITS 0-7, AND THEIR CORRESPONDING * PMN24260 2446 | * EBCDIC REPRESENTATION IN BITS 8-15 * PMN24270 2447 | *************************************************** PMN24280 00EA 2140 2448 | CP520 DC /2140 BLANK 2-1 PMN24290 00EB C4F0 2449 | DC /C4F0 0 PMN24300 00EC FCF1 2450 | DC /FCF1 1 PMN24310 00ED D8F2 2451 | DC /D8F2 2 PMN24320 00EE DCF3 2452 | DC /DCF3 3 PMN24330 00EF F0F4 2453 | DC /F0F4 4 PMN24340 00F0 F4F5 2454 | DC /F4F5 5 PMN24350 00F1 D0F6 2455 | DC /D0F6 6 PMN24360 00F2 D4F7 2456 | DC /D4F7 7 PMN24370 00F3 E4F8 2457 | DC /E4F8 8 PMN24380 00F4 E0F9 2458 | DC /E0F9 9 PMN24390 00F5 3CC1 2459 | DC /3CC1 A PMN24400 00F6 18C2 2460 | DC /18C2 B PMN24410 00F7 1CC3 2461 | DC /1CC3 C PMN24420 00F8 30C4 2462 | DC /30C4 D PMN24430 00F9 34C5 2463 | DC /34C5 E PMN24440 00FA 10C6 2464 | DC /10C6 F PMN24450 00FB 14C7 2465 | DC /14C7 G PMN24460 00FC 24C8 2466 | DC /24C8 H PMN24470 00FD 20C9 2467 | DC /20C9 I PMN24480 00FE 7CD1 2468 | DC /7CD1 J PMN24490 00FF 58D2 2469 | DC /58D2 K PMN24500 0100 5CD3 2470 | DC /5CD3 L PMN24510 0101 70D4 2471 | DC /70D4 M PMN24520 0102 74D5 2472 | DC /74D5 N PMN24530 0103 50D6 2473 | DC /50D6 O (ALPHA) PMN24540 0104 54D7 2474 | DC /54D7 P PMN24550 0105 64D8 2475 | DC /64D8 Q PMN24560 0106 60D9 2476 | DC /60D9 R PMN24570 0107 98E2 2477 | DC /98E2 S PMN24580 0108 9CE3 2478 | DC /9CE3 T PMN24590 0109 B0E4 2479 | DC /B0E4 U PMN24600 010A B4E5 2480 | DC /B4E5 V PMN24610 010B 90E6 2481 | DC /90E6 W PMN24620 010C 94E7 2482 | DC /94E7 X PMN24630 010D A4E8 2483 | DC /A4E8 Y PMN24640 010E A0E9 2484 | DC /A0E9 Z PMN24650 010F 004B 2485 | DC /004B PERIOD PMN24660 0110 F65D 2486 | DC /F65D RIGHT PARENTHESIS PMN24670 0111 FE4D 2487 | DC /FE4D LEFT PARENTHESIS PMN24680 0112 DA4E 2488 | DC /DA4E PLUS PMN24690 0113 4450 2489 | DC /4450 AMPERSAND PMN24700 0114 405B 2490 | DC /405B DOLLAR SIGN PMN24710 0115 D65C 2491 | DC /D65C ASTERISK PMN24720 0116 C27E 2492 | DC /C27E EQUAL PMN24730 0117 8460 2493 | DC /8460 MINUS PMN24740 0118 BC61 2494 | DC /BC61 SLASH PMN24750 0119 806B 2495 | DC /806B COMMA PMN24760 011A E67D 2496 | DC /E67D APOSTROPHE PMN24770 011B 047C 2497 | DC /047C AT SIGN 212 PMN24771 011C C07B 2498 | DC /C07B POUND SIGN 212 PMN24772 011D DE4C 2499 | DC /DE4C LESS THAN 212 PMN24773 011E 066C 2500 | DC /066C PERCENT 212 PMN24774 2501 | * PMN24780 011F 2502 | BSS 1 PATCH AREA 2-2 PMN24790 0120 0000 2503 | CP530 DC 0 *AREA 2-1 PMN24800 SYSTEM 2501/1442 SUBROUTINE 2505 | *************************************************** PMN24820 2506 | * * PMN24830 2507 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN24840 2508 | * * PMN24850 2509 | *FUNCTION/OPERATION- * PMN24860 2510 | * THIS IS A SUBROUTINE USED BY THE 1130 * PMN24870 2511 | * MONITOR TO PERFORM THE FOLLOWING FUCTIONS * PMN24880 2512 | * ON THE 2501 CARD READ DEVICE AND THE 1442-5 * PMN24890 2513 | * CARD PUNCH DEVICE- * PMN24900 2514 | * *READ A CARD FROM THE 2501. * PMN24910 2515 | * *PUNCH A CARD TO THE 1442-5. * PMN24920 2516 | * * PMN24930 2517 | *ENTRY POINTS- * PMN24940 2518 | * *RP000+1 IS THE USER ENTRY. * PMN24950 2519 | * *RP020+1 IS THE INTERRUPT LEVEL 4 ENTRY. * PMN24960 2520 | * *RP040+1 IS THE INTERRUPT LEVEL 0 ENTRY. * PMN24970 2521 | * * PMN24980 2522 | *INPUT * PMN24990 2523 | * *READ A CARD FROM THE 2501 * PMN25000 2524 | * ACC = 7000 * PMN25010 2525 | * EXT = ADDRESS OF I/O AREA * PMN25020 2526 | * *PUNCH A CARD TO THE 1442-5 * PMN25030 2527 | * ACC = 7001 * PMN25040 2528 | * EXT = ADDRESS OF I/O AREA * PMN25050 2529 | * *READ A CARD FROM THE 2501 * PMN25060 2530 | * ACC = 7002 * PMN25070 2531 | * EXT = ADDRESS OF I/O AREA * PMN25080 2532 | * *FEED A CARD THROUGH THE 1442-5 * PMN25090 2533 | * ACC = 7003 * PMN25100 2534 | * EXT = ANYTHING * PMN25110 2535 | * **THE I/O AREA CONSISTS OF ONE WORD OF * PMN25120 2536 | * COLUMN COUNT (MUST BE HEX 50 FOR A READ * PMN25130 2537 | * FUNCTION) FOLLOWED BY THAT MANY WORDS * PMN25140 2538 | * WHICH IN THE CASE OF A PUNCH FUNCTION ARE * PMN25150 2539 | * 12 BIT LEFT JUSTIFIED CARD CODE THE LAST * PMN25160 2540 | * OF WHICH IS A PUNCH STOP BIT. * PMN25170 2541 | * * PMN25180 2542 | *OUTPUT- * PMN25190 2543 | * *READ- THE CARD JUST READ IS IN THE I/O AREA* PMN25200 2544 | * IN 12 BIT LEFT JUSTIFIED CARD CODE. * PMN25210 2545 | * *PUNCH- THE I/O AREA WAS PUNCHED TO CARD. * PMN25220 2546 | * * PMN25230 2547 | *EXTERNAL REFERENCES- * PMN25240 2548 | * $CTSW * PMN25250 2549 | * $IBSY * PMN25260 2550 | * $IOCT 2-2 * PMN25270 2551 | * $LAST * PMN25280 2552 | * $PRET * PMN25290 2553 | * * PMN25300 2554 | *EXITS- NORMAL * PMN25310 2555 | * *SUBROUTINE RETURNS TO USER AFTER FUNCTION * PMN25320 2556 | * HAS BEEN INITIATED. * PMN25330 2557 | * *SUBROUTINE RETURNS TO INTERRUPT LEVEL * PMN25340 2558 | * SUBROUTINE AFTER AN INTERRUPT HAS BEEN * PMN25350 2559 | * SERVICED. * PMN25360 2560 | * * PMN25370 2561 | *EXITS- ERROR * PMN25380 2562 | * EXIT TO $PRET ON NOT READY CONDITION * PMN25390 2563 | * *DISPLAYING HEX 1000 FOR 1442-5. * PMN25400 2564 | * *DISPLAYING HEX 4000 FOR 2501. * PMN25410 2565 | * * PMN25420 2566 | *TABLES/WORK AREAS- NONE * PMN25430 2567 | * * PMN25440 2568 | *ATTRIBUTES- * PMN25450 2569 | * *NATURALLY RELOCATABLE. * PMN25460 2570 | * *REUSABLE. * PMN25470 2571 | * * PMN25480 2572 | *NOTES- NONE * PMN25490 2573 | * * PMN25500 2574 | *************************************************** PMN25510 SYSTEM 2501/1442 SUBROUTINE 0000 2576 | ORG 0 PMN25530 *SBRKDD 8F 2577 | *SYS 2501/1442 V2M02 PMN25540 0000 0000 2578 | DC 0 WORD CNT OF SYS 2501 SUBR PMN25550 0001 008F 2579 | DC @2501 PHASE ID OF SYS 2501 SUBR PMN25560 SYSTEM 2501/1442 SUBROUTINE 0002 4C00 0000 2581 | RP000 BSC L *-* ENTER 2ND WORD OF INSTR PMN25580 0004 7077 2582 | MDX RP320 BR TO PROCESS CALL PMN25590 2583 | * PMN25600 0005 4C00 0000 2584 | RP020 BSC L *-* END OF CARD INTERRUPT PMN25610 0007 700C 2585 | MDX RP080 PROCESS END OF CARD INTRP PMN25620 2586 | *************************************************** PMN25630 2587 | * PMN25640 2588 | * PROCESS PUNCH REQUEST INTERRUPT PMN25650 2589 | * PMN25660 0008 4C40 0000 2590 | RP040 BOSC L *-* LEVEL 0 INT -1442 ONLY- PMN25670 000A D835 2591 | STD RP480 SAVE ACC AND EXT PMN25680 000B 2806 2592 | STS RP060 SAVE STATUS PMN25690 000C 0835 2593 | XIO RP500 PUNCH A COLUMN PMN25700 000D C034 2594 | LD RP500 INCR COLUMN ADDRESS PMN25710 000E 803B 2595 | A RP640 *FOR PUNCH PMN25720 000F D032 2596 | STO RP500 PMN25730 0010 0833 2597 | XIO RP540-1 SENSE WITH RESET LEVEL 0 PMN25740 0011 C82E 2598 | LDD RP480 RELOAD ACC AND EXT PMN25750 0012 2000 2599 | RP060 LDS 0 RESET STATUS PMN25760 0013 70F4 2600 | MDX RP040 TURN OFF INTERRUPT PMN25770 2601 | * PMN25780 2602 | *************************************************** PMN25790 0014 0829 2603 | RP080 XIO RP200-1 SENSE DSW WITH RESET PMN25800 0015 1002 2604 | SLA 2 PMN25810 0016 4828 2605 | BSC +Z ERROR INDICATOR ON PMN25820 0017 701B 2606 | MDX RP140 BRANCH IF YES PMN25830 0018 1001 2607 | SLA 1 NO ERROR. IS LAST CARD PMN25840 0019 4828 2608 | BSC +Z *INDICATOR ON. PMN25850 001A 7036 2609 | MDX RP220 BRANCH IF YES PMN25860 001B 1010 2610 | RP100 SLA 16 PMN25870 001C D400 0013 2611 | STO L $IBSY CLEAR PROGRAM BUSY INDIC PMN25880 001E 74FF 0032 2612 | MDX L $IOCT,-1 DECREMENT IOCS CNTR 2-2 PMN25890 0020 1000 2613 | NOP IN CASE OF SKIP 2-2 PMN25900 2614 | * PMN25910 2615 | * BEFORE EXIT TEST IF THE CARD READ IN IS A CONTROL PMN25920 2616 | * CARD,INDICATED BY //BLANK IN COLUMNS 1-3,IF SO, PMN25930 2617 | * SET THE CONTROL CARD SWITCH--CTLSW--IN LOW CORE PMN25940 2618 | * PMN25950 0021 C022 2619 | LD RP520 LOAD ADDRESS OF I/O AREA PMN25960 0022 D001 2620 | STO RP120+1 STORE IN PMN25970 0023 6600 0000 2621 | RP120 LDX L2 *-* INDEX REGISTER 2 PMN25980 0025 C202 2622 | LD 2 2 LOAD SECOND WORD PMN25990 0026 18D0 2623 | RTE 16 PLACE IN EXTENSION PMN26000 0027 C201 2624 | LD 2 1 FIRST WORD IN ACC PMN26010 0028 9825 2625 | SD RP720 TEST FOR // PMN26020 0029 4818 2626 | BSC +- SKIP IF ACC NON-ZERO PMN26030 002A 18D0 2627 | RTE 16 ACC = 0, CHECK IF EXT = 0 PMN26040 002B 4820 2628 | BSC Z NO,RETURN TO ILS04 PMN26050 002C 70D8 2629 | MDX RP020 PMN26060 002D C203 2630 | LD 2 3 CHECK THIRD WORD FOR PMN26070 002E 4820 2631 | BSC Z ZERO--BLANK COL.IN CARD PMN26080 002F 70D5 2632 | MDX RP020 NO,RETURN TO ILS04 PMN26090 0030 6C00 000F 2633 | STX L0 $CTSW FOUND //BLANK,SET SWITCH PMN26100 0032 70D2 2634 | MDX RP020 RETURN TO ILS04 PMN26110 0033 C010 2635 | RP140 LD RP520 PMN26120 0034 D00D 2636 | STO RP500 RESET ADDRESSES TO FIRST PMN26130 0035 D012 2637 | STO RP600 RESET TO ADDRESS OF WD CNT PMN26140 0036 C008 2638 | LD RP200 WHICH DVC IS IN USE PMN26150 0037 4804 2639 | BSC E SKIP IF 1442 PMN26160 0038 7002 2640 | MDX RP160-1 *ELSE TEST 2501 PMN26170 0039 401E 2641 | BSI RP240+1 TEST 1442 READY PMN26180 003A 7001 2642 | MDX RP160 TO REPEAT LAST FUNCTION PMN26190 003B 4028 2643 | BSI RP280+1 TEST 2501 READY PMN26200 003C 080B 2644 | RP160 XIO RP620-1 REPEAT LAST FUNCTION PMN26210 003D 70C7 2645 | MDX RP020 RETURN TO ILS04 PMN26220 2646 | * PMN26230 2647 | **************************************M************ PMN26240 2648 | * PMN26250 2649 | * CONSTANTS PMN26260 2650 | * PMN26270 003E 2651 | BSS E 0 PMN26280 003E 1401 2652 | RP180 DC /1401 START 1442 PCH IOCC E PMN26290 003F 1702 2653 | RP200 DC /1702 SNS LEV 4 WITH RESET O PMN26300 0040 0000 2654 | RP480 DC *-* SAVE ACCUMULATOR E PMN26310 0041 0000 2655 | DC *-* SAVE EXTENSION O PMN26320 0042 0000 2656 | RP500 DC *-* CURRENT COL ADDRESS E PMN26330 0043 1100 2657 | DC /1100 PUNCH A COLUMN O PMN26340 0044 0000 2658 | RP520 DC *-* RESTART INFORMATION E PMN26350 0045 1701 2659 | RP540 DC /1701 SENSE LEVEL 0 WITH RESET O PMN26360 0046 4E00 2660 | RP560 DC /4E00 INITIATE 2501 READ E PMN26370 0047 4F01 2661 | RP580 DC /4F01 SENSE 2501 WITH RESET O PMN26380 0048 0000 2662 | RP600 DC *-* WD CNT ADRS FOR 2501 E PMN26390 0049 0000 2663 | RP620 DC *-* PRESET CONTROL FUNCTION O PMN26400 004A 0001 2664 | RP640 DC 1 CONSTANT E PMN26410 004B 1402 2665 | RP660 DC /1402 FEED CARD FROM 1442 O PMN26420 004C 1000 2666 | RP680 DC /1000 CONSTANT E PMN26430 004D 1702 2667 | RP700 DC /1702 SENSE LEV 4 W/RESET 1442 O PMN26440 004E 3000 2668 | RP720 DC /3000 CONSTANTS,REPRESENT SLASH PMN26450 004F 3000 2669 | DC /3000 IN IBM CARD CODE PMN26460 0050 4000 2670 | RP740 DC /4000 CONSTANT PMN26470 2671 | *************************************************** PMN26480 2672 | * PMN26490 2673 | * LAST CARD SUBROUTINE PMN26500 2674 | * PMN26510 0051 C0ED 2675 | RP220 LD RP200 PMN26520 0052 4804 2676 | BSC E 1442, SET $LAST POSITIVE PMN26530 0053 C0FF 2677 | LD *-1 2501, SET $LAST NEGATIVE212 PMN26540 0054 D400 0033 2678 | STO L $LAST PMN26560 0056 70C4 2679 | MDX RP100 PMN26570 2680 | * PMN26580 2681 | * 1442-5 READY TEST PMN26590 2682 | * PMN26600 0057 4C00 0000 2683 | RP240 BSC L *-* PMN26610 0059 08F2 2684 | XIO RP700-1 SENSE 1442 W/RESET PMN26620 005A 4804 2685 | BSC E FALL THRU IF NR PMN26630 005B 7003 2686 | MDX RP260 TO DISPLAY ERROR CODE PMN26640 005C C0F0 2687 | LD RP700 CHANGE 2501 SENSE W/RESET PMN26650 005D D0E1 2688 | STO RP200 *TO 1442 SENSE W/RESET PMN26660 005E 70F8 2689 | MDX RP240 1442 IS READY PMN26670 005F C0EC 2690 | RP260 LD RP680 FETCH DISPLAY CODE PMN26680 0060 4400 0028 2691 | BSI L $PRET TO PREOPERATIVE ERROR TRAP PMN26690 0062 70F6 2692 | MDX RP240+2 RETEST PMN26700 2693 | * PMN26710 2694 | * 2501 READY TEST PMN26720 0063 4C00 0000 2695 | RP280 BSC L *-* PMN26730 0065 08E0 2696 | XIO RP580-1 SENSE 2501 W/RESET PMN26740 0066 4804 2697 | BSC E FALL THRU IF NOT READY PMN26750 0067 7003 2698 | MDX RP300 TO SETUP ERROR CODE PMN26760 0068 C0DE 2699 | LD RP580 CHANGE 1442 SENSE W/RESET PMN26770 0069 D0D5 2700 | STO RP200 *TO 2501 SENSE W/RESET PMN26780 006A 70F8 2701 | MDX RP280 2501 IS READY PMN26790 006B C0E4 2702 | RP300 LD RP740 FETCH DISPLAY CODE PMN26800 006C 4400 0028 2703 | BSI L $PRET TO PREOPERATIVE ERROR TRAP PMN26810 006E 70F6 2704 | MDX RP280+2 RETEST FOR READY PMN26820 2705 | * PMN26830 2706 | **************************************M************ PMN26840 2707 | * PMN26850 2708 | * 2501 READER CALL PROCESSING PMN26860 2709 | * PMN26870 006F 40F4 2710 | RP400 BSI RP280+1 TO TEST 2501 READY PMN26880 0070 C0D5 2711 | LD RP560 SET UP CTRL IOCC TO START PMN26890 0071 D0D7 2712 | STO RP620 *2501 READER PMN26900 0072 18D0 2713 | RTE 16 ROTATE I/O AREA ADDR IN PMN26910 0073 D0D4 2714 | STO RP600 WORD COUNT PMN26920 0074 D0CF 2715 | RP420 STO RP520 SAVE FOR RESTART PROC PMN26930 0075 6C00 0013 2716 | STX L0 $IBSY TURN ON BUSY INDICATOR PMN26940 0077 7401 0032 2717 | MDX L $IOCT,1 INCREMENT IOCS CNTR 2-2 PMN26950 0079 08CE 2718 | RP410 XIO RP620-1 START DEVICE PMN26960 007A 2000 2719 | RP440 LDS 0 RESET STATUS PMN26970 007B 7086 2720 | MDX RP000 RETURN TO CALLING PROGRAM PMN26980 2721 | * PMN26990 2722 | *************************************************** PMN27000 2723 | * PMN27010 2724 | * GENERAL CALL PROCESSING PMN27020 2725 | * PMN27030 007C 28FD 2726 | RP320 STS RP440 SAVE STATUS PMN27040 007D D003 2727 | STO RP360 DECODE CALLING FUNCTION PMN27050 007E 7400 0013 2728 | RP340 MDX L $IBSY,0 TEST PROGRAM BUSY PMN27060 0080 70FD 2729 | MDX RP340 LOOP UNTIL NOT BUSY PMN27070 0081 0000 2730 | RP360 DC *-* TO CONTAIN MDX INSTRUC PMN27080 0082 70EC 2731 | MDX RP400 READ PMN27090 0083 700C 2732 | MDX RP460 PUNCH PMN27100 0084 70EA 2733 | MDX RP400 READ PMN27110 2734 | * PMN27120 2735 | *************************************************** PMN27130 2736 | * PMN27140 2737 | * 1442 FEED CALL PROCESSING PMN27150 2738 | * PMN27160 0085 40D2 2739 | RP380 BSI RP240+1 TEST READY ON 1442-5 PMN27170 0086 C0C4 2740 | LD RP660 SETUP FEED IOCC PMN27180 0087 D0C1 2741 | STO RP620 PMN27190 0088 C400 0033 2742 | LD L $LAST TEST LAST CARD INDICATOR PMN27200 008A 4818 2743 | BSC +- SKIP IF ON PMN27210 008B 70E9 2744 | MDX RP420+1 GO SET BUSY + START FEED PMN27220 008C 1010 2745 | SLA 16 PMN27230 008D D400 0033 2746 | STO L $LAST CLEAR LAST CARD INDICATOR PMN27240 008F 70E9 2747 | MDX RP410 DO NOT SET BUSY ON PMN27250 2748 | * PMN27260 2749 | *************************************************** PMN27270 2750 | * PMN27280 2751 | * 1442 PUNCH CALL PROCESSING PMN27290 2752 | * PMN27300 0090 40C7 2753 | RP460 BSI RP240+1 TO TEST 1442 READY PMN27310 0091 C0AC 2754 | LD RP180 SETUP CONTROL IOCC TO PMN27320 0092 D0B6 2755 | STO RP620 START CARD PUNCH PMN27330 0093 18D0 2756 | RTE 16 PMN27340 0094 80B5 2757 | A RP640 BUMP TO ADDR OF DATA WD 1 PMN27350 0095 D0AC 2758 | STO RP500 SET UP ADDR OF FIRST COL PMN27360 0096 70DD 2759 | MDX RP420 TO SET BUSY AND START PMN27370 2760 | * PMN27380 2761 | * PMN27390 2762 | * PATCH AREA PMN27400 2763 | * PMN27410 0097 2764 | BSS /9D-* PATCH AREA 212 PMN27420 009D 2542 2765 | DC /2542 PMN27430 SYSTEM 1442/1442 SUBROUTINE 2767 | *************************************************** PMN27450 2768 | * * PMN27455 2769 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN27460 2770 | * * PMN27470 2771 | *FUNCTION/OPERATION- * PMN27480 2772 | * * READ WITHOUT CONVERSION * PMN27490 2773 | * * PUNCH * PMN27500 2774 | * * READ WITH CONVERSION (SEE NOTES) * PMN27510 2775 | * * FEED * PMN27520 2776 | * * PMN27530 2777 | *ENTRY POINTS- * PMN27540 2778 | * * CD000+1 IS THE USER ENTRY * PMN27550 2779 | * * CD010+1 IS THE END OF CARD INTERRUPT ENTRY * PMN27560 2780 | * * CD016+1 IS THE COLUMN INTERRUPT ENTRY * PMN27570 2781 | * * PMN27580 2782 | *INPUT- * PMN27590 2783 | * * READ WITHOUT CONVERSION * PMN27600 2784 | * ACC = 7000 * PMN27610 2785 | * EXT = ADDRESS OF I/O AREA (WORD COUNT) * PMN27620 2786 | * * PUNCH * PMN27630 2787 | * ACC = 7001 * PMN27640 2788 | * EXT = ADDRESS OF I/O AREA (WORD COUNT) * PMN27650 2789 | * LAST COLUMN TO BE PUNCHED CONTAINS * PMN27660 2790 | * 1142 PUNCH STOP BIT (BIT 12) * PMN27670 2791 | * * READ WITH CONVERSION * PMN27680 2792 | * ACC = 7002 * PMN27690 2793 | * EXT = ADDRESS OF I/O AREA (WORD COUNT) * PMN27700 2794 | * * FEED * PMN27710 2795 | * ACC = 7003 * PMN27720 2796 | * * PMN27730 2797 | *OUTPUT- * PMN27740 2798 | * * I/O AREA OF 80 WORDS CONTAINING ALL * PMN27750 2799 | * COLUMN IMAGES OF CARD JUST READ * PMN27760 2800 | * * PUNCHED CARD, THE NUMBER OF COLUMNS PUNCHED * PMN27770 2801 | * DETERMINED BY THE POSITION OF THE * PMN27780 2802 | * 1442 PUNCH STOP BIT * PMN27790 2803 | * * CARD (OR CARDS) ADVANCED ON STATION * PMN27800 2804 | * IN 1442. FROM READ STATION TO PUNCH * PMN27810 2805 | * STATION, OR FROM PUNCH TO STACKER * PMN27820 2806 | * * PMN27830 2807 | *EXTERNAL REFERENCES- * PMN27840 2808 | * $CTSW * PMN27850 2809 | * $IBSY * PMN27860 2810 | * $IOCT 2-2 * PMN27870 2811 | * $PRET * PMN27880 2812 | * $PST4 * PMN27890 2813 | * * PMN27900 2814 | *EXITS- * PMN27910 2815 | * NORMAL- * PMN27920 2816 | * * SUBROUTINE RETURNS TO USER AFTER * PMN27930 2817 | * FUNCTION HAS BEEN INITIATED * PMN27940 2818 | * * SUBROUTINE RETURNS TO POINT OF * PMN27950 2819 | * INTERRUPTION AFTER A COLUMN INTERRUPT * PMN27960 2820 | * (LEVEL 0) HAS BEEN SERVICED * PMN27970 2821 | * * SUBROUTINE RETURNS TO INTERRUPT LEVEL * PMN27980 2822 | * SUBROUTINE (ILS04) AFTER THE END OF CARD * PMN27990 2823 | * INTERRUPT HAS BEEN SERVICED * PMN28000 2824 | * ERROR- * PMN28010 2825 | * * $PRET WITH 1000 IN THE ACCUMULATOR WHEN * PMN28020 2826 | * THE 1442 IS NOT READY TO INITIATE A * PMN28030 2827 | * FUNCTION * PMN28040 2828 | * * $PST4 WITH 1000 IN THE ACCUMULATOR WHEN * PMN28050 2829 | * AN ERROR HAS OCCURRED AND THE 1442 IS * PMN28060 2830 | * NOT READY TO RETRY THE FUNCTION * PMN28070 2831 | * * SUBROUTINE RETURNS TO USER WITH $CTSW * PMN28080 2832 | * SET NON-ZERO AFTER A MONITOR CONTROL * PMN28090 2833 | * CARD (// IN COLUMNS 1-2) HAS BEEN READ * PMN28100 2834 | * * SUBROUTINE RETURNS TO USER WITH $LAST * PMN28110 2835 | * SET NON-ZERO IF 1442 IS IN LAST * PMN28120 2836 | * CARD SEQUENCE * PMN28130 2837 | * * PMN28140 2838 | *TABLES/WORK AREAS-N/A * PMN28150 2839 | * * PMN28160 2840 | *ATTRIBUTES- * PMN28170 2841 | * * NATURALLY RELOCATABLE * PMN28180 2842 | * * SERIALLY REUSEABLE * PMN28190 2843 | * * PMN28200 2844 | *NOTES- * PMN28210 2845 | * CONVERSION OF INPUT TO UNPACKED EBCDIC IS * PMN28220 2846 | * PROVIDED BY THE SYSTEM KEYBOARD AND THE * PMN28230 2847 | * SYSTEM PAPER TAPE SUBROUTINES. THIS * PMN28240 2848 | * CONVERSION IS NOT PERFORMED BY EITHER * PMN28250 2849 | * SYSTEM CARD SUBROUTINE BECAUSE OF SPEED * PMN28260 2850 | * PERFORMANCE CONSIDERATIONS. AN ENTRY POINT * PMN28270 2851 | * FOR READ WITH CONVERSION WAS PROVIDED TO * PMN28280 2852 | * RELIEVE THE CALLING PROGRAM OF DEVICE * PMN28290 2853 | * DEPENDENT CODING * PMN28300 2854 | *************************************************** PMN28310 SYSTEM 1442/1442 SUBROUTINE 0000 2856 | ORG 0 PMN28330 *SBRKGPW 90 2857 | *SYS 1442/1442 V2M04 PMN28340 0000 00AB 2858 | DC CD990-CD000+1 WORD CNT OF SYS 1442 PMN28350 0001 0090 2859 | DC @1442 PHASE ID OF SYS 1442 PMN28360 SYSTEM 1442/1442 SUBROUTINE 0002 4C00 0000 2861 | CD000 BSC L *-* EXIT/ENTRY PMN28380 0004 7050 2862 | MDX CD080 GO TO CALL PROCESSING PMN28390 2863 | * PMN28400 2864 | * END OF CARD INTERRUPT (LEVEL 4) PMN28410 2865 | * PMN28420 0005 4C00 0000 2866 | CD010 BSC L *-* EXIT/ENTRY PMN28430 0007 700C 2867 | MDX CD020 PMN28440 2868 | * PMN28450 2869 | * COLUMN INTERRUPTS (LEVEL 0) PMN28460 2870 | * PMN28470 0008 4C40 0000 2871 | CD016 BOSC L *-* EXIT (LEVEL 0 OFF)/ENTER PMN28480 000A D873 2872 | STD CD190 SAVE ACC AND EXTENSION PMN28490 000B 2806 2873 | STS CD018 SAVE STATUS INDICATORS PMN28500 000C 0873 2874 | XIO CD210 RESET LEVEL 0 DSW PMN28510 000D 0876 2875 | XIO CD250 READ OR PUNCH COLUMN PMN28520 000E C075 2876 | LD CD250 ADD 1 TO COLUMN ADDRESS PMN28530 000F 8076 2877 | A CD240 OF READ OR PUNCH COLUMN PMN28540 0010 D073 2878 | STO CD250 IOCC FOR NEXT COLUMN PMN28550 0011 C86C 2879 | LDD CD190 RELOAD ACC AND EXTENSION PMN28560 0012 2000 2880 | CD018 LDS 0 RELOAD STATUS INDICATORS PMN28570 0013 70F4 2881 | MDX CD016 GO TO LEVEL 0 EXIT PMN28580 2882 | * PMN28590 0014 6500 0028 2883 | CD020 LDX L1 $PRET ADDRESS OF SOFTWARE TRAP PMN28600 0016 086B 2884 | XIO CD215 PMN28610 0017 1003 2885 | SLA 3 SAVE ERROR BIT IN CARRY PMN28620 0018 D075 2886 | STO CD280 SAVE SHIFTED DSW 2-9 PMN28630 0019 4802 2887 | BSC C IF NO ERROR CHECK LAST CARD PMN28640 001A 701F 2888 | MDX CD050 ERROR CONTINUE AT CD050 PMN28650 001B 4828 2889 | BSC +Z MINUS IF LAST CARD 2-7 PMN28660 001C 7006 2890 | MDX CD030 BR IF LAST CARD 2-7 PMN28670 001D C072 2891 | LD CD188 2-9 PMN28680 001E 4818 2892 | BSC +- TEST IF LAST OP WAS SKIP2-9 PMN28690 001F 7003 2893 | MDX CD030 CONTINUE IF NOT SKIP 2-9 PMN28700 0020 1010 2894 | SLA 16 2-9 PMN28710 0021 D06E 2895 | STO CD188 RESET SKIP INDICATOR 2-9 PMN28720 0022 7023 2896 | MDX CD060 CONT WITH PREVIOUS FUNCT2-9 PMN28730 2897 | * 2-9 PMN28740 2898 | * PMN28750 2899 | * NO ERRORS IN CARD JUST COMPLETED PMN28760 2900 | * PMN28770 0023 1010 2901 | CD030 SLA 16 PMN28780 0024 D1EB 2902 | STO 1 $IBSY-X1 SET I/O BUSY SW = ZERO PMN28790 0025 74FF 0032 2903 | MDX L $IOCT,-1 DECREMENT IOCS CNTR 2-2 PMN28800 0027 1000 2904 | NOP IN CASE OF SKIP 2-2 PMN28810 0028 C057 2905 | LD CD210 FETCH ADDR OF 1ST COLUMN PMN28820 0029 D001 2906 | STO CD034+1 AND INITLZ LDX INSTRUCTION PMN28830 002A 6600 0000 2907 | CD034 LDX L2 *-* PMN28840 002C C201 2908 | LD 2 +1 PMN28850 002D 18D0 2909 | RTE 16 PLACE FIRST TWO COLUMNS PMN28860 002E C200 2910 | LD 2 0 IN ACC AND EXTENSION PMN28870 002F 985F 2911 | SD CD280+1 SD FROM ODD LOC FOR // 2-9 PMN28880 0030 4818 2912 | BSC +- PMN28890 0031 18D0 2913 | RTE 16 CHECK 1ST TWO COLUMNS PMN28900 0032 4820 2914 | BSC Z FOR DOUBLE SLASH (//) PMN28910 0033 70D1 2915 | MDX CD010 EXIT IF NOT EQUAL PMN28920 0034 C202 2916 | LD 2 +2 IF EQUAL CHECK 3RD PMN28930 0035 4820 2917 | BSC Z COLUMN FOR BLANK PMN28940 0036 70CE 2918 | MDX CD010 EXIT IF NOT EQUAL PMN28950 0037 6C00 000F 2919 | STX L0 $CTSW SET RECORD TRAP SW NON-ZERO PMN28960 0039 70CB 2920 | MDX CD010 GO TO LEVEL 4 EXIT PMN28970 2921 | * PMN28980 2922 | * CARD JUST COMPLETED WITH ERROR INDICATOR ON PMN28990 2923 | * PMN29000 003A C052 2924 | CD050 LD CD230 IF FUNCTION WAS PUNCH, PMN29010 003B F04E 2925 | EOR CD204 DO NOT SKIP 1ST CARD PMN29020 003C 4818 2926 | BSC +- PMN29030 003D 7008 2927 | MDX CD060 FUNCTION IS PUNCH PMN29040 003E C045 2928 | LD CD250 READ FUNCTION 2-9 PMN29050 003F F040 2929 | EOR CD210 2-9 PMN29060 0040 4818 2930 | BSC +- IF NO COL READ 2-9 PMN29070 0041 7003 2931 | MDX CD055 *SET SKIP INDICATOR 2-9 PMN29080 0042 C04B 2932 | LD CD280 IF COLS READ 2-9 PMN29090 0043 4810 2933 | BSC - *AND LAST CD, SKIP 2-9 PMN29100 0044 7001 2934 | MDX CD060 *ELSE DO NOT SET SKIP 2-9 PMN29110 0045 684A 2935 | CD055 STX 0 CD188 SET SKIP INDICATOR 2-9 PMN29120 0046 0839 2936 | CD060 XIO CD210 TEST FOR 1442 READY PMN29130 0047 4804 2937 | BSC E IF BIT 15 OF ACC = 1, PMN29140 0048 7009 2938 | MDX CD070 1442 IS NOT READY PMN29150 2939 | * PMN29160 2940 | * 1442 IS READY FOR RE-INITIATION OF OPERATION PMN29170 2941 | * PMN29180 0049 C046 2942 | LD CD188 IF SKIP 1ST CARD INDICATOR PMN29190 004A 4818 2943 | BSC +- IS ON, TAKE O5E FEED CYCLE PMN29200 004B 7002 2944 | MDX CD066 SKIP IND IS NOT ON PMN29210 004C 0839 2945 | XIO CD240 INITIATE FEED OPERATION PMN29220 004D 70B7 2946 | MDX CD010 GO TO LEVEL 4 EXIT PMN29230 004E C031 2947 | CD066 LD CD210 RESET COLUMN IOCC PMN29240 004F D034 2948 | STO CD250 FOR FIRST COLUMN PMN29250 0050 083B 2949 | XIO CD220 RESTART LAST OPERATION PMN29260 0051 70B3 2950 | MDX CD010 GO TO LEVEL 4 EXIT PMN29270 2951 | * PMN29280 2952 | * 1442 IS NOT READY TO REPEAT LAST OPERATION PMN29290 2953 | * PMN29300 0052 C039 2954 | CD070 LD CD220 1442 NOT READY CODE = 1000 PMN29310 0053 4165 2955 | BSI 1 $PST4-X1 WAIT AT INTRPT 4 TRAP PMN29320 0054 70F1 2956 | MDX CD060 REPEAT TEST FOR 1442 READY PMN29330 2957 | * PMN29340 2958 | * CONTINUE CALL PROCESSING PMN29350 2959 | * PMN29360 0055 2823 2960 | CD080 STS CD120 SAVE STATUS INDICATORS PMN29370 2961 | * PMN29380 2962 | * DECODE FUNCTION IN ACC PMN29390 2963 | * PMN29400 0056 D000 2964 | STO CD090 PMN29410 0057 0000 2965 | CD090 DC *-* BRANCH TO PROPER FUNCTION PMN29420 0058 700C 2966 | MDX CD100 7000 = READ W/O CONVERSION PMN29430 0059 7021 2967 | MDX CD130 7001 = PUNCH PMN29440 005A 700A 2968 | MDX CD100 7002 = READ WITH CONV. PMN29450 2969 | * PMN29460 2970 | * 7003 = FEED A CARD PMN29470 2971 | * PMN29480 005B 4036 2972 | BSI CD140+1 COMMON INITLZ SUBROUTINE PMN29490 005C 0829 2973 | XIO CD240 FEED CARD PMN29500 005D C400 0033 2974 | LD L $LAST IF LAST CARD, NO EOC PMN29510 005F 4818 2975 | BSC +- INTRPT AFTER CARD FEED. PMN29520 0060 7014 2976 | MDX CD110+1 THEREFORE CLEAR LAST CARD PMN29530 0061 1010 2977 | SLA 16 IND, BUT DO NOT SET I/O PMN29540 0062 D400 0033 2978 | STO L $LAST BUSY SWITCH NON-ZERO. PMN29550 0064 7014 2979 | MDX CD120 GO TO LOAD STATUS PMN29560 2980 | * PMN29570 2981 | * FUNCTION IS READ PMN29580 2982 | * PMN29590 0065 402C 2983 | CD100 BSI CD140+1 COMMON INITLZ SUBROUTINE PMN29600 0066 C017 2984 | LD CD190 GET I/O AREA ADDR 2-3 PMN29610 0067 18D0 2985 | RTE 16 GET DSW BACK TO ACC 2-3 PMN29620 0068 1003 2986 | SLA 3 TEST IF LAST CARD READ 2-3 PMN29630 0069 4810 2987 | BSC - *BY USER PROG 2-3 PMN29640 006A 7005 2988 | MDX CD101 *NO BRANCH 2-3 PMN29650 006B 081A 2989 | XIO CD240 *YES,FEED CARD FROM PNCH2-3 PMN29660 006C 1010 2990 | SLA 16 PMN29670 006D D400 0033 2991 | STO L $LAST PMN29680 006F 7036 2992 | MDX CD184 BR TO DISPLAY NOT RDY 2-3 PMN29690 0070 C817 2993 | CD101 LDD CD200 SET-UP CONTROL 1442 IOCC PMN29700 0071 D01B 2994 | CD102 STO CD230 TO START READER OR PUNCH PMN29710 0072 18D0 2995 | RTE 16 SET-UP COLUMN 1442 IOCC PMN29720 0073 D011 2996 | STO CD260 TO READ OR PUNCH A COLUMN PMN29730 0074 0817 2997 | CD110 XIO CD220 START READER OR PUNCH PMN29740 0075 7401 0032 2998 | MDX L $IOCT,1 INCREMENT IOCS CNTR 2-2 PMN29750 0077 6C00 0013 2999 | STX L0 $IBSY SET I/O BUSY SW NON-ZERO PMN29760 0079 2000 3000 | CD120 LDS 0 RELOAD STATUS INDICATORS PMN29770 007A 7087 3001 | MDX CD000 GO TO CALL EXIT PMN29780 3002 | * PMN29790 3003 | * FUNCTION IS PUNCH PMN29800 3004 | * PMN29810 007B 4016 3005 | CD130 BSI CD140+1 COMMON INITLZ SUBROUTINE PMN29820 007C C80D 3006 | LDD CD204 SET-UP PUNCH IOCC'S PMN29830 007D 70F3 3007 | MDX CD102 CONTINUE FIXING IOCC'S PMN29840 3008 | * IOCC'S AND CONSTANTS PMN29850 3009 | * PMN29860 007E 3010 | BSS E 0 ADJUST IC TO EVEN PMN29870 007E 3011 | CD190 BSS 2 SAVE OF ACC AND EXTENSION PMN29880 0080 0000 3012 | CD210 DC *-* RESET 1ST COLUMN ADDR PMN29890 0081 1701 3013 | DC /1701 SENSE 1442 DSW (RESET 0) PMN29900 0082 0000 3014 | CD215 DC 0 1ST WORD OF SENSE DSW IOCC PMN29910 0083 1702 3015 | DC /1702 SENSE DSW , LEVEL 4 W/RESET PMN29920 0084 0000 3016 | CD250 DC *-* CURRENT COLUMN ADDRESS PMN29930 0085 0000 3017 | CD260 DC *-* READ OR PUNCH COLUMN IOCC PMN29940 0086 0001 3018 | CD240 DC 1 INCREMENTS COL. ADDR PMN29950 0087 1402 3019 | DC /1402 IOCC FEED CARD PMN29960 0088 1404 3020 | CD200 DC /1404 START READER WHEN AT CD230 PMN29970 0089 1200 3021 | DC /1200 READ COLUMN WHEN AT CD260 PMN29980 008A 1401 3022 | CD204 DC /1401 START PUNCH WHEN AT CD230 PMN29990 008B 1100 3023 | DC /1100 PUNCH COLUMN WHEN AT CD260 PMN30000 008C 1000 3024 | CD220 DC /1000 1442 NOT READY DISPLAY PMN30010 008D 0000 3025 | CD230 DC *-* START READER OR PUNCH IOCC PMN30020 008E 0000 3026 | CD280 DC *-* SHIFTED DEVICE STATUS WD2-9 PMN30030 008F 3000 3027 | DC /3000 COL IMAGE // (ODD ADDR) 2-9 PMN30040 0090 0000 3028 | CD188 DC *-* SKIP 1ST CARD INDICATOR PMN30050 0028 3029 | X1 EQU $PRET XR1 INSTRUCTION POINTER PMN30060 3030 | * PMN30070 3031 | * COMMON INITIALIZATION SUBROUTINE PMN30080 3032 | * PMN30090 0091 4C00 0000 3033 | CD140 BSC L *-* EXIT/ENTRY PMN30100 0093 7400 0013 3034 | CD150 MDX L $IBSY,0 LOOP UNTIL LAST FUNCTION PMN30110 0095 70FD 3035 | MDX CD150 COMPLETE AND IBUSY = ZERO PMN30120 0096 08E9 3036 | CD160 XIO CD210 TEST FOR 1442 READY PMN30130 0097 4804 3037 | BSC E IF BIT 15 OF ACC = 1, PMN30140 0098 7006 3038 | MDX CD180 1442 IS NOT READY PMN30150 3039 | * PMN30160 3040 | * 1442 READY TO INITIATE OPERATION PMN30170 3041 | * PMN30180 0099 18D0 3042 | RTE 16 PUT I/O AREA ADDR IN ACC PMN30190 009A D0E3 3043 | STO CD190 SAVE I/O AREA ADDR 2-3 PMN30200 009B 80EA 3044 | A CD240 ADD 1 TO FORM COL. 1 ADDR PMN30210 009C D0E7 3045 | STO CD250 SET-UP ADDR OF COLUMN IOCC PMN30220 009D D0E2 3046 | STO CD210 FOR 1ST COLUMN PMN30230 009E 70F2 3047 | MDX CD140 GO TO EXIT COMMON SUBRTNE PMN30240 3048 | * PMN30250 3049 | * 1442 NOT READY TO INITIATE OPERATION PMN30260 3050 | * PMN30270 009F 1003 3051 | CD180 SLA 3 SAVE ERROR BIT IN CARRY PMN30280 00A0 C0B6 3052 | LD CD090 NO SKIP OF 1ST CARD PMN30290 00A1 F0E4 3053 | EOR CD240 WHEN FUNCTION IS PUNCH PMN30300 00A2 4818 3054 | BSC +- FUNCTION = PUNCH IF NOT 0 PMN30310 00A3 7002 3055 | MDX CD184 PUNCH PMN30320 00A4 4802 3056 | BSC C FUNCTION = READ. IF CARRY PMN30330 00A5 68EA 3057 | STX 0 CD188 SET, SKIP 1ST CARD PMN30340 00A6 C0E5 3058 | CD184 LD CD220 DISPLAY 1442 NOT READY CODE PMN30350 00A7 4400 0028 3059 | BSI L $PRET WAIT AT PREOPERATIVE TRAP PMN30360 00A9 70EC 3060 | MDX CD160 REPEAT TEST FOR 1442 READY PMN30370 3061 | * PMN30380 00AA 3062 | BSS /AC-* 212 PMN30390 00AC FFFF 3063 | CD990 DC /FFFF *AREA PMN30400 SYSTEM 1134/1055 SUBROUTINE 3065 | *************************************************** PMN30420 3066 | * * PMN30430 3067 | *STATUS- VERSION 2, MODIFICATION LEVEL 7 * PMN30440 3068 | * * PMN30450 3069 | *FUNCTION/OPERATION- * PMN30460 3070 | * *READ WITHOUT CONVERSION (EBCDIC) * PMN30470 3071 | * *READ WITH CONVERSION (PTTC/8) * PMN30480 3072 | * *PUNCH (EBCDIC) * PMN30490 3073 | * * PMN30500 3074 | *ENTRY POINTS- * PMN30510 3075 | * *PI000+1 IS THE USER ENTRY. * PMN30520 3076 | * *PT010+1 IS THE INTERRUPT ENTRY. * PMN30530 3077 | * * PMN30540 3078 | *INPUT- * PMN30550 3079 | * *READ WITHOUT CONVERSION * PMN30560 3080 | * ACC = 7000 * PMN30570 3081 | * EXT = ADDRESS OF I/O AREA * PMN30580 3082 | * *READ WITH CONVERSION * PMN30590 3083 | * ACC = 7002 * PMN30600 3084 | * EXT = ADDRESS OF I/O AREA * PMN30610 3085 | * *PUNCH * PMN30620 3086 | * ACC = 7001 * PMN30630 3087 | * EXT = ADDRESS OF I/O AREA * PMN30640 3088 | * **THE I/O AREA CONSISTS OF ONE WORD OF WORD * PMN30650 3089 | * COUNT FOLLOW BY THAT NUMBER OF WORDS OF * PMN30660 3090 | * PACKED EBCDIC. * PMN30670 3091 | * * PMN30680 3092 | *OUTPUT- * PMN30690 3093 | * *I/O AREA IN UNPACKED EBCDIC. * PMN30700 3094 | * *PUNCHED EBCDIC TAPE. * PMN30710 3095 | * * PMN30720 3096 | *EXTERNAL REFERENCES- * PMN30730 3097 | * $CTSW * PMN30740 3098 | * $IBSY * PMN30750 3099 | * $IOCT 2-2 * PMN30760 3100 | * $PRET * PMN30770 3101 | * $PST4 * PMN30780 3102 | * * PMN30790 3103 | *EXITS- NORMAL * PMN30800 3104 | * *SUBROUTINE RETURNS TO USER AFTER FUNCTION * PMN30810 3105 | * HAS BEEN INITIATED. * PMN30820 3106 | * *SUBROUTINE RETURNS TO INTERRUPT LEVEL * PMN30830 3107 | * SUBROUTINE AFTER A INTERRUPT HAS BEEN * PMN30840 3108 | * SERVICED. * PMN30850 3109 | * * PMN30860 3110 | *EXITS- ERROR * PMN30870 3111 | * *$PRET WITH 3000 IN THE ACCUMULATOR WHEN * PMN30880 3112 | * DEVICE NOT READY. * PMN30890 3113 | * * PMN30900 3114 | *TABLES/WORK AREAS- * PMN30910 3115 | * PT780 IS A 119 WORD TABLE OF PTTC/8 TO * PMN30920 3116 | * EBCDIC CONVERSION WITH PTTC/8 IN BITS 0-7 * PMN30930 3117 | * AND EBCDIC IN BITS 8-16. * PMN30940 3118 | * * PMN30950 3119 | *ATTRIBUTES- * PMN30960 3120 | * *NATURALLY RELOCATABLE. * PMN30970 3121 | * *REUSABLE. * PMN30980 3122 | * * PMN30990 3123 | *************************************************** PMN31000 SYSTEM 1134/1055 SUBROUTINE 0000 3125 | ORG 0 PMN31020 *SBRKSMC 91 3126 | *SYS 1134/1055 V2M02 PMN31030 0000 016B 3127 | DC PT790-*-1 WORD CNT OF SYS 1134 SUBR PMN31040 0001 0091 3128 | DC @1134 PHASE ID OF SYS 1134 SUBR PMN31050 SYSTEM 1134/1055 SUBROUTINE 0002 4C00 0000 3130 | PT000 BSC L *-* ENTRY FROM MAIN (+2) PMN31070 0003 3131 | ORG *-1 PMN31080 0003 00F5 3132 | DC PT780 ADDR OF CONV TBL FOR ASM PMN31090 0004 7008 3133 | MDX PT040 GO TO SERVICE PMN31100 0005 4C00 0000 3134 | PT010 BSC L *-* ENTRY FROM INTRPT (+5) PMN31110 0007 C003 3135 | LD PT020 INITLZ SYST TRAP ADDR PMN31120 0008 D04B 3136 | STO PT160+1 TO 'TEST DEV RDY' SUBR PMN31130 0009 704C 3137 | MDX PT170 GO TO SERVICE INTRPT PMN31140 3138 | * * PMN31150 000A 0001 3139 | PT015 DC 1 CHANGED BY THE ASM PMN31160 000B 008D 3140 | PT020 DC $PST4 ADDR OF INTRPT TRAP ADDR PMN31170 000C 0028 3141 | PT030 DC $PRET ADDR OF CALL TRAP ADDR PMN31180 3142 | * * PMN31190 000D D015 3143 | PT040 STO PT060 SET UP FOR FUNCTION BRANCH PMN31200 000E C400 0013 3144 | LD L $IBSY TEST SUBR BUSY INDR. PMN31210 0010 4820 3145 | BSC Z PMN31220 0011 70FC 3146 | MDX *-4 LOOP UNTIL NOT BUSY PMN31230 3147 | * * PMN31240 0012 D075 3148 | STO PT310 INITLZ THE CASE SWITCH PMN31250 0013 D073 3149 | STO PT300 AND FILL-MODE SWITCH PMN31260 3150 | * TO ZERO * PMN31270 0014 C0F7 3151 | LD PT030 CALL SYSTEM TRAP ADDR PMN31280 0015 D03E 3152 | STO PT160+1 TO 'TEST DEV RDY' SUBR PMN31290 0016 18D0 3153 | RTE 16 PMN31300 0017 D003 3154 | STO *+3 FETCH THE WORD COUNT PMN31310 0018 80F1 3155 | A PT015 AND I/O AREA ADDR PMN31320 0019 D071 3156 | STO PT340 AND ASSIGN THEM PMN31330 001A C400 0000 3157 | LD L *-* TO IN-LINE STORAGE PMN31340 001C D070 3158 | STO PT360 PMN31350 001D 6842 3159 | STX 0 PT200+1 PMN31360 001E C041 3160 | PT050 LD PT200+1 COMPUTE RELATIVE ADDR PMN31370 001F 8069 3161 | A PT320 OF I/O AREA POINTER. PMN31380 0020 D03F 3162 | STO PT200+1 INITLZ IN-LINE PMN31390 0021 D020 3163 | STO PT130+1 CODING PMN31400 0022 D05F 3164 | STO PT270+1 PMN31410 3165 | * * PMN31420 0023 0000 3166 | PT060 DC 0 FUNCTION BR (MDX *+ ) PMN31430 0024 7002 3167 | MDX PT080 *TO HERE FOR READ EBC PMN31440 0025 7003 3168 | MDX PT090 *TO HERE FOR PUNCH,AND PMN31450 0026 D068 3169 | PT070 STO PT380 *TO HERE FOR READ PTTC/8 PMN31460 0027 C064 3170 | PT080 LD PT350 SET READ INDR PMN31470 0028 7001 3171 | MDX PT090+1 PMN31480 3172 | * * PMN31490 0029 C060 3173 | PT090 LD PT330 PMN31500 002A D063 3174 | STO PT370 PMN31510 002B D400 0013 3175 | STO L $IBSY TURN ON SUBR BUSY INDR PMN31520 002D 4019 3176 | BSI PT140 GO TO SENSE DEVICE RDY PMN31530 002E 7401 0032 3177 | MDX L $IOCT,1 INCREMENT IOCS CNTR 2-2 PMN31540 3178 | * * PMN31550 0030 C05D 3179 | PT100 LD PT370 SET UP IOCC WORD PMN31560 0031 1008 3180 | SLA 8 FOR READ/PUNCH PMN31570 0032 E85D 3181 | OR PT390 PMN31580 0033 D065 3182 | STO PT460+1 PMN31590 3183 | * * PMN31600 0034 6863 3184 | STX 0 PT460 COMPUTE THE BUFFER PMN31610 0035 C062 3185 | PT110 LD PT460 ADDRESS FOR THE PMN31620 0036 805A 3186 | A PT400 IOCC INST PMN31630 0037 D060 3187 | STO PT460 PMN31640 3188 | * * PMN31650 0038 C055 3189 | LD PT370 DETERMINE WHAT SERVICE PMN31660 0039 4804 3190 | BSC E REQUESTED PMN31670 003A 7006 3191 | MDX PT130 GO TO PUNCH PMN31680 3192 | * * PMN31690 003B 085A 3193 | XIO PT450 EXEC A READER START PMN31700 3194 | * * PMN31710 003C C060 3195 | LD PT510 SET TO COUNT FIRST 3 CHAR PMN31720 003D D05E 3196 | STO PT500 AS THEY ARE READ IN PMN31730 3197 | * * PMN31740 003E C05F 3198 | LD PT520 INITLZ SLASH CTR PMN31750 003F D060 3199 | STO PT540 TO 3 PMN31760 3200 | * * PMN31770 0040 70C1 3201 | PT120 MDX PT000 EXIT PMN31780 3202 | * * PMN31790 0041 C480 0000 3203 | PT130 LD I *-* PMN31800 0043 D057 3204 | STO PT480 PMN31810 3205 | * * PMN31820 0044 0853 3206 | XIO PT460 PUNCH FIRST WORD PMN31830 0045 70FA 3207 | MDX PT120 RETURN TO MAIN PMN31840 3208 | * * PMN31850 0046 4C00 3209 | DC /4C00 BRANCH BACK TO CALLER PMN31860 0047 0000 3210 | PT140 DC *-* ENT HERE TO TEST DEVICE PMN31870 0048 C045 3211 | LD PT370 DETM DEVICE REQUESTED PMN31880 0049 4804 3212 | BSC E PMN31890 004A 7001 3213 | MDX *+1 SKIP TO SENSE PUNCH PMN31900 004B 7002 3214 | MDX PT150-1 GO TO SENSE READER PMN31910 3215 | * * PMN31920 004C C045 3216 | LD PT410 MODIFY SHIFT INSTR TO PMN31930 004D D001 3217 | STO PT150 SENSE FOR PUNCH PMN31940 3218 | * * PMN31950 004E 0845 3219 | XIO PT430 SENSE AND RESET PMN31960 004F 1005 3220 | PT150 SLA 5 TEST FOR I/O PMN31970 0050 4810 3221 | BSC - DEVICE READY PMN31980 3222 | * * PMN31990 0051 70F4 3223 | MDX PT140-1 GO TO RETURN FROM TEST PMN32000 3224 | * * PMN32010 0052 C041 3225 | LD PT420 ERROR CD TO ACC AND PMN32020 0053 4400 0000 3226 | PT160 BSI L *-* GO TO WAIT IF NOT RDY PMN32030 0055 70F8 3227 | MDX PT150-1 TRY AGAIN PMN32040 3228 | *************************************************** PMN32050 3229 | * * PMN32060 3230 | * THIS BLOCK OF CODING SERVICES * PMN32070 3231 | * AN INTERRUPT FOR READ/PUNCH * PMN32080 3232 | * * PMN32090 3233 | *************************************************** PMN32100 0056 083D 3234 | PT170 XIO PT430 SENSE AND RESET PMN32110 0057 1001 3235 | SLA 1 PMN32120 0058 4810 3236 | BSC - DETM SERVICE REQUEST PMN32130 0059 701F 3237 | MDX PT260 PUNCH REQUEST PMN32140 005A 083D 3238 | PT180 XIO PT460 READ A WORD PMN32150 3239 | * * PMN32160 005B C033 3240 | PT190 LD PT380 PMN32170 005C 4820 3241 | BSC Z BRANCH IF NO CONV REQUEST PMN32180 005D 7060 3242 | MDX PT670 OTHERWISE, GO TO CONVERT PMN32190 005E C03C 3243 | LD PT480 PMN32200 005F D480 0000 3244 | PT200 STO I *-* STORE THE WORD PMN32210 0061 C029 3245 | LD PT340 INCR THE I/O AREA POINTER PMN32220 0062 8027 3246 | A PT330 PMN32230 0063 D027 3247 | STO PT340 PMN32240 0064 C028 3248 | LD PT360 DECR THE WORD COUNT PMN32250 0065 9024 3249 | S PT330 PMN32260 0066 D026 3250 | STO PT360 PMN32270 0067 4830 3251 | BSC -Z PMN32280 0068 7008 3252 | MDX PT230 CHECK FILL-MODE SWITCH PMN32290 3253 | * * PMN32300 0069 1010 3254 | PT210 SLA 16 PMN32310 006A D024 3255 | STO PT380 PMN32320 006B D400 0013 3256 | STO L $IBSY TURN OFF SUBR BUSY INDR PMN32330 006D 74FF 0032 3257 | MDX L $IOCT,-1 DECREMENT IOCS CNTR 2-2 PMN32340 006F 1000 3258 | NOP IN CASE OF SKIP 2-2 PMN32350 0070 7094 3259 | PT220 MDX PT010 EXIT PMN32360 3260 | * * PMN32370 0071 C015 3261 | PT230 LD PT300 PMN32380 0072 4818 3262 | BSC +- TEST FILL-MODE SWITCH PMN32390 0073 7002 3263 | MDX *+2 BRANCH IF OFF PMN32400 0074 C047 3264 | LD PT640 OTHERWISE, FILL OUT PMN32410 0075 70E9 3265 | PT240 MDX PT200 RECORD WITH BLANKS PMN32420 3266 | * * PMN32430 0076 40D0 3267 | PT250 BSI PT140 GO TO TEST DEVC RDY PMN32440 0077 081E 3268 | XIO PT450 START THE READER PMN32450 0078 70F7 3269 | MDX PT220 GO TO RETURN FROM INTRPT PMN32460 3270 | * * PMN32470 3271 | * * PMN32480 0079 C013 3272 | PT260 LD PT360 DECR THE WORD COUNT PMN32490 007A 900F 3273 | S PT330 PMN32500 007B D011 3274 | STO PT360 PMN32510 007C 4808 3275 | BSC + PMN32520 007D 70EB 3276 | MDX PT210 GO TO EXIT PMN32530 007E C00C 3277 | LD PT340 INCR THE I/O AREA POINTER PMN32540 007F 800A 3278 | A PT330 PMN32550 0080 D00A 3279 | STO PT340 PMN32560 3280 | * * PMN32570 0081 C480 0000 3281 | PT270 LD I *-* FETCH WORD INTO BUFFER PMN32580 0083 D017 3282 | STO PT480 PMN32590 0084 40C2 3283 | PT280 BSI PT140 GO TO SENSE DEVICE RDY PMN32600 3284 | * * PMN32610 0085 0812 3285 | PT290 XIO PT460 PUNCH A WORD PMN32620 0086 70E9 3286 | MDX PT220 GO TO EXIT PMN32630 3287 | * * PMN32640 0087 0000 3288 | PT300 DC 0 FILL-MODE SWITCH PMN32650 0088 0000 3289 | PT310 DC 0 PTTC/8 CASE IND PMN32660 3290 | *************************************************** PMN32670 3291 | * * PMN32680 3292 | * * PMN32690 3293 | * FOLLOWING IS A TABLE OF * PMN32700 3294 | * CONSTANTS AND STORAGE LOCATIONS * PMN32710 3295 | * * PMN32720 3296 | *************************************************** PMN32730 0089 006D 3297 | PT320 DC PT340-PT050 ADDR DISPLACEMENT PMN32740 008A 0001 3298 | PT330 DC /0001 PUNCH FUNC INDR PMN32750 008B 0000 3299 | PT340 DC 0 STORAGE FOR I/O ADDRESS PMN32760 008C 0002 3300 | PT350 DC /0002 RD FUNC INDR PMN32770 008D 0000 3301 | PT360 DC 0 STORAGE FOR WD CNT PMN32780 008E 0000 3302 | PT370 DC 0 RD/PNCH IND SWTCH PMN32790 008F 0000 3303 | PT380 DC 0 CONVERSION SWITCH PMN32800 0090 1800 3304 | PT390 DC /1800 PAPER TAPE AREA CODE PMN32810 0091 0066 3305 | PT400 DC PT480-PT110 ADDR DISPLACEMENT PMN32820 0092 1007 3306 | PT410 DC /1007 SHFT INSTR FOR PNCH SENSE PMN32830 0094 3307 | BSS E 0 PMN32840 0094 3000 3308 | PT420 DC /3000 DEVICE NOT RDY ERROR CODE PMN32850 0094 3309 | PT430 EQU PT420 PMN32860 0095 1F01 3310 | DC /1F01 SENSE AND RESET PMN32870 0096 1000 3311 | PT490 DC /1000 PTTC/8 CODE FOR SPACE PMN32880 0096 3312 | PT450 EQU PT490 PMN32890 0097 1C10 3313 | DC /1C10 THE READER PMN32900 0098 0000 3314 | PT460 DC *-* I/O CONTROL COMMAND PMN32910 0099 0000 3315 | DC 0 PUNCH OR READ PMN32920 009A 3100 3316 | PT470 DC /3100 PTTC/8 CODE FOR SLASH PMN32930 009B 0000 3317 | PT480 DC *-* STORAGE FOR I/O DATA PMN32940 009C 0000 3318 | PT500 DC 0 INITIAL INPUT CNTR PMN32950 009D 0004 3319 | PT510 DC 4 CONSTANT FOUR PMN32960 009E 0003 3320 | PT520 DC 3 CONSTANT 3 PMN32970 3321 | *************************************************** PMN32980 3322 | * ENTER HERE TO CHECK INPUT * PMN32990 3323 | * FOR A MONITOR CONTROL RECORD * PMN33000 3324 | *************************************************** PMN33010 009F 700B 3325 | PT530 DC /700B BR TO * +11 PMN33020 00A0 0000 3326 | PT540 DC 0 SLASH COUNTER PMN33030 3327 | * PMN33040 00A1 C0FE 3328 | PT550 LD PT540 ENTER HERE TO CHK FOR PMN33050 00A2 90E7 3329 | S PT330 A CONTROL RECORD PMN33060 00A3 D0FC 3330 | STO PT540 DECR SLASH INDR PMN33070 00A4 4820 3331 | BSC Z SKIP IF TWO SLASHES CHEKED PMN33080 3332 | * * PMN33090 00A5 7008 3333 | MDX PT570 GO CHK FOR A SLASH PMN33100 3334 | * * PMN33110 00A6 C0F4 3335 | LD PT480 PMN33120 00A7 90EE 3336 | S PT490 IS 3RD CHAR A BLANK PMN33130 00A8 4820 3337 | BSC Z YES - SKIP PMN33140 00A9 7003 3338 | MDX PT560 NO - GO TO EXIT PMN33150 00AA C0DF 3339 | LD PT330 PMN33160 00AB D400 000F 3340 | STO L $CTSW IND INPUT IS CTRL RECORD PMN33170 3341 | * * PMN33180 00AD 7031 3342 | PT560 MDX PT730-1 EXIT PMN33190 3343 | * * PMN33200 00AE C0EC 3344 | PT570 LD PT480 PMN33210 00AF 90EA 3345 | S PT470 CHECK FOR A SLASH PMN33220 00B0 4818 3346 | BSC +- SKIP IF NOT A SLASH PMN33230 00B1 70FB 3347 | MDX PT560 GO TO EXIT PMN33240 3348 | * * PMN33250 3349 | * * PMN33260 00B2 1010 3350 | SLA 16 SET CNT TO AVOID PMN33270 00B3 D0E8 3351 | STO PT500 FURTHER CHECKING PMN33280 00B4 70F8 3352 | MDX PT560 CHECKING AND EXIT PMN33290 3353 | *************************************************** PMN33300 3354 | * * PMN33310 3355 | * THIS BLOCK OF CODING PROVIDES * PMN33320 3356 | * FOR CONVERSION FROM PTTC/8 TO EBC. * PMN33330 3357 | * ALL OF THE CODING WHICH FOLLOWS IS * PMN33340 3358 | * CONCERNED WITH, AND ONLY WITH, * PMN33350 3359 | * THIS CONVERSION. * PMN33360 3360 | *************************************************** PMN33370 00B5 00FF 3361 | PT580 DC /00FF CONSTANT TO MASK BITS 0-7 PMN33380 00B6 FF00 3362 | PT582 DC /FF00 PTTC/8 2-7 PMN33390 00B7 8000 3363 | PT590 DC /7F00-/FF00 2-7 PMN33400 00B8 8F00 3364 | PT600 DC /0E00-/7F00 *CODE PMN33410 00B9 6000 3365 | PT610 DC /6E00-/0E00 *FOR PMN33420 00BA 8000 3366 | PT620 DC /8000 *SPECIAL PMN33430 00BB 6F00 3367 | PT630 DC /DD00-/6E00 *CHARACTERS PMN33440 00BC 0040 3368 | PT640 DC /0040 EBC BLANK PMN33450 00BD 0015 3369 | PT660 DC PT780-PT730 ADDR HELP FOR CONV PMN33460 3370 | * * PMN33470 00BE C0DC 3371 | PT670 LD PT480 COME HERE ON CONV REQ PMN33480 00BF 90F6 3372 | S PT582 IS CHARACTER SUPERDELETE2-7 PMN33490 00C0 4818 3373 | BSC +- NO,SKIP 2-7 PMN33500 00C1 70B4 3374 | MDX PT250 YES,GO TO EXIT 2-7 PMN33510 00C2 90F4 3375 | S PT590 IS CHAR A DELETE PMN33520 00C3 4818 3376 | BSC +- NO, BRANCH PMN33530 00C4 70B1 3377 | MDX PT250 YES, GO TO EXIT PMN33540 00C5 90F2 3378 | S PT600 IS CHAR AN UP CASE PMN33550 00C6 4820 3379 | BSC Z YES, SKIP PMN33560 00C7 7003 3380 | MDX PT690 NO, BRANCH PMN33570 00C8 C0F1 3381 | LD PT620 INDICATE CASE AND PMN33580 00C9 D0BE 3382 | PT680 STO PT310 SET CASE SWITCH PMN33590 00CA 70AB 3383 | MDX PT250 GO TO EXIT PMN33600 3384 | * * PMN33610 00CB 90ED 3385 | PT690 S PT610 IS CHAR A LOW CASE PMN33620 00CC 4818 3386 | BSC +- NO, SKIP PMN33630 00CD 70FB 3387 | MDX PT680 YES, GO TO SET INDR PMN33640 00CE 90EC 3388 | PT700 S PT630 IS CHAR A NEW LINE PMN33650 00CF 4818 3389 | BSC +- NO, SKIP PMN33660 00D0 7001 3390 | MDX PT710 YES, GO TO SET INDR PMN33670 00D1 7008 3391 | MDX PT720 NO, GO TO TABLE LOOK-UP PMN33680 3392 | * * PMN33690 3393 | * * PMN33700 00D2 C0C9 3394 | PT710 LD PT500 TEST FOR FIRST CHAR A NEW PMN33710 00D3 F0C9 3395 | EOR PT510 * LINE PMN33720 00D4 4818 3396 | BSC +- NO, SKIP PMN33730 00D5 70A0 3397 | MDX PT250 GO TO EXIT PMN33740 3398 | * * PMN33750 00D6 C0FF 3399 | LD *-1 SET FILL SWITCH PMN33760 00D7 D0AF 3400 | STO PT300 TO ON PMN33770 00D8 709B 3401 | MDX PT230+3 BR TO FILL RECORD W/BLANKS PMN33780 00D9 709B 3402 | PT715 MDX PT240 PMN33790 3403 | * * PMN33800 00DA C0C1 3404 | PT720 LD PT500 PMN33810 00DB 90AE 3405 | S PT330 DECR CHAR CNT PMN33820 00DC D0BF 3406 | STO PT500 PMN33830 00DD 4830 3407 | BSC -Z SKIP TO CONVERT PMN33840 3408 | * * PMN33850 00DE 70C2 3409 | MDX PT550 BR TO SAVE FIRST 3 CHAR PMN33860 00DF 6809 3410 | STX PT750+1 INITILZ TBL ADDR FOR PMN33870 00E0 C008 3411 | PT730 LD PT750+1 *LOOPING TO SCAN THE PMN33880 00E1 80DB 3412 | A PT660 *CONV TABLE PMN33890 00E2 D006 3413 | STO PT750+1 PMN33900 00E3 D00E 3414 | STO PT760+1 PMN33910 00E4 6500 0077 3415 | LDX L1 PT785-PT780 SIZE OF CONVERSION TABLE PMN33920 00E6 C0B4 3416 | PT740 LD PT480 FETCH WORD PMN33930 00E7 E8A0 3417 | OR PT310 DETM UPPER/LOWER CASE FOR PMN33940 00E8 F500 0000 3418 | PT750 EOR L1 *-* COMPARE WITH TBL ENTRY PMN33950 00EA 1808 3419 | SRA 8 SHIFT OUT EBC PMN33960 00EB 4818 3420 | BSC +- SKIP IF NON ZERO RESULT PMN33970 00EC 7004 3421 | MDX PT760 GO TO TREAT CONV CHAR PMN33980 00ED 71FF 3422 | MDX 1 -1 DECR LOOP COUNTER PMN33990 00EE 70F7 3423 | MDX PT740 LOOP THRU SCAN PMN34000 3424 | * * PMN34010 00EF C005 3425 | LD PT780 INVALID CHAR DETECTED, GO PMN34020 00F0 7002 3426 | MDX PT770 TO ST FF IN STRING PMN34030 3427 | * * PMN34040 00F1 C500 0000 3428 | PT760 LD L1 *-* FETCH CONV CHAR PMN34050 00F3 E0C1 3429 | PT770 AND PT580 CLEAR OUT PTTC/8 HALF PMN34060 00F4 70E4 3430 | MDX PT715 PMN34070 3431 | *************************************************** PMN34080 3432 | * * PMN34090 3433 | * * PMN34100 3434 | * FOLLOWING IS A TABLE WITH * PMN34110 3435 | * 119 ACCEPTABLE PTTC/8 CODES * PMN34120 3436 | * IN BITS 0-7, AND THEIR CORRESPONDING * PMN34130 3437 | * EBCDIC REPRESENTATION IN BITS 8-15. * PMN34140 3438 | * * PMN34150 3439 | * * PMN34160 3440 | * * PMN34170 3441 | *************************************************** PMN34180 00F5 0050 3442 | PT780 DC /0050 INVAL CHAR CODE PMN34190 00F6 704E 3443 | DC /704E AMPERSAND PMN34200 00F7 0B7E 3444 | DC /0B7E POUND PMN34210 00F8 207D 3445 | DC /207D AT PMN34220 00F9 954D 3446 | DC /954D PERCENT PMN34230 00FA 825D 3447 | DC /825D LESS THAN PMN34240 00FB 6D05 3448 | DC /6D05 HORIZONTAL TAB PMN34250 00FC 5E16 3449 | DC /5E16 BACKSPACE PMN34260 00FD 4C14 3450 | DC /4C14 RESTORE PMN34270 00FE 3D25 3451 | DC /3D25 LINE FEED PMN34280 00FF 3E26 3452 | DC /3E26 END OF BLOCK PMN34290 0100 1040 3453 | DC /1040 SPACE PMN34300 0101 01F1 3454 | DC /01F1 1 PMN34310 0102 02F2 3455 | DC /02F2 2 PMN34320 0103 13F3 3456 | DC /13F3 3 PMN34330 0104 04F4 3457 | DC /04F4 4 PMN34340 0105 15F5 3458 | DC /15F5 5 PMN34350 0106 16F6 3459 | DC /16F6 6 PMN34360 0107 07F7 3460 | DC /07F7 7 PMN34370 0108 08F8 3461 | DC /08F8 8 PMN34380 0109 19F9 3462 | DC /19F9 9 PMN34390 010A 1AF0 3463 | DC /1AF0 0 (NUMERIC) PMN34400 010B E1C1 3464 | DC /E1C1 A PMN34410 010C E2C2 3465 | DC /E2C2 B PMN34420 010D F3C3 3466 | DC /F3C3 C PMN34430 010E E4C4 3467 | DC /E4C4 D PMN34440 010F F5C5 3468 | DC /F5C5 E PMN34450 0110 F6C6 3469 | DC /F6C6 F PMN34460 0111 E7C7 3470 | DC /E7C7 G PMN34470 0112 E8C8 3471 | DC /E8C8 H PMN34480 0113 F9C9 3472 | DC /F9C9 I PMN34490 0114 D1D1 3473 | DC /D1D1 J PMN34500 0115 D2D2 3474 | DC /D2D2 K PMN34510 0116 C3D3 3475 | DC /C3D3 L PMN34520 0117 D4D4 3476 | DC /D4D4 M PMN34530 0118 C5D5 3477 | DC /C5D5 N PMN34540 0119 C6D6 3478 | DC /C6D6 O (ALPHA) PMN34550 011A D7D7 3479 | DC /D7D7 P PMN34560 011B D8D8 3480 | DC /D8D8 Q PMN34570 011C C9D9 3481 | DC /C9D9 R PMN34580 011D B2E2 3482 | DC /B2E2 S PMN34590 011E A3E3 3483 | DC /A3E3 T PMN34600 011F B4E4 3484 | DC /B4E4 U PMN34610 0120 A5E5 3485 | DC /A5E5 V PMN34620 0121 A6E6 3486 | DC /A6E6 W PMN34630 0122 B7E7 3487 | DC /B7E7 X PMN34640 0123 B8E8 3488 | DC /B8E8 Y PMN34650 0124 A9E9 3489 | DC /A9E9 Z PMN34660 0125 EB5F 3490 | DC /EB5F LOGICAL NOT PMN34670 0126 F04E 3491 | DC /F04E PLUS PMN34680 0127 DB5A 3492 | DC /DB5A EXCLAMATION MARK PMN34690 0128 C06D 3493 | DC /C06D UNDERSCORE PMN34700 0129 BB4F 3494 | DC /BB4F LOGICAL OR PMN34710 012A A04A 3495 | DC /A04A CENT PMN34720 012B B16F 3496 | DC /B16F QUESTION MARK PMN34730 012C 994D 3497 | DC /994D LEFT PARENTHESIS PMN34740 012D 9A5D 3498 | DC /9A5D RIGHT PARENTHESIS PMN34750 012E 8B7F 3499 | DC /8B7F QUOTE PMN34760 012F 817E 3500 | DC /817E EQUAL PMN34770 0130 935E 3501 | DC /935E SEMICOLON PMN34780 0131 847A 3502 | DC /847A COLON PMN34790 0132 967D 3503 | DC /967D APOSTROPHE PMN34800 0133 876E 3504 | DC /876E GREATER THAN PMN34810 0134 885C 3505 | DC /885C ASTERISK PMN34820 0135 6B4B 3506 | DC /6B4B PERIOD PMN34830 0136 5B5B 3507 | DC /5B5B DOLLAR SIGN PMN34840 0137 4060 3508 | DC /4060 DASH PMN34850 0138 3B6B 3509 | DC /3B6B COMMA PMN34860 0139 3161 3510 | DC /3161 SLASH PMN34870 013A ED05 3511 | DC /ED05 NO GRAPHIC PMN34880 013B FC04 3512 | DC /FC04 NO GRAPHIC PMN34890 013C FA79 3513 | DC /FA79 NO GRAPHIC PMN34900 013D DE16 3514 | DC /DE16 NO GRAPHIC PMN34910 013E CF17 3515 | DC /CF17 NO GRAPHIC PMN34920 013F CC14 3516 | DC /CC14 NO GRAPHIC PMN34930 0140 CA49 3517 | DC /CA49 NO GRAPHIC PMN34940 0141 AC24 3518 | DC /AC24 NO GRAPHIC PMN34950 0142 B025 3519 | DC /B025 NO GRAPHIC PMN34960 0143 BE26 3520 | DC /BE26 NO GRAPHIC PMN34970 0144 AF27 3521 | DC /AF27 NO GRAPHIC PMN34980 0145 AA69 3522 | DC /AA69 NO GRAPHIC PMN34990 0146 9C34 3523 | DC /9C34 NO GRAPHIC PMN35000 0147 9F37 3524 | DC /9F37 NO GRAPHIC PMN35010 0148 9040 3525 | DC /9040 NO GRAPHIC PMN35020 0149 7C04 3526 | DC /7C04 NO GRAPHIC PMN35030 014A 6181 3527 | DC /6181 NO GRAPHIC PMN35040 014B 6282 3528 | DC /6282 NO GRAPHIC PMN35050 014C 7383 3529 | DC /7383 NO GRAPHIC PMN35060 014D 6484 3530 | DC /6484 NO GRAPHIC PMN35070 014E 7585 3531 | DC /7585 NO GRAPHIC PMN35080 014F 7686 3532 | DC /7686 NO GRAPHIC PMN35090 0150 6787 3533 | DC /6787 NO GRAPHIC PMN35100 0151 6889 3534 | DC /6889 NO GRAPHIC PMN35110 0152 79C0 3535 | DC /79C0 NO GRAPHIC PMN35120 0153 7A4B 3536 | DC /7A4B NO GRAPHIC PMN35130 0154 4F17 3537 | DC /4F17 NO GRAPHIC PMN35140 0155 5797 3538 | DC /5797 NO GRAPHIC PMN35150 0156 5898 3539 | DC /5898 NO GRAPHIC PMN35160 0157 4999 3540 | DC /4999 NO GRAPHIC PMN35170 0158 4AD0 3541 | DC /4AD0 NO GRAPHIC PMN35180 0159 5191 3542 | DC /5191 NO GRAPHIC PMN35190 015A 5292 3543 | DC /5292 NO GRAPHIC PMN35200 015B 4393 3544 | DC /4393 NO GRAPHIC PMN35210 015C 5494 3545 | DC /5494 NO GRAPHIC PMN35220 015D 4595 3546 | DC /4595 NO GRAPHIC PMN35230 015E 4696 3547 | DC /4696 NO GRAPHIC PMN35240 015F 2F27 3548 | DC /2F27 NO GRAPHIC PMN35250 0160 2C24 3549 | DC /2C24 NO GRAPHIC PMN35260 0161 32A0 3550 | DC /32A0 NO GRAPHIC PMN35270 0162 23A1 3551 | DC /23A1 NO GRAPHIC PMN35280 0163 34A2 3552 | DC /34A2 NO GRAPHIC PMN35290 0164 25A3 3553 | DC /25A3 NO GRAPHIC PMN35300 0165 26A4 3554 | DC /26A4 NO GRAPHIC PMN35310 0166 37A5 3555 | DC /37A5 NO GRAPHIC PMN35320 0167 38A6 3556 | DC /38A6 NO GRAPHIC PMN35330 0168 29A7 3557 | DC /29A7 NO GRAPHIC PMN35340 0169 2AE0 3558 | DC /2AE0 NO GRAPHIC PMN35350 016A 1F37 3559 | DC /1F37 NO GRAPHIC PMN35360 016B 1C34 3560 | DC /1C34 NO GRAPHIC PMN35370 016C 0D35 3561 | PT785 DC /0D35 PMN35380 016D 3562 | BSS 0 PATCH AREA 2-7 PMN35390 016D 0000 3563 | PT790 DC 0 *AREA PMN35400 SYSTEM KEYBOARD SUBROUTINE 3565 | *************************************************** PMN35420 3566 | * * PMN35430 3567 | *STATUS - VERSION 2, MODIFICATION 12 * PMN35440 3568 | * * PMN35450 3569 | *FUNCTION/OPERATION- * PMN35460 3570 | * INPUT FROM THE KEYBOARD, CONVERT TO EBCDIC * PMN35470 3571 | * AND PRINT INPUT TO THE CONSOLE PRINTER. * PMN35480 3572 | * * PMN35490 3573 | *ENTRY POINTS- * PMN35500 3574 | * *KB000+1 IS THE USER ENTRY. * PMN35510 3575 | * *KB020+1 IS THE INTERRUPT ENTRY. * PMN35520 3576 | * * PMN35530 3577 | *INPUT- * PMN35540 3578 | * ACC = 7002 * PMN35550 3579 | * EXT = ADDRESS OF I/O AREA * PMN35560 3580 | * *THE I/O AREA CONSISTS OF ONE WORD * PMN35570 3581 | * INDICATING HOW MANY WORDS ARE TO BE INPUT * PMN35580 3582 | * FROM THE KEYBOARD FOLLOW BY A BUFFER OF * PMN35590 3583 | * THAT MANY WORDS. * PMN35600 3584 | * * PMN35610 3585 | *OUTPUT- * PMN35620 3586 | * THE I/O AREA BUFFER WILL CONTAIN THE * PMN35630 3587 | * KEYBOARD INPUT IN UNPACKED EBCDIC. THE * PMN35640 3588 | * KEYBOARD INPUT IS ALSO PRINTED TO THE * PMN35650 3589 | * CONSOLE PRINTER. * PMN35660 3590 | * * PMN35670 3591 | *EXTERNAL REFERENCES- * PMN35680 3592 | * $CTSW * PMN35690 3593 | * $I405+1 * PMN35700 3594 | * $IBSY * PMN35710 3595 | * $KCSW * PMN35720 3596 | * $PRET * PMN35730 3597 | * $PST4 * PMN35740 3598 | * * PMN35750 3599 | *EXITS- NORMAL * PMN35760 3600 | * *SUBROUTINE RETURNS TO USER AFTER FUNCTION * PMN35770 3601 | * HAS BEEN INITIATED. * PMN35780 3602 | * *SUBROUTINE RETURNS TO INTERRUPT LEVEL * PMN35790 3603 | * SUBROUTINE AFTER AN INTERRUPT HAS BEEN * PMN35800 3604 | * SERVICED. * PMN35810 3605 | * * PMN35820 3606 | *EXITS- ERROR * PMN35830 3607 | * *EXIT TO $PRET ON PRE-OPERATIVE ERROR. * PMN35840 3608 | * *EXIT TO $PST4 ON POST-OPERATIVE ERROR. * PMN35850 3609 | * * PMN35860 3610 | *TABLES/WORK AREAS- * PMN35870 3611 | * *KB660 IS A TABLE OF IBM CARD CODE (12 BIT * PMN35880 3612 | * HOLLERITH - BITS 0-11) * PMN35890 3613 | * *KB670 IS A TABLE OF EBCDIC TO ROTATE AND * PMN35900 3614 | * TILT INLINE CODE. (BITS 0-7 RAT AND BITS * PMN35910 3615 | * 8-15 EBCDIC) * PMN35920 3616 | * * PMN35930 3617 | *ATTRIBUTES- * PMN35940 3618 | * *NATURALLY RELOCATABLE. * PMN35950 3619 | * *REUSABLE. * PMN35960 3620 | * * PMN35970 3621 | *NOTES- BEFORE RETURNING TO THE CALLER A CHECK IS * PMN35980 3622 | * MADE FOR THE PRESENCE OF THE SYSTEM * PMN35990 3623 | * CONSOLE PRINTER SUBROUTINE IN CORE. IF IT* PMN36000 3624 | * IS, RETURNING IS DELAYED UNTIL OPERATION * PMN36010 3625 | * IS COMPLETED TO PREVENT POSSIBLE * PMN36020 3626 | * OVERLAPPING. * PMN36030 3627 | * * PMN36040 3628 | *************************************************** PMN36050 SYSTEM KEYBOARD SUBROUTINE 0000 3630 | ORG 0 PMN36070 *SBRKSMC 92 3631 | *SYS KEYBOARD V2M00 PMN36080 0000 0173 3632 | DC KB680-*-1 WORD CNT OF SYS KB SUBR PMN36090 0001 0092 3633 | DC @KBCP PHASE ID OF SYS KB SUBR PMN36100 SYSTEM KEYBOARD SUBROUTINE 0002 4C00 0000 3635 | KB000 BSC L *-* ENTER HERE FROM MAIN (+2) PMN36120 0003 3636 | ORG *-1 PMN36130 0003 0140 3637 | DC KB670 ADDR OF CONV TBL FOR ASM PMN36140 0004 700E 3638 | MDX KB070-1 BR TO SERVICE CALL PMN36150 0005 4C00 0000 3639 | KB020 BSC L *-* ENTER HERE ON INTRPT (+5) PMN36160 0007 C007 3640 | LD KB030 INITLZ SYSTEM TRAP ADDR PMN36170 0008 D03F 3641 | STO KB130+1 TO 'TEST DEVICE RDY' SUBR PMN36180 0009 704E 3642 | MDX KB180 GO TO SERVICE PMN36190 3643 | * * PMN36200 000A 0001 3644 | KB022 DC 1 CHANGED BY THE ASM PMN36210 000B 0008 3645 | KB025 DC 8 CONSTANT EIGHT 212 PMN36212 000C 3646 | BSS E 0 212 PMN36213 000C 0000 3647 | KB160 DC 0 PERM STORAGE FOR ORIG 212 PMN36214 000D 0000 3648 | KB170 DC 0 WD CNT & I/O AREA ADDR 212 PMN36215 000E 1005 3649 | KB330 DC /1005 SLA 5 212 PMN36216 000F 008D 3650 | KB030 DC $PST4 ADDR OF INTRPT TRAP ADDR PMN36230 0010 0028 3651 | KB040 DC $PRET ADDR OF CALL TRAP ADDR PMN36240 0011 0000 3652 | KB050 DC 0 INTRPT ADDR MINUS DISP PMN36250 0012 FFEA 3653 | KB060 DC KB020-KB010 ADDR DISPLACEMENT PMN36260 0013 D014 3654 | STO KB080 SET UP FUNC PMN36270 0014 7400 0013 3655 | KB070 MDX L $IBSY,0 LOOP UNTIL BUSY 212 PMN36280 0016 70FD 3656 | MDX KB070 *INDICATOR IS ZERO 212 PMN36290 0017 6C00 0013 3657 | STX L0 $IBSY SET SUBR BUSY PMN36310 0019 1010 3658 | SLA 16 ZERO ACCUMULATOR 212 PMN36315 001A D07B 3659 | STO KB150 INITLZ FILL SWITCH TO ZERO PMN36320 3660 | * * PMN36330 001B 68F5 3661 | KB010 STX 0 KB050 COMPUTE RELATIVE ADDR PMN36340 001C C0F4 3662 | LD KB050 OF INTRPT ENTRY PMN36350 001D 80F4 3663 | A KB060 FOR ILS04 BRANCH TABLE PMN36360 001E D0F2 3664 | STO KB050 PMN36370 001F C400 00D4 3665 | LD L $I405+1 FETCH ADDR OF ILS04 IBT PMN36380 0021 80E9 3666 | A KB025 PMN36390 0022 D002 3667 | STO *+2 SAVE KB/CP ENTRY ADDR PMN36400 0023 C0ED 3668 | LD KB050 SET UP THE INTRPT ADDR PMN36410 0024 D400 0000 3669 | STO L *-* IN THE IBT PMN36420 0026 C0E9 3670 | LD KB040 CALL SYSTEM TRAP ADDR PMN36430 0027 D020 3671 | STO KB130+1 TO 'TEST DEVC RDY' SUBR PMN36440 0028 0000 3672 | KB080 DC *-* FUNTION BRANCH PMN36450 0029 70D8 3673 | MDX KB000 *TO HERE ON IGNORE & RET PMN36460 002A 70D7 3674 | MDX KB000 *TO HERE ON IGNORE & RET PMN36470 002B 1090 3675 | SLT 16 *TO HERE ON RD/PRNT W/CON PMN36480 002C D005 3676 | STO KB090+1 PMN36490 002D 80DC 3677 | A KB022 COMPUTE I/O AREA ADDR PMN36500 002E D061 3678 | STO KB280 AND WORD COUNT, AND PMN36510 002F D0DC 3679 | STO KB160 ASSIGN THEM STORAGE PMN36520 0030 D07F 3680 | STO KB310+1 PMN36530 0031 C400 0000 3681 | KB090 LD L *-* PMN36540 0033 D05D 3682 | STO KB290 PMN36550 0034 D0D8 3683 | STO KB170 PMN36560 3684 | * * PMN36570 0035 C0D8 3685 | LD KB330 SET UP TO PMN36580 0036 D00C 3686 | STO KB120+1 TEST CONSOLE READY PMN36590 0037 685A 3687 | STX 0 KB370 COMPUTE THE BUFFER ADDR PMN36600 0038 C059 3688 | KB100 LD KB370 *FOR THE IOCC PMN36610 0039 8069 3689 | A KB350 *AND THE ADDR PMN36620 003A D057 3690 | STO KB370 *OF THE I/O AREA PMN36630 003B 8052 3691 | A KB260 *PT FOR INLINE CODING PMN36640 003C D06F 3692 | STO KB400+2 *AND STORE IN PMN36650 003D D068 3693 | STO KB410+1 *THE CODE PMN36660 3694 | * * PMN36670 003E 4002 3695 | BSI KB110+1 GO TO SENSE DEVICE STATUS PMN36680 003F 700A 3696 | MDX KB140 GO TO PRINT PMN36690 3697 | * * PMN36700 0040 4C00 3698 | KB110 DC /4C00 PMN36710 0041 0000 3699 | DC *-* ENTER HERE TO PMN36720 0042 0851 3700 | KB120 XIO KB390-1 TEST DEVICE READY PMN36730 0043 1005 3701 | SLA 5 PMN36740 0044 4810 3702 | BSC - SKIP IF NOT RDY PMN36750 0045 70FA 3703 | MDX KB110 BRNCH OUT IF RDY PMN36760 0046 C04D 3704 | LD KB380 NOT RDY, PMN36770 0047 4400 0000 3705 | KB130 BSI L *-* TRAP OUT TO WAIT PMN36780 0049 70F8 3706 | MDX KB120 TRY AGAIN PMN36790 3707 | * * PMN36800 004A C057 3708 | KB140 LD KB460 SET TO PRINT PMN36810 004B D047 3709 | STO KB370+1 ONE CHAR/CONTROL PMN36820 004C C057 3710 | LD KB420 PMN36830 004D D041 3711 | STO KB270 PMN36840 004E 7401 0032 3712 | MDX L $IOCT,1 INCREMENT IOCS CNTR 2-2 PMN36850 0050 0841 3713 | XIO KB370 XEQ CARR RET PMN36860 0051 C045 3714 | KB145 LD KB321 LOAD /2002 212 PMN36870 0052 4400 0028 3715 | BSI L $PRET PRE-OP ERROR TRAP 212 PMN36875 0054 7400 0013 3716 | MDX L $IBSY,0 BUSY? 212 PMN36880 0056 70FA 3717 | MDX KB145 ELSE, LOOP 212 PMN36890 0057 70AA 3718 | MDX KB000 RETURN TO CALLER 212 PMN36895 3719 | * * PMN36950 3720 | *************************************************** PMN37000 3721 | * * PMN37010 3722 | * THIS SECTION OF CODING * PMN37020 3723 | * SERVICES THE INTERRUPT * PMN37030 3724 | * * PMN37040 3725 | *************************************************** PMN37050 3726 | * * PMN37060 0058 083B 3727 | KB180 XIO KB390-1 SENSE AND RESET PMN37070 0059 4828 3728 | BSC +Z TEST BIT 0 PMN37080 005A 7004 3729 | MDX KB200 GO TO SERVICE PRINT INTRPT PMN37090 005B 1001 3730 | SLA 1 PMN37100 005C 4828 3731 | BSC +Z TEST BIT 1 PMN37110 005D 7078 3732 | MDX KB590 GO TO SERVICE RD INTRPT PMN37120 005E 70A6 3733 | KB190 MDX KB020 EXIT PMN37130 005F C02F 3734 | KB200 LD KB270 WAS INTERRUPT CAUSED BY 212 PMN37140 0060 9074 3735 | S KB530 *BACKSPACE 212 PMN37145 0061 4818 3736 | BSC +- NO 212 PMN37150 0062 700D 3737 | MDX KB210 YES, GO PRINT A SLASH 212 PMN37160 0063 74FF 0032 3738 | MDX L $IOCT,-1 DECREMENT I/O COUNTER 212 PMN37170 0065 1000 3739 | NOP IN CASE OF SKIP 212 PMN37180 0066 C028 3740 | LD KB270 WAS INTERRUPT CAUSED BY 212 PMN37190 0067 903C 3741 | S KB420 * CARRIAGE RETURN 212 PMN37200 0068 4818 3742 | BSC +- NO 212 PMN37210 0069 702E 3743 | MDX KB300 YES, GO HANDLE 212 PMN37220 3744 | * * PMN37230 006A C05B 3745 | LD KB470 CHECK SLASH INDR PMN37240 006B 4818 3746 | BSC +- SKIP IF ON PMN37250 006C 700F 3747 | MDX KB230 IF OFF, BRANCH TO HANDLE PMN37260 3748 | * * PMN37270 006D 9020 3749 | S KB260 HAVE 2 SLASHES BEEN PRINTD PMN37280 006E D057 3750 | STO KB470 PMN37290 006F 4820 3751 | BSC Z YES, SKIP PMN37300 0070 7078 3752 | KB210 MDX KB600 NO, GO TO PRINT A SLASH PMN37310 3753 | * * PMN37320 3754 | * * PMN37330 0071 C89A 3755 | LDD KB160 RESTORE ORIG I/O AREA PMN37340 0072 D81D 3756 | STD KB280 ADDR AND WD COUNT PMN37350 3757 | * * PMN37360 0073 C030 3758 | LD KB420 SET TO DO CARR RET PMN37370 0074 D01A 3759 | KB220 STO KB270 PMN37380 3760 | * * PMN37390 0075 C098 3761 | LD KB330 SET UP TO PMN37400 0076 D0CC 3762 | STO KB120+1 TEST CONSOLE RDY PMN37410 0077 C02A 3763 | LD KB460 PRINT FUNC TO IOCC PMN37420 0078 D01A 3764 | STO KB370+1 PMN37430 3765 | * * PMN37440 0079 40C7 3766 | BSI KB110+1 GO TO SENSE DEVICE RDY PMN37450 3767 | * PMN37460 007A 0817 3768 | XIO KB370 EXEC PRINT PMN37470 007B 7089 3769 | MDX KB020 EXIT PMN37480 3770 | * PMN37490 007C C04B 3771 | KB230 LD KB490 IS BCKSP INDR ON PMN37500 007D 4830 3772 | BSC -Z NO, SKIP PMN37510 007E 700B 3773 | MDX KB250 YES, GO TO RELEASE THE KEY PMN37520 3774 | * * PMN37530 007F C011 3775 | KB240 LD KB290 PMN37540 0080 900D 3776 | S KB260 DECR THE WD CNT PMN37550 0081 D00F 3777 | STO KB290 TEST FOR ZERO PMN37560 0082 4818 3778 | BSC +- SKIP IF NOT ZERO PMN37570 0083 702B 3779 | MDX KB310 GO TO SET SUBR NOT BUSY PMN37580 0084 C00B 3780 | LD KB280 PMN37590 0085 8008 3781 | A KB260 INCR THE I/O AREA PT PMN37600 0086 D009 3782 | STO KB280 PMN37610 3783 | * * PMN37620 0087 C00E 3784 | LD KB150 TEST FILL SWITCH PMN37630 0088 4820 3785 | BSC Z SKIP IF OFF PMN37640 0089 7020 3786 | MDX KB400 GO TO HANDLE IF ON PMN37650 3787 | * * PMN37660 008A C060 3788 | KB250 LD KB340 SET UP TO PMN37670 008B D0B7 3789 | STO KB120+1 TEST KEYBOARD RDY PMN37680 3790 | * * PMN37690 008C C036 3791 | LD KB360 SET UP IOCC AND GO TO PMN37700 008D 70EA 3792 | MDX KB220+4 GO SELECT KEYBOARD PMN37710 3793 | * * PMN37720 3794 | * * PMN37730 008E 3795 | BSS E 0 PMN37750 008E 0001 3796 | KB260 DC 1 CONSTANT ONE PMN37760 008F 0000 3797 | KB270 DC *-* IOCC BFR PMN37770 0090 0000 3798 | KB280 DC *-* I/O AREA POINTER PMN37780 0091 0000 3799 | KB290 DC *-* WORD COUNT PMN37790 0092 3800 | BSS E 0 212 PMN37796 0092 0000 3801 | KB370 DC *-* IOCC TO RD/PRNT 212 PMN37797 0093 0000 3802 | DC *-* * 212 PMN37798 0094 2000 3803 | KB380 DC /2000 KB NO READY CODE 212 PMN37799 0095 0F01 3804 | KB390 DC /0F01 FUNC CODE TO SNS DSW 212 PMN37800 0096 0000 3805 | KB150 DC 0 FILL WITH BLANKS SWITCH PMN37802 0097 2002 3806 | KB321 DC /2002 HALT FOR // TYP 212 PMN37805 3807 | * * PMN37810 0098 C03B 3808 | KB300 LD KB495 LOAD ERASE/BKSP INDR 212 PMN37811 0099 4818 3809 | BSC +- IF ON, SKIP 212 PMN37812 009A 7003 3810 | MDX KB305 ELSE, GO RELEASE KEY 212 PMN37814 009B 7401 0032 3811 | MDX L $IOCT,1 INCREMENT I/O COUNTER 212 PMN37816 009D 1000 3812 | NOP MAY SKIP 212 PMN37818 009E 1010 3813 | KB305 SLA 16 ZERO 212 PMN37820 009F D034 3814 | STO KB495 *ERASE/BKSP INDR 212 PMN37825 00A0 D0EE 3815 | STO KB270 CLEAR THE BUFFER PMN37830 00A1 70E8 3816 | MDX KB250 GO TO RELEASE THE KEY PMN37840 3817 | * * PMN37850 00A2 0902 3818 | KB460 DC /0902 PRINT FUNC CODE 212 PMN37855 00A3 0057 3819 | KB350 DC KB270-KB100 ADDRESS DISPLACEMENT 212 PMN37857 00A4 8100 3820 | KB420 DC /8100 CONSOLE CODE CARR RET 212 PMN37858 00A5 D480 0000 3821 | KB410 STO I *-* PUT EBC INTO I/O AREA 212 PMN37860 00A7 7401 0032 3822 | MDX L $IOCT,1 INCR I/O COUNTER 212 PMN37861 00A9 70CB 3823 | MDX KB220+1 GO TO PRINT 212 PMN37862 00AA C01C 3824 | KB400 LD KB480 PUT BLANK CHARACTER 212 PMN37863 00AB D480 0000 3825 | STO I *-* *INTO I/O AREA 212 PMN37864 00AD D0E8 3826 | STO KB150 SET TO FILL I/O AREA 212 PMN37865 00AE 70D0 3827 | MDX KB240 *WITH BLANKS 212 PMN37866 00AF 6500 0000 3828 | KB310 LDX L1 *-* INITLZ INPUT ADDR TO XR1 PMN37870 00B1 C100 3829 | LD 1 0 PMN37880 3830 | * * PMN37890 00B2 9011 3831 | S KB440 WERE THEY SLASHES PMN37900 00B3 4820 3832 | BSC Z SKIP ON YES PMN37910 00B4 700A 3833 | MDX KB320 BR TO EXIT ON NO PMN37920 00B5 C101 3834 | LD 1 1 PMN37930 00B6 900D 3835 | S KB440 PMN37940 00B7 4820 3836 | BSC Z SKIP IF 2ND WD IS A SLASH, PMN37950 00B8 7006 3837 | MDX KB320 OTHERWISE BRANCH PMN37960 3838 | * * PMN37970 00B9 C102 3839 | LD 1 2 FETCH THIRD WRD PMN37980 00BA 900C 3840 | S KB480 IS IT A SPACE PMN37990 00BB 4820 3841 | BSC Z SKIP ON YES PMN38000 00BC 7002 3842 | MDX KB320 BR TO EXIT ON NO PMN38010 3843 | * * PMN38020 00BD 6C00 000F 3844 | STX L0 $CTSW RECORD WAS A CTL TYPE PMN38030 00BF 1010 3845 | KB320 SLA 16 CLEAR ACC PMN38040 00C0 D400 0013 3846 | STO L $IBSY TURN OFF SUBROUTINE BUSY PMN38050 00C2 709B 3847 | MDX KB190 EXIT PMN38080 3848 | * * PMN38090 3849 | * * PMN38120 00C3 0C00 3850 | KB360 DC /0C00 FUNC CODE TO RELEASE KEY PMN38160 00C4 0061 3851 | KB440 DC /0061 EBC CODE FOR A SLASH PMN38320 00C5 0A00 3852 | KB450 DC /0A00 FUNC CODE TO READ PMN38330 00C6 0000 3853 | KB470 DC 0 SLASH INDR PMN38350 00C7 0040 3854 | KB480 DC /0040 EBC SPACE PMN38360 00C8 0000 3855 | KB490 DC 0 BCKSP INDR PMN38370 3856 | *************************************************** PMN38380 3857 | * * PMN38390 3858 | *THIS BLOCK OF CODING HANDLES THE CONVERSION OF * PMN38395 3859 | * 12-BIT HOLLERITH TO EBCDIC AND CONSOLE * PMN38400 3860 | * PRINTER CODE * PMN38410 3861 | * * PMN38420 3862 | *************************************************** PMN38430 00C9 C0FE 3863 | KB500 LD KB490 PMN38440 00CA 80C3 3864 | A KB260 INCR BCKSP PMN38450 00CB D0FC 3865 | STO KB490 INDR BY ONE PMN38460 3866 | * * PMN38470 00CC C0C3 3867 | LD KB280 DECREMENT PMN38475 00CD 90C0 3868 | S KB260 *I/O PMN38480 00CE D0C1 3869 | STO KB280 * POINTER PMN38485 00CF C0C1 3870 | LD KB290 INCREMENT PMN38510 00D0 80BD 3871 | A KB260 *WORD PMN38520 00D1 D0BF 3872 | STO KB290 PMN38540 00D2 C002 3873 | LD KB530 SET TO DO A BACKSPACE PMN38550 00D3 70A0 3874 | KB505 MDX KB220 DO BACKSPACE 212 PMN38560 3875 | * * PMN38570 3876 | * * PMN38580 00D4 0000 3877 | KB495 DC *-* ERASE/BKSP INDR 212 PMN38600 00D5 1100 3878 | KB530 DC /1100 CP CODE FOR BCKSP PMN38610 00D6 C0EE 3879 | KB590 LD KB450 SET UP IOCC PMN38690 00D7 D0BB 3880 | STO KB370+1 PMN38700 00D8 08B9 3881 | XIO KB370 READ ONE CHAR PMN38710 3882 | * * PMN38720 00D9 C0B5 3883 | LD KB270 FETCH CHAR JUST READ PMN38730 00DA 9014 3884 | S KB540 IS IT A BACKSPACE PMN38740 00DB 4818 3885 | BSC +- NO, SKIP PMN38750 00DC 70EC 3886 | MDX KB500 YES, GO HANDLE PMN38760 3887 | * * PMN38770 00DD 1010 3888 | SLA 16 TURN OFF PMN38780 00DE D0E9 3889 | STO KB490 BACKSPACE INDR PMN38790 3890 | * * PMN38800 00DF C0AF 3891 | LD KB270 FETCH CHARACTER PMN38810 00E0 900F 3892 | S KB550 IS IT AN END-OF-MESSAGE PMN38820 00E1 4818 3893 | BSC +- NO, SKIP PMN38830 00E2 70C7 3894 | MDX KB400 GO TO HANDLE PMN38840 3895 | * * PMN38850 00E3 900D 3896 | S KB560 IS IT AN ERRASE PMN38860 00E4 4820 3897 | BSC Z YES, SKIP PMN38870 00E5 700E 3898 | MDX KB630-1 NO, GO TO CONV CHAR PMN38880 3899 | * * PMN38890 00E6 6102 3900 | LDX 1 2 SET SLASH INDICATOR 212 PMN38900 00E7 69DE 3901 | STX 1 KB470 *TO TWO 212 PMN38910 00E8 68EB 3902 | STX KB495 SET ERASE INDR ON 212 PMN38915 00E9 7401 0032 3903 | KB600 MDX L $IOCT,1 INCR IO COINTER 212 PMN38920 00EB 1006 3904 | KB340 DC /1006 PMN38921 00EC C001 3905 | LD KB510 GO TO PRINT PMN38924 00ED 70E5 3906 | MDX KB505 A SLASH 212 PMN38930 00EE BC00 3907 | KB510 DC /BC00 PRINT SLASH 212 PMN38932 00EF 0004 3908 | KB540 DC /0004 BACKSPACE CODE 212 PMN38933 00F0 0008 3909 | KB550 DC /0008 EOM CODE 212 PMN38934 00F1 FFFA 3910 | KB560 DC /0002-/0008 ERASE CODE 212 PMN38935 00F2 0015 3911 | KB570 DC KB660-KB630 ADDR DISPLACEMENT 212 PMN38936 00F3 0036 3912 | KB580 DC KB670-KB660 ADDR DISPLACEMENT 212 PMN38937 3913 | *************************************************** PMN38940 3914 | * * PMN38950 3915 | *PERFORM A TABLE LOOK-UP TO CONVERT INPUT CHAR- * PMN38960 3916 | * ACTER TO EBCDIC AND CONSOLE PRINTER CODE * PMN38970 3917 | * * PMN38990 3918 | *************************************************** PMN39000 00F4 6808 3919 | STX 0 KB640+1 COMPUTE THE PMN39010 00F5 C007 3920 | KB630 LD KB640+1 EFFECTIVE ADDRESSES PMN39020 00F6 80FB 3921 | A KB570 OF BOTH CONV TABLES PMN39030 00F7 D005 3922 | STO KB640+1 AND STORE THEM TO PMN39040 00F8 80FA 3923 | A KB580 INLINE CODING PMN39050 00F9 D00B 3924 | STO KB650+1 PMN39060 00FA 6235 3925 | LDX 2 +53 SIZE OF TABLE PMN39070 00FB C093 3926 | LD KB270 FETCH CHAR PMN39080 00FC F600 0000 3927 | KB640 EOR L2 *-* COMPARE WITH TABLE ENTRY PMN39090 00FE 4818 3928 | BSC +- SKIP IF NO COMPARE PMN39100 00FF 7004 3929 | MDX KB650 CHAR FOUND-END OF SEARCH PMN39110 0100 72FF 3930 | MDX 2 -1 DECR LOOP COUNTER PMN39120 0101 70F9 3931 | MDX KB640-1 LOOP TO CONTINUE SEARCH PMN39130 3932 | * * PMN39140 0102 C03D 3933 | LD KB670 INVALID CHAR DETECTED PMN39150 0103 7002 3934 | MDX KB650+2 GO TO PRINT A BLANK PMN39160 3935 | * * PMN39170 0104 C600 0000 3936 | KB650 LD L2 *-* FETCH CORESPOND TABL2 ENT PMN39180 0106 D088 3937 | STO KB270 SET TO PRINT IT PMN39190 0107 1008 3938 | SLA 8 SHIFT OUT CONSOLE CODE PMN39200 0108 1808 3939 | SRA 8 RIGHT JUSTIFY EBC PMN39210 0109 709B 3940 | MDX KB410 GO TO HANDLE PMN39220 3941 | *************************************************** PMN39230 3942 | * BITS 0-11 = IBM CARD CODE * PMN39240 3943 | *************************************************** PMN39250 010A 0000 3944 | KB660 DC 0 TBL ADJUSTMENT FOR ASM PMN39260 010B 8000 3945 | DC /8000 AMPERSAND PMN39270 010C 0420 3946 | DC /0420 POUND PMN39280 010D 0220 3947 | DC /0220 AT PMN39290 010E 2220 3948 | DC /2220 PERCENT PMN39300 010F 8220 3949 | DC /8220 LESS THAN PMN39310 0110 0000 3950 | DC /0000 SPACE PMN39320 0111 2000 3951 | DC /2000 0 PMN39330 0112 1000 3952 | DC /1000 1 PMN39340 0113 0800 3953 | DC /0800 2 PMN39350 0114 0400 3954 | DC /0400 3 PMN39360 0115 0200 3955 | DC /0200 4 PMN39370 0116 0100 3956 | DC /0100 5 PMN39380 0117 0080 3957 | DC /0080 6 PMN39390 0118 0040 3958 | DC /0040 7 PMN39400 0119 0020 3959 | DC /0020 8 PMN39410 011A 0010 3960 | DC /0010 9 PMN39420 011B 9000 3961 | DC /9000 A PMN39430 011C 8800 3962 | DC /8800 B PMN39440 011D 8400 3963 | DC /8400 C PMN39450 011E 8200 3964 | DC /8200 D PMN39460 011F 8100 3965 | DC /8100 E PMN39470 0120 8080 3966 | DC /8080 F PMN39480 0121 8040 3967 | DC /8040 G PMN39490 0122 8020 3968 | DC /8020 H PMN39500 0123 8010 3969 | DC /8010 I PMN39510 0124 5000 3970 | DC /5000 J PMN39520 0125 4800 3971 | DC /4800 K PMN39530 0126 4400 3972 | DC /4400 L PMN39540 0127 4200 3973 | DC /4200 M PMN39550 0128 4100 3974 | DC /4100 N PMN39560 0129 4080 3975 | DC /4080 O PMN39570 012A 4040 3976 | DC /4040 P PMN39580 012B 4020 3977 | DC /4020 Q PMN39590 012C 4010 3978 | DC /4010 R PMN39600 012D 2800 3979 | DC /2800 S PMN39610 012E 2400 3980 | DC /2400 T PMN39620 012F 2200 3981 | DC /2200 U PMN39630 0130 2100 3982 | DC /2100 V PMN39640 0131 2080 3983 | DC /2080 W PMN39650 0132 2040 3984 | DC /2040 X PMN39660 0133 2020 3985 | DC /2020 Y PMN39670 0134 2010 3986 | DC /2010 Z PMN39680 0135 8420 3987 | DC /8420 PERIOD PMN39690 0136 4120 3988 | DC /4120 RIGHT PARENTHESIS PMN39700 0137 8120 3989 | DC /8120 LEFT PARENTHESIS PMN39710 0138 80A0 3990 | DC /80A0 PLUS PMN39720 0139 4420 3991 | DC /4420 DOLLAR SIGN PMN39730 013A 4220 3992 | DC /4220 ASTERISK PMN39740 013B 00A0 3993 | DC /00A0 EQUAL PMN39750 013C 4000 3994 | DC /4000 DASH PMN39760 013D 3000 3995 | DC /3000 SLASH PMN39770 013E 2420 3996 | DC /2420 COMMA PMN39780 013F 0120 3997 | DC /0120 APOSTROPHE PMN39790 0140 2150 3998 | KB670 DC /2150 CODES FOR INVALID CHAR PMN39800 0141 444E 3999 | DC /444E AMPERSAND PMN39810 0142 C07B 4000 | DC /C07B POUND 212 PMN39820 0143 047C 4001 | DC /047C AT 212 PMN39830 0144 066C 4002 | DC /066C PERCENT 212 PMN39840 0145 DE4C 4003 | DC /DE4C LESS THAN 212 PMN39850 0146 2140 4004 | DC /2140 BLANK PMN39860 0147 C4F0 4005 | DC /C4F0 0 PMN39870 0148 FCF1 4006 | DC /FCF1 1 PMN39880 0149 D8F2 4007 | DC /D8F2 2 PMN39890 014A DCF3 4008 | DC /DCF3 3 PMN39900 014B F0F4 4009 | DC /F0F4 4 PMN39910 014C F4F5 4010 | DC /F4F5 5 PMN39920 014D D0F6 4011 | DC /D0F6 6 PMN39930 014E D4F7 4012 | DC /D4F7 7 PMN39940 014F E4F8 4013 | DC /E4F8 8 PMN39950 0150 E0F9 4014 | DC /E0F9 9 PMN39960 0151 3CC1 4015 | DC /3CC1 A PMN39970 0152 18C2 4016 | DC /18C2 B PMN39980 0153 1CC3 4017 | DC /1CC3 C PMN39990 0154 30C4 4018 | DC /30C4 D PMN40000 0155 34C5 4019 | DC /34C5 E PMN40010 0156 10C6 4020 | DC /10C6 F PMN40020 0157 14C7 4021 | DC /14C7 G PMN40030 0158 24C8 4022 | DC /24C8 H PMN40040 0159 20C9 4023 | DC /20C9 I PMN40050 015A 7CD1 4024 | DC /7CD1 J PMN40060 015B 58D2 4025 | DC /58D2 K PMN40070 015C 5CD3 4026 | DC /5CD3 L PMN40080 015D 70D4 4027 | DC /70D4 M PMN40090 015E 74D5 4028 | DC /74D5 N PMN40100 015F 50D6 4029 | DC /50D6 O (ALPHA) PMN40110 0160 54D7 4030 | DC /54D7 P PMN40120 0161 64D8 4031 | DC /64D8 Q PMN40130 0162 60D9 4032 | DC /60D9 R PMN40140 0163 98E2 4033 | DC /98E2 S PMN40150 0164 9CE3 4034 | DC /9CE3 T PMN40160 0165 B0E4 4035 | DC /B0E4 U PMN40170 0166 B4E5 4036 | DC /B4E5 V PMN40180 0167 90E6 4037 | DC /90E6 W PMN40190 0168 94E7 4038 | DC /94E7 X PMN40200 0169 A4E8 4039 | DC /A4E8 Y PMN40210 016A A0E9 4040 | DC /A0E9 Z PMN40220 016B 004B 4041 | DC /004B PERIOD PMN40230 016C F65D 4042 | DC /F65D RIGHT PARENTHESIS PMN40240 016D FE4D 4043 | DC /FE4D LEFT PARENTHESIS PMN40250 016E DA4E 4044 | DC /DA4E PLUS PMN40260 016F 405B 4045 | DC /405B DOLLAR SIGN PMN40270 0170 D65C 4046 | DC /D65C ASTERICK PMN40280 0171 C27E 4047 | DC /C27E EQUAL PMN40290 0172 8460 4048 | DC /8460 MINUS PMN40300 0173 BC61 4049 | DC /BC61 SLASH PMN40310 0174 806B 4050 | DC /806B COMMA PMN40320 0175 E67D 4051 | DC /E67D APOSTROPHE PMN40330 4052 | * * PMN40340 0176 4053 | KB675 BSS /175-*+1 PATCH AREA 212 PMN40350 0175 4054 | KB680 EQU *-1 212 PMN40360 SYSTEM 2501/1442 CONVERSION SUBROUTINE 4056 | *************************************************** PMN40380 4057 | *STATUS-VERSION 2, MODIFICATION 12 * PMN40390 4058 | * * PMN40400 4059 | *FUNCTION/OPERATION- * PMN40410 4060 | * CONVERT IBM CARD CODE TO UNPACKED EBCDIC * PMN40420 4061 | * * PMN40430 4062 | *ENTRY POINTS- * PMN40440 4063 | * SP000+1 IS THE USER ENTRY * PMN40450 4064 | * * PMN40460 4065 | *INPUT- * PMN40470 4066 | * ACC = ADDRESS OF I/O AREA (WORD COUNT) * PMN40480 4067 | * * PMN40490 4068 | *OUTPUT- * PMN40500 4069 | * EIGHT WORD BUFFER SPECIFIED BY INPUT FILLED * PMN40510 4070 | * WITH UNPACKED,RIGHT-JUSTIFIED EBCDIC * PMN40520 4071 | * CHARACTERS * PMN40530 4072 | * * PMN40540 4073 | *EXTERNAL REFERENCES-N/A * PMN40550 4074 | * * PMN40560 4075 | *EXITS- * PMN40570 4076 | * NORMAL- * PMN40580 4077 | * SUBROUTINE RETURNS TO USER AFTER * PMN40590 4078 | * ALL EIGHTY COLUMNS HAVE BEEN * PMN40600 4079 | * CONVERTED * PMN40610 4080 | * ERROR-N/A * PMN40620 4081 | * * PMN40630 4082 | *TABLES/WORK AREAS- * PMN40640 4083 | * * PMN40650 4084 | * SP130 IS A TABLE OF EBCDIC, TWO CHARACTERS * PMN40660 4085 | * PER WORD. THE RIGHT HALF OF EACH ENTRY * PMN40670 4086 | * CONVERTS FROM CARD CODE OF LEFT HALF * PMN40680 4087 | * PLUS A NINE ROW PUNCH. THE ENTRIES ARE * PMN40690 4088 | * ARRANGED BY CARD CODE ZONES TO ALLOW * PMN40700 4089 | * THE SUBROUTINE DIRECT ACCESS * PMN40710 4090 | * * PMN40720 4091 | *ATTRIBUTES- * PMN40730 4092 | * * NATURALLY RELOCATABLE * PMN40740 4093 | * * SERIALLY REUSEABLE * PMN40750 4094 | * * PMN40760 4095 | *NOTES-N/A * PMN40770 4096 | *************************************************** PMN40780 SYSTEM 2501/1442 CONVERSION SUBR 0000 4098 | ORG 0 PMN40800 *SBRKGPW 93 4099 | *SYS 2501/1442 CONVERSION V2M00 PMN40810 0000 00B9 4100 | DC SP990-SP000+1 WORD CNT OF SYS CD CNV PMN40820 0001 0093 4101 | DC @CDCV PHASE ID OF SYS CD CNV PMN40830 SYSTEM 2501/1442 CONVERSION SUBR 0002 4C00 0000 4103 | SP000 BSC L *-* EXIT/ENTRY PMN40850 0004 282E 4104 | STS SP074 SAVE STATUS INDICATORS PMN40860 0005 692A 4105 | STX 1 SP070+1 SAVE XR1 PMN40870 0006 6A2B 4106 | STX 2 SP072+1 SAVE XR 2 PMN40880 0007 D003 4107 | STO SP020+1 INITIALIZE LOAD AND STORE PMN40890 0008 D023 4108 | STO SP060+1 WITH ADDRESS OF I/O AREA. PMN40900 0009 6250 4109 | LDX 2 80 XR2 = COLUMN COUNT PMN40910 000A C600 0000 4110 | SP020 LD L2 *-* FETCH HOLLERITH CARD COLUMN PMN40920 000C D028 4111 | STO SP090 SAVE FOR LATER RELOAD PMN40930 000D 1886 4112 | SRT 6 PACK 12,11,0 ROWS NEXT TO PMN40940 000E 1807 4113 | SRA 7 8,9 ROWS AND STORE PMN40950 000F 1883 4114 | SRT 3 *IN EXTENSION PMN40960 0010 C024 4115 | LD SP090 RELOAD COLUMN IN ACC PMN40970 4116 | * PMN40980 4117 | * DETERMINE WHICH ROWS OF ROWS 1-7 ARE PUNCHED PMN40990 4118 | * PMN41000 0011 610A 4119 | LDX 1 10 PMN41010 0012 E023 4120 | AND SP100 ZERO ALL ROWS EXCEPT 1-7 PMN41020 0013 1140 4121 | SLCA 1 PMN41030 0014 1001 4122 | SLA 1 IS MULTIPLE PUNCH IN 1-7 PMN41040 0015 4818 4123 | BSC +- PMN41050 0016 7002 4124 | MDX SP030 NO MULTIPLE PUNCHES PMN41060 0017 C020 4125 | LD SP120 USE AMPERSAND (ASM--FF) PMN41070 0018 7012 4126 | MDX SP060 TO INDICATE INVALID PUNCH PMN41080 4127 | * PMN41090 4128 | * COLUMN CONTAINS VALID PUNCH PMN41100 4129 | * PMN41110 0019 691B 4130 | SP030 STX 1 SP090 XR1 = 0 IF NO 1-7 PUNCH, PMN41120 001A C01A 4131 | LD SP090 * = 1 IF 7 PUNCH PMN41130 001B 1084 4132 | SLT 4 * = 7 IF 1 PUNCH PMN41140 001C D008 4133 | STO SP050+1 ADD 12,11,0,AND 8 ROWS PMN41150 001D D017 4134 | STO SP090 PMN41160 001E 6808 4135 | STX 0 SP052+1 BUILD ADDRESS FOR PMN41170 001F C007 4136 | SP040 LD SP052+1 INDEXED LOAD INST AT SP052 PMN41180 0020 8016 4137 | A SP110 PMN41190 0021 D005 4138 | STO SP052+1 PMN41200 0022 C012 4139 | LD SP090 PMN41210 0023 1091 4140 | SLT 17 STORE 9 ROW IN CARRY PMN41220 0024 6500 0000 4141 | SP050 LDX L1 *-* XR1 = TABLE LOOK-UP ADDRESS PMN41230 0026 C500 0000 4142 | SP052 LD L1 *-* LOAD TABLE ENTRY PMN41240 4143 | * PMN41250 4144 | * IF 9 PUNCH, USE RIGHT HALF OF ENTRY PMN41260 4145 | * PMN41270 0028 4802 4146 | BSC C IF CARRY SET PMN41280 0029 1008 4147 | SLA 8 USE RIGHT-HALF, OTHERWISE PMN41290 002A 1808 4148 | SRA 8 USE LEFT-HALF OF ENTRY PMN41300 002B D600 0000 4149 | SP060 STO L2 *-* STORE CHAR IN BUFFER PMN41310 002D 72FF 4150 | MDX 2 -1 CHANGE COLUMN POINTER PMN41320 002E 70DB 4151 | MDX SP020 TO CONVERT NEXT COLUMN PMN41330 002F 6500 0000 4152 | SP070 LDX L1 *-* RELOAD XR 1 PMN41340 0031 6600 0000 4153 | SP072 LDX L2 *-* RELOAD XR 2 PMN41350 0033 2000 4154 | SP074 LDS 0 RELOAD STATUS INDICATORS PMN41360 0034 70CD 4155 | MDX SP000 GO TO EXIT PMN41370 4156 | * PMN41380 4157 | * CONSTANTS (OTHER THAN TABLE) USED BY ROUTINE PMN41390 4158 | * PMN41400 0035 0000 4159 | SP090 DC *-* TEMPORARY STORE FOR COLUMN PMN41410 0036 1FC0 4160 | SP100 DC /1FC0 MASK OUT ALL ROWS BUT 1-7 PMN41420 0037 001C 4161 | SP110 DC SP130-SP040 DISP. TO BUILD SP052 PMN41430 0038 00EF 4162 | SP120 DC /00EF INVALID CHAR CODE 2-8 PMN41440 4163 | * PMN41450 0039 4164 | BSS 2 PATCH AREA 2-9 PMN41460 4165 | ************************************************2-9 PMN41470 4166 | * *2-9 PMN41480 4167 | * DUP DUMP / STORE EBCDIC USES THIS TABLE *2-9 PMN41490 4168 | * TO CONVERT TO CARD CODE. SP130 IS EXPECTED *2-9 PMN41500 4169 | * TO BE AT RELATIVE ADDR /3B. ANY CHANGE *2-9 PMN41510 4170 | * WILL NECESSITATE CHANGING XE900 IN DUP DUMP*2-9 PMN41520 4171 | * AND RI900 IN DUP DCTL. *2-9 PMN41530 4172 | ************************************************2-9 PMN41540 4173 | * PMN41550 4174 | * EBCDIC CHARACTER TABLE - BASED ON PMN41560 4175 | * PACKED HOL ( 1-7 ROW COMPLEMENT, 12, PMN41570 4176 | * 11,0,8 ROWS ... RIGHT CHAR IF 9 ROW) PMN41580 4177 | * PMN41590 4178 | * EBCDIC,HOL ROW PUNCHES, LEFT,RIGHT PMN41600 4179 | * PMN41610 003B 40F9 4180 | SP130 DC /40F9 BLANK,(9) BLANK 9 PMN41620 003C F838 4181 | DC /F838 8,(9) 8 PMN41630 003D F0E9 4182 | DC /F0E9 0,(9) ZERO Z PMN41640 003E E828 4183 | DC /E828 0,8,(9) Y PMN41650 003F 60D9 4184 | DC /60D9 11,(9) DASH R PMN41660 0040 D818 4185 | DC /D818 11,8,(9) Q PMN41670 0041 D0A9 4186 | DC /D0A9 11,0,(9) PMN41680 0042 A868 4187 | DC /A868 11,0,8,(9) PMN41690 0043 50C9 4188 | DC /50C9 AMPSND I 2-8 PMN41700 0044 C808 4189 | DC /C808 12,8,(9) H PMN41710 0045 C089 4190 | DC /C089 12,0,(9) PMN41720 0046 8848 4191 | DC /8848 12,0,8,(9) PMN41730 0047 6A99 4192 | DC /6A99 12,11,(9) PMN41740 0048 9858 4193 | DC /9858 12,11,8,(9) PMN41750 0049 70B9 4194 | DC /70B9 12,11,0,(9) PMN41760 004A B878 4195 | DC /B878 12,11,0,8,(9) PMN41770 4196 | * PMN41780 004B F737 4197 | DC /F737 7,(9) 7 EOT PMN41790 004C 7F3F 4198 | DC /7F3F 7,8,(9) PMN41800 004D E727 4199 | DC /E727 7,0,(9) X PRE PMN41810 004E 6F2F 4200 | DC /6F2F 7,0,8,(9) PMN41820 004F D717 4201 | DC /D717 7,11,(9) P IDL PMN41830 0050 5F1F 4202 | DC /5F1F 7,11,8,(9) PMN41840 0051 A767 4203 | DC /A767 7,11,0,(9) PMN41850 0052 AFEF 4204 | DC /AFEF 7,11,0,8,(9) PMN41860 0053 C707 4205 | DC /C707 7,12,(9) G DEL PMN41870 0054 4F0F 4206 | DC /4F0F 7,12,8,(9) PMN41880 0055 8747 4207 | DC /8747 7,12,0,(9) PMN41890 0056 8FCF 4208 | DC /8FCF 7,12,0,8,(9) PMN41900 0057 9757 4209 | DC /9757 7,12,11,(9) PMN41910 0058 9FDF 4210 | DC /9FDF 7,12,11,8,(9) PMN41920 0059 B777 4211 | DC /B777 7,12,11,0,(9) PMN41930 005A BFFF 4212 | DC /BFFF 7,12,11,0,8,(9) PMN41940 4213 | * PMN41950 005B F636 4214 | DC /F636 6,(9) 6 UC PMN41960 005C 7E3E 4215 | DC /7E3E 6,8,(9) EQUAL PMN41970 005D E626 4216 | DC /E626 6,0,(9) W EOB PMN41980 005E 6E2E 4217 | DC /6E2E 6,0,8,(9) PMN41990 005F D616 4218 | DC /D616 6,11,(9) O BS PMN42000 0060 5E1E 4219 | DC /5E1E 6,11,8,(9) PMN42010 0061 A666 4220 | DC /A666 6,11,0,(9) PMN42020 0062 AEEE 4221 | DC /AEEE 6,11,0,8,(9) PMN42030 0063 C606 4222 | DC /C606 6,12,(9) F LC PMN42040 0064 4E0E 4223 | DC /4E0E 6,12,8,(9) PLUS PMN42050 0065 8646 4224 | DC /8646 6,12,0,(9) PMN42060 0066 8ECE 4225 | DC /8ECE 6,12,0,8,(9) PMN42070 0067 9656 4226 | DC /9656 6,12,11,(9) PMN42080 0068 9EDE 4227 | DC /9EDE 6,12,11,8,(9) PMN42090 0069 B676 4228 | DC /B676 6,12,11,0,(9) PMN42100 006A BEFE 4229 | DC /BEFE 6,12,11,0,8,(9) PMN42110 4230 | * PMN42120 006B F535 4231 | DC /F535 5,(9) 5 RS PMN42130 006C 7D3D 4232 | DC /7D3D 5,8,(9) PMN42140 006D E525 4233 | DC /E525 5,0,(9) V LF PMN42150 006E 6D2D 4234 | DC /6D2D 5,0,8,(9) PMN42160 006F D515 4235 | DC /D515 5,11,(9) N NL PMN42170 0070 5D1D 4236 | DC /5D1D 5,11,8,(9) ) PMN42180 0071 A565 4237 | DC /A565 5,11,0,(9) PMN42190 0072 ADED 4238 | DC /ADED 5,11,0,8,(9) PMN42200 0073 C505 4239 | DC /C505 5,12,(9) E HT PMN42210 0074 4D0D 4240 | DC /4D0D 5,12,8,(9) ( PMN42220 0075 8545 4241 | DC /8545 5,12,0,(9) PMN42230 0076 8DCD 4242 | DC /8DCD 5,12,0,8,(9) PMN42240 0077 9555 4243 | DC /9555 5,12,11,(9) PMN42250 0078 9DDD 4244 | DC /9DDD 5,12,11,8,(9) PMN42260 0079 B575 4245 | DC /B575 5,12,11,0,(9) PMN42270 007A BDFD 4246 | DC /BDFD 5,12,11,0,8,(9) PMN42280 4247 | * PMN42290 007B F434 4248 | DC /F434 4,(9) 4 PN 2-7 PMN42300 007C 7C3C 4249 | DC /7C3C AT-SIGN 2-8 PMN42310 007D E424 4250 | DC /E424 4,0,(9) U BYP PMN42320 007E 4D2C 4251 | DC /4D2C PERCENT PMN42330 007F D414 4252 | DC /D414 4,11,(9) M RES PMN42340 0080 5C1C 4253 | DC /5C1C 4,11,8,(9) * PMN42350 0081 A464 4254 | DC /A464 4,11,0,(9) PMN42360 0082 ACEC 4255 | DC /ACEC 4,11,0,8,(9) PMN42370 0083 C404 4256 | DC /C404 4,12,(9) D PF PMN42380 0084 5D0C 4257 | DC /5D0C LESS THAN PMN42390 0085 8444 4258 | DC /8444 4,12,0,(9) PMN42400 0086 8CCC 4259 | DC /8CCC 4,12,0,8,(9) PMN42410 0087 9454 4260 | DC /9454 4,12,11,(9) PMN42420 0088 9CDC 4261 | DC /9CDC 4,12,11,8,(9) PMN42430 0089 B474 4262 | DC /B474 4,12,11,0,(9) PMN42440 008A BCFC 4263 | DC /BCFC 4,12,11,0,8,(9) PMN42450 4264 | * PMN42460 008B F333 4265 | DC /F333 3,(9) 3 PMN42470 008C 7B3B 4266 | DC /7B3B POUND SIGN 2-8 PMN42480 008D E323 4267 | DC /E323 3,0,(9) T PMN42490 008E 6B2B 4268 | DC /6B2B 3,0,8,(9) COMMA PMN42500 008F D313 4269 | DC /D313 3,11,(9) L PMN42510 0090 5B1B 4270 | DC /5B1B 3,11,8,(9) / PMN42520 0091 A363 4271 | DC /A363 3,11,0,(9) PMN42530 0092 ABEB 4272 | DC /ABEB 3,11,0,8,(9) PMN42540 0093 C303 4273 | DC /C303 3,12,(9) C PMN42550 0094 4B0B 4274 | DC /4B0B 3,12,8,(9) . PMN42560 0095 8343 4275 | DC /8343 3,12,0,(9) PMN42570 0096 8BCB 4276 | DC /8BCB 3,12,0,8,(9) PMN42580 0097 9353 4277 | DC /9353 3,12,11,(9) PMN42590 0098 9BDB 4278 | DC /9BDB 3,12,11,8,(9) PMN42600 0099 B373 4279 | DC /B373 3,12,11,0,(9) PMN42610 009A BBFB 4280 | DC /BBFB 3,12,11,0,8,(9) PMN42620 4281 | * PMN42630 009B F232 4282 | DC /F232 2,(9) Z PMN42640 009C 7A3A 4283 | DC /7A3A 2,8,(9) PMN42650 009D E222 4284 | DC /E222 2,0,(9) S PMN42660 009E E02A 4285 | DC /E02A 2,0,8,(9) PMN42670 009F D212 4286 | DC /D212 2,11,(9) K PMN42680 00A0 5A1A 4287 | DC /5A1A 2,11,8,(9) PMN42690 00A1 A262 4288 | DC /A262 2,11,0,(9) PMN42700 00A2 AAEA 4289 | DC /AAEA 2,11,0,8,(9) PMN42710 00A3 C202 4290 | DC /C202 2,12,(9) B PMN42720 00A4 4A0A 4291 | DC /4A0A 2,12,8,(9) PMN42730 00A5 8242 4292 | DC /8242 2,12,0,(9) PMN42740 00A6 8ACA 4293 | DC /8ACA 2,12,0,8,(9) PMN42750 00A7 9252 4294 | DC /9252 2,12,11,(9) PMN42760 00A8 9ADA 4295 | DC /9ADA 2,12,11,8,(9) PMN42770 00A9 B272 4296 | DC /B272 2,12,11,0,(9) PMN42780 00AA BAFA 4297 | DC /BAFA 2,12,11,0,8,(9) PMN42790 4298 | * PMN42800 00AB F131 4299 | DC /F131 1,(9) 1 PMN42810 00AC 7939 4300 | DC /7939 1,8,(9) PMN42820 00AD 6121 4301 | DC /6121 1,0,(9) SLASH PMN42830 00AE 6929 4302 | DC /6929 1,0,8,(9) PMN42840 00AF D111 4303 | DC /D111 1,11,(9) J PMN42850 00B0 5919 4304 | DC /5919 1,11,8,(9) PMN42860 00B1 A1E1 4305 | DC /A1E1 1,11,0,(9) PMN42870 00B2 A020 4306 | DC /A020 1,11,0,8,(9) PMN42880 00B3 C101 4307 | DC /C101 1,12,(9) A PMN42890 00B4 4909 4308 | DC /4909 1,12,8,(9) PMN42900 00B5 8141 4309 | DC /8141 1,12,0,(9) PMN42910 00B6 8000 4310 | DC /8000 1,12,0,8,(9) NUL PMN42920 00B7 9151 4311 | DC /9151 1,12,11,(9) PMN42930 00B8 9010 4312 | DC /9010 1,12,11,8,(9) PMN42940 00B9 B171 4313 | DC /B171 1,12,11,0,(9) PMN42950 00BA B030 4314 | SP990 DC /B030 1,12,11,0,8,(9) 2-9 PMN42960 SYSTEM 1134/1055 CONVERSION SUBROUTINE 4316 | *************************************************** PMN42980 4317 | * * PMN42990 4318 | *STATUS- VERSION 2, MODIFICATION LEVEL 0 * PMN43000 4319 | * * PMN43010 4320 | *FUNCTION- THE NATURE OF THE SYSTEM PAPERTAPE * PMN43020 4321 | * SUBROUTINE IS SUCH THAT THE CONVERSION * PMN43030 4322 | * FROM PAPERTAPE CODE TO EBCDIC * PMN43040 4323 | * CODE IS AN INTEGRAL PART OF SAID * PMN43050 4324 | * SUBROUTINE. THEREFORE, THE SYSTEM * PMN43060 4325 | * PAPERTAPE CONVERSION SUBROUTINE IS A * PMN43070 4326 | * DUMMY SUBROUTINE CONSISTING OF AN * PMN43080 4327 | * ENTRY FOLLOWED IMMEDIATELY BY A RETURN * PMN43090 4328 | * TO THE CALLER. THE PURPOSE OF THIS * PMN43100 4329 | * DUMMY CONVERSION SUBROUTINE IS TO * PMN43110 4330 | * PROVIDE COMPATABILITY BETWEEN ALL * PMN43120 4331 | * SYSTEM I/O DEVICE SUBROUTINES. * PMN43130 4332 | * * PMN43140 4333 | *ENTRY- DP000 * PMN43150 4334 | * * PMN43160 4335 | *EXIT- DP000+1 * PMN43170 4336 | * * PMN43180 4337 | *TABLES/WORK AREAS- N/A * PMN43190 4338 | * * PMN43200 4339 | *ATTRIBUTES- RE-USABLE * PMN43210 4340 | * * PMN43220 4341 | *************************************************** PMN43230 DUMMY 1134/1055 CONVERSION 0000 4343 | ORG 0 PMN43250 *SBRKSMC 94 4344 | *SYS 1134/1055 CONVERSION V2M00 PMN43260 0000 0003 4345 | DC 3 SYS PAPER TAPE CONV WD CNT PMN43270 0001 0094 4346 | DC @PTCV PHASE ID FOR SYS 1134 CONV PMN43280 0002 4C00 0000 4347 | DP000 BSC L *-* DUMMY CONV ENTRY PMN43290 0004 70FD 4348 | MDX DP000 RETURN PMN43300 SYSTEM KEYBOARD CONVERSION SUBROUTINE 4350 | *************************************************** PMN43320 4351 | * * PMN43330 4352 | *STATUS- VERSION 2, MODIFICATION LEVEL 0 * PMN43340 4353 | * * PMN43350 4354 | *FUNCTION- THE NATURE OF THE SYSTEM KEYBOARD * PMN43360 4355 | * SUBROUTINE IS SUCH THAT THE CONVERSION * PMN43370 4356 | * FROM HOLL TO CP CODE AND TO EBCDIC * PMN43380 4357 | * CODE IS AN INTEGRAL PART OF SAID * PMN43390 4358 | * SUBROUTINE. THEREFORE, THE SYSTEM * PMN43400 4359 | * KEYBOARD CONVERSION SUBROUTINE IS A * PMN43410 4360 | * DUMMY SUBROUTINE CONSISTING OF AN * PMN43420 4361 | * ENTRY FOLLOWED IMMEDIATELY BY A RETURN * PMN43430 4362 | * TO THE CALLER. THE PURPOSE OF THIS * PMN43440 4363 | * DUMMY CONVERSION SUBROUTINE IS TO * PMN43450 4364 | * PROVIDE COMPATABILITY BETWEEN ALL * PMN43460 4365 | * SYSTEM I/O DEVICE SUBROUTINES. * PMN43470 4366 | * * PMN43480 4367 | *ENTRY- DK000 * PMN43490 4368 | * * PMN43500 4369 | *EXIT- DK000+1 * PMN43510 4370 | * * PMN43520 4371 | *TABLES/WORK AREAS- N/A * PMN43530 4372 | * * PMN43540 4373 | *ATTRIBUTES- RE-USABLE * PMN43550 4374 | * * PMN43560 4375 | *************************************************** PMN43570 DUMMY KEYBOARD CONVERSION 0000 4377 | ORG 0 PMN43590 *SBRKSMC 95 4378 | *SYS KEYBOARD CONVERSION V2M00 PMN43600 0000 0003 4379 | DC 3 SYS KEYBOARD CONV WD CNT PMN43610 0001 0095 4380 | DC @KBCV PHASE ID FOR SYS KB/CP CONV PMN43620 0002 4C00 0000 4381 | DK000 BSC L *-* DUMMY ENTRY FOR CONV PMN43630 0004 70FD 4382 | MDX DK000 IMMEDIATE RETURN TO CALLER PMN43640 DISK1 4384 | *************************************************** PMN43660 4385 | * * PMN43670 4386 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN43680 4387 | * * PMN43690 4388 | *FUNCTION/OPERATION- * PMN43700 4389 | * DISK1 HAS THE FOLLOWING FIVE DISK FUNCTIONS-* PMN43710 4390 | * *TEST (TEST FOR DISK BUSY) * PMN43720 4391 | * *READ * PMN43730 4392 | * *WRITE WITHOUT READ-BACK-CHECK * PMN43740 4393 | * *WRITE WITH READ-BACK-CHECK * PMN43750 4394 | * *WRITE IMMEDIATE * PMN43760 4395 | * *SEEK * PMN43770 4396 | * * PMN43780 4397 | *ENTRY POINTS- * PMN43790 4398 | * DISK1 IS ENTERED * PMN43800 4399 | * *FROM THE MONITOR AT D1000 + 0 (00F2) * PMN43810 4400 | * *FROM THE LEVEL 2 INTERRUPT AT D1000 + 5 * PMN43820 4401 | * *FROM THE TRANSFER VECTOR AT D1000 +79 * PMN43830 4402 | * AS FOLLOWS- * PMN43840 4403 | * LIBF DISK1 (OR BSC L DZ000) * PMN43850 4404 | * DC /WXYZ CONTROL * PMN43860 4405 | * DC AREA I/O AREA ADDRESS * PMN43870 4406 | * DC ERROR ERROR ROUTINE * PMN43880 4407 | * WHERE- W = I/O FUNCTION * PMN43890 4408 | * X = NOT USED * PMN43900 4409 | * Y = SEEK OPTION * PMN43910 4410 | * Z = DISPLACEMENT OPTION * PMN43920 4411 | * * PMN43930 4412 | *EXTERNAL REFERENCES- CALL IN COMMA) * PMN43940 4413 | * $ACDE * PMN43950 4414 | * $CYLN * PMN43960 4415 | * $DBSY * PMN43970 4416 | * $DCYL * PMN43980 4417 | * $DDSW * PMN43990 4418 | * $EXIT * PMN44000 4419 | * $FPAD * PMN44010 4420 | * $IOCT * PMN44020 4421 | * $PST2 * PMN44030 4422 | * $PRET * PMN44040 4423 | * * PMN44050 4424 | *EXITS- NORMAL * PMN44060 4425 | * *RETURN TO CALL + 3 ON TEST AND WRITE * PMN44070 4426 | * IMMEDIATE FUNCTIONS. * PMN44080 4427 | * *RETURN TO CALL + 4 ON ALL OTHER FUNCTIONS. * PMN44090 4428 | * * PMN44100 4429 | *EXITS- ERROR * PMN44110 4430 | * *BRANCH TO $PRET WITH 5000 IN ACCUMULATOR * PMN44120 4431 | * WHEN DISK NOT READY. (002A) * PMN44130 4432 | * *BRANCH TO $PRET WITH 5001 IN ACCUMULATOR * PMN44140 4433 | * ON BAD CALL. (002A) * PMN44150 4434 | * *BRANCH TO $PRET OR $PST2 WITH 5002 IN THE * PMN44160 4435 | * ACCUMULATOR ON WRITE SELCT/POWER UNSAFE * PMN44170 4436 | * *BRANCH TO $PST2 WITH 5003 IN ACCUMULATOR * PMN44180 4437 | * ON DATA ERROR OR DISK OVERFLOW,MONTOR CALL* PMN44190 4438 | * ***DRIVE CODE AND SECTOR ADDRESS IN EXT. * PMN44200 4439 | * *BRANCH TO $EXIT ON DISK OVERFLOW. * PMN44210 4440 | * * PMN44220 4441 | *ATTRIBUTES- * PMN44230 4442 | * *DISK1 MAY BE CALLED FROM THE MONITOR OR BY * PMN44240 4443 | * A LIBF. * PMN44250 4444 | * *DISK1 WILL OPERATE ON ONLY ONE OF THE FIVE * PMN44260 4445 | * DRIVES AT A TIME. * PMN44270 4446 | * *DISK1 ACCEPTS I/O AREA BEGINNING ON UNEVEN * PMN44280 4447 | * BOUNTRIES. * PMN44290 4448 | * * PMN44300 4449 | *NOTES- NONE * PMN44310 4450 | * * PMN44320 4451 | *************************************************** PMN44330 DISK1 00F0 4453 | ORG DZ000-2 PMN44350 *SBRKMET 97 4454 | *SYS DISK1 V2M06 PMN44360 00F0 01A2 4455 | DC $1END-*-1 DISK1 WORD COUNT PMN44370 00F1 FF69 4456 | DC -151 DISK1 PHASE ID PMN44380 00F2 019C 4457 | DC $1END-6-*+1 PMN44390 00F3 0001 4458 | DC 1 PMN44400 00F2 4459 | ORG *-2 PMN44410 DISK1 4461 | * PMN44430 4462 | * MONITOR ENTRY. PMN44440 4463 | * PMN44450 00F2 0000 4464 | D1000 DC *-* MONITOR ENTRY PMN44460 00F3 6A19 4465 | STX 2 D1060+4 SAVE CONTENTS OF XR2. PMN44470 00F4 6600 017A 4466 | D1010 LDX L2 D1912 ADDR OF MON PSEUDO CALL + 1 PMN44480 00F6 702C 4467 | MDX D1120 BR TO SET UP MON CALL PARAM PMN44490 4468 | * PMN44500 4469 | * INTERRUPT ENTRY. PMN44510 4470 | * PMN44520 00F7 0000 4471 | D1020 DC *-* INTERRUPT ENTRY PMN44530 00F8 7056 4472 | MDX D1200 BRANCH TO SERVICE INTERRUPT PMN44540 4473 | * PMN44550 4474 | * LIBF ENTRY. PMN44560 4475 | * PMN44570 00F9 6A13 4476 | STX 2 D1060+4 SAVE CONTENTS OF XR2. PMN44580 00FA 6680 0000 4477 | LDX I2 *-* LINK WORD FROM TV TO XR2 PMN44590 00FC 690E 4478 | D1030 STX 1 D1060+2 SAVE CONTENTS OF XR1. PMN44600 00FD 280B 4479 | STS D1060 SAVE STATUS OF CARRY/OVFLO. PMN44610 00FE D87B 4480 | STD D1912 SAVE CONTENTS OF ACC/EXT PMN44620 00FF 1090 4481 | D1040 SLT 16 CLEAR EXTENSION. PMN44630 0100 C200 4482 | LD 2 0 FETCH FIRST PARAMETER PMN44640 0101 18CC 4483 | RTE 12 RIGHT JUSTIFY DRIVE CODE. PMN44650 0102 4C20 01A7 4484 | BSC L D1240,Z BRANCH IF FUNCTION NOT TEST PMN44660 4485 | * PMN44670 4486 | * TEST FUNCTION PMN44680 4487 | * PMN44690 0104 7400 00EE 4488 | MDX L $DBSY,0 IF DISK BUSY, SET UP TO PMN44700 0106 72FF 4489 | MDX 2 -1 *RETURN TO CALL+3, ELSE SET PMN44710 0107 7203 4490 | D1050 MDX 2 3 *RETURN TO CALL+4. PMN44720 0108 6A07 4491 | STX 2 D1070 STORE RETURN ADDRESS. PMN44730 4492 | * PMN44740 4493 | * RETURN TO USER PMN44750 4494 | * PMN44760 0109 2000 4495 | D1060 LDS 0 RESTORE CARRY AND OVERFLOW. PMN44770 010A 6500 0000 4496 | LDX L1 *-* RESTORE CONTENTS OF XR1. PMN44780 010C 6600 0000 4497 | LDX L2 *-* RESTORE CONTENTS OF XR2. PMN44790 010E C86B 4498 | LDD D1912 RESTORE ACC AND EXT PMN44800 010F 4C00 0000 4499 | BSC L *-* RETURN TO USER. PMN44810 0110 4500 | D1070 EQU *-1 RETURN ADDRESS PMN44820 4501 | * PMN44830 4502 | * SET UP FOR PRE-OPERATIVE ERROR EXIT PMN44840 4503 | * PMN44860 0111 C210 4504 | D1080 LD 2 D1951-C LOAD DISK NOT READY CODE PMN44870 0112 7005 4505 | MDX D1100+1 BR TO SET UP ERROR EXIT. PMN44880 0113 C01A 4506 | D1090 LD D1150+1 LOAD ADDRESS OF CALL+1. PMN44890 0114 90E0 4507 | S D1010+1 SUB ADDR OF MON PSEUDO CALL PMN44900 0115 4C18 0225 4508 | BSC L D1320,+- BR IF IT WAS A MON CALL PMN44910 0117 C229 4509 | D1100 LD 2 D1952-C FETCH PREOP ERROR CODE. PMN44920 0118 1890 4510 | D1110 SRT 16 SHIFT ERROR CODE TO EXT. PMN44940 0119 D0D4 4511 | STO $DBSY CLEAR DISK BUSY INDR 2-8 PMN44950 011A 74FF 0032 4512 | MDX L $IOCT,-1 DECR I/O-COUNTER 2-8 PMN44960 011C 1000 4513 | NOP IN CASE OF SKIP 2-8 PMN44970 011D 1090 4514 | SLT 16 SHIFT ERROR CODE TO ACC PMN45010 011E 6680 012E 4515 | LDX I2 D1150+1 XR2 TO ADDR OF CALL+1. PMN45020 0120 4400 0028 4516 | BSI L $PRET PMN45030 0122 70DC 4517 | MDX D1040 BR TO RETRY CALL TO DISKN. PMN45040 4518 | * PMN45050 4519 | * MONITOR ENTRY CONTINUED PMN45060 4520 | * PMN45070 4521 | * SET UP CONTROL PARAMETER FOR MONITOR CALL PMN45080 4522 | * PMN45090 0123 1008 4523 | D1120 SLA 8 PMN45100 0124 4820 4524 | BSC Z SKIP IF FUNCTION IS READ. PMN45110 0125 C07B 4525 | LD D1949 SET UP PMN45120 0126 8005 4526 | A D1140 *FUNCTION CODE. PMN45130 0127 70D4 4527 | MDX D1030 BR TO PROCESS CALL. PMN45140 4528 | * PMN45150 4529 | * CLEAR DISK BUSY INDICATOR AND DECREMENT THE PMN45160 4530 | * SYSTEM I/O COUNTER BEFORE RETURNING TO THE PMN45170 4531 | * CALLING PROGRAM. PMN45180 4532 | * PMN45190 0128 1010 4533 | D1130 SLA 16 CLEAR DISK PMN45200 0129 D0C4 4534 | STO $DBSY *BUSY INDICATOR PMN45210 012A 74FF 0032 4535 | MDX L $IOCT,-1 DECREMENT SYS I/O COUNTER. PMN45220 012C 1000 4536 | D1140 NOP IN CASE OF SKIP. PMN45230 012D 6600 0000 4537 | D1150 LDX L2 *-* XR2 SET TO ADDR OF CALL+1. PMN45240 012F C0C7 4538 | LD D1020 INTERRUPT ENTRY 2-6 PMN45250 0130 4818 4539 | BSC +- * 2-6 PMN45260 0131 70D5 4540 | MDX D1050 NO 2-6 PMN45270 0132 D003 4541 | STO D1151+1 YES 2-6 PMN45280 0133 1010 4542 | SLA 16 RESET 2-6 PMN45290 0134 D0C2 4543 | STO D1020 *INT ENTRY 2-6 PMN45300 0135 4C00 0000 4544 | D1151 BSC L *-* 2-6 PMN45310 4545 | * PMN45320 4546 | * TRAP OUT TO POSTOPERATIVE TRAP PMN45330 4547 | * PMN45340 0137 C22A 4548 | D1160 LD 2 D1953-C LD WR/SELECT-PWR/UNSAFE CD. PMN45350 0138 70DF 4549 | MDX D1110 BR TO SET UP FOR ERROR TRAP PMN45360 4550 | * PMN45370 4551 | * SET UP TO INDICATE DISK OVERFLOW CONDITION. PMN45380 4552 | * PMN45390 0139 C0BD 4553 | D1170 LD D1020 CALL OR INT SERVICE 2-6 PMN45400 013A 4C18 0117 4554 | BSC L D1100,+- BRANCH IF SERVICING A CALL. PMN45410 013C C85C 4555 | LDD D1941 LD OVFL INDR TO EXT 2-10 PMN45420 013D 4004 4556 | BSI D1180 BRANCH TO SET UP ERROR EXIT PMN45430 013E 6138 4557 | D1175 LDX 1 $EXIT SET UP BRANCH TO PMN45440 013F 69B7 4558 | STX 1 D1020 *$EXIT IN COMMA. PMN45450 0140 4C40 0128 4559 | BOSC L D1130 GO TO MAKE EXIT. PMN45460 4560 | * PMN45470 4561 | * SET UP FOR RECURRENT DISK ERROR EXIT. PMN45480 4562 | * PMN45490 0142 0000 4563 | D1180 DC *-* PMN45500 0143 C0EA 4564 | LD D1150+1 SEE IF IT WAS A USER PMN45520 0144 90B0 4565 | S D1010+1 *OR MONITOR CALL. PMN45530 0145 4818 4566 | BSC +- SKIP IF LIBF CALL 2-10 PMN45540 4567 | *THE NEXT INSTRUCTION WILL FORCE ERROR CODE TO 2-10 PMN45550 4568 | *EXTENTION 2-10 PMN45555 0146 C850 4569 | LDD D1954 LD MON ER CODE TO EXT 2-10 PMN45560 0147 C254 4570 | D1185 LD 2 D1270+1-C LOAD LOGICAL DRIVE CODE PMN45570 0148 100C 4571 | SLA 12 LEFT JUSTIFY DRIVE CODE. PMN45580 0149 E846 4572 | OR D1926 OR IN SECTOR ADDRESS. PMN45590 014A 18D0 4573 | RTE 16 PMN45600 014B 4400 0000 4574 | D1190 BSI L *-* BR TO ERROR SUBR OF CALLER. PMN45610 014D 4C80 0142 4575 | BSC I D1180 BR TO SEE IF RETRY IN ORDER PMN45620 4576 | * PMN45630 4577 | * INTERRUPT ENTRY CONTINUED PMN45640 4578 | * PMN45650 014F 083A 4579 | D1200 XIO D1951 SENSE DISK WITH RESET 2-6 PMN45660 0150 D08C 4580 | STO $DDSW SAVE IN COMM. AREA 212 PMN45665 0151 6600 017A 4581 | D1205 LDX L2 C POINT XR2 TO CNST AREA 2-6 PMN45670 0153 4810 4582 | BSC - SKIP IF ERROR 2-9 PMN45680 0154 7007 4583 | MDX D1210 BR IF NO ERROR 2-11 PMN45690 0155 1002 4584 | SLA 2 TEST FOR WR SEL/PWR UNS 2-9 PMN45700 0156 4C10 0160 4585 | BSC L D1220+1,- BR IF NOT WR SEL 2-9 PMN45710 0158 C04B 4586 | LD D1953 LD WR SEL/PWR UNS CODE 2-9 PMN45720 0159 4400 0085 4587 | BSI L $PST2 BR TO DISPLAY 2-9 PMN45730 015B 70E2 4588 | MDX D1175 BR TO EXIT 2-9 PMN45740 4589 | * 2-11 PMN45750 4590 | * 2-11 PMN45760 4591 | * 5 INSTRUCTIONS MOVED 2-11 PMN45770 4592 | * 2-11 PMN45780 4593 | * 2-11 PMN45790 015C 6500 0000 4594 | D1210 LDX L1 *-* SET XR1 TO $FPAD & DRIVE NO PMN45820 015E 4C00 0000 4595 | BSC L *-* BRANCH TO PERFORM PMN45830 015F 4596 | D1220 EQU *-1 *NEXT OPERATION. PMN45840 4597 | * PMN45850 4598 | * START ALL DISK OPERATIONS PMN45860 4599 | * PMN45870 0160 C031 4600 | LD D1928 SET READ /WR/SEEK 2-10 PMN45880 0161 1801 4601 | SRA 1 *IN CASE OF BRANCH 2-10 PMN45890 0162 801D 4602 | A D1900 *TO ERROR ROUTINE 2-10 PMN45900 0163 1890 4603 | SRT 16 SHIFT TO EXTENSION 2-10 PMN45905 0164 74FF 00EE 4604 | MDX L $DBSY,-1 SKIP IF 16 RETRIES MADE. PMN45910 0166 7010 4605 | MDX D1230 BRANCH TO RETRY. PMN45920 0167 C02A 4606 | LD D1928 LD FUNCTION CODE 2-10 PMN45922 0168 9030 4607 | S D1941 S WR IMMEDIATE CODE 2-10 PMN45924 0169 4C18 015C 4608 | BSC L D1210,+- IGNORE ERROR IF WR IM 2-11 PMN45926 016B 40D6 4609 | BSI D1180 BRANCH TO SET UP ERROR EXIT PMN45930 016C 7411 00EE 4610 | MDX L $DBSY,17 BUSY IND TO 17 2-6 PMN45940 016E 4C20 0177 4611 | BSC L D1230,Z BR IF USER NOT IGNOR ERR2-6 PMN45950 0170 6580 0184 4612 | LDX I1 D1906 XR1 = ADDR OF I/O BUF 2-11 PMN45960 0172 C013 4613 | LD D1902 RESTORE FIRST TWO 2-11 PMN45965 0173 D100 4614 | STO 1 0 *WORDS OF 2-11 PMN45970 0174 C012 4615 | LD D1903 *USERS 2-11 PMN45975 0175 D101 4616 | STO 1 1 *BUFFER 2-11 PMN45976 0176 70B1 4617 | MDX D1130 EXIT-USER IGNORED ERROR2-11 PMN45980 0177 080A 4618 | D1230 XIO D1904 INITIATE DISK OPERATION. PMN45990 0178 70B4 4619 | MDX D1150 BRANCH TO SET UP EXIT. PMN46000 4620 | * PMN46010 4621 | * CONSTANTS AND WORK AREAS PMN46020 4622 | * PMN46030 4623 | * D1955 MOVED AFTER D19562-11 PMN46035 017A 4624 | BSS E 0 PMN46040 017A 4625 | C EQU * PMN46050 017A 0000 4626 | D1912 DC *-* CONTENTS OF ACC PMN46060 017B 0000 4627 | D1913 DC *-* CONTENTS OF EXT PMN46070 017C 0085 4628 | DC $PST2 ADDR OF MONITOR ERROR EXIT PMN46080 017D 4C80 00F2 4629 | BSC I D1000 RETURN TO MONITOR PMN46090 017F 0101 4630 | D1921 DC /0101 MASK USED TO FORM READ IOCC PMN46100 4631 | * PMN46110 0180 0001 4632 | D1900 DC 1 CONSTANT ONE/ PMN46120 4633 | * *READ-AFTER-SEEK WORD COUNT PMN46130 0181 0000 4634 | D1901 DC *-* CURRENT ARM POSITION. PMN46140 0182 0000 4635 | D1904 DC *-* IOCC FOR OPERATION PMN46150 0183 0000 4636 | D1905 DC *-* *CURRENTLY BEING PREFORMED PMN46160 0184 0000 4637 | D1906 DC *-* IOCC OF USER PMN46170 0185 0000 4638 | D1907 DC *-* *REQUESTED OPERATION PMN46180 0186 0000 4639 | D1902 DC *-* LAST TWO WORDS OF PMN46190 0187 0000 4640 | D1903 DC *-* * SECTOR PREVIOUSLY READ PMN46200 0188 0180 4641 | D1908 DC D1900 IOCC FOR PMN46210 0189 0000 4642 | D1909 DC *-* *READ-AFTER-SEEK PMN46220 018A 5000 4643 | D1951 DC /5000 DISK NOT READY ERROR CODE PMN46230 018B 0000 4644 | D1911 DC *-* 2ND WORD OF SENSE IOCC. PMN46240 018C 2028 4645 | D1922 DC /2028 USED TO FORM NEXT OP IOCC. PMN46250 018D 0301 4646 | D1923 DC /0301 USED IN FORMING ERROR CODES PMN46260 018E 0000 4647 | D1924 DC *-* USED TO CHK DEFECTIVE CYLS. PMN46270 018F 0000 4648 | D1925 DC *-* INTERMEDIATE WORD COUNT PMN46280 0190 0000 4649 | D1926 DC *-* ADDRESS OF NEXT SEQ. SECTOR PMN46290 0191 0000 4650 | D1927 DC *-* USED TO FORM USERS IOCC. PMN46300 0192 0000 4651 | D1928 DC *-* FUNCTION CODE PMN46310 0193 0000 4652 | D1929 DC *-* SEEK OPTION PARAMETER. PMN46320 0194 0000 4653 | D1930 DC *-* DISPLACEMENT OPTION PARAM. PMN46330 0195 0600 4654 | D1931 DC /0600 2ND WORD OF READ IOCC. PMN46340 0196 0180 4655 | D1933 DC /0180 USED TO FORM RDBCK/CHK IOCC PMN46350 4656 | * D1954 MUST BE ON ODD ADDRESS 2-10 PMN46355 0197 5003 4657 | D1954 DC /5003 MON CALL DISK ER CODE 2-10 PMN46360 0198 0003 4658 | D1940 DC 3 MAXIMUM NO. OF DEF CYLS. PMN46370 0199 0004 4659 | D1941 DC 4 SEEK HOME BIT. PMN46380 019A 0005 4660 | D1942 DC 5 MAXIMUM VALID FUNCTION CODE PMN46390 019B 0008 4661 | D1943 DC 8 NO. OF SECTORS PER CYLINDER PMN46400 019C 0140 4662 | D1944 DC 320 NO OF DATA WORDS IN SECTOR. PMN46410 019D 0141 4663 | D1945 DC 321 NO OF DATA WORDS IN SCTR+1. PMN46420 019E 063F 4664 | D1946 DC 1599 LARGEST USABLE SCTR ADDRESS PMN46430 019F 0007 4665 | D1947 DC /0007 USED TO MASK OUT SCTR NO. PMN46440 01A0 0000 4666 | D1948 DC *-* PMN46450 01A1 2000 4667 | D1949 DC /2000 TO FORM NON CALL FUNC CODE. PMN46460 01A2 FFFF 4668 | D1950 DC /FFFF USED TO COMPLEMENT NEG NO. PMN46470 01A3 5001 4669 | D1952 DC /5001 PREOPERATIVE ERROR CODE. PMN46480 01A4 5002 4670 | D1953 DC /5002 WR/SELECT-PWR/UNSAFE ERR CD PMN46490 01A5 0FFF 4671 | D1956 DC /0FFF MASK 2-10 PMN46505 01A6 0000 4672 | D1955 DC *-* USED FOR DEF CYL ADJST 2-11 PMN46506 4673 | * PMN46510 4674 | * PROCESS ALL FUNCTIONS EXCEPT TEST PMN46520 4675 | * PMN46530 01A7 7400 00EE 4676 | D1240 MDX L $DBSY,0 TEST TO SEE IF DISK IS BUSY PMN46540 01A9 70FD 4677 | MDX *-3 BRANCH TO TEST AGAIN PMN46550 01AA 6A83 4678 | STX 2 D1150+1 SAVE THE LINK WORD PMN46560 01AB D0E6 4679 | STO D1928 SAVE FUNCTION CODE. PMN46570 01AC D0F3 4680 | STO D1948 PMN46580 01AD 1801 4681 | SRA 1 PMN46590 01AE 4820 4682 | BSC Z PMN46600 01AF C0D0 4683 | LD D1900 PMN46610 01B0 80CF 4684 | A D1900 PMN46620 01B1 1008 4685 | SLA 8 PMN46630 01B2 D0DE 4686 | STO D1927 PMN46640 01B3 1088 4687 | SLT 8 ISOLATE AND SAVE SEEK PMN46650 01B4 D0DE 4688 | STO D1929 *OPTION PARAMETER. PMN46660 01B5 1090 4689 | SLT 16 ISOLATE AND SAVE DISPLCMNT PMN46670 01B6 D0DD 4690 | STO D1930 *OPTION PARAMETER. PMN46680 01B7 C201 4691 | LD 2 1 SET UP FIRST WORD OF IOCC PMN46690 01B8 D0CB 4692 | STO D1906 *WITH ADDR OF I/O BUFFER. PMN46700 01B9 D00A 4693 | STO D1260+1 SAVE ADDR OF I/O BUFFER. PMN46710 01BA C202 4694 | LD 2 2 SET UP BRANCH INSTRUCTION PMN46720 01BB D090 4695 | STO D1190+1 *TO USERS ERROR SUBROUTINE. PMN46730 01BC 6600 017A 4696 | LDX L2 C PMN46740 01BE 7401 0032 4697 | MDX L $IOCT,1 INCREMENT SYS I/O COUNTER. PMN46750 01C0 6111 4698 | D1250 LDX 1 @TCNT SET DISK BUSY PMN46760 01C1 6D00 00EE 4699 | STX L1 $DBSY *INDICATOR TO 17. PMN46770 01C3 6500 0000 4700 | D1260 LDX L1 *-* POINT XR1 TO I/O AREA. PMN46780 01C5 10A0 4701 | SLT 32 PMN46790 01C6 D0C7 4702 | STO D1924 PMN46800 01C7 C100 4703 | LD 1 0 LOAD AND SAVE PMN46810 01C8 D215 4704 | STO 2 D1925-C *USERS WORD COUNT. PMN46820 01C9 C101 4705 | LD 1 1 LOAD AND SAVE USERS PMN46830 01CA D216 4706 | STO 2 D1926-C *SECTOR ADDRESS. PMN46840 01CB 18CC 4707 | RTE 12 RIGHT JUSTIFY DRIVE CODE. PMN46850 01CC D001 4708 | STO *+1 PMN46860 01CD 6500 0000 4709 | D1270 LDX L1 *-* LOAD XR1 WITH DRIVE CODE. PMN46870 01CF 9220 4710 | S 2 D1942-C PMN46880 01D0 4C10 0117 4711 | BSC L D1100,- PMN46890 01D2 7500 0095 4712 | MDX L1 $FPAD POINT XR1 TO $FPAD+DRIVE NO PMN46900 01D4 6988 4713 | STX 1 D1210+1 PMN46910 01D5 108C 4714 | SLT 12 SHIFT SECTOR ADDR INTO ACC. PMN46920 01D6 7400 0194 4715 | MDX L D1930,0 SKIP IF DISPL OPT NOT USED. PMN46930 01D8 8100 4716 | A 1 0 ADD IN FILE PROTECT ADDRESS PMN46940 01D9 E0CB 4717 | AND D1956 MASK OUT DR CODE 2-10 PMN46950 01DA D216 4718 | STO 2 D1926-C SAVE USERS SECTOR ADDRESS. PMN46970 01DB 1883 4719 | SRT 3 SHIFT SECTOR NO INTO EXT. PMN46980 4720 | * PMN46990 4721 | * SET UP SECOND WORD OF IOCCS. PMN47000 4722 | * PMN47010 01DC C10A 4723 | LD 1 $ACDE-$FPAD LOAD AREA CD FOR THIS DR. PMN47020 01DD 4C18 0117 4724 | BSC L D1100,+- BR IF THIS DR NOT ON SYSTEM PMN47030 01DF EA1B 4725 | OR 2 D1931-C SET UP SECOND WORD OF PMN47040 01E0 D20F 4726 | STO 2 D1909-C *READ-AFTER-SEEK IOCC. PMN47050 01E1 EA05 4727 | OR 2 D1921-C SET UP SECOND WORD OF PMN47060 01E2 D211 4728 | STO 2 D1911-C *SENSE W/RESET IOCC. PMN47070 01E3 1803 4729 | SRA 3 *WORD OF USER PMN47080 01E4 1083 4730 | SLT 3 * REQUESTED PMN47090 01E5 F217 4731 | EOR 2 D1927-C SET UP SECOND WORD PMN47100 01E6 D20B 4732 | STO 2 D1907-C *OF USERS IOCC. PMN47110 01E7 0A10 4733 | XIO 2 D1951-C SENSE THE DISK WITH RESET. PMN47120 01E8 4C28 0137 4734 | BSC L D1160,Z+ BR IF PWR/UNSAFE OR WR/SEL. PMN47130 01EA 1002 4735 | SLA 2 PMN47140 01EB 4C28 0111 4736 | BSC L D1080,Z+ BRANCH IF DISK NOT READY. PMN47150 01ED C218 4737 | LD 2 D1928-C LOAD FUNCTION CODE. PMN47160 01EE 9220 4738 | S 2 D1942-C SUBTRACT FIVE. PMN47170 01EF 4C30 0117 4739 | BSC L D1100,Z- BR IF FUNCTION CODE ILLEGAL PMN47180 01F1 4C20 023B 4740 | BSC L D1340,Z BRANCH IF FUNCTION NOT SEEK PMN47190 01F3 D215 4741 | STO 2 D1925-C CLEAR INTERMEDIAT WC 2-1 PMN47200 01F4 C219 4742 | LD 2 D1929-C LOAD SEEK OPTION PARAMETER PMN47210 01F5 4C18 01FB 4743 | BSC L D1290,+- BR IF SEEK OPTION NOT USED PMN47220 01F7 C221 4744 | D1280 LD 2 D1943-C LOAD CONSTANT OF EIGHT PMN47230 01F8 D214 4745 | STO 2 D1924-C PMN47240 01F9 8105 4746 | A 1 $CYLN-$FPAD ADD CURRENT ARM POSITION. PMN47250 01FA D216 4747 | STO 2 D1926-C STORE AS WORKING SCTR ADDR. PMN47260 01FB 1010 4748 | D1290 SLA 16 PMN47270 01FC D22C 4749 | STO 2 D1955-C PMN47280 01FD 0A10 4750 | XIO 2 D1951-C SENSE DSW 2-11 PMN47290 01FE 1004 4751 | SLA 4 CHECK FOR CART HOME 2-11 PMN47300 01FF 4828 4752 | BSC +Z SKIP IF NOT 2-11 PMN47310 0200 7034 4753 | MDX D1325 BR IF CART HOME 2-11 PMN47320 4754 | * 2-11 PMN47330 4755 | * 2 NOP S REMOVED 2-11 PMN47335 0201 7580 01CE 4756 | D1295 MDX I1 D1270+1 PMN47340 0203 7580 01CE 4757 | MDX I1 D1270+1 PMN47350 4758 | * PMN47360 4759 | * CHECK FOR DEFECTIVE CYLINDERS. PMN47370 4760 | * PMN47380 0205 C216 4761 | LD 2 D1926-C LOAD WORKING SECTOR ADDRESS PMN47390 0206 910F 4762 | D1300 S 1 $DCYL-$FPAD SUBTRACT DEF CYL ADDRESS. PMN47400 0207 4C28 020E 4763 | BSC L D1310,Z+ BR IF GT WORKING SCTR ADDR. PMN47410 0209 7408 01A6 4764 | MDX L D1955,8 PMN47420 020B 4820 4765 | BSC Z PMN47430 020C 9214 4766 | S 2 D1924-C PMN47440 020D 8221 4767 | A 2 D1943-C ADD EIGHT TO SECTOR ADDRESS PMN47450 020E 810F 4768 | D1310 A 1 $DCYL-$FPAD ADD BACK DEF CYL ADDRESS. PMN47460 020F 7101 4769 | MDX 1 1 POINT TO NEXT DEF CYL ADDR. PMN47470 0210 74FF 0198 4770 | MDX L D1940,-1 DECREMENT COUNTER. PMN47480 0212 70F3 4771 | MDX D1300 BR TO CHECK NEXT DEF CYL. PMN47490 0213 7403 0198 4772 | MDX L D1940,3 PMN47500 0215 6580 015D 4773 | LDX I1 D1210+1 RESET XR1 AS POINTER. PMN47510 0217 D216 4774 | STO 2 D1926-C SAVE ADJUSTED SCTR ADDR. PMN47520 0218 922C 4775 | S 2 D1955-C SEE IF SECTOR ADDRESS PMN47530 0219 9224 4776 | S 2 D1946-C *EXCEEDS MAXIMUM LIMIT. PMN47540 021A 4C30 0139 4777 | BSC L D1170,Z- BR IF SECTOR ADDR TOO LARGE PMN47550 4778 | * PMN47560 4779 | * CHECK FOR FILE PROTECTION. PMN47570 4780 | * PMN47580 021C C100 4781 | LD 1 0 LOAD FILE PROTECT ADDRESS. PMN47590 021D E087 4782 | AND D1956 MASK OUT DR CODE 2-10 PMN47600 021E 9216 4783 | S 2 D1926-C PMN47620 021F 4C08 0225 4784 | BSC L D1320,+ BR IF SCTR ADDR GTE $FPAD. PMN47630 0221 C218 4785 | LD 2 D1928-C LOAD FUNCTION CODE. PMN47640 0222 1801 4786 | SRA 1 PMN47650 0223 4C04 0113 4787 | BSC L D1090,E BRANCH IF FUNCTION IS WRITE PMN47660 4788 | * PMN47670 0225 C216 4789 | D1320 LD 2 D1926-C LOAD USERS SECTOR ADDRESS. PMN47680 0226 9105 4790 | S 1 $CYLN-$FPAD SUBTRACT CURRENT ARM POS. PMN47690 0227 1883 4791 | SRT 3 PMN47700 0228 4C18 026F 4792 | BSC L D1370,+- BRANCH IF SEEK NOT NEEDED. PMN47710 4793 | * PMN47720 4794 | * SEEK PMN47730 4795 | * PMN47740 4796 | * 2-11 PMN47750 4797 | * 3 INSTRUCTIONS REMOVED 2-11 PMN47760 4798 | * 2-11 PMN47770 022A 1890 4799 | SRT 16 PMN47780 022B E21F 4800 | AND 2 D1941-C AND WITH BIT 13. PMN47790 022C EA11 4801 | OR 2 D1911-C OR IN 2ND WD OF SENSE IOCC. PMN47800 022D F213 4802 | EOR 2 D1923-C MASK OUT BITS 6, 7, AND 15. PMN47810 022E 18D0 4803 | RTE 16 PMN47820 022F 4C10 0233 4804 | BSC L *+2,- BR IF SEEK AWAY FROM HOME PMN47830 0231 F228 4805 | EOR 2 D1950-C COMPLEMENT NO. OF CYLS TO PMN47840 0232 8206 4806 | A 2 D1900-C *SEEK TO GET POSITIVE NO. PMN47850 0233 DA08 4807 | STD 2 D1904-C PMN47860 4808 | * 2-11 PMN47870 4809 | * 2-11 PMN47880 4810 | * 5 INSTRUCTIONS MOVED 2-11 PMN47890 4811 | * 2-11 PMN47900 4812 | * 2-11 PMN47910 0234 42E5 4813 | BSI 2 D1220-C BRANCH TO INITIATE SEEK. PMN47920 4814 | * PMN47930 4815 | * SEEK COMPLETE INTERRUPT PROCESSING. PMN47940 4816 | * PMN47950 4817 | * 3 INSTRUCTIONS REMOVED 2-12 PMN47960 0235 CA0E 4818 | D1325 LDD 2 D1908-C SET UP IOCC FOR 2-11 PMN47990 0236 DA08 4819 | STD 2 D1904-C *READ AFTER SEEK. PMN48000 0237 42E5 4820 | BSI 2 D1220-C BR TO START READ AFTER SEEK PMN48010 4821 | * PMN48020 4822 | * READ-AFTER-SEEK COMPLETE INTERRUPT PROCESSING. PMN48030 4823 | * PMN48040 0238 C207 4824 | LD 2 D1901-C LOAD ADDR OF SCTR JUST READ PMN48050 0239 D105 4825 | D1330 STO 1 $CYLN-$FPAD UPDATE CURRENT ARM POS. PMN48060 023A 70EA 4826 | MDX D1320 PMN48070 4827 | * PMN48080 023B C215 4828 | D1340 LD 2 D1925-C LOAD USERS WORD COUNT. PMN48090 023C 4C08 0117 4829 | BSC L D1100,+ BR IF WORD COUNT ILLEGAL. PMN48100 023E C218 4830 | LD 2 D1928-C LOAD FUNCTION CODE. PMN48110 023F 1802 4831 | SRA 2 PMN48120 0240 4C18 01FB 4832 | BSC L D1290,+- BR IF NOT WRITE IMMEDIATE. PMN48130 0242 D219 4833 | STO 2 D1929-C SAVE AS SEEK OPTION. PMN48140 0243 74FF 012E 4834 | MDX L D1150+1,-1 DECR ADDRESS OF CALL + 1. PMN48150 0245 C216 4835 | LD 2 D1926-C FETCH NEXT SECTOR ADDRESS. PMN48160 0246 E225 4836 | AND 2 D1947-C MASK OUT ALL BUT SECTOR NO. PMN48170 0247 8105 4837 | A 1 $CYLN-$FPAD ADD CURRENT ARM POSITION PMN48180 0248 D216 4838 | STO 2 D1926-C SAVE AS NEXT SEQ SCTR ADDR. PMN48190 0249 4C02 01F7 4839 | D1350 BSC L D1280,C BRANCH IF CARRY ON. PMN48200 4840 | * PMN48210 4841 | * READ/WRITE PMN48220 4842 | * PMN48230 024B 6580 0184 4843 | LDX I1 D1906 POINT XR1 TO I/O AREA. PMN48240 024D C100 4844 | LD 1 0 FETCH AND PMN48250 024E D20C 4845 | STO 2 D1902-C *SAVE LAST TWO WORDS PMN48260 024F C101 4846 | LD 1 1 *OF PREVIOUSLY PMN48270 0250 D20D 4847 | STO 2 D1903-C *READ SECTOR. PMN48280 0251 C215 4848 | LD 2 D1925-C DECREMENT PMN48290 0252 9222 4849 | S 2 D1944-C *INTERMEDIATE WORD COUNT BY PMN48300 0253 D215 4850 | STO 2 D1925-C *ONE SECTOR (320 WORDS). PMN48310 0254 4830 4851 | BSC Z- SKIP IF NOT LAST SECTOR PMN48320 0255 1810 4852 | SRA 16 CLEAR ACCUMULATOR PMN48330 0256 8223 4853 | A 2 D1945-C ADD SECTOR WORD COUNT (321) PMN48340 0257 D100 4854 | STO 1 0 *AND STORE TO I/O AREA. PMN48350 0258 C216 4855 | LD 2 D1926-C FETCH NEXT SECTOR ADDRESS PMN48360 0259 D101 4856 | STO 1 1 *AND STORE TO I/O AREA PMN48370 025A CA0A 4857 | LDD 2 D1906-C FETCH USER REQUESTED IOCC PMN48380 025B DA08 4858 | STD 2 D1904-C *AND STORE TO CURRENT IOCC PMN48390 025C 42E5 4859 | BSI 2 D1220-C BRANCH TO START READ/WRITE. PMN48400 4860 | * PMN48410 4861 | * READ/WRITE COMPLETE INTERRUPT PROCESSING PMN48420 4862 | * PMN48430 025D 6580 0184 4863 | LDX I1 D1906 XR1 = ADDR OF I/O BUF 2-11 PMN48431 025F C20C 4864 | LD 2 D1902-C RESTORE FIRST 2-11 PMN48432 0260 D100 4865 | STO 1 0 *TWO WORDS 2-11 PMN48433 0261 C20D 4866 | LD 2 D1903-C *OF USERS 2-11 PMN48434 0262 D101 4867 | STO 1 1 *BUFFER 2-11 PMN48435 0263 6111 4868 | LDX 1 @TCNT SET DISK BUSY 2-11 PMN48436 0264 6D00 00EE 4869 | STX L1 $DBSY *INDICATOR TO 17 2-11 PMN48437 0266 6580 015D 4870 | LDX I1 D1210+1 XR1 = $FPAD & DR NO. 2-11 PMN48438 0268 CA08 4871 | LDD 2 D1904-C FETCH CURRENT IOCC. PMN48440 0269 18C3 4872 | RTE 3 ROTATE SECTOR NO. TO ACC. PMN48450 026A 8212 4873 | A 2 D1922-C INCR SCTR NO.,I/O AREA ADDR PMN48460 026B 18DD 4874 | RTE 29 ROTATE SCTR NO. BACK TO EXT PMN48470 026C DA0A 4875 | STD 2 D1906-C SAVE NEW IOCC PMN48480 026D 7401 0190 4876 | MDX L D1926,1 INCR NEXT SEQ SECTOR ADDR. PMN48490 026F C215 4877 | D1370 LD 2 D1925-C FETCH INTERMEDIATE WORD CNT PMN48500 0270 4C30 0249 4878 | BSC L D1350,Z- *AND BRANCH IF POSITIVE. PMN48510 4879 | * PMN48520 4880 | * READBACK-CHECK PMN48530 4881 | * PMN48540 0272 C24A 4882 | LD 2 D1260+1-C RESTORE ADDR OF USERS I/O PMN48550 0273 D20A 4883 | STO 2 D1906-C *AREA TO 2ND WORD OF IOCC PMN48560 0274 6580 0184 4884 | LDX I1 D1906 POINT XR2 TO I/O AREA. PMN48570 0276 C100 4885 | LD 1 0 FETCH AND PMN48580 0277 D20C 4886 | STO 2 D1902-C *SAVE USERS WORD COUNT PMN48590 0278 C101 4887 | LD 1 1 *AND PMN48600 0279 D20D 4888 | STO 2 D1903-C *USERS SECTOR ADDRESS. PMN48610 027A C218 4889 | LD 2 D1928-C FETCH FUNCTION CODE. PMN48620 027B 921E 4890 | S 2 D1940-C TEST FOR AND PMN48630 027C 4C20 0128 4891 | D1380 BSC L D1130,Z *BRANCH IF NOT WRITE/RBC. PMN48640 027E C21C 4892 | LD 2 D1933-C SET UP TO BUILD PMN48650 027F D217 4893 | STO 2 D1927-C *READ-BACK-CHECK IOCC. PMN48660 0280 74FC 01A0 4894 | MDX L D1948,-4 DECREMENT FUNCTION CODE. PMN48670 0282 70F9 4895 | MDX D1380 BRANCH IF RBC DONE. PMN48680 0283 4C00 01C0 4896 | BSC L D1250 BRANCH TO DO READ-BACK-CK. PMN48690 4897 | * PMN48700 4898 | * 1 CONSTANT REMOVED 2-11 PMN48705 4899 | * PMN48710 0294 4900 | $1END EQU /0294 1 + END OF DISK1 2-11 PMN48712 4901 | * 2-11 PMN48714 0285 4902 | BSS $1END-*-6 PATCH AREA 2-11 PMN48716 028E 00A0 4903 | DC @CIL1 PMN48720 028F 0000 4904 | DC *-* PMN48730 0290 0000 4905 | DC *-* PMN48740 0291 0000 4906 | DC *-* PMN48750 0292 0000 4907 | DC *-* WORD COUNT AND SECTOR ADDR PMN48760 0293 0000 4908 | DC *-* *FOR CORE LOADS PMN48770 4909 | * $1END EQUATE MOVED 2-11 PMN48780 DISKN 4911 | *************************************************** PMN48800 4912 | * * PMN48810 4913 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN48820 4914 | * * PMN48830 4915 | *FUNCTION/OPERATION- * PMN48840 4916 | * DISKN HAS THE FOLLOWING SIX DISK FUNCTIONS- * PMN48850 4917 | * *TEST (TEST FOR DISK BUSY) * PMN48860 4918 | * *READ * PMN48870 4919 | * *WRITE WITHOUT READ-BACK-CHECK * PMN48880 4920 | * *WRITE WITH READ-BACK-CHECK * PMN48890 4921 | * *WRITE IMMEDIATE * PMN48900 4922 | * *SEEK * PMN48910 4923 | * * PMN48920 4924 | *ENTRY POINTS- * PMN48930 4925 | * DISKN IS ENTERED * PMN48940 4926 | * *FROM THE MONITOR AT DN000 (00F2) * PMN48950 4927 | * *FROM THE TRANSFER VECTOR AT DN030 - 1 * PMN48960 4928 | * AS FOLLOWS- * PMN48970 4929 | * LIBF DISKN (OR BSI L DZ000) * PMN48980 4930 | * DC /WXYZ CONTROL * PMN48990 4931 | * DC AREA I/O AREA ADDRESS * PMN49000 4932 | * DC ERROR ERROR ROUTINE * PMN49010 4933 | * WHERE- W = I/O FUNCTION CODE * PMN49020 4934 | * X = USED DURING TEST * PMN49030 4935 | * Y = SEEK OPTION * PMN49040 4936 | * Z = DISPLACEMENT OPTION * PMN49050 4937 | * * PMN49060 4938 | *EXTERNAL REFERENCES- (ALL IN COMMA) * PMN49070 4939 | * $ACDE * PMN49080 4940 | * $CYLN * PMN49090 4941 | * $DBSY * PMN49100 4942 | * $DCYL * PMN49110 4943 | * $EXIT * PMN49120 4944 | * $FPAD * PMN49130 4945 | * $IOCT * PMN49140 4946 | * $PST2 * PMN49150 4947 | * $PRET * PMN49160 4948 | * * PMN49170 4949 | *EXITS- NORMAL * PMN49180 4950 | * *RETURN TO CALL + 3 ON TEST AND WRITE * PMN49190 4951 | * IMMEDIATE FUNCTIONS. * PMN49200 4952 | * *RETURN TO CALL + 4 ON ALL OTHER FUNCTIONS. * PMN49210 4953 | * * PMN49220 4954 | *EXITS- ERROR * PMN49230 4955 | * *BRANCH TO $PRET WITH 5000 IN ACCUMULATOR * PMN49240 4956 | * WHEN DISK NOT READY. * PMN49250 4957 | * *BRANCH TO $PRET WITH 5001 IN ACCUMULATOR * PMN49260 4958 | * ON BAD CALL. * PMN49270 4959 | * *BRANCH TO $PRET OR $PST2 WITH 5002 IN THE * PMN49280 4960 | * ACCUMULATOR ON WRITE SELECT/POWER UNSAFE * PMN49290 4961 | * *BRANCH TO $PST2 WITH 5003 IN ACCUMULATOR * PMN49300 4962 | * ON DATA ERROR OR DISK OVERFLOW,MONITOR CALL* PMN49310 4963 | * ***DRIVE CODE AND SECTOR ADDRESS IN EXT. * PMN49320 4964 | * *BRANCH TO $EXIT ON DISK OVERFLOW. * PMN49330 4965 | * *BRANCH TO CALLER ERROR ROUTINE ON POST- * PMN49340 4966 | * OPERATIVE ERROR. * PMN49350 4967 | * * PMN49360 4968 | *ATTRIBUTES- * PMN49370 4969 | * *DISKN MAY BE CALLED FROM THE MONITOR OR BY * PMN49380 4970 | * A LIBF. * PMN49390 4971 | * *DISKN WILL OPERATE ON MULTIPLE DRIVES * PMN49400 4972 | * SIMULTANEOUSLY. * PMN49410 4973 | * *DISKN ACCEPTS I/O AREAS BEGINNING ON UNEVEN* PMN49420 4974 | * BOUNDRIES. * PMN49430 4975 | * *DISKN IS NOT RELOCATABLE. * PMN49440 4976 | * *DISKN IS REUSABLE. * PMN49450 4977 | * * PMN49460 4978 | *NOTES- NONE * PMN49470 4979 | * * PMN49480 4980 | *************************************************** PMN49490 DISKN 4982 | * PARAMETERS FOR THE SYSTEM LOADER PMN49510 4983 | * PMN49520 00F0 4984 | ORG DZ000-2 PMN49530 *SBRKCLM 98 4985 | *SYS DISKN V2M00 PMN49540 00F0 02B1 4986 | DC $NEND-* DISKN WORD COUNT. PMN49550 00F1 FF68 4987 | DC -@DNID PMN49560 00F2 02AA 4988 | DC $NEND-6-*+1 ADDR OF SLET EXTRACT PMN49570 00F3 0001 4989 | DC 1 NO. ENTRIES IN SLET EXTRACT PMN49580 00F2 4990 | ORG *-2 PMN49590 DISKN 00F2 0000 4992 | DN000 DC *-* ENTRY PT FOR MONITOR PROGS. PMN49610 00F3 6A32 4993 | STX 2 DN110+3 SAVE CONTENTS OF XR2. PMN49620 00F4 6600 0150 4994 | LDX L2 DN902 FETCH ADDR OF PSEUDO CALL. PMN49630 00F6 7043 4995 | MDX DN210 BRANCH AROUND ENTRY POINTS. PMN49640 00F7 0000 4996 | DN020 DC *-* ENTRY POINT FOR INTERRUPTS. PMN49650 00F8 7053 4997 | MDX DN240 BR TO INTERRUPT PROCESSING. PMN49660 00F9 6A2C 4998 | STX 2 DN110+3 SAVE CONTENTS OF XR2. PMN49670 00FA 6680 0000 4999 | LDX I2 *-* PUT LINK WD FROM TV IN XR2. PMN49680 00FC 6927 5000 | DN030 STX 1 DN110+1 SAVE CONTENTS OF XR1 PMN49690 00FD 6A4C 5001 | STX 2 DN230+1 SAVE ADDRESS OF CALL+1. PMN49700 00FE D851 5002 | STD DN902 SAVE CONTENTS OF ACC/EXT. PMN49710 00FF 2821 5003 | STS DN100 SAVE STATUS OF INDICATORS. PMN49720 0100 C200 5004 | DN040 LD 2 0 LOAD CONTROL PARAMETER. PMN49730 0101 188C 5005 | SRT 12 ISOLATE FIRST DIGIT. PMN49740 0102 4C18 010A 5006 | BSC L DN050-2,+- BRANCH IF FUNCTION IS TEST PMN49750 0104 C201 5007 | LD 2 1 LOAD ADDR OF USERS BUFFER. PMN49760 0105 D001 5008 | STO *+1 PMN49770 0106 6500 0000 5009 | LDX L1 *-* POINT XR1 TO USERS BUFFER. PMN49780 0108 C101 5010 | LD 1 1 LOAD USERS SECTOR ADDRESS. PMN49790 0109 1890 5011 | SRT 16 SHIFT TO EXTENSION. PMN49800 010A 1085 5012 | SLT 5 SET UP XR1 PMN49810 010B D001 5013 | STO *+1 * WITH TWICE PMN49820 010C 6500 0000 5014 | DN050 LDX L1 *-* * DRIVE CODE NUMBER. PMN49830 010E 1801 5015 | SRA 1 CALC LOG DR NO 2-9 PMN49840 010F D00A 5016 | STO DN080+1 SAVE LOG DR NO 2-9 PMN49850 0110 71F8 5017 | MDX 1 -8 SKIP IF DRIVE CODE LEGAL. PMN49860 0111 7022 5018 | MDX DN200 BR TO PRE-OP ERROR EXIT. PMN49870 0112 7108 5019 | MDX 1 8 RESET XR1 TO TWICE DR CODE. PMN49880 0113 1000 5020 | DN060 NOP IN CASE OF SKIP. PMN49890 0114 2000 5021 | DN070 LDS 0 TURN OFF OVERFLOW INDICATOR PMN49900 0115 C200 5022 | LD 2 0 LOAD CONTROL PARAMETER. PMN49910 0116 180C 5023 | SRA 12 ISOLATE FUNCTION CODE. PMN49920 0117 4C20 0155 5024 | BSC L DN250,Z BRANCH IF NOT TEST FUNCTION PMN49930 5025 | * PMN49940 5026 | * PERFORM THE TEST FUNCTION. PMN49950 5027 | * PMN49960 0119 6500 0000 5028 | DN080 LDX L1 *-* SET XR1 TO LOG DR NO 2-9 PMN49970 011B C0D2 5029 | LD $DBSY SEE IF DRIVE PMN49980 011C 1900 5030 | SRA 1 *N IS BUSY 2-9 PMN49990 011D 4804 5031 | BSC E SKIP IF DR N IS NOT BUSY2-9 PMN50000 011E 72FF 5032 | MDX 2 -1 SET UP FOR RETURN TO CALL+3 PMN50010 011F 7203 5033 | DN090 MDX 2 3 SET UP FOR RETURN TO CALL+4 PMN50020 5034 | * PMN50030 5035 | * RESTORE REGISTERS AND INDICATORS PMN50040 5036 | * AND SET UP FOR RETURN TO CALLING PROGRAM. PMN50050 5037 | * PMN50060 0120 C82F 5038 | LDD DN902 RESTORE CONTENTS OF ACC/EXT PMN50070 0121 2000 5039 | DN100 LDS 0 RESTORE CARRY AND OVERFLOW. PMN50080 0122 6A05 5040 | STX 2 DN120 STORE RETURN ADDRESS. PMN50090 0123 6500 0000 5041 | DN110 LDX L1 *-* RESET XR1 TO ORIG CONTENTS. PMN50100 0125 6600 0000 5042 | LDX L2 *-* RESET XR2 TO ORIG CONTENTS. PMN50110 0127 4C00 0000 5043 | BSC L *-* RETURN TO USER. PMN50120 0128 5044 | DN120 EQU *-1 PMN50130 5045 | * PMN50140 5046 | * CONSTANTS AND WORK AREAS. PMN50150 5047 | * PMN50160 0129 5000 5048 | DN900 DC /5000 DISK NOT READY ERROR CODE. PMN50170 012A 5001 5049 | DN901 DC /5001 BAD CALL ERROR CODE. PMN50180 5050 | * PMN50190 012B 0005 5051 | DN903 DC 5 CONSTANT PMN50200 5052 | * PMN50210 5053 | * PREPARE TO MAKE PRE-OPERATIVE ERROR EXIT. PMN50220 5054 | * PMN50230 012C C0FC 5055 | DN170 LD DN900 LOAD DISK NOT RDY ERR CODE. PMN50240 012D 7007 5056 | MDX DN200+1 BRANCH TO EXIT TO $PRET. PMN50250 012E C114 5057 | DN180 LD 1 DN982-D IS IT A MONITOR CALL PMN50260 012F 9022 5058 | S DN902+2 PMN50270 0130 4C18 02FB 5059 | BSC L DN610,+- BRANCH IF YES PMN50280 0132 4C01 01DF 5060 | DN190 BSC L DN380,O BR IF IT IS A POST-OP ERR. PMN50290 0134 C0F5 5061 | DN200 LD DN901 FETCH PREOP ERROR CODE. PMN50300 0135 6680 014A 5062 | LDX I2 DN230+1 LD XR2 WITH ADDR OF CALL+1. PMN50310 0137 4400 0028 5063 | BSI L $PRET BR TO PREOPERATIVE ERR TRAP PMN50320 0139 70C6 5064 | MDX DN040 BRANCH TO RE-ENTER DISKN. PMN50330 5065 | * PMN50340 5066 | * SET UP CONTROL PARAMETER FOR MONITOR CALL. PMN50350 5067 | * PMN50360 013A 1008 5068 | DN210 SLA 8 PMN50370 013B 4820 5069 | BSC Z BRANCH IF READ OPERATION. PMN50380 013C C0D7 5070 | LD DN070 SET UP FUNCTION PMN50390 013D 80D5 5071 | A DN060 *INDICATOR. PMN50400 013E 70BD 5072 | MDX DN030 BR TO CONT PROCESSING CALL. PMN50410 5073 | * PMN50420 5074 | * SET THE BIT FOR DRIVE N IN THE DISK BUSY PMN50430 5075 | * INDICATOR AND INCREMENT THE SYSTEM I/O COUNTER. PMN50440 5076 | * PMN50450 013F 6680 011A 5077 | DN220 LDX I2 DN080+1 SET XR2 TO LOG DR NO 2-9 PMN50460 0141 C00C 5078 | LD DN914 SET BIT FOR PMN50470 0142 1200 5079 | SLA 2 *DRIVE N IN 2-9 PMN50480 0143 E80B 5080 | OR DN915 *DISK BUSY 2-9 PMN50490 0144 D000 5081 | STO DN225 *INDICATOR 2-9 PMN50500 0145 7400 00EE 5082 | DN225 MDX L $DBSY * 2-9 PMN50510 0147 7401 0032 5083 | MDX L $IOCT,1 INCREMENT SYS I/O COUNTER. PMN50520 0149 6600 0000 5084 | DN230 LDX L2 *-* XR2 = ADDRESS OF CALL+1. PMN50530 014B 70D3 5085 | MDX DN090 BR TO SET UP RET TO CALL+4. PMN50540 5086 | * PMN50550 014C 4C00 0215 5087 | DN240 BSC L DN440 BR TO INTERRUPT PROCESSING. PMN50560 014E 0001 5088 | DN914 DC /0001 WORD USED TO SET $DBSY 2-9 PMN50570 014F 7400 5089 | DN915 DC /7400 WORD USED TO SET INSTR 2-9 PMN50580 5090 | * PMN50590 5091 | * PSEUDO CALL TO DISKN FOR MONITOR. PMN50600 5092 | * PMN50610 0150 5093 | BSS E 0 PMN50620 0150 0000 5094 | DN902 DC *-* WD TO SAVE CONTENTS OF ACC. PMN50630 0151 0000 5095 | DC *-* WD TO SAVE CONTENTS OF EXT. PMN50640 0152 0085 5096 | DC $PST2 ADDR POSTOPERATIVE ERR TRAP PMN50650 0153 4C80 00F2 5097 | BSC I DN000 BRANCH TO RETURN TO MONITOR PMN50660 5098 | * PMN50670 5099 | * PROCESS ALL FUNCTIONS EXCEPT TEST. PMN50680 5100 | * PMN50690 0155 C098 5101 | DN250 LD $DBSY SEE IF DRIVE PMN50700 0156 6580 011A 5102 | LDX I1 DN080+1 SET XR1 TO LOG DR NO 2-9 PMN50710 0158 1900 5103 | SRA 1 SEE IF DR N IS BUSY 2-9 PMN50720 0159 4804 5104 | BSC E SKIP IF DR N IS NOT BUSY2-9 PMN50730 015A 70FA 5105 | MDX DN250 BUSY, BRANCH AND TRY AGAIN. PMN50740 015B 6580 010D 5106 | LDX I1 DN050+1 RESTORE XR1 2-9 PMN50750 015D 7500 034C 5107 | DN260 MDX L1 D POINT XR1 TO APPROPRIATE PMN50760 015F C200 5108 | LD 2 0 LOAD CONTROL PARAMETER. PMN50770 0160 100C 5109 | SLA 12 ISOLATE FOURTH DIGIT. PMN50780 0161 4C18 0167 5110 | BSC L DN270,+- BR IF SECT ADDR IS ABSOLUTE PMN50790 0163 108B 5111 | SLT 11 SHIFT IN USERS SECTOR ADDR. PMN50800 0164 8580 FFED 5112 | A I1 DN973-D ADD IN FILE PROTECT ADDRESS PMN50810 0166 188B 5113 | SRT 11 SHIFT SECTOR ADDR INTO EXT. PMN50820 0167 108F 5114 | DN270 SLT 15 SHIFT SCT ADDR INTO ACC PMN50830 0168 1804 5115 | SRA 4 *AND SHIFT OUT DR NO PMN50840 0169 D132 5116 | STO 1 DN990-D STORE INITIAL SECTOR ADDR. PMN50850 016A D133 5117 | STO 1 DN991-D STORE WORKING SECTOR ADDR. PMN50860 016B C201 5118 | LD 2 1 LOAD AND SAVE ADDRESS PMN50870 016C D146 5119 | STO 1 DN994-D *OF USERS I/O BUFFER. PMN50880 016D C202 5120 | LD 2 2 LOAD AND SAVE ADDRESS PMN50890 016E D114 5121 | STO 1 DN982-D *OF USERS ERROR SUBROUTINE. PMN50900 016F C200 5122 | LD 2 0 LOAD CONTROL PARAMETER. PMN50910 0170 18CC 5123 | RTE 12 ISOLATE FUNCTION CODE. PMN50920 0171 D11E 5124 | STO 1 DN984-D SAVE FUNCTION CODE. PMN50930 0172 C580 FFF6 5125 | LD I1 DN977-1-D LOAD AREA CODE FOR DRIVE N. PMN50940 0174 4C18 0134 5126 | BSC L DN200,+- BR IF DRIVE NOT ON SYSTEM. PMN50950 0176 6204 5127 | LDX 2 4 SET UP PHYS DR NO PMN50960 0177 1240 5128 | SLCA 2 PMN50970 0178 180B 5129 | SRA 11 PMN50980 0179 E400 02BF 5130 | AND L DN954 PMN50990 017B D001 5131 | STO *+1 PMN51000 017C 6600 0000 5132 | LDX L2 *-* SET XR2=PHYS DR NO PMN51010 017E C08E 5133 | LD DN050+1 SET UP WORD USED BY PMN51020 017F 80DE 5134 | A DN260+1 *INTERRUPT PROSESSING TO PMN51030 0180 D600 0329 5135 | STO L2 DN966 *POINT OUT CONST AREA PMN51040 0182 C580 FFF6 5136 | LD I1 DN977-1-D PMN51050 0184 E866 5137 | OR DN931 OR IN 2ND WD OF SENSE IOCC. PMN51060 0185 D1F7 5138 | STO 1 DN976+1-D ST IN 2ND WD OF SENSE IOCC. PMN51070 0186 09F6 5139 | XIO 1 DN976-D SENSE DRIVE N WITH RESET. PMN51080 0187 4C28 01AD 5140 | BSC L DN300,Z+ BR IF WR/SEL OR PWR/UNSAFE. PMN51090 0189 1002 5141 | SLA 2 TEST NOT READY BIT OF DSW. PMN51100 018A 4C28 012C 5142 | BSC L DN170,Z+ BRANCH IF DRIVE N NOT READY PMN51110 018C C11E 5143 | DN280 LD 1 DN984-D LOAD FUNCTION CODE. PMN51120 018D 909D 5144 | S DN903 SUBTRACT FIVE. PMN51130 018E D1E2 5145 | STO 1 DN970-D PMN51140 018F 4C30 0134 5146 | BSC L DN200,Z- BR IF FUNCTION CODE ILLEGAL PMN51150 0191 4C20 02A6 5147 | BSC L DN560,Z BR IF FUNCTION IS NOT SEEK. PMN51160 0193 1088 5148 | SLT 8 ISOLATE THIRD DIGIT PMN51170 0194 100C 5149 | SLA 12 *OF CONTROL PARAMETER. PMN51180 0195 4C18 02C8 5150 | BSC L DN580,+- BR IF SEEK OPT UNUSED 2-11 PMN51190 0197 4C00 02C1 5151 | BSC L DN570+1 SET UP SCTR ADDR FOR SK-OPT PMN51200 5152 | * PMN51210 5153 | * RESET THE BIT FOR DRIVE N IN THE DISK BUSY PMN51220 5154 | * INDICATOR AND DECREMENT THE SYSTEM I/O COUNTER. PMN51230 5155 | * PMN51240 0199 0000 5156 | DN290 DC *-* PMN51250 019A 7500 FCB4 5157 | MDX L1 -D SET XR1 TO TWICE DR CODE NO PMN51260 019C 1000 5158 | NOP IN CASE OF SKIP. PMN51270 019D 74FF 0032 5159 | MDX L $IOCT,-1 DECREMENT SYS I/O COUNTER. PMN51280 019F 1000 5160 | DN922 NOP IN CASE OF SKIP PMN51290 01A0 C400 0001 5161 | LD L DNXR1 LD XR1 2-9 PMN51300 01A2 1801 5162 | SRA 1 DIVIDE BY 2 2-9 PMN51310 01A3 E8FB 5163 | OR DN922 SET UP SLA INSTR 2-9 PMN51320 01A4 D001 5164 | STO DN295 2-9 PMN51330 01A5 C0A8 5165 | LD DN914 RESET BIT PMN51340 01A6 1000 5166 | DN295 SLA 0 * FOR DRIVE N 2-9 PMN51350 01A7 F400 00EE 5167 | EOR L $DBSY * IN DISK BUSY PMN51360 01A9 D400 00EE 5168 | STO L $DBSY * INDICATOR. PMN51370 01AB 4C80 0199 5169 | BSC I DN290 PMN51380 5170 | * PMN51390 01AD C05F 5171 | DN300 LD DN911 LD WR/SEL-PWR UNSAFE ERR CD PMN51400 01AE 7086 5172 | MDX DN200+1 BRANCH TO SET UP ERROR EXIT PMN51410 5173 | * PMN51420 5174 | * CONSTANTS AND WORK AREAS. PMN51430 5175 | * PMN51440 5176 | * PMN51450 5177 | * PMN51460 5178 | * SET UP FOR AND THEN BRANCH TO ERROR PMN51470 5179 | * SUBROUTINE OF THE CALLING PROGRAM. PMN51480 5180 | * PMN51490 01AF 0000 5181 | DN340 DC *-* PMN51500 01B0 1890 5182 | SRT 16 SHIFT ERROR CODE TO EXT. PMN51510 01B1 C114 5183 | LD 1 DN982-D TEST FOR MONITOR CALL PMN51520 01B2 909F 5184 | S DN902+2 PMN51530 01B3 4C20 01B7 5185 | BSC L DN345,Z BR IF NOT MONITOR CALL PMN51540 01B5 C05C 5186 | LD DN934 LD ER DISP FOR MON CALL 2-9 PMN51550 01B6 1890 5187 | SRT 16 SHIFT ERROR CODE TO EXT. PMN51560 01B7 C054 5188 | DN345 LD DN930 RESET RETRY PMN51570 01B8 D11F 5189 | STO 1 DN985-D *COUNTER TO 16. PMN51580 01B9 C1F6 5190 | LD 1 DN977-1-D LD AREA CD ADDR OF DRIVE N. PMN51590 01BA 9400 0342 5191 | S L DN977-1 SUBTRACT AREA CD BASE ADDR. PMN51600 01BC 100C 5192 | SLA 12 PUT DRIVE CODE IN BITS 0-3. PMN51610 01BD E933 5193 | OR 1 DN991-D OR IN SECTOR ADDRESS. PMN51620 01BE 18D0 5194 | RTE 16 PMN51630 01BF 4580 0014 5195 | BSI I1 DN982-D BR TO USERS ERROR ROUTINE. PMN51640 01C1 4C80 01AF 5196 | BSC I DN340 RETURN TO WHERE ERROR FOUND PMN51650 5197 | * PMN51660 01C3 1002 5198 | DN350 SLA 2 BR IF NOT WRITE 2-8 PMN51670 01C4 4C10 01CB 5199 | BSC L DN356,- *SELECT ERROR 2-8 PMN51680 01C6 C046 5200 | LD DN911 ERROR CODE TO ACC 2-8 PMN51690 01C7 4400 0085 5201 | BSI L $PST2 BR TO POST ERR TRAP 2-8 PMN51700 01C9 40CF 5202 | BSI DN290 RESET $IOCT,$DBSY 2-8 PMN51710 01CA 7018 5203 | MDX DN382 BR TO CONTINUE TO EXIT 2-8 PMN51720 01CB C11E 5204 | DN356 LD 1 DN984-D LOAD FUNCTION CODE PMN51730 01CC 1802 5205 | SRA 2 SEE IF FUNC WRITE IMMEDIATE PMN51740 01CD 4C20 0239 5206 | BSC L DN460,Z BR IF FUNC WRITE IMMEDIATE. PMN51750 01CF C147 5207 | LD 1 DN995-D SEE IF ERROR IN RDBCK CHECK PMN51760 01D0 4C04 01F7 5208 | BSC L DN400,E BRANCH IF READBACK CHECK. PMN51770 01D2 C11F 5209 | LD 1 DN985-D LOAD AND PMN51780 01D3 903C 5210 | S DN933 * DECREMENT PMN51790 01D4 D11F 5211 | STO 1 DN985-D * RETRY COUNTER. PMN51800 01D5 4C20 01DD 5212 | BSC L DN370,Z BRANCH TO TRY AGAIN. PMN51810 01D7 C11E 5213 | DN360 LD 1 DN984-D LOAD FUNCTION CODE. PMN51820 01D8 1801 5214 | SRA 1 SET UP PMN51830 01D9 8036 5215 | A DN933 *ERROR CODE. PMN51840 01DA 40D4 5216 | BSI DN340 BRANCH TO SET UP ERROR EXIT PMN51850 01DB 4C18 0239 5217 | BSC L DN460,+- BRANCH TI IGNORE ERROR. PMN51860 01DD 0928 5218 | DN370 XIO 1 DN986-D RETRY READ OR WRITE. PMN51870 01DE 7056 5219 | MDX DN450 BR TO RETRN TO INTRPT LEVEL PMN51880 5220 | * PMN51890 5221 | * SET UP FOR POST-OPERATIVE DISK OVFLO ERROR EXIT. PMN51900 5222 | * PMN51910 01DF C400 0326 5223 | DN380 LD L DN963 LOAD ERROR CODE PMN51920 01E1 40CD 5224 | BSI DN340 BRANCH TO SET UP ERROR EXIT PMN51930 01E2 40B6 5225 | BSI DN290 BR TO RESET BUSY INDRS PMN51940 01E3 4C40 01E5 5226 | DN382 BOSC L * TURN OFF INTERRUPT LEVEL. PMN51950 01E5 7400 00EE 5227 | MDX L $DBSY,0 LOOP UNTIL ALL DISK PMN51960 01E7 70FD 5228 | MDX *-3 *OPERATIONS COMPLETE. PMN51970 01E8 6038 5229 | EXIT EXECUTE A CALL EXIT PMN51980 5230 | * PMN51990 5231 | * CONSTANTS AND WORK AREAS. PMN52000 5232 | * PMN52010 01E9 0680 5233 | DN920 DC /0680 READBACK CHECK IOCC WORD. PMN52020 01EA 0022 5234 | DN940 DC 2*@TCNT TWICE NO RETRIES 212 PMN52030 01EB 0701 5235 | DN931 DC /0701 2ND WORD OF SENSE W/RESET PMN52040 5236 | * PMN52050 01EC C11E 5237 | DN390 LD 1 DN984-D LOAD FUNCTION CODE. PMN52060 01ED 9023 5238 | S DN932 SUBTRACT THREE. PMN52070 01EE 4C20 0213 5239 | BSC L DN430,Z BR IF NOT WR W/RDBCK CHECK. PMN52080 01F0 C147 5240 | LD 1 DN995-D READBACK CHECK INDR 212 PMN52090 01F1 1890 5241 | SRT 16 SAVE TEMPORARILY 212 PMN52092 01F2 C0F7 5242 | LD DN940 LOAD 2*TCNT 212 PMN52094 01F3 D147 5243 | STO 1 DN995-D SAVE IN RDBCK CK INDR 212 PMN52096 01F4 1090 5244 | SLT 16 PREVIOUS VALUE 212 PMN52098 01F5 4C04 0213 5245 | BSC L DN430,E BRANCH IF CHECK DONE 212 PMN52100 01F7 9018 5246 | DN400 S DN933 DECREMENT READBACK PMN52110 01F8 4C18 01D7 5247 | BSC L DN360,+- BR IF 16 RETRIES DONE 212 PMN52120 01FA D147 5248 | STO 1 DN995-D SET RETRY COUNTER 212 PMN52130 01FB 4C04 0206 5249 | BSC L DN410,E BRANCH TO READBACK CHECK. PMN52140 01FD C128 5250 | LD 1 DN986-D RESTORE 2-6 PMN52150 01FE D400 0002 5251 | STO L DNXR2 *FIRST TWO WORDS 2-9 PMN52160 0200 C10A 5252 | LD 1 DN980-D * IF 2-6 PMN52170 0201 D200 5253 | STO 2 0 * ERROR 2-6 PMN52180 0202 C10B 5254 | LD 1 DN980+1-D * IN 2-6 PMN52190 0203 D201 5255 | STO 2 1 * READ BACK CHECK 2-6 PMN52200 0204 C069 5256 | LD DN941 LD WD TO SET UP WRITE IOCC. PMN52210 0205 7001 5257 | MDX *+1 SKIP OVER NEXT INSTRUCTION. PMN52220 0206 C0E2 5258 | DN410 LD DN920 LD WD TO SET UP RDBK/CHK. PMN52230 0207 D129 5259 | STO 1 DN986+1-D STORE IN 2ND WORD OF IOCC. PMN52240 0208 C132 5260 | LD 1 DN990-D LOAD ORIGINAL SECTOR ADDR. PMN52250 0209 D133 5261 | STO 1 DN991-D STORE AS WORKING SECT ADDR. PMN52260 020A 2001 5262 | LDS 1 SET OVERFLOW INDICATOR. PMN52270 020B 7080 5263 | MDX DN280 BR TO SET UP FOR RDBACK/CHK PMN52280 5264 | * PMN52290 5265 | * CONSTANTS AND WORK AREAS. PMN52300 5266 | * PMN52310 020C 0011 5267 | DN930 DC @TCNT NUMBER OF RETRIES TO MAKE. PMN52320 020D 5002 5268 | DN911 DC /5002 WR/SEL-PWR UNSAFE ERROR CODEPMN52330 020E 5269 | BSS E 0 PMN52340 020E 0101 5270 | DN912 DC /0101 MASK FOR BUILDING READ IOCC PMN52350 020F 0300 5271 | DC /0300 2ND WD OF SENSE INTRPT IOCC PMN52360 0210 0001 5272 | DN933 DC 1 CONSTANT OF DECIMAL ONE. PMN52370 0211 0003 5273 | DN932 DC 3 WRITE W/RDBCK FUNCTION CODE PMN52380 0212 5003 5274 | DN934 DC /5003 MON CALL DISK ERROR CODE PMN52390 5275 | * PMN52400 5276 | * PMN52440 5277 | * SET UP FOR RETURN TO INTERRUPT LEVEL. PMN52450 5278 | * PMN52460 0213 4085 5279 | DN430 BSI DN290 BRANCH TO RESET $DBSY PMN52490 0214 7020 5280 | MDX DN450 BR TO RETRN TO INTRPT LEVEL PMN52500 5281 | * PMN52510 0215 6204 5282 | DN440 LDX 2 4 PMN52520 0216 08F7 5283 | XIO DN912 SENSE INTERRUPT. PMN52530 0217 1240 5284 | SLCA 2 SET UP XR2 PMN52540 0218 1A00 5285 | SRA 2 * WITH THE PMN52550 0219 6204 5286 | LDX 2 4 * PHYSICAL PMN52560 021A 1240 5287 | SLCA 2 * DRIVE NO. PMN52570 021B C600 0329 5288 | LD L2 DN966 PMN52580 021D D400 0001 5289 | STO L DNXR1 SET XR1 TO LOG DR+D 2-9 PMN52590 021F C87E 5290 | LDD DN952 SAVE CONTENTS OF PMN52600 0220 D87F 5291 | STD DN942 *WORDS IN CALL PORTION. PMN52610 0221 09F6 5292 | XIO 1 DN976-D SENSE WITH RESET. PMN52620 0222 D400 00DD 5293 | STO L $DDSW SAVE IN COMM. AREA 212 PMN52625 0224 E915 5294 | OR 1 DN983-D OR IN SEEK FLAG TO DSW. PMN52630 0225 4C10 0239 5295 | BSC L DN460,- BR IF NOT SEEK OR NO ERROR. PMN52640 0227 F115 5296 | EOR 1 DN983-D EXCLUSIVE OR OUT SEEK FLAG. PMN52650 0228 4C28 01C3 5297 | BSC L DN350,Z+ BR IF THERE WAS AN ERROR. PMN52660 022A C1E2 5298 | LD 1 DN970-D LOAD RD-AFTER-SEEK CHK FLAG PMN52670 022B 4C30 026F 5299 | BSC L DN490-1,Z- BRANCH IF NO CHECK NEEDED. PMN52680 022D C101 5300 | LD 1 DN978+1-D SEE IF SEEK HAS BEEN CHKD. PMN52690 022E 4C10 0270 5301 | BSC L DN490,- BRANCH IF RD HAS BEEN DONE. PMN52700 0230 696D 5302 | STX 1 DN952 SET UP BFR ADDR FOR READ. PMN52710 0231 C0DC 5303 | LD DN912 SET UP 2ND PMN52720 0232 F1F7 5304 | EOR 1 DN976+1-D * WORD OF PMN52730 0233 D06B 5305 | STO DN952+1 * READ IOCC. PMN52740 0234 0869 5306 | XIO DN952 INITIATE READ-AFTER-SEEK. PMN52750 0235 C86A 5307 | DN450 LDD DN942 RESTORE TWO WORDS PMN52760 0236 D867 5308 | STD DN952 *IN CALL PORTION. PMN52770 0237 4C80 00F7 5309 | BSC I DN020 RETURN TO INTERRUPT LEVEL. PMN52780 5310 | * PMN52790 0239 C928 5311 | DN460 LDD 1 DN986-D LOAD IOCC OF LAST OPERATION PMN52800 023A 18C3 5312 | RTE 3 ADD ONE TO SECTOR NUMBER, PMN52810 023B 8060 5313 | A DN921 *AND 320 TO I/O ADDRESS. PMN52820 023C 18DD 5314 | RTE 29 PMN52830 023D D928 5315 | STD 1 DN986-D STO IOCC FOR NEXT OPERATION PMN52840 023E D400 0002 5316 | STO L DNXR2 SET XR2 TO ADDR OF I/O B2-9 PMN52850 0240 C200 5317 | LD 2 0 LOAD AND SAVE FIRST PMN52860 0241 D05C 5318 | STO DN952 *WORD OF I/O BUFFER. PMN52870 0242 C201 5319 | LD 2 1 LOAD AND SAVE SECOND PMN52880 0243 D05B 5320 | STO DN952+1 *WORD OF I/O BUFFER. PMN52890 0244 C13D 5321 | LD 1 DN993-D LOAD WD CNT FOR NEXT OPER. PMN52900 0245 4808 5322 | BSC + SKIP IF POSITIVE. PMN52910 0246 700A 5323 | MDX DN470 ALL DONE - BRANCH TO EXIT. PMN52920 0247 D200 5324 | STO 2 0 STORE WORD COUNT IN BUFFER. PMN52930 0248 4802 5325 | BSC C SKIP IF NO SEEK NEEDED. PMN52940 0249 D115 5326 | STO 1 DN983-D MAKE SEEK FLAG POSITIVE. PMN52950 024A C133 5327 | LD 1 DN991-D LOAD AND PMN52960 024B 80C4 5328 | A DN933 * INCREMENT WORKING PMN52970 024C D133 5329 | STO 1 DN991-D * SECTOR ADDRESS. PMN52980 024D D201 5330 | STO 2 1 STORE SECT ADDR IN I/O BUFR PMN52990 024E C115 5331 | LD 1 DN983-D LOAD SEEK FLAG. PMN53000 024F 4818 5332 | BSC +- SKIP IF SEEK NECESSARY. PMN53010 0250 0928 5333 | XIO 1 DN986-D INITIATE NEXT OPERATION. PMN53020 0251 C10A 5334 | DN470 LD 1 DN980-D RESTORE FIRST WORD OF PMN53030 0252 D600 FEC0 5335 | STO L2 -320 *LAST I/O BUFFER. PMN53040 0254 C10B 5336 | LD 1 DN980+1-D RESTORE SECOND WORD OF PMN53050 0255 D600 FEC1 5337 | STO L2 -319 *LAST I/O BUFFER. PMN53060 0257 2000 5338 | LDS 0 RESET OVERFLOW INDICATOR. PMN53070 0258 C845 5339 | LDD DN952 LOAD AND SAVE FIRST TWO PMN53080 0259 D90A 5340 | STD 1 DN980-D *WORDS OF NEW I/O BUFFER. PMN53090 025A C0B1 5341 | DN480 LD DN930 RESTORE READ/WRITE PMN53100 025B D11F 5342 | STO 1 DN985-D *RETRY COUNTER TO 16. PMN53110 025C C128 5343 | LD 1 DN986-D SET XR2 TO THE PMN53120 025D D040 5344 | STO DN952 * ADDRESS OF THE PMN53130 025E 6680 029E 5345 | LDX I2 DN952 * DISK BUFFER. PMN53140 0260 C93D 5346 | LDD 1 DN993-D LOAD WD CNT FOR THIS OPER. PMN53150 0261 4C08 01EC 5347 | BSC L DN390,+ BR IF ENTIRE OPERATION DONE PMN53160 0263 D200 5348 | STO 2 0 ST WORD CNT IN THE BFR AREA PMN53170 0264 C133 5349 | LD 1 DN991-D SET UP SECTOR ADDRESS PMN53180 0265 D201 5350 | STO 2 1 *FOR THIS OPERATION. PMN53190 0266 C115 5351 | LD 1 DN983-D LOAD SEEK FLAG. PMN53200 0267 4C30 02C0 5352 | BSC L DN570,Z- BRANCH IF SEEK NECESSARY. PMN53210 0269 09F6 5353 | XIO 1 DN976-D SENSE WITH RESET. PMN53220 026A 1003 5354 | SLA 3 SEE IF DISK N IS BUSY. PMN53230 026B 4810 5355 | BSC - SKIP IF DISK N IS BUSY. PMN53240 026C 0928 5356 | XIO 1 DN986-D INITIATE NEXT OPERATION. PMN53250 026D 701D 5357 | MDX DN520 BR TO SET UP FOR NEXT OPER. PMN53260 026E 0500 5358 | DN941 DC /0500 WRITE IOCC WORD 212 PMN53270 5359 | * PMN53320 026F C133 5360 | LD 1 DN991-D PMN53330 0270 D580 FFEC 5361 | DN490 STO I1 DN972-D STORE CURRENT ARM POSITION. PMN53340 0272 C000 5362 | LD * PMN53350 0273 D101 5363 | STO 1 DN978+1-D PMN53360 0274 C11F 5364 | LD 1 DN985-D LOAD AND PMN53370 0275 909A 5365 | S DN933 * DECREMENT PMN53380 0276 D11F 5366 | STO 1 DN985-D * RETRY COUNTER. PMN53390 0277 4C20 02A4 5367 | BSC L DN550,Z BRANCH TO TRY AGAIN. PMN53400 0279 C097 5368 | LD DN932 LOAD ERROR CODE. PMN53410 027A 4400 01AF 5369 | BSI L DN340 PMN53420 027C 4C20 02A4 5370 | BSC L DN550,Z BRANCH TO TRY AGAIN. PMN53430 027E D115 5371 | STO 1 DN983-D CLEAR SEEK FLAG. PMN53440 027F 1090 5372 | DN500 SLT 16 CLEAR EXTENSION. PMN53450 0280 C129 5373 | LD 1 DN986+1-D LOAD 2ND WORD OF IOCC. PMN53460 0281 180C 5374 | SRA 12 BRANCH IF IOCC AND BUFFER PMN53470 0282 4C20 0295 5375 | BSC L DN530,Z *AREA ALREADY SET UP. PMN53480 0284 C133 5376 | DN510 LD 1 DN991-D LOAD WORKING SECTOR ADDRESS PMN53490 0285 E039 5377 | AND DN954 AND OUT ALL BUT SECTOR NO. PMN53500 0286 E929 5378 | OR 1 DN986+1-D OR IN 2ND WORD OF IOCC. PMN53510 5379 | * 2-8 PMN53520 5380 | *ADDR 284/285 MUST BE WITHIN DN510 AND DN520-1 PMN53530 5381 | * 2-8 PMN53540 0287 ED80 FFF6 5382 | OR I1 DN977-1-D OR IN AREA CODE. PMN53550 0289 D129 5383 | STO 1 DN986+1-D STORE IN 2ND WORD OF IOCC. PMN53560 028A 1090 5384 | SLT 16 CLEAR EXTENSION. PMN53570 028B C13C 5385 | DN520 LD 1 DN992-D LOAD AND SAVE PMN53580 028C D13D 5386 | STO 1 DN993-D *REMAINING WORD COUNT. PMN53590 028D 4808 5387 | BSC + SKIP IF POSITIVE. PMN53600 028E 7006 5388 | MDX DN530 BR IF OPERATION COMPLETE. PMN53610 028F 9013 5389 | S DN951 SUBTRACT DECIMAL 320. PMN53620 0290 D13C 5390 | STO 1 DN992-D STORE REMAINING WORD COUNT. PMN53630 0291 4830 5391 | DN525 BSC Z- SKIP IF NOT POSITIVE. PMN53640 0292 1810 5392 | SRA 16 CLEAR ACCUMULATOR. PMN53650 0293 800E 5393 | A DN953 ADD DECIMAL 321. PMN53660 0294 D13D 5394 | STO 1 DN993-D STORE WORD CNT FOR NEXT OP. PMN53670 0295 1090 5395 | DN530 SLT 16 SHIFT EXTENSION INTO ACC. PMN53680 0296 E915 5396 | OR 1 DN983-D OR IN SEEK FLAG. PMN53690 0297 4C01 031E 5397 | BSC L DN640,O BRANCH IF IN CALL PORTION. PMN53700 0299 4C20 0235 5398 | BSC L DN450,Z BRANCH IF SEEK IN PROGRESS. PMN53710 029B 70BE 5399 | MDX DN480 BRANCH TO SET UP READ/WRITE PMN53720 5400 | * PMN53730 5401 | * CONSTANTS AND WORK AREAS. PMN53740 5402 | * PMN53750 029C 2028 5403 | DN921 DC /2028 CONSTANT 212 PMN53752 029E 5404 | DN952 BSS E 2 WORK AREA PMN53760 02A0 5405 | DN942 BSS E 2 WORK AREA PMN53770 02A2 0141 5406 | DN953 DC 321 1 PLUS NO. WDS PER SECTOR PMN53780 02A3 0140 5407 | DN951 DC 320 NO OF WORDS PER SECTOR PMN53790 5408 | * PMN53800 02A4 2001 5409 | DN550 LDS 1 SET OVERFLOW INDICATOR. PMN53810 02A5 7055 5410 | MDX DN610 BRANCH TO SET UP SEEK. PMN53820 5411 | * PMN53830 02A6 C146 5412 | DN560 LD 1 DN994-D LOAD ADDR OF USERS I/O AREA PMN53840 02A7 D128 5413 | STO 1 DN986-D STORE IN 1ST WORD OF IOCC. PMN53850 02A8 D0F5 5414 | STO DN952 PMN53860 02A9 6680 029E 5415 | LDX I2 DN952 PMN53870 02AB C200 5416 | LD 2 0 LOAD WORD COUNT. PMN53880 02AC 4C08 0134 5417 | BSC L DN200,+ BR TO PRE-OP ERR IF NOT +. PMN53890 02AE D10A 5418 | STO 1 DN980-D SAVE 1ST WORD OF I/O BUFFER PMN53900 02AF D13C 5419 | STO 1 DN992-D SAVE WORD COUNT. PMN53910 02B0 C201 5420 | LD 2 1 LOAD AND SAVE SECOND PMN53920 02B1 D10B 5421 | STO 1 DN980+1-D *WORD OF I/O BUFFER. PMN53930 02B2 C11E 5422 | LD 1 DN984-D LOAD FUNCTION CODE. PMN53940 02B3 1802 5423 | SRA 2 SEE IF WRITE IMMEDIATE. PMN53950 02B4 4C08 02C8 5424 | BSC L DN580,+ BR IF NOT WR IMMEDIATE 2-11 PMN53960 02B6 C133 5425 | LD 1 DN991-D LOAD USERS SECTOR ADDRESS. PMN53970 02B7 E007 5426 | AND DN954 AND OUT ALL BUT SECTOR NO. PMN53980 02B8 ED80 FFEC 5427 | OR I1 DN972-D OR IN CURRENT ARM POSITION. PMN53990 02BA D133 5428 | STO 1 DN991-D STORE AS WORKING SCTR ADDR. PMN54000 02BB 74FF 014A 5429 | MDX L DN230+1,-1 SET FOR RETURN TO CALL+3. PMN54010 02BD C0B0 5430 | LD DN941 2ND WD WRITE IOCC PMN54020 02BE 7057 5431 | MDX DN630 BRANCH TO SET UP FOR WRITE. PMN54030 5432 | * PMN54040 02BF 0007 5433 | DN954 DC /0007 MASK TO OBTAIN SCTR NO. PMN54050 5434 | * PMN54060 02C0 2001 5435 | DN570 LDS 1 SET OVERFLOW INDICATOR. PMN54070 02C1 C580 FFEC 5436 | LD I1 DN972-D LOAD CURRENT ARM POSITION. PMN54080 02C3 805F 5437 | A DN960 ADD TO IT ONE CYLINDER. PMN54090 02C4 D133 5438 | STO 1 DN991-D STORE AS WORKING SECT ADDR. PMN54100 02C5 C11E 5439 | LD 1 DN984-D LOAD FUNCTION CODE. PMN54110 02C6 1802 5440 | SRA 2 PMN54120 02C7 D1E2 5441 | STO 1 DN970-D PMN54130 02C8 09F6 5442 | DN580 XIO 1 DN976-D TEST FOR CART HOME 2-11 PMN54140 02C9 1004 5443 | SLA 4 * 2-11 PMN54150 02CA 4C10 02CF 5444 | BSC L DN582,- BR IF NOT 2-11 PMN54160 02CC 1010 5445 | SLA 16 UPDATE $CYLN 2-11 PMN54170 02CD D580 FFEC 5446 | STO I1 DN972-D *IF YES 2-11 PMN54180 02CF C9E2 5447 | DN582 LDD 1 DN970-D PMN54190 02D0 8052 5448 | A DN960 PMN54200 02D1 E051 5449 | AND DN960 PMN54210 02D2 D8CB 5450 | STD DN952 PMN54220 02D3 6680 029F 5451 | LDX I2 DN952+1 XR2=ADDR OF DEF CYLN PMN54230 02D5 C04E 5452 | LD DN961 PMN54240 02D6 1890 5453 | SRT 16 PMN54250 02D7 D04C 5454 | STO DN961 PMN54260 02D8 C133 5455 | LD 1 DN991-D LD WORKING SCTR ADDR PMN54270 02D9 69C5 5456 | STX 1 DN952+1 SAVE CONTENTS OF XR1. PMN54280 02DA 6103 5457 | LDX 1 3 PMN54290 5458 | * PMN54300 5459 | * CHECK FOR DEFECTIVE CYLINDERS. PMN54310 5460 | * PMN54320 02DB 9200 5461 | DN590 S 2 0 SUB A DEFECTIVE CYL LIMIT. PMN54330 02DC 4C28 02E3 5462 | BSC L DN600,Z+ BR IF NOT DEF CYLN PMN54340 02DE 7408 0324 5463 | MDX L DN961,8 COUNTER FOR UNUSED SCTRS PMN54350 02E0 4820 5464 | BSC Z PMN54360 02E1 90BC 5465 | S DN952 PMN54370 02E2 8040 5466 | A DN960 INCREMENT SCTR ADDR BY 8 PMN54380 02E3 8200 5467 | DN600 A 2 0 ADD THE DEFECTIVE CYL LIMIT PMN54390 02E4 7201 5468 | MDX 2 1 PMN54400 02E5 71FF 5469 | MDX 1 -1 PMN54410 02E6 70F4 5470 | MDX DN590 CHECK NEXT DEFECTIVE ADDR. PMN54420 02E7 6580 029F 5471 | LDX I1 DN952+1 RESTORE CONTENTS OF XR1. PMN54430 02E9 D133 5472 | STO 1 DN991-D LOAD WORKING SECTOR ADDRESS PMN54440 02EA 9039 5473 | S DN961 CHECK FOR ADDR ABOVE PMN54450 02EB 903C 5474 | S DN965 *1600 PMN54460 02EC 4C10 0132 5475 | BSC L DN190,- BR IF OVERFLOW PMN54470 02EE 1090 5476 | SLT 16 PMN54480 02EF D034 5477 | STO DN961 PMN54490 02F0 C580 FFED 5478 | LD I1 DN973-D LOAD FILE PROT ADDR PMN54500 02F2 1004 5479 | SLA 4 SHIFT OUT DR NO PMN54510 02F3 1804 5480 | SRA 4 PMN54520 02F4 9133 5481 | S 1 DN991-D PMN54530 02F5 4C08 02FB 5482 | BSC L DN610,+ BR IF ABOVE FILE PROT ADDR PMN54540 02F7 C11E 5483 | LD 1 DN984-D LOAD FUNCTION CODE. PMN54550 02F8 1801 5484 | SRA 1 SEE IF FUNCTION IS WRITE. PMN54560 02F9 4C04 012E 5485 | BSC L DN180,E BRANCH IF FUNCTION IS WRITE PMN54570 5486 | * PMN54580 5487 | * CHECK TO SEE IF A SEEK IS NECESSARY. PMN54590 5488 | * PMN54600 02FB C133 5489 | DN610 LD 1 DN991-D LOAD WORKING SECTOR ADDRESS PMN54610 02FC 9580 FFEC 5490 | S I1 DN972-D SUB CURRENT ARM POSITION. PMN54620 02FE 1883 5491 | SRT 3 SHIFT IN NO OF CYLS TO SEEK PMN54630 02FF 4C18 030E 5492 | BSC L DN620,+- BR IF SEEK NOT NECESSARY. PMN54640 5493 | * PMN54650 5494 | * SEEK PMN54660 5495 | * PMN54670 0301 1890 5496 | SRT 16 PUT NO. CYLINDERS IN EXT. PMN54700 0302 E023 5497 | AND DN963 AND WITH BIT 13. PMN54710 0303 E823 5498 | OR DN964 OR IN SEEK IOCC WORD. PMN54720 0304 ED80 FFF6 5499 | OR I1 DN977-1-D OR IN AREA CODE. PMN54730 0306 18D0 5500 | RTE 16 PMN54740 0307 4810 5501 | BSC - SKIP IF SEEK TOWARD HOME. PMN54750 0308 7002 5502 | MDX *+2 SKIP NEXT TWO INSTRUCTIONS. PMN54760 0309 F01B 5503 | EOR DN962 COMPLEMENT NO. CYLINDERS TO PMN54770 030A 901A 5504 | S DN962 *BE SOUGHT TO GET POS. NO. PMN54780 030B D892 5505 | STD DN952 STORE IOCC WORDS. PMN54790 030C 0891 5506 | XIO DN952 INITIATE THE SEEK. PMN54800 030D C017 5507 | LD DN962 LOAD NEGATIVE NUMBER. PMN54810 030E D115 5508 | DN620 STO 1 DN983-D STORE IN SEEK FLAG. PMN54820 030F 4C01 027F 5509 | BSC L DN500,O BR IF IN INTRPT PROCESSING. PMN54830 0311 C11E 5510 | LD 1 DN984-D LOAD FUNCTION CODE. PMN54840 0312 1801 5511 | SRA 1 PMN54850 0313 8038 5512 | A DN978 PMN54860 0314 F0AA 5513 | EOR DN954 PMN54870 0315 1008 5514 | SLA 8 PMN54880 0316 D129 5515 | DN630 STO 1 DN986+1-D STORE IN 2ND WORD OF IOCC. PMN54890 0317 2001 5516 | LDS 1 SET OVERFLOW INDICATOR. PMN54900 0318 C13C 5517 | LD 1 DN992-D LOAD REMAINING WORD COUNT. PMN54910 0319 4C30 0284 5518 | BSC L DN510,Z- BR IF OPERATION NOT SEEK. PMN54920 031B C115 5519 | LD 1 DN983-D LOAD SEEK FLAG. PMN54930 031C 4C18 0149 5520 | BSC L DN230,+- BR IF SEEK NOT NECESSARY. PMN54940 031E 4C20 013F 5521 | DN640 BSC L DN220,Z BRANCH IF SEEK NECESSARY. PMN54950 0320 2001 5522 | LDS 1 SET OVERFLOW INDICATOR. PMN54960 0321 4C00 025A 5523 | BSC L DN480 PMN54970 5524 | * PMN54980 5525 | * CONSTANTS AND WORK AREAS. PMN54990 5526 | * PMN55000 5527 | * PMN55010 0323 0008 5528 | DN960 DC 8 NO. SECTORS PER CYLINDER . PMN55020 0324 0000 5529 | DN961 DC *-* TEMPORARY STORAGE PMN55030 0325 FFFF 5530 | DN962 DC -1 CONSTANT OF MINUS ONE. PMN55040 0326 0004 5531 | DN963 DC 4 SEEK HOME BIT. PMN55050 0327 0400 5532 | DN964 DC /0400 SEEK IOCC WORD. PMN55060 0328 0640 5533 | DN965 DC 1600 1+MAX SCTR ADDR PMN55070 0329 5534 | DN966 BSS 5 PMN55080 032E 5535 | BSS E 0 PMN55090 032E 0000 5536 | DN970 DC *-* FUNCTION CODE FOR DRIVE 0 PMN55100 032F 00A4 5537 | DN971 DC $DCYL ADDR OF DEF CYLN FOR DR 0 PMN55110 0330 0000 5538 | DC *-* FUNCTION CODE FOR DRIVE 1 PMN55120 0331 00A7 5539 | DC $DCYL+3 ADDR OF DEF CYLN FOR DR 1 PMN55130 0332 0000 5540 | DC *-* FUNCTION CODE FOR DRIVE 2 PMN55140 0333 00AA 5541 | DC $DCYL+6 ADDR OF DEF CYLN FOR DR 2 PMN55150 0334 0000 5542 | DC *-* FUNCTION CODE FOR DRIVE 3 PMN55160 0335 00AD 5543 | DC $DCYL+9 ADDR OF DEF CYLN FOR DR 3 PMN55170 0336 0000 5544 | DC *-* FUNCTION CODE FOR DRIVE 4 PMN55180 0337 00B0 5545 | DC $DCYL+12 ADDR OF DEF CYLN FOR DR 4 PMN55190 0338 009A 5546 | DN972 DC $CYLN ADDR OF ARM POS OF DRIVE 0 PMN55200 0339 0095 5547 | DN973 DC $FPAD FILE PROTECTED ADDR OF DR 0 PMN55210 033A 009B 5548 | DC $CYLN+1 ADDR OF ARM POS OF DRIVE 1 PMN55220 033B 0096 5549 | DC $FPAD+1 FILE PROTECTED ADDR OF DR 1 PMN55230 033C 009C 5550 | DC $CYLN+2 ADDR OF ARM POS OF DRIVE 2 PMN55240 033D 0097 5551 | DC $FPAD+2 FILE PROTECTED ADDR OF DR 2 PMN55250 033E 009D 5552 | DC $CYLN+3 ADDR OF ARM POS OF DRIVE 3 PMN55260 033F 0098 5553 | DC $FPAD+3 FILE PROTECTED ADDR OF DR 3 PMN55270 0340 009E 5554 | DC $CYLN+4 ADDR OF ARM POS OF DRIVE 4 PMN55280 0341 0099 5555 | DC $FPAD+4 FILE PROTECTER ADDR OF DR 4 PMN55290 0342 009F 5556 | DN976 DC $ACDE ADDR OF AREA CODE OF DR 0 PMN55300 0343 0000 5557 | DN977 DC *-* PMN55310 0344 00A0 5558 | DC $ACDE+1 ADDR OF AREA CODE OF DR 1 PMN55320 0345 0000 5559 | DC *-* PMN55330 0346 00A1 5560 | DC $ACDE+2 ADDR OF AREA CODE OF DR 2 PMN55340 0347 0000 5561 | DC *-* PMN55350 0348 00A2 5562 | DC $ACDE+3 ADDR OF AREA CODE OF DR 3 PMN55360 0349 0000 5563 | DC *-* PMN55370 034A 00A3 5564 | DC $ACDE+4 ADDR OF AREA CODE OF DR 4 PMN55380 034B 0000 5565 | DC *-* PMN55390 034C 0001 5566 | DN978 DC 1 PMN55400 034D FFFF 5567 | DC -1 CURRENT ARM POSITION - DRIVE 0 PMN55410 034E 0001 5568 | DC 1 PMN55420 034F FFFF 5569 | DC -1 CURRENT ARM POSITION - DRIVE 1 PMN55430 0350 0001 5570 | DC 1 PMN55440 0351 FFFF 5571 | DC -1 CURRENT ARM POSITION - DRIVE 2 PMN55450 0352 0001 5572 | DC 1 PMN55460 0353 FFFF 5573 | DC -1 CURRENT ARM POSITION - DRIVE 3 PMN55470 0354 0001 5574 | DC 1 PMN55480 0355 FFFF 5575 | DC -1 CURRENT ARM POSITION - DRIVE 4 PMN55490 0356 5576 | DN980 BSS 10 FIRST TWO WORDS OF I/O BUFFER. PMN55500 0360 0000 5577 | DN982 DC *-* ADDR OF USERS ERR SUBR - DRIVE 0 PMN55510 0361 0000 5578 | DN983 DC *-* SEEK FLAG - DRIVE 0. PMN55520 0362 0000 5579 | DC *-* ADDR OF USERS ERR SUBR - DRIVE 1 PMN55530 0363 0000 5580 | DC *-* SEEK FLAG - DRIVE 1. PMN55540 0364 0000 5581 | DC *-* ADDR OF USERS ERR SUBR - DRIVE 2 PMN55550 0365 0000 5582 | DC *-* SEEK FLAG - DRIVE 2. PMN55560 0366 0000 5583 | DC *-* ADDR OF USERS ERR SUBR - DRIVE 3 PMN55570 0367 0000 5584 | DC *-* SEEK FLAG - DRIVE 3. PMN55580 0368 0000 5585 | DC *-* ADDR OF USERS ERR SUBR - DRIVE 4 PMN55590 0369 0000 5586 | DC *-* SEEK FLAG - DRIVE 4. PMN55600 036A 0000 5587 | DN984 DC *-* FUNCTION CODE - DRIVE 0. PMN55610 036B 0032 5588 | DN985 DC 50 READ/WRITE RETRY CTR - DRIVE 0. PMN55620 036C 0000 5589 | DC *-* FUNCTION CODE - DRIVE 1. PMN55630 036D 0032 5590 | DC 50 READ/WRITE RETRY CTR - DRIVE 1. PMN55640 036E 0000 5591 | DC *-* FUNCTION CODE - DRIVE 2. PMN55650 036F 0032 5592 | DC 50 READ/WRITE RETRY CTR - DRIVE 2. PMN55660 0370 0000 5593 | DC *-* FUNCTION CODE - DRIVE 3. PMN55670 0371 0032 5594 | DC 50 READ/WRITE RETRY CTR - DRIVE 3. PMN55680 0372 0000 5595 | DC *-* FUNCTION CODE - DRIVE 4. PMN55690 0373 0032 5596 | DC 50 READ/WRITE RETRY CTR - DRIVE 4. PMN55700 0374 5597 | DN986 BSS 10 IOCC FOR NEXT OPERATION. PMN55710 037E 0000 5598 | DN990 DC *-* ORIGINAL SECTOR ADDR - DRIVE 0. PMN55720 037F 0000 5599 | DN991 DC *-* WORKING SECTOR ADDRESS - DRIVE 0 PMN55730 0380 0000 5600 | DC *-* ORIGINAL SECTOR ADDR - DRIVE 1. PMN55740 0381 0000 5601 | DC *-* WORKING SECTOR ADDRESS - DRIVE 1 PMN55750 0382 0000 5602 | DC *-* ORIGINAL SECTOR ADDR - DRIVE 2. PMN55760 0383 0000 5603 | DC *-* WORKING SECTOR ADDRESS - DRIVE 2 PMN55770 0384 0000 5604 | DC *-* ORIGINAL SECTOR ADDR - DRIVE 3. PMN55780 0385 0000 5605 | DC *-* WORKING SECTOR ADDRESS - DRIVE 3 PMN55790 0386 0000 5606 | DC *-* ORIGINAL SECTOR ADDR - DRIVE 4. PMN55800 0387 0000 5607 | DC *-* WORKING SECTOR ADDRESS - DRIVE 4 PMN55810 0388 0000 5608 | DN992 DC *-* INTERMEDIATE WORD CNT - DRIVE 0. PMN55820 0389 0000 5609 | DN993 DC *-* WORD COUNT FOR NEXT OP - DRIVE 0 PMN55830 038A 0000 5610 | DC *-* INTERMEDIATE WORD CNT - DRIVE 1. PMN55840 038B 0000 5611 | DC *-* WORD COUNT FOR NEXT OP - DRIVE 1 PMN55850 038C 0000 5612 | DC *-* INTERMEDIATE WORD CNT - DRIVE 2. PMN55860 038D 0000 5613 | DC *-* WORD COUNT FOR NEXT OP - DRIVE 2 PMN55870 038E 0000 5614 | DC *-* INTERMEDIATE WORD CNT - DRIVE 3. PMN55880 038F 0000 5615 | DC *-* WORD COUNT FOR NEXT OP - DRIVE 3 PMN55890 0390 0000 5616 | DC *-* INTERMEDIATE WORD CNT - DRIVE 4. PMN55900 0391 0000 5617 | DC *-* WORD COUNT FOR NEXT OP - DRIVE 4 PMN55910 0392 0000 5618 | DN994 DC *-* ADDR OF USERS I/O AREA - DRIVE 0 PMN55920 0393 0064 5619 | DN995 DC 100 READBACK CHECK COUNTER - DRIVE 0 PMN55930 0394 0000 5620 | DC *-* ADDR OF USERS I/O AREA - DRIVE 1 PMN55940 0395 0064 5621 | DC 100 READBACK CHECK COUNTER - DRIVE 1 PMN55950 0396 0000 5622 | DC *-* ADDR OF USERS I/O AREA - DRIVE 2 PMN55960 0397 0064 5623 | DC 100 READBACK CHECK COUNTER - DRIVE 2 PMN55970 0398 0000 5624 | DC *-* ADDR OF USERS I/O AREA - DRIVE 3 PMN55980 0399 0064 5625 | DC 100 READBACK CHECK COUNTER - DRIVE 3 PMN55990 039A 0000 5626 | DC *-* ADDR OF USERS I/O AREA - DRIVE 4 PMN56000 039B 0064 5627 | DC 100 READBACK CHECK COUNTER - DRIVE 4 PMN56010 5628 | * PMN56020 03A2 5629 | $NEND EQU /3A2 1+END OF DISKN 212 PMN56030 039C 5630 | BSS $NEND-*-6 PATCH AREA 212 PMN56040 5631 | * PMN56050 039C 00A0 5632 | DC @CIL1 CORE IMAGE LDR-PH 1, PH ID PMN56060 039D 0000 5633 | DC *-* CORE ADDRESS PMN56070 039E 0000 5634 | DC *-* WORD COUNT PMN56080 039F 0000 5635 | DC *-* SECTOR ADDRESS PMN56090 03A0 0000 5636 | DC *-* WORD COUNT OF CORE LOAD PMN56100 03A1 0000 5637 | DC *-* SCTR ADDR OF CORE LOAD PMN56110 034C 5638 | D EQU DN978 PMN56120 0001 5639 | DNXR1 EQU /0001 POINT TO XR1 2-9 PMN56130 0002 5640 | DNXR2 EQU /0002 POINT TO XR2 2-9 PMN56140 CORE IMAGE LOADER, PHASE 1 5642 | *************************************************** PMN56170 5643 | *STATUS - VERSION 2, MODIFICATION LEVEL 11 * PMN56180 5644 | *FUNCTION/OPERATION-THIS PHASE PROVIDES THE LINK- * PMN56190 5645 | * AGE BETWEEN THE SKELETON SUPERVISOR AND THE * PMN56200 5646 | * SUPERVISOR, THE CORE LOAD BUILDER, PHASE 2 * PMN56210 5647 | * OF THE CORE IMAGE LOADER, THE DUMP PROGRAM, * PMN56220 5648 | * OR THE AUXILIARY SUPERVISOR. IN PROVIDING * PMN56230 5649 | * THIS LINKAGE THE FOLLOWING FUNCTIONS ARE * PMN56240 5650 | * PERFORMED. * PMN56250 5651 | * * COMMON IS SAVED AS NECESSARY FOR LINKS* PMN56260 5652 | * * THE CORE IMAGE HEADER IS PROCESSED. * PMN56270 5653 | * * THE PROPER VERSION OF DISK I/O IS * PMN56280 5654 | * FETCHED. * PMN56290 5655 | * * THE DISK ADDRESS OF THE NEXT LINK IS * PMN56300 5656 | * FETCHED FROM LET/FLET. * PMN56310 5657 | * * THE AUXILIARY SUPERVISOR IS FETCHED * PMN56320 5658 | * AND CONTROL PASSED TO IT. * PMN56330 5659 | * * MONITOR CTRL RECD ANALYZER IS FETCHED * PMN56340 5660 | * CONTROL PASSED TO IT. * PMN56350 5661 | * * THE DUMP-TO-PRINTER PROGRAM IS FETCHED* PMN56360 5662 | * AND CONTROL PASSED TO IT. * PMN56370 5663 | * * THE CORE LOAD BUILDER OR PHASE 2 OF * PMN56380 5664 | * THE CORE IMAGE LOADER IS FETCHED AS * PMN56390 5665 | * NECESSARY. * PMN56400 5666 | * * PMN56410 5667 | *ENTRY POINTS- * PMN56420 5668 | * CM000 IS THE ONLY ENTRY POINT TO THIS PHASE * PMN56430 5669 | * THE CALLING SEQUENCE IS * PMN56440 5670 | * BSI L CM000 * PMN56450 5671 | *INPUT- NONE * PMN56460 5672 | *OUTPUT- * PMN56470 5673 | * * THE REQUIRED VERSION OF DISK I/O IN THE * PMN56480 5674 | * RESIDENT MONITOR * PMN56490 5675 | * * THE 320 WDS FOLLOWING THE END OF DISK I/O,* PMN56500 5676 | * ADJUSTED TO A COMMON SCTR (I.E.,896-1216 * PMN56510 5677 | * FOR DKZ,1216-1536 FOR DK1/DKN) ON THE CIB * PMN56520 5678 | * IF THE ENTRY IS CALL LINK * PMN56530 5679 | *EXTERNAL REFERENCES- (ALL IN COMMA) * PMN56540 5680 | * * $COMN * PMN56550 5681 | * * $CORE * PMN56560 5682 | * * $CIBA PMN56570 5683 | * * $DBSY PMN56580 5684 | * * $CILA PMN56590 5685 | * * $DREQ PMN56600 5686 | * * $DUMP PMN56610 5687 | * * $CLSW PMN56620 5688 | * * DZ000 PMN56630 5689 | * * $ULET PMN56640 5690 | * * $PHSE PMN56650 5691 | * * $STOP 2-10* PMN56655 5692 | * * $LEV2 PMN56660 5693 | * * $LEV3 2-10* PMN56665 5694 | * $ $LEV4 PMN56670 5695 | * $ $IREQ PMN56680 5696 | * $ $DZ1N PMN56690 5697 | * * $HASH PMN56700 5698 | * * $RMSW PMN56710 5699 | * * $CCAD PMN56720 5700 | * * $CWCT PMN56730 5701 | * * $S910 PMN56740 5702 | * * $DADR PMN56750 5703 | * * $LKNM PMN56760 5704 | * * $DCDE PMN56770 5705 | * * $NEND PMN56780 5706 | *EXITS- NORMAL * PMN56790 5707 | * * TO SUPERVISOR IF ENTERED FROM EXIT * PMN56800 5708 | * * TO CORE LOAD BUILDER OR CORE IMAGE LOADER,* PMN56810 5709 | * ON CALL LINK * PMN56820 5710 | * * TO AUXILIARY SUPERVISOR IF ENTERED FROM * PMN56830 5711 | * $DUMP WITH A NEGATIVE FORMAT CODE. * PMN56840 5712 | * * TO THE DUMP-TO-PRINTER PROGRAM IF ENTERED * PMN56850 5713 | * FROM $DUMP WITH A POSITIVE FORMAT CODE. * PMN56860 5714 | * ERROR-TO AUXILIARY SUPERVISOR IF LINKED * PMN56870 5715 | * PROGRAM NOT IN LET/FLET OR IF LINK-* PMN56880 5716 | * ED PROGRAM IS A DATA FILE * PMN56890 5717 | *TABLES/WORK AREAS- N/A * PMN56900 5718 | *ATTRIBUTES- * PMN56910 5719 | * * REUSABLE * PMN56920 5720 | * * NATURALLY RELOCATABLE * PMN56930 5721 | *NOTES- THIS PHASE IS CALLED INTO THE 320 WORDS * PMN56940 5722 | * IMMEDIATELY FOLLOWING WHATEVER VERSION OF * PMN56950 5723 | * THE DISK I/O IS IN THE RESIDENT. * PMN56960 5724 | *************************************************** PMN56970 CORE IMAGE LOADER, PHASE 1 0000 5726 | ORG 0 PMN56990 *SBRKGL A0 5727 | *CIL CORE IMAGE LOADER - PHASE 1 V2M02 PMN57000 5728 | * PROVIDE PARAMETERS FOR SYSTEM LOADER PMN57010 5729 | * PMN57020 0000 016C 5730 | DC CMEND-* WORD COUNT OF THIS PHASE PMN57030 0001 FF60 5731 | DC -@CIL1 PHASE ID FOR CI LOADER,PH 1 PMN57040 0002 006E 5732 | DC CM980-*+1 ADDR OF SLET EXTRACT PMN57050 0003 0005 5733 | DC 5 NO. ENTRIES IN EXTRACT PMN57060 0002 5734 | ORG *-2 PMN57070 CORE IMAGE LOADER, PHASE 1 0002 0000 5736 | CM000 DC *-* ENTRY POINT PMN57090 0003 1000 5737 | NOP PMN57100 0004 6500 00A0 5738 | LDX L1 @CIL1 PMN57110 0006 6D00 0078 5739 | STX L1 $PHSE PMN57120 0008 6500 00B3 5740 | LDX L1 $I200 PMN57130 000A 6D00 000A 5741 | STX L1 $LEV2 RESTORE $LEV2 PMN57140 000C 6500 00C4 5742 | LDX L1 $I400 PMN57150 000E 6D00 000C 5743 | STX L1 $LEV4 RESTORE $LEV4 PMN57160 0010 6500 00E6 5744 | LDX L1 $I420 RESTORE INTRPT REQUEST 2-2 PMN57170 0012 6D00 002C 5745 | STX L1 $IREQ *TRAP POINTER PMN57180 0014 6500 0091 5746 | LDX L1 $STOP RESTORE 2-6 PMN57190 0016 6D00 000D 5747 | STX L1 $LEV5 *$LEV5 2-6 PMN57200 5748 | * ONE INSTRUCTION MOVED 2-11 PMN57205 0018 6B33 5749 | STX 3 CM105+1 SAVE XR3 PMN57210 0019 637F 5750 | LDX 3 Y PMN57220 001A C397 5751 | LD 3 $RMSW-Y CHECK FOR A DUMP OP 2-11 PMN57222 001B 4830 5752 | BSC -Z SKIP IF LINK OR EXIT 2-11 PMN57224 001C 7002 5753 | MDX CM010 SKIP IF DUMP 2-11 PMN57225 001D 6D00 000B 5754 | STX L1 $LEV3 RESTORE LEV3 INDICATOR 2-11 PMN57226 001F 6832 5755 | CM010 STX 0 CM115+1 SAVE IAR 2-11 PMN57230 5756 | * PMN57240 5757 | * STORE THE 'GET' SUBR IN WORDS $HASH+8 PMN57250 5758 | * PMN57260 0020 C863 5759 | CM020 LDD CM900 PMN57270 0021 DB9D 5760 | STD 3 $HASH+8-Y PMN57280 0022 C863 5761 | LDD CM900+2 PMN57290 0023 DB9F 5762 | STD 3 $HASH+10-Y PMN57300 0024 C863 5763 | LDD CM900+4 PMN57310 0025 DBA1 5764 | STD 3 $HASH+12-Y PMN57320 0026 C863 5765 | LDD CM900+6 PMN57330 0027 DBA3 5766 | STD 3 $HASH+14-Y PMN57340 0028 C863 5767 | LDD CM900+8 PMN57350 0029 DBA5 5768 | STD 3 $HASH+16-Y PMN57360 002A C863 5769 | LDD CM900+10 PMN57370 002B DBA7 5770 | STD 3 $HASH+18-Y PMN57380 002C C3F7 5771 | LD 3 $DZ1N-Y PMN57390 002D 4828 5772 | BSC +Z SKIP IF DISK1/N IS IN CORE PMN57400 002E 7015 5773 | MDX CM080 BR IF DISKZ IS IN CORE PMN57410 002F 4820 5774 | BSC Z SKIP IF DISK1 IS IN CORE PMN57420 0030 7002 5775 | MDX CM030 BR IF DISKN IS IN CORE PMN57430 0031 C063 5776 | LD CM925 FETCH DISK1 LOW COMMON LIM PMN57440 0032 7001 5777 | MDX CM040 BR TO SAVE LOW COMMON PMN57450 0033 C070 5778 | CM030 LD CM990 FETCH DISKN COMMON LIMIT PMN57460 0034 D01B 5779 | CM040 STO CM110+1 PMN57470 0035 D061 5780 | STO CM935 PMN57480 0036 C397 5781 | LD 3 $RMSW-Y FETCH EXIT-LINK-DUMP SWITCH PMN57490 0037 4808 5782 | BSC + SKIP IF CALL DUMP PMN57500 0038 7016 5783 | MDX CM110 BR IF CALL EXIT OR LINK PMN57510 5784 | * PMN57520 5785 | * CALL DUMP PROCESSING PMN57530 5786 | * PMN57540 0039 C39A 5787 | LD 3 $DMPF-Y PMN57550 003A 6580 0017 5788 | LDX I1 $CXR1 RESTORE XR1 PMN57560 003C 4828 5789 | BSC +Z SKIP TO DUMP PROGRAM PMN57570 003D 7008 5790 | MDX CM100 BR TO AUXILIARY SUPERVISOR PMN57580 003E C036 5791 | LD CM982+1 PREPARE TO FETCH DUMP- PMN57590 003F D3A0 5792 | STO 3 $HASH+11-Y *TO PRINTER PROGRAM PMN57600 0040 804F 5793 | A CM904 PMN57610 0041 D39E 5794 | STO 3 $HASH+9-Y PMN57620 0042 C833 5795 | LDD CM982+2 PMN57630 0043 7007 5796 | MDX CM105 PMN57640 0044 C04F 5797 | CM080 LD CM920 FETCH DISKZ COMMON LIMIT PMN57650 0045 70EE 5798 | MDX CM040 *LIMIT, BR TO SAVE 320 WDS PMN57660 0046 C032 5799 | CM100 LD CM984+1 PREPARE TO FETCH THE PMN57670 0047 D3A0 5800 | STO 3 $HASH+11-Y *AUXILIARY SUPERVISOR PMN57680 0048 8047 5801 | A CM904 PMN57690 0049 D39E 5802 | STO 3 $HASH+9-Y PMN57700 004A C82F 5803 | LDD CM984+2 PMN57710 004B 6700 0000 5804 | CM105 LDX L3 *-* RESTORE XR3 PMN57720 004D 1000 5805 | NOP PMN57730 004E 701F 5806 | MDX CM118 FETCH REQUESTED PHASE PMN57740 004F 6500 0000 5807 | CM110 LDX L1 *-* ADDR OF COMMON LIMIT TO XR1 PMN57750 0051 6600 0000 5808 | CM115 LDX L2 *-* ADDR OF CM020 TO XR2 PMN57760 0053 7264 5809 | MDX 2 X-CM020 ADDR OF CM900 TO XR2 PMN57770 0054 C21C 5810 | LD 2 CM976-X SET WORD COUNT OF PMN57780 0055 D100 5811 | STO 1 0 *320 INTO I/O AREA PMN57790 0056 C397 5812 | LD 3 $RMSW-Y FETCH EXIT-DUMP-LINK SWITCH PMN57800 0057 4828 5813 | BSC Z+ SKIP IF CALL LINK PMN57810 0058 7074 5814 | MDX CM140 BRANCH IF CALL EXIT PMN57820 5815 | * PMN57830 5816 | * CALL LINK PROCESSING PMN57840 5817 | * PMN57850 0059 C38F 5818 | LD 3 $CORE-Y PMN57860 005A 9388 5819 | S 3 $COMN-Y PMN57870 005B 90F4 5820 | S CM110+1 PMN57880 005C 920F 5821 | S 2 CM915-X PMN57890 005D 4828 5822 | BSC Z+ SKIP IF NO COMMON TO SAVE PMN57900 005E 4002 5823 | BSI CM117 BR IF NEC TO SAVE COMMON PMN57910 005F 7048 5824 | MDX CM119 BR TO FIND PROG IN LET/FLET PMN57920 5825 | * PMN57930 5826 | * SAVE/RESTORE 320 WDS OF COMMON (LOW COMMON) PMN57940 5827 | * PMN57950 0060 4C00 0000 5828 | BSC L *-* RETURN PMN57960 0061 5829 | CM117 EQU *-1 ENTRY POINT PMN57970 0062 C386 5830 | LD 3 $CIBA-Y FETCH CIB SCTR ADDR PMN57980 0063 D101 5831 | STO 1 1 PMN57990 0064 C831 5832 | LDD CM930 ADDR OF LOW COMMON TO EXT PMN58000 0065 C039 5833 | LD CM965 PMN58010 0066 4373 5834 | BSI 3 DZ000-Y SAVE/RESTORE 320 WDS COMMON PMN58020 0067 7400 00EE 5835 | MDX L $DBSY,0 LOOP UNTIL OPERATION PMN58030 0069 70FD 5836 | MDX *-3 *IS COMPLETE PMN58040 006A 1000 5837 | NOP PMN58050 006B 1810 5838 | SRA 16 SET FUNCTION INDICATOR SO PMN58060 006C D032 5839 | STO CM965 *THAT NEXT TIME IS A READ PMN58070 006D 70F2 5840 | MDX CM117-1 BR TO EXIT PMN58080 5841 | * PMN58090 006E 707C 5842 | CM118 MDX CM180 FETCH REQUESTED PHASE PMN58100 5843 | * INSTRUCTION MOVED 2-2 PMN58110 5844 | * PMN58120 5845 | * PMN58130 5846 | * ABBREVIATED COPY OF SLET, INITIALIZED BY THE PMN58140 5847 | * SYSTEM LOADER PMN58150 5848 | * PMN58160 5849 | * SLET ENTRY FOR SUPERVISOR, PHASE 1 PMN58170 0070 5850 | BSS E 0 PMN58180 0070 006E 5851 | CM980 DC @MCRA PHASE ID PMN58190 0071 0000 5852 | DC *-* CORE ADDR PMN58200 0072 0000 5853 | DC *-* WD CNT PMN58210 0073 0000 5854 | DC *-* SCTR ADDR PMN58220 5855 | * SLET ENTRY FOR DUMP-TO-PRINTER PROGRAM PMN58230 0074 0073 5856 | CM982 DC @SUP6 PHASE ID 2-10 PMN58240 0075 0000 5857 | DC *-* CORE ADDR PMN58250 0076 0000 5858 | DC *-* WD CNT PMN58260 0077 0000 5859 | DC *-* SCTR ADDR PMN58270 5860 | * SLET ENTRY FOR THE AUXILLIARY SUPERVISOR PMN58280 0078 0074 5861 | CM984 DC @SUP7 PHASE ID 2-10 PMN58290 0079 0000 5862 | DC *-* CORE ADDR PMN58300 007A 0000 5863 | DC *-* WD CNT PMN58310 007B 0000 5864 | DC *-* SCTR ADDR PMN58320 5865 | * SLET ENTRY FOR THE CORE LOAD BUILDER, PHASE 0/1 PMN58330 007C 0078 5866 | CM986 DC @CLB0 PHASE ID PMN58340 007D 0000 5867 | DC *-* CORE ADDR PMN58350 007E 0000 5868 | DC *-* WD CNT PMN58360 007F 0000 5869 | DC *-* SCTR ADDR PMN58370 5870 | * SLET ENTRY FOR CORE IMAGE LOADER, PHASE 2 PMN58380 0080 00A1 5871 | CM988 DC @CIL2 PHASE ID PMN58390 0081 0000 5872 | DC *-* CORE ADDR PMN58400 0082 0000 5873 | DC *-* WD CNT PMN58410 0083 0000 5874 | DC *-* SCTR ADDR PMN58420 5875 | * PMN58430 5876 | * CONSTANTS AND WORK AREAS PMN58440 5877 | * EVEN-NUMBERED LABELS ARE ON EVEN BOUNDARIES PMN58450 5878 | * PMN58460 5879 | * PMN58470 5880 | * CALL DISK SUBROUTINE (TO BE MOVED TO $HASH+8) PMN58480 5881 | * PMN58490 0084 4C00 0000 5882 | CM900 BSC L *-* RETURN ENTRY POINT +8 PMN58500 0086 DC00 0000 5883 | STD L *-* STORE WD CNT, SCTR ADDR +10 PMN58510 0088 C0FE 5884 | LD *-2 +12 PMN58520 0089 1890 5885 | SRT 16 +13 PMN58530 008A 4400 00F2 5886 | BSI L DZ000 BRANCH TO DISK I/O +14 PMN58540 008C 7400 00EE 5887 | MDX L $DBSY,0 SKIP WHEN OPERATION DONE PMN58550 008E 70FD 5888 | MDX *-3 BR UNTIL OPERATION DONE +18 PMN58560 008F 70F4 5889 | MDX *-12 BRANCH TO EXIT +19 PMN58570 0090 0002 5890 | CM904 DC 2 CONSTANT OF 2 PMN58580 0091 0000 5891 | CM905 DC *-* NO. SCTRS COMMON TO BE SAVED PMN58590 0092 0000 5892 | CM908 DC *-* WASTEBASKET PMN58600 0093 0142 5893 | CM915 DC 322 2+NO. WDS IN A SECTOR PMN58610 0094 037E 5894 | CM920 DC @COMZ-2 DISKZ LOW COMMON LIMIT - 2 PMN58620 0095 04BE 5895 | CM925 DC @COM1-2 DISK 1 LOW COMMON LIMIT - 2 PMN58630 0096 0000 5896 | CM930 DC 0 DISK I/O FUNCTION INDICATOR PMN58640 0097 0000 5897 | CM935 DC *-* ADDR OF LOW COMMON - 2 PMN58650 0098 1000 5898 | CM940 DC @MCOR ADDR 1ST WD IN 2ND MEM BANK 2-2 PMN58660 0099 0000 5899 | CM945 DC *-* NO. WDS LEFT FOR COMPARISON PMN58670 009A 0000 5900 | CM954 DC *-* CURRENT BLOCK ADDR PMN58680 009B 0010 5901 | CM955 DC 16 NO. OF 1ST SECTOR IN FLET PMN58690 009C 013B 5902 | CM956 DC 320-@LFHD NO. WDS PER LET/FLET SCTR PMN58700 009D 0000 5903 | CM957 DC *-* BLK CNT OF CURR LET/FLET ENTRY PMN58710 009E 0000 5904 | CM960 DC *-* NO. WDS COMMON TO BE SAVED PMN58720 009F 0001 5905 | CM965 DC 1 SAVE/RESTORE INDICATOR (1=SAVE) PMN58730 00A0 0140 5906 | CM976 DC 320 NO. WORDS/SECTOR PMN58740 00A1 F000 5907 | CM977 DC /F000 USED TO 'AND' OUT SCTR ADDR PMN58750 00A2 0003 5908 | CM978 DC @LFEN NO. WDS PER LET/FLET ENTRY PMN58760 00A3 0000 5909 | CM979 DC *-* SAVE AREA FOR DISK REQ INDICATOR PMN58770 00A4 05FE 5910 | CM990 DC @COM2-2 DISKN LOW COMMON LIMIT-2 PMN58780 00A5 000D 5911 | CM991 DC @SCIB-@HCIB 1ST SCTR OF HIGH COMM 2-2 PMN58790 00A6 4400 0000 5912 | CM992 BSI L *-* LONG BSI (MOVED INTO A SUBR) 2-2 PMN58800 5913 | * PMN58810 0084 5914 | X EQU CM900 PMN58820 5915 | * PMN58830 00A8 7044 5916 | CM119 MDX CM220 BR TO SEARCH LET/FLET 2-2 PMN58840 5917 | * PMN58850 00A9 C38F 5918 | CM120 LD 3 $CORE-Y PMN58860 00AA 9388 5919 | S 3 $COMN-Y PMN58870 00AB 90EC 5920 | S CM940 PMN58880 00AC 4810 5921 | BSC - SKIP IF ANY COMMON BELOW PMN58890 00AD 701F 5922 | MDX CM140 *4096, BRANCH OTHERWISE PMN58900 00AE D0E3 5923 | STO CM908 SAVE MINUS NO. WDS TO SAVE PMN58910 00AF 7005 5924 | MDX CM128 BRANCH TO CONTINUE PMN58920 5925 | * PMN58930 5926 | * SAVE COMMON BELOW 4096 (CALL LINK, DSF) PMN58940 5927 | * PMN58950 00B0 C0E1 5928 | CM125 LD CM908 PMN58960 00B1 821C 5929 | A 2 CM976-X ADD 320 PMN58970 00B2 D0DF 5930 | STO CM908 PMN58980 00B3 4830 5931 | BSC -Z SKIP IF DIFFERENCE NOT + PMN58990 00B4 7007 5932 | MDX CM130 *BRANCH OTHERWISE PMN59000 00B5 C20D 5933 | CM128 LD 2 CM905-X ACCUMULATE NO. OF PMN59010 00B6 83BD 5934 | A 3 $S900-Y *SECTOR OF COMMON TO SAVE PMN59020 00B7 D20D 5935 | STO 2 CM905-X PMN59030 00B8 C0E5 5936 | LD CM960 ACCUMULATE NO. WDS TO BE PMN59040 00B9 821C 5937 | A 2 CM976-X *SAVED (TO A SCTR BOUNDARY) PMN59050 00BA D0E3 5938 | STO CM960 PMN59060 00BB 70F4 5939 | MDX CM125 BR TO ACCUMULATE PMN59070 00BC C0DB 5940 | CM130 LD CM940 COMPUTE CORE ADR FROM WHICH PMN59080 00BD 90E0 5941 | S CM960 *SAVING OF COMMON TO START PMN59090 00BE 920C 5942 | S 2 CM904-X ALLOW FOR WD CNT, SCTR ADDR PMN59100 00BF D007 5943 | STO CM135+1 PMN59110 00C0 D3F5 5944 | STO 3 $CCAD-Y PMN59120 00C1 C386 5945 | LD 3 $CIBA-Y COMPUTE SECTOR ADDR ONTO PMN59130 00C2 80E2 5946 | A CM991 *WHICH 1ST 320 WDS ARE 2-2 PMN59140 00C3 90CD 5947 | S CM905 *TO BE SAVED PMN59150 00C4 18D0 5948 | RTE 16 PMN59160 00C5 C0D8 5949 | LD CM960 PMN59170 00C6 DC00 0000 5950 | CM135 STD L *-* STORE DKI/O PARAMETERS PMN59180 00C8 DBF3 5951 | STD 3 $CWCT-Y PMN59190 00C9 C0FD 5952 | LD CM135+1 PMN59200 00CA 18D0 5953 | RTE 16 PMN59210 00CB C3BD 5954 | LD 3 $S900-Y PMN59220 00CC 4373 5955 | BSI 3 DZ000-Y SAVE REST OF 1ST 4K OF CORE PMN59230 5956 | * PMN59240 5957 | * CALL EXIT/CALL LINK (DSF LINK) PROCESSING PMN59250 5958 | * PMN59260 00CD C3F7 5959 | CM140 LD 3 $DZ1N-Y PMN59270 00CE 4828 5960 | BSC Z+ SKIP IF DISK1/N IS IN CORE PMN59280 00CF 7013 5961 | MDX CM160 BRANCH IF DISKZ IS IN CORE PMN59290 00D0 C393 5962 | LD 3 $DREQ-Y SAVE DISK REQUESTED PMN59300 00D1 D0D1 5963 | STO CM979 *INDICATOR PMN59310 00D2 C3BF 5964 | LD 3 $S910-Y FORCE A REQUEST FOR PMN59320 00D3 D393 5965 | STO 3 $DREQ-Y *DISKZ PMN59330 00D4 C0CA 5966 | LD CM965 SET SWITCH TO INDICATE THAT PMN59340 00D5 D399 5967 | STO 3 $CLSW-Y *DISK I/O IS TO BE FETCHED PMN59350 00D6 6D00 001F 5968 | STX L1 $HASH+11 PMN59360 00D8 C8A9 5969 | LDD CM988+2 PMN59370 00D9 439E 5970 | BSI 3 $HASH+9-Y FETCH CIL, PHASE 2 PMN59380 00DA 4102 5971 | BSI 1 2 BR TO CIL, PHASE 2 PMN59390 00DB 6500 00A0 5972 | LDX L1 @CIL1 RESTORE PHASE ID PMN59400 00DD 6D00 0078 5973 | STX L1 $PHSE PMN59410 00DF C0C3 5974 | LD CM979 RESTORE DISK- PMN59420 00E0 D393 5975 | STO 3 $DREQ-Y *REQUESTED INDICATOR PMN59430 00E1 C3BF 5976 | LD 3 $S910-Y PMN59440 00E2 D3F7 5977 | STO 3 $DZ1N-Y SET DISK I/O INDICATOR PMN59450 00E3 C397 5978 | CM160 LD 3 $RMSW-Y FETCH EXIT-LINK-DUMP SWITCH PMN59460 00E4 4818 5979 | BSC -+ SKIP IF CALL EXIT PMN59470 00E5 7057 5980 | MDX CM390 BRANCH IF CALL LINK PMN59480 00E6 C08A 5981 | LD CM980+1 FETCH AND STORE CORE LOAD- PMN59490 00E7 D3A0 5982 | STO 3 $HASH+11-Y *ING ADDR OF MCRA PMN59500 00E8 80A7 5983 | A CM904 GENERATE XEQ ADDR PMN59510 00E9 D39E 5984 | STO 3 $HASH+9-Y *IN DISK CALL SUBROUTINE PMN59520 00EA C887 5985 | LDD CM980+2 SET UP WD CNT, SCTR ADDR PMN59530 00EB 1000 5986 | CM180 NOP PMN59540 00EC 601E 5987 | LDX 0 $HASH+10 BR TO 'GET' SUBR PMN59550 5988 | * PMN59560 5989 | * LOOK UP LINK NAME IN LET/FLET PMN59570 5990 | * PMN59580 00ED 690A 5991 | CM220 STX 1 CM230+1 SAVE XR1 PMN59590 00EE 6940 5992 | STX 1 CM380+1 PMN59600 00EF 695D 5993 | STX 1 CM420+1 PMN59610 00F0 6A16 5994 | STX 2 CM285+1 SAVE XR2 PMN59620 00F1 6200 5995 | LDX 2 0 ZERO TO XR2 212 PMN59660 00F2 72FA 5996 | MDX 2 -@MXDR-1 DECREMENT BY NO DRIVES 212 PMN59670 00F3 1000 5997 | NOP ALLOW FOR SKIP 2-2 PMN59680 00F4 7002 5998 | MDX CM230 BR TO BEGIN SEARCH 2-2 PMN59690 00F5 6600 0000 5999 | CM225 LDX L2 *-* PREPARE TO SEARCH NEXT L2-2 PMN59700 00F7 6500 0000 6000 | CM230 LDX L1 *-* SEARCH NEXT LET TABLE PMN59710 00F9 C600 0033 6001 | LD L2 $ULET+@MXDR+1 FETCH ADDR UA 212 PMN59720 00FB 7201 6002 | MDX 2 1 SKIP IF ALL DRIVES SEARCHED PMN59730 00FC 7003 6003 | MDX CM270 *BRANCH OTHERWISE PMN59740 6004 | * PMN59750 6005 | * OUT TO PRINT ERROR MESSAGE PMN59760 6006 | * PMN59770 00FD 61FD 6007 | CM240 LDX 1 -3 NAME NOT FOUND IN LET 2-2 PMN59780 00FE 7059 6008 | MDX CM470 *FLET,GET ERROR NUMB 2-2 PMN59790 6009 | * PMN59800 00FF 70A9 6010 | CM250 MDX CM120 PMN59810 6011 | * PMN59820 0100 4818 6012 | CM270 BSC +- SKIP IF DISK MOUNTED, PMN59830 0101 70FB 6013 | MDX CM240 *BRANCH OTHERWISE PMN59840 0102 6AF3 6014 | STX 2 CM225+1 SAVE NEXT DRIVE INDICATOR PMN59850 0103 6D00 001F 6015 | CM280 STX L1 $HASH+11 SAVE ADDR OF LET SEARCH BFR PMN59860 0105 18D0 6016 | RTE 16 PMN59870 0106 6600 0000 6017 | CM285 LDX L2 *-* RESTORE XR2 PMN59880 0108 C21C 6018 | LD 2 CM976-X PMN59890 0109 1000 6019 | NOP PMN59900 010A 439E 6020 | BSI 3 $HASH+9-Y FETCH 1 SECTOR OF LET/FLET PMN59910 010B C216 6021 | LD 2 CM954-X INITIALIZE BLK ADDR ACCUM- PMN59920 010C D391 6022 | STO 3 $DADR-Y *ULATOR WITH CURRENT ADDR PMN59930 010D C102 6023 | LD 1 @SCTN+2 FETCH LET/FLET SECTOR NO. PMN59940 010E 4818 6024 | BSC +- SKIP, NOT FIRST LET SECTOR PMN59950 010F 7003 6025 | MDX CM290 *BRANCH OTHERWISE PMN59960 0110 9217 6026 | S 2 CM955-X PMN59970 0111 4820 6027 | BSC Z SKIP IF FIRST SECTOR FLET PMN59980 0112 7004 6028 | MDX CM300 BR, NOT FIRST SCTR LET/FLET PMN59990 0113 C103 6029 | CM290 LD 1 @UAFX+2 INITIALIZE BLK ADDR ACCUM- PMN60000 0114 1004 6030 | SLA 4 *ULATOR TO ADDR 1ST PROGRAM PMN60010 0115 D216 6031 | STO 2 CM954-X *STORED IN LET/FLET PMN60020 0116 D391 6032 | STO 3 $DADR-Y PMN60030 0117 C218 6033 | CM300 LD 2 CM956-X COMPUTE NO. WDS IN CURRENT PMN60040 0118 9105 6034 | S 1 @WDSA+2 *LET/FLET SECTOR PMN60050 0119 D215 6035 | STO 2 CM945-X PMN60060 011A C109 6036 | CM320 LD 1 @BLCT+@LFHD+2 SAVE BLK CNT OF CURRENT PMN60070 011B 4820 6037 | BSC Z SKIP IF SEC ENT PT 2-10 PMN60075 011C D219 6038 | STO 2 CM957-X *LET/FLET ENTRY PMN60080 011D C107 6039 | LD 1 @LFNM+@LFHD+2 SAVE NAME OF CURRENT PMN60090 011E D201 6040 | STO 2 CM900+1-X *LET/FLET ENTRY PMN60100 011F 1002 6041 | SLA 2 PMN60110 0120 1802 6042 | SRA 2 PMN60120 0121 9395 6043 | S 3 $LKNM-Y COMPARE WITH NAME SOUGHT PMN60130 0122 4820 6044 | BSC Z SKIP IF 1ST WDS MATCH, PMN60140 0123 701F 6045 | MDX CM400 *BRANCH OTHERWISE PMN60150 0124 C396 6046 | LD 3 $LKNM+1-Y FETCH 2ND WD OF NAME PMN60160 0125 9108 6047 | S 1 @LFNM+1+@LFHD+2 PMN60170 0126 4820 6048 | BSC Z SKIP IF 2ND WDS MATCH, PMN60180 0127 701B 6049 | MDX CM400 *BRANCH OTHERWISE PMN60190 0128 C109 6050 | LD 1 @BLCT+@LFHD+2 TEST DB CNT 2-10 PMN60192 0129 4820 6051 | BSC Z SKIP IF SEC ENT PT 2-10 PMN60193 012A 7003 6052 | MDX CM380 MATCH WAS OK 2-10 PMN60194 012B C391 6053 | LD 3 $DADR-Y GET ACCUMLATE BLK ADDR 2-10 PMN60196 012C 9219 6054 | S 2 CM957-X DB CNT OF THIS ROUTINE 2-10 PMN60197 012D D391 6055 | STO 3 $DADR-Y POINT BACK TO MAIN ENT 2-10 PMN60198 012E 6500 0000 6056 | CM380 LDX L1 *-* RESTORE XR1 PMN60200 0130 C101 6057 | LD 1 1 PMN60210 0131 E21D 6058 | AND 2 CM977-X PMN60220 0132 D3F8 6059 | STO 3 $DCDE-Y STORE DRIVE CODE OF PROGRAM PMN60230 0133 C2DD 6060 | LD 2 CM117-X PMN60240 0134 4820 6061 | BSC Z SKIP IF NO COMMON SAVED PMN60250 0135 42DD 6062 | BSI 2 CM117-X BR TO RESTORE 320 COMMON PMN60260 0136 C201 6063 | LD 2 CM900+1-X FETCH FIRST WORD OF NAME PMN60270 0137 1001 6064 | SLA 1 PMN60280 0138 4828 6065 | BSC +Z TEST PROGRAM FORMAT PMN60290 0139 701D 6066 | MDX CM460 BRANCH IF DATA FILE PMN60300 013A 4802 6067 | BSC C SKIP IF PROGRAM IN DSF, PMN60310 013B 7022 6068 | MDX CM480 *BR FOR CORE IMAGE FORMAT PMN60320 013C 70C2 6069 | MDX CM250 BR TO CHECK COMMON PMN60330 013D C2F9 6070 | CM390 LD 2 CM986+1-X PREPARE TO FETCH CORE LOAD PMN60340 013E D3A0 6071 | STO 3 $HASH+11-Y *BUILDER, PHASE 1 PMN60350 013F 820C 6072 | A 2 CM904-X PMN60360 0140 D39E 6073 | STO 3 $HASH+9-Y PMN60370 0141 CAFA 6074 | LDD 2 CM986+2-X PMN60380 0142 70A8 6075 | CM395 MDX CM180 BR TO EXIT FROM CIL, PH 1 PMN60390 0143 C391 6076 | CM400 LD 3 $DADR-Y PMN60400 0144 8109 6077 | A 1 @BLCT+@LFHD+2 CURRENT DB CNT 2-10 PMN60410 0145 D391 6078 | STO 3 $DADR-Y ACCUMULATED BLOCK ADDR PMN60420 0146 7103 6079 | MDX 1 @LFEN POINT TO NEXT LET/FLET ENT PMN60430 0147 C215 6080 | LD 2 CM945-X PMN60440 0148 921E 6081 | S 2 CM978-X DECREMENT LET/FLET COUNT PMN60450 0149 D215 6082 | STO 2 CM945-X PMN60460 014A 4820 6083 | BSC Z SKIP WHEN SECTOR SEARCHED, PMN60470 014B 70CE 6084 | MDX CM320 *BRANCH OTHERWISE PMN60480 6085 | * PMN60490 6086 | * PREPARE TO READ DOWN A NEW LET/FLET SECTOR PMN60500 6087 | * PMN60510 014C 6500 0000 6088 | CM420 LDX L1 *-* ADDR OF BUFFER TO XR1 PMN60520 014E C391 6089 | LD 3 $DADR-Y INITIALIZE BLOCK ADDR WITH PMN60530 014F D216 6090 | STO 2 CM954-X *PRESENT ACCUMULATED ADDR PMN60540 0150 C106 6091 | LD 1 @NEXT+2 PMN60550 0151 4818 6092 | BSC +- SKIP UNLESS LAST LET/FLET PMN60560 0152 70A2 6093 | MDX CM225 BR TO INITIALIZE NEW DRIVE PMN60570 0153 C101 6094 | LD 1 1 FETCH CURRENT SECTOR ADDR PMN60580 0154 E21D 6095 | AND 2 CM977-X MASK OUT SECTOR ADDRESS PMN60590 0155 E906 6096 | OR 1 @NEXT+2 MASK IN NEXT SECTOR ADDRESS PMN60600 0156 70AC 6097 | MDX CM280 BRANCH TO CONTINUE PMN60610 6098 | * PMN60620 6099 | * OUT TO PRINT ERROR MESSAGE PMN60630 6100 | * PMN60640 0157 61FC 6101 | CM460 LDX 1 -4 ATTEMT TO EXEQ DATA FIL2-2 PMN60650 0158 6904 6102 | CM470 STX 1 CM995 SET ER CODE FOR AUX SUP2-2 PMN60660 0159 6114 6103 | LDX 1 $LKNM PREVENT SKELETON SUP TO2-2 PMN60670 015A 6D00 0039 6104 | STX L1 $LINK *DESTROY LINK NAME 2-2 PMN60680 015C 43C0 6105 | BSI 3 $DUMP-Y BR TO GET AUX SUP 2-2 PMN60690 015D 0000 6106 | CM995 DC *-* SLOT FOR ERROR CODE 2-2 PMN60700 6107 | * PMN60710 6108 | * FETCH THE CORE IMAGE LOADER, PHASE 2 PMN60720 6109 | * PMN60730 015E 6500 03A0 6110 | CM480 LDX L1 $NEND-2 END OF DISKN MINUS 2 TO XR1 PMN60740 0160 C000 6111 | LD * FETCH ANY NEG VALUE PMN60750 0161 D399 6112 | STO 3 $CLSW-Y CLEAR CIL SWITCH PMN60760 0162 6D00 001F 6113 | STX L1 $HASH+11 SAVE ADDR OF LET SEARCH BFR PMN60770 0164 7102 6114 | MDX 1 2 PMN60780 0165 6D00 001D 6115 | STX L1 $HASH+9 STORE EXECUTION ADDR PMN60790 0167 C222 6116 | LD 2 CM992-X PMN60800 0168 D39D 6117 | STO 3 $HASH+8-Y PMN60810 0169 CAFE 6118 | LDD 2 CM988+2-X SET UP WD CNT, SCTR ADDR PMN60820 016A 70D7 6119 | MDX CM395 BR TO FETCH CIL, PH 2 2-2 PMN60830 6120 | * PMN60840 6121 | * PMN60850 016B 6122 | BSS 2 PATCH AREA 2-11 PMN60860 016D 0000 6123 | DC 0 PATCH AREA PMN60870 016D 6124 | CMEND EQU *-1 PMN60880 016E 6125 | BSS E 322 LET/FLET SECTOR BUFFER PMN60890 CORE IMAGE LOADER, PHASE 2 6127 | *************************************************** PMN60910 6128 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * PMN60920 6129 | *FUNCTION/OPERATION- THIS PHASE READS THE REQUEST-* PMN60930 6130 | * ED VERSION OF THE DISK I/O SUBR INTO CORE* PMN60940 6131 | * AND UPDATES THE SKELETON SUPERVISOR WITH THE* PMN60950 6132 | * ADDR OF THE END OF THE DISK I/O SUBR. * PMN60960 6133 | * CIL, PHASE 2 WILL, IN ADDITION, FETCH AND * PMN60970 6134 | * TRANSFER CONTROL TO A CORE IMAGE PROGRAM. * PMN60980 6135 | *ENTRY POINTS- LD000 IS THE ONLY ENTRY POINT. THE * PMN60990 6136 | * CALLING SEQUENCE IS * PMN61000 6137 | * BSI L LD000 * PMN61010 6138 | *INPUT- NONE * PMN61020 6139 | *OUTPUT- THE ONLY OUTPUT IS THE VERSION OF THE * PMN61030 6140 | * DISK SUBROUTINE REQUESTED, WHICH WILL BE * PMN61040 6141 | * FOUND IN THE RESIDENT MONITOR AT DZ000. * PMN61050 6142 | *EXTERNAL REFERENCES- * PMN61060 6143 | * * $PHSE PMN61070 6144 | * * $CLSW PMN61080 6145 | * * $DADR PMN61090 6146 | * * $DCDE PMN61100 6147 | * * $HASH PMN61110 6148 | * * $IBT4 PMN61120 6149 | * * $WRD1 PMN61130 6150 | * * $CORE PMN61140 6151 | * * $LEV0 PMN61150 6152 | * * $LEV1 PMN61160 6153 | * * $LEV2 PMN61170 6154 | * * $LEV3 PMN61180 6155 | * * $LEV4 PMN61190 6156 | * * $LEV5 PMN61200 6157 | * * $LNXQ 2-9 PMN61210 6158 | * * $CLSW PMN61220 6159 | * * $CIBA PMN61230 6160 | * * $WSDR PMN61240 6161 | * * $FPAD PMN61250 6162 | * * $LSAD PMN61260 6163 | * * $DREQ PMN61270 6164 | * * $:Z1N PMN61280 6165 | * * DZ000 PMN61290 6166 | * * $DBSY PMN61300 6167 | * * $1END PMN61310 6168 | * * $NEND PMN61320 6169 | * * $ZEND PMN61330 6170 | * * $CILA PMN61340 6171 | * * $IBT2 PMN61350 6172 | * * $COMN PMN61360 6173 | * * $CCAD PMN61370 6174 | * * $CWCT PMN61380 6175 | * * $DDSW PMN61390 6176 | * * $CYLN PMN61400 6177 | * * $PRET PMN61410 6178 | * * $PST2 PMN61420 6179 | * * $DCYL PMN61430 6180 | * * $ACDE PMN61440 6181 | * * $XR3X 2-2* PMN61450 6182 | *EXITS- NORMAL * PMN61460 6183 | * * TO THE CALLER * PMN61470 6184 | * * TO THE REQUESTED CORE LOAD * PMN61480 6185 | * ERROR- * PMN61490 6186 | * * $PRET * PMN61500 6187 | * * $PST2 * PMN61510 6188 | *TABLES/WORK AREAS-N/A * PMN61520 6189 | * BY THE SYSTEM LOADER * PMN61530 6190 | *ATTRIBUTES- * PMN61540 6191 | * NATURALLY RELOCATABLE * PMN61550 6192 | *NOTES- THIS PHASE CONTAINS A DISK SUBROUTINE THAT* PMN61560 6193 | * READS THE REQUESTED VERSION OF DISK I/O * PMN61570 6194 | * DIRECTLY INTO DZ000. * PMN61580 6195 | *************************************************** PMN61590 CORE IMAGE LOADER, PHASE 2 6197 | * PROVIDE PARAMETERS FOR SYSTEM LOADER PMN61610 6198 | * PMN61620 0000 6199 | ORG 0 PMN61630 *SBRKGL A1 6200 | *CIL CORE IMAGE LOADER - PHASE 2 V2M04 PMN61640 0000 01C0 6201 | DC LDEND-* WORD COUNT OF THIS PHASE PMN61650 0001 FF5F 6202 | DC -@CIL2 PHASE ID FOR CI LOADER,PH 2 PMN61660 0002 0096 6203 | DC LD930-*+1 ADDR OF SLET TABLE EXTRACT PMN61670 0003 0003 6204 | DC 3 COUNT OF SLET ENTRIES PMN61680 0002 6205 | ORG *-2 PMN61690 CORE IMAGE LOADER, PHASE 2 0002 0000 6207 | LD000 DC *-* ENTRY POINT PMN61710 0003 1000 6208 | NOP PMN61720 0004 6700 00A1 6209 | LDX L3 @CIL2 2-10 PMN61730 0006 6F00 0078 6210 | STX L3 $PHSE 2-9 PMN61740 0008 637F 6211 | LDX 3 Y 2-9 PMN61750 0009 6964 6212 | STX 1 LD055+1 SAVE XR1 2-9 PMN61760 000A 6A65 6213 | STX 2 LD055+3 SAVE XR2 2-9 PMN61770 000B 6801 6214 | STX 0 *+1 PMN61780 000C 6500 0000 6215 | LD010 LDX L1 *-* PMN61790 000E 7500 01B6 6216 | MDX L1 RAREA-LD010 PMN61800 0010 C39C 6217 | LD 3 $HASH+7-Y SET WITH -1 BY MCRA 2-9 PMN61810 0011 1890 6218 | SRT 16 *IF XEQ 2-9 PMN61820 0012 4828 6219 | BSC +Z 2-9 PMN61830 0013 C07A 6220 | LD LD902 SET +1 IF XEQ 2-9 PMN61840 0014 93BD 6221 | S 3 $S900-Y *OR -1 IF LINK 2-10 PMN61850 0015 D3F1 6222 | STO 3 $LNXQ-Y *IF XEQ SET +1 2-9 PMN61860 0016 C399 6223 | LD 3 $CLSW-Y FETCH CORE IMAGE LDR SWITCH PMN61870 0017 4830 6224 | BSC Z- SKIP IF FETCHING CORE LOAD PMN61880 0018 7076 6225 | MDX LD060 BR IF FETCHING DISK1/DISKN PMN61890 0019 C391 6226 | LD 3 $DADR-Y PREPARE TO FETCH THE PMN61900 001A 1804 6227 | SRA 4 CONVERT FROM DB TO SCTR ADR PMN61910 001B EBF8 6228 | OR 3 $DCDE-Y OR IN THE DRIVE CODE PMN61920 001C 18D0 6229 | RTE 16 *CORE IMAGE HEADER PMN61930 001D C079 6230 | LD LD915 PMN61940 001E 6D00 001F 6231 | STX L1 $HASH+11 PMN61950 0020 439E 6232 | BSI 3 $HASH+9-Y FETCH CORE IMAGE HEADER PMN61960 0021 0000 6233 | DC *-* RETURN FROM FETCHING CI HDR PMN61970 0022 C104 6234 | LD 1 @DREQ+2 2-1 PMN61980 0023 4828 6235 | BSC Z+ SKIP IF DISK1/N 2-1 PMN61990 0024 7003 6236 | MDX LD012 *BR OTHERWISE 2-1 PMN62000 0025 C109 6237 | LD 1 @XCTL+2 STORE EXIT CONTROL ADR 2-1 PMN62010 0026 D400 00FB 6238 | STO L @DKEP+2 *IN DISK1/N 2-1 PMN62020 0028 C10C 6239 | LD012 LD 1 @XR3X+2 FETCH XR3 SETTING 2-1 PMN62030 0029 D03E 6240 | STO LD025+1 PMN62040 002A D365 6241 | STO 3 $XR3X-Y SAVE IN COMMA 2-2 PMN62050 002B C108 6242 | LD 1 @LDAD+2 FETCH LOADING ADDR PMN62060 002C 8069 6243 | A LD905 *AND COMPUTE ADDR OF THE PMN62070 002D D355 6244 | STO 3 $IBT4-Y *IBT FOR LEVEL 4 PMN62080 002E C108 6245 | LD 1 @LDAD+2 FETCH LOADING ADDR PMN62090 002F D3FC 6246 | STO 3 $WRD1-Y PMN62100 0030 905D 6247 | S LD902 COMPUTE LOADING 2-9 PMN62110 0031 D030 6248 | STO LD020+1 *ADDRESS MINUS TWO PMN62120 0032 C10A 6249 | LD 1 @TVWC+2 FETCH THE TV WORD COUNT PMN62130 0033 D036 6250 | STO LD025+3 PMN62140 0034 4818 6251 | BSC +- SKIP IF NO TV PMN62150 0035 700A 6252 | MDX LD015 *BRANCH OTHERWISE PMN62160 0036 C108 6253 | LD 1 @LDAD+2 FETCH LOADING ADDR, PMN62170 0037 810B 6254 | A 1 @WCNT+2 *ADD THE WORD COUNT, PMN62180 0038 910A 6255 | S 1 @TVWC+2 *SUB THE TV WORD COUNT, PMN62190 0039 93BD 6256 | S 3 $S900-Y *AND 1 TO GET ADDR FR 2-10 PMN62200 003A D07C 6257 | STO FROM *WHICH TV IS TO BE MOVED PMN62210 003B C11D 6258 | LD 1 @CORE+2 FETCH CORE SIZE 2-10 PMN62220 003C 9103 6259 | S 1 @CMON+2 *SUB THE WD CNT OF COMMON, PMN62230 003D 910A 6260 | S 1 @TVWC+2 *THE TV WORD COUNT, PMN62240 003E 93BD 6261 | S 3 $S900-Y *AND 1 TO GET ADDR TO 2-10 PMN62250 003F D079 6262 | STO TO *WHICH THE TV TO BE MOVED PMN62260 0040 C102 6263 | LD015 LD 1 @XEQA+2 FETCH CORE LOAD EXEC ADDR PMN62270 0041 D07B 6264 | STO ABXEQ PMN62280 6265 | * PMN62290 6266 | * FILL IN THE INTERRUPT TRANSFER VECTOR PMN62300 6267 | * PMN62310 0042 C10D 6268 | LD 1 @ITVX+2 PMN62320 0043 D389 6269 | STO 3 $LEV0-Y LEVEL 0 BRANCH ADDR PMN62330 0044 C10E 6270 | LD 1 @ITVX+3 PMN62340 0045 D38A 6271 | STO 3 $LEV1-Y LEVEL 1 BRANCH ADDR PMN62350 0046 C10F 6272 | LD 1 @ITVX+4 PMN62360 0047 D06C 6273 | STO LEVL2 LEVEL 2 BRANCH ADDR 2-2 PMN62370 0048 C110 6274 | LD 1 @ITVX+5 PMN62380 0049 D38C 6275 | STO 3 $LEV3-Y LEVEL 3 BRANCH ADDR PMN62390 004A C111 6276 | LD 1 @ITVX+6 PMN62400 004B D38D 6277 | STO 3 $LEV4-Y LEVEL 4 BRANCH ADDR PMN62410 004C C112 6278 | LD 1 @ITVX+7 PMN62420 004D D38E 6279 | STO 3 $LEV5-Y LEVEL 5 BRANCH ADDR PMN62430 004E C399 6280 | LD 3 $CLSW-Y FETCH CORE IMAGE LOADER SW PMN62440 004F 4810 6281 | BSC - *AND SKIP IF PROG IN USER- PMN62450 0050 7023 6282 | MDX LD030 *FIXED AREA. BR IF IN CIB PMN62460 0051 C391 6283 | LD 3 $DADR-Y PMN62470 0052 1804 6284 | SRA 4 PMN62480 0053 EBF8 6285 | OR 3 $DCDE-Y STORE SCTR ADDR OF CORE PMN62490 0054 D040 6286 | STO LD900+1 *LOAD, INCLUDING DRIVE CODE PMN62500 0055 C10B 6287 | LD 1 @WCNT+2 PMN62510 0056 8051 6288 | A LD985 PMN62520 0057 1890 6289 | SRT 16 CONVERT CORE LOAD WORD CNT PMN62530 0058 A84B 6290 | D LD960 *TO A SCTR CNT AND ADD TO PMN62540 0059 803B 6291 | A LD900+1 STORE ADDR OF 1ST LOCAL/ PMN62550 005A D04B 6292 | STO LD970 *SOCAL, INCLUDING DRIVE CD PMN62560 005B C399 6293 | LD 3 $CLSW-Y FETCH CORE IMAGE LOADER SW PMN62570 005C 1001 6294 | SLA 1 *AND SET CARRY IF XEQ DCI PMN62580 005D C048 6295 | LD LD970 PMN62590 005E 4802 6296 | BSC C SKIP IF XEQ DSF (NOT DCI) PMN62600 005F 9107 6297 | S 1 @LSCT+2 ADJUST FOR FILES IN WS PMN62610 0060 7019 6298 | MDX LD040 *LOAD (ADDR OF LOCAL/SOCAL) PMN62620 6299 | * PMN62630 6300 | * PMN62640 6301 | * PMN62650 0061 6500 0000 6302 | LD020 LDX L1 *-* LOADING ADDR - 2 TO XR1 PMN62660 0063 1810 6303 | SRA 16 PMN62670 0064 D3F8 6304 | STO 3 $DCDE-Y CLEAR DR CODE INDICATOR 2-2 PMN62680 0065 D3F9 6305 | STO 3 $PHSE-Y INDICATE USER PROG IN CTRL PMN62690 0066 C82D 6306 | LDD LD900 FETCH CORE LOAD WD CNT PMN62700 0067 6700 0000 6307 | LD025 LDX L3 *-* POINT XR3 AT TRANSFER VECTR PMN62710 0069 6600 0000 6308 | LDX L2 *-* TV WD CNT TO XR2 PMN62720 006B 6014 6309 | LDX 0 $HASH BR TO FETCH THE CORE LOAD PMN62730 6310 | * PMN62740 6311 | * PMN62750 006C C095 6312 | LD050 LD LD000 2-9 PMN62760 006D 6500 0000 6313 | LD055 LDX L1 *-* RESTORE XR1 2-9 PMN62770 006F 6600 0000 6314 | LDX L2 *-* RESTORE XR2 2-9 PMN62780 0071 D001 6315 | STO *+1 2-9 PMN62790 0072 4C00 0000 6316 | BSC L *-* RETURN TO CIL, PHASE 1 2-9 PMN62800 6317 | * 2-9 PMN62810 6318 | * 2-9 PMN62820 6319 | * 2-9 PMN62830 0074 C386 6320 | LD030 LD 3 $CIBA-Y FETCH DRIVE CODE, SCTR ADDR PMN62840 0075 D01F 6321 | STO LD900+1 *OF THE CIB PMN62850 0076 6680 007A 6322 | LDX I2 $WSDR DRIVE CODE OF WS TO XR2 PMN62860 0078 C600 0095 6323 | LD L2 $FPAD FETCH ADDR OF WKNG STGE PMN62870 007A D3F6 6324 | LD040 STO 3 $LSAD-Y STORE LOCAL/SOCAL SCTR ADDR PMN62880 007B C399 6325 | LD 3 $CLSW-Y FETCH CORE IMAGE LDR SWITCH PMN62890 007C 4828 6326 | BSC Z+ SKIP IF FETCHING DISK I/O PMN62900 007D 7040 6327 | MDX LD075 *OR XEQ DSF, BR IF XEQ DCI PMN62910 007E C108 6328 | LD 1 @LDAD+2 PMN62920 007F 9027 6329 | S LD980 PMN62930 0080 4810 6330 | BSC - SKIP IF AT LEAST PART OF PMN62940 0081 7009 6331 | MDX LD045 *CORE LD IS BELOW 4K 2-9 PMN62950 0082 C108 6332 | LD 1 @LDAD+2 COMPARE ADDR OF END OF CORE PMN62960 0083 810B 6333 | A 1 @WCNT+2 *LOAD WITH 4096 PMN62970 0084 9022 6334 | S LD980 PMN62980 0085 4808 6335 | BSC + SKIP IF PART OF CORE LOAD PMN62990 0086 7037 6336 | MDX LD075 *RESIDES ABOVE 4095 PMN63000 0087 D01E 6337 | STO LD970 SAVE AMOUNT ABOVE 4095 PMN63010 0088 C10B 6338 | LD 1 @WCNT+2 REDUCE CORE LOAD WD CNT BY PMN63020 0089 901C 6339 | S LD970 *AMOUNT ABOVE 4095 PMN63030 008A 7034 6340 | MDX LD080 BR TO STORE WD CNT PMN63040 008B C007 6341 | LD045 LD LD903 IF CORE LD ABOVE 4K 2-9 PMN63050 008C D01D 6342 | STO GETCL *FORCE $HASH CODE TO 2-9 PMN63060 008D 7032 6343 | MDX LD085 *SKIP DISK READ 2-9 PMN63070 6344 | * PMN63080 008E 0002 6345 | LD902 DC 2 CONSTANT 2 2-9 PMN63100 6346 | * PMN63110 008F C393 6347 | LD060 LD 3 $DREQ-Y PMN63120 0090 4820 6348 | BSC Z SKIP IF DISK1 REQUESTED PMN63130 0091 7071 6349 | MDX LD400 BR UNLESS DISK1 REQUESTED PMN63140 0092 7035 6350 | MDX LD090 BR TO CONTINUE PROCESSING PMN63150 6351 | * PMN63160 6352 | * PMN63180 6353 | * CONSTANTS AND WORK AREA PMN63190 6354 | * EVEN-NUMBERED LABELS ARE ON EVEN BOUNDARIES PMN63200 6355 | * PMN63210 0093 7008 6356 | LD903 DC /7008 SKIP DK IO IN $HASH AREA2-9 PMN63220 0094 6357 | BSS E 0 PMN63230 0094 0000 6358 | LD900 DC *-* WORD COUNT AND SECTOR ADDR PMN63240 0095 0000 6359 | DC *-* *FOR CORE LOAD PMN63250 6360 | * 2-9 PMN63260 0096 0010 6361 | LD905 DC @ILS4-@XEQA-1 IBT ADDR IN CI HDR PMN63270 6362 | * CONSTANT MOVED 2-9 PMN63280 0097 001E 6363 | LD915 DC @HEND-@XEQA+1 WD CNT OF CI HEADER PMN63290 0098 6364 | BSS E 0 PMN63300 6365 | * SLET ENTRY FOR DISKZ PMN63310 0098 0096 6366 | LD930 DC @DZID PHASE ID FOR DISKZ PMN63320 0099 0000 6367 | DC *-* CORE ADDR PMN63330 009A 0000 6368 | DC *-* WORD COUNT PMN63340 009B 0000 6369 | DC *-* SECTOR ADDR PMN63350 6370 | * SLET ENTRY FOR DISK1 PMN63360 009C 0097 6371 | LD940 DC @D1ID PHASE ID FOR DISK1 PMN63370 009D 0000 6372 | DC *-* CORE ADDR PMN63380 009E 0000 6373 | DC *-* WORD COUNT PMN63390 009F 0000 6374 | DC *-* SECTOR ADDR PMN63400 6375 | * SLET ENTRY FOR DISKN PMN63410 00A0 0098 6376 | LD950 DC @DNID PHASE ID FOR DISKN PMN63420 00A1 0000 6377 | DC *-* CORE ADDR PMN63430 00A2 0000 6378 | DC *-* WORD COUNT PMN63440 00A3 0000 6379 | DC *-* SECTOR ADDR PMN63450 00A4 0140 6380 | LD960 DC 320 NO. WORDS/SECTOR PMN63460 00A5 00F7 6381 | LD965 DC @DKIP DISK I/O INTERRUPT ENTRY PT PMN63470 00A6 0000 6382 | LD970 DC *-* WASTEBASKET PMN63480 6383 | * CONSTANT MOVED 2-9 PMN63490 00A7 1000 6384 | LD980 DC @MCOR MINIMUM CORE SIZE SUPPOR2-2 PMN63500 00A8 013F 6385 | LD985 DC 319 WORDS/SECTOR MINUS 1 PMN63510 6386 | * PMN63520 6387 | * SUBR TO FETCH THE CORE LOAD AND TRANSFER TO IT. PMN63530 6388 | * (TO BE MOVED TO SKELETON SUPERVISOR WORK AREA) PMN63540 6389 | * PMN63550 00A9 70B7 6390 | LD070 MDX LD020 INTERMEDIATE BRANCH 2-10 PMN63555 00AA 6391 | BSS E 0 PMN63560 00AA 1000 6392 | GETCL NOP PMN63570 00AB D100 6393 | STO 1 0 STORE CORE LOAD WORD COUNT PMN63580 00AC 18D0 6394 | RTE 16 PMN63590 00AD D101 6395 | STO 1 1 STORE DISK ADDR OF CORE LD PMN63600 00AE 69FB 6396 | STX 1 GETCL LOADING ADDR MINUS 2 PMN63610 00AF C0FA 6397 | LD GETCL *MOVED INTO PMN63620 00B0 611A 6398 | LDX 1 $HASH+6 ADDR RETN TO XR1 2-2 PMN63630 00B1 7042 6399 | MDX X $S200-$HASH-7-1 BR TO SKELETON SUP2-2 PMN63640 00B2 0000 6400 | DC *-* RETURN FROM SKELETON SUP2-2 PMN63650 00B3 6500 0000 6401 | LDX L1 *-* STORE ADDR OF LEVEL 2-2 PMN63660 00B4 6402 | LEVL2 EQU *-1 *2 IBT ENTRY IN 2-2 PMN63670 00B5 69EA 6403 | STX X1 $LEV2-$HASH-11-1 2-2 PMN63680 00B6 C600 0000 6404 | LD L2 *-* FETCH 1 WD OF THE TV PMN63690 00B7 6405 | FROM EQU *-1 ADDR FROM WHICH TV MOVED PMN63700 00B8 D600 0000 6406 | STO L2 *-* MOVE IT TO PROPER LOCATION PMN63710 00B9 6407 | TO EQU *-1 ADDR TO WHICH TV MOVED PMN63720 00BA 72FF 6408 | MDX 2 -1 SKIP WHEN TV MOVED PMN63730 00BB 70FA 6409 | MDX *-6 MOVE ANOTHER WORD PMN63740 00BC 4C00 0000 6410 | BSC L *-* GIVE CONTROL TO THE CORE LD PMN63750 00BD 6411 | ABXEQ EQU *-1 EXECUTION ADDR OF CORE LOAD PMN63760 6412 | * PMN63770 6413 | * PMN63780 6414 | * PMN63790 00BE C10B 6415 | LD075 LD 1 @WCNT+2 FETCH WD CNT OF CORE LOAD PMN63800 00BF D0D4 6416 | LD080 STO LD900 PMN63810 00C0 C104 6417 | LD085 LD 1 @DREQ+2 FETCH DISK REQUEST INT 2-10 PMN63820 00C1 93F7 6418 | S 3 $DZ1N-Y PMN63830 00C2 4818 6419 | BSC +- BRANCH IF UNNECESSARY TO PMN63840 00C3 701B 6420 | MDX LD200 *FETCH DISK I/O PMN63850 00C4 C104 6421 | LD 1 @DREQ+2 FETCH DISK REQUESTED IND PMN63860 00C5 D3F7 6422 | STO 3 $DZ1N-Y RESTORE DISK I/O IND. PMN63870 00C6 4820 6423 | BSC Z BRANCH IF DISKZ OR DISKN PMN63880 00C7 703B 6424 | MDX LD400 *REQUESTED PMN63890 6425 | * PMN63900 6426 | * PREPARE TO FETCH DISK1 PMN63910 6427 | * PMN63920 00C8 C8D5 6428 | LD090 LDD LD940+2 DISK1 WD CNT, SCTR ADDR PMN63930 00C9 6600 0290 6429 | LDX L2 $1END-4 END OF DISK1 - 4 TO XR2 PMN63940 6430 | * PMN63950 6431 | * FETCH THE REQUESTED VERSION OF DISK I/O PMN63960 6432 | * PMN63970 00CB DB71 6433 | LD100 STD 3 DZ000-2-Y STORE WD CNT, SCTR ADDR PMN63980 00CC 6E00 005A 6434 | STX L2 $CILA STORE ADDR OF DISK I/O - 4 PMN63990 00CE C109 6435 | LD 1 @XCTL+2 PMN64000 00CF D0D6 6436 | STO LD970 PMN64010 00D0 C104 6437 | LD 1 @DREQ+2 PMN64020 00D1 D3F7 6438 | STO 3 $DZ1N-Y PMN64030 00D2 403B 6439 | BSI DR000 READ IN DISK I/O PMN64040 00D3 1000 6440 | NOP PMN64050 00D4 C399 6441 | LD 3 $CLSW-Y FETCH CORE IMAGE LDR SWITCH PMN64060 00D5 4830 6442 | BSC Z- SKIP IF FETCHING A CORE PMN64070 00D6 7003 6443 | MDX LD150 *LOAD, BRANCH OTHERWISE PMN64080 00D7 C0CE 6444 | LD LD970 FETCH DISK EXIT CTRL ADDR PMN64090 00D8 4820 6445 | BSC Z SKIP IF EXIT CTRL ADDR ZERO PMN64100 00D9 D37C 6446 | STO 3 @DKEP+2-Y STORE EXIT CTRL IN DISK1/N PMN64110 00DA C0CA 6447 | LD150 LD LD965 PMN64120 00DB D33A 6448 | STO 3 $IBT2-Y *DISKZ,1,N PMN64130 00DC C399 6449 | LD 3 $CLSW-Y FETCH CORE IMAGE LDR SWITCH PMN64140 00DD 4830 6450 | BSC Z- SKIP IF FETCHING CORE LOAD PMN64150 00DE 708D 6451 | MDX LD050 BR IF FETCHING DISK1/DISKN PMN64160 6452 | * PMN64170 6453 | * MOVE SUBR FOR FETCHING THE CORE LOAD TO THE PMN64180 6454 | * WORK AREA IN THE SKELETON SUPERVISOR PMN64190 6455 | * PMN64200 00DF C399 6456 | LD200 LD 3 $CLSW-Y FETCH CIL SWITCH 2-6 PMN64210 00E0 4828 6457 | BSC Z+ SKIP IF FETCH DISK I/O 2-6 PMN64220 00E1 700A 6458 | MDX LD250 *OR XEQ DSF, BR IF DCI 2-6 PMN64230 00E2 C38F 6459 | LD 3 $CORE-Y PMN64240 00E3 9388 6460 | S 3 $COMN-Y PMN64250 00E4 90C2 6461 | S LD980 PMN64260 00E5 4810 6462 | BSC - SKIP IF ANY COMMON BELOW PMN64270 00E6 7005 6463 | MDX LD250 *4096, BRANCH OTHERWISE PMN64280 00E7 C3F5 6464 | LD 3 $CCAD-Y FETCH ADDR OF COMMON PMN64290 00E8 D3A0 6465 | STO 3 $HASH+11-Y PMN64300 00E9 CBF3 6466 | LDD 3 $CWCT-Y FETCH PARAMS FOR COMMON PMN64310 00EA 439E 6467 | BSI 3 $HASH+9-Y RESTORE COMMON BELOW 4096 PMN64320 00EB 0000 6468 | DC *-* RETURN FROM RESTORING COMMN PMN64330 00EC C103 6469 | LD250 LD 1 @CMON+2 FETCH WD CNT OF COMMON PMN64340 00ED D388 6470 | STO 3 $COMN-Y PMN64350 00EE C8BB 6471 | LDD GETCL PMN64360 00EF DB95 6472 | STD 3 $HASH-Y PMN64370 00F0 C8BB 6473 | LDD GETCL+2 PMN64380 00F1 DB97 6474 | STD 3 $HASH+2-Y PMN64390 00F2 C8BB 6475 | LDD GETCL+4 PMN64400 00F3 DB99 6476 | STD 3 $HASH+4-Y PMN64410 00F4 C8BB 6477 | LDD GETCL+6 PMN64420 00F5 DB9B 6478 | STD 3 $HASH+6-Y PMN64430 00F6 C8BB 6479 | LDD GETCL+8 PMN64440 00F7 DB9D 6480 | STD 3 $HASH+8-Y PMN64450 00F8 C8BB 6481 | LDD GETCL+10 PMN64460 00F9 DB9F 6482 | STD 3 $HASH+10-Y PMN64470 00FA C8BB 6483 | LDD GETCL+12 PMN64480 00FB DBA1 6484 | STD 3 $HASH+12-Y PMN64490 00FC C8BB 6485 | LDD GETCL+14 PMN64500 00FD DBA3 6486 | STD 3 $HASH+14-Y PMN64510 00FE C8BB 6487 | LDD GETCL+16 PMN64520 00FF DBA5 6488 | STD 3 $HASH+16-Y PMN64530 0100 C8BB 6489 | LDD GETCL+18 PMN64540 0101 DBA7 6490 | STD 3 $HASH+18-Y PMN64550 0102 70A6 6491 | MDX LD070 BR TO FETCH CORE LOAD PMN64560 6492 | * PMN64570 0103 4810 6493 | LD400 BSC - BRANCH IF DISKN PMN64580 0104 7004 6494 | MDX LD500 *REQUESTED PMN64590 6495 | * PMN64600 6496 | * PREPARE TO FETCH DISKZ PMN64610 6497 | * PMN64620 0105 C894 6498 | LDD LD930+2 DISKZ WD CNT, SCTR ADDR PMN64630 0106 6600 01DC 6499 | LDX L2 $ZEND-4 END OF DISKZ - 4 TO XR2 PMN64640 0108 70C2 6500 | MDX LD100 PMN64650 6501 | * PMN64660 6502 | * PREPARE TO FETCH DISKN PMN64670 6503 | * PMN64680 0109 C898 6504 | LD500 LDD LD950+2 DISKN WD CNT, SCTR ADDR PMN64690 010A 6600 039E 6505 | LDX L2 $NEND-4 END OF DISKN - 4 TO XR2 PMN64700 010C 70BE 6506 | MDX LD100 PMN64710 CORE IMAGE LOADER, PHASE 2 (DISKR) 010D 4C00 0000 6508 | BSC L *-* RETURN PMN64730 010E 6509 | DR000 EQU *-1 ENTRY POINT PMN64740 010F 2843 6510 | STS DR219 SAVE STATUS 2-12 PMN64745 0110 693F 6511 | STX 1 DR217+1 SAVE XR1 PMN64750 0111 6A40 6512 | STX 2 DR217+3 SAVE XR2 PMN64760 0112 6801 6513 | STX 0 DR010+1 SET UP THE INTERRUPT PMN64770 0113 6600 0000 6514 | DR010 LDX L2 *-* *ENTRY ADDRESS IN THE PMN64780 0115 720C 6515 | MDX 2 DR150-DR010 *LEVEL 2 INTRRUPT PMN64790 0116 6E00 00B9 6516 | STX L2 $IBT2 *BRANCH TABLE PMN64800 6517 | * PMN64810 0118 7411 00EE 6518 | DR030 MDX L $DBSY,@TCNT TURN BUSY INDICATOR ON, PMN64820 011A 703F 6519 | MDX DR230 BR TO CONTINUE PMN64830 011B 4C40 0000 6520 | DR060 BOSC L *-* BR TO SERVICE THE INTERRUPT PMN64840 6521 | * PMN64850 6522 | * START ALL DISK OPERATIONS PMN64860 6523 | * PMN64870 011D 0818 6524 | DR070 XIO DR904 START AN OPERATION PMN64880 011E 3000 6525 | WAIT WAIT OUT THE INTERRUPT PMN64890 6526 | * PMN64900 6527 | * ENTRY POINT FOR INTERRUPTS PMN64910 6528 | * PMN64920 011F 0000 6529 | DR150 DC *-* INTERRUPT ENTRY POINT PMN64930 0120 081B 6530 | XIO DR910 SENSE THE DSW PMN64940 0121 D35E 6531 | STO 3 $DDSW-Y SAVE THE DSW PMN64950 0122 4850 6532 | BOSC - SKIP IF ERROR BIT SET PMN64960 0123 70F7 6533 | MDX DR060 BRANCH IF ERROR BIT NOT SET PMN64970 0124 C80F 6534 | DR185 LDD DR902 RESTORE WORD COUNT PMN64980 0125 D900 6535 | STD 1 0 *AND SECTOR ADDRESS PMN64990 0126 74FF 00EE 6536 | MDX L $DBSY,-1 SKIP IF 17 RETRIES DONE 2-8 PMN65000 0128 7031 6537 | MDX DR230 BRANCH IF LESS THAN 17 2-8 PMN65010 6538 | * PMN65020 6539 | * TRAP OUT TO POSTOPERATIVE TRAP PMN65030 6540 | * PMN65040 0129 C814 6541 | LDD DR912 1+SCTR ADDR TO EXTENSION PMN65050 012A C016 6542 | LD DR915 PMN65060 012B 4306 6543 | DR190 BSI 3 $PST2-Y BR TO POSTOPERATIVE ER TRAP PMN65070 012C 1810 6544 | SRA 16 CLEAR PMN65080 012D D31B 6545 | STO 3 $CYLN-Y *ARM POSTION PMN65090 012E 70E9 6546 | MDX DR030 RETRY OPERATION PMN65100 012F 70F4 6547 | DR195 MDX DR185 BR TO TRAP OUT PMN65110 0130 5000 6548 | DR935 DC /5000 NOT READY DISPLAY CODE 2-10 PMN65115 6549 | * PMN65120 6550 | * CONSTANTS AND WORK AREAS PMN65130 6551 | * PMN65140 0132 6552 | BSS E 0 PMN65150 6553 | * EVEN-NUMBERED LABELS ARE ON EVEN BOUNDARIES PMN65160 0132 0001 6554 | DR900 DC 1 CONSTANT,READ-AFTER-SEEK WD CNT PMN65170 0133 0000 6555 | DR901 DC 0 CURRENT ARM POSITION PMN65180 0134 0000 6556 | DR902 DC *-* LAST TWO WORDS OF SECTOR PMN65190 0135 0000 6557 | DC *-* *PREVIOUSLY READ PMN65200 0136 0000 6558 | DR904 DC *-* IOCC FOR OPERATION CURRENTLY PMN65210 0137 0000 6559 | DC *-* *BEING PERFORMED PMN65220 0138 0000 6560 | DR906 DC *-* SAVE AREA FOR IOCC FOR PMN65230 0139 0000 6561 | DR907 DC *-* *USER-REQUESTED OPERATION PMN65240 013A 0000 6562 | DR908 DC *-* IOCC FOR READ PMN65250 013B 0000 6563 | DR909 DC *-* *AFTER SEEK PMN65260 013C 0000 6564 | DR910 DC *-* 2ND WORD OF SEEK IOCC PMN65270 013D 0000 6565 | DR911 DC *-* SENSE IOCC PMN65280 013E 0000 6566 | DR912 DC *-* INTERMEDIATE WORD COUNT PMN65290 013F 0000 6567 | DR913 DC *-* ADDR OF NEXT SEQUENTIAL SECTOR PMN65300 0140 5002 6568 | DR914 DC /5002 WRITE SELECT/POWER UNSAFE INDR PMN65310 0141 5004 6569 | DR915 DC /5004 READ/SEEK ERROR INDICATOR PMN65320 0142 FEC0 6570 | DR916 DC -320 TO BE USED TO SIMULTANEOUSLY PMN65330 0143 0001 6571 | DC 1 *DECR WD CNT, INCR SCTR ADDR PMN65340 0144 0000 6572 | DR990 DC *-* CURRENT SECTOR NO. PMN65350 0145 0600 6573 | DR925 DC /0600 2ND WD OF READ IOCC W/O AREA CD PMN65360 0146 0008 6574 | DR930 DC 8 NO. SECTORS PER CYLINDER PMN65370 0147 0FF8 6575 | DR940 DC /0FF8 'AND' OUT DR CODE, SCTR ADDR PMN65390 0148 0141 6576 | DR985 DC 321 NO. WORDS PER SECTOR (W/ ADDR) PMN65400 0149 0701 6577 | DR950 DC /0701 SENSE IOCC W/O AREA CODE PMN65410 014A 0007 6578 | DR955 DC /0007 'AND' OUT ALL BUT SCTR NO. PMN65420 014B 0400 6579 | DR980 DC /0400 2ND WD OF SEEK IOCC W/O AREA CD PMN65430 014C 9325 6580 | DR996 DC /9300+$DCYL-Y FOR REST DR280 2-8 PMN65450 0132 6581 | A EQU DR900 PMN65460 6582 | * PMN65470 6583 | * PMN65480 6584 | * PMN65490 014D 1810 6585 | DR210 SRA 16 PMN65500 6586 | * PMN65510 014E D36F 6587 | STO 3 $DBSY-Y CLEAR BUSY INDICATOR PMN65520 014F 6500 0000 6588 | DR217 LDX L1 *-* RESTORE XR1 PMN65530 0151 6600 0000 6589 | LDX L2 *-* RESTORE XR2 PMN65540 0153 2000 6590 | DR219 LDS 0 RESTORE STATUS 2-11 PMN65545 0154 70B8 6591 | MDX DR000-1 TO EXIT PMN65550 6592 | * PMN65560 6593 | * PREPARE TO TRAP OUT ON 'POWER UNSAFE' CONDITION PMN65570 6594 | * PMN65580 0155 C0EA 6595 | DR215 LD DR914 PMN65590 0156 70D4 6596 | MDX DR190 BR TO TPAP OUT PMN65600 6597 | * PMN65610 6598 | * PREPARE TO TRAP OUT ON 'NOT READY' CONDITION PMN65620 6599 | * PMN65630 0157 C0D8 6600 | DR220 LD DR935 FETCH ERROR CODE PMN65640 0158 43A9 6601 | BSI 3 $PRET-Y BR TO PREOPERATIVE ERR TRAP PMN65650 0159 7029 6602 | MDX DR340 RETRY THE OPERATION PMN65660 6603 | * 5 INSTRUCTIONS REMOVED 2-2 PMN65670 015A 6500 00F0 6604 | DR230 LDX L1 DZ000-2 ADDR I/O AREA TO XR1 PMN65680 015C C900 6605 | LDD 1 0 PMN65690 015D D8D6 6606 | STD DR902 SAVE WORD COUNT, SCTR ADDR PMN65700 015E D8DF 6607 | STD DR912 PMN65710 015F 62FD 6608 | DR240 LDX 2 -3 INITIALIZE COUNTER FOR LOOP PMN65720 0160 69D7 6609 | STX 1 DR906 PMN65730 0161 C101 6610 | LD 1 1 FETCH DESIRED SECTOR ADDR PMN65740 0162 E0E4 6611 | AND DR940 'AND' OUT SECTOR NO. PMN65750 0163 D101 6612 | DR250 STO 1 1 *AND DRIVE CODE PMN65760 0164 9325 6613 | DR280 S 3 $DCYL-Y SUB DEFECTIVE CYLINDER ADDR PMN65770 0165 4828 6614 | BSC Z+ SKIP IF BAD CYLINDER PMN65780 0166 7008 6615 | MDX DR300 BR TO CONTINUE PROCESSING PMN65790 0167 C0FC 6616 | LD DR280 POINT TO NEXT DEFECTIVE CYL PMN65800 0168 80C9 6617 | A DR900 PMN65810 0169 D0FA 6618 | STO DR280 PMN65820 016A C101 6619 | LD 1 1 PMN65830 016B 80DA 6620 | A DR930 INCREMENT SCTR ADD BY 8 PMN65840 016C 7201 6621 | MDX 2 1 SKIP AFTER 3RD PASS PMN65850 016D 70F5 6622 | MDX DR250 COMPARE W/ NEXT DEF CYL ADR PMN65860 016E D101 6623 | STO 1 1 CYL ADDR ADJ 3RD DEF CYL2-4 PMN65870 016F C0DC 6624 | DR300 LD DR996 RESTORE DR280 2-8 PMN65880 0170 D0F3 6625 | STO DR280 * 2-8 PMN65890 6626 | * PMN65900 6627 | * CONSTRUCT THE 2ND WORD OF ALL IOCC'S PMN65910 6628 | * PMN65920 0171 6680 00B9 6629 | LDX I2 $IBT2 LOAD XR2 WITH PMN65930 0173 7213 6630 | MDX 2 DR900-DR150 *ADDR OF DR900 PMN65940 0174 6AC5 6631 | STX 2 DR908 PMN65950 0175 C0C9 6632 | LD DR913 FETCH SECTOR ADDRESS PMN65960 0176 E0D3 6633 | AND DR955 'AND' OUT ALL BUT SECTOR NO PMN65970 0177 D0CC 6634 | STO DR990 SAVE SECTOR NO. PMN65980 0178 C320 6635 | LD 3 $ACDE-Y FETCH AREA CODE PMN65990 0179 E8D1 6636 | OR DR980 'OR' IN SEEK FUNCTION CODE PMN66000 017A D0C1 6637 | STO DR910 SEEK IOCC MINUS DIRECTION PMN66010 017B E8C9 6638 | OR DR925 'OR' IN READ FUNCTION PMN66020 017C D0BE 6639 | STO DR909 IOCC FOR READ AFTER SEEK PMN66030 017D E8C6 6640 | OR DR990 'OR' IN SECTOR NO. PMN66040 017E D0BA 6641 | STO DR907 2ND WORD OF READ IOCC PMN66050 017F C320 6642 | LD 3 $ACDE-Y PMN66060 0180 E8C8 6643 | OR DR950 'OR' IN SENSE IOCC BITS PMN66070 0181 D0BB 6644 | STO DR911 COMPLETED SENSE IOCC PMN66080 0182 C8BB 6645 | LDD DR912 1+SCTR ADDR TO EXTENSION PMN66090 0183 08B8 6646 | DR340 XIO DR910 SENSE FOR DISK READY PMN66100 0184 D35E 6647 | STO 3 $DDSW-Y SAVE THE DSW PMN66110 0185 4828 6648 | BSC Z+ SKIP UNLESS POWER UNSAFE OR PMN66120 0186 70CE 6649 | MDX DR215 *WRITE SELECT, BR OTHERWISE PMN66130 0187 1002 6650 | SLA 2 BR TO PREOPERATIVE ERR TRAP PMN66140 0188 4828 6651 | BSC Z+ *IF DISK NOT READY, SKIP PMN66150 0189 70CD 6652 | MDX DR220 *OTHERWISE PMN66160 6653 | * 3 INS UCTIONS REMOVED 2-2 PMN66170 018A C101 6654 | LD 1 1 FETCH DESIRED CYLINDER ADDR PMN66180 018B 931B 6655 | S 3 $CYLN-Y SUBTRACT ARM POSITION PMN66190 018C 4818 6656 | BSC +- SKIP IF SEEK NECESSARY PMN66200 018D 7013 6657 | MDX DR400 BRANCH TO PERFORM OPERATION PMN66210 6658 | * PMN66220 6659 | * SEEK PMN66230 6660 | * PMN66240 018E 1893 6661 | SRT 19 PUT NO. CYLINDERS IN EXT PMN66250 018F 180F 6662 | SRA 15 + OR - SIGN TO BIT 15 PMN66260 0190 1002 6663 | SLA 2 SHIFT SIGN TO BIT 13 PMN66270 0191 E8AA 6664 | OR DR910 OR IN REMAINDER OF IOCC PMN66280 0192 18D0 6665 | RTE 16 PMN66290 0193 4810 6666 | BSC - SKIP IF SEEK TOWARD HOME PMN66300 0194 7002 6667 | MDX DR380 BRANCH IF SEEK TOWARD CENTR PMN66310 0195 F3BF 6668 | EOR 3 $S910-Y COMPLEMENT NO CYL TO BE2-10 PMN66320 0196 809B 6669 | A DR900 *SOUGHT TO GET POSITIVE PMN66330 0197 D89E 6670 | DR380 STD DR904 PMN66340 0198 42EA 6671 | DR390 BSI 2 DR070-1-A START SEEK 2-2 PMN66350 6672 | * PMN66360 6673 | * SEEK COMPLETE INTERRUPT PROCESSING PMN66370 6674 | * PMN66380 0199 C8A0 6675 | LDD DR908 SET UP IOCC FOR PMN66390 019A D89B 6676 | STD DR904 *READ AFTER SEEK PMN66400 019B 42EA 6677 | BSI 2 DR070-1-A START READ-AFTER-SEEK PMN66410 6678 | * PMN66420 6679 | * READ-AFTER-SEEK COMPLETE INTERRUPT PROCESSING PMN66430 6680 | * PMN66440 019C C096 6681 | LD DR901 FETCH ADR OF SCTR JUST READ PMN66450 019D D31B 6682 | STO 3 $CYLN-Y UPDATE ARM POSITION PMN66460 019E 9101 6683 | S 1 1 SUB DESIRED SCTR ADDR PMN66470 019F 4820 6684 | BSC Z BR IF SEEK UNSUCCESSFUL, PMN66480 01A0 708E 6685 | MDX DR195 *SKIP OTHERWISE PMN66490 6686 | * PMN66500 6687 | * PMN66510 6688 | * READ PMN66520 6689 | * PMN66530 01A1 C89C 6690 | DR400 LDD DR912 FETCH INTERMEDIATE WD CNT PMN66540 01A2 4808 6691 | BSC + SKIP, WD CNT NOT EXHAUSTED PMN66550 01A3 70A9 6692 | DR410 MDX DR210 BRANCH IF READ/WRITE DONE PMN66560 01A4 889D 6693 | AD DR916 DECREMENT WORD COUNT AND PMN66570 01A5 D898 6694 | STD DR912 *INCREMENT SECTOR ADDRESS PMN66580 01A6 4830 6695 | BSC Z- SKIP IF THIS IS LAST SECTOR PMN66590 01A7 1810 6696 | SRA 16 CLEAR ACCUMULATOR PMN66600 01A8 809F 6697 | A DR985 ADD BACK 321 TO WORD CNT PMN66610 01A9 D100 6698 | STO 1 0 STORE RESULT IN I/O AREA PMN66620 01AA CA06 6699 | LDD 2 DR906-A RESTORE IOCC FOR ORIGINAL PMN66630 01AB DA04 6700 | STD 2 DR904-A *REQUESTED OPERATION PMN66640 01AC C101 6701 | LD 1 1 ADD SECTOR NO. TO SECTOR PMN66650 01AD E896 6702 | OR DR990 *ADDRESS PMN66660 01AE D101 6703 | STO 1 1 PMN66670 01AF 42EA 6704 | BSI 2 DR070-1-A START READ OPERATION PMN66680 6705 | * PMN66690 6706 | * READ COMPLETE INTERRUPT PROCESSING PMN66700 6707 | * PMN66710 01B0 CA02 6708 | LDD 2 DR902-A RESTORE LAST 2 WDS OF SEC PMN66720 01B1 D900 6709 | STD 1 0 *TOR PREVIOUSLY READ PMN66730 01B2 C20C 6710 | LD 2 DR912-A FETCH INTERMEDIATE WD CNT PMN66740 01B3 4808 6711 | BSC + SKIP IF MORE READING PMN66750 01B4 70EE 6712 | MDX DR410 BRANCH IF FINISHED PMN66760 01B5 7500 0140 6713 | MDX L1 320 POINT XR1 TO NEW I/O AREA PMN66770 01B7 C900 6714 | LDD 1 0 SAVE LAST 2 WDS OF SECTOR PMN66780 01B8 DA02 6715 | STD 2 DR902-A *JUST READ PMN66790 01B9 CA0C 6716 | LDD 2 DR912-A WD CNT,SCTR ADDR NEXT OP PMN66800 01BA D900 6717 | STD 1 0 STORE BOTH IN NEW I/O AREA PMN66810 01BB 70A3 6718 | MDX DR240 BACK TO SET UP OPERATION PMN66820 6719 | * PMN66830 6720 | * PMN66840 01BC 6721 | BSS /01C1-* PATCH AREA 2-10 PMN66850 01C1 0000 6722 | DC 0 PATCH AREA PMN66860 01C1 6723 | LDEND EQU *-1 PMN66870 01C2 6724 | RAREA BSS E @HEND-@XEQA+1 CI HEADER BUFFER PMN66880 01E0 6725 | END * PMN66890 There were no errors in this assembly Program transfer address = 01E0 === CROSS REFERENCES ========================================================== Name Val Defd Referenced #ACIN 001C 917 #ANDU 0023 923 #BNDU 0028 924 #CBSW 000A 900 #CIAD 001B 916 #CIBA 003C 928 #CIDN 0037 927 #CSHN 005A 934 #DBCT 0006 896 #DCSW 0018 913 #ECNT 0021 922 #ENTY 0010 906 #FCNT 0007 897 #FHOL 0014 909 #FLET 004B 931 #FMAT 0046 930 #FPAD 002D 925 #FSZE 0015 910 #GCNT 001E 919 #GRPH 001D 918 #JBSW 0009 899 #LCNT 000B 901 #LOSW 001F 920 #MDF1 000D 903 #MDF2 000E 904 #MPSW 000C 902 #NAME 0004 895 #NCNT 000F 905 #PCID 0032 926 #PIOD 0019 914 #PPTR 001A 915 #RP67 0011 907 #SCRA 0041 929 #SYSC 0008 898 #TODR 0012 908 #UHOL 0016 911 #ULET 0050 932 #USZE 0017 912 #WSCT 0055 933 #X3SW 0020 921 $1132 007F 384 1761 2093 $1403 0080 385 1245 1395 $1END 0294 4900 4455 4457 4902 6429 $ACDE 009F 446 703 704 1095 1115 4723 5556 5558 5560 5562 5564 6635 6642 $ACEX 001A 965 320 $CCAD 0074 373 5944 6464 $CH12 0006 255 1135 $CIBA 0005 254 313 1092 1113 5830 5945 6320 $CIDN 01DB 886 1098 $CILA 005A 966 346 6434 $CLSW 0018 963 5967 6112 6223 6280 6293 6325 6441 6449 6456 $COMN 0007 256 5819 5919 6460 6470 $CORE 000E 268 5818 5918 6459 $CPTR 007E 383 $CTSW 000F 269 2633 2919 3340 3844 $CWCT 0072 371 5951 6466 $CXR1 0017 962 323 5788 $CYLN 009A 436 702 704 1104 4746 4790 4825 4837 5546 5548 5550 5552 5554 6545 6655 6682 $DADR 0010 270 6022 6032 6053 6055 6076 6078 6089 6226 6283 $DBSY 00EE 559 618 662 719 741 837 839 969 1103 1135 4488 4511 4534 4604 4610 4676 4699 4869 5029 5082 5101 5167 5168 5227 5835 5887 6518 6536 6587 $DCDE 0077 376 6059 6228 6285 6304 $DCYL 00A4 457 702 1093 4762 4768 5537 5539 5541 5543 5545 6580 6613 $DDSW 00DD 539 657 793 4580 5293 6531 6647 $DMPF 0019 964 325 5787 $DREQ 0012 272 5962 5965 5975 6347 $DUMP 003F 319 324 555 1122 6105 $DZ1N 0076 375 5771 5959 5977 6418 6422 6438 $EXIT 0038 303 4557 $FLSH 0071 369 $FPAD 0095 427 4712 4723 4746 4762 4768 4790 4825 4837 5547 5549 5551 5553 5555 6323 $GCOM 0063 352 $GRIN 0064 353 $HASH 0014 274 960 961 962 963 964 965 5760 5762 5764 5766 5768 5770 5792 5794 5800 5802 5968 5970 5982 5984 5987 6015 6020 6071 6073 6113 6115 6117 6217 6231 6232 6309 6398 6399 6403 6465 6467 6472 6474 6476 6478 6480 6482 6484 6486 6488 6490 $I200 00B3 483 262 494 5740 $I205 00B8 489 967 $I210 00BA 490 484 485 486 $I290 00C2 495 487 493 $I400 00C4 515 264 534 5742 $I403 00D0 525 522 $I405 00D3 529 968 2226 3665 $I410 00D5 530 517 518 519 $I420 00E6 552 5744 $I425 00EA 555 554 $I490 00DE 540 516 533 $I492 00E0 541 520 $I494 00E2 544 526 $I496 00E4 549 553 972 $I499 006E 365 361 $IBSY 0013 273 2611 2716 2728 2902 2999 3034 3144 3175 3256 3655 3657 3716 3846 $IBT2 00B9 967 6448 6516 6629 $IBT4 00D4 968 6244 $IOCT 0032 294 358 720 739 1111 1228 1410 1736 2080 2345 2369 2612 2717 2903 2998 3177 3257 3712 3738 3811 3822 3903 4512 4535 4697 5083 5159 $IREQ 002C 288 523 5745 $KCSW 007C 381 2346 $LAST 0033 295 2678 2742 2746 2974 2978 2991 $LEV0 0008 260 6269 $LEV1 0009 261 6271 $LEV2 000A 262 1100 5741 6403 $LEV3 000B 263 5754 6275 $LEV4 000C 264 5743 6277 $LEV5 000D 265 5747 6279 $LINK 0039 307 338 6104 $LKNM 0014 960 344 6043 6046 6103 $LNXQ 0070 367 6222 $LSAD 0075 374 6324 $NDUP 0034 296 $NEND 03A2 5629 4986 4988 5630 6110 6505 $NXEQ 0035 297 $PAUS 00F0 970 $PBSY 0036 298 1231 1236 1285 1300 1354 1396 1706 1731 1761 1769 1902 2061 2083 2110 2211 2215 2350 2368 $PGCT 0037 299 1437 1478 1769 1770 2260 2291 $PHSE 0078 377 5739 5973 6210 6305 $PRET 0028 283 285 734 1290 1413 1731 2203 2691 2703 2883 3029 3059 3141 3651 3715 4516 5063 6601 $PST1 0081 389 391 $PST2 0085 395 397 669 4587 4628 5096 5201 6543 $PST3 0089 401 403 $PST4 008D 407 409 1248 2202 2955 3140 3650 $RMSW 0016 961 337 5751 5781 5812 5978 $RWCZ 00F1 971 $S000 0052 336 303 $S100 0053 337 309 329 $S150 0059 343 966 $S200 005E 347 6399 $S250 0065 357 321 345 349 362 $S300 0066 358 360 $S900 003C 311 326 328 5934 5954 6221 6256 6261 $S910 003E 314 336 5964 5976 6668 $SCAN 0020 277 1901 1960 2041 2049 2110 2113 $SCAT 0011 271 359 $SNLT 00EF 969 $SSTS 006D 364 322 $STOP 0091 414 265 416 5746 $SYSC 00E0 542 $UFDR 007D 382 $UFIO 0079 378 $ULET 002D 289 6001 $WRD1 007B 380 6246 $WSDR 007A 379 6322 $XR3X 00E4 972 6241 $ZEND 01E0 881 611 613 882 6499 '1132 008D 943 1652 '1134 0091 947 3128 '1403 008C 942 1211 '1442 0090 946 2859 '2501 008F 945 2579 'BLCT 0002 1012 6036 6050 6077 'CDCV 0093 949 4101 'CIDN 0004 1029 'CIL1 00A0 955 885 4903 5632 5731 5738 5972 'CIL2 00A1 956 5871 6202 6209 'CLB0 0078 941 5866 'CMON 0001 987 6259 6469 'COM1 04C0 1019 5895 'COM2 0600 1020 5910 'COMZ 0380 1018 5894 'COPY 0005 1030 'CORE 001B 1000 6258 'CPTR 008E 944 2190 'D1ID 0097 953 6371 'DCOM 0001 977 'DCTB 0001 1031 'DKEP 00F9 1022 6238 6446 'DKIP 00F7 1023 6381 'DNID 0098 954 4987 6376 'DREQ 0002 988 6234 6417 6421 6437 'DTYP 0008 1032 'DZID 0096 952 612 6366 'FILE 0003 989 'HCIB 0003 1025 5911 'HDNG 0007 981 1134 'HEND 001D 1001 6363 6724 'HWCT 0004 990 'IDAD 0000 976 'ILS4 0011 998 6361 'ISTV 0033 1016 'ITVX 000B 997 6268 6270 6272 6274 6276 6278 'KBCP 0092 948 3633 'KBCV 0095 951 4380 'LDAD 0006 992 6242 6245 6253 6328 6332 'LFEN 0003 1006 5908 6079 'LFHD 0005 1005 5902 6036 6039 6047 6050 6077 'LFNM 0000 1011 6039 6047 'LSCT 0005 991 6297 'MCOR 1000 1026 5898 6384 'MCRA 006E 938 5851 'MXDR 0005 1017 5996 6001 'NEXT 0004 1010 6091 6096 'OVSW 001A 999 'PTCV 0094 950 4346 'RIAD 0002 978 1136 'RTBL 0006 980 'SCIB 0010 1024 5911 'SCTN 0000 1007 6023 'SLET 0003 979 'STRT 0000 982 'SUP6 0073 939 5856 'SUP7 0074 940 5861 'TCNT 0011 1021 740 4698 4868 5234 5267 6518 'TVWC 0008 994 6249 6255 6260 'UAFX 0001 1008 6029 'WCNT 0009 995 6254 6287 6333 6338 6415 'WDSA 0003 1009 6034 'XCTL 0007 993 6237 6435 'XEQA 0000 986 6263 6361 6363 6724 'XR3X 000A 996 6239 A 0132 6581 6671 6677 6699 6700 6704 6708 6710 6715 6716 ABXEQ 00BD 6411 6264 C 017A 4625 4504 4509 4548 4570 4581 4696 4704 4706 4710 4718 4725 4726 4727 4728 4731 4732 4733 4737 4738 4741 4742 4744 4745 4747 4749 4750 4761 4766 4767 4774 4775 4776 4783 4785 4789 4800 4801 4802 4805 4806 4807 4813 4818 4819 4820 4824 4828 4830 4833 4835 4836 4838 4845 4847 4848 4849 4850 4853 4855 4857 4858 4859 4864 4866 4871 4873 4875 4877 4882 4883 4886 4888 4889 4890 4892 4893 CD000 0002 2861 2858 3001 CD010 0005 2866 2915 2918 2920 2946 2950 CD016 0008 2871 2881 CD018 0012 2880 2873 CD020 0014 2883 2867 CD030 0023 2901 2890 2893 CD034 002A 2907 2906 CD050 003A 2924 2888 CD055 0045 2935 2931 CD060 0046 2936 2896 2927 2934 2956 CD066 004E 2947 2944 CD070 0052 2954 2938 CD080 0055 2960 2862 CD090 0057 2965 2964 3052 CD100 0065 2983 2966 2968 CD101 0070 2993 2988 CD102 0071 2994 3007 CD110 0074 2997 2976 CD120 0079 3000 2960 2979 CD130 007B 3005 2967 CD140 0091 3033 2972 2983 3005 3047 CD150 0093 3034 3035 CD160 0096 3036 3060 CD180 009F 3051 3038 CD184 00A6 3058 2992 3055 CD188 0090 3028 2891 2895 2935 2942 3057 CD190 007E 3011 2872 2879 2984 3043 CD200 0088 3020 2993 CD204 008A 3022 2925 3006 CD210 0080 3012 2874 2905 2929 2936 2947 3036 3046 CD215 0082 3014 2884 CD220 008C 3024 2949 2954 2997 3058 CD230 008D 3025 2924 2994 CD240 0086 3018 2877 2945 2973 2989 3044 3053 CD250 0084 3016 2875 2876 2878 2928 2948 3045 CD260 0085 3017 2996 CD280 008E 3026 2886 2911 2932 CD990 00AC 3063 2858 CM000 0002 5736 CM010 001F 5755 5753 CM020 0020 5759 5809 CM030 0033 5778 5775 CM040 0034 5779 5777 5798 CM080 0044 5797 5773 CM100 0046 5799 5790 CM105 004B 5804 5749 5796 CM110 004F 5807 5779 5783 5820 CM115 0051 5808 5755 CM117 0061 5829 5823 5840 6060 6062 CM118 006E 5842 5806 CM119 00A8 5916 5824 CM120 00A9 5918 6010 CM125 00B0 5928 5939 CM128 00B5 5933 5924 CM130 00BC 5940 5932 CM135 00C6 5950 5943 5952 CM140 00CD 5959 5814 5922 CM160 00E3 5978 5961 CM180 00EB 5986 5842 6075 CM220 00ED 5991 5916 CM225 00F5 5999 6014 6093 CM230 00F7 6000 5991 5998 CM240 00FD 6007 6013 CM250 00FF 6010 6069 CM270 0100 6012 6003 CM280 0103 6015 6097 CM285 0106 6017 5994 CM290 0113 6029 6025 CM300 0117 6033 6028 CM320 011A 6036 6084 CM380 012E 6056 5992 6052 CM390 013D 6070 5980 CM395 0142 6075 6119 CM400 0143 6076 6045 6049 CM420 014C 6088 5993 CM460 0157 6101 6066 CM470 0158 6102 6008 CM480 015E 6110 6068 CM900 0084 5882 5759 5761 5763 5765 5767 5769 5914 6040 6063 CM904 0090 5890 5793 5801 5942 5983 6072 CM905 0091 5891 5933 5935 5947 CM908 0092 5892 5923 5928 5930 CM915 0093 5893 5821 CM920 0094 5894 5797 CM925 0095 5895 5776 CM930 0096 5896 5832 CM935 0097 5897 5780 CM940 0098 5898 5920 5940 CM945 0099 5899 6035 6080 6082 CM954 009A 5900 6021 6031 6090 CM955 009B 5901 6026 CM956 009C 5902 6033 CM957 009D 5903 6038 6054 CM960 009E 5904 5936 5938 5941 5949 CM965 009F 5905 5833 5839 5966 CM976 00A0 5906 5810 5929 5937 6018 CM977 00A1 5907 6058 6095 CM978 00A2 5908 6081 CM979 00A3 5909 5963 5974 CM980 0070 5851 5732 5981 5985 CM982 0074 5856 5791 5795 CM984 0078 5861 5799 5803 CM986 007C 5866 6070 6074 CM988 0080 5871 5969 6118 CM990 00A4 5910 5778 CM991 00A5 5911 5946 CM992 00A6 5912 6116 CM995 015D 6106 6102 CMEND 016D 6124 5730 CP000 0002 2192 2189 2312 CP010 001E 2222 2204 CP020 0005 2195 2204 2308 CP025 000A 2200 2227 CP030 000B 2201 CP040 000C 2202 2196 CP050 000D 2203 2231 CP060 000E 2204 2224 CP070 000F 2205 2222 2223 2225 2229 CP080 0010 2207 2216 2255 2309 CP090 0013 2211 2193 CP100 002E 2237 2233 2241 2245 2306 CP110 0034 2244 2197 2232 CP120 0037 2247 2210 2234 CP130 003B 2252 2248 CP132 0047 2262 2269 CP134 004F 2270 2277 CP136 0057 2278 2256 2273 CP140 007A 2315 2249 CP150 0082 2323 2436 CP160 0086 2328 2316 2333 CP170 008D 2335 2331 CP180 008E 2337 2250 2292 CP190 0091 2340 2433 CP200 0068 2297 2218 2253 2361 2372 2374 CP210 0069 2298 2217 2377 2385 2389 CP220 00A0 2360 2305 CP230 00AD 2372 2363 2424 CP240 00B1 2377 2366 CP250 00B4 2381 2322 2323 2325 CP260 00BB 2388 2379 CP270 00C0 2393 2326 CP280 00C8 2401 2386 2441 CP290 00CE 2407 2400 2401 2403 2412 CP300 00D7 2417 2375 2404 2410 2415 CP305 00DC 2423 2307 CP310 00E0 2432 2418 CP320 006B 2300 2238 2360 CP330 006A 2299 2243 CP340 006C 2301 2262 CP350 00DE 2430 2339 2340 2342 2344 2423 CP360 00E1 2433 2341 CP370 00E2 2434 2335 2364 2390 2392 CP380 00E3 2435 2319 2396 2398 2436 CP390 00E4 2436 2324 CP400 00E5 2437 2318 2373 2391 2397 CP410 006D 2302 2252 CP420 006E 2303 2264 2271 CP430 00E6 2438 2337 CP440 00E7 2439 2394 CP450 00E8 2440 2338 2383 2395 2406 2419 2433 CP460 00E9 2441 2402 CP470 006F 2304 2274 2289 2329 CP480 0070 2305 2198 CP490 0071 2306 2421 CP500 0073 2308 2371 CP510 0074 2309 2219 2220 2354 CP520 00EA 2448 2414 2441 CP530 0120 2503 2189 CR010 01E2 1092 1101 CR020 01FE 1125 1099 1127 1128 CR905 0208 1137 1116 CR910 0204 1133 1112 CR920 0206 1135 1091 1096 1114 D 034C 5638 5057 5107 5112 5116 5117 5119 5121 5124 5125 5136 5138 5139 5143 5145 5157 5183 5189 5190 5193 5195 5204 5207 5209 5211 5213 5218 5237 5240 5243 5248 5250 5252 5254 5259 5260 5261 5292 5294 5296 5298 5300 5304 5311 5315 5321 5326 5327 5329 5331 5333 5334 5336 5340 5342 5343 5346 5349 5351 5353 5356 5360 5361 5363 5364 5366 5371 5373 5376 5378 5382 5383 5385 5386 5390 5394 5396 5412 5413 5418 5419 5421 5422 5425 5427 5428 5436 5438 5439 5441 5442 5446 5447 5455 5472 5478 5481 5483 5489 5490 5499 5508 5510 5515 5517 5519 D1000 00F2 4464 4629 D1010 00F4 4466 4507 4565 D1020 00F7 4471 4538 4543 4553 4558 D1030 00FC 4478 4527 D1040 00FF 4481 4517 D1050 0107 4490 4540 D1060 0109 4495 4465 4476 4478 4479 D1070 0110 4500 4491 D1080 0111 4504 4736 D1090 0113 4506 4787 D1100 0117 4509 4505 4554 4711 4724 4739 4829 D1110 0118 4510 4549 D1120 0123 4523 4467 D1130 0128 4533 4559 4617 4891 D1140 012C 4536 4526 D1150 012D 4537 4506 4515 4564 4619 4678 4834 D1151 0135 4544 4541 D1160 0137 4548 4734 D1170 0139 4553 4777 D1175 013E 4557 4588 D1180 0142 4563 4556 4575 4609 D1185 0147 4570 D1190 014B 4574 4695 D1200 014F 4579 4472 D1205 0151 4581 D1210 015C 4594 4583 4608 4713 4773 4870 D1220 015F 4596 4585 4813 4820 4859 D1230 0177 4618 4605 4611 D1240 01A7 4676 4484 D1250 01C0 4698 4896 D1260 01C3 4700 4693 4882 D1270 01CD 4709 4570 4756 4757 D1280 01F7 4744 4839 D1290 01FB 4748 4743 4832 D1295 0201 4756 D1300 0206 4762 4771 D1310 020E 4768 4763 D1320 0225 4789 4508 4784 4826 D1325 0235 4818 4753 D1330 0239 4825 D1340 023B 4828 4740 D1350 0249 4839 4878 D1370 026F 4877 4792 D1380 027C 4891 4895 D1900 0180 4632 4602 4641 4683 4684 4806 D1901 0181 4634 4824 D1902 0186 4639 4613 4845 4864 4886 D1903 0187 4640 4615 4847 4866 4888 D1904 0182 4635 4618 4807 4819 4858 4871 D1905 0183 4636 D1906 0184 4637 4612 4692 4843 4857 4863 4875 4883 4884 D1907 0185 4638 4732 D1908 0188 4641 4818 D1909 0189 4642 4726 D1911 018B 4644 4728 4801 D1912 017A 4626 4466 4480 4498 D1913 017B 4627 D1921 017F 4630 4727 D1922 018C 4645 4873 D1923 018D 4646 4802 D1924 018E 4647 4702 4745 4766 D1925 018F 4648 4704 4741 4828 4848 4850 4877 D1926 0190 4649 4572 4706 4718 4747 4761 4774 4783 4789 4835 4838 4855 4876 D1927 0191 4650 4686 4731 4893 D1928 0192 4651 4600 4606 4679 4737 4785 4830 4889 D1929 0193 4652 4688 4742 4833 D1930 0194 4653 4690 4715 D1931 0195 4654 4725 D1933 0196 4655 4892 D1940 0198 4658 4770 4772 4890 D1941 0199 4659 4555 4607 4800 D1942 019A 4660 4710 4738 D1943 019B 4661 4744 4767 D1944 019C 4662 4849 D1945 019D 4663 4853 D1946 019E 4664 4776 D1947 019F 4665 4836 D1948 01A0 4666 4680 4894 D1949 01A1 4667 4525 D1950 01A2 4668 4805 D1951 018A 4643 4504 4579 4733 4750 D1952 01A3 4669 4509 D1953 01A4 4670 4548 4586 D1954 0197 4657 4569 D1955 01A6 4672 4749 4764 4775 D1956 01A5 4671 4717 4782 DK000 0002 4381 4382 DN000 00F2 4992 5097 DN020 00F7 4996 5309 DN030 00FC 5000 5072 DN040 0100 5004 5064 DN050 010C 5014 5006 5106 5133 DN060 0113 5020 5071 DN070 0114 5021 5070 DN080 0119 5028 5016 5077 5102 DN090 011F 5033 5085 DN100 0121 5039 5003 DN110 0123 5041 4993 4998 5000 DN120 0128 5044 5040 DN170 012C 5055 5142 DN180 012E 5057 5485 DN190 0132 5060 5475 DN200 0134 5061 5018 5056 5126 5146 5172 5417 DN210 013A 5068 4995 DN220 013F 5077 5521 DN225 0145 5082 5081 DN230 0149 5084 5001 5062 5429 5520 DN240 014C 5087 4997 DN250 0155 5101 5024 5105 DN260 015D 5107 5134 DN270 0167 5114 5110 DN280 018C 5143 5263 DN290 0199 5156 5169 5202 5225 5279 DN295 01A6 5166 5164 DN300 01AD 5171 5140 DN340 01AF 5181 5196 5216 5224 5369 DN345 01B7 5188 5185 DN350 01C3 5198 5297 DN356 01CB 5204 5199 DN360 01D7 5213 5247 DN370 01DD 5218 5212 DN380 01DF 5223 5060 DN382 01E3 5226 5203 DN390 01EC 5237 5347 DN400 01F7 5246 5208 DN410 0206 5258 5249 DN430 0213 5279 5239 5245 DN440 0215 5282 5087 DN450 0235 5307 5219 5280 5398 DN460 0239 5311 5206 5217 5295 DN470 0251 5334 5323 DN480 025A 5341 5399 5523 DN490 0270 5361 5299 5301 DN500 027F 5372 5509 DN510 0284 5376 5518 DN520 028B 5385 5357 DN525 0291 5391 DN530 0295 5395 5375 5388 DN550 02A4 5409 5367 5370 DN560 02A6 5412 5147 DN570 02C0 5435 5151 5352 DN580 02C8 5442 5150 5424 DN582 02CF 5447 5444 DN590 02DB 5461 5470 DN600 02E3 5467 5462 DN610 02FB 5489 5059 5410 5482 DN620 030E 5508 5492 DN630 0316 5515 5431 DN640 031E 5521 5397 DN900 0129 5048 5055 DN901 012A 5049 5061 DN902 0150 5094 4994 5002 5038 5058 5184 DN903 012B 5051 5144 DN911 020D 5268 5171 5200 DN912 020E 5270 5283 5303 DN914 014E 5088 5078 5165 DN915 014F 5089 5080 DN920 01E9 5233 5258 DN921 029C 5403 5313 DN922 019F 5160 5163 DN930 020C 5267 5188 5341 DN931 01EB 5235 5137 DN932 0211 5273 5238 5368 DN933 0210 5272 5210 5215 5246 5328 5365 DN934 0212 5274 5186 DN940 01EA 5234 5242 DN941 026E 5358 5256 5430 DN942 02A0 5405 5291 5307 DN951 02A3 5407 5389 DN952 029E 5404 5290 5302 5305 5306 5308 5318 5320 5339 5344 5345 5414 5415 5450 5451 5456 5465 5471 5505 5506 DN953 02A2 5406 5393 DN954 02BF 5433 5130 5377 5426 5513 DN960 0323 5528 5437 5448 5449 5466 DN961 0324 5529 5452 5454 5463 5473 5477 DN962 0325 5530 5503 5504 5507 DN963 0326 5531 5223 5497 DN964 0327 5532 5498 DN965 0328 5533 5474 DN966 0329 5534 5135 5288 DN970 032E 5536 5145 5298 5441 5447 DN971 032F 5537 DN972 0338 5546 5361 5427 5436 5446 5490 DN973 0339 5547 5112 5478 DN976 0342 5556 5138 5139 5292 5304 5353 5442 DN977 0343 5557 5125 5136 5190 5191 5382 5499 DN978 034C 5566 5300 5363 5512 5638 DN980 0356 5576 5252 5254 5334 5336 5340 5418 5421 DN982 0360 5577 5057 5121 5183 5195 DN983 0361 5578 5294 5296 5326 5331 5351 5371 5396 5508 5519 DN984 036A 5587 5124 5143 5204 5213 5237 5422 5439 5483 5510 DN985 036B 5588 5189 5209 5211 5342 5364 5366 DN986 0374 5597 5218 5250 5259 5311 5315 5333 5343 5356 5373 5378 5383 5413 5515 DN990 037E 5598 5116 5260 DN991 037F 5599 5117 5193 5261 5327 5329 5349 5360 5376 5425 5428 5438 5455 5472 5481 5489 DN992 0388 5608 5385 5390 5419 5517 DN993 0389 5609 5321 5346 5386 5394 DN994 0392 5618 5119 5412 DN995 0393 5619 5207 5240 5243 5248 DNXR1 0001 5639 5161 5289 DNXR2 0002 5640 5251 5316 DP000 0002 4347 4348 DR000 010E 6509 6439 6591 DR010 0113 6514 6513 6515 DR030 0118 6518 6546 DR060 011B 6520 6533 DR070 011D 6524 6671 6677 6704 DR150 011F 6529 6515 6630 DR185 0124 6534 6547 DR190 012B 6543 6596 DR195 012F 6547 6685 DR210 014D 6585 6692 DR215 0155 6595 6649 DR217 014F 6588 6511 6512 DR219 0153 6590 6510 DR220 0157 6600 6652 DR230 015A 6604 6519 6537 DR240 015F 6608 6718 DR250 0163 6612 6622 DR280 0164 6613 6616 6618 6625 DR300 016F 6624 6615 DR340 0183 6646 6602 DR380 0197 6670 6667 DR390 0198 6671 DR400 01A1 6690 6657 DR410 01A3 6692 6712 DR900 0132 6554 6581 6617 6630 6669 DR901 0133 6555 6681 DR902 0134 6556 6534 6606 6708 6715 DR904 0136 6558 6524 6670 6676 6700 DR906 0138 6560 6609 6699 DR907 0139 6561 6641 DR908 013A 6562 6631 6675 DR909 013B 6563 6639 DR910 013C 6564 6530 6637 6646 6664 DR911 013D 6565 6644 DR912 013E 6566 6541 6607 6645 6690 6694 6710 6716 DR913 013F 6567 6632 DR914 0140 6568 6595 DR915 0141 6569 6542 DR916 0142 6570 6693 DR925 0145 6573 6638 DR930 0146 6574 6620 DR935 0130 6548 6600 DR940 0147 6575 6611 DR950 0149 6577 6643 DR955 014A 6578 6633 DR980 014B 6579 6636 DR985 0148 6576 6697 DR990 0144 6572 6634 6640 6702 DR996 014C 6580 6624 DZ000 00F2 617 327 348 645 655 714 774 970 971 1022 1023 1097 1105 4453 4984 5834 5886 5955 6433 6604 DZ010 00F7 624 644 648 1126 DZ020 00F9 626 620 DZ060 0100 633 659 DZ070 0102 637 823 829 859 867 DZ100 0104 642 626 627 722 DZ110 010E 649 646 DZ180 0111 654 625 637 DZ185 0119 660 840 DZ190 0120 669 729 DZ210 0146 718 872 DZ215 014C 726 795 DZ220 0150 733 798 DZ230 0154 739 632 DZ232 0156 740 670 DZ235 0158 742 631 663 DZ240 015D 746 878 DZ250 016C 761 769 DZ280 016D 762 748 754 755 756 767 DZ300 0178 774 764 DZ330 017D 778 750 DZ340 018C 792 735 DZ350 0197 807 752 834 838 DZ380 01A4 822 819 DZ390 01A5 823 802 DZ400 01B6 845 809 836 DZ410 01CA 868 847 DZ900 0122 676 684 821 DZ901 0123 677 833 DZ902 0124 678 660 726 744 868 875 DZ904 0126 680 638 822 828 855 DZ905 0127 681 864 DZ906 0128 682 758 854 DZ907 0129 683 785 DZ908 012A 684 827 DZ909 012B 685 782 DZ910 012C 686 656 780 792 816 DZ911 012D 687 790 DZ912 012E 688 667 745 791 845 849 870 876 DZ913 012F 689 775 DZ914 0130 690 728 DZ915 0131 691 668 DZ916 0132 692 848 DZ920 0134 694 786 DZ925 0135 695 781 DZ930 0136 696 766 DZ935 0137 697 733 DZ940 0138 698 760 DZ945 0139 699 629 784 787 865 DZ950 013A 700 789 DZ955 013B 701 776 DZ960 013C 702 753 DZ965 013D 703 749 DZ970 013E 704 751 DZ975 013F 705 788 863 DZ980 0140 706 779 DZ985 0141 707 852 DZ990 0142 708 777 783 857 DZ995 0143 709 820 FROM 00B7 6405 6257 GETCL 00AA 6392 6342 6396 6397 6471 6473 6475 6477 6479 6481 6483 6485 6487 6489 KB000 0002 3635 3673 3674 3718 KB010 001B 3661 3653 KB020 0005 3639 3653 3733 3769 KB022 000A 3644 3677 KB025 000B 3645 3666 KB030 000F 3650 3640 KB040 0010 3651 3670 KB050 0011 3652 3661 3662 3664 3668 KB060 0012 3653 3663 KB070 0014 3655 3638 3656 KB080 0028 3672 3654 KB090 0031 3681 3676 KB100 0038 3688 3819 KB110 0040 3698 3695 3703 3766 KB120 0042 3700 3686 3706 3762 3789 KB130 0047 3705 3641 3671 KB140 004A 3708 3696 KB145 0051 3714 3717 KB150 0096 3805 3659 3784 3826 KB160 000C 3647 3679 3755 KB170 000D 3648 3683 KB180 0058 3727 3642 KB190 005E 3733 3847 KB200 005F 3734 3729 KB210 0070 3752 3737 KB220 0074 3759 3792 3823 3874 KB230 007C 3771 3747 KB240 007F 3775 3827 KB250 008A 3788 3773 3816 KB260 008E 3796 3691 3749 3776 3781 3864 3868 3871 KB270 008F 3797 3711 3734 3740 3759 3815 3819 3883 3891 3926 3937 KB280 0090 3798 3678 3756 3780 3782 3867 3869 KB290 0091 3799 3682 3775 3777 3870 3872 KB300 0098 3808 3743 KB305 009E 3813 3810 KB310 00AF 3828 3680 3779 KB320 00BF 3845 3833 3837 3842 KB321 0097 3806 3714 KB330 000E 3649 3685 3761 KB340 00EB 3904 3788 KB350 00A3 3819 3689 KB360 00C3 3850 3791 KB370 0092 3801 3687 3688 3690 3709 3713 3764 3768 3880 3881 KB380 0094 3803 3704 KB390 0095 3804 3700 3727 KB400 00AA 3824 3692 3786 3894 KB410 00A5 3821 3693 3940 KB420 00A4 3820 3710 3741 3758 KB440 00C4 3851 3831 3835 KB450 00C5 3852 3879 KB460 00A2 3818 3708 3763 KB470 00C6 3853 3745 3750 3901 KB480 00C7 3854 3824 3840 KB490 00C8 3855 3771 3863 3865 3889 KB495 00D4 3877 3808 3814 3902 KB500 00C9 3863 3886 KB505 00D3 3874 3906 KB510 00EE 3907 3905 KB530 00D5 3878 3735 3873 KB540 00EF 3908 3884 KB550 00F0 3909 3892 KB560 00F1 3910 3896 KB570 00F2 3911 3921 KB580 00F3 3912 3923 KB590 00D6 3879 3732 KB600 00E9 3903 3752 KB630 00F5 3920 3898 3911 KB640 00FC 3927 3919 3920 3922 3931 KB650 0104 3936 3924 3929 3934 KB660 010A 3944 3911 3912 KB670 0140 3998 3637 3912 3933 KB675 0176 4053 KB680 0175 4054 3632 LD000 0002 6207 6312 LD010 000C 6215 6216 LD012 0028 6239 6236 LD015 0040 6263 6252 LD020 0061 6302 6248 6390 LD025 0067 6307 6240 6250 LD030 0074 6320 6282 LD040 007A 6324 6298 LD045 008B 6341 6331 LD050 006C 6312 6451 LD055 006D 6313 6212 6213 LD060 008F 6347 6225 LD070 00A9 6390 6491 LD075 00BE 6415 6327 6336 LD080 00BF 6416 6340 LD085 00C0 6417 6343 LD090 00C8 6428 6350 LD100 00CB 6433 6500 6506 LD150 00DA 6447 6443 LD200 00DF 6456 6420 LD250 00EC 6469 6458 6463 LD400 0103 6493 6349 6424 LD500 0109 6504 6494 LD900 0094 6358 6286 6291 6306 6321 6416 LD902 008E 6345 6220 6247 LD903 0093 6356 6341 LD905 0096 6361 6243 LD915 0097 6363 6230 LD930 0098 6366 6203 6498 LD940 009C 6371 6428 LD950 00A0 6376 6504 LD960 00A4 6380 6290 LD965 00A5 6381 6447 LD970 00A6 6382 6292 6295 6337 6339 6436 6444 LD980 00A7 6384 6329 6334 6461 LD985 00A8 6385 6288 LDEND 01C1 6723 6201 LEVL2 00B4 6402 6273 PN000 0002 1658 1816 PN001 0015 1693 1659 PN005 0021 1718 PN007 0023 1723 1729 1732 PN009 002D 1736 1726 PN010 002F 1740 1702 1774 1779 PN011 0034 1761 1742 PN013 003B 1773 1781 PN014 0049 1788 1802 PN015 004B 1790 1798 PN016 0055 1800 1784 PN064 000D 1677 1799 PN070 0010 1681 1719 1806 PN091 005A 1814 1697 1752 1904 PN092 005C 1815 1698 PN100 0032 1751 1893 PN120 0069 1846 1743 1848 PN122 0081 1871 1859 PN123 0083 1872 1862 PN124 0084 1877 1854 1886 PN240 0012 1683 1794 PN499 005F 1824 1673 PN500 0005 1667 1836 PN501 00B8 1974 1824 PN503 00CB 2011 1858 PN504 00CD 2012 1863 PN513 00CF 2017 2037 2043 PN515 00D8 2026 2031 PN516 00DB 2029 2022 PN520 00AF 1959 1899 1967 1983 PN548 00C3 2000 1890 2048 PN580 00E9 2049 2063 2103 2112 PN589 00EF 2062 PN590 009B 1912 2050 2075 2084 2090 2116 PN591 0060 1831 1668 1912 PN592 0062 1832 1669 PN593 0064 1833 1670 PN594 0066 1834 1671 PN595 000E 1680 1672 1835 PN599 00EC 2059 2006 PN600 00F1 2069 1976 PN650 00F9 2080 2094 PN700 00FF 2088 2072 PN800 010A 2107 1992 PN847 0106 2100 1985 PN900 009E 1923 1723 PN901 00A0 1927 1974 PN902 00A8 1942 1849 1998 PN905 009D 1921 1870 2013 PN906 00A4 1936 1730 PN907 00A6 1939 1848 2018 2024 PN910 0013 1684 1776 PN916 0014 1685 1724 PN933 00A2 1931 1765 PN940 009E 1924 1878 1882 PN947 00AC 1948 2114 PN949 00A2 1932 1898 2001 2003 PN950 00AC 1949 1990 2062 2101 2108 PN955 00AA 1945 2021 PN956 00A6 1938 1903 PN966 00A4 1935 2076 PN980 00A0 1928 1868 PN988 00AA 1944 1751 2115 PN991 009C 1920 1860 1900 2002 2028 2107 PNEND 0115 2120 1651 PR000 0002 1213 1210 1362 PR010 0006 1216 1244 1246 PR020 0012 1232 1227 PR030 0017 1237 1249 PR040 001B 1241 1235 PR050 0021 1247 1239 PR060 0024 1255 1224 1232 1241 PR070 0025 1256 1223 PR080 0026 1257 1355 1549 1552 PR090 0028 1259 1240 1286 1421 PR100 002A 1261 1237 1247 1289 1412 PR110 002B 1262 1297 1404 PR120 002C 1263 1318 PR130 002D 1266 1214 PR140 0031 1273 1542 1543 PR150 0038 1281 1266 1425 PR155 0040 1289 1299 PR160 0042 1296 1283 PR165 0043 1297 1302 PR170 004A 1304 1306 1559 PR180 004E 1313 1349 1553 PR190 0051 1315 1276 1345 1565 PR200 0061 1330 1335 PR210 006B 1339 1377 1380 PR220 0072 1346 1342 1560 PR230 007B 1359 1267 1287 1416 PR240 007D 1360 1268 PR250 007F 1361 1269 PR260 0096 1389 1336 1439 PR270 0083 1369 1320 1324 1338 PR280 0085 1371 1379 1556 PR290 0090 1383 1277 1479 PR300 0092 1385 1397 1547 PR310 0094 1387 1303 1368 PR320 0095 1388 1454 1472 PR330 0097 1393 1282 PR340 009F 1403 1284 1353 1369 1375 1393 1409 1411 1414 PR350 00A9 1412 1406 PR360 00AD 1416 1480 PR370 0028 1421 1546 1549 PR380 0038 1425 1343 1346 PR390 00AE 1428 1541 1558 1565 PR400 00EA 1436 1398 1566 PR410 00EE 1439 1446 PR420 00F6 1450 1457 PR430 00FE 1461 1453 1567 PR440 0100 1462 PR450 0110 1485 1441 1451 PR460 0111 1489 1552 1558 PR470 0125 1516 PR475 0135 1535 1210 PR480 00AE 1542 1570 PR490 00B0 1544 1273 1546 PR500 00C2 1563 1550 PR510 00C9 1571 1569 PT000 0002 3130 3201 PT010 0005 3134 3259 PT015 000A 3139 3155 PT020 000B 3140 3135 PT030 000C 3141 3151 PT040 000D 3143 3133 PT050 001E 3160 3297 PT060 0023 3166 3143 PT070 0026 3169 PT080 0027 3170 3167 PT090 0029 3173 3168 3171 PT100 0030 3179 PT110 0035 3185 3305 PT120 0040 3201 3207 PT130 0041 3203 3163 3191 PT140 0047 3210 3176 3223 3267 3283 PT150 004F 3220 3214 3217 3227 PT160 0053 3226 3136 3152 PT170 0056 3234 3137 PT180 005A 3238 PT190 005B 3240 PT200 005F 3244 3159 3160 3162 3265 PT210 0069 3254 3276 PT220 0070 3259 3269 3286 PT230 0071 3261 3252 3401 PT240 0075 3265 3402 PT250 0076 3267 3374 3377 3383 3397 PT260 0079 3272 3237 PT270 0081 3281 3164 PT280 0084 3283 PT290 0085 3285 PT300 0087 3288 3149 3261 3400 PT310 0088 3289 3148 3382 3417 PT320 0089 3297 3161 PT330 008A 3298 3173 3246 3249 3273 3278 3329 3339 3405 PT340 008B 3299 3156 3245 3247 3277 3279 3297 PT350 008C 3300 3170 PT360 008D 3301 3158 3248 3250 3272 3274 PT370 008E 3302 3174 3179 3189 3211 PT380 008F 3303 3169 3240 3255 PT390 0090 3304 3181 PT400 0091 3305 3186 PT410 0092 3306 3216 PT420 0094 3308 3225 3309 PT430 0094 3309 3219 3234 PT450 0096 3312 3193 3268 PT460 0098 3314 3182 3184 3185 3187 3206 3238 3285 PT470 009A 3316 3345 PT480 009B 3317 3204 3243 3282 3305 3335 3344 3371 3416 PT490 0096 3311 3312 3336 PT500 009C 3318 3196 3351 3394 3404 3406 PT510 009D 3319 3195 3395 PT520 009E 3320 3198 PT530 009F 3325 PT540 00A0 3326 3199 3328 3330 PT550 00A1 3328 3409 PT560 00AD 3342 3338 3347 3352 PT570 00AE 3344 3333 PT580 00B5 3361 3429 PT582 00B6 3362 3372 PT590 00B7 3363 3375 PT600 00B8 3364 3378 PT610 00B9 3365 3385 PT620 00BA 3366 3381 PT630 00BB 3367 3388 PT640 00BC 3368 3264 PT660 00BD 3369 3412 PT670 00BE 3371 3242 PT680 00C9 3382 3387 PT690 00CB 3385 3380 PT700 00CE 3388 PT710 00D2 3394 3390 PT715 00D9 3402 3430 PT720 00DA 3404 3391 PT730 00E0 3411 3342 3369 PT740 00E6 3416 3423 PT750 00E8 3418 3410 3411 3413 PT760 00F1 3428 3414 3421 PT770 00F3 3429 3426 PT780 00F5 3442 3132 3369 3415 3425 PT785 016C 3561 3415 PT790 016D 3563 3127 RAREA 01C2 6724 6216 RP000 0002 2581 2720 RP020 0005 2584 2629 2632 2634 2645 RP040 0008 2590 2600 RP060 0012 2599 2592 RP080 0014 2603 2585 RP100 001B 2610 2679 RP120 0023 2621 2620 RP140 0033 2635 2606 RP160 003C 2644 2640 2642 RP180 003E 2652 2754 RP200 003F 2653 2603 2638 2675 2688 2700 RP220 0051 2675 2609 RP240 0057 2683 2641 2689 2692 2739 2753 RP260 005F 2690 2686 RP280 0063 2695 2643 2701 2704 2710 RP300 006B 2702 2698 RP320 007C 2726 2582 RP340 007E 2728 2729 RP360 0081 2730 2727 RP380 0085 2739 RP400 006F 2710 2731 2733 RP410 0079 2718 2747 RP420 0074 2715 2744 2759 RP440 007A 2719 2726 RP460 0090 2753 2732 RP480 0040 2654 2591 2598 RP500 0042 2656 2593 2594 2596 2636 2758 RP520 0044 2658 2619 2635 2715 RP540 0045 2659 2597 RP560 0046 2660 2711 RP580 0047 2661 2696 2699 RP600 0048 2662 2637 2714 RP620 0049 2663 2644 2712 2718 2741 2755 RP640 004A 2664 2595 2757 RP660 004B 2665 2740 RP680 004C 2666 2690 RP700 004D 2667 2684 2687 RP720 004E 2668 2625 RP740 0050 2670 2702 SP000 0002 4103 4100 4155 SP020 000A 4110 4107 4151 SP030 0019 4130 4124 SP040 001F 4136 4161 SP050 0024 4141 4133 SP052 0026 4142 4135 4136 4138 SP060 002B 4149 4108 4126 SP070 002F 4152 4105 SP072 0031 4153 4106 SP074 0033 4154 4104 SP090 0035 4159 4111 4115 4130 4131 4134 4139 SP100 0036 4160 4120 SP110 0037 4161 4137 SP120 0038 4162 4125 SP130 003B 4180 4161 SP990 00BA 4314 4100 TO 00B9 6407 6262 X 0084 5914 5809 5810 5821 5929 5933 5935 5937 5942 6018 6021 6026 6031 6033 6035 6038 6040 6054 6058 6060 6062 6063 6070 6072 6074 6080 6081 6082 6090 6095 6116 6118 X1 0028 3029 2902 2955 X2 00F2 714 669 775 776 777 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 816 820 821 822 823 827 828 829 833 845 848 849 852 854 855 857 859 863 864 865 867 868 870 875 876 Y 007F 1027 1090 1093 1094 1095 1097 1103 1104 1105 1111 1113 1115 1117 1122 1126 5750 5751 5760 5762 5764 5766 5768 5770 5771 5781 5787 5792 5794 5800 5802 5812 5818 5819 5830 5834 5918 5919 5934 5944 5945 5951 5954 5955 5959 5962 5964 5965 5967 5970 5975 5976 5977 5978 5982 5984 6020 6022 6032 6043 6046 6053 6055 6059 6071 6073 6076 6078 6089 6105 6112 6117 6211 6217 6221 6222 6223 6226 6228 6232 6241 6244 6246 6256 6261 6269 6271 6275 6277 6279 6280 6283 6285 6293 6304 6305 6320 6324 6325 6347 6418 6422 6433 6438 6441 6446 6448 6449 6456 6459 6460 6464 6465 6466 6467 6470 6472 6474 6476 6478 6480 6482 6484 6486 6488 6490 6531 6543 6545 6580 6587 6601 6613 6635 6642 6647 6655 6668 6682