ibm:ibm1130-lib:dmsr2v12:pmondevs_lst
PMONDEVS
Table Of Contents |
---|
|
- pmondevs.lst
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"
ibm/ibm1130-lib/dmsr2v12/pmondevs_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator