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