ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020 Source File: \u2paptx.asm LIBF PAPTX 2 | *************************************************** U2F00020 3 | * SUBROUTINE NAME- * U2F00030 4 | * FULL NAME- N/A * U2F00040 5 | * CODE NAME- PAPTX * U2F00050 6 | * PURPOSE- THIS SUBROUTINE IS A MODIFICATION * U2F00060 7 | * OF PAPTN,THUS IT OPERATES BOTH THE * U2F00070 8 | * PAPERTAPE READER AND THE PAPERTAPE * U2F00080 9 | * PUNCH.IN ADDITION, IT HAS THE ABILITY * U2F00090 10 | * TO READ AND PUNCH STARTING FROM EITHER * U2F00100 11 | * THE RIGHT OR LEFT HALF OF THE FIRST * U2F00110 12 | * WORD OF I/O. * U2F00120 13 | * METHOD- * U2F00130 14 | * SEE IBM 1130 SUBROUTINE MANUAL * U2F00140 15 | * CAPABILITIES AND LIMITATIONS- * U2F00150 16 | * SEE IBM SUBROUTINE LIBRARY MANUAL * U2F00160 17 | * SPECIAL FEATURES- CAN READ AND PUNCH * U2F00170 18 | * INTO/FROM EITHER THE RIGHT OR LEFT * U2F00180 19 | * SIDE OF THE FIRST WORD OF I/O * U2F00190 20 | * ADDITIONAL INFORMATION- * U2F00200 21 | * ESTIMATED EXECUTION TIME- * U2F00210 22 | * SEE IBM 1130 SUBROUTINE LIBRARY * U2F00220 23 | * MANUAL. * U2F00230 24 | * * U2F00240 25 | *************************************************** U2F00250 26 | LIBR U2F00260 0000 27 | 1130 ISS 03 PAPTX 4 U2F00270 0000 691D 28 | PAPTX STX 1 XR1+1 CALL ENTRANCE (+0) U2F00280 0001 6580 0000 29 | LDX I1 0 LOADER STORES TV ADDR(+2) U2F00290 30 | * U2F00300 31 | *THIS PORTION SERVICES A LIBF U2F00310 32 | * U2F00320 0003 7004 33 | MDX PT1 DO CALL PROCESSING U2F00330 0004 0000 34 | INTN DC 0 INTERRUPT ENTRANCE (+4) U2F00340 0005 4C00 0088R 35 | BSC L IPRG DO INTERRUPT PROCESSING U2F00350 0007 1800 36 | AREA DC /1800 PAPER TAPE AREA CODE U2F00360 0008 6A17 37 | PT1 STX 2 XR2+1 SAVE XR2 U2F00370 0009 2817 38 | STS XR2+2 SAVE STATUS U2F00380 000A D01C 39 | STO SAVA SAVE A REG U2F00390 000B C100 40 | LD 1 0 GET THE CONTROL WD U2F00400 000C 180C 41 | SRA 12 U2F00410 000D 4C20 0029R 42 | BSC L PT3,Z NO,BR TO CONTINUE U2F00420 000F C100 43 | LD 1 0 YES,WHAT IS DEVICE U2F00430 0010 100C 44 | SLA 12 U2F00440 0011 4C18 0024R 45 | BSC L RD,+- READER U2F00450 0013 9014 46 | S H1000 U2F00460 0014 4C20 0030R 47 | BSC L PT36,Z NOT READER,PUNCH-BAD CALL U2F00470 0016 C400 0130R 48 | LD L BUSY DEVICE IS PUNCH U2F00480 0018 4818 49 | PT2 BSC +- IS DEVICE BUSY U2F00490 0019 7101 50 | MDX 1 1 NO,RET TO LIBF+3 U2F00500 001A 7101 51 | MDX 1 1 NO,RET TO LIBF+2 U2F00510 001B C00B 52 | RESET LD SAVA RESTORE ACCUMULATOR U2F00520 001C 6906 53 | STX 1 RET+1 SET UP RETURN U2F00530 001D 6500 0000 54 | XR1 LDX L1 0 RESTORE XR1 U2F00540 001F 6600 0000 55 | XR2 LDX L2 0 RESTORE XR2 U2F00550 0021 2000 56 | LDS 0 RESTORE STATUS U2F00560 0022 4C00 0000 57 | RET BSC L 0 RETURN TO MAINLINE U2F00570 0024 C400 013CR 58 | RD LD L RBUSY TEST READER U2F00580 0026 70F1 59 | MDX PT2 U2F00590 0027 0000 60 | SAVA DC 0 SAVE A REG U2F00600 0028 1000 61 | H1000 DC /1000 CON TO TEST FOR PNCH DVC U2F00610 62 | * U2F00620 63 | *THIS SECTION CONTINUES THE CALL PROCESSING U2F00630 64 | * U2F00640 0029 6600 013AR 65 | PT3 LDX L2 RDTBL TABLE FOR READ CONSTANTS U2F00650 002B 9050 66 | S D0002 U2F00660 002C 4C28 003BR 67 | BSC L PT4+2,+Z READ U2F00670 002E 4C08 0039R 68 | BSC L PT4,+ PUNCH U2F00680 69 | * U2F00690 70 | *ILLEGAL CALL U2F00700 71 | * U2F00710 0030 C007 72 | PT36 LD H3001 PUT ERROR CODE IN A REG U2F00720 0031 71FF 73 | MDX 1 -1 XR1 PTS TO LIBF U2F00730 0032 6D00 0028 74 | STX L1 40 SET UP RET FROM ERROR EXIT U2F00740 0034 6129 75 | LDX 1 41 SET XR1 FOR ERROR EXIT U2F00750 0035 70E6 76 | MDX RESET+1 GO TO EXIT U2F00760 0036 FFF0 77 | HFFF0 DC /FFF0 HIGH BIT MASK U2F00770 0037 00F0 78 | H00F0 DC /00F0 2ND CHAR MASK U2F00780 0038 3001 79 | H3001 DC /3001 ILLEGAL CALL ERROR CODE U2F00790 0039 6600 012ER 80 | PT4 LDX L2 PNTBL FUNC IS PUNCH, SO REF PNCH U2F00800 003B C202 81 | LD 2 BUSY-TBL GET BUSY INDR U2F00810 003C 4C20 003BR 82 | BSC L PT4+2,Z IF BUSY,LOOP U2F00820 003E C100 83 | LD 1 0 GET CHECK DIGIT U2F00830 003F E040 84 | AND H0F00 U2F00840 0040 9043 85 | S H0100 IS IT VALID U2F00850 0041 4C30 0030R 86 | BSC L PT36,-Z NO,TAKE ERROR EXIT U2F00860 0043 D203 87 | STO 2 CHECK-TBL ZERO MEANS NO CHECK U2F00870 0044 C100 88 | LD 1 0 GET CONTROL WD U2F00880 0045 E0F1 89 | AND H00F0 SAVE CHAR COUNT DIGIT U2F00890 0046 D03F 90 | STO INDIC U2F00900 0047 80EE 91 | A HFFF0 SET CARRY IF CHAR MODE U2F00910 0048 C580 0001 92 | LD I1 1 GET WD CNT U2F00920 004A 4802 93 | BSC C NO,DOUBLE WORD COUNT U2F00930 004B 7001 94 | MDX *+1 YES,DONT DOUBLE WORD COUNT U2F00940 004C 1001 95 | SLA 1 U2F00950 004D 4C08 0030R 96 | BSC L PT36,+ COUNT NOT PTV--ERROR EXIT U2F00960 004F D204 97 | STO 2 WDCNT-TBL SAVE WD OR CHAR CNT U2F00970 0050 C208 98 | LD 2 SFT-TBL SHIFT TO NOT READY BIT U2F00980 0051 D001 99 | STO SHIFT INST TO PUNCH OR READ U2F00990 0052 082D 100 | XIO SENSE-1 SENSE U2F01000 0053 1005 101 | SHIFT SLA 5 IS DEVICE READY U2F01010 0054 4C28 0078R 102 | BSC L PT37,+Z NO,EXIT TO CORE LOC 41 U2F01020 0056 C101 103 | LD 1 1 I/O AREA ADDRESS U2F01030 0057 8023 104 | A D0001 AVOID STORED WD OR CHAR CNT U2F01040 0058 D205 105 | STO 2 IOAR-TBL SAVE I/O AREA ADDR U2F01050 0059 C102 106 | LD 1 2 ADDR OF USER ERROR RTN U2F01060 005A D206 107 | STO 2 USER1-TBL U2F01070 005B C207 108 | LD 2 FC-TBL FUNC CODE PUT INTO AREA TO U2F01080 005C E8AA 109 | OR AREA CONSTRUCT PROPER IOCC WD U2F01090 005D D201 110 | STO 2 IOCC+1-TBL U2F01100 005E D020 111 | STO IOCC2+1 U2F01110 005F D202 112 | STO 2 BUSY-TBL SET ROUTINE BUSY INDR U2F01120 0060 7401 0032 113 | MDX L +50,1 INCR IOCS CTR U2F01130 0062 1000 114 | NOP MAY SKIP U2F01140 0063 C022 115 | LD INDIC TURN CARRY ON IF FIRST CHAR U2F01150 0064 100C 116 | SLA 12 IS IN BITS 8-15 OF WD. U2F01160 0065 4E80 000A 117 | BSC I2 WRIT-TBL BR TO INITIATE OP. U2F01170 0067 4802 118 | RDS BSC C IS 1ST CHAR IN BITS 8-15 U2F01180 0068 C012 119 | LD D0001 YES,SET TO READ RIGHT U2F01190 0069 D209 120 | STO 2 CHAR-TBL NO,SET TO READ LEFT U2F01200 006A 0817 121 | XIO READS-1 START READER U2F01210 006B 7103 122 | RDS1 MDX 1 3 SET UP EXIT U2F01220 006C 70AE 123 | MDX RESET GO TO EXIT U2F01230 006D C00D 124 | WRT LD D0001 U2F01240 006E 4802 125 | BSC C IS 1ST CHAR IN BITS 8-15 U2F01250 006F 1801 126 | SRA 1 YES,SET NEXT CHAR LEFT U2F01260 0070 D209 127 | STO 2 CHAR-TBL NO, SET FOR RIGHT CHAR U2F01270 0071 C680 0005 128 | LD I2 IOAR-TBL GET THE I/O AREA WD U2F01280 0073 4802 129 | BSC C IS 1ST CHAR IN BITS 8-15 U2F01290 0074 1008 130 | SLA 8 YES,SHIFT CHAR LEFT U2F01300 0075 D20B 131 | STO 2 BUF-TBL STORE FIRST WORD TO PUNCH U2F01310 0076 0A00 132 | XIO 2 IOCC-TBL PUNCH 1 CHARACTER U2F01320 0077 70F3 133 | MDX RDS1 GO TO EXIT U2F01330 0078 C009 134 | PT37 LD H3000 DEVICE NOT READY ERROR U2F01340 0079 70B7 135 | MDX PT36+1 GO TAKE ERROR EXIT U2F01350 007A 0000 136 | BUF2 DC 0 I/O BUFFER FOR USE W/DELETE U2F01360 007B 0001 137 | D0001 DC 0001 SET CHAR CNT TO 1 U2F01370 007C 0002 138 | D0002 DC 2 DECIMAL TWO U2F01380 139 | * U2F01390 140 | *CONSTANTS AND BUFFER AREA U2F01400 141 | * U2F01410 007E 142 | BSS E 0 U2F01420 007E 007AR 143 | IOCC2 DC BUF2 IOCC WORD FOR DELETE U2F01430 007F 0000 144 | DC 0 U2F01440 0080 0F00 145 | H0F00 DC /0F00 MASK ALL BUT CHK DIGIT U2F01450 0081 1F00 146 | SENSE DC /1F00 SENSE O U2F01460 0082 3000 147 | H3000 DC /3000 DVC NOT READY ERROR CODE U2F01470 0083 1C10 148 | READS DC /1C10 IOCC TO START READER U2F01480 0084 0100 149 | H0100 DC /0100 CON TO CHK THE CHK MODE U2F01490 0085 1F01 150 | SENSR DC /1F01 IOCC TO SENSE W/RESET U2F01500 0086 0000 151 | INDIC DC 0 = 1 FOR READ 1 CHAR W/CHK U2F01510 0087 0000 152 | SVDSW DC *-* WD TO SAVE DSW U2F01520 008D 153 | $PST4 EQU /8D U2F01530 154 | *************************************************** U2F01540 155 | * INTERRUPT SERVICING-- * U2F01550 156 | * THIS PORTION OF THE PROGRAM IS ENTERED FROM * U2F01560 157 | * THE INTERRUPT LEVEL SUBROUTINE 04. IT SERVICES* U2F01570 158 | * OP COMPLETE OR SERVICE REQUEST INTERRUPTS * U2F01580 159 | * FROM BOTH THE PAPER TAPE READER AND THE PAPER * U2F01590 160 | * TAPE PUNCH. A NOT READY ERROR CAUSES A BRANCH * U2F01600 161 | * TO LOC /8D. * U2F01610 162 | *************************************************** U2F01620 0088 08FB 163 | IPRG XIO SENSR-1 SENSE AND RESET U2F01630 0089 D0FD 164 | STO SVDSW SAVE DVC STATUS WD U2F01640 165 | * READ ERROR HANDLED AFTER XIO READ U2F01650 008A 1001 166 | SLA 1 IS IT READER SERVICE U2F01660 008B 6A16 167 | STX 2 IXR2+1 (SAVE XR2) U2F01670 008C 4C28 00CAR 168 | BSC L READI,+Z YES U2F01680 008E C0F8 169 | PNQ LD SVDSW NO,GET DVC STATUS WD AGAIN U2F01690 008F 6600 012ER 170 | LDX L2 PNTBL PUT PUNCH TBL ADDR IN XR2 U2F01700 0091 1003 171 | SLA 3 U2F01710 0092 4C02 00C2R 172 | BSC L PNERR,C TEST FOR PUNCH ERROR U2F01720 0094 4C10 00A1R 173 | BSC L IXR2,- TEST FOR PUNCH SERVICE REQ. U2F01730 0096 1010 174 | SLA 16 U2F01740 0097 D0EF 175 | STO SVDSW U2F01750 0098 74FF 0132R 176 | MDX L WDCNT,-1 ANY MORE CHARS TO PUNCH U2F01760 009A 700A 177 | MDX PN1 YES U2F01770 178 | * U2F01780 179 | *THIS SECTION PREPARES THE FINAL EXIT U2F01790 180 | * U2F01800 009B 1010 181 | IRET SLA 16 NO U2F01810 009C D202 182 | STO 2 BUSY-TBL TURN OFF BUSY U2F01820 009D 74FF 0032 183 | MDX L +50,-1 DECR IOCS CTR U2F01830 009F 1000 184 | NOP MAY SKIP U2F01840 00A0 70ED 185 | MDX PNQ GO TO EXIT U2F01850 00A1 6600 0000 186 | IXR2 LDX L2 0 RESTORE XR2 AND U2F01860 00A3 4C80 0004R 187 | BSC I INTN RETURN TO ILS ROUTINE U2F01870 00A5 4074 188 | PN1 BSI CHKS CHECK FOR STOP CHARACTER U2F01880 00A6 C209 189 | LD 2 CHAR-TBL GET CHAR CNT U2F01890 00A7 4C04 00BFR 190 | BSC L PNODD,E EVEN = 1 WORD WAS PUNCHED U2F01900 00A9 1010 191 | SLA 16 IF ODD, ZERO CTR SO NEXT U2F01910 00AA D209 192 | STO 2 CHAR-TBL CHAR WILL BE EVEN U2F01920 00AB 7401 0133R 193 | NEXT MDX L IOAR,1 GET THE NEXT O/P WD U2F01930 00AD C480 0133R 194 | LD I IOAR U2F01940 00AF D20B 195 | STO 2 BUF-TBL NEXT WD IS IN O/P BUFFER U2F01950 00B0 08CF 196 | PN2 XIO SENSE-1 SENSE WITHOUT RESET U2F01960 00B1 1007 197 | SLA 7 IS THE PUNCH READY U2F01970 00B2 4C10 00BBR 198 | BSC L PN3,- YES,GO PUNCH NEXT CHAR U2F01980 00B4 C005 199 | LD H0004 NO,LD ERROR CODE AND U2F01990 00B5 406F 200 | BSI USERR EXIT TO USER ERROR RTN U2F02000 00B6 C0CB 201 | LD H3000 U2F02010 00B7 4400 008D 202 | BSI L $PST4 U2F02020 00B9 70F6 203 | MDX PN2 RET TO CHK PUNCH AGAIN U2F02030 00BA 0004 204 | H0004 DC /0004 PUNCH NOT RDY ERROR CODE U2F02040 00BB 7401 0137R 205 | PN3 MDX L CHAR,1 INCR CHAR CNT U2F02050 00BD 0A00 206 | XIO 2 IOCC-TBL PUNCH 1 CHARACTER U2F02060 00BE 70E2 207 | MDX IXR2 RETURN TO ILS ROUTINE U2F02070 208 | * U2F02080 209 | *THIS SECTION GETS SECOND CHAR OF WD TO PUNCH U2F02090 210 | * U2F02100 00BF C20B 211 | PNODD LD 2 BUF-TBL GET SAME WD AS BEFORE. U2F02110 00C0 1008 212 | SLA 8 POSITION TO PUNCH RT CHAR U2F02120 00C1 70ED 213 | MDX NEXT+4 GO TO PUNCH U2F02130 214 | * U2F02140 215 | *THIS SECTION TAKES CARE OF A PUNCH ERROR (NOT U2F02150 216 | *RECOGNIZED ON 1130, BUT IS ON 1800). U2F02160 217 | * U2F02170 00C2 C0B9 218 | PNERR LD D0002 GET ERROR CODE INTO A REG U2F02180 00C3 4061 219 | BSI USERR GO TO USER ERROR RTN U2F02190 00C4 4C08 00DDR 220 | BSC L MOCK1,+ IF RETRY,ACC NEG,O/P DELETE U2F02200 00C6 C203 221 | LD 2 CHECK-TBL IS IT CHECK MODE U2F02210 00C7 4C20 00BDR 222 | BSC L PN3+2,Z YES,GO REPUNCH CHAR U2F02220 00C9 70DB 223 | MDX PN1 NO,GO GET NEXT CHAR U2F02230 224 | * U2F02240 225 | *THIS SECTION SERVICES A READER REQUEST INTERRUPT U2F02250 226 | * U2F02260 00CA 6600 013AR 227 | READI LDX L2 RDTBL SET XR2 TO READ TBL ADDR U2F02270 00CC 1010 228 | SLA 16 U2F02280 00CD D20B 229 | STO 2 BUF-TBL CLEAR I/P BUFFER U2F02290 00CE 0A00 230 | XIO 2 IOCC-TBL READ 1 CHARACTER U2F02300 00CF 08B0 231 | XIO SENSE-1 SENSE READER (NO RESET) U2F02310 00D0 4C10 00E5R 232 | BSC L RD2,- NO READER ERROR,CONT U2F02320 00D2 C011 233 | LD THREE READER ERROR U2F02330 00D3 4051 234 | BSI USERR GO TO USERS EXIT U2F02340 00D4 4C10 0101R 235 | BSC L RD5,- GO TO RETRY LAST CHAR U2F02350 00D6 C203 236 | LD 2 CHECK-TBL IS IT CHK MODE U2F02360 00D7 4C18 00ECR 237 | BSC L RD3,+- NO,GO READ NEXT CHAR U2F02370 00D9 C002 238 | LD BLANK YES,INPUT BLANK U2F02380 00DA D05E 239 | STO BUF U2F02390 00DB 7010 240 | MDX RD3 GO READ NEXT CHAR U2F02400 00DC 1000 241 | BLANK DC /1000 PTTC/8 BLANK U2F02410 242 | * U2F02420 243 | *THIS SECTION OUTPUTS A DELETE IF CHK MODE AND RETS U2F02430 244 | * U2F02440 00DD C203 245 | MOCK1 LD 2 CHECK-TBL IS IT CHECK MODE U2F02450 00DE 4C18 00A5R 246 | BSC L PN1,+- NO,GO TO READ NEXT CHAR U2F02460 00E0 C04B 247 | LD DEL YES,OUTPUT A DELETE CHAR U2F02470 00E1 D098 248 | STO BUF2 U2F02480 00E2 089B 249 | XIO IOCC2 PUNCH DELETE FRAME U2F02490 00E3 70BD 250 | MDX IXR2 RETURN TO ILS U2F02500 00E4 0003 251 | THREE DC +3 CONST USED FOR ERROR CODE U2F02510 00E5 C203 252 | RD2 LD 2 CHECK-TBL IF CHECK MODE, U2F02520 00E6 4C18 00ECR 253 | BSC L RD3,+- U2F02530 00E8 C20B 254 | LD 2 BUF-TBL CHECK FOR DELETE CHARACTER U2F02540 00E9 9042 255 | S DEL U2F02550 00EA 4C18 0101R 256 | BSC L RD5,+- YES U2F02560 00EC 7401 0143R 257 | RD3 MDX L RCHAR,1 NO, ADD 1 TO CHAR. COUNT U2F02570 00EE C209 258 | LD 2 CHAR-TBL IS CHAR COUNT EVEN U2F02580 00EF 4C04 0113R 259 | BSC L RDODD,E NO,FIRST CHAR OF WD U2F02590 00F1 1010 260 | SLA 16 YES,SECOND CHAR OF WD U2F02600 00F2 D209 261 | STO 2 CHAR-TBL ZERO CHAR CNT U2F02610 00F3 C680 0005 262 | LD I2 IOAR-TBL U2F02620 00F5 1898 263 | SRT 24 U2F02630 00F6 C20B 264 | LD 2 BUF-TBL COMBINE 2 CHARACTERS U2F02640 00F7 18C8 265 | RTE 8 * INTO ONE WORD U2F02650 00F8 D680 0005 266 | STO I2 IOAR-TBL U2F02660 00FA 7401 013FR 267 | MDX L RIOAR,1 NEXT WORD U2F02670 00FC 74FF 013ER 268 | RD4 MDX L RWDCT,-1 DECREMENT CHAR COUNT U2F02680 00FE 7001 269 | MDX *+1 U2F02690 00FF 709B 270 | MDX IRET EXIT ON ZERO WORD COUNT U2F02700 0100 4019 271 | BSI CHKS CHECK FOR STOP CHARACTER U2F02710 0101 0C00 0080R 272 | RD5 XIO L SENSE-1 SENSE READER (NO RESET) U2F02720 0103 1005 273 | SLA 5 IS THE READER READY U2F02730 0104 4C10 010FR 274 | BSC L RD6,- YES,GO START READER U2F02740 0106 C006 275 | LD H0005 NO,LOAD ERROR CODE AND U2F02750 0107 401D 276 | BSI USERR EXIT TO USER ERROR RTN U2F02760 0108 C400 0082R 277 | LD L H3000 U2F02770 010A 4400 008D 278 | BSI L $PST4 EXIT TO ERROR TRAP U2F02780 010C 70F4 279 | MDX RD5 GO SENSE READER AGAIN U2F02790 010D 0005 280 | H0005 DC /0005 READER NOT READY ERROR CODE U2F02800 010E 00FF 281 | H00FF DC /00FF HIGH BIT MASK U2F02810 010F 0C00 0082R 282 | RD6 XIO L READS-1 START READER U2F02820 0111 4C00 008ER 283 | BSC L PNQ U2F02830 284 | * U2F02840 285 | *ODD CHAR CNT,PUT CHAR IN FIRST HALF OF WORD, U2F02850 286 | *LEAVING SECOND HALF UNCHANGED. U2F02860 287 | * U2F02870 0113 C680 0005 288 | RDODD LD I2 IOAR-TBL GET I/P AREA WD U2F02880 0115 E0F8 289 | AND H00FF SAVE SECOND HALF OF WD U2F02890 0116 EA0B 290 | OR 2 BUF-TBL PUT NEW CHAR IN FIRST HALF U2F02900 0117 D680 0005 291 | STO I2 IOAR-TBL AND RESTORE. U2F02910 0119 70E2 292 | MDX RD4 GO DECR WD CNT U2F02920 293 | * U2F02930 294 | *THIS SECTION EXITS IF STOP CHAR WAS LAST READ U2F02940 295 | * U2F02950 011A 0000 296 | CHKS DC 0 SAVE RET ADDR U2F02960 011B C203 297 | LD 2 CHECK-TBL IS IT CHK MODE U2F02970 011C 4C98 011AR 298 | BSC I CHKS,+- NO,RET U2F02980 011E C20B 299 | LD 2 BUF-TBL YES,WAS LAST CHAR=STOP U2F02990 011F 1808 300 | SRA 8 U2F03000 0120 900C 301 | S STOP U2F03010 0121 4CA0 011AR 302 | BSC I CHKS,Z NOT STOP CHAR,RET U2F03020 0123 4C00 009BR 303 | BSC L IRET STOP CHAR,DO FINAL.EXIT U2F03030 304 | * U2F03040 305 | *THIS SECTION SETS UP EXIT TO,+ RET FROM USER ERROR U2F03050 306 | *RTN U2F03060 307 | * U2F03070 0125 0000 308 | USERR DC 0 SAVE RET ADDR U2F03080 0126 4680 0006 309 | BSI I2 USER1-TBL EXIT TO USER ERROR RTN U2F03090 0128 4CA0 0125R 310 | BSC I USERR,Z TRY AGAIN U2F03100 012A 4C00 009BR 311 | BSC L IRET TERMINATE U2F03110 312 | * U2F03120 313 | *CONSTANTS AND BUFFER AREA.--THERE ARE TWO PARA- U2F03130 314 | *LLEL TABLES FOR READING AND PUNCHING OPERATIONS, U2F03140 315 | *SO THAT BOTH CAN BE DONE AT THE SAME TIME. U2F03150 316 | * U2F03160 012C 7F00 317 | DEL DC /7F00 PTTC/8 DELETE CHAR U2F03170 012D 00DD 318 | STOP DC /00DD PTTC/8 STOP CHAR U2F03180 319 | *TABLE OF PUNCH CONSTANTS U2F03190 012E 320 | TBL BSS E 0 U2F03200 012E 321 | PNTBL BSS 0 ADDR OF TABLE U2F03210 012E 0139R 322 | IOCC DC BUF IOCC WORDS FOR PUNCHING U2F03220 012F 0000 323 | DC 0 U2F03230 0130 0000 324 | BUSY DC 0 BUSY INDR WORD U2F03240 0131 0000 325 | CHECK DC 0 CHK MODE INDR (0=NO CHK) U2F03250 0132 0000 326 | WDCNT DC 0 WORD COUNT U2F03260 0133 0000 327 | IOAR DC 0 I/O AREA ADDR U2F03270 0134 0000 328 | USER1 DC 0 USER ERROR RTN ADDR U2F03280 0135 0100 329 | FC DC /0100 FUNCTION CODE TEST CON U2F03290 0136 1007 330 | SFT SLA 7 SHIFT FOR NOT READY INDR U2F03300 0137 0000 331 | CHAR DC 0 BUFFER TO PACK CHARS U2F03310 0138 006DR 332 | WRIT DC WRT SET UP BR TO PUNCH A CHAR U2F03320 0139 0000 333 | BUF DC 0 I/O BUFFER FOR PUNCH U2F03330 334 | *TABLE OF READ CONSTANTS U2F03340 013A 335 | RDTBL BSS E 0 ADDR OF TBL U2F03350 013A 0145R 336 | RIOCC DC RBUF IOCC WDS FOR READING U2F03360 013B 0000 337 | DC 0 U2F03370 013C 0000 338 | RBUSY DC 0 BUSY INDR WD U2F03380 013D 0000 339 | RCHEK DC 0 CHK MODE INDR (0= NO CHK) U2F03390 013E 0000 340 | RWDCT DC 0 WORD COUNT U2F03400 013F 0000 341 | RIOAR DC 0 I/O AREA ADDR U2F03410 0140 0000 342 | RUSE1 DC 0 ADDR OF USER ERROR RTN U2F03420 0141 0200 343 | RFC DC /0200 FUNCTION CODE TEST CON U2F03430 0142 1005 344 | RSFT SLA 5 SHIFT FOR NOT RDY INDR U2F03440 0143 0000 345 | RCHAR DC 0 BUFFER TO PACK CHARS U2F03450 0144 0067R 346 | RWRT DC RDS SET UP BR TO READ A CHAR U2F03460 0145 0000 347 | RBUF DC 0 I/O BUFFER FOR READ U2F03470 0146 348 | END U2F03480 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $PST4 008D 153 202 278 AREA 0007R 36 109 BLANK 00DCR 241 238 BUF 0139R 333 131 195 211 229 239 254 264 290 299 322 BUF2 007AR 136 143 248 BUSY 0130R 324 48 81 112 182 CHAR 0137R 331 120 127 189 192 205 258 261 CHECK 0131R 325 87 221 236 245 252 297 CHKS 011AR 296 188 271 298 302 D0001 007BR 137 104 119 124 D0002 007CR 138 66 218 DEL 012CR 317 247 255 FC 0135R 329 108 H0004 00BAR 204 199 H0005 010DR 280 275 H00F0 0037R 78 89 H00FF 010ER 281 289 H0100 0084R 149 85 H0F00 0080R 145 84 H1000 0028R 61 46 H3000 0082R 147 134 201 277 H3001 0038R 79 72 HFFF0 0036R 77 91 INDIC 0086R 151 90 115 INTN 0004R 34 187 IOAR 0133R 327 105 128 193 194 262 266 288 291 IOCC 012ER 322 110 132 206 230 IOCC2 007ER 143 111 249 IPRG 0088R 163 35 IRET 009BR 181 270 303 311 IXR2 00A1R 186 167 173 207 250 MOCK1 00DDR 245 220 NEXT 00ABR 193 213 PAPTX 0000R 28 PN1 00A5R 188 177 223 246 PN2 00B0R 196 203 PN3 00BBR 205 198 222 PNERR 00C2R 218 172 PNODD 00BFR 211 190 PNQ 008ER 169 185 283 PNTBL 012ER 321 80 170 PT1 0008R 37 33 PT2 0018R 49 59 PT3 0029R 65 42 PT36 0030R 72 47 86 96 135 PT37 0078R 134 102 PT4 0039R 80 67 68 82 RBUF 0145R 347 336 RBUSY 013CR 338 58 RCHAR 0143R 345 257 RCHEK 013DR 339 RD 0024R 58 45 RD2 00E5R 252 232 RD3 00ECR 257 237 240 253 RD4 00FCR 268 292 RD5 0101R 272 235 256 279 RD6 010FR 282 274 RDODD 0113R 288 259 RDS 0067R 118 346 RDS1 006BR 122 133 RDTBL 013AR 335 65 227 READI 00CAR 227 168 READS 0083R 148 121 282 RESET 001BR 52 76 123 RET 0022R 57 53 RFC 0141R 343 RIOAR 013FR 341 267 RIOCC 013AR 336 RSFT 0142R 344 RUSE1 0140R 342 RWDCT 013ER 340 268 RWRT 0144R 346 SAVA 0027R 60 39 52 SENSE 0081R 146 100 196 231 272 SENSR 0085R 150 163 SFT 0136R 330 98 SHIFT 0053R 101 99 STOP 012DR 318 301 SVDSW 0087R 152 164 169 175 TBL 012ER 320 81 87 97 98 105 107 108 110 112 117 120 127 128 131 132 182 189 192 195 206 211 221 229 230 236 245 252 254 258 261 262 264 266 288 290 291 297 299 309 THREE 00E4R 251 233 USER1 0134R 328 107 309 USERR 0125R 308 200 219 234 276 310 WDCNT 0132R 326 97 176 WRIT 0138R 332 117 WRT 006DR 124 332 XR1 001DR 54 28 XR2 001FR 55 37 38