ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:11 2020 Source File: \w5feb41.asm FEB41 - MTCA TRANSLATION SUBROUTINES 2 | *************************************************** W5A00020 3 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * W5A00030 4 | * * W5A00040 5 | *SUBROUTINE NAME - * W5A00050 6 | * FULL NAME - EBCDIC TO 2741 LINE CODE AND 2741 * W5A00060 7 | * LINE CODE TO EBCDIC CONVERSION * W5A00070 8 | * SUBROUTINES. * W5A00080 9 | * CODE NAMES - FEB41, BEB41, QEB41, F41EB, * W5A00090 10 | * B41EB AND Q41EB. * W5A00100 11 | * * W5A00110 12 | *PURPOSE - * W5A00120 13 | * THIS SUBROUTINE CONVERTS EBCDIC DATA IN * W5A00130 14 | * EITHER A1 FORMAT I.E. ONE CHARACTER PER WORD * W5A00140 15 | * IN THE LEFT HALF (XX40), OR IN INDEX FORMAT * W5A00150 16 | * I.E. ONE CHARACTER PER WORD IN THE RIGHT HALF * W5A00160 17 | * (00XX),TO 2741 LINE CODE PACKED TWO CHARACTERS* W5A00170 18 | * PER WORD. LINE CONTROL CHARACTERS ARE ALSO * W5A00180 19 | * ADDED. THIS SUBROUTINE ALSO CONVERTS 2741 * W5A00190 20 | * LINE CODE PACKED TWO CHARACTERS PER WORD TO * W5A00200 21 | * EBCDIC UNPACKED AS ABOVE. * W5A00210 22 | * * W5A00220 23 | *METHOD - * W5A00230 24 | * CONVERSION BOTH FROM EBCDIC TO LINE CODE AND * W5A00240 25 | * FROM LINE CODE TO EBCDIC IS ACCOMPLISHED BY A * W5A00250 26 | * TABLE LOOK-UP PROCEDURE. FOR CONVERSION FROM * W5A00260 27 | * EBCDIC TO 2741 LINE CODE, CASE SHIFT CHARS * W5A00270 28 | * ARE ADDED WHERE REQUIRED. FOR CONVERSION * W5A00280 29 | * FROM 2741 LINE CODE TO EBCDIC THE APPROPRIATE * W5A00290 30 | * EBCDIC CHARACTER IS SELECTED ACCORDING TO THE * W5A00300 31 | * LAST CASE SHIFT CHARACTER DEALT WITH. * W5A00310 32 | * * W5A00320 33 | *CAPABILITIES AND LIMITATIONS - * W5A00330 34 | * VALID CODES - * W5A00340 35 | * ALL EBCDIC CHARACTERS WHICH HAVE A 2741 * W5A00350 36 | * LINE CODE EQUIVALENT. * W5A00360 37 | * * W5A00370 38 | *SPECIAL FEATURES - * W5A00380 39 | * EBCDIC DATA IN A1 FORMAT MAY BE ASSEMBLED * W5A00390 40 | * EITHER FORWARD OR BACKWARD IN CORE (IN THIS * W5A00400 41 | * CONTEXT FORWARD MEANS STARTING AT A LOW * W5A00410 42 | * ADDRESS AND ENDING AT A HIGH ADDRESS). INDEX * W5A00420 43 | * FORMAT DATA MUST BE ASSEMBLED FORWARD IN CORE.* W5A00430 44 | * * W5A00440 45 | *ADDITIONAL INFORMATION - * W5A00450 46 | * ERROR PROCEDURES - * W5A00460 47 | * ANY INVALID EBCDIC CHARACTER WILL BE * W5A00470 48 | * CONVERTED TO A BLANK. ANY BAD PARITY 2741 * W5A00480 49 | * LINE CODE CHARACTER WILL BE CONVERTED TO * W5A00490 50 | * HEX FF40 FOR A1 FORMAT OR HEX 00FF FOR * W5A00500 51 | * INDEX FORMAT. * W5A00510 52 | * CALLING SEQUENCE - * W5A00520 53 | * CALL XXXXX SUBROUTINE CALL * W5A00530 54 | * DC CTRL ADDR OF CONTROL WORD * W5A00540 55 | * DC INPUT ADDR OF FIRST INPUT WORD * W5A00550 56 | * DC OTPUT ADDR OF FIRST O/P WORD * W5A00560 57 | * DC CHCNT ADDR OF EBCDIC CHAR CNT * W5A00570 58 | * WHERE - * W5A00580 59 | * * XXXXX DETERMINES WHICH CONVERSION * W5A00590 60 | * IS REQUIRED - * W5A00600 61 | * FEB41 - EBCDIC TO 2741 LINE CODE * W5A00610 62 | * EBCDIC DATA IN A1 FORMAT * W5A00620 63 | * FORWARD IN CORE * W5A00630 64 | * BEB41 - EBCDIC TO 2741 LINE CODE * W5A00640 65 | * EBCDIC DATA IN A1 FORMAT * W5A00650 66 | * BACKWARD IN CORE * W5A00660 67 | * QEB41 - EBCDIC TO 2741 LINE CODE * W5A00670 68 | * EBCDIC DATA IN INDEX * W5A00680 69 | * FORMAT FORWARD IN CORE * W5A00690 70 | * F41EB - 2741 LINE CODE TO EBCDIC * W5A00700 71 | * EBCDIC DATA IN A1 FORMAT * W5A00710 72 | * FORWARD IN CORE * W5A00720 73 | * B41EB - 2741 LINE CODE TO EBCDIC * W5A00730 74 | * EBCDIC DATA IN A1 FORMAT * W5A00740 75 | * BACKWARD IN CORE * W5A00750 76 | * Q41EB - 2741 LINE CODE TO EBCDIC * W5A00760 77 | * EBCDIC DATA IN INDEX * W5A00770 78 | * FORMAT FORWARD IN CORE * W5A00780 79 | * * CTRL DETERMINES WHAT LINE CONTROL * W5A00790 80 | * CHARACTERS ARE ADDED FOR THE * W5A00800 81 | * CONVERSIONS FROM EBCDIC TO 2741 * W5A00810 82 | * LINE CODE - * W5A00820 83 | * 0 - NEW LINE AND EOT CHARACTERS * W5A00830 84 | * 1 - NEW LINE CHARACTER ONLY * W5A00840 85 | * 2 - EOT CHARACTER ONLY * W5A00850 86 | * 3 - NONE * W5A00860 87 | * * W5A00870 88 | *************************************************** W5A00880 89 | * W5A00890 90 | * W5A00900 91 | ENT FEB41 W5A00910 92 | ENT BEB41 W5A00920 93 | ENT F41EB W5A00930 94 | ENT B41EB W5A00940 95 | ENT QEB41 W5A00950 96 | ENT Q41EB W5A00960 97 | * W5A00970 98 | * W5A00980 99 | *************************************************** W5A00990 100 | * * W5A01000 101 | * ENTRY AND HOUSEKEEPING * W5A01010 102 | * * W5A01020 103 | *************************************************** W5A01030 104 | * W5A01040 0000 0000 105 | QEB41 DC *-* ENTRY POINT W5A01050 0001 D866 106 | STD TR901 SAVE ACC & EXT W5A01060 0002 1010 107 | SLA 16 W5A01070 0003 D075 108 | STO TR917 RESET FLAG FOR INDEX W5A01080 0004 C0FB 109 | LD QEB41 FETCH RETURN ADDRESS W5A01090 0005 7004 110 | B TR010 BR TO CONTINUE W5A01100 111 | * W5A01110 0006 0000 112 | FEB41 DC *-* ENTRY POINT W5A01120 0007 D860 113 | STD TR901 SAVE ACC & EXT W5A01130 0008 6870 114 | STX TR917 SET FLAG FOR FORTRAN W5A01140 0009 C0FC 115 | LD FEB41 FETCH RETURN ADDRESS W5A01150 000A D002 116 | TR010 STO BEB41 ST IN EXIT ADDR LOCN W5A01160 000B 1010 117 | SLA 16 RESET F/B FLAG TO FWD W5A01170 000C 7004 118 | B TR020 BR TO CONTINUE HSK W5A01180 119 | * W5A01190 000D 0000 120 | BEB41 DC *-* W5A01200 000E D859 121 | STD TR901 SAVE ACC & EXT W5A01210 000F 6869 122 | STX TR917 SET FLAG FOR FORTRAN W5A01220 0010 C060 123 | LD TR909 SET F/B FLAG TO BWD W5A01230 124 | * W5A01240 0011 D05C 125 | TR020 STO TR906 W5A01250 0012 2C00 00C9R 126 | STS L TR190 SAVE STATUS W5A01260 0014 6D00 00CBR 127 | STX L1 TR200+1 SAVE XR1 W5A01270 0016 6E00 00CDR 128 | STX L2 TR210+1 SAVE XR2 W5A01280 0018 6580 000DR 129 | LDX I1 BEB41 SET XR1 AS PARAM PT W5A01290 130 | * W5A01300 131 | * W5A01310 132 | *************************************************** W5A01320 133 | * * W5A01330 134 | * TRANSFER PARAMETERS FROM CALL * W5A01340 135 | * TO SUBROUTINE * W5A01350 136 | * * W5A01360 137 | *************************************************** W5A01370 138 | * W5A01380 001A C580 0000 139 | LD I1 0 GET FIRST PARAMETER W5A01390 001C D04D 140 | STO TR902 *(CONTROL PARAMETER) W5A01400 001D C500 0001 141 | LD L1 1 GET SECOND PARAMETER W5A01410 001F D04B 142 | STO TR903 *(DATA I/P AREA) W5A01420 0020 C500 0002 143 | LD L1 2 GET THIRD PARAMETER W5A01430 0022 D001 144 | STO TR900 *(DATA O/P AREA) W5A01440 145 | * W5A01450 0024R 146 | TR900 EQU *+1 DATA O/P AREA ADDRESS W5A01460 147 | * W5A01470 0023 6600 0000 148 | LDX L2 *-* SET XR2 AS O/P PT W5A01480 0025 C580 0003 149 | LD I1 3 GET FOURTH PARAMETER W5A01490 0027 D044 150 | STO TR904 *(I/P CHARACTER COUNT) W5A01500 0028 6500 00D3R 151 | LDX L1 TR998 XR1 AS TRANSL TABLE PT W5A01510 152 | * W5A01520 153 | * W5A01530 154 | *************************************************** W5A01540 155 | * * W5A01550 156 | * INITIALIZE * W5A01560 157 | * * W5A01570 158 | *************************************************** W5A01580 159 | * W5A01590 002A 10A0 160 | SLT 32 W5A01600 002B D041 161 | STO TR905 RESET O/P CHAR COUNT W5A01610 002C C0FF 162 | LD *-1 SET NEGATIVE VALUE IN W5A01620 002D D041 163 | STO TR907 *CASE SHIFT FLAG W5A01630 002E 7201 164 | MDX 2 1 INCR DATA O/P POINTER W5A01640 165 | * W5A01650 166 | * * * * * * * * * * * * * * * * * * * * * * * * * * W5A01660 167 | * TEST FOR NO DATA FOR CONVERSION * W5A01670 168 | * * * * * * * * * * * * * * * * * * * * * * * * * * W5A01680 169 | * W5A01690 002F C03C 170 | LD TR904 IS I/P COUNT POSITIVE W5A01700 0030 4C08 0093R 171 | BNP TR130 NO, BR TO CONTROL RTN W5A01710 172 | * W5A01720 173 | * W5A01730 174 | *************************************************** W5A01740 175 | * * W5A01750 176 | * CONVERSION ROUTINE * W5A01760 177 | * * W5A01770 178 | *************************************************** W5A01780 179 | * W5A01790 0032 C480 006BR 180 | TR030 LD I TR903 FETCH CHAR FOR CONV W5A01800 0034 7400 0079R 181 | MDM TR917,0 SKP IF NOT FORTRAN DATA W5A01810 0036 1808 182 | SRA 8 *AND STORE FOR W5A01820 0037 D001 183 | STO *+1 *INDEXING TRANSL TABLE W5A01830 0038 C500 0000 184 | LD L1 *-* FETCH TRANSLATION W5A01840 003A 1808 185 | SRA 8 EXTRACT RELEVANT HALF W5A01850 003B F035 186 | EOR TR909 TEST IF CHAR IS SPACE 212 W5A01852 003C 4C18 0049R 187 | BZ TR035 BR, YES 212 W5A01854 003E F032 188 | EOR TR909 NO, RESTORE CHAR 212 W5A01856 003F 1887 189 | SRT 7 TEST CASE SHIFT OF CHAR W5A01860 0040 4C20 004CR 190 | BNZ TR040 BR IF CHAR UPPER CASE W5A01870 0042 C02C 191 | LD TR907 TEST CASE SHIFT FLAG W5A01880 0043 4C18 007AR 192 | BZ TR090 BR IF IN LOWER CASE W5A01890 0045 1010 193 | SLA 16 W5A01900 0046 D028 194 | STO TR907 RESET CASE FLG TO LOWER W5A01910 0047 C02B 195 | LD TR911 FETCH LOWER CASE CHAR W5A01920 0048 7008 196 | B TR050 BR TO ST CASE & CHAR W5A01930 197 | * 212 W5A01931 0049 C027 198 | TR035 LD TR909 RESTORE CHAR 212 W5A01932 004A 1887 199 | SRT 7 SHIFT INTO PLACE 212 W5A01934 004B 702E 200 | B TR090 BR TO STORE CHAR IN O/P 212 W5A01936 201 | * 212 W5A01939 202 | * W5A01940 004C C022 203 | TR040 LD TR907 TEST CASE SHIFT FLAG W5A01950 004D 4C30 007AR 204 | BP TR090 BR IF UPPER CASE W5A01960 004F 681F 205 | STX TR907 SET CASE FLAG TO UPPER W5A01970 0050 C023 206 | LD TR912 FETCH UPPER CASE CHAR W5A01980 207 | * W5A01990 208 | * W5A02000 209 | *************************************************** W5A02010 210 | * * W5A02020 211 | * STORE CASE SHIFT CHARACTER * W5A02030 212 | * AND DATA CHARACTER * W5A02040 213 | * * W5A02050 214 | *************************************************** W5A02060 215 | * W5A02070 0051 1888 216 | TR050 SRT 8 SAVE CASE & DATA IN EXT W5A02080 0052 C01A 217 | LD TR905 BR IF PREVIOUS CHAR W5A02090 0053 4C04 0080R 218 | BOD TR100 *STORED ON LEFT W5A02100 0055 1088 219 | SLT 8 TRANSFER CASE SHIFT W5A02110 0056 1001 220 | SLA 1 *AND DATA CHAR TO ACC W5A02120 0057 1087 221 | SLT 7 W5A02130 0058 D200 222 | STO 2 0 STORE IN DATA O/P AREA W5A02140 0059 7201 223 | MDX 2 1 INCR DATA O/P POINTER W5A02150 005A 7402 006DR 224 | MDM TR905,2 INCR O/P CHAR CNT BY 2 W5A02160 225 | * W5A02170 226 | * W5A02180 227 | *************************************************** W5A02190 228 | * * W5A02200 229 | * ALTER TABLE POINTERS * W5A02210 230 | * * W5A02220 231 | *************************************************** W5A02230 232 | * W5A02240 005C C011 233 | TR060 LD TR906 TEST FWD/BWD FLAG W5A02250 005D 4C20 0062R 234 | BNZ TR070 BR IF BACKWARD W5A02260 005F 7401 006BR 235 | MDM TR903,1 SET I/P PT TO NEXT CHAR W5A02270 0061 7002 236 | B TR080 BR TO CONTINUE W5A02280 237 | * W5A02290 0062 74FF 006BR 238 | TR070 MDM TR903,-1 SET I/P PT TO NEXT CHAR W5A02300 0064 74FF 006CR 239 | TR080 MDM TR904,-1 DECR I/P CHAR COUNT AND W5A02310 240 | * *TEST FOR NO MORE CHARS W5A02320 0066 70CB 241 | B TR030 BR TO CONVERT NEXT CHAR W5A02330 0067 702B 242 | B TR130 BR TO CONTROL ROUTINE W5A02340 243 | * W5A02350 244 | * W5A02360 245 | *************************************************** W5A02370 246 | * * W5A02380 247 | * CONSTANTS AND WORK AREAS FOR * W5A02390 248 | * FEB41 AND BEB41 * W5A02400 249 | * * W5A02410 250 | *************************************************** W5A02420 251 | * W5A02430 0068 252 | TR901 BSS E 2 CONTENTS OF ACC & EXT W5A02440 253 | * W5A02450 006A 0000 254 | TR902 DC *-* CONTROL PARAMETER W5A02460 255 | * 0 - ADD NL AND EOT W5A02470 256 | * 1 - ADD NL ONLY W5A02480 257 | * 2 - ADD EOT ONLY W5A02490 258 | * 3 - ADD NOTHING W5A02500 259 | * ELSE - AS FOR 0 W5A02510 260 | * W5A02520 006B 0000 261 | TR903 DC *-* PT TO DATA I/P AREA W5A02530 006C 0000 262 | TR904 DC *-* I/P CHARACTER COUNT W5A02540 006D 0000 263 | TR905 DC *-* O/P CHARACTER COUNT W5A02550 264 | * W5A02560 006E 0000 265 | TR906 DC *-* FWD/BWD FLAG W5A02570 266 | * 0 - I/P DATA FORWARD W5A02580 267 | * IN CORE W5A02590 268 | * 1 - I/P DATA BACKWARD W5A02600 269 | * IN CORE W5A02610 270 | * W5A02620 006F 0000 271 | TR907 DC *-* CASE SHIFT FLAG W5A02630 272 | * POSITIVE - UPPER CASE W5A02640 273 | * ZERO - LOWER CASE W5A02650 274 | * NEGATIVE - NEITHER CASE W5A02660 275 | * W5A02670 0070 0000 276 | TR908 DC *-* TEMPORARY STORE W5A02680 0071 0001 277 | TR909 DC 1 CONSTANT W5A02690 0072 0002 278 | TR910 DC 2 CONSTANT W5A02700 0073 007C 279 | TR911 DC /007C LOWER CASE SHIFT CHAR W5A02710 0074 001C 280 | TR912 DC /001C UPPER CASE SHIFT CHAR W5A02720 0075 005B 281 | TR913 DC /005B NEW LINE CHARACTER W5A02730 0076 005E 282 | TR914 DC /005E IDLE CHARACTER W5A02740 0077 001F 283 | TR915 DC /001F EOT CHARACTER W5A02750 0078 1F5E 284 | TR916 DC /1F5E EOT & IDLE CHARACTER W5A02760 285 | * W5A02770 0079 0000 286 | TR917 DC *-* FORT/INDEX FORMAT FLAG W5A02780 287 | * ZERO - INDEX FORMAT W5A02790 288 | * I.E. /00XX W5A02800 289 | * ELSE - FORTRAN FORMAT W5A02810 290 | * I.E. /XX40 W5A02820 291 | * W5A02830 292 | * W5A02840 293 | *************************************************** W5A02850 294 | * * W5A02860 295 | * CONVERSION ROUTINE (CONTINUED) * W5A02870 296 | * * W5A02880 297 | *************************************************** W5A02890 298 | * W5A02900 007A C0F2 299 | TR090 LD TR905 BR IF PREVIOUS CHAR W5A02910 007B 4C04 008BR 300 | BOD TR120 *STORED ON LEFT W5A02920 007D 7401 006DR 301 | MDM TR905,1 INCR O/P CHAR COUNT W5A02930 007F 7007 302 | B TR110 BR TO SAVE CHAR W5A02940 303 | * W5A02950 0080 1008 304 | TR100 SLA 8 TRANSFER CASE SHIFT W5A02960 0081 1088 305 | SLT 8 *CHAR TO RIGHT OF ACC W5A02970 0082 F0ED 306 | EOR TR908 ASSEMBLE PACKED WORD W5A02980 0083 D200 307 | STO 2 0 *AND STORE IN DATA O/P W5A02990 0084 7201 308 | MDX 2 1 INCR DATA O/P POINTER W5A03000 0085 7402 006DR 309 | MDM TR905,2 INCR O/P CHAR CNT BY 2 W5A03010 0087 1001 310 | TR110 SLA 1 TRANSFER DATA CHAR TO W5A03020 0088 108F 311 | SLT 15 *LEFT OF ACC AND STORE W5A03030 0089 D0E6 312 | STO TR908 *IN TEMPORARY LOCATION W5A03040 008A 70D1 313 | B TR060 BR TO ALTER TABLE PTS W5A03050 314 | * W5A03060 008B 1009 315 | TR120 SLA 9 TRANSFER DATA CHARACTER W5A03070 008C 1087 316 | SLT 7 *TO RIGHT HALF OF ACC W5A03080 008D F0E2 317 | EOR TR908 ASSEMBLE PACKED WORD W5A03090 008E D200 318 | STO 2 0 *AND STORE IN DATA O/P W5A03100 008F 7401 006DR 319 | MDM TR905,1 INCR O/P CHAR COUNT W5A03110 0091 7201 320 | MDX 2 1 INCR DATA O/P POINTER W5A03120 0092 70C9 321 | B TR060 BR TO ALTER TABLE PTS W5A03130 322 | * W5A03140 323 | * W5A03150 324 | *************************************************** W5A03160 325 | * * W5A03170 326 | * CONTROL ROUTINE * W5A03180 327 | * * W5A03190 328 | *************************************************** W5A03200 329 | * W5A03210 0093 C0D6 330 | TR130 LD TR902 FETCH CONTROL PARAMETER W5A03220 0094 90DD 331 | S TR910 W5A03230 0095 4C28 00A4R 332 | BN TR140 BR IF NEW LINE REQUIRED W5A03240 333 | * W5A03250 0097 90D9 334 | S TR909 CHECK FOR NONE (3) W5A03260 0098 4C10 009ER 335 | BNN TR135 BR IF YES W5A03270 336 | * W5A03280 009A C0D2 337 | LD TR905 BR IF PREVIOUS CHAR W5A03290 009B 4C04 00B2R 338 | BOD TR150 *STORED IN LEFT HALF W5A03300 009D 7024 339 | B TR170 BR IF STORED ON RIGHT W5A03310 340 | * W5A03320 009E C0CE 341 | TR135 LD TR905 BR IF PREVIOUS CHAR W5A03330 009F 4C04 00A2R 342 | BOD TR137 *STORED IN LEFT HALF W5A03340 00A1 7024 343 | B TR180 BR FOR RIGHT HALF W5A03350 344 | * W5A03360 00A2 C0CD 345 | TR137 LD TR908 FETCH TEMPORARY CHAR W5A03370 00A3 7010 346 | B TR155 GO STORE IN BUFFER W5A03380 347 | * W5A03390 00A4 C0C8 348 | TR140 LD TR905 BR IF PREVIOUS CHAR W5A03400 00A5 4C04 00B8R 349 | BOD TR160 *STORED IN LEFT HALF W5A03410 00A7 C0CD 350 | LD TR913 FETCH NEW LINE CHAR AND W5A03420 00A8 1008 351 | SLA 8 *STORE IN LEFT HALF OF W5A03430 00A9 D0C6 352 | STO TR908 *TEMPORARY LOCATION W5A03440 00AA 7401 006DR 353 | MDM TR905,1 INCR O/P CHAR COUNT W5A03450 00AC C0BD 354 | LD TR902 FETCH CONTROL PARAMETER W5A03460 00AD 90C3 355 | S TR909 W5A03470 00AE 4C20 00B2R 356 | BNZ TR150 BR IF EOT CHAR REQUIRED W5A03480 00B0 C0C5 357 | LD TR914 FETCH IDLE CHARACTER W5A03490 00B1 7001 358 | B *+1 SKIP TO CONTINUE W5A03500 00B2 C0C4 359 | TR150 LD TR915 FETCH EOT CHARACTER W5A03510 00B3 F0BC 360 | EOR TR908 ASSEMBLE PACKED WORD W5A03520 00B4 D200 361 | TR155 STO 2 0 *AND STORE IN DATA O/P W5A03530 00B5 7401 006DR 362 | MDM TR905,1 INCR O/P CHAR COUNT W5A03540 00B7 700E 363 | B TR180 BR TO RESTORE ROUTINE W5A03550 364 | * W5A03560 00B8 C0BC 365 | TR160 LD TR913 FETCH NEW LINE CHAR W5A03570 00B9 F0B6 366 | EOR TR908 ASSEMBLE PACKED WORD W5A03580 00BA D200 367 | STO 2 0 *AND STORE IN DATA O/P W5A03590 00BB 7401 006DR 368 | MDM TR905,1 INCR O/P CHAR COUNT W5A03600 00BD 7201 369 | MDX 2 1 INCR DATA O/P POINTER W5A03610 00BE C0AB 370 | LD TR902 FETCH CONTROL PARAMETER W5A03620 00BF 90B1 371 | S TR909 W5A03630 00C0 4C18 00C6R 372 | BZ TR180 BR IF EOT NOT REQUIRED W5A03640 373 | * W5A03650 00C2 C0B5 374 | TR170 LD TR916 FETCH EOT & IDLE CHAR W5A03660 00C3 D200 375 | STO 2 0 STORE IN DATA O/P W5A03670 00C4 7402 006DR 376 | MDM TR905,2 INCR O/P CHAR CNT BY 2 W5A03680 377 | * W5A03690 378 | * W5A03700 379 | *************************************************** W5A03710 380 | * * W5A03720 381 | * RESTORE AND RETURN ROUTINE * W5A03730 382 | * * W5A03740 383 | *************************************************** W5A03750 384 | * W5A03760 00C6 C0A6 385 | TR180 LD TR905 FETCH O/P CHAR COUNT W5A03770 00C7 D480 0024R 386 | STO I TR900 STORE IN FIRST WORD OF W5A03780 387 | * *DATA O/P W5A03790 00C9 2000 388 | TR190 LDS 0 RESTORE STATUS W5A03800 00CA 6500 0000 389 | TR200 LDX L1 *-* RESTORE XR1 W5A03810 00CC 6600 0000 390 | TR210 LDX L2 *-* RESTORE XR2 W5A03820 00CE C899 391 | LDD TR901 RESTORE ACC AND EXT W5A03830 392 | * W5A03840 00CF 7404 000DR 393 | MDM BEB41,4 SET PROGRAM RETURN ADDR W5A03850 00D1 4C80 000DR 394 | B I BEB41 RETURN TO CALLER W5A03860 395 | * W5A03870 396 | * W5A03880 397 | *************************************************** W5A03890 398 | * * W5A03900 399 | * TRANSLATION TABLE * W5A03910 400 | * * W5A03920 401 | *************************************************** W5A03930 402 | *OPERATION NOTES - * W5A03940 403 | * * FOR USE WITH TABLE LOOK-UP TECHNIQUE * W5A03950 404 | * * TABLE CONTAINS PACKED DATA - * W5A03960 405 | * * LEFT BYTE CONTAINS 2741 LINE CODE * W5A03970 406 | * (COMMENTED IN COLS 45 TO 50) * W5A03980 407 | * * RIGHT BYTE CONTAINS EBCDIC * W5A03990 408 | * (COMMENTED IN COLS 55 TO 63) * W5A04000 409 | * * 2741 LINE CODE DATA HAS BIT 0 AS THE * W5A04010 410 | * CHARACTER CASE SHIFT INDICATOR - * W5A04020 411 | * 0 - LOWER CASE * W5A04030 412 | * 1 - UPPER CASE * W5A04040 413 | * THIS EXTRA BIT IS REMOVED IN THE * W5A04050 414 | * TRANSLATION ROUTINE. * W5A04060 415 | * * TABLE IS DIVIDED INTO TWO PARTS FOR * W5A04070 416 | * 2741 CODE TO EBCDIC TRANSLATION - * W5A04080 417 | * 1ST PART - USED WHEN LOWER CASE CHAR * W5A04090 418 | * TRANSLATED * W5A04100 419 | * 2ND PART - USED WHEN UPPER CASE CHAR * W5A04110 420 | * TRANSLATED * W5A04120 421 | *************************************************** W5A04130 422 | * W5A04140 00D3 01FF 423 | TR998 DC /01FF SPACE BAD DATA 00 W5A04150 00D4 0140 424 | DC /0140 SPACE SPACE 01 W5A04160 00D5 01F1 425 | DC /01F1 SPACE 1 02 W5A04170 00D6 01FF 426 | DC /01FF SPACE BAD DATA 03 W5A04180 00D7 79F2 427 | DC /79F2 PF 2 04 W5A04190 00D8 7AFF 428 | DC /7AFF HT BAD DATA 05 W5A04200 00D9 7CFF 429 | DC /7CFF LC BAD DATA 06 W5A04210 00DA 7FF3 430 | DC /7FF3 DEL 3 07 W5A04220 00DB 01F4 431 | DC /01F4 SPACE 4 08 W5A04230 00DC 01FF 432 | DC /01FF SPACE BAD DATA 09 W5A04240 00DD 01FF 433 | DC /01FF SPACE BAD DATA 0A W5A04250 00DE 01F5 434 | DC /01F5 SPACE 5 0B W5A04260 00DF 01FF 435 | DC /01FF SPACE BAD DATA 0C W5A04270 00E0 01F6 436 | DC /01F6 SPACE 6 0D W5A04280 00E1 01F7 437 | DC /01F7 SPACE 7 0E W5A04290 00E2 01FF 438 | DC /01FF SPACE BAD DATA 0F W5A04300 00E3 01F8 439 | DC /01F8 SPACE 8 10 W5A04310 00E4 01FF 440 | DC /01FF SPACE BAD DATA 11 W5A04320 00E5 01FF 441 | DC /01FF SPACE BAD DATA 12 W5A04330 00E6 01F9 442 | DC /01F9 SPACE 9 13 W5A04340 00E7 58FF 443 | DC /58FF RES BAD DATA 14 W5A04350 00E8 5BF0 444 | DC /5BF0 NL 0 15 W5A04360 00E9 5D7B 445 | DC /5D7B BS # 16 W5A04370 00EA 5EFF 446 | DC /5EFF IDL BAD DATA 17 W5A04380 00EB 01FF 447 | DC /01FF SPACE BAD DATA 18 W5A04390 00EC 0134 448 | DC /0134 SPACE PN 19 W5A04400 00ED 0135 449 | DC /0135 SPACE RS 1A W5A04410 00EE 01FF 450 | DC /01FF SPACE BAD DATA 1B W5A04420 00EF 0136 451 | DC /0136 SPACE UC 1C W5A04430 00F0 01FF 452 | DC /01FF SPACE BAD DATA 1D W5A04440 00F1 01FF 453 | DC /01FF SPACE BAD DATA 1E W5A04450 00F2 0137 454 | DC /0137 SPACE EOT 1F W5A04460 00F3 017C 455 | DC /017C SPACE @ 20 W5A04470 00F4 01FF 456 | DC /01FF SPACE BAD DATA 21 W5A04480 00F5 01FF 457 | DC /01FF SPACE BAD DATA 22 W5A04490 00F6 0161 458 | DC /0161 SPACE / 23 W5A04500 00F7 38FF 459 | DC /38FF BYP BAD DATA 24 W5A04510 00F8 3BA2 460 | DC /3BA2 LF S (LC) 25 W5A04520 00F9 3DA3 461 | DC /3DA3 EOB T (LC) 26 W5A04530 00FA 3EFF 462 | DC /3EFF PRE BAD DATA 27 W5A04540 00FB 01FF 463 | DC /01FF SPACE BAD DATA 28 W5A04550 00FC 01A4 464 | DC /01A4 SPACE U (LC) 29 W5A04560 00FD 01A5 465 | DC /01A5 SPACE V (LC) 2A W5A04570 00FE 01FF 466 | DC /01FF SPACE BAD DATA 2B W5A04580 00FF 01A6 467 | DC /01A6 SPACE W (LC) 2C W5A04590 0100 01FF 468 | DC /01FF SPACE BAD DATA 2D W5A04600 0101 01FF 469 | DC /01FF SPACE BAD DATA 2E W5A04610 0102 01A7 470 | DC /01A7 SPACE X (LC) 2F W5A04620 0103 01FF 471 | DC /01FF SPACE BAD DATA 30 W5A04630 0104 01A8 472 | DC /01A8 SPACE Y (LC) 31 W5A04640 0105 01A9 473 | DC /01A9 SPACE Z (LC) 32 W5A04650 0106 01FF 474 | DC /01FF SPACE BAD DATA 33 W5A04660 0107 19FF 475 | DC /19FF PN BAD DATA 34 W5A04670 0108 1AFF 476 | DC /1AFF RS BAD DATA 35 W5A04680 0109 1CFF 477 | DC /1CFF UC BAD DATA 36 W5A04690 010A 1F6B 478 | DC /1F6B EOT , 37 W5A04700 010B 0124 479 | DC /0124 SPACE BYP 38 W5A04710 010C 01FF 480 | DC /01FF SPACE BAD DATA 39 W5A04720 010D 01FF 481 | DC /01FF SPACE BAD DATA 3A W5A04730 010E 0125 482 | DC /0125 SPACE LF 3B W5A04740 010F 01FF 483 | DC /01FF SPACE BAD DATA 3C W5A04750 0110 0126 484 | DC /0126 SPACE EOB 3D W5A04760 0111 0127 485 | DC /0127 SPACE PRE 3E W5A04770 0112 01FF 486 | DC /01FF SPACE BAD DATA 3F W5A04780 0113 0160 487 | DC /0160 SPACE - 40 W5A04790 0114 01FF 488 | DC /01FF SPACE BAD DATA 41 W5A04800 0115 01FF 489 | DC /01FF SPACE BAD DATA 42 W5A04810 0116 0191 490 | DC /0191 SPACE J (LC) 43 W5A04820 0117 01FF 491 | DC /01FF SPACE BAD DATA 44 W5A04830 0118 0192 492 | DC /0192 SPACE K (LC) 45 W5A04840 0119 0193 493 | DC /0193 SPACE L (LC) 46 W5A04850 011A 01FF 494 | DC /01FF SPACE BAD DATA 47 W5A04860 011B 01FF 495 | DC /01FF SPACE BAD DATA 48 W5A04870 011C 0194 496 | DC /0194 SPACE M (LC) 49 W5A04880 011D A095 497 | DC /A095 CENTS N (LC) 4A W5A04890 011E 76FF 498 | DC /76FF . BAD DATA 4B W5A04900 011F 8496 499 | DC /8496 < O (LC) 4C W5A04910 0120 93FF 500 | DC /93FF ( BAD DATA 4D W5A04920 0121 E1FF 501 | DC /E1FF + BAD DATA 4E W5A04930 0122 B797 502 | DC /B797 | P (LC) 4F W5A04940 0123 61FF 503 | DC /61FF & BAD DATA 50 W5A04950 0124 0198 504 | DC /0198 SPACE Q (LC) 51 W5A04960 0125 0199 505 | DC /0199 SPACE R (LC) 52 W5A04970 0126 01FF 506 | DC /01FF SPACE BAD DATA 53 W5A04980 0127 01FF 507 | DC /01FF SPACE BAD DATA 54 W5A04990 0128 01FF 508 | DC /01FF SPACE BAD DATA 55 W5A05000 0129 01FF 509 | DC /01FF SPACE BAD DATA 56 W5A05010 012A 015B 510 | DC /015B SPACE $ 57 W5A05020 012B 0114 511 | DC /0114 SPACE RES 58 W5A05030 012C 01FF 512 | DC /01FF SPACE BAD DATA 59 W5A05040 012D D7FF 513 | DC /D7FF ! BAD DATA 5A W5A05050 012E 5715 514 | DC /5715 $ NL 5B W5A05060 012F 90FF 515 | DC /90FF * BAD DATA 5C W5A05070 0130 9516 516 | DC /9516 ) BS 5D W5A05080 0131 8717 517 | DC /8717 ; IDL 5E W5A05090 0132 F6FF 518 | DC /F6FF ¬ BAD DATA 5F W5A05100 0133 40FF 519 | DC /40FF - BAD DATA 60 W5A05110 0134 2350 520 | DC /2350 / & 61 W5A05120 0135 0181 521 | DC /0181 SPACE A (LC) 62 W5A05130 0136 01FF 522 | DC /01FF SPACE BAD DATA 63 W5A05140 0137 0182 523 | DC /0182 SPACE B (LC) 64 W5A05150 0138 01FF 524 | DC /01FF SPACE BAD DATA 65 W5A05160 0139 01FF 525 | DC /01FF SPACE BAD DATA 66 W5A05170 013A 0183 526 | DC /0183 SPACE C (LC) 67 W5A05180 013B 0184 527 | DC /0184 SPACE D (LC) 68 W5A05190 013C 01FF 528 | DC /01FF SPACE BAD DATA 69 W5A05200 013D 01FF 529 | DC /01FF SPACE BAD DATA 6A W5A05210 013E 3785 530 | DC /3785 , E (LC) 6B W5A05220 013F 8BFF 531 | DC /8BFF % BAD DATA 6C W5A05230 0140 C086 532 | DC /C086 _ F (LC) 6D W5A05240 0141 8E87 533 | DC /8E87 > G (LC) 6E W5A05250 0142 A3FF 534 | DC /A3FF ? BAD DATA 6F W5A05260 0143 0188 535 | DC /0188 SPACE H (LC) 70 W5A05270 0144 01FF 536 | DC /01FF SPACE BAD DATA 71 W5A05280 0145 01FF 537 | DC /01FF SPACE BAD DATA 72 W5A05290 0146 0189 538 | DC /0189 SPACE I (LC) 73 W5A05300 0147 01FF 539 | DC /01FF SPACE BAD DATA 74 W5A05310 0148 01FF 540 | DC /01FF SPACE BAD DATA 75 W5A05320 0149 014B 541 | DC /014B SPACE . 76 W5A05330 014A 01FF 542 | DC /01FF SPACE BAD DATA 77 W5A05340 014B 01FF 543 | DC /01FF SPACE BAD DATA 78 W5A05350 014C 0104 544 | DC /0104 SPACE PF 79 W5A05360 014D 8805 545 | DC /8805 : HT 7A W5A05370 014E 16FF 546 | DC /16FF # BAD DATA 7B W5A05380 014F 2006 547 | DC /2006 @ LC 7C W5A05390 0150 8DFF 548 | DC /8DFF ' BAD DATA 7D W5A05400 0151 82FF 549 | DC /82FF = BAD DATA 7E W5A05410 0152 9607 550 | DC /9607 " DEL 7F W5A05420 0153 01FF 551 | TR999 DC /01FF SPACE BAD DATA 80 W5A05430 0154 6240 552 | DC /6240 A (LC) SPACE 81 W5A05440 0155 647E 553 | DC /647E B (LC) = 82 W5A05450 0156 67FF 554 | DC /67FF C (LC) BAD DATA 83 W5A05460 0157 684C 555 | DC /684C D (LC) < 84 W5A05470 0158 6BFF 556 | DC /6BFF E (LC) BAD DATA 85 W5A05480 0159 6DFF 557 | DC /6DFF F (LC) BAD DATA 86 W5A05490 015A 6E5E 558 | DC /6E5E G (LC) ; 87 W5A05500 015B 707A 559 | DC /707A H (LC) : 88 W5A05510 015C 73FF 560 | DC /73FF I (LC) BAD DATA 89 W5A05520 015D 01FF 561 | DC /01FF SPACE BAD DATA 8A W5A05530 015E 016C 562 | DC /016C SPACE % 8B W5A05540 015F 01FF 563 | DC /01FF SPACE BAD DATA 8C W5A05550 0160 017D 564 | DC /017D SPACE ' 8D W5A05560 0161 016E 565 | DC /016E SPACE > 8E W5A05570 0162 01FF 566 | DC /01FF SPACE BAD DATA 8F W5A05580 0163 015C 567 | DC /015C SPACE * 90 W5A05590 0164 43FF 568 | DC /43FF J (LC) BAD DATA 91 W5A05600 0165 45FF 569 | DC /45FF K (LC) BAD DATA 92 W5A05610 0166 464D 570 | DC /464D L (LC) ( 93 W5A05620 0167 49FF 571 | DC /49FF M (LC) BAD DATA 94 W5A05630 0168 4A5D 572 | DC /4A5D N (LC) ) 95 W5A05640 0169 4C7F 573 | DC /4C7F O (LC) " 96 W5A05650 016A 4FFF 574 | DC /4FFF P (LC) BAD DATA 97 W5A05660 016B 51FF 575 | DC /51FF Q (LC) BAD DATA 98 W5A05670 016C 5234 576 | DC /5234 R (LC) PN 99 W5A05680 016D 0135 577 | DC /0135 SPACE RS 9A W5A05690 016E 01FF 578 | DC /01FF SPACE BAD DATA 9B W5A05700 016F 0136 579 | DC /0136 SPACE UC 9C W5A05710 0170 01FF 580 | DC /01FF SPACE BAD DATA 9D W5A05720 0171 01FF 581 | DC /01FF SPACE BAD DATA 9E W5A05730 0172 0137 582 | DC /0137 SPACE EOT 9F W5A05740 0173 014A 583 | DC /014A SPACE CENTS A0 W5A05750 0174 01FF 584 | DC /01FF SPACE BAD DATA A1 W5A05760 0175 25FF 585 | DC /25FF S (LC) BAD DATA A2 W5A05770 0176 266F 586 | DC /266F T (LC) ? A3 W5A05780 0177 29FF 587 | DC /29FF U (LC) BAD DATA A4 W5A05790 0178 2AE2 588 | DC /2AE2 V (LC) S (UC) A5 W5A05800 0179 2CE3 589 | DC /2CE3 W (LC) T (UC) A6 W5A05810 017A 2FFF 590 | DC /2FFF X (LC) BAD DATA A7 W5A05820 017B 31FF 591 | DC /31FF Y (LC) BAD DATA A8 W5A05830 017C 32E4 592 | DC /32E4 Z (LC) U (UC) A9 W5A05840 017D 01E5 593 | DC /01E5 SPACE V (UC) AA W5A05850 017E 01FF 594 | DC /01FF SPACE BAD DATA AB W5A05860 017F 01E6 595 | DC /01E6 SPACE W (UC) AC W5A05870 0180 01FF 596 | DC /01FF SPACE BAD DATA AD W5A05880 0181 01FF 597 | DC /01FF SPACE BAD DATA AE W5A05890 0182 01E7 598 | DC /01E7 SPACE X (UC) AF W5A05900 0183 01FF 599 | DC /01FF SPACE BAD DATA B0 W5A05910 0184 01E8 600 | DC /01E8 SPACE Y (UC) B1 W5A05920 0185 01E9 601 | DC /01E9 SPACE Z (UC) B2 W5A05930 0186 01FF 602 | DC /01FF SPACE BAD DATA B3 W5A05940 0187 01FF 603 | DC /01FF SPACE BAD DATA B4 W5A05950 0188 01FF 604 | DC /01FF SPACE BAD DATA B5 W5A05960 0189 01FF 605 | DC /01FF SPACE BAD DATA B6 W5A05970 018A 014F 606 | DC /014F SPACE | B7 W5A05980 018B 0124 607 | DC /0124 SPACE BYP B8 W5A05990 018C 01FF 608 | DC /01FF SPACE BAD DATA B9 W5A06000 018D 01FF 609 | DC /01FF SPACE BAD DATA BA W5A06010 018E 0125 610 | DC /0125 SPACE LF BB W5A06020 018F 01FF 611 | DC /01FF SPACE BAD DATA BC W5A06030 0190 0126 612 | DC /0126 SPACE EOB BD W5A06040 0191 0127 613 | DC /0127 SPACE PRE BE W5A06050 0192 01FF 614 | DC /01FF SPACE BAD DATA BF W5A06060 0193 156D 615 | DC /156D 0 _ C0 W5A06070 0194 E2FF 616 | DC /E2FF A (UC) BAD DATA C1 W5A06080 0195 E4FF 617 | DC /E4FF B (UC) BAD DATA C2 W5A06090 0196 E7D1 618 | DC /E7D1 C (UC) J (UC) C3 W5A06100 0197 E8FF 619 | DC /E8FF D (UC) BAD DATA C4 W5A06110 0198 EBD2 620 | DC /EBD2 E (UC) K (UC) C5 W5A06120 0199 EDD3 621 | DC /EDD3 F (UC) L (UC) C6 W5A06130 019A EEFF 622 | DC /EEFF G (UC) BAD DATA C7 W5A06140 019B F0FF 623 | DC /F0FF H (UC) BAD DATA C8 W5A06150 019C F3D4 624 | DC /F3D4 I (UC) M (UC) C9 W5A06160 019D 01D5 625 | DC /01D5 SPACE N (UC) CA W5A06170 019E 01FF 626 | DC /01FF SPACE BAD DATA CB W5A06180 019F 01D6 627 | DC /01D6 SPACE O (UC) CC W5A06190 01A0 01FF 628 | DC /01FF SPACE BAD DATA CD W5A06200 01A1 01FF 629 | DC /01FF SPACE BAD DATA CE W5A06210 01A2 01D7 630 | DC /01D7 SPACE P (UC) CF W5A06220 01A3 15FF 631 | DC /15FF 0 BAD DATA D0 W5A06230 01A4 C3D8 632 | DC /C3D8 J (UC) Q (UC) D1 W5A06240 01A5 C5D9 633 | DC /C5D9 K (UC) R (UC) D2 W5A06250 01A6 C6FF 634 | DC /C6FF L (UC) BAD DATA D3 W5A06260 01A7 C9FF 635 | DC /C9FF M (UC) BAD DATA D4 W5A06270 01A8 CAFF 636 | DC /CAFF N (UC) BAD DATA D5 W5A06280 01A9 CCFF 637 | DC /CCFF O (UC) BAD DATA D6 W5A06290 01AA CF5A 638 | DC /CF5A P (UC) ! D7 W5A06300 01AB D114 639 | DC /D114 Q (UC) RES D8 W5A06310 01AC D2FF 640 | DC /D2FF R (UC) BAD DATA D9 W5A06320 01AD 01FF 641 | DC /01FF SPACE BAD DATA DA W5A06330 01AE 0115 642 | DC /0115 SPACE NL DB W5A06340 01AF 01FF 643 | DC /01FF SPACE BAD DATA DC W5A06350 01B0 0116 644 | DC /0116 SPACE BS DD W5A06360 01B1 0117 645 | DC /0117 SPACE IDL DE W5A06370 01B2 01FF 646 | DC /01FF SPACE BAD DATA DF W5A06380 01B3 01FF 647 | DC /01FF SPACE BAD DATA E0 W5A06390 01B4 014E 648 | DC /014E SPACE + E1 W5A06400 01B5 A5C1 649 | DC /A5C1 S (UC) A (UC) E2 W5A06410 01B6 A6FF 650 | DC /A6FF T (UC) BAD DATA E3 W5A06420 01B7 A9C2 651 | DC /A9C2 U (UC) B (UC) E4 W5A06430 01B8 AAFF 652 | DC /AAFF V (UC) BAD DATA E5 W5A06440 01B9 ACFF 653 | DC /ACFF W (UC) BAD DATA E6 W5A06450 01BA AFC3 654 | DC /AFC3 X (UC) C (UC) E7 W5A06460 01BB B1C4 655 | DC /B1C4 Y (UC) D (UC) E8 W5A06470 01BC B2FF 656 | DC /B2FF Z (UC) BAD DATA E9 W5A06480 01BD 01FF 657 | DC /01FF SPACE BAD DATA EA W5A06490 01BE 01C5 658 | DC /01C5 SPACE E (UC) EB W5A06500 01BF 01FF 659 | DC /01FF SPACE BAD DATA EC W5A06510 01C0 01C6 660 | DC /01C6 SPACE F (UC) ED W5A06520 01C1 01C7 661 | DC /01C7 SPACE G (UC) EE W5A06530 01C2 01FF 662 | DC /01FF SPACE BAD DATA EF W5A06540 01C3 15C8 663 | DC /15C8 0 H (UC) F0 W5A06550 01C4 02FF 664 | DC /02FF 1 BAD DATA F1 W5A06560 01C5 04FF 665 | DC /04FF 2 BAD DATA F2 W5A06570 01C6 07C9 666 | DC /07C9 3 I (UC) F3 W5A06580 01C7 08FF 667 | DC /08FF 4 BAD DATA F4 W5A06590 01C8 0BFF 668 | DC /0BFF 5 BAD DATA F5 W5A06600 01C9 0D5F 669 | DC /0D5F 6 ¬ F6 W5A06610 01CA 0EFF 670 | DC /0EFF 7 BAD DATA F7 W5A06620 01CB 10FF 671 | DC /10FF 8 BAD DATA F8 W5A06630 01CC 1304 672 | DC /1304 9 PF F9 W5A06640 01CD 0105 673 | DC /0105 SPACE HT FA W5A06650 01CE 01FF 674 | DC /01FF SPACE BAD DATA FB W5A06660 01CF 0106 675 | DC /0106 SPACE LC FC W5A06670 01D0 01FF 676 | DC /01FF SPACE BAD DATA FD W5A06680 01D1 01FF 677 | DC /01FF SPACE BAD DATA FE W5A06690 01D2 0107 678 | DC /0107 SPACE DEL FF W5A06700 679 | * W5A06710 680 | * W5A06720 681 | *************************************************** W5A06730 682 | * * W5A06740 683 | * ENTRY AND HOUSEKEEPING * W5A06750 684 | * * W5A06760 685 | *************************************************** W5A06770 686 | * W5A06780 01D3 0000 687 | Q41EB DC *-* ENTRY POINT W5A06790 01D4 D841 688 | STD TR920 SAVE ACC & EXT W5A06800 01D5 6842 689 | STX TR921 SET FLAG FOR INDEX W5A06810 01D6 C0FC 690 | LD Q41EB FETCH RETURN ADDRESS W5A06820 01D7 7005 691 | B TR220 BR TO CONTINUE W5A06830 692 | * W5A06840 01D8 0000 693 | F41EB DC *-* ENTRY POINT W5A06850 01D9 D83C 694 | STD TR920 SAVE ACC & EXT W5A06860 01DA 1010 695 | SLA 16 W5A06870 01DB D03C 696 | STO TR921 RESET FLAG FOR FORTRAN W5A06880 01DC C0FB 697 | LD F41EB FETCH RETURN ADDRESS W5A06890 01DD D002 698 | TR220 STO B41EB ST IN EXIT ADDR LOCN W5A06900 01DE 1010 699 | SLA 16 RESET F/B FLAG TO FWD W5A06910 01DF 7005 700 | B TR230 BR TO CONTINUE HSK W5A06920 701 | * W5A06930 01E0 0000 702 | B41EB DC *-* ENTRY POINT W5A06940 01E1 D834 703 | STD TR920 SAVE ACC & EXT W5A06950 01E2 1010 704 | SLA 16 W5A06960 01E3 D034 705 | STO TR921 RESET FLAG FOR FORTRAN W5A06970 01E4 C03B 706 | LD TR929 SET F/B FLAG TO BWD W5A06980 01E5 D037 707 | TR230 STO TR926 W5A06990 01E6 2860 708 | STS TR380 SAVE STATUS W5A07000 01E7 6961 709 | STX 1 TR390+1 SAVE XR1 W5A07010 01E8 6A62 710 | STX 2 TR400+1 SAVE XR2 W5A07020 01E9 6580 01E0R 711 | LDX I1 B41EB SET XR1 AS PARAM PT W5A07030 712 | * W5A07040 713 | * W5A07050 714 | *************************************************** W5A07060 715 | * * W5A07070 716 | * TRANSFER PARAMETERS FROM CALL * W5A07080 717 | * TO SUBROUTINE * W5A07090 718 | * * W5A07100 719 | *************************************************** W5A07110 720 | * W5A07120 01EB C101 721 | TR240 LD 1 1 GET SECOND PARAMETER W5A07130 01EC D001 722 | STO *+1 *(DATA I/P AREA) W5A07140 01ED 6600 0000 723 | LDX L2 *-* SET XR2 AS I/P PT W5A07150 01EF C102 724 | LD 1 2 GET THIRD PARAMETER W5A07160 01F0 D028 725 | STO TR922 *(DATA O/P AREA) W5A07170 01F1 C103 726 | LD 1 3 GET FOURTH PARAMETER W5A07180 01F2 D027 727 | STO TR923 *(ADDR FOR O/P COUNT) W5A07190 728 | * W5A07200 729 | * W5A07210 730 | *************************************************** W5A07220 731 | * * W5A07230 732 | * INITIALIZE * W5A07240 733 | * * W5A07250 734 | *************************************************** W5A07260 735 | * W5A07270 01F3 10A0 736 | SLT 32 W5A07280 01F4 D029 737 | STO TR927 RESET CASE SHIFT TO LC W5A07290 01F5 D026 738 | STO TR925 RESET O/P CHAR COUNT W5A07300 01F6 C200 739 | LD 2 0 FETCH I/P CHAR COUNT W5A07310 01F7 D023 740 | STO TR924 *AND STORE W5A07320 01F8 7201 741 | MDX 2 1 INCR DATA I/P POINTER W5A07330 742 | * W5A07340 743 | * * * * * * * * * * * * * * * * * * * * * * * * * * W5A07350 744 | * TEST FOR NO DATA FOR CONVERSION * W5A07360 745 | * * * * * * * * * * * * * * * * * * * * * * * * * * W5A07370 746 | * W5A07380 01F9 C021 747 | LD TR924 IS I/P COUNT POSITIVE W5A07390 01FA 4C08 0244R 748 | BNP TR370 NO, BR TO RESTORE RTN W5A07400 749 | * W5A07410 750 | * W5A07420 751 | *************************************************** W5A07430 752 | * * W5A07440 753 | * CONVERSION ROUTINE * W5A07450 754 | * * W5A07460 755 | *************************************************** W5A07470 756 | * W5A07480 01FC C023 757 | TR250 LD TR929 W5A07490 01FD D021 758 | STO TR928 SET SIDE FLAG W5A07500 01FE C200 759 | LD 2 0 FETCH WORD FOR TRANSL W5A07510 01FF 1888 760 | SRT 8 SAVE 2ND CHAR IN EXT W5A07520 0200 F022 761 | TR260 EOR TR932 UPPER CASE CONTROL CHAR W5A07530 0201 4C20 0206R 762 | BNZ TR270 *NO, BR TO CONTINUE W5A07540 0203 C01C 763 | LD TR929 W5A07550 0204 D019 764 | STO TR927 SET CASE SHIFT FLAG W5A07560 0205 7031 765 | B TR340 BR TO CONTINUE W5A07570 766 | * W5A07580 0206 F01C 767 | TR270 EOR TR932 RESTORE CHARACTER W5A07590 0207 F01A 768 | EOR TR931 LOWER CASE CONTROL CHAR W5A07600 0208 4C20 020CR 769 | BNZ TR280 *NO, BR TO CONTINUE W5A07610 020A D013 770 | STO TR927 RESET CASE SHIFT FLAG W5A07620 020B 702B 771 | B TR340 BR TO CONTINUE W5A07630 772 | * W5A07640 020C F015 773 | TR280 EOR TR931 RESTORE CHARACTER W5A07650 020D D001 774 | STO *+1 STORE IN XR1 AS INDEX W5A07660 020E 6500 0000 775 | LDX L1 *-* W5A07670 0210 C00D 776 | LD TR927 TEST CASE SHIFT FLAG W5A07680 0211 4C20 0224R 777 | BNZ TR290 BR IF IN UPPER CASE W5A07690 0213 C500 00D3R 778 | LD L1 TR998 FETCH TRANSLATION W5A07700 0215 7010 779 | B TR300 BR TO CONTINUE W5A07710 780 | * W5A07720 781 | * W5A07730 782 | *************************************************** W5A07740 783 | * * W5A07750 784 | * CONSTANTS AND WORK AREAS FOR * W5A07760 785 | * F41EB AND B41EB * W5A07770 786 | * * W5A07780 787 | *************************************************** W5A07790 788 | * W5A07800 0216 789 | TR920 BSS E 2 CONTENTS OF ACC & EXT W5A07810 790 | * W5A07820 0218 0000 791 | TR921 DC *-* FORT/INDEX FORMAT FLAG W5A07830 792 | * ZERO - FORTRAN FORMAT W5A07840 793 | * I.E. /XX40 W5A07850 794 | * ELSE - INDEX FORMAT W5A07860 795 | * I.E. /00XX W5A07870 796 | * W5A07880 0219 0000 797 | TR922 DC *-* DATA O/P AREA ADDRESS W5A07890 021A 0000 798 | TR923 DC *-* O/P CHAR COUNT ADDRESS W5A07900 021B 0000 799 | TR924 DC *-* I/P CHARACTER COUNT W5A07910 021C 0000 800 | TR925 DC *-* O/P CHARACTER COUNT W5A07920 801 | * W5A07930 021D 0000 802 | TR926 DC *-* FWD/BWD FLAG W5A07940 803 | * 0 - O/P DATA FORWARD W5A07950 804 | * IN CORE W5A07960 805 | * 1 - O/P DATA BACKWARD W5A07970 806 | * IN CORE W5A07980 807 | * W5A07990 021E 0000 808 | TR927 DC *-* CASE SHIFT FLAG W5A08000 809 | * ZERO - LOWER CASE W5A08010 810 | * ELSE - UPPER CASE W5A08020 811 | * W5A08030 021F 0000 812 | TR928 DC *-* SIDE FLAG W5A08040 813 | * 0 - LAST CHAR ON RIGHT W5A08050 814 | * 1 - LAST CHAR ON LEFT W5A08060 815 | * W5A08070 0220 0001 816 | TR929 DC 1 CONSTANT W5A08080 0221 0040 817 | TR930 DC /0040 FILL IN CHAR A1 FORMAT W5A08090 0222 007C 818 | TR931 DC /007C LOWER CASE CHARACTER W5A08100 0223 001C 819 | TR932 DC /001C UPPER CASE CHARACTER W5A08110 820 | * W5A08120 821 | * W5A08130 822 | *************************************************** W5A08140 823 | * * W5A08150 824 | * CONVERSION ROUTINE (CONTINUED) * W5A08160 825 | * * W5A08170 826 | *************************************************** W5A08180 827 | * W5A08190 0224 C500 0153R 828 | TR290 LD L1 TR999 FETCH TRANSLATION W5A08200 0226 1008 829 | TR300 SLA 8 SELECT CORRECT PART W5A08210 0227 F0F9 830 | EOR TR930 PACK IN A1 FORMAT W5A08220 0228 7400 0218R 831 | MDM TR921,0 SKIP IF FORTRAN W5A08230 022A 1808 832 | SRA 8 PUT IN INDEX FORMAT W5A08240 022B D480 0219R 833 | STO I TR922 *STORE IN DATA O/P W5A08250 022D 7400 021DR 834 | TR310 MDM TR926,0 TEST FWD/BWD FLAG W5A08260 022F 7003 835 | B TR320 BR IF BACKWARD W5A08270 0230 7401 0219R 836 | MDM TR922,1 INCR DATA O/P POINTER W5A08280 0232 7002 837 | B TR330 BR TO CONTINUE W5A08290 838 | * W5A08300 0233 74FF 0219R 839 | TR320 MDM TR922,-1 DECR DATA O/P POINTER W5A08310 840 | * W5A08320 0235 7401 021CR 841 | TR330 MDM TR925,1 INCR DATA O/P COUNT W5A08330 0237 74FF 021BR 842 | TR340 MDM TR924,-1 DECR I/P CHAR COUNT AND W5A08340 843 | * *TEST FOR NO MORE CHARS W5A08350 0239 7001 844 | B TR350 BR TO CONTINUE W5A08360 023A 7009 845 | B TR370 BR TO RESTORE W5A08370 846 | * W5A08380 023B C0E3 847 | TR350 LD TR928 TEST SIDE FLAG W5A08390 023C 4C20 0240R 848 | BNZ TR360 BR IF SET W5A08400 023E 7201 849 | MDX 2 1 INCR DATA I/P POINTER W5A08410 023F 70BC 850 | B TR250 BR TO FETCH NEXT WORD W5A08420 851 | * W5A08430 0240 1010 852 | TR360 SLA 16 W5A08440 0241 D0DD 853 | STO TR928 RESET SIDE FLAG W5A08450 0242 1088 854 | SLT 8 SHIFT 2ND HALF OF I/P W5A08460 855 | * *WORD INTO ACC W5A08470 0243 70BC 856 | B TR260 BR TO TEST CHAR W5A08480 857 | * W5A08490 858 | * W5A08500 859 | *************************************************** W5A08510 860 | * * W5A08520 861 | * RESTORE AND RETURN ROUTINE * W5A08530 862 | * * W5A08540 863 | *************************************************** W5A08550 864 | * W5A08560 0244 C0D7 865 | TR370 LD TR925 FETCH O/P CHAR COUNT W5A08570 0245 D480 021AR 866 | STO I TR923 STORE IN COUNT ADDRESS W5A08580 0247 2000 867 | TR380 LDS 0 RESTORE STATUS W5A08590 0248 6500 0000 868 | TR390 LDX L1 *-* RESTORE XR1 W5A08600 024A 6600 0000 869 | TR400 LDX L2 *-* RESTORE XR2 W5A08610 024C C8C9 870 | LDD TR920 RESTORE ACC AND EXT W5A08620 024D 7404 01E0R 871 | MDM B41EB,4 SET PROGRAM RETURN ADDR W5A08630 024F 4C80 01E0R 872 | B I B41EB RETURN TO CALLER W5A08640 873 | * W5A08650 874 | * W5A08660 0251 875 | END W5A08670 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced B41EB 01E0R 702 698 711 871 872 BEB41 000DR 120 116 129 393 394 F41EB 01D8R 693 697 FEB41 0006R 112 115 Q41EB 01D3R 687 690 QEB41 0000R 105 109 TR010 000AR 116 110 TR020 0011R 125 118 TR030 0032R 180 241 TR035 0049R 198 187 TR040 004CR 203 190 TR050 0051R 216 196 TR060 005CR 233 313 321 TR070 0062R 238 234 TR080 0064R 239 236 TR090 007AR 299 192 200 204 TR100 0080R 304 218 TR110 0087R 310 302 TR120 008BR 315 300 TR130 0093R 330 171 242 TR135 009ER 341 335 TR137 00A2R 345 342 TR140 00A4R 348 332 TR150 00B2R 359 338 356 TR155 00B4R 361 346 TR160 00B8R 365 349 TR170 00C2R 374 339 TR180 00C6R 385 343 363 372 TR190 00C9R 388 126 TR200 00CAR 389 127 TR210 00CCR 390 128 TR220 01DDR 698 691 TR230 01E5R 707 700 TR240 01EBR 721 TR250 01FCR 757 850 TR260 0200R 761 856 TR270 0206R 767 762 TR280 020CR 773 769 TR290 0224R 828 777 TR300 0226R 829 779 TR310 022DR 834 TR320 0233R 839 835 TR330 0235R 841 837 TR340 0237R 842 765 771 TR350 023BR 847 844 TR360 0240R 852 848 TR370 0244R 865 748 845 TR380 0247R 867 708 TR390 0248R 868 709 TR400 024AR 869 710 TR900 0024R 146 144 386 TR901 0068R 252 106 113 121 391 TR902 006AR 254 140 330 354 370 TR903 006BR 261 142 180 235 238 TR904 006CR 262 150 170 239 TR905 006DR 263 161 217 224 299 301 309 319 337 341 348 353 362 368 376 385 TR906 006ER 265 125 233 TR907 006FR 271 163 191 194 203 205 TR908 0070R 276 306 312 317 345 352 360 366 TR909 0071R 277 123 186 188 198 334 355 371 TR910 0072R 278 331 TR911 0073R 279 195 TR912 0074R 280 206 TR913 0075R 281 350 365 TR914 0076R 282 357 TR915 0077R 283 359 TR916 0078R 284 374 TR917 0079R 286 108 114 122 181 TR920 0216R 789 688 694 703 870 TR921 0218R 791 689 696 705 831 TR922 0219R 797 725 833 836 839 TR923 021AR 798 727 866 TR924 021BR 799 740 747 842 TR925 021CR 800 738 841 865 TR926 021DR 802 707 834 TR927 021ER 808 737 764 770 776 TR928 021FR 812 758 847 853 TR929 0220R 816 706 757 763 TR930 0221R 817 830 TR931 0222R 818 768 773 TR932 0223R 819 761 767 TR998 00D3R 423 151 778 TR999 0153R 551 828