ibm:ibm1130-lib:dmsr2v12:u3paphl_lst
U3PAPHL
Table Of Contents |
---|
|
- u3paphl.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020 Source File: \u3paphl.asm PTTC/8-HOLL OR HOLL-PTTC/8 CONVERSION 2 | *************************************************** U3F00020 3 | * * U3F00030 4 | * SUBROUTINE NAME- * U3F00040 5 | * FULL NAME- PTTC/8 TO HOLLERITH OR HOLLERITH* U3F00050 6 | * TO PTTC/8 CONVERSION SUBROUTINE. * U3F00060 7 | * CODE NAME- PAPHL * U3F00070 8 | * PURPOSE- THIS SUBROUTINE CONVERTS PTTC/8 * U3F00080 9 | * SUBSET TO HOLLERITH SUBSET,OR HOLLERITH * U3F00090 10 | * SUBSET TO PTTC/8 SUBSET. SUBSET CONSISTS * U3F00100 11 | * OF THOSE CHARS ASTERISKED IN APPENDIX D * U3F00110 12 | * OF THE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3F00120 13 | * METHOD- * U3F00130 14 | * SEE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3F00140 15 | * CAPABILITIES AND LIMITATIONS- * U3F00150 16 | * SEE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3F00160 17 | * SPECIAL FEATURES- N/A * U3F00170 18 | * ADDITIONAL INFORMATION- * U3F00180 19 | * ESTIMATED EXECUTION TIME- * U3F00190 20 | * SEE IBM 1130 SUBROUTINE LIBRARY MANUAL * U3F00200 21 | * * U3F00210 22 | *************************************************** U3F00220 PTTC/8-HOLL OR HOLL-PTTC/8 CONVERSION 24 | LIBR U3F00240 25 | ENT PAPHL U3F00250 0000 694E 26 | PAPHL STX 1 SAV1+1 CALL ENTRY POINT U3F00260 0001 6580 0000 27 | LINK LDX I1 0 LOADER STORED TV ADDR U3F00270 0003 6A4D 28 | STX 2 SAV2+1 SAVE XR2 U3F00280 0004 284D 29 | STS SAVST SAVE STATUS U3F00290 0005 D856 30 | STD SAVAQ SAVE ACC AND EXTENSION U3F00300 0006 C101 31 | LD 1 1 XR1= ADDR OF CALL+1 U3F00310 0007 D00D 32 | STO INPUT+1 = INPUT PARAMETER U3F00320 0008 C102 33 | LD 1 2 U3F00330 0009 D00D 34 | STO OUTPT+1 = OUTPUT PARAMETER U3F00340 000A C103 35 | LD 1 3 U3F00350 000B D400 0062R 36 | STO L COUNT = NO. OF CHARS TO CONVERT U3F00360 000D 1810 37 | SRA 16 SET OUTPUT CONTROL FOR U3F00370 000E D052 38 | STO CNTRL LEFT CHARACTER. U3F00380 000F C100 39 | LD 1 0 = CONTROL PARAMETER U3F00390 0010 F054 40 | EOR H0010 SET CARRY ON IF INITLZ CASE U3F00400 0011 100C 41 | SLA 12 REQUESTED U3F00410 0012 7104 42 | MDX 1 +4 U3F00420 0013 6941 43 | STX 1 EXIT+1 SET EXIT TO CALL+5 U3F00430 0014 6500 0000 44 | INPUT LDX L1 0 XR1= INPUT ADDRESS U3F00440 0016 6600 0000 45 | OUTPT LDX L2 0 XR2= OUTPUT ADDRESS U3F00450 0018 4C18 006CR 46 | BSC L PAPIN,+- U3F00460 47 | *HOLLERITH = INPUT CODE U3F00470 001A C04D 48 | HOLIN LD HFFF0 U3F00480 001B D400 00AFR 49 | STO L MASK SET UP TABLE LOOK-UP MASK U3F00490 001D 4802 50 | BSC C U3F00500 001E D041 51 | STO CASE SET UP CASE CHANGE INDR U3F00510 001F C03F 52 | LD CALL2 OBTAIN HOLL TABLE ADDR U3F00520 0020 406B 53 | BSI SBRTA U3F00530 0021 D400 009FR 54 | STO L TLU12+1 U3F00540 0023 C03A 55 | LD CALL1 OBTAIN EBPA TABLE ADDR U3F00550 0024 4067 56 | BSI SBRTA U3F00560 0025 D400 00A9R 57 | STO L TLU14+1 U3F00570 0027 C100 58 | HOL12 LD 1 0 U3F00580 0028 4071 59 | BSI TLU CONVERT HOLLERITH CHAR U3F00590 0029 E03D 60 | AND H00FF U3F00600 002A 903A 61 | S H0010 IS CHAR = BLANK U3F00610 002B 4C18 005AR 62 | BSC L CHK18,+- YES, OUTPUT PTTC/8 BLANK U3F00620 002D 8037 63 | A H0010 NO, RESTORE HOLLERITH U3F00630 002E 1882 64 | SRT 2 IS CHAR = CONTROL U3F00640 002F 4804 65 | BSC E (BITS 12-13 = 11) U3F00650 0030 7001 66 | MDX CHK10 U3F00660 0031 7004 67 | MDX CHK12 U3F00670 0032 1881 68 | CHK10 SRT 1 U3F00680 0033 4C04 0056R 69 | BSC L CHK16,E YES, NO CASE CHECK U3F00690 0035 1081 70 | SLT 1 U3F00700 0036 1885 71 | CHK12 SRT 5 SAVE CHAR IN EXTENSION U3F00710 0037 F028 72 | EOR CASE U3F00720 0038 4C18 0042R 73 | BSC L CHK14,+- IS CASE CHANGE NEEDED U3F00730 003A F025 74 | EOR CASE U3F00740 003B D024 75 | STO CASE U3F00750 003C 1010 76 | SLA 16 YES, WHICH CASE U3F00760 003D C02B 77 | LD LOWER =LOWER CASE CHAR U3F00770 003E 4802 78 | BSC C U3F00780 003F C02B 79 | LD UPPER =UPPER CASE CHAR U3F00790 0040 4074 80 | BSI STORE STORE CASE CHAR U3F00800 0041 1001 81 | SLA 1 U3F00810 0042 1087 82 | CHK14 SLT 7 U3F00820 0043 1008 83 | CHK15 SLA 8 U3F00830 0044 4070 84 | BSI STORE STORE PAPER TAPE CHAR U3F00840 0045 7101 85 | MDX 1 +1 SET FOR NEXT INPUT WORD U3F00850 0046 74FF 0062R 86 | MDX L COUNT,-1 ANY MORE EBCDIC CHARS U3F00860 0048 70DE 87 | MDX HOL12 YES, REPEAT LOOP U3F00870 0049 C020 88 | LD TEMP NO, ANY CHAR LEFT TO U3F00880 004A 4C18 004ER 89 | BSC L SAV1,+- STORE. U3F00890 004C 8019 90 | A H007F YES, ADD DELETE U3F00900 004D D200 91 | STO 2 0 U3F00910 004E 6500 0000 92 | SAV1 LDX L1 *-* NO,RESTORE XR1 U3F00920 0050 6600 0000 93 | SAV2 LDX L2 *-* RESTORE XR2 U3F00930 0052 2000 94 | SAVST LDS *-* RESTORE STATUS U3F00940 0053 C808 95 | LDD SAVAQ RESTORE ACC AND EXT U3F00950 0054 4C00 0000 96 | EXIT BSC L 0 EXIT U3F00960 0056 1884 97 | CHK16 SRT 4 IS CONTROL CHAR= NEW LINE U3F00970 0057 4804 98 | BSC E U3F00980 0058 D009 99 | STO COUNT YES, SET LAST CHAR INDR U3F00990 0059 70E8 100 | MDX CHK14 U3F01000 005A C00A 101 | CHK18 LD H0010 CHAR = SPACE U3F01010 005B 70E7 102 | MDX CHK15 U3F01020 103 | * U3F01030 104 | *CONSTANTS AND BUFFER AREA U3F01040 105 | * U3F01050 005C 106 | SAVAQ BSS E 2 SAVE ACC AND EXT U3F01060 005E 0509*7040 107 | CALL1 LIBF EBPA USED TO GET EBPA LOAD ADDR U3F01070 005F 0859*34C0 108 | CALL2 LIBF HOLL USED TO GET HOLL LOAD ADDR U3F01080 0060 0000 109 | CASE DC 0 CASE INDR(O=LOWER,1=UPPER) U3F01090 0061 0000 110 | CNTRL DC 0 OUTPUT CONTROL (0= LEFT) U3F01100 0062 0000 111 | COUNT DC 0 CHAR COUNT U3F01110 0063 0002 112 | D0002 DC +2 DECIMAL CONSTANT U3F01120 0064 0003 113 | D0003 DC +3 DECIMAL CONSTANT U3F01130 0065 0010 114 | H0010 DC /0010 PTTC/8 BLANK U3F01140 0066 007F 115 | H007F DC /007F PTTC/8 DELETE U3F01150 0067 00FF 116 | H00FF DC /00FF LOW BIT MASK U3F01160 0068 FFF0 117 | HFFF0 DC /FFF0 HOLLERITH CHAR MASK U3F01170 0069 6E00 118 | LOWER DC /6E00 PTTC/8 LOWER CASE CHAR INDR U3F01180 006A 0000 119 | TEMP DC 0 WORKING STORAGE U3F01190 006B 0E00 120 | UPPER DC /0E00 PTTC/8 UPPER CASE CHAR INDR U3F01200 121 | * U3F01210 122 | *THIS SECTION SETS UP THE CONVERSION FROM PTTC/8 U3F01220 123 | *TO HOLLERITH AND STORES THE CONVERTED CHARS IN U3F01230 124 | *THE OUTPUT AREA. U3F01240 125 | * U3F01250 006C 4802 126 | PAPIN BSC C IF NO CASE CHANGE, U3F01260 006D D0F2 127 | STO CASE ZERO THE INDICATOR. U3F01270 006E C0F8 128 | LD H00FF U3F01280 006F D03F 129 | STO MASK SET UP TABLE LOOK-UP MASK U3F01290 0070 C0ED 130 | LD CALL1 U3F01300 0071 401A 131 | BSI SBRTA OBTAIN EBPA TABLE ADDR U3F01310 0072 D02C 132 | STO TLU12+1 U3F01320 0073 C0EB 133 | LD CALL2 U3F01330 0074 4017 134 | BSI SBRTA OBTAIN HOLL TABLE ADDR U3F01340 0075 D033 135 | STO TLU14+1 U3F01350 0076 C100 136 | PAP22 LD 1 0 U3F01360 0077 1808 137 | SRA 8 U3F01370 0078 404D 138 | BSI SHIFT IS CHAR = CASE SHIFT U3F01380 0079 7003 139 | MDX PAP24 YES, CHECK NEXT CHAR U3F01390 007A 401F 140 | BSI TLU CONVERT LEFT PTTC/8 CHAR U3F01400 007B D200 141 | STO 2 0 STORE CONVERTED CHAR U3F01410 007C 7201 142 | MDX 2 +1 SET FOR NEXT OUTPUT WD U3F01420 007D 74FF 0062R 143 | PAP24 MDX L COUNT,-1 ANY MORE PTTC/8 CHARS U3F01430 007F 7001 144 | MDX PAP26 YES U3F01440 0080 70CD 145 | MDX SAV1 NO U3F01450 0081 C100 146 | PAP26 LD 1 0 U3F01460 0082 4043 147 | BSI SHIFT IS CHAR = CASE SHIFT U3F01470 0083 7003 148 | MDX PAP28 YES, CHECK NEXT CHAR U3F01480 0084 4015 149 | BSI TLU CONVERT RIGHT PTTC/8 CHAR U3F01490 0085 D200 150 | STO 2 0 STORE CONVERTED CHAR U3F01500 0086 7201 151 | MDX 2 +1 SET FOR NEXT OUTPUT WORD U3F01510 0087 7101 152 | PAP28 MDX 1 +1 SET FOR NEXT INPUT WORD U3F01520 0088 74FF 0062R 153 | MDX L COUNT,-1 ANY MORE PTTC/8 CHARS U3F01530 008A 70EB 154 | MDX PAP22 YES U3F01540 008B 70C2 155 | MDX SAV1 NO,EXIT U3F01550 156 | * U3F01560 157 | *THIS SECTION OBTAINS THE LOAD ADDR OF EBPA AND U3F01570 158 | *HOLL TABLES. U3F01580 159 | * U3F01590 008C 1000 160 | SBRTA NOP U3F01600 008D 1008 161 | SLA 8 U3F01610 008E 1888 162 | SRT 8 DUPLICATE SIGN BIT U3F01620 008F 6B04 163 | STX 3 SBA12+1 U3F01630 0090 8003 164 | A SBA12+1 ADD TV ADDR U3F01640 0091 8006 165 | A D2 REF THIRD WD OF TV TBL U3F01650 0092 D001 166 | STO SBA12+1 ENTRY. U3F01660 0093 C400 0000 167 | SBA12 LD L 0 OBTAIN SUBROUTINE ADDR U3F01670 0095 8003 168 | A D3 SKIP FIRST THREE WORDS U3F01680 0096 4C80 008CR 169 | BSC I SBRTA U3F01690 0098 0002 170 | D2 DC +2 U3F01700 0099 0003 171 | D3 DC +3 U3F01710 172 | * U3F01720 173 | *THIS SECTION DOES A TABLE LOOKUP CONVERSION OF U3F01730 174 | *PTTC/8 TO HOLLERITH OR HOLLERITH TO PTTC/8. U3F01740 175 | * U3F01750 009A 1000 176 | TLU NOP STORE RETURN ADDR U3F01760 009B D012 177 | STO CHAR U3F01770 009C 690E 178 | STX 1 TLU16+1 U3F01780 009D 614B 179 | LDX 1 +75 XR1= LENGTH OF TABLES U3F01790 009E F500 0000 180 | TLU12 EOR L1 0 U3F01800 00A0 E00E 181 | AND MASK U3F01810 00A1 4C18 00A8R 182 | BSC L TLU14,+- HAS CHAR BEEN FOUND U3F01820 00A3 C00A 183 | LD CHAR U3F01830 00A4 71FF 184 | MDX 1 -1 NO, ANY MORE TO CHECK U3F01840 00A5 70F8 185 | MDX TLU12 YES U3F01850 00A6 C00B 186 | LD H2001 NO, TURN OVERFLOW ON U3F01860 00A7 D0AA 187 | STO SAVST U3F01870 00A8 C500 0000 188 | TLU14 LD L1 0 YES, PUT EBPA WORD INTO U3F01880 00AA 6500 0000 189 | TLU16 LDX L1 0 ACCUMULATOR. U3F01890 00AC 4C80 009AR 190 | BSC I TLU RETURN U3F01900 191 | * U3F01910 192 | *CONSTANTS AND BUFFER AREA U3F01920 193 | * U3F01930 00AE 0000 194 | CHAR DC 0 CHAR TO BE CONVERTED U3F01940 00AF 0000 195 | MASK DC 0 MASK FOR INPUT CODE U3F01950 00B0 DD00 196 | NEWLN DC /DD00 PTTC/8 NEW LINE U3F01960 00B1 000C 197 | H000C DC /000C CHK FOR PTTC/8 CONTROL CHAR U3F01970 00B2 2001 198 | H2001 DC /2001 SET OVERFLOW U3F01980 00B3 0001 199 | D0001 DC +1 DECIMAL 1 U3F01990 00B4 0010 200 | X0010 DC /0010 PTTC/8 BLANK U3F02000 201 | * U3F02010 202 | *THIS SECTION STORES THE OUTPUT CHARS U3F02020 203 | * U3F02030 00B5 1000 204 | STORE NOP SAVE RETURN ADDR U3F02040 00B6 7400 0061R 205 | MDX L CNTRL,0 IS O/P FOR LEFT HALF OF WD U3F02050 00B8 7005 206 | MDX STR16 YES, SAVE IN TEMP U3F02060 00B9 D0B0 207 | STO TEMP U3F02070 00BA C0F8 208 | LD D0001 U3F02080 00BB D0A5 209 | STR12 STO CNTRL U3F02090 00BC 4C80 00B5R 210 | BSC I STORE U3F02100 00BE 1808 211 | STR16 SRA 8 NO, ADD IN TEMP AND STORE U3F02110 00BF 80AA 212 | A TEMP CHARS IN OUTPUT AREA. U3F02120 00C0 D200 213 | STO 2 0 U3F02130 00C1 1810 214 | SRA 16 U3F02140 00C2 D0A7 215 | STO TEMP CLEAR CHAR STORAGE U3F02150 00C3 7201 216 | MDX 2 +1 SET FOR NEXT OUTPUT WORD U3F02160 00C4 1810 217 | SRA 16 U3F02170 00C5 70F5 218 | MDX STR12 U3F02180 219 | * U3F02190 220 | *THIS SECTION CHECKS FOR A CASE SHIFT OR NEW LINE U3F02200 221 | *CHARACTER IN PTTC/8 TO HOLLERITH CONVERSION. U3F02210 222 | * U3F02220 00C6 1000 223 | SHIFT NOP CHK CHAR FOR FOR CASE SHIFT U3F02230 00C7 E09F 224 | AND H00FF U3F02240 00C8 D0E5 225 | STO CHAR SAVE CHARACTER U3F02250 00C9 E0E7 226 | AND H000C U3F02260 00CA F0E6 227 | EOR H000C IS CHAR = CONTROL U3F02270 00CB 4C20 00E3R 228 | BSC L SFT20,Z NO U3F02280 00CD C0E0 229 | LD CHAR U3F02290 00CE 1008 230 | SLA 8 U3F02300 00CF F099 231 | EOR LOWER IS CHAR = LOWER CASE U3F02310 00D0 4C18 00E0R 232 | BSC L SFT18,+- YES U3F02320 00D2 F096 233 | EOR LOWER U3F02330 00D3 F097 234 | EOR UPPER IS CHAR = UPPER CASE U3F02340 00D4 4C18 00DFR 235 | BSC L SFT16,+- YES U3F02350 00D6 F094 236 | EOR UPPER U3F02360 00D7 F0D8 237 | EOR NEWLN IS CHAR = NEW LINE U3F02370 00D8 4818 238 | BSC +- U3F02380 00D9 D088 239 | STO COUNT YES U3F02390 00DA C0D3 240 | SFT12 LD CHAR U3F02400 00DB 7401 00C6R 241 | SFT13 MDX L SHIFT,+1 NO, SET TO SKIP ONE WORD U3F02410 00DD 4C80 00C6R 242 | SFT14 BSC I SHIFT U3F02420 00DF C0D3 243 | SFT16 LD D0001 U3F02430 00E0 D400 0060R 244 | SFT18 STO L CASE SET CASE ACCORDINGLY U3F02440 00E2 70FA 245 | MDX SFT14 U3F02450 00E3 C0CA 246 | SFT20 LD CHAR IS CHAR = BLANK U3F02460 00E4 90CF 247 | S X0010 U3F02470 00E5 4C18 00DAR 248 | BSC L SFT12,+- YES, DON'T CHECK CASE U3F02480 00E7 80CC 249 | A X0010 U3F02490 00E8 1887 250 | SRT 7 IS CHAR ILLEGAL U3F02500 00E9 4C04 00EFR 251 | BSC L SFT22,E U3F02510 00EB C400 0060R 252 | LD L CASE NO, ADD CASE INTO U3F02520 00ED 1087 253 | SLT 7 CHAR VALUE. U3F02530 00EE 70EC 254 | MDX SFT13 U3F02540 00EF C0C2 255 | SFT22 LD H2001 YES, SET OVERFLOW ON AND U3F02550 00F0 D400 0052R 256 | STO L SAVST LOAD BLANK AS U3F02560 00F2 C0C1 257 | LD X0010 CHARACTER U3F02570 00F3 70E7 258 | MDX SFT13 U3F02580 00F4 259 | END U3F02590 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced CALL1 005ER 107 55 130 CALL2 005FR 108 52 133 CASE 0060R 109 51 72 74 75 127 244 252 CHAR 00AER 194 177 183 225 229 240 246 CHK10 0032R 68 66 CHK12 0036R 71 67 CHK14 0042R 82 73 100 CHK15 0043R 83 102 CHK16 0056R 97 69 CHK18 005AR 101 62 CNTRL 0061R 110 38 205 209 COUNT 0062R 111 36 86 99 143 153 239 D0001 00B3R 199 208 243 D0002 0063R 112 D0003 0064R 113 D2 0098R 170 165 D3 0099R 171 168 EXIT 0054R 96 43 H000C 00B1R 197 226 227 H0010 0065R 114 40 61 63 101 H007F 0066R 115 90 H00FF 0067R 116 60 128 224 H2001 00B2R 198 186 255 HFFF0 0068R 117 48 HOL12 0027R 58 87 HOLIN 001AR 48 INPUT 0014R 44 32 LINK 0001R 27 LOWER 0069R 118 77 231 233 MASK 00AFR 195 49 129 181 NEWLN 00B0R 196 237 OUTPT 0016R 45 34 PAP22 0076R 136 154 PAP24 007DR 143 139 PAP26 0081R 146 144 PAP28 0087R 152 148 PAPHL 0000R 26 PAPIN 006CR 126 46 SAV1 004ER 92 26 89 145 155 SAV2 0050R 93 28 SAVAQ 005CR 106 30 95 SAVST 0052R 94 29 187 256 SBA12 0093R 167 163 164 166 SBRTA 008CR 160 53 56 131 134 169 SFT12 00DAR 240 248 SFT13 00DBR 241 254 258 SFT14 00DDR 242 245 SFT16 00DFR 243 235 SFT18 00E0R 244 232 SFT20 00E3R 246 228 SFT22 00EFR 255 251 SHIFT 00C6R 223 138 147 241 242 STORE 00B5R 204 80 84 210 STR12 00BBR 209 218 STR16 00BER 211 206 TEMP 006AR 119 88 207 212 215 TLU 009AR 176 59 140 149 190 TLU12 009ER 180 54 132 185 TLU14 00A8R 188 57 135 182 TLU16 00AAR 189 178 UPPER 006BR 120 79 234 236 X0010 00B4R 200 247 249 257
ibm/ibm1130-lib/dmsr2v12/u3paphl_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator