ibm:ibm1130-lib:dmsr2v12:u3papeb_lst
U3PAPEB
Table Of Contents |
---|
|
- u3papeb.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020 Source File: \u3papeb.asm PTTC/8- EBC OR EBC- PTTC/8 CONVERSION 2 | *************************************************** U3E00020 3 | * * U3E00030 4 | * SUBROUTINE NAME- * U3E00040 5 | * FULL NAME- PTTC/8 TO EBCDIC OR EBCDIC TO * U3E00050 6 | * PTTC/8 CONVERSION SUBROUTINE. * U3E00060 7 | * CODE NAME- PAPEB * U3E00070 8 | * PURPOSE- THIS SUBROUTINE CONVERTS EBCDIC * U3E00080 9 | * SUBSET TO PTTC/8 SUBSET, OR PTTC/8 * U3E00090 10 | * SUBSET TO EBCDIC SUBSET. SUBSET CONSISTS * U3E00100 11 | * ONLY OF THOSE CHARACTERS WITH AN ASTERISK * U3E00110 12 | * IN APPENDIX D OF THE IBM 1130 SUBROUTINE * U3E00120 13 | * LIBRARY MANUAL. * U3E00130 14 | * METHOD- * U3E00140 15 | * SEE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3E00150 16 | * CAPABILITIES AND LIMITATIONS- * U3E00160 17 | * SEE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3E00170 18 | * SPECIAL FEATURES- N/A * U3E00180 19 | * ADDITIONAL INFORMATION- * U3E00190 20 | * ESTIMATED EXECUTION TIME- * U3E00200 21 | * SEE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3E00210 22 | * * U3E00220 23 | *************************************************** U3E00230 PTTC/8- EBC OR EBC- PTTC/8 CONVERSION 25 | LIBR U3E00250 26 | ENT PAPEB U3E00260 0000 6946 27 | PAPEB STX 1 SAV1+1 CALL ENTRY POINT U3E00270 0001 6580 0000 28 | LINK LDX I1 0 LOADER STORED TV ADDR U3E00280 0003 6A45 29 | STX 2 SAV2+1 SAVE XR2 U3E00290 0004 2845 30 | STS SAVST SAVE STATUS U3E00300 0005 D848 31 | STD SAVAQ SAVE ACC AND EXT U3E00310 0006 C101 32 | LD 1 1 XR1= ADDR OF CALL+1 U3E00320 0007 D01D 33 | STO INPUT+1 INPUT PARAMETER U3E00330 0008 C102 34 | LD 1 2 U3E00340 0009 D01D 35 | STO OUTPT+1 OUTPUT PARAMETER U3E00350 000A C103 36 | LD 1 3 U3E00360 000B D400 0098R 37 | STO L COUNT CHAR COUNT U3E00370 38 | * U3E00380 39 | *OBTAIN ADDR OF EBPA TABLE U3E00390 40 | * U3E00400 000D C042 41 | LD CALL1 GET TV DISPLACEMENT U3E00410 000E 1008 42 | SLA 8 PROPAGATE SIGN BIT THROUGH U3E00420 000F 1888 43 | SRT 8 FIRST 8 BITS U3E00430 0010 6B41 44 | STX 3 TEMP GET TV TABLE ADDR U3E00440 0011 8040 45 | A TEMP COMPUTE ADDR OF THIRD WD OF U3E00450 0012 8040 46 | A D0002 TV U3E00460 0013 D001 47 | STO PAP14+1 U3E00470 0014 C400 0000 48 | PAP14 LD L 0 GET EBPA ENTRY ADDR U3E00480 0016 803D 49 | A D0003 AVOID STORED LINK WORD U3E00490 0017 D400 00A1R 50 | STO L TLU12+1 ST EBPA TABLE ADDR U3E00500 0019 D400 00ABR 51 | STO L TLU14+1 U3E00510 001B 1810 52 | SRA 16 SET OUTPUT CONTROL FOR U3E00520 001C D038 53 | STO CNTRL LEFT CHARACTER. U3E00530 001D C100 54 | LD 1 0 GET CONTROL PARAM U3E00540 001E F400 009BR 55 | EOR L H0010 SET CARRY INDR ON IF U3E00550 0020 100C 56 | SLA 12 INITLZ CASE REQUESTED U3E00560 0021 D02F 57 | STO CODE SAVE OUTPUT CODE INDR U3E00570 0022 7104 58 | MDX 1 +4 U3E00580 0023 6929 59 | STX 1 EXIT+1 SET EXIT FOR CALL+5 U3E00590 0024 6500 0000 60 | INPUT LDX L1 0 XR1= INPUT ADDR U3E00600 0026 6600 0000 61 | OUTPT LDX L2 0 XR2= OUTPUT ADDR U3E00610 0028 4C18 005AR 62 | BSC L PAPIN,+- BR IF PTTC/8 TO EBCDIC U3E00620 63 | * U3E00630 64 | *THIS SECTION SETS UP THE CONVERSION FROM EBCDIC U3E00640 65 | *TO PTTC/8, AND STORES THE OUTPUT U3E00650 66 | * U3E00660 002A C02B 67 | EBCIN LD HFF00 U3E00670 002B D400 00B1R 68 | STO L MASK SET UP TABLE LOOKUP MASK U3E00680 002D 4802 69 | BSC C U3E00690 002E D068 70 | STO CASE SET UP CASE CHANGE INDR U3E00700 002F C100 71 | EBC12 LD 1 0 U3E00710 0030 406B 72 | BSI TLU CONVERT LEFT EBCDIC CHAR U3E00720 0031 4040 73 | EBC13 BSI CHECK CHECK CASE AND STORE CHAR U3E00730 0032 74FF 0098R 74 | MDX L COUNT,-1 ANY MORE EBCDIC CHARS U3E00740 0034 7001 75 | MDX EBC14 YES,GO CONVERT RT CHAR U3E00750 0035 7008 76 | MDX EBC18 NO,GO TERMINATE O/P U3E00760 0036 C100 77 | EBC14 LD 1 0 U3E00770 0037 1008 78 | SLA 8 U3E00780 0038 4063 79 | BSI TLU CONVERT RT EBCDIC CHAR U3E00790 0039 4038 80 | BSI CHECK CHECK CASE AND ST CHAR U3E00800 003A 7101 81 | MDX 1 +1 SET FOR NEXT INPUT WORD U3E00810 003B 74FF 0098R 82 | MDX L COUNT,-1 ANY MORE EBCDIC CHARS U3E00820 003D 70F1 83 | MDX EBC12 YES,REPEAT LOOP FOR NEXT WD U3E00830 003E C013 84 | EBC18 LD TEMP NO, ANY CHAR LEFT TO U3E00840 003F 4C18 0046R 85 | BSC L SAV1,+- STORE. U3E00850 0041 7400 0051R 86 | MDX L CODE,0 YES, WHAT CODE OUT U3E00860 0043 8014 87 | A H003F PTTC/8 DELETE U3E00870 0044 8014 88 | A H0040 EBCDIC SPACE U3E00880 0045 D200 89 | STO 2 0 STORE LAST CHAR U3E00890 0046 6500 0000 90 | SAV1 LDX L1 *-* RESTORE XR1 U3E00900 0048 6600 0000 91 | SAV2 LDX L2 *-* RESTORE XR2 U3E00910 004A 2000 92 | SAVST LDS *-* RESTORE STATUS U3E00920 004B C802 93 | LDD SAVAQ RESTORE ACC AND EXT U3E00930 004C 4C00 0000 94 | EXIT BSC L 0 EXIT U3E00940 95 | * U3E00950 96 | *CONSTANTS AND BUFFER AREA U3E00960 97 | * U3E00970 004E 98 | SAVAQ BSS E 2 SAVE ACC AND EXTENSION U3E00980 0050 0509*7040 99 | CALL1 LIBF EBPA USED TO GET EBPA TBL ADDR U3E00990 0051 0000 100 | CODE DC 0 O/P CODE INDR(0 IF EBCDIC) U3E01000 0052 0000 101 | TEMP DC 0 WORKING STORAGE U3E01010 0053 0002 102 | D0002 DC +2 DECIMAL CONSTANT U3E01020 0054 0003 103 | D0003 DC +3 DECIMAL CONSTANT U3E01030 0055 0000 104 | CNTRL DC 0 O/P CONTROL(0=LEFT) U3E01040 0056 FF00 105 | HFF00 DC /FF00 HIGH AND U3E01050 0057 00FF 106 | H00FF DC /00FF LOW BIT MASKS U3E01060 0058 003F 107 | H003F DC /003F 3F+40=PTTC/8 DELETE U3E01070 0059 0040 108 | H0040 DC /0040 EBCDIC BLANK U3E01080 109 | * U3E01090 110 | *THIS SECTION SETS UP THE PTTC/8 TO EBCDIC CON- U3E01100 111 | *VERSION AND OUTPUT OF EBCDIC U3E01110 112 | * U3E01120 005A 4802 113 | PAPIN BSC C CHK FOR INITLZ CASE REQUEST U3E01130 005B D03B 114 | STO CASE NONE, ZERO CASE U3E01140 005C C0FA 115 | LD H00FF U3E01150 005D D053 116 | STO MASK SET UP TABLE LOOK-UP MASK U3E01160 005E C100 117 | PAP22 LD 1 0 GET A PTTC/8 CHAR U3E01170 005F 1808 118 | SRA 8 U3E01180 0060 4067 119 | BSI SHIFT IS CHAR = CASE SHIFT U3E01190 0061 7002 120 | MDX PAP24 YES, CHECK NEXT CHAR U3E01200 0062 4039 121 | BSI TLU CONVERT LEFT PTTC/8 CHAR U3E01210 0063 4052 122 | BSI STORE STORE CONVERTED CHAR U3E01220 0064 74FF 0098R 123 | PAP24 MDX L COUNT,-1 ANY MORE PTTC/8 CHARS U3E01230 0066 7001 124 | MDX PAP26 YES, GO CONVERT RT CHAR U3E01240 0067 70D6 125 | MDX EBC18 NO, GO EXIT U3E01250 0068 C100 126 | PAP26 LD 1 0 U3E01260 0069 405E 127 | BSI SHIFT IS CHAR = CASE SHIFT U3E01270 006A 7002 128 | MDX PAP28 YES, CHK NEXT CHAR U3E01280 006B 4030 129 | BSI TLU CONVERT RT PTTC/8 CHAR U3E01290 006C 4049 130 | BSI STORE STORE CONVERTED CHAR U3E01300 006D 7101 131 | PAP28 MDX 1 +1 SET FOR NEXT INPUT WORD U3E01310 006E 74FF 0098R 132 | MDX L COUNT,-1 ANY MORE PTTC/8 CHARS U3E01320 0070 70ED 133 | MDX PAP22 YES, REPEAT LOOP U3E01330 0071 70CC 134 | MDX EBC18 NO, GO PREPARE FOR EXIT U3E01340 135 | * U3E01350 136 | *THIS SECTION CHECKS THE CASE AND STORES THE CHAR U3E01360 137 | * U3E01370 0072 1000 138 | CHECK NOP STORE RETURN ADDRESS U3E01380 0073 E0E3 139 | AND H00FF GET CORRECT PTTC/8 CHAR U3E01390 0074 9026 140 | S H0010 IS CHAR = BLANK U3E01400 0075 4C18 0095R 141 | BSC L CHK18,+- YES, GO STORE BLANK U3E01410 0077 8023 142 | A H0010 NO,RESTORE CHAR U3E01420 0078 1882 143 | SRT 2 IS CHAR = CONTROL U3E01430 0079 4804 144 | BSC E (BITS 12-13 = 11) U3E01440 007A 7001 145 | MDX CHK10 U3E01450 007B 7004 146 | MDX CHK12 U3E01460 007C 1881 147 | CHK10 SRT 1 U3E01470 007D 4C04 0091R 148 | BSC L CHK16,E YES, NO CASE CHECK U3E01480 007F 1081 149 | SLT 1 U3E01490 0080 1885 150 | CHK12 SRT 5 NO, SAVE CHAR IN EXTENSION U3E01500 0081 F015 151 | EOR CASE U3E01510 0082 4C18 008CR 152 | BSC L CHK14,+- IS CASE CHANGE NEEDED U3E01520 0084 F012 153 | EOR CASE U3E01530 0085 D011 154 | STO CASE U3E01540 0086 1010 155 | SLA 16 YES, WHICH CASE U3E01550 0087 C011 156 | LD LOWER = LOWER CASE CHAR U3E01560 0088 4802 157 | BSC C U3E01570 0089 C010 158 | LD UPPER = UPPER CASE CHAR U3E01580 008A 402B 159 | BSI STORE STORE CASE CHAR U3E01590 008B 1001 160 | SLA 1 U3E01600 008C 1087 161 | CHK14 SLT 7 U3E01610 008D 1008 162 | CHK15 SLA 8 U3E01620 008E 4027 163 | BSI STORE STORE PAPER TAPE CHAR U3E01630 008F 4C80 0072R 164 | BSC I CHECK U3E01640 0091 1884 165 | CHK16 SRT 4 IS CONTROL CHAR = NL U3E01650 0092 4804 166 | BSC E U3E01660 0093 D004 167 | STO COUNT YES,SET LAST CHAR INDR U3E01670 168 | * U3E01680 169 | *CONSTANTS U3E01690 170 | * U3E01700 0094 70F7 171 | MDX CHK14 U3E01710 0095 C005 172 | CHK18 LD H0010 CHAR = SPACE U3E01720 0096 70F6 173 | MDX CHK15 U3E01730 0097 0000 174 | CASE DC 0 CASE INDR(0=LOWER,1=UPPER) U3E01740 0098 0000 175 | COUNT DC 0 CHAR COUNT U3E01750 0099 6E00 176 | LOWER DC /6E00 LOWER CASE PTTC/8 CONTROL U3E01760 009A 0E00 177 | UPPER DC /0E00 UPPER CASE PTTC-8 CONTROL U3E01770 009B 0010 178 | H0010 DC /0010 PTTC/8 BLANK U3E01780 179 | * U3E01790 180 | *THIS SECTION DOES A TABLE LOOKUP CONVERSION OF U3E01800 181 | *PTTC/8 TO EBCDIC OR EBCDIC TO PTTC/8. U3E01810 182 | * U3E01820 009C 1000 183 | TLU NOP SAVE RETURN ADDRESS U3E01830 009D D012 184 | STO CHAR SAVE INPUT U3E01840 009E 690E 185 | STX 1 TLU16+1 SAVE XR1 U3E01850 009F 614B 186 | LDX 1 +75 XR1=LENGTH OF EBPA TABLE U3E01860 00A0 F500 0000 187 | TLU12 EOR L1 0 CHK AGAINST EBPA ENTRY U3E01870 00A2 E00E 188 | AND MASK IF CHKS,MAKE ZERO U3E01880 00A3 4C18 00AAR 189 | BSC L TLU14,+- HAS CHAR BEEN FOUND U3E01890 00A5 C00A 190 | LD CHAR NO,RESTORE CHAR U3E01900 00A6 71FF 191 | MDX 1 -1 ANY MORE TABLE REMAINING U3E01910 00A7 70F8 192 | MDX TLU12 YES, REPEAT LOOP U3E01920 00A8 C00B 193 | LD H2001 NO, TURN OVFLO ON U3E01930 00A9 D0A0 194 | STO SAVST U3E01940 00AA C500 0000 195 | TLU14 LD L1 0 CHAR FOUND,PUT EBPA WD INTO U3E01950 00AC 6500 0000 196 | TLU16 LDX L1 0 ACC AND RESTORE XR1 U3E01960 00AE 4C80 009CR 197 | BSC I TLU RETURN U3E01970 198 | * U3E01980 199 | *CONSTANTS AND BUFFER AREA U3E01990 200 | * U3E02000 00B0 0000 201 | CHAR DC 0 CHAR TO BE CONVERTED U3E02010 00B1 0000 202 | MASK DC 0 MASK FOR INPUT CODE U3E02020 00B2 DD00 203 | NEWLN DC /DD00 NEW LINE PTTC/8 CONTROL U3E02030 00B3 000C 204 | H000C DC /000C CHECK FOR CONTROL CHAR U3E02040 00B4 2001 205 | H2001 DC /2001 CON TO SET OVRFLO ON U3E02050 00B5 0001 206 | D0001 DC +1 DECIMAL 1 U3E02060 207 | * U3E02070 208 | *THIS SECTION STORES CONVERTED CHARS IN THE U3E02080 209 | * OUTPUT AREA. U3E02090 210 | * U3E02100 00B6 1000 211 | STORE NOP SAVE RETURN ADDR U3E02110 00B7 7400 0055R 212 | MDX L CNTRL,0 IS OUTPUT FOR LEFT WORD(=0) U3E02120 00B9 7006 213 | MDX STR16 U3E02130 00BA E09B 214 | AND HFF00 YES, STORE IN TEMP U3E02140 00BB D096 215 | STO TEMP U3E02150 00BC C0F8 216 | LD D0001 SET CONTROL FOR RT HALF U3E02160 00BD D097 217 | STR12 STO CNTRL U3E02170 00BE 4C80 00B6R 218 | BSC I STORE U3E02180 00C0 1808 219 | STR16 SRA 8 NO, ADD IN TEMP AND STORE U3E02190 00C1 8090 220 | A TEMP CHARS IN O/P AREA U3E02200 00C2 D200 221 | STO 2 0 U3E02210 00C3 1810 222 | SRA 16 U3E02220 00C4 D08D 223 | STO TEMP CLEAR CHAR STORAGE U3E02230 00C5 7201 224 | MDX 2 +1 SET FOR NEXT O/P WORD U3E02240 00C6 1810 225 | SRA 16 SET CONTROL FOR LEFT HALF U3E02250 00C7 70F5 226 | MDX STR12 U3E02260 227 | * U3E02270 228 | *THIS SECTION CHECKS IF THE CHAR IS A CONTROL CHAR, U3E02280 229 | *WHETHER IT IS LEGAL OR NOT,WHETHER IT IS A CASE U3E02290 230 | *SHIFT OR NEW LINE CHAR. U3E02300 231 | * U3E02310 00C8 1000 232 | SHIFT NOP SAVE RETURN ADDRESS U3E02320 00C9 E08D 233 | AND H00FF U3E02330 00CA D0E5 234 | STO CHAR SAVE CHARACTER U3E02340 00CB E0E7 235 | AND H000C U3E02350 00CC F0E6 236 | EOR H000C IS CHAR = CONTROL U3E02360 00CD 4C20 00E4R 237 | BSC L SFT20,Z NO U3E02370 00CF C0E0 238 | LD CHAR U3E02380 00D0 1008 239 | SLA 8 U3E02390 00D1 F0C7 240 | EOR LOWER IS CHAR = LOWER CASE U3E02400 00D2 4C18 00E2R 241 | BSC L SFT18,+- YES U3E02410 00D4 F0C4 242 | EOR LOWER U3E02420 00D5 F0C4 243 | EOR UPPER IS CHAR = UPPER CASE U3E02430 00D6 4C18 00E1R 244 | BSC L SFT16,+- YES U3E02440 00D8 F0C1 245 | EOR UPPER U3E02450 00D9 F0D8 246 | EOR NEWLN IS CHAR = NEW LINE U3E02460 00DA 4818 247 | BSC +- U3E02470 00DB D0BC 248 | STO COUNT YES U3E02480 00DC C0D3 249 | SFT12 LD CHAR U3E02490 00DD 7401 00C8R 250 | SFT13 MDX L SHIFT,+1 NO, SHIFT TO SKIP ONE WORD U3E02500 00DF 4C80 00C8R 251 | SFT14 BSC I SHIFT U3E02510 00E1 C0D3 252 | SFT16 LD D0001 U3E02520 00E2 D0B4 253 | SFT18 STO CASE SET CASE ACCORDINGLY U3E02530 00E3 70FB 254 | MDX SFT14 U3E02540 00E4 C0CB 255 | SFT20 LD CHAR IS CASE = BLANK U3E02550 00E5 90B5 256 | S H0010 U3E02560 00E6 4C18 00DCR 257 | BSC L SFT12,+- YES, DON'T CHECK CASE U3E02570 00E8 80B2 258 | A H0010 U3E02580 00E9 1887 259 | SRT 7 IS CHAR ILLEGAL U3E02590 00EA 4C04 00EFR 260 | BSC L SFT22,E U3E02600 00EC C0AA 261 | LD CASE NO, ADD CASE INTO U3E02610 00ED 1087 262 | SLT 7 CHAR VALUE. U3E02620 00EE 70EE 263 | MDX SFT13 U3E02630 00EF C0C4 264 | SFT22 LD H2001 YES, SET OVFLO ON U3E02640 00F0 D400 004AR 265 | STO L SAVST AND LOAD BLANK AS U3E02650 00F2 C400 009BR 266 | LD L H0010 CHARACTER. U3E02660 00F4 70E8 267 | MDX SFT13 U3E02670 00F5 268 | END U3E02680 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced CALL1 0050R 99 41 CASE 0097R 174 70 114 151 153 154 253 261 CHAR 00B0R 201 184 190 234 238 249 255 CHECK 0072R 138 73 80 164 CHK10 007CR 147 145 CHK12 0080R 150 146 CHK14 008CR 161 152 171 CHK15 008DR 162 173 CHK16 0091R 165 148 CHK18 0095R 172 141 CNTRL 0055R 104 53 212 217 CODE 0051R 100 57 86 COUNT 0098R 175 37 74 82 123 132 167 248 D0001 00B5R 206 216 252 D0002 0053R 102 46 D0003 0054R 103 49 EBC12 002FR 71 83 EBC13 0031R 73 EBC14 0036R 77 75 EBC18 003ER 84 76 125 134 EBCIN 002AR 67 EXIT 004CR 94 59 H000C 00B3R 204 235 236 H0010 009BR 178 55 140 142 172 256 258 266 H003F 0058R 107 87 H0040 0059R 108 88 H00FF 0057R 106 115 139 233 H2001 00B4R 205 193 264 HFF00 0056R 105 67 214 INPUT 0024R 60 33 LINK 0001R 28 LOWER 0099R 176 156 240 242 MASK 00B1R 202 68 116 188 NEWLN 00B2R 203 246 OUTPT 0026R 61 35 PAP14 0014R 48 47 PAP22 005ER 117 133 PAP24 0064R 123 120 PAP26 0068R 126 124 PAP28 006DR 131 128 PAPEB 0000R 27 PAPIN 005AR 113 62 SAV1 0046R 90 27 85 SAV2 0048R 91 29 SAVAQ 004ER 98 31 93 SAVST 004AR 92 30 194 265 SFT12 00DCR 249 257 SFT13 00DDR 250 263 267 SFT14 00DFR 251 254 SFT16 00E1R 252 244 SFT18 00E2R 253 241 SFT20 00E4R 255 237 SFT22 00EFR 264 260 SHIFT 00C8R 232 119 127 250 251 STORE 00B6R 211 122 130 159 163 218 STR12 00BDR 217 226 STR16 00C0R 219 213 TEMP 0052R 101 44 45 84 215 220 223 TLU 009CR 183 72 79 121 129 197 TLU12 00A0R 187 50 192 TLU14 00AAR 195 51 189 TLU16 00ACR 196 185 UPPER 009AR 177 158 243 245
ibm/ibm1130-lib/dmsr2v12/u3papeb_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator