ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020 Source File: \t4sfio.asm LIBF SFIO 2 | *************************************************** T4C00020 3 | *STATUS - VERSION 2 MODIFICATION 10 * T4C00030 4 | * * T4C00040 5 | *FUNCTION/OPERATION- * T4C00050 6 | * * SERVICES A NON-DISK I/O DEVICE * T4C00060 7 | * * SUPPORTS BOTH STANDARD AND EXTENDED PREC * T4C00070 8 | * * T4C00080 9 | *ENTRY POINTS- * T4C00090 10 | * LIBF SFIO CALL TO INITIALIZE * T4C00100 11 | * DC PREC PRECISION * T4C00110 12 | * DC NUMBER 2*NO. OF UNITS(DM1) * T4C00120 13 | * 2*NO. OF UNITS+2 (DM2) T4C00125 14 | * * T4C00130 15 | * LIBF SRED CALL TO READ * T4C00140 16 | * DC ADDR1 ADDR OF UNIT NO. * T4C00150 17 | * DC ADDR2 ADDR OF FORMAT * T4C00160 18 | * * T4C00170 19 | * LIBF SWRT CALL TO WRITE * T4C00180 20 | * DC ADDR1 ADDR OF UNIT NO. * T4C00190 21 | * DC ADDR2 ADDR OF FORMAT * T4C00200 22 | * * T4C00210 23 | * LIBF SIOI CALL FOR NON-SUBSC INTGER* T4C00220 24 | * DC ADDR ADDRESS OF VARIABLE * T4C00230 25 | * * T4C00240 26 | * LIBF SIOF CALL FOR NON-SUBSC REAL * T4C00250 27 | * DC ADDR ADDR OF VARIABLE * T4C00260 28 | * * T4C00270 29 | * LIBF SIOIX CALL FOR SUBSC INTEGER * T4C00280 30 | * DC ADDR ADDR OF BASE VARIABLE * T4C00290 31 | * XR1 CONTAINS SUBSCRIPT * T4C00300 32 | * * T4C00310 33 | * LIBF SIOFX CALL FOR SUBSC REAL * T4C00320 34 | * DC ADDR ADDR OF BASE VARIABLE * T4C00330 35 | * XR1 CONTAINS SUBSCRIPT * T4C00340 36 | * * T4C00350 37 | * LIBF SIOAI CALL FOR INTEGER ARRAY * T4C00360 38 | * DC ADDR ADDR FIRST ELT OF ARRAY * T4C00370 39 | * DC COUNT COUNT OF ELT IN ARRAY * T4C00380 40 | * * T4C00390 41 | * LIBF SIOAF CALL FOR REAL ARRAY * T4C00400 42 | * DC ADDR ADDR FIRST ELT OF ARRAY * T4C00410 43 | * DC COUNT COUNT OF ELT IN ARRAY * T4C00420 44 | * * T4C00430 45 | * LIBF SCOMP CALL FOR I/O COMPLETE * T4C00440 46 | * * T4C00450 47 | *INPUT-N/A * T4C00460 48 | * * T4C00470 49 | *OUTPUT-N/A * T4C00480 50 | * * T4C00490 51 | *EXTERNAL REFERENCES- * T4C00500 52 | * SUBROUTINES-N/A * T4C00510 53 | * COMMA/DCOM * T4C00520 54 | * * $EXIT * T4C00530 55 | * * $PRET * T4C00540 56 | * * $RWCZ * T4C00550 57 | * * T4C00560 58 | *EXITS- * T4C00570 59 | * NORMAL- * T4C00580 60 | * *RETURN TO LAST CALL PARAMETER + 1 * T4C00590 61 | * ERROR- * T4C00600 62 | * *CALL EXIT IF BUFFER OVERFLOWS * T4C00610 63 | * * T4C00620 64 | *TABLES/WORK AREAS-N/A * T4C00630 65 | * * T4C00640 66 | * * T4C00650 67 | *ATTRIBUTES-N/A * T4C00660 68 | * * T4C00670 69 | *NOTES-N/A * T4C00680 70 | * * T4C00690 71 | *************************************************** T4C00700 72 | * T4C00710 73 | * 1130 FORTRAN I/O MONITER T4C00720 74 | LIBR T4C00730 75 | ENT SFIO INITIALIZATION T4C00740 76 | ENT SIOI UNSUBSCRIPTED INTEGER T4C00750 77 | ENT SIOAI INTEGER ARRAY T4C00760 78 | ENT SIOF UNSUBSCRIPTED REAL T4C00770 79 | ENT SIOAF REAL ARRAY T4C00780 80 | ENT SIOFX REAL SUBSCRIPTED ELEMENT T4C00790 81 | ENT SCOMP COMPLETION OF I/O T4C00800 82 | ENT SWRT WRITE T4C00810 83 | ENT SRED READ T4C00820 84 | ENT SIOIX INTEGER SUBSCRIPTED ELT T4C00830 85 | * T4C00840 86 | * T4C00850 0038 87 | $EXIT EQU /0038 ERROR ROUTINE T4C00860 88 | * EXIT STMNT T4C00870 0028 89 | $PRET EQU /0028 TRAP FOR PREOPERATIVE I/O T4C00880 90 | * ERRORS T4C00890 91 | * T4C00900 00F1 92 | $RWCZ EQU /F1 LAST I/O TYPE INDR T4C00910 93 | * T4C00920 94 | *************************************************** T4C00930 95 | * LIBF SWRT ENTRY POINT * T4C00940 96 | *************************************************** T4C00950 0000 2002 97 | SWRT LDS 2 STATUS FOR WRITE T4C00960 0001 6680 0000 98 | LDX I2 *-* ENTRY POINT FOR WRITE T4C00970 0003 7004 99 | SF005 MDX SRED+3 GO TO COMMON ROUTINE T4C00980 100 | * T4C00990 0004 0001 101 | DC 1 STATUS STORAGE WORD T4C01000 102 | * T4C01010 103 | *************************************************** T4C01020 104 | * LIBF SRED ENTRY POINT * T4C01030 105 | *************************************************** T4C01040 0005 2000 106 | SRED LDS 0 STATUS FOR READ T4C01050 0006 6680 0000 107 | LDX I2 *-* ENTRY POINT FOR READ T4C01060 108 | * T4C01070 0008 28FB 109 | STS SF005+1 SET READ WRITE INDICATOR T4C01080 0009 6A0B 110 | STX 2 SF010+1 SAVE XR2 T4C01090 000A 6200 111 | LDX 2 0 LOAD POSS. ERROR IND. T4C01100 000B 6A6C 112 | STX 2 SF915 CLEAR ERROR F001 SWITCH T4C01110 113 | * T4C01120 000C C400 0123R 114 | LD L SFIO+2 WAS SFIO INITIALIZED T4C01130 000E 4C18 02B7R 115 | BSC L SF385+2,+- IF NO, EXIT TO USER T4C01140 116 | * T4C01150 0010 C066 117 | LD SF912 IS THIS NEW OVERLAY T4C01160 0011 180E 118 | SRA 14 IS THIS NEW OVERLAY T4C01170 0012 4C20 0121R 119 | BSC L SFIO,Z BRANCH IF YES T4C01180 120 | * T4C01190 0014 6600 0000 121 | SF010 LDX L2 *-* RESTORE XR2 T4C01200 0016 6D00 00C1R 122 | STX L1 SF105+1 SAVE XR1 T4C01210 0018 10A0 123 | SLT 32 T4C01220 0019 DC00 012CR 124 | STD L SF997-3 CLEAR AREA T4C01230 001B D400 0125R 125 | STO L SF994 INITIALIZE COUNT T4C01240 126 | * T4C01250 001D C201 127 | LD 2 1 GET ADDR OF FORMAT T4C01260 001E D400 0126R 128 | STO L SF995 STRING INTO ROUTINE T4C01270 129 | * T4C01280 0020 C200 130 | LD 2 0 GET ADDR OF I/O UNIT NO. T4C01290 131 | * T4C01300 0021 4C18 0087R 132 | BSC L SF075,+- IF ADDR 0, GET TRACE DEVC T4C01310 133 | * T4C01320 0023 C680 0000 134 | LD I2 0 GET I/O UNIT NUMBER T4C01330 135 | * T4C01340 0025 7202 136 | SF015 MDX 2 2 MOVE XR2 UP FOR EXIT T4C01350 0026 6E00 00C5R 137 | STX L2 SF110+1 STORE IN EXIT BRANCH INST T4C01360 138 | * T4C01370 0028 D03C 139 | STO SF050 SAVE I/O UNIT NO. T4C01380 140 | * T4C01390 0029 4C08 0095R 141 | BSC L SF090,+ ERROR IF LESS THAN ONE 2-7 T4C01400 142 | * T4C01410 002B 9059 143 | S SF903 IS IT GT. OR EQ. TO TEN T4C01420 002C 4C10 0095R 144 | BSC L SF090,- BRANCH TO ERROR IF YES T4C01430 145 | * T4C01440 002E 7400 0004R 146 | MDX L SF005+1,0 SKIP IF THIS IS READ T4C01450 0030 705D 147 | MDX SF080 BRANCH IF WRITE T4C01460 148 | * T4C01470 0031 4C04 0093R 149 | BSC L SF085,E IS IT VALID READ DEVICE T4C01480 150 | * BRANCH IF NOT T4C01490 151 | * T4C01500 0033 C031 152 | SF020 LD SF050 GET I/O UNIT NUMBER T4C01510 0034 9056 153 | S SF910+1 GET TABLE INCREMENT T4C01520 0035 D003 154 | STO SF025+1 STORE DEVICE TBL INCR T4C01530 0036 1001 155 | SLA 1 GET DEVICE RTN INCR T4C01540 0037 D007 156 | STO SF030+1 STORE T4C01550 157 | * T4C01560 0038 6600 0000 158 | SF025 LDX L2 *-* T4C01570 003A C600 0426R 159 | LD L2 SF998 GET BUFFER SIZE FOR DEVICE T4C01580 003C D046 160 | STO SF901 T4C01590 003D D04E 161 | STO SF913 T4C01600 162 | * T4C01610 003E 6600 0000 163 | SF030 LDX L2 *-* LOAD PROPER DEVICE RTN IDX T4C01620 164 | * T4C01630 165 | * T4C01640 0040 C600 0000 166 | SF035 LD L2 *-* GET CALL TO I/O ROUTINE T4C01650 0042 D022 167 | STO SF050 STORE FOR ONE WORD CALL T4C01660 168 | * T4C01670 0043 6201 169 | LDX 2 1 SET XR2 FOR ERROR T4C01680 0044 4C08 02B5R 170 | BSC L SF385,+ ERROR IF NO CALL TO I/O T4C01690 171 | * T4C01700 0046 4032 172 | BSI SF070 GO CLEAR BUFFER T4C01710 173 | * T4C01720 0047 7400 0004R 174 | MDX L SF005+1 SKIP IF READ T4C01730 0049 7023 175 | MDX SF060+2 BRANCH IF WRITE T4C01740 176 | * T4C01750 004A 6600 006DR 177 | LDX L2 SF060+2 SET EXIT AFTER I/O EXECUTE T4C01760 004C 6A1F 178 | SF040 STX 2 SF060+1 STORE EXIT T4C01770 179 | * T4C01780 004D C03F 180 | SF045 LD SF914 IS T-FORMAT SW POS 2-2 T4C01790 004E 4C30 0057R 181 | BSC L SF048,-Z *BR IF YES 2-2 T4C01800 0050 903B 182 | S SF913 IS MAX WC GT LAST WC 2-2 T4C01810 0051 4C08 0055R 183 | BSC L SF047,+ *BR IF NO 2-2 T4C01820 0053 C039 184 | LD SF914 PUT MAX WC IN 2-2 T4C01830 0054 D037 185 | STO SF913 *LAST WC 2-2 T4C01840 0055 C035 186 | SF047 LD SF910+1 RESTORE T-FORMAT SW 2-2 T4C01850 0056 D036 187 | STO SF914 *TO NO T-FORMAT 2-2 T4C01860 0057 1810 188 | SF048 SRA 16 GET COUNT OF CHARACTERS T4C01870 0058 902A 189 | S SF901 TO READ OR WRITE T4C01880 0059 8032 190 | A SF913 INTO XR2 T4C01890 005A D400 0002 191 | STO L 2 CORE REFLECTION OF XR2 T4C01900 192 | * T4C01910 005C C01B 193 | LD SF915 WAS THERE F001 ERROR T4C01920 005D 4C20 0069R 194 | BSC L SF055,Z GET OUT IF YES T4C01930 195 | * T4C01940 005F C0A4 196 | LD SF005+1 CHECK READ/WRITE INDR T4C01950 0060 4818 197 | BSC +- SKIP IF WRITE T4C01960 198 | * T4C01970 0061 4017 199 | BSI SF070 GO CLEAR BFR IF READ T4C01980 200 | * T4C01990 0062 6500 0430R 201 | LDX L1 SF970 INITIALIZE POINTER T4C02000 202 | * T4C02010 0064 C09F 203 | LD SF005+1 GET READ/WRITE INDICATOR T4C02020 204 | * T4C02030 0065 0000 205 | SF050 DC *-* GO EXECUTE I/O OPERATION T4C02040 206 | * T4C02050 0066 7400 0004R 207 | MDX L SF005+1,0 SKIP IF READ T4C02060 0068 4010 208 | BSI SF070 GO CLEAR BUFFER IF WRITE T4C02070 209 | * T4C02080 0069 6500 0000 210 | SF055 LDX L1 *-* RESTORE XR1 T4C02090 211 | * T4C02100 006B 4C00 0000 212 | SF060 BSC L *-* EXIT IF COMPLETE T4C02110 213 | * T4C02120 006D 1010 214 | SLA 16 T4C02130 006E D400 0162R 215 | STO L SF926 RESET REDO INDICATOR T4C02140 216 | * T4C02150 0070 C012 217 | LD SF901 RESET BUFFER FULL COUNTER T4C02160 0071 D01A 218 | STO SF913 T4C02170 219 | * T4C02180 0072 6600 0430R 220 | SF065 LDX L2 SF970 SET POINTER TO T4C02190 0074 6E00 0127R 221 | STX L2 SF996 START OF BUFFER T4C02200 222 | * T4C02210 0076 7030 223 | MDX SF100 GO SCAN FORMAT T4C02220 224 | * T4C02230 225 | * T4C02240 226 | * CONSTANTS T4C02250 227 | * T4C02260 0077 7016 228 | SF912 MDX *+22 BRANCH OVER SFIO PARAMS T4C02270 0078 0000 229 | SF915 DC 0 ERROR F001 SWITCH T4C02280 230 | * T4C02290 231 | * T4C02300 232 | * BUFFER CLEAR SUBROUTINE T4C02310 233 | * T4C02320 0079 0000 234 | SF070 DC 0 ENTRY POINT T4C02330 007A 6287 235 | LDX 2 -121 CLEAR I/O BUFFER T4C02340 007B C400 030AR 236 | LD L SF952 TO EBC BLANKS T4C02350 007D D600 04A9R 237 | STO L2 SF970+121 T4C02360 007F 7201 238 | MDX 2 1 SKIP IF BUFFER CLEARED T4C02370 0080 70FC 239 | MDX SF070+4 CONTINUE T4C02380 0081 4C80 0079R 240 | BSC I SF070 RETURN T4C02390 241 | * T4C02400 242 | * CONSTANTS T4C02410 243 | * T4C02420 0083 0000 244 | SF901 DC 0 HOLDS BUFFER SIZE T4C02430 0084 0007 245 | SF902 DC 7 SEVEN T4C02440 0085 000A 246 | SF903 DC 10 TEN T4C02450 0086 0002 247 | SF904 DC 2 TWO T4C02460 248 | * T4C02470 249 | * T4C02480 0087 C0EF 250 | SF075 LD SF912 LOAD TRACE DEVICE UNIT NO. T4C02490 0088 709C 251 | MDX SF015 RETURN T4C02500 252 | * T4C02510 253 | * T4C02520 254 | * CONSTANTS T4C02530 255 | * T4C02540 008A 256 | BSS E 0 T4C02550 008A 0000 257 | SF910 DC 0 TWO-WORD CONSTANT T4C02560 008B 0001 258 | DC 1 OF ONE T4C02570 008C 0000 259 | SF913 DC 0 BUFFER SIZE T4C02580 008D 0001 260 | SF914 DC 1 POS,NO T-FORMAT. ZERO+ 2-2 T4C02590 261 | * *NEG,MAX WC LEFT IN BUF2-2 T4C02600 262 | * T4C02610 263 | * T4C02620 264 | * TEST FOR VALID O/P DEVICES T4C02630 265 | * T4C02640 008E 80F7 266 | SF080 A SF904 IS DEVICE 2501 CARD READER T4C02650 008F 4820 267 | BSC Z ERROR IF YES T4C02660 268 | * T4C02670 0090 80F5 269 | A SF904 IS DEVICE KEYBOARD T4C02680 0091 4C20 0033R 270 | BSC L SF020,Z BRANCH IF NOT T4C02690 271 | * T4C02700 0093 6208 272 | SF085 LDX 2 8 LOAD ERROR NO. T4C02710 0094 7049 273 | MDX SF120 GO TO ERROR ROUTINE T4C02720 274 | * T4C02730 0095 6201 275 | SF090 LDX 2 1 LOAD ERROR NUMBER T4C02740 0096 70FD 276 | MDX SF085+1 GO TO ERROR ROUTINE T4C02750 277 | * T4C02760 278 | * T4C02770 279 | * T4C02780 280 | *************************************************** T4C02790 281 | * LIBF SIOIX ENTRY POINT * T4C02800 282 | *************************************************** T4C02810 0097 2002 283 | SIOIX LDS 2 INTEGER SUBSCRIPTED VAR T4C02820 0098 6680 0000 284 | LDX I2 *-* ENTRY POINT T4C02830 009A 6967 285 | STX 1 SF916 STORE DISPLACEMENT FROM T4C02840 009B C866 286 | LDD SF916 BASE ADDR T4C02850 009C 2C00 015DR 287 | STS L SF920 SAVE REAL/INTEGER INDR T4C02860 009E 8200 288 | A 2 0 ADD BASE ADDR T4C02870 009F DC00 0124R 289 | STD L SF993 STORE ADDR OF ELEMENT 2-9 T4C02880 00A1 7201 290 | MDX 2 1 MOVE XR2 UP FOR EXIT T4C02890 00A2 6A22 291 | STX 2 SF110+1 STORE IN EXIT BRANCH T4C02900 00A3 691D 292 | STX 1 SF105+1 SAVE XR1 T4C02910 00A4 C0D3 293 | LD SF915 WAS THERE F001 ERROR 2-10 T4C02914 00A5 4C20 00C4R 294 | BSC L SF110,Z GET OUT IF YES 2-10 T4C02915 295 | * T4C02920 296 | * T4C02930 297 | * FORMAT SCAN T4C02940 298 | * T4C02950 00A7 7400 0162R 299 | SF100 MDX L SF926,0 IS REDO INDICATOR ZERO T4C02960 00A9 70A0 300 | MDX SF040-2 IF NO, GO START I/O OP T4C02970 301 | * T4C02980 00AA C400 0136R 302 | LD L SF976 SAVE PREVIOUS T4C02990 00AC D07E 303 | STO SF997-4 FORMAT TYPE T4C03000 304 | * T4C03010 00AD 10A0 305 | SLT 32 CLEAR ACC AND EXTENSION T4C03020 00AE 61EC 306 | LDX 1 -20 T4C03030 00AF D500 0144R 307 | STO L1 SF985 CLEAR OUT WORK AREA T4C03040 00B1 7101 308 | MDX 1 1 SKIP IF FINISHED T4C03050 00B2 70FC 309 | MDX *-4 CONTINUE T4C03060 310 | * T4C03070 00B3 904F 311 | S SF916+1 SET UP CONSTANT T4C03080 00B4 D400 0144R 312 | STO L SF985 OF -1 T4C03090 00B6 D078 313 | STO SF997 T4C03100 314 | * T4C03110 00B7 C480 0126R 315 | LD I SF995 GET WD FROM FORMAT STRING T4C03120 316 | * T4C03130 00B9 18CC 317 | RTE 12 GET TYPE INTO ACC T4C03140 318 | * T4C03150 00BA D07B 319 | STO SF976 SET XR2 AS INDEX T4C03160 00BB 6680 0136R 320 | LDX I2 SF976 WITH TYPE T4C03170 321 | * T4C03180 00BD 1802 322 | SRA 2 IS IT E, F, OR I FORMAT T4C03190 00BE 4808 323 | BSC + SKIP IF NOT T4C03200 324 | * T4C03210 00BF 8065 325 | A SF994 CHECK ARRAY COUNT T4C03220 326 | * T4C03230 00C0 6500 0000 327 | SF105 LDX L1 *-* RESTORE XR1 T4C03240 328 | * T4C03250 00C2 4C00 041AR 329 | BSC L SF650 BRANCH TO CHECK R/W SW 2-9 T4C03255 00C4 4C00 0000 330 | SF110 BSC L *-* EXIT IF COUNT ZERO 2-9 T4C03260 331 | * T4C03270 00C6 C600 0163R 332 | SF112 LD L2 SF928 GET COUNT OF 2,3 OR 7 2-9 T4C03280 333 | * T4C03290 00C8 6500 0130R 334 | LDX L1 X INITIALIZE TRANSFER VECTOR T4C03300 335 | * T4C03310 00CA D112 336 | STO 1 SF983-X STORE COUNT T4C03320 337 | * T4C03330 00CB 1810 338 | SRA 16 CLEAR ACCUMULATOR T4C03340 339 | * T4C03350 00CC 72FF 340 | MDX 2 -1 IS TYPE E OR F - SKIP YES T4C03360 00CD 7005 341 | MDX SF115 BRANCH IF I TYPE T4C03370 342 | * T4C03380 00CE 1085 343 | SLT 5 GET DECIMAL WIDTH T4C03390 00CF D111 344 | STO 1 SF982-X PUT INTO WORK AREA T4C03400 345 | * T4C03410 00D0 1810 346 | SRA 16 CLEAR ACCUMULATOR T4C03420 347 | * T4C03430 00D1 1885 348 | SRT 5 RESTORE EXTENSION T4C03440 00D2 6200 349 | LDX 2 0 SET XR2 TO ZERO FOR E-F T4C03450 350 | * T4C03460 00D3 108C 351 | SF115 SLT 12 GET TOTAL FIELD WIDTH T4C03470 00D4 D110 352 | STO 1 SF981-X PUT INTO WORK AREA T4C03480 353 | * T4C03490 00D5 72FC 354 | MDX 2 -4 IS IT E,F,I,A, OR X TYPE T4C03500 00D6 7045 355 | MDX SF150 BRANCH IF NOT T4C03510 356 | * T4C03520 00D7 80B4 357 | A SF913 GET SIZE OF BUFFER NOT T4C03530 00D8 D0B3 358 | STO SF913 YET FILLED T4C03540 359 | * T4C03550 00D9 4C08 011BR 360 | BSC L SF145,+ BRANCH IF NO ERROR T4C03560 361 | * T4C03570 00DB 1010 362 | SLA 16 ZERO THE BUFFER 2-2 T4C03580 00DC D0AF 363 | STO SF913 *SIZE T4C03590 364 | * T4C03600 00DD 6202 365 | LDX 2 2 SET UP ERROR T4C03610 00DE 4C00 02B5R 366 | SF120 BSC L SF385 GO TO ERROR ROUTINE T4C03620 367 | * T4C03630 368 | *************************************************** T4C03640 369 | * LIBF SIOF ENTRY POINT * T4C03650 370 | *************************************************** T4C03660 00E0 2000 371 | SIOF LDS 0 REAL VARIABLE STATUS WORD T4C03670 00E1 6680 0000 372 | LDX I2 *-* ENTRY POINT T4C03680 00E3 702B 373 | MDX SIOI+3 GO TO GET COUNT T4C03690 374 | * T4C03700 375 | *************************************************** T4C03710 376 | * LIBF SCOMP ENTRY POINT * T4C03720 377 | *************************************************** T4C03730 00E4 6985 378 | SCOMP STX 1 SF055+1 WRITE COMPLETE T4C03740 00E5 6680 0000 379 | LDX I2 *-* ENTRY POINT T4C03750 00E7 C07A 380 | LD SF926 IS REDO INDICATOR ON T4C03760 00E8 4C20 004CR 381 | BSC L SF040,Z IF YES, GO EXECUTE I/O T4C03770 382 | * T4C03780 00EA C040 383 | LD SF997-4 LOAD LAST FORMAT TYPE T4C03790 00EB 9098 384 | S SF902 WAS IT SLASH (/) T4C03800 00EC 4C20 004CR 385 | BSC L SF040,Z IF NO, GO EXECUTE I/O T4C03810 386 | * T4C03820 00EE 6E00 006CR 387 | STX L2 SF060+1 SET XR2 FOR EXIT 2-10 T4C03830 00F0 4C00 006BR 388 | BSC L SF060 RETURN 2-9 T4C03840 389 | * T4C03850 390 | * T FORMAT T4C03860 391 | * T4C03870 00F2 18D0 392 | SF122 RTE 16 SAVE ACC 2-2 T4C03880 00F3 C099 393 | LD SF914 FIRST TIME T-FORMAT 2-2 T4C03890 00F4 4C30 00F9R 394 | BSC L SF123,-Z *BR IF YES 2-2 T4C03900 00F6 9095 395 | S SF913 IS MAX WC GT LAST WC 2-2 T4C03910 00F7 4C30 00FBR 396 | BSC L SF124,-Z *BR IF YES 2-2 T4C03920 00F9 C092 397 | SF123 LD SF913 PUT LAST WC 2-2 T4C03930 00FA D092 398 | STO SF914 *IN MAX WC 2-2 T4C03940 00FB 18D0 399 | SF124 RTE 16 RESTORE ACC 2-2 T4C03950 00FC 8086 400 | A SF901 ADJUST CHARACTER COUNT T4C03960 00FD 9005 401 | S SF916+1 *TO MAX CHAR LEFT 2-1 T4C03970 00FE D08D 402 | STO SF913 * T4C03980 00FF C110 403 | LD 1 SF981-X SET UP BUFFER POINTER T4C03990 0100 8057 404 | A SF919 * T4C04000 0101 7053 405 | MDX SF125+1 GO STORE POINTER T4C04010 406 | * T4C04020 407 | * CONSTANTS T4C04030 408 | * T4C04040 0102 409 | BSS E 0 T4C04050 0102 0000 410 | SF916 DC 0 STORAGE T4C04060 0103 0001 411 | DC 1 ONE T4C04070 412 | * T4C04080 413 | *************************************************** T4C04090 414 | * LIBF SIOAF ENTRY POINT * T4C04100 415 | *************************************************** T4C04110 0104 2000 416 | SIOAF LDS 0 REAL ARRAY STATUS WORD T4C04120 0105 6680 0000 417 | LDX I2 *-* ENTRY POINT T4C04130 0107 700D 418 | MDX SIOAI+3 GO TO COMMON ROUTINE T4C04140 419 | * T4C04150 420 | *************************************************** T4C04160 421 | * LIBF SIOFX ENTRY POINT * T4C04170 422 | *************************************************** T4C04180 0108 2000 423 | SIOFX LDS 0 REAL SUBSC VAR STATUS WORD T4C04190 0109 6680 0000 424 | LDX I2 *-* ENTRY POINT T4C04200 010B 708E 425 | MDX SIOIX+3 GO TO COMMON ROUTINE T4C04210 426 | * T4C04220 427 | *************************************************** T4C04230 428 | * LIBF SIOI ENTRY POINT * T4C04240 429 | *************************************************** T4C04250 010C 2002 430 | SIOI LDS 2 INTEGER VAR STATUS WORD T4C04260 010D 6680 0000 431 | LDX I2 *-* ENTRY POINT T4C04270 010F CC00 008AR 432 | LDD L SF910 GET COUNT OF ONE IN EXT2-9 T4C04280 0111 708A 433 | MDX SIOIX+5 GO TO COMMON ROUTINE T4C04290 434 | * T4C04300 435 | *************************************************** T4C04310 436 | * LIBF SIOAI ENTRY POINT * T4C04320 437 | *************************************************** T4C04330 0112 2002 438 | SIOAI LDS 2 INTEGER ARRAY STATUS WORD T4C04340 0113 6680 0000 439 | LDX I2 *-* ENTRY POINT T4C04350 0115 C201 440 | LD 2 1 LD CT OF ELEMENTS IN ARRAY T4C04360 0116 1890 441 | SRT 16 PUT IN EXTENSION T4C04370 442 | * T4C04380 0117 C200 443 | LD 2 0 LOAD ADDR OF 1ST ELEMENT T4C04390 0118 7201 444 | MDX 2 1 SET UP XR2 FOR EXIT T4C04400 0119 2843 445 | STS SF920 STORE STATUS T4C04410 011A 7084 446 | MDX SIOIX+8 GO TO COMMON ROUTINE T4C04420 447 | * T4C04430 011B C110 448 | SF145 LD 1 SF981-X GET TOTAL FIELD WIDTH T4C04440 449 | * T4C04450 450 | * 2-2 T4C04460 451 | * BRANCH BY TYPE CODE 2-2 T4C04470 452 | * 2-2 T4C04480 011C 4E00 016AR 453 | SF150 BSC L2 SF155 2-2 T4C04490 454 | * T4C04500 455 | * CONSTANTS T4C04510 456 | * T4C04520 011E 0016 457 | H0016 DC /0016 VERSION 2 INDICATOR 2-2 T4C04530 0120 458 | BSS E 0 T4C04540 0120 00C5 459 | SF918 DC /00C5 E T4C04550 460 | * T4C04560 461 | *************************************************** T4C04570 462 | * LIBF SFIO ENTRY POINT * T4C04580 463 | *************************************************** T4C04590 0121 C0FC 464 | SFIO LD H0016 LOAD V2 INDICATOR 2-2 T4C04600 0122 6680 0000 465 | VSWIT LDX I2 *-* ENTRY POINT 2-2 T4C04610 0124 9201 466 | S 2 1 SUBTRACT SECOND PARAM 2-2 T4C04620 0125 D0FC 467 | STO VSWIT STORE ZERO IF V2 2-2 T4C04630 0126 7202 468 | MDX 2 2 STORE ADDRESS OF 2-2 T4C04640 0127 6E00 0041R 469 | STX L2 SF035+1 * CALLS 2-2 T4C04650 0129 C2FE 470 | LD 2 -2 GET PRECISION-TRACE WD 2-2 T4C04660 012A 1885 471 | SRT 5 SAVE PRECISION IN Q 2-2 T4C04670 012B 7400 0122R 472 | MDX L VSWIT,0 SKIP IF V2 2-2 T4C04680 012D 7004 473 | MDX V1 BRANCH IF V1 2-2 T4C04690 012E 7404 0153R 474 | MDX L UINIT,4 MAKE BRANCH FOR V2 2-2 T4C04700 0130 1001 475 | SLA 1 SHUFFLE TRACE DEVICE 2-2 T4C04710 0131 902D 476 | S SF931 SUBTRACT 1 2-2 T4C04720 0132 D400 0077R 477 | V1 STO L SF912 SAVE TRACE UNIT NUMBER 2-2 T4C04730 0134 1091 478 | SLT 17 GET REAL PRECISION 2-2 T4C04740 0135 188D 479 | SRT 13 * 2-2 T4C04750 0136 D027 480 | STO SF922 STORE REAL PRECISION 2-2 T4C04760 0137 1091 481 | SLT 17 GET INTEGER INDICATOR 2-2 T4C04770 0138 C025 482 | LD SF922 GET REAL PRECISION 2-2 T4C04780 0139 4802 483 | BSC C SKIP IF ONE-WD-INTEGER 2-2 T4C04790 013A D025 484 | STO SF922+2 SET INTEGER EQ. REAL 2-2 T4C04800 013B D8E8 485 | STD SF993 ZERO COUNT FIELD 2-2 T4C04810 013C C016 486 | LD UINIT GET BRANCH AROUND 2-2 T4C04820 013D D2FD 487 | STO 2 -3 SET UP FOR RESTART 2-2 T4C04830 013E 7214 488 | MDX 2 20 SET EXIT FOR V2 2-2 T4C04840 013F 7400 0122R 489 | MDX L VSWIT,0 SKIP IF V2 2-2 T4C04850 0141 72FC 490 | MDX 2 -4 REDUCE EXIT TO V1 2-2 T4C04860 0142 C2FE 491 | LD 2 -2 PICK UP CALLS TO 2-2 T4C04870 0143 D400 02EAR 492 | STO L SF435 * FLOATING LOAD 2-2 T4C04880 0145 C2FF 493 | LD 2 -1 * AND 2-2 T4C04890 0146 D400 0278R 494 | STO L SF335 * FLOATING STORE 2-2 T4C04900 0148 C400 0004R 495 | LD L SF005+1 IS THIS FIRST CALL TO 2-2 T4C04910 014A 4C04 014ER 496 | BSC L *+2,E *SFIO, BRANCH IF YES 2-2 T4C04920 497 | * 2-2 T4C04930 014C 4C00 0014R 498 | BSC L SF010 GO TO READ ROUTINE 2-2 T4C04940 014E 1010 499 | SLA 16 CLEAR ACCUMULATOR 2-2 T4C04950 014F D400 00F1 500 | STO L $RWCZ SET I/O TYPE 2-2 T4C04960 0151 4E00 0000 501 | BSC L2 0 EXIT 2-2 T4C04970 502 | * 2-2 T4C04980 0153 7012 503 | UINIT MDX *+18 V1 BRANCH AROUND FIO 2-2 T4C04990 504 | * T4C05000 505 | * X FORMAT T4C05010 506 | * T4C05020 0154 80D2 507 | SF125 A SF996 UP I/O BUFFER POINTER BY T4C05030 0155 D0D1 508 | STO SF996 COUNT SPECIFIED T4C05040 0156 4C00 0280R 509 | SF130 BSC L SF345 GO UP FORMAT POINTER T4C05050 510 | * T4C05060 511 | * CONSTANTS T4C05070 512 | * T4C05080 0158 042FR 513 | SF919 DC SF970-1 START OF BUFFER ADDRESS-1 T4C05090 514 | * T4C05100 515 | * H FORMAT T4C05110 516 | * T4C05120 0159 6680 0126R 517 | SF140 LDX I2 SF995 SET ADDR OF FORMAT PTS T4C05130 015B 7201 518 | MDX 2 1 MOVE TO NEXT WROD OF FMT T4C05140 015C 7046 519 | MDX SF185-2 GO PROCESS H TYPE T4C05150 520 | * T4C05160 521 | * CONSTANTS T4C05170 522 | * T4C05180 015D 0000 523 | SF920 DC 0 REAL/INTEGER SWITCH T4C05190 015E 524 | BSS E 0 T4C05200 015E 0003 525 | SF922 DC 3 REAL PRECISION T4C05210 015F 0001 526 | DC 1 * T4C05220 0160 0001 527 | DC 1 INTEGER PRECISION T4C05230 0161 0001 528 | DC 1 * T4C05240 0162 0000 529 | SF926 DC 0 REDO SWITCH T4C05250 0163 0007 530 | SF928 DC 7 COUNT OF NUMBER T4C05270 0164 0003 531 | DC 3 OF NON DIGITS CHARS T4C05280 0165 0002 532 | DC 2 IN NUMBER T4C05290 015FR 533 | SF931 EQU SF922+1 ONE T4C05300 534 | * T4C05310 535 | * T4C05320 0166 706D 536 | MDX SF210 TYPE E OR F T4C05330 0167 7061 537 | MDX SF205 TYPE I T4C05340 0168 7028 538 | MDX SF180 TYPE A T4C05350 0169 70EA 539 | MDX SF125 TYPE X T4C05360 016A 70EE 540 | SF155 MDX SF140 TYPE H T4C05370 016B 7086 541 | MDX SF122 T FORMAT T4C05380 016C 700B 542 | MDX SF160 SLASH T4C05390 016D 700F 543 | MDX SF170 GROUP REPEAT T4C05400 016E 7010 544 | MDX SF175 FIELD REPEAT T4C05410 016F FF00 545 | SF927 DC /FF00 RIGHT HALF OF WD MASK 2-4 T4C05420 546 | * T4C05430 547 | * REDO FORMAT T4C05440 548 | * T4C05450 0170 C0B5 549 | LD SF995 REDO CODE T4C05460 0171 9110 550 | S 1 SF981-X RESET FORMAT POINTER BY T4C05470 0172 D0B3 551 | STO SF995 AMOUNT IN STRING T4C05480 0173 69EE 552 | STX 1 SF926 SET REDO INDICATOR T4C05490 0174 C0B0 553 | LD SF994 IS ARRAY COUNT EXHAUSTED T4C05500 0175 4C08 00C0R 554 | BSC L SF105,+ IF YES8 RETURN TO USER T4C05510 555 | * T4C05520 0177 7003 556 | MDX SF165 NO, GO SCAN NEXT FORMAT T4C05530 557 | * T4C05540 558 | * T4C05550 559 | * SLASH FORMAT T4C05560 560 | * T4C05570 0178 69E9 561 | SF160 STX 1 SF926 SET REDO INDICATOR T4C05580 0179 7401 0126R 562 | MDX L SF995,1 MOVE FORMAT POINTER T4C05590 017B 4C00 0072R 563 | SF165 BSC L SF065 GO SCAN NEXT FORMAT T4C05600 564 | * T4C05610 565 | * GROUP REPEAT FORMAT T4C05620 566 | * T4C05630 017D 7401 0126R 567 | SF170 MDX L SF995,+1 MOVE FORMAT POINTER T4C05640 568 | * T4C05650 569 | * FIELD REPEAT FORMAT T4C05660 570 | * T4C05670 017F 7600 0129R 571 | SF175 MDX L2 SF997-6 GET REPEAT COUNTER T4C05680 0181 C200 572 | LD 2 0 LOAD REPEAT COUNTER T4C05690 0182 9114 573 | S 1 SF985-X INCREASE BY ONE T4C05700 0183 D200 574 | STO 2 0 PUT BACK IN STORAGE T4C05710 575 | * T4C05720 0184 9110 576 | S 1 SF981-X ARE ALL REPEATS DONE T4C05730 0185 4C20 0189R 577 | BSC L *+2,Z BRANCH IF NOT T4C05740 578 | * T4C05750 0187 D200 579 | STO 2 0 IF YES, RESET REPEAT CTR T4C05760 0188 70CD 580 | MDX SF130 GO MOVE FORMAT POINTER T4C05770 581 | * T4C05780 0189 C480 0126R 582 | LD I SF995 LOAD GROUP REPEAT COUNT T4C05790 018B D0A2 583 | STO SF997-1 STORE IN M1-1 (XR2+2) T4C05800 584 | * T4C05810 018C C099 585 | LD SF995 LOAD CURRENT FORMAT ADDR T4C05820 018D 8202 586 | A 2 2 BACKSPACE FMT PT BY 1 OR T4C05830 018E D097 587 | STO SF995 STORE NEW FORMAT ADDR T4C05840 018F 4C00 00A7R 588 | BSC L SF100 GO RESUME FORMAT SCAN T4C05850 589 | * T4C05860 590 | * T4C05870 591 | * A FORMAT T4C05880 592 | * T4C05890 0191 C0CB 593 | SF180 LD SF920 GET REAL OR INTEGER T4C05900 594 | * T4C05910 0192 1801 595 | SRA 1 INDICATOR T4C05920 596 | * GET SIZE OF ITEM T4C05930 597 | * SET XR2 T4C05940 0193 D400 0002 598 | STO L 2 CORE REFLECTION OF XR2 T4C05950 599 | * T4C05960 0195 C600 015ER 600 | LD L2 SF922 LOAD SIZE OF ITEM T4C05970 0197 1001 601 | SLA 1 DOUBLE TO GET COUNT T4C05980 0198 D111 602 | STO 1 SF982-X STORE TEMPORARILY T4C05990 603 | * T4C06000 0199 C110 604 | LD 1 SF981-X GET A TYPE WIDTH SPEC. T4C06010 019A 9111 605 | S 1 SF982-X CMP WITH MAX SIZE POSSIBL T4C06020 019B 6680 0124R 606 | LDX I2 SF993 GET ADDR OF VARIABLE T4C06030 019D 4C28 01E4R 607 | BSC L SF230,+Z BRANCH IF SIZE OK T4C06040 608 | * T4C06050 019F 8087 609 | A SF996 BYPASS CHARACTERS IF GT T4C06060 01A0 D086 610 | STO SF996 NUMBER POSSIBLE T4C06070 01A1 C111 611 | LD 1 SF982-X AND SET WIDTH TO MAXIMUM T4C06080 01A2 D110 612 | STO 1 SF981-X SIZE POSSIBLE T4C06090 613 | * T4C06100 01A3 1010 614 | SLA 16 SET LEFT/RIGHT INDICATOR T4C06110 01A4 D10F 615 | STO 1 SF987-X TO LEFT T4C06120 616 | * T4C06130 01A5 7400 0004R 617 | SF185 MDX L SF005+1,0 SKIP IF READ T4C06140 01A7 7034 618 | MDX SF220 BRANCH IF WRITE T4C06150 619 | * T4C06160 01A8 C480 0127R 620 | LD I SF996 GET CHAR FROM BUFFER T4C06170 01AA 7400 013FR 621 | MDX L SF987,0 SKIP IF LEFT CHAR T4C06180 01AC 7005 622 | MDX SF190 BRANCH IF RIGHT CHAR T4C06190 623 | * T4C06200 01AD 1008 624 | SLA 8 SHIFT TO STORE IN T4C06210 01AE EC00 030AR 625 | OR L SF952 LEFT HALF OF T4C06220 01B0 D200 626 | STO 2 0 VARIABLE WORD T4C06230 627 | * T4C06240 01B1 7006 628 | MDX SF195 GO REVERSE LEFT/RT INDR T4C06250 629 | * T4C06260 01B2 C200 630 | SF190 LD 2 0 LOAD LIST WORD T4C06270 01B3 E0BB 631 | AND SF927 CLEAR RIGHT HALF OF WORD T4C06280 01B4 EC80 0127R 632 | OR I SF996 COMBINE WITH CHAR FROM BFR T4C06290 01B6 D200 633 | STO 2 0 PUT BACK ON LIST T4C06300 634 | * T4C06310 01B7 7201 635 | MDX 2 1 MOVE LIST ADDR T4C06320 636 | * T4C06330 01B8 C10F 637 | SF195 LD 1 SF987-X LOAD LEFT/RT INDR T4C06340 01B9 F0A5 638 | EOR SF931 REVERSE INDICATOR T4C06350 01BA D10F 639 | STO 1 SF987-X PUT BACK INDICATOR T4C06360 640 | * T4C06370 01BB 7401 0127R 641 | MDX L SF996,+1 MOVE BUFFER ADDRESS T4C06380 642 | * T4C06390 01BD 74FF 0140R 643 | MDX L SF981,-1 DECREMENT WIDTH CT BY ONE T4C06400 01BF 70E5 644 | SF200 MDX SF185 BRANCH BACK IF NOT DONE T4C06410 645 | * T4C06420 01C0 4820 646 | BSC Z CHECK TO SEE IF UPDATE T4C06430 647 | * T4C06440 01C1 7201 648 | MDX 2 1 MOVE BFR PT T4C06450 649 | * T4C06460 01C2 C106 650 | LD 1 SF976-X GET FORMAT TYPE T4C06470 01C3 1802 651 | SRA 2 IS IT H FORMAT T4C06480 01C4 4C18 027AR 652 | BSC L SF340,+- BRANCH IF A FORMAT T4C06490 653 | * T4C06500 01C6 6E00 0126R 654 | STX L2 SF995 H FORMAT - STORE NEW FMT T4C06510 01C8 70C6 655 | MDX SF180-2 ADDR - RESUME FMT SCAN T4C06520 656 | * T4C06530 657 | * T4C06540 658 | * I FORMAT T4C06550 659 | * T4C06560 01C9 C114 660 | SF205 LD 1 SF985-X I TYPE T4C06570 01CA 7400 0004R 661 | MDX L SF005+1 IS IT READ T4C06580 01CC 7001 662 | MDX *+1 IF NO, GO STORE DD T4C06590 663 | * T4C06600 01CD 1010 664 | SLA 16 IF YES, LEAVE DD AS ZERO T4C06610 01CE D111 665 | STO 1 SF982-X STORE DECIMAL WIDTH T4C06620 666 | * T4C06630 01CF C08D 667 | LD SF920 IS IT INTEGER T4C06640 01D0 4C20 028CR 668 | BSC L SF360,Z BRANCH IF YES T4C06650 669 | * T4C06660 01D2 6209 670 | LDX 2 9 IF NO, INVALID REQUEST T4C06670 01D3 7066 671 | MDX SF280 GO TO ERROR ROUTINE T4C06680 672 | * T4C06690 673 | * T4C06700 674 | * E OR F FORMAT T4C06710 675 | * T4C06720 01D4 C088 676 | SF210 LD SF920 IS IT REAL VARIABLE T4C06730 01D5 4C18 028CR 677 | BSC L SF360,+- BRANCH IF YES T4C06740 01D7 70FA 678 | MDX SF210-2 IF NOT, GO TO ERROR RTN T4C06750 679 | * T4C06760 01D8 1008 680 | SF215 SLA 8 GET RIGHT HAND CHAR T4C06770 01D9 7201 681 | MDX 2 1 MOVE LIST ADDR BY ONE T4C06780 01DA 1000 682 | NOP MAY SKIP 2-3 T4C06785 01DB 7004 683 | MDX SF225 GO STORE IN BUFFER T4C06790 684 | * T4C06800 01DC C200 685 | SF220 LD 2 0 GET CHAR FROM LIST T4C06810 01DD 7400 013FR 686 | MDX L SF987,0 SKIP IF LEFT CHAR T4C06820 01DF 70F8 687 | MDX SF215 GO GET RIGHT HAND CHAR T4C06830 688 | * T4C06840 01E0 1808 689 | SF225 SRA 8 RIGHT JUSTIFY CHAR T4C06850 01E1 D480 0127R 690 | STO I SF996 STORE IN BUFFER T4C06860 691 | * T4C06870 01E3 70D4 692 | MDX SF195 GO REVERSE LEFT/RT INDR T4C06880 693 | * T4C06890 01E4 7400 0004R 694 | SF230 MDX L SF005+1,0 SKIP IF READ T4C06900 01E6 70D8 695 | MDX SF200 BRANCH IF WRITE T4C06910 696 | * T4C06920 01E7 C00A 697 | LD SF935 LOAD BLANK T4C06930 01E8 D200 698 | STO 2 0 PUT IN LIST ADDR T4C06940 699 | * T4C06950 01E9 74FE 0141R 700 | MDX L SF982,-2 DECREMENT COUNT T4C06960 01EB 7001 701 | MDX *+1 SKIP IF I-WD INTEGER T4C06970 702 | * T4C06980 01EC 70D2 703 | MDX SF200 CHECK FOR STANDARD PREC T4C06990 704 | * T4C07000 01ED D201 705 | STO 2 1 PUT IN SECOND WORD T4C07010 706 | * T4C07020 01EE 74FE 0141R 707 | MDX L SF982,-2 SKIP IF STANDARD PRECISION T4C07030 01F0 D202 708 | STO 2 2 BLANK THIRD WORD T4C07040 709 | * T4C07050 01F1 70CD 710 | MDX SF200 GO PROCESS A TYPE T4C07060 711 | * T4C07070 712 | * T4C07080 713 | * CONSTANTS T4C07090 714 | * T4C07100 01F2 4040 715 | SF935 DC /4040 BLANKS T4C07110 716 | * T4C07120 717 | * T4C07130 01F3 7401 013ER 718 | SF235 MDX L SF979,+1 UP COUNT OF DIGITS T4C07140 719 | * T4C07150 01F5 7400 0131R 720 | MDX L SF971 HAS E BEEN ENCOUNTERED T4C07160 01F7 702D 721 | MDX SF270 IF YES, GO BUILD EXPONENT T4C07170 722 | * T4C07180 01F8 4400 03A9R 723 | BSI L SF570 NO, GO BUILD MANTISSA T4C07190 724 | * T4C07200 01FA C100 725 | SF240 LD 1 SF986-X INCREMENT COUNT OF DIGIST T4C07210 01FB 9103 726 | S 1 SF973-X FOLLOWING DECIMAL POINT T4C07220 01FC D100 727 | STO 1 SF986-X DIVCT ZERO IF NO DECML PT T4C07230 01FD 703D 728 | MDX SF285 GO CHECK IF WIDTH DONE T4C07240 729 | * T4C07250 01FE D104 730 | SF245 STO 1 SF974-X STORE SIGN TO EXPONENT T4C07260 01FF 6C00 0143R 731 | STX L SF984 SET SIGN ENCOUNTERED SW T4C07270 0201 7002 732 | MDX SF250+2 GO CHECK WIDTH DONE T4C07280 733 | * T4C07290 734 | * T4C07300 0202 1010 735 | SF250 SLA 16 E ENCOUNTERED T4C07310 0203 D113 736 | STO 1 SF984-X CLEAR SIGN INDICATOR T4C07320 737 | * T4C07330 0204 C901 738 | LDD 1 SF971-X HAS E BEEN PREVIOUSLY T4C07340 0205 6205 739 | LDX 2 5 ENCOUNTERED T4C07350 0206 4C20 02B5R 740 | BSC L SF385,Z ERROR BRANCH IF YES T4C07360 741 | * T4C07370 0208 D90E 742 | STD 1 SF979-X CLEAR DIGIT COUNT T4C07380 743 | * T4C07390 0209 C114 744 | LD 1 SF985-X SET E ENCOUNTERED INDR, T4C07400 020A D101 745 | STO 1 SF971-X ALSO USED AS ADDR INDEX T4C07410 746 | * T4C07420 020B 7031 747 | MDX SF285+2 GO CHECK WIDTH DONE T4C07430 748 | * T4C07440 749 | * T4C07450 020C C114 750 | SF255 LD 1 SF985-X SET MINUS INDICATOR T4C07460 751 | * T4C07470 020D 6206 752 | SF260 LDX 2 6 SET UP FOR ERROR T4C07480 753 | * T4C07490 020E 7400 013FR 754 | MDX L SF980 VALID DIGIT ENCOUNTERED T4C07500 0210 70ED 755 | MDX SF245 BRANCH IF YES T4C07510 756 | * T4C07520 0211 7400 0143R 757 | MDX L SF984,0 PREVIOUS SIGN ENCOUNTERED T4C07530 0213 7026 758 | MDX SF280 ERROR IF YES T4C07540 759 | * T4C07550 0214 6E00 0143R 760 | STX L2 SF984 SET SIGN INDICATOR T4C07560 0216 6680 0131R 761 | LDX I2 SF971 SET EXPONENT/MANTISSA IDX T4C07570 762 | * T4C07580 0218 D600 0135R 763 | STO L2 SF975 PUT SIGN IN NUMBER T4C07590 021A 7022 764 | MDX SF285+2 GO CHECK IF WIDTH DONE 2-2 T4C07600 765 | * T4C07610 766 | * T4C07620 021B 7400 013ER 767 | SF265 MDX L SF979,0 WAS NON-ZERO DIGIT FOUND T4C07630 021D 70D5 768 | MDX SF235 IF YES, HANDLE AS DIGIT T4C07640 769 | * T4C07650 021E 7400 0131R 770 | MDX L SF971,0 WAS E ENCOUNTERED T4C07660 0220 701C 771 | MDX SF285+2 IF YES, CHECK WIDTH DONE T4C07670 772 | * T4C07680 0221 7400 0133R 773 | MDX L SF973,0 WAS DECIMAL PT FOUND T4C07690 0223 70D6 774 | MDX SF240 YES, GO PROCESS T4C07700 775 | * T4C07710 0224 7016 776 | MDX SF285 NO, CHECK WIDTH DONE T4C07720 777 | * T4C07730 778 | * T4C07740 0225 D10D 779 | SF270 STO 1 SF978+1-X BUILD BINARY EXPONENT T4C07750 780 | * T4C07760 0226 C102 781 | LD 1 SF972-X MULTIPLY CONVERTED PART OF T4C07770 0227 A00B 782 | M SF942 NUMBER BY TEN T4C07780 0228 1090 783 | SLT 16 T4C07790 0229 810D 784 | A 1 SF978+1-X ADD THIS PART OF NUMBER T4C07800 022A D102 785 | STO 1 SF972-X STORE CONVERTED NUMBER T4C07810 022B 9006 786 | S SF941 CHECK AGAINST 192 2-2 T4C07820 022C 4C08 023BR 787 | BSC L SF285,+ BRANCH NOT TOO LARGE 2-2 T4C07830 022E C004 788 | LD SF942 SET DEFAULT TO TEN 2-2 T4C07840 022F D115 789 | STO 1 SF999-X SET TOO LARGE INDIC. 2-2 T4C07850 0230 D102 790 | STO 1 SF972-X DEFAULT 2-2 T4C07860 0231 7009 791 | MDX SF285 CHECK WIDTH DONE T4C07870 792 | * T4C07880 793 | * T4C07890 794 | * T4C07900 795 | * CONSTANTS T4C07910 796 | * T4C07920 0232 00C0 797 | SF941 DC 192 USEFUL CONSTANT T4C07930 0233 000A 798 | SF942 DC 10 TEN T4C07940 799 | * T4C07950 800 | * T4C07960 0234 6207 801 | SF275 LDX 2 7 SET UP FOR DECML PT ERROR T4C07970 802 | * T4C07980 0235 74FF 0133R 803 | MDX L SF973,-1 CHK FOR PREVIOUS DECML PT T4C07990 0237 7002 804 | MDX SF280 ERROR IF FOUND T4C08000 805 | * T4C08010 0238 7400 0131R 806 | MDX L SF971,0 WAS E ENCOUNTERED T4C08020 023A 707A 807 | SF280 MDX SF385 YES, GO TO ERROR ROUTINE T4C08030 808 | * T4C08040 023B 7401 013FR 809 | SF285 MDX L SF980,+1 INCR CNT OF VALID DIGITS T4C08050 810 | * T4C08060 023D 74FF 0140R 811 | MDX L SF981,-1 DECR WIDTH OF FIELD T4C08070 023F 7055 812 | MDX SF365 BRANCH IF NOT COMPLETE T4C08080 813 | * T4C08090 0240 6205 814 | LDX 2 5 LOAD COUNTER T4C08100 815 | * T4C08110 0241 C600 0136R 816 | SF290 LD L2 SF977-5 LOAD WORD IN FIELD T4C08120 0243 4820 817 | BSC Z SKIP IF ZERO T4C08130 0244 7003 818 | MDX SF295 GO PROCESS IF NOT T4C08140 819 | * T4C08150 0245 72FF 820 | MDX 2 -1 SKIP IF ALL FIELD ZERO T4C08160 0246 70FA 821 | MDX SF290 GO CHECK NEXT WORD T4C08170 822 | * T4C08180 0247 7024 823 | MDX SF320 GO STORE ZEROES T4C08190 824 | * T4C08200 825 | * T4C08210 0248 C0E9 826 | SF295 LD SF941 LOAD EXPONENT T4C08220 0249 D37D 827 | STO 3 125 TO NORMALIZE T4C08230 828 | * T4C08240 024A C100 829 | LD 1 SF986-X GET CNT OF DIGITS T4C08250 830 | * T4C08260 024B 74FF 0136R 831 | MDX L SF976,-1 SKIP IF E OR F FORMAT T4C08270 024D 7003 832 | MDX SF300 BRANCH IF I FORMAT T4C08280 833 | * T4C08290 024E 7401 0133R 834 | MDX L SF973,+1 WAS DECML PT FOUND T4C08300 0250 C111 835 | LD 1 SF982-X NO, SET DECIMAL WIDTH T4C08310 836 | * T4C08320 0251 7401 0131R 837 | SF300 MDX L SF971,+1 WAS E ENCOUNTERED T4C08330 0253 7006 838 | MDX SF305 NO, GO NORMALIZE T4C08340 839 | * T4C08350 0254 8102 840 | A 1 SF972-X YES, ADD EXPONENT VALUE T4C08360 841 | * T4C08370 0255 7400 0134R 842 | MDX L SF974,0 IS EXPONENT POSITIVE T4C08380 0257 7002 843 | MDX SF305 NO, GO NORMALIZE T4C08390 844 | * T4C08400 0258 9102 845 | S 1 SF972-X YES, SUBTRACT EXPONENT T4C08410 0259 9102 846 | S 1 SF972-X FROM DIGITS FOLLOWING T4C08420 025A D100 847 | SF305 STO 1 SF986-X DECIMAL POINT T4C08430 848 | * T4C08440 025B 4400 03DER 849 | SF310 BSI L SF600 GO NORMALIZE NUMBER T4C08450 850 | * T4C08460 025D C100 851 | LD 1 SF986-X IS COUNT MUNUS T4C08470 025E 4C28 039CR 852 | BSC L SF555,+Z BRANCH IF YES T4C08480 853 | * T4C08490 0260 4C20 03A1R 854 | BSC L SF560,Z BRANCH IF PLUS T4C08500 855 | * T4C08510 0262 C908 856 | LDD 1 SF977-3-X LOAD NAME T4C08520 0263 1881 857 | SRT 1 UNNORMALIZE NUMBER ONE T4C08530 0264 1001 858 | SLA 1 POSITION TO CLEAR SIGN T4C08540 0265 1801 859 | SRA 1 AND STORE IN T4C08550 0266 DB7E 860 | STD 3 126 FLOATING POINT ACCUMULATOR T4C08560 861 | * T4C08570 0267 7401 0135R 862 | MDX L SF975,+1 IS MANTISSA NEGATIVE T4C08580 0269 7003 863 | MDX *+3 BRANCH IF NOT T4C08590 864 | * T4C08600 026A 10A0 865 | SLT 32 COMPLEMENT NUMBER AND T4C08610 026B 9B7E 866 | SD 3 126 PUT BACK IN T4C08620 026C DB7E 867 | SF320 STD 3 126 FLOATING PT ACCUMULATOR T4C08630 026D C115 868 | LD 1 SF999-X GET TOO LARGE INDIC. 2-2 T4C08640 026E 4820 869 | BSC Z SKIP IF O-K 2-2 T4C08650 026F 7002 870 | MDX *+2 BRANCH IF TOO LARGE 2-2 T4C08660 871 | * T4C08670 0270 C37D 872 | LD 3 125 IS EXPONENT GREATER T4C08680 0271 1888 873 | SRT 8 THAN 256 OR LESS T4C08690 0272 6204 874 | LDX 2 4 THAN ZERO T4C08700 0273 4C20 02B5R 875 | BSC L SF385,Z ERRO IF YES T4C08710 876 | * T4C08720 0275 7400 015DR 877 | SF330 MDX L SF920,0 IS DATA REAL T4C08730 0277 700C 878 | MDX SF350 BRANCH IF NOT T4C08740 879 | * T4C08750 0278 0000 880 | SF335 DC *-* FLOATING STORE T4C08760 0279 0000 881 | DC *-* * T4C08770 882 | * T4C08780 027A 6680 015DR 883 | SF340 LDX I2 SF920 DECREMENT LIST ADDRESS T4C08790 027C C9F4 884 | LDD 1 SF993-X BY AMOUNT REQUIRED T4C08800 027D 9E00 015ER 885 | SD L2 SF922 BY TYPE OF DATA T4C08810 027F D9F4 886 | STD 1 SF993-X AND LOWER COUNT BY ONE T4C08820 887 | * T4C08830 0280 7401 0126R 888 | SF345 MDX L SF995,+1 MOVE FORMAT POINTER T4C08840 0282 4C00 00A7R 889 | BSC L SF100 RESUME FORMAT SCAN T4C08850 890 | * T4C08860 0284 0918*99C0 891 | SF350 LIBF IFIX MAKE NUMBER FIXED POINT T4C08870 892 | * T4C08880 0285 D480 0124R 893 | STO I SF993 STORE IN LIST T4C08890 0287 70F2 894 | MDX SF340 DECR LIST ADDR AND CNT T4C08900 895 | * T4C08910 896 | * T4C08920 0288 C480 0124R 897 | SF355 LD I SF993 LOAD NUMBER T4C08930 028A 064D*6063 898 | LIBF FLOAT MAKE NUMBER FLOATING PT T4C08940 028B 7060 899 | MDX SF440 CONVERT TO DECIMAL T4C08950 900 | * T4C08960 901 | * T4C08970 028C C1F4 902 | SF360 LD 1 SF993-X SET UP CALLS TO T4C08980 028D D0EB 903 | STO SF335+1 FLOATING STORE AND T4C08990 028E D05C 904 | STO SF435+1 FLOATING LOAD T4C09000 905 | * T4C09010 028F 7400 0004R 906 | MDX L SF005+1,0 SKIP IF READ T4C09020 0291 7055 907 | MDX SF430 BRANCH IF WRITE T4C09030 908 | * T4C09040 0292 1010 909 | SLA 16 SET EXPONENT T4C09050 0293 D37D 910 | STO 3 125 TO ZERO T4C09060 0294 D115 911 | STO 1 SF999-X INITIALIZE TOO LARGE SW2-2 T4C09070 912 | * T4C09080 0295 C480 0127R 913 | SF365 LD I SF996 GET CHAR FROM BUFFER T4C09090 914 | * T4C09100 0297 7401 0127R 915 | MDX L SF996,+1 INCR BUFFER POINTER T4C09110 916 | * T4C09120 0299 806F 917 | A SF951 IS CHAR ZERO T4C09130 029A 4C18 021BR 918 | BSC L SF265,+- BRANCH IF YES T4C09140 919 | * T4C09150 029C 4C02 01F3R 920 | BSC L SF235,C BRANCH IF 1-9 T4C09160 921 | * T4C09170 029E 8069 922 | A SF950 IS IT E T4C09180 029F 4C18 0202R 923 | BSC L SF250,+- BRANCH IF YES T4C09190 924 | * T4C09200 02A1 8065 925 | A SF949 IS IT MINUS T4C09210 02A2 4C18 020CR 926 | BSC L SF255,+- BRANCH IF YES T4C09220 927 | * T4C09230 02A4 8061 928 | A SF948 IS IT AMPERSAND T4C09240 02A5 4820 929 | BSC Z SKIP IF YES T4C09250 930 | * T4C09260 02A6 805E 931 | A SF947 IS IT PLUS T4C09270 02A7 4C18 020DR 932 | BSC L SF260,+- BRANCH IF YES T4C09280 933 | * T4C09290 02A9 805A 934 | A SF946 IS IT DECIMAL POINT T4C09300 02AA 4C18 0234R 935 | BSC L SF275,+- BRANCH IF YES T4C09310 936 | * T4C09320 02AC 4C10 02B4R 937 | BSC L SF380,- BRANCH IF INVALID CHAR T4C09330 938 | * T4C09340 02AE C10F 939 | LD 1 SF980-X WAS A VALID CHAR FOUND T4C09350 02AF 4C08 023DR 940 | BSC L SF285+2,+ BRANCH IF NOT T4C09360 941 | * T4C09370 02B1 1010 942 | SF370 SLA 16 BLANK CHARACTER T4C09380 02B2 70E7 943 | MDX SF365+5 TREAT AS ZERO T4C09390 944 | * T4C09400 945 | * T4C09410 02B3 0000 946 | SF375 DC *-* STORE DISPLAY CODE HERE 2-6 T4C09415 947 | * T4C09420 02B4 6203 948 | SF380 LDX 2 3 LOAD XR2 WITH F003 T4C09430 949 | * T4C09440 950 | * T4C09450 951 | * ERROR HANDLING ROUTINE T4C09460 952 | * T4C09470 02B5 C400 0002 953 | SF385 LD L 2 SET UP ERROR DISPLAY XR2 T4C09480 02B7 E84B 954 | OR SF945 OF F00N T4C09490 02B8 D0FA 955 | STO SF375 STORE TEMPORARY 2-6 T4C09495 956 | * T4C09500 02B9 1706*4885 957 | LIBF PAUSE HALT WITH 2-6 T4C09510 02BA 02B3R 958 | DC SF375 *ERROR DISPLAY 2-6 T4C09515 959 | * T4C09520 960 | * T4C09530 02BB 4E80 02BDR 961 | BSC I2 ETAB BR TO ERROR ROUTINE T4C09540 962 | * T4C09550 963 | * ERROR ROUTINE TABLE T4C09560 964 | * T4C09570 02BD 0038 965 | ETAB DC $EXIT ERROR F000 T4C09580 02BE 02C7R 966 | DC SF390 ERROR F001 T4C09590 02BF 02CFR 967 | DC SF395 ERROR F002 T4C09600 02C0 02DCR 968 | DC SF410 ERROR F003 T4C09610 02C1 02E3R 969 | DC SF415 ERROR F004 T4C09620 02C2 02DCR 970 | DC SF410 ERROR F005 T4C09630 02C3 02DCR 971 | DC SF410 ERROR F006 T4C09640 02C4 02DCR 972 | DC SF410 ERROR F007 T4C09650 02C5 02C7R 973 | DC SF390 ERROR F008 T4C09660 02C6 028CR 974 | DC SF360 ERROR F009 T4C09670 975 | * T4C09680 02C7 7401 0078R 976 | SF390 MDX L SF915,1 SET F001 SWITCH T4C09690 977 | * T4C09700 02C9 C400 0004R 978 | LD L SF005+1 IS IT READ T4C09710 02CB 4418 0079R 979 | BSI L SF070,+- YES, CLEAR BUFFER T4C09720 980 | * T4C09730 02CD 4C80 00C5R 981 | BSC I SF110+1 NO, EXIT TO CALLER T4C09740 982 | * T4C09750 983 | * T4C09760 02CF C106 984 | SF395 LD 1 SF976-X YES, IS IT FORMAT T4C09770 02D0 9033 985 | S SF946 TYPE I, E, F OR A T4C09780 02D1 4C08 027AR 986 | BSC L SF340,+ IF YES, BRANCH TO UPDATE T4C09790 987 | * T4C09800 02D3 9031 988 | S SF947 NO, IS FORMAT H TYPE T4C09810 02D4 4C20 0280R 989 | SF400 BSC L SF345,Z IF NO, BRANCH TO UPDATE T4C09820 990 | * T4C09830 02D6 C110 991 | LD 1 SF981-X YES, INCREMENT FIELD T4C09840 02D7 9114 992 | S 1 SF985-X WIDTH BY ONE T4C09850 02D8 1881 993 | SRT 1 DIVIDE BY TWO T4C09860 02D9 81F6 994 | A 1 SF995-X ADD FORMAT POINTER T4C09870 02DA D1F6 995 | STO 1 SF995-X STORE UPDATED FORMAT PT T4C09880 02DB 70F8 996 | MDX SF400 BR TO UPDATE FMT PT T4C09890 997 | * T4C09900 02DC 74FF 0140R 998 | SF410 MDX L SF981,-1 DECREASE FIELD T4C09910 02DE 7001 999 | MDX *+1 WIDTH BY ONE T4C09920 02DF 7003 1000 | MDX SF415 BR IF WIDTH EXHAUSTED T4C09930 1001 | * T4C09940 02E0 C1F7 1002 | LD 1 SF996-X UPDATE BUFFER POINTER T4C09950 02E1 8110 1003 | A 1 SF981-X BY WW CHARACTERS T4C09960 02E2 D1F7 1004 | STO 1 SF996-X FOR NEXT FORMAT T4C09970 1005 | * T4C09980 02E3 10A0 1006 | SF415 SLT 32 CLEAR ACC AND EXTENSION T4C09990 02E4 D37D 1007 | STO 3 125 ZERO FAC EXPONENT T4C10000 02E5 D115 1008 | STO 1 SF999-X INITIALIZE TOO LARGE SW2-2 T4C10010 02E6 7085 1009 | MDX SF320 GO STORE ZERO IN MANTISSA T4C10020 1010 | * T4C10030 1011 | * T4C10040 02E7 7400 015DR 1012 | SF430 MDX L SF920,0 SKIP IF REAL T4C10050 02E9 709E 1013 | MDX SF355 BRANCH IF INTEGER T4C10060 1014 | * T4C10070 02EA 0000 1015 | SF435 DC *-* FLOATING LOAD T4C10080 02EB 0000 1016 | DC *-* * T4C10090 1017 | * T4C10100 02EC C110 1018 | SF440 LD 1 SF981-X LOAD TOTAL FIELD WIDTH T4C10110 02ED 9112 1019 | S 1 SF983-X SUBTRACT CTR T4C10120 02EE 9111 1020 | S 1 SF982-X SUBTRACT DECIMAL WIDTH T4C10130 02EF D112 1021 | STO 1 SF983-X SAVE WIDTH T4C10140 1022 | * T4C10150 02F0 6680 015ER 1023 | LDX I2 SF922 LOAD XR2 WITH PRECISION T4C10160 1024 | * T4C10170 02F2 C37D 1025 | LD 3 125 CLEAR EBC BLANKS T4C10180 02F3 E018 1026 | AND SF958 TO AVOID LONG 2-4 T4C10190 1027 | * NORMALIZING LOOP 2-4 T4C10200 02F4 D37D 1028 | STO 3 125 ON TRACE OF A TYPE T4C10210 1029 | * T4C10220 02F5 C014 1030 | LD SF952 SET MANTISSA AND T4C10230 02F6 D1F1 1031 | STO 1 SF990-X EXPONENT TO T4C10240 02F7 D105 1032 | STO 1 SF975-X POSITIVE T4C10250 1033 | * T4C10260 02F8 10A0 1034 | SLT 32 T4C10270 02F9 D90A 1035 | STD 1 SF977-1-X ZERO CONVERT FIELD T4C10280 1036 | * T4C10290 02FA CB7E 1037 | LDD 3 126 LOAD FAC T4C10300 02FB 4C30 0311R 1038 | BSC L SF455,-Z BRANCH IF POSITIVE T4C10310 1039 | * T4C10320 02FD 4C20 030DR 1040 | BSC L SF450,Z BRANCH IF NEGATIVE T4C10330 1041 | * T4C10340 02FF D103 1042 | STO 1 SF973-X CLEAR DECIMAL PT SW T4C10350 1043 | * T4C10360 0300 C80A 1044 | LDD SF956 ZERO OUT EXPONENT T4C10370 0301 D9F2 1045 | STD 1 SF991-X IF MANTISSA IS ZERO T4C10380 1046 | * T4C10390 0302 7049 1047 | MDX SF490 GO OUTPUT T4C10400 1048 | * T4C10410 1049 | * T4C10420 1050 | * CONSTANTS T4C10430 0303 F000 1051 | SF945 DC /F000 ERROR WORD T4C10440 0304 0003 1052 | SF946 DC /0003 DECIMAL POINT T4C10450 0305 0002 1053 | SF947 DC 2 USEFUL CONSTANT T4C10460 0306 0010 1054 | SF948 DC /0010 PLUS T4C10470 0307 0065 1055 | SF949 DC /0065 MINUS T4C10480 0308 002B 1056 | SF950 DC /002B E T4C10490 0309 FF10 1057 | SF951 DC /FF10 USED FOR NUMERIC T4C10500 030A 1058 | BSS E 0 TO MAKE SURE THAT THE 2-4 T4C10502 1059 | * SECOND CONST AFTER THIS COMES ON ODD 2-4 T4C10504 030A 0040 1060 | SF952 DC /0040 BLANK T4C10510 030B 00F0 1061 | SF956 DC /00F0 CONST FOR EBC NUM 2-4 T4C10512 1062 | * (MUST BE AT ODD LOC) 2-4 T4C10514 030BR 1063 | SF957 EQU SF956 SAME AS ABOVE 2-4 T4C10516 030C 00FF 1064 | SF958 DC /00FF MASK FOR LEFT HALF 2-4 T4C10518 1065 | * T4C10520 1066 | * T4C10530 030D 10A0 1067 | SF450 SLT 32 CLEAR ACC AND EXTENSION T4C10540 030E 9B7E 1068 | SD 3 126 SET NEGATIVE FAC POSITIVE T4C10550 1069 | * T4C10560 030F 7420 0135R 1070 | MDX L SF975,+32 SET MANTISSA SIGN NEGATIVE T4C10570 1071 | * T4C10580 0311 1081 1072 | SF455 SLT 1 LEFT JUSTIFY NUMBER T4C10590 0312 D908 1073 | STD 1 SF977-3-X AND STORE IN WORK AREA T4C10600 1074 | * T4C10610 0313 7400 015DR 1075 | MDX L SF920,0 SKIP IF REAL T4C10620 0315 7007 1076 | MDX SF465 BRANCH IF INTEGER T4C10630 1077 | * T4C10640 0316 C600 0398R 1078 | LD L2 SF962-2 LOAD NUMBER T4C10650 0318 188F 1079 | SRT 15 SHIFT RIGHT T4C10660 1080 | * T4C10670 0319 8908 1081 | AD 1 SF977-3-X ADD CONVERSION NUMBER T4C10680 031A 4802 1082 | BSC C SKIP IF NO CARRY T4C10690 031B 7003 1083 | MDX *+3 BRANCH IF CARRY T4C10700 031C D908 1084 | SF460 STD 1 SF977-3-X STORE NUMBER T4C10710 1085 | * T4C10720 031D C37D 1086 | SF465 LD 3 125 LOAD EXPONENT T4C10730 031E 7007 1087 | MDX SF466 GO STORE NUMBER T4C10740 1088 | * T4C10750 031F 1881 1089 | SRT 1 SHIFT DATA RIGHT T4C10760 0320 EC00 0410R 1090 | OR L SF968 STORE NUMBER T4C10770 0322 D908 1091 | STD 1 SF977-3-X LOAD EXPONENT T4C10780 1092 | * T4C10790 0323 C37D 1093 | LD 3 125 T4C10800 0324 9114 1094 | S 1 SF985-X INCREMENT BY ONE T4C10810 0325 D37D 1095 | STO 3 125 STORE EXPONENT T4C10820 1096 | * T4C10830 0326 9071 1097 | SF466 S SF960 FIND TYPE OF DATA T4C10840 0327 4C28 038FR 1098 | BSC L SF550,+Z BRANCH IF FRACTION T4C10850 1099 | * T4C10860 0329 4C08 0335R 1100 | BSC L SF475,+ BRANCH IF PART INTEGER T4C10870 1101 | * T4C10880 032B 4400 03BAR 1102 | SF470 BSI L SF580 GO DIVIDE BY TEN T4C10890 1103 | * T4C10900 032D 4400 03DER 1104 | BSI L SF600 GO NORMALIZE NUMBER T4C10910 1105 | * T4C10920 032F 7401 0133R 1106 | MDX L SF973,1 UP COUNT OF DIVIDES T4C10930 0331 1000 1107 | NOP T4C10940 1108 | * T4C10950 0332 C37D 1109 | LD 3 125 CHECK EXPONENT AND T4C10960 0333 9064 1110 | S SF960 LOOP UNTIL IT GETS T4C10970 0334 70F4 1111 | MDX SF470-2 TO 128 T4C10980 1112 | * T4C10990 0335 7400 0136R 1113 | SF475 MDX L SF976,0 IS IT TYPE E T4C11000 0337 700D 1114 | MDX SF485 BRANCH IF NOT T4C11010 1115 | * T4C11020 0338 C103 1116 | LD 1 SF973-X LOAD COUNT OF DIVIDES T4C11030 0339 4C10 033FR 1117 | BSC L SF480,- BRANCH IF POSITIVE T4C11040 1118 | * T4C11050 033B 7420 0121R 1119 | MDX L SF990,+32 PUT OUT MINUS SIGN T4C11060 1120 | * T4C11070 033D 1010 1121 | SLA 16 GET COMPLEMENT T4C11080 033E 9103 1122 | S 1 SF973-X OF DIVIDE COUNT (EXPONENT) T4C11090 1123 | * T4C11100 033F 18D0 1124 | SF480 RTE 16 POSITION COUNT T4C11110 0340 1010 1125 | SLA 16 FOR DIVIDE T4C11120 1126 | * T4C11130 0341 D103 1127 | STO 1 SF973-X CLEAR DIVIDE COUNT T4C11140 1128 | * T4C11150 0342 A864 1129 | D SF966 CONVERT TO TWO T4C11160 0343 88C7 1130 | AD SF956 DIGIT EBC NUMBER T4C11170 1131 | * T4C11180 0344 D9F2 1132 | STD 1 SF991-X STORE EBC NUMBER T4C11190 1133 | * T4C11200 0345 2003 1134 | SF485 LDS 3 SET SWITCH FOR RETURN T4C11210 1135 | * T4C11220 0346 C37D 1136 | LD 3 125 LOAD EXPONENT T4C11230 0347 9050 1137 | S SF960 DETERMINE TYPE NORMALIZE T4C11240 0348 4C28 03E3R 1138 | BSC L SF605,+Z BRANCH IF RIGHT NORMALIZE T4C11250 1139 | * T4C11260 034A 4C20 0404R 1140 | BSC L SF625,Z BRANCH IF LEFT NORMALIZE T4C11270 1141 | * T4C11280 034C C103 1142 | SF490 LD 1 SF973-X IS NUMBER A ZERO T4C11290 034D 4C08 0413R 1143 | BSC L SF635,+ BRANCH IF YES T4C11300 1144 | * T4C11310 034F C106 1145 | LD 1 SF976-X LOAD TYPE T4C11320 0350 9055 1146 | S SF963 IS THIS F TYPE T4C11330 0351 4820 1147 | BSC Z SKIP IF YES T4C11340 0352 7003 1148 | MDX SF495 BRANCH IF NOT T4C11350 1149 | * T4C11360 0353 7401 0142R 1150 | MDX L SF983,1 OUTPUT ONE MORE CHAR T4C11370 0355 1000 1151 | NOP T4C11380 1152 | * T4C11390 0356 C112 1153 | SF495 LD 1 SF983-X AR NUMBER OF DIGITS T4C11400 0357 9103 1154 | S 1 SF973-X GREATER THAN NO. ALLOWED T4C11410 0358 4C28 03D2R 1155 | BSC L SF590,+Z BRANCH TO ERROR IF YES T4C11420 1156 | * T4C11430 035A 81F7 1157 | A 1 SF996-X INCREMENT BUFFER ADDR BY T4C11440 035B D1F7 1158 | STO 1 SF996-X APPROPRIATE NO. OF WORDS T4C11450 1159 | * T4C11460 035C C105 1160 | SF500 LD 1 SF975-X LOAD SIGN OF MANTISSA T4C11470 1161 | * T4C11480 035D 402A 1162 | BSI SF545 OUTPUT SIGN T4C11490 1163 | * T4C11500 035E C12D 1164 | LD 1 SF920-X LOAD REAL/INTEGER SW T4C11510 035F 4C18 0363R 1165 | BSC L SF505,+- BRANCH IF REAL T4C11520 1166 | * T4C11530 0361 C114 1167 | LD 1 SF985-X T4C11540 0362 D10B 1168 | STO 1 SF977-X T4C11550 1169 | * T4C11560 0363 C103 1170 | SF505 LD 1 SF973-X BRANCH IF DIVIDE T4C11570 0364 4C08 0385R 1171 | BSC L SF540,+ COUNT IS ZERO T4C11580 1172 | * T4C11590 0366 1010 1173 | SF510 SLA 16 ZERO OUT FIFTH WORD T4C11600 0367 D107 1174 | STO 1 SF977-4-X OF WORK AREA T4C11610 1175 | * T4C11620 0368 4040 1176 | BSI SF570 GO MULTIPLY BY TEN AND T4C11630 1177 | * T4C11640 0369 E8A1 1178 | OR SF957 CONVERT OT EBC CHARACTER T4C11650 1179 | * T4C11660 036A 401D 1180 | BSI SF545 OUTPUT DIGIT T4C11670 1181 | * T4C11680 036B 74FF 0133R 1182 | MDX L SF973,-1 STAY IN LOOP UNTIL ALL T4C11690 036D 70F8 1183 | MDX SF510 CHARACTERS OUTPUTTED T4C11700 1184 | * T4C11710 036E C111 1185 | SF515 LD 1 SF982-X LOAD DECIMAL WIDTH T4C11720 036F 4828 1186 | BSC +Z SKIP IF E OR F TYPE T4C11730 0370 7009 1187 | MDX SF525 EXIT IF I TYPE T4C11740 1188 | * T4C11750 0371 C027 1189 | LD SF961 LOAD DECIMAL POINT T4C11760 1190 | * T4C11770 0372 4015 1191 | BSI SF545 OUTPUT CHARACTER T4C11780 1192 | * T4C11790 0373 C111 1193 | LD 1 SF982-X IS DECIMAL WIDTH ZERO T4C11800 0374 4C08 037AR 1194 | BSC L SF525,+ BRANCH IF YES T4C11810 1195 | * T4C11820 0376 D103 1196 | SF520 STO 1 SF973-X SET UP TO OUTPUT FRACTION T4C11830 1197 | * T4C11840 0377 C114 1198 | LD 1 SF985-X FORCE EXIT T4C11850 0378 D111 1199 | STO 1 SF982-X AT BIN23 T4C11860 0379 70EC 1200 | MDX SF510 GO OUTPUT CHARACTERS T4C11870 1201 | * T4C11880 1202 | * T4C11890 1203 | * T4C11960 037A 7400 0136R 1204 | SF525 MDX L SF976,0 SKIP IF TYPE E T4C11970 037C 7006 1205 | MDX SF535 EXIT IF OTHER T4C11980 1206 | * T4C11990 037D 62FC 1207 | LDX 2 -4 SET COUNTER TO T4C12000 037E C600 0124R 1208 | SF530 LD L2 SF918+4 OUTPUT E, SIGN, AND T4C12010 0380 4007 1209 | BSI SF545 TWO DIGIT EXPONENT T4C12020 1210 | * T4C12030 0381 7201 1211 | MDX 2 1 CONTINUE UNTIL T4C12040 0382 70FB 1212 | MDX SF530 ALL OUTPUTTED T4C12050 1213 | * T4C12060 0383 4C00 027AR 1214 | SF535 BSC L SF340 GET NEXT CHAR T4C12070 1215 | * T4C12080 1216 | * T4C12090 0385 C085 1217 | SF540 LD SF957 LOAD EBC ZERO T4C12100 0386 4001 1218 | BSI SF545 OUTPUT CHARACTER T4C12110 0387 70E6 1219 | MDX SF515 CONTINUE CHECK T4C12120 1220 | * T4C12130 1221 | * T4C12140 1222 | * OUTPUT STORE SUBROUTINE T4C12150 1223 | * T4C12160 0388 0000 1224 | SF545 DC *-* ENTRY POINT T4C12170 1225 | * T4C12180 0389 D480 0127R 1226 | STO I SF996 STORE CHAR IN BUFFER T4C12190 1227 | * T4C12200 038B 7401 0127R 1228 | MDX L SF996,+1 INCR BUFFER ADDR BY ONE T4C12210 1229 | * T4C12220 038D 4C80 0388R 1230 | BSC I SF545 RETURN T4C12230 1231 | * T4C12240 1232 | * T4C12250 038F 7400 0136R 1233 | SF550 MDX L SF976,0 SKIP IF E TYPE T4C12260 0391 70B3 1234 | MDX SF485 GO NORMALIZE IF OTHER TYPE T4C12270 1235 | * T4C12280 0392 4016 1236 | BSI SF570 GO MULTIPLY BY TEN T4C12290 0393 404A 1237 | BSI SF600 THEN GO NORMALIZE T4C12300 1238 | * T4C12310 0394 74FF 0133R 1239 | MDX L SF973,-1 REDUCE DIVIDE T4C12320 0396 7086 1240 | MDX SF465 COUNT BY ONE T4C12330 1241 | * T4C12340 0397 7085 1242 | MDX SF465 FIND TYPE OF NEXT DIGIT T4C12350 1243 | * T4C12360 1244 | * CONSTANTS T4C12370 1245 | * T4C12380 0398 0080 1246 | SF960 DC 128 USEFUL CONSTANT T4C12390 0399 004B 1247 | SF961 DC /004B DECIMAL POINT T4C12400 039A 0103 1248 | SF962 DC 259 USEFUL CONSTANT T4C12410 039B 0001 1249 | DC 1 USEFUL CONSTANT T4C12420 1250 | * T4C12430 039C 9114 1251 | SF555 S 1 SF985-X ADD ONE TO T4C12440 039D D100 1252 | STO 1 SF986-X FOLDP T4C12450 1253 | * T4C12460 039E 1010 1254 | SLA 16 CLEAR ACCUMULATOR T4C12470 1255 | * T4C12480 039F 4009 1256 | BSI SF570 MULTIPLY NUMBER BY TEN T4C12490 03A0 7003 1257 | MDX *+3 GO NORMALIZE T4C12500 1258 | * T4C12510 03A1 8114 1259 | SF560 A 1 SF985-X SUBTRACT ONE T4C12520 03A2 D100 1260 | STO 1 SF986-X FROM FOLDP T4C12530 1261 | * T4C12540 03A3 4016 1262 | BSI SF580 DIVIDE NUMBER BY TEN T4C12550 1263 | * T4C12560 03A4 4C00 025BR 1264 | BSC L SF310 GO NORMALIZE T4C12570 1265 | * T4C12580 1266 | * T4C12590 1267 | * CONSTANTS T4C12600 1268 | * T4C12610 03A6 0001 1269 | SF963 DC 1 ONE T4C12620 03A7 000A 1270 | SF966 DC 10 TEN T4C12630 03A8 0005 1271 | SF967 DC 5 FIVE T4C12640 1272 | * T4C12650 1273 | * T4C12660 1274 | * MULTIPLY BY 10 SUBROUTINE T4C12670 1275 | * T4C12680 03A9 0000 1276 | SF570 DC *-* ENTRY POINT T4C12690 1277 | * T4C12700 03AA D10D 1278 | STO 1 SF978+1-X SAVE NUMBER T4C12710 03AB 6205 1279 | LDX 2 5 LOAD COUNTER T4C12720 1280 | * T4C12730 03AC C600 0136R 1281 | SF575 LD L2 SF977-5 LOAD ALREADY CONVERTED NO. T4C12740 03AE A0F8 1282 | M SF966 MULTIPLY BY TEN T4C12750 03AF 4828 1283 | BSC +Z SKIP IF NEGATIVE T4C12760 1284 | * T4C12770 03B0 80F6 1285 | A SF966 ADD TEN T4C12780 1286 | * T4C12790 03B1 890C 1287 | AD 1 SF978-X ADD PRESENT DIGIT T4C12800 03B2 D10D 1288 | STO 1 SF978+1-X CLEAR WORD T4C12810 1289 | * T4C12820 03B3 1090 1290 | SLT 16 CLEAR ACC T4C12830 03B4 D600 0136R 1291 | STO L2 SF977-5 SAVE CONVERTED WORD T4C12840 1292 | * T4C12850 03B6 72FF 1293 | MDX 2 -1 DECREMENT COUNTER T4C12860 03B7 70F4 1294 | MDX SF575 CONTINUE CONVERSION T4C12870 1295 | * T4C12880 03B8 4C80 03A9R 1296 | BSC I SF570 RETURN T4C12890 1297 | * T4C12900 1298 | * T4C12910 1299 | * DIVIDE BY 10 SUBROUTINE T4C12920 1300 | * T4C12930 03BA 0000 1301 | SF580 DC *-* ENTRY POINT T4C12940 1302 | * T4C12950 03BB 62FC 1303 | LDX 2 -4 LOAD COUNTER T4C12960 1304 | * T4C12970 03BC 10A0 1305 | SLT 32 CLEAR ACC AND EXTENSION T4C12980 1306 | * T4C12990 03BD C600 013CR 1307 | SF585 LD L2 SF977+1 LOAD NUMBER T4C13000 03BF 18D0 1308 | RTE 16 PUT IN EXTENSION T4C13010 1309 | * T4C13020 03C0 6101 1310 | LDX 1 1 INITIALIZE SWITCH T4C13030 1311 | * T4C13040 03C1 90E6 1312 | S SF967 SUBTRACT FIVE T4C13050 03C2 4810 1313 | BSC - SKIP IF NEGATIVE T4C13060 1314 | * T4C13070 03C3 71FE 1315 | MDX 1 -2 TEST SWITCH T4C13080 1316 | * T4C13090 03C4 80E3 1317 | A SF967 RESTORE NUMBER T4C13100 1318 | * T4C13110 03C5 A8E1 1319 | D SF966 DIVIDE BY TEN T4C13120 1320 | * T4C13130 03C6 71FE 1321 | MDX 1 -2 TEST SWITCH T4C13140 1322 | * T4C13150 03C7 8048 1323 | A SF968 SET BIT T4C13160 1324 | * T4C13170 03C8 D600 013CR 1325 | STO L2 SF977+1 STORE NUMBER T4C13180 1326 | * T4C13190 03CA 7201 1327 | MDX 2 1 MODIFY COUNTER T4C13200 03CB 70F1 1328 | MDX SF585 CONTINUE LOOP T4C13210 1329 | * T4C13220 03CC 6500 0130R 1330 | LDX L1 X RESET TRANSFER VECTOR T4C13230 03CE 9114 1331 | S 1 SF985-X ADD ONE 2-4 T4C13232 03CF D10B 1332 | STO 1 SF977-X STORE BACK 2-4 T4C13234 03D0 4C80 03BAR 1333 | BSC I SF580 RETURN T4C13240 1334 | * T4C13250 1335 | * T4C13260 03D2 74C0 0135R 1336 | SF590 MDX L SF975,-64 IS SIGN PLUS T4C13270 03D4 7003 1337 | MDX SF595 BRANCH IF NO T4C13280 03D5 9114 1338 | S 1 SF985-X CHECK IF WIDTH OK IF NO T4C13290 03D6 4C18 035ER 1339 | BSC L SF500+2,+- IF YES, OUTPUT NUMBER T4C13300 1340 | * T4C13310 03D8 C038 1341 | SF595 LD SF969 LOAD ASTERISK T4C13320 1342 | * T4C13330 03D9 40AE 1343 | BSI SF545 OUTPUT ASTERISKS T4C13340 03DA 74FF 0140R 1344 | MDX L SF981,-1 UNTIL FIELD WIDTH T4C13350 03DC 70FB 1345 | MDX SF595 EXHAUSTED T4C13360 1346 | * T4C13370 03DD 70A5 1347 | MDX SF535 RETURN T4C13380 1348 | * T4C13390 1349 | * T4C13400 1350 | * NORMALIZE SUBROUTINE T4C13410 1351 | * T4C13420 03DE 0000 1352 | SF600 DC *-* ENTRY POINT T4C13430 1353 | * T4C13440 03DF 2000 1354 | LDS 0 SET STATUS FOR RETURN T4C13450 1355 | * T4C13460 03E0 C107 1356 | LD 1 SF977-4-X IS LEFT MOST WORD ZERO T4C13470 03E1 4C18 03F3R 1357 | BSC L SF620,+- BRANCH IF YES T4C13480 1358 | * T4C13490 03E3 62FB 1359 | SF605 LDX 2 -5 NORMALIZE RIGHT T4C13500 1360 | * T4C13510 03E4 10A0 1361 | SLT 32 CLEAR ACC AND EXTENSION T4C13520 03E5 C600 013CR 1362 | SF610 LD L2 SF977+1 LOAD WORD T4C13530 03E7 18C1 1363 | RTE 1 SHIFT CHARACTERS RIGHT ONE T4C13540 03E8 D600 013CR 1364 | STO L2 SF977+1 POSITION AND STORE T4C13550 1365 | * T4C13560 03EA 18CF 1366 | RTE 15 GET ENTIRE WD IN EXTENSION T4C13570 1367 | * T4C13580 03EB 7201 1368 | MDX 2 1 INCREMENT COUNTER T4C13590 03EC 70F8 1369 | MDX SF610 CONTINUE NORMALIZATION T4C13600 1370 | * T4C13610 03ED C0B8 1371 | LD SF963 LOAD ONE T4C13620 03EE 837D 1372 | SF615 A 3 125 ADD TO EXPONENT T4C13630 03EF D37D 1373 | STO 3 125 STORE T4C13640 1374 | * T4C13650 03F0 4C01 0345R 1375 | BSC L SF485,O RETURN IF OUTPUT T4C13660 1376 | * T4C13670 03F2 70EC 1377 | MDX SF600+1 GO NORMALIZE AGAIN T4C13680 1378 | * T4C13690 03F3 C108 1379 | SF620 LD 1 SF977-3-X WAS NO. ALREADY NORMALIZED T4C13700 03F4 4CA8 03DER 1380 | BSC I SF600,+Z RETURN IF YES T4C13710 1381 | * T4C13720 03F6 4820 1382 | BSC Z SKIP IF ZERO T4C13730 03F7 700C 1383 | MDX SF625 BRANCH IF NOT ALL ZEROS T4C13740 1384 | * T4C13750 03F8 C109 1385 | LD 1 SF977-2-X MOVE CONVERT AREA LEFT T4C13760 03F9 D108 1386 | STO 1 SF977-3-X *BY WORDS T4C13770 03FA C10A 1387 | LD 1 SF977-1-X * T4C13780 03FB D109 1388 | STO 1 SF977-2-X * T4C13790 03FC C10B 1389 | LD 1 SF977-X * T4C13800 03FD D10A 1390 | STO 1 SF977-1-X * T4C13810 03FE 1010 1391 | SLA 16 * T4C13820 03FF D10B 1392 | STO 1 SF977-X * T4C13830 1393 | * T4C13840 0400 C37D 1394 | LD 3 125 DECR EXPONENT BY 16 T4C13850 0401 9010 1395 | S SF988 * T4C13860 0402 D37D 1396 | STO 3 125 * T4C13870 1397 | * T4C13880 0403 70EF 1398 | MDX SF620 CONTINUE T4C13890 1399 | * T4C13900 0404 6205 1400 | SF625 LDX 2 5 LOAD COUNTER T4C13910 1401 | * T4C13920 0405 10A0 1402 | SLT 32 CLEAR ACC AND EXTENSION T4C13930 0406 C600 0136R 1403 | SF630 LD L2 SF977-5 LOAD WORD T4C13940 1404 | * T4C13950 0408 18DF 1405 | RTE 31 SHIFT LEFT ONE POSITION T4C13960 0409 D600 0136R 1406 | STO L2 SF977-5 AND STORE T4C13970 1407 | * T4C13980 040B 108F 1408 | SLT 15 SAVE RIGHT MOST BIT T4C13990 1409 | * T4C14000 040C 72FF 1410 | MDX 2 -1 DECREMENT COUNTER T4C14010 040D 70F8 1411 | MDX SF630 CONTINUE LOOP T4C14020 1412 | * T4C14030 040E C114 1413 | LD 1 SF985-X SET UP TO REDUCE T4C14040 040F 70DE 1414 | MDX SF615 EXPONENT BY ONE T4C14050 1415 | * T4C14060 1416 | * T4C14070 1417 | * CONSTANTS T4C14080 1418 | * T4C14090 0410 8000 1419 | SF968 DC /8000 USEFUL CONSTANT T4C14100 0411 005C 1420 | SF969 DC /005C ASTERISK T4C14110 0412 0010 1421 | SF988 DC 16 USEFUL CONSTANT T4C14120 1422 | * T4C14130 1423 | * T4C14140 0413 C111 1424 | SF635 LD 1 SF982-X IS THIS I TYPE T4C14150 0414 4C10 0356R 1425 | SF640 BSC L SF495,- BRANCH IF NO T4C14160 1426 | * T4C14170 0416 40A3 1427 | BSI SF580 SET UP TO OUTPUT T4C14180 0417 C08E 1428 | LD SF963 ONE ZERO T4C14190 0418 D103 1429 | STO 1 SF973-X T4C14200 0419 70FA 1430 | MDX SF640 GO OUTPUT ZERO T4C14210 1431 | * T4C14220 041A 4C30 00C6R 1432 | SF650 BSC L SF112,-Z NO EXIT IF COUNT POS 2-9 T4C14221 041C C400 0004R 1433 | LD L SF005+1 CHECK READ/WRITE IND 2-9 T4C14222 041E 4C20 00C4R 1434 | BSC L SF110,Z BRANCH OUT IF WRITE 2-9 T4C14223 0420 C400 008BR 1435 | LD L SF910+1 RESET 2-9 T4C14224 0422 D400 008DR 1436 | STO L SF914 *T-FORMAT SWITCH 2-9 T4C14225 0424 4C00 00C4R 1437 | BSC L SF110 *AND BRANCH OUT 2-9 T4C14226 1438 | * T4C14230 1439 | * BUFFER SIZE TABLE T4C14240 1440 | * T4C14250 0426 FF88 1441 | SF998 DC -120 TYPEWRITER T4C14260 0427 FFB0 1442 | DC -80 1442 CARD READ/PUNCH T4C14270 0428 FF87 1443 | DC -121 1132 PRINTER T4C14280 0429 FF88 1444 | DC -120 PAPER TAPE T4C14290 042A FF87 1445 | DC -121 1403 PRINTER T4C14300 042B FFB0 1446 | DC -80 KEYBOARD T4C14310 042C FF87 1447 | DC -121 PLOTTER T4C14320 042D FFB0 1448 | DC -80 2501 CARD READER T4C14330 042E FFB0 1449 | DC -80 1442 PUNCH ONLY T4C14340 1450 | * T4C14350 1451 | * T4C14360 1452 | * T4C14370 042F 1453 | BSS 1 WD CNT FOR 2501 T4C14380 1454 | * T4C14390 0430 1455 | SF970 BSS E 121 I/O BUFFER T4C14400 1456 | * T4C14410 1457 | * T4C14420 1458 | * SFIO OVERLAY EQUATES T4C14430 1459 | * T4C14440 0130R 1460 | X EQU SFIO+15 TRANSFER VECTOR T4C14450 0131R 1461 | SF971 EQU X+1 E ENCOUNTERED SWITCH T4C14460 0132R 1462 | SF972 EQU X+2 EXPONENT T4C14470 0133R 1463 | SF973 EQU X+3 NUMBER OF DIVIDES T4C14480 0134R 1464 | SF974 EQU X+4 EXPONENT SIGN T4C14490 0135R 1465 | SF975 EQU X+5 MANTISSA SIGN T4C14500 0136R 1466 | SF976 EQU X+6 FORMAT TYPE T4C14510 013BR 1467 | SF977 EQU X+11 CONVERT WORK FIELD T4C14520 013CR 1468 | SF978 EQU X+12 DIGIT WORK FIELD T4C14530 013ER 1469 | SF979 EQU X+14 NUMBER OF DIGITS T4C14540 013FR 1470 | SF980 EQU X+15 NUMBER OF VALID CHARS T4C14550 0140R 1471 | SF981 EQU X+16 TOTAL FIELD WIDTH T4C14560 0141R 1472 | SF982 EQU X+17 DECIMAL FIELD WIDTH T4C14570 0142R 1473 | SF983 EQU X+18 TEMPORARY STORAGE T4C14580 0143R 1474 | SF984 EQU X+19 SIGN OF NUMBER T4C14590 0144R 1475 | SF985 EQU X+20 MINUS ONE T4C14600 0145R 1476 | SF999 EQU X+21 EXPONENT TOO LARGE SW 2-2 T4C14610 0130R 1477 | SF986 EQU X DIGITS AFTER DECIMAL PT T4C14620 013FR 1478 | SF987 EQU SF980 LEFT/RIGHT HALF SWITCH T4C14630 0121R 1479 | SF990 EQU SFIO SIGN OF NUMBER T4C14640 0122R 1480 | SF991 EQU SFIO+1 EXPONENT T4C14650 0124R 1481 | SF993 EQU SFIO+3 ADDRESS OF ELEMENT T4C14660 0125R 1482 | SF994 EQU SFIO+4 ITEM COUNTER T4C14670 0126R 1483 | SF995 EQU SFIO+5 FORMAT POINTER T4C14680 0127R 1484 | SF996 EQU SFIO+6 BUFFER POINTER T4C14690 012FR 1485 | SF997 EQU SFIO+14 MINUS ONE T4C14700 1486 | * T4C14710 04A9 1487 | END SFIO758 T4C14720 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $EXIT 0038 87 965 $PRET 0028 89 $RWCZ 00F1 92 500 ETAB 02BDR 965 961 H0016 011ER 457 464 SCOMP 00E4R 378 SF005 0003R 99 109 146 174 196 203 207 495 617 661 694 906 978 1433 SF010 0014R 121 110 498 SF015 0025R 136 251 SF020 0033R 152 270 SF025 0038R 158 154 SF030 003ER 163 156 SF035 0040R 166 469 SF040 004CR 178 300 381 385 SF045 004DR 180 SF047 0055R 186 183 SF048 0057R 188 181 SF050 0065R 205 139 152 167 SF055 0069R 210 194 378 SF060 006BR 212 175 177 178 387 388 SF065 0072R 220 563 SF070 0079R 234 172 199 208 239 240 979 SF075 0087R 250 132 SF080 008ER 266 147 SF085 0093R 272 149 276 SF090 0095R 275 141 144 SF100 00A7R 299 223 588 889 SF105 00C0R 327 122 292 554 SF110 00C4R 330 137 291 294 981 1434 1437 SF112 00C6R 332 1432 SF115 00D3R 351 341 SF120 00DER 366 273 SF122 00F2R 392 541 SF123 00F9R 397 394 SF124 00FBR 399 396 SF125 0154R 507 405 539 SF130 0156R 509 580 SF140 0159R 517 540 SF145 011BR 448 360 SF150 011CR 453 355 SF155 016AR 540 453 SF160 0178R 561 542 SF165 017BR 563 556 SF170 017DR 567 543 SF175 017FR 571 544 SF180 0191R 593 538 655 SF185 01A5R 617 519 644 SF190 01B2R 630 622 SF195 01B8R 637 628 692 SF200 01BFR 644 695 703 710 SF205 01C9R 660 537 SF210 01D4R 676 536 678 SF215 01D8R 680 687 SF220 01DCR 685 618 SF225 01E0R 689 683 SF230 01E4R 694 607 SF235 01F3R 718 768 920 SF240 01FAR 725 774 SF245 01FER 730 755 SF250 0202R 735 732 923 SF255 020CR 750 926 SF260 020DR 752 932 SF265 021BR 767 918 SF270 0225R 779 721 SF275 0234R 801 935 SF280 023AR 807 671 758 804 SF285 023BR 809 728 747 764 771 776 787 791 940 SF290 0241R 816 821 SF295 0248R 826 818 SF300 0251R 837 832 SF305 025AR 847 838 843 SF310 025BR 849 1264 SF320 026CR 867 823 1009 SF330 0275R 877 SF335 0278R 880 494 903 SF340 027AR 883 652 894 986 1214 SF345 0280R 888 509 989 SF350 0284R 891 878 SF355 0288R 897 1013 SF360 028CR 902 668 677 974 SF365 0295R 913 812 943 SF370 02B1R 942 SF375 02B3R 946 955 958 SF380 02B4R 948 937 SF385 02B5R 953 115 170 366 740 807 875 SF390 02C7R 976 966 973 SF395 02CFR 984 967 SF400 02D4R 989 996 SF410 02DCR 998 968 970 971 972 SF415 02E3R 1006 969 1000 SF430 02E7R 1012 907 SF435 02EAR 1015 492 904 SF440 02ECR 1018 899 SF450 030DR 1067 1040 SF455 0311R 1072 1038 SF460 031CR 1084 SF465 031DR 1086 1076 1240 1242 SF466 0326R 1097 1087 SF470 032BR 1102 1111 SF475 0335R 1113 1100 SF480 033FR 1124 1117 SF485 0345R 1134 1114 1234 1375 SF490 034CR 1142 1047 SF495 0356R 1153 1148 1425 SF500 035CR 1160 1339 SF505 0363R 1170 1165 SF510 0366R 1173 1183 1200 SF515 036ER 1185 1219 SF520 0376R 1196 SF525 037AR 1204 1187 1194 SF530 037ER 1208 1212 SF535 0383R 1214 1205 1347 SF540 0385R 1217 1171 SF545 0388R 1224 1162 1180 1191 1209 1218 1230 1343 SF550 038FR 1233 1098 SF555 039CR 1251 852 SF560 03A1R 1259 854 SF570 03A9R 1276 723 1176 1236 1256 1296 SF575 03ACR 1281 1294 SF580 03BAR 1301 1102 1262 1333 1427 SF585 03BDR 1307 1328 SF590 03D2R 1336 1155 SF595 03D8R 1341 1337 1345 SF600 03DER 1352 849 1104 1237 1377 1380 SF605 03E3R 1359 1138 SF610 03E5R 1362 1369 SF615 03EER 1372 1414 SF620 03F3R 1379 1357 1398 SF625 0404R 1400 1140 1383 SF630 0406R 1403 1411 SF635 0413R 1424 1143 SF640 0414R 1425 1430 SF650 041AR 1432 329 SF901 0083R 244 160 189 217 400 SF902 0084R 245 384 SF903 0085R 246 143 SF904 0086R 247 266 269 SF910 008AR 257 153 186 432 1435 SF912 0077R 228 117 250 477 SF913 008CR 259 161 182 185 190 218 357 358 363 395 397 402 SF914 008DR 260 180 184 187 393 398 1436 SF915 0078R 229 112 193 293 976 SF916 0102R 410 285 286 311 401 SF918 0120R 459 1208 SF919 0158R 513 404 SF920 015DR 523 287 445 593 667 676 877 883 1012 1075 1164 SF922 015ER 525 480 482 484 533 600 885 1023 SF926 0162R 529 215 299 380 552 561 SF927 016FR 545 631 SF928 0163R 530 332 SF931 015FR 533 476 638 SF935 01F2R 715 697 SF941 0232R 797 786 826 SF942 0233R 798 782 788 SF945 0303R 1051 954 SF946 0304R 1052 934 985 SF947 0305R 1053 931 988 SF948 0306R 1054 928 SF949 0307R 1055 925 SF950 0308R 1056 922 SF951 0309R 1057 917 SF952 030AR 1060 236 625 1030 SF956 030BR 1061 1044 1063 1130 SF957 030BR 1063 1178 1217 SF958 030CR 1064 1026 SF960 0398R 1246 1097 1110 1137 SF961 0399R 1247 1189 SF962 039AR 1248 1078 SF963 03A6R 1269 1146 1371 1428 SF966 03A7R 1270 1129 1282 1285 1319 SF967 03A8R 1271 1312 1317 SF968 0410R 1419 1090 1323 SF969 0411R 1420 1341 SF970 0430R 1455 201 220 237 513 SF971 0131R 1461 720 738 745 761 770 806 837 SF972 0132R 1462 781 785 790 840 845 846 SF973 0133R 1463 726 773 803 834 1042 1106 1116 1122 1127 1142 1154 1170 1182 1196 1239 1429 SF974 0134R 1464 730 842 SF975 0135R 1465 763 862 1032 1070 1160 1336 SF976 0136R 1466 302 319 320 650 831 984 1113 1145 1204 1233 SF977 013BR 1467 816 856 1035 1073 1081 1084 1091 1168 1174 1281 1291 1307 1325 1332 1356 1362 1364 1379 1385 1386 1387 1388 1389 1390 1392 1403 1406 SF978 013CR 1468 779 784 1278 1287 1288 SF979 013ER 1469 718 742 767 SF980 013FR 1470 754 809 939 1478 SF981 0140R 1471 352 403 448 550 576 604 612 643 811 991 998 1003 1018 1344 SF982 0141R 1472 344 602 605 611 665 700 707 835 1020 1185 1193 1199 1424 SF983 0142R 1473 336 1019 1021 1150 1153 SF984 0143R 1474 731 736 757 760 SF985 0144R 1475 307 312 573 660 744 750 992 1094 1167 1198 1251 1259 1331 1338 1413 SF986 0130R 1477 725 727 829 847 851 1252 1260 SF987 013FR 1478 615 621 637 639 686 SF988 0412R 1421 1395 SF990 0121R 1479 1031 1119 SF991 0122R 1480 1045 1132 SF993 0124R 1481 289 485 606 884 886 893 897 902 SF994 0125R 1482 125 325 553 SF995 0126R 1483 128 315 517 549 551 562 567 582 585 587 654 888 994 995 SF996 0127R 1484 221 507 508 609 610 620 632 641 690 913 915 1002 1004 1157 1158 1226 1228 SF997 012FR 1485 124 303 313 383 571 583 SF998 0426R 1441 159 SF999 0145R 1476 789 868 911 1008 SFIO 0121R 464 114 119 1460 1479 1480 1481 1482 1483 1484 1485 SIOAF 0104R 416 SIOAI 0112R 438 418 SIOF 00E0R 371 SIOFX 0108R 423 SIOI 010CR 430 373 SIOIX 0097R 283 425 433 446 SRED 0005R 106 99 SWRT 0000R 97 UINIT 0153R 503 474 486 V1 0132R 477 473 VSWIT 0122R 465 467 472 489 X 0130R 1460 334 336 344 352 403 448 550 573 576 602 604 605 611 612 615 637 639 650 660 665 725 726 727 730 736 738 742 744 745 750 779 781 784 785 789 790 829 835 840 845 846 847 851 856 868 884 886 902 911 939 984 991 992 994 995 1002 1003 1004 1008 1018 1019 1020 1021 1031 1032 1035 1042 1045 1073 1081 1084 1091 1094 1116 1122 1127 1132 1142 1145 1153 1154 1157 1158 1160 1164 1167 1168 1170 1174 1185 1193 1196 1198 1199 1251 1252 1259 1260 1278 1287 1288 1330 1331 1332 1338 1356 1379 1385 1386 1387 1388 1389 1390 1392 1413 1424 1429 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477