ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:06 2020 Source File: \kforph24.asm 1130 FORTRAN COMPILER PHASE 24 2 | *************************************************** K2400020 3 | * * K2400030 4 | *STATUS- VERSION 2, MODIFICATION 4 * K2400040 5 | * * K2400050 6 | *FUNCTION/OPERATION- * K2400060 7 | * * LIST CORE REQUIREMENTS * K2400070 8 | * * CONVERT CONSTANTS TO DECIMAL AND LIST * K2400080 9 | * CONSTANTS AND THEIR ADDRESSES AT USER'S * K2400090 10 | * REQUEST. REAL CONSTANTS ARE LISTED FIRST, * K2400100 11 | * FOLLOWED BY INTEGER CONSTANTS * K2400110 12 | * * K2400120 13 | *ENTRY POINTS- * K2400130 14 | * * NEQ ENTERED FROM ROL SUBROUTINE * K2400140 15 | * * K2400150 16 | *INPUT- * K2400160 17 | * * CONSISTS OF THE SYMBOL TABLE GENERATED IN * K2400170 18 | * PREVIOUS PHASES AND THE FORTRAN * K2400180 19 | * COMMUNICATION AREA FROM PREVIOUS PHASES * K2400190 20 | * * K2400200 21 | *OUTPUT- * K2400210 22 | * * LISTING OF REAL AND INTEGER CONSTANTS * K2400220 23 | * * LISTING OF CORE REQUIREMENTS * K2400230 24 | * * K2400240 25 | *EXTERNAL REFERENCES- * K2400250 26 | * SUBROUTINES- * K2400260 27 | * * ROL-ROUTINE TO READ NEXT PHASE * K2400270 28 | * * PRINT-ROUTINE TO PRINT A LINE * K2400280 29 | * * LSTPR-ROUTINE TO PRINT * K2400290 30 | * * K2400300 31 | * COMMA/DCOM * K2400310 32 | * * $PHSE * K2400320 33 | * * $CHN12 * K2400330 34 | * * K2400340 35 | *EXITS- * K2400350 36 | * NORMAL- * K2400360 37 | * * EXIT-THE INTERPHASE ROL ROUTINE IS CALLED* K2400370 38 | * TO READ IN THE NEXT PHASE. * K2400380 39 | * * K2400390 40 | * ERROR-N/A * K2400400 41 | * * K2400410 42 | *TABLES/WORK AREAS * K2400420 43 | * PROGRAMMED SWITCHES- * K2400430 44 | * THE SWITCHES USED IN PHASE 24 FOLLOW. * K2400440 45 | * IF POSITIVE, THE SWITCH IS TRANSFER=T * K2400450 46 | * IF ZERO, THE SWITCH IS NORMAL=N * K2400460 47 | * * SWITCH HDRSW * K2400470 48 | * N= HEADER NOT PERMITTED * K2400480 49 | * T= HEADER ALREADY PRINTED * K2400490 50 | * * SWITCH STPS * K2400500 51 | * N= SYMBOL TABLE SCAN FOR LISTING REAL * K2400510 52 | * CONSTANTS * K2400520 53 | * T0 SYMBOL TABLE SCAN FOR LISTING INTEGER * K2400530 54 | * CONSTANTS * K2400540 55 | * * K2400550 56 | *ATTRIBUTES-N/A * K2400560 57 | * * K2400570 58 | *NOTES-N/A * K2400580 59 | * * K2400590 60 | *************************************************** K2400600 61 | ABS K2400610 62 | * K2400620 63 | * SYSTEM EQUATES K2400630 8000 64 | MEMRY EQU /8000 K2400640 7A23 65 | OVERL EQU MEMRY-1501 START OF FCOM 2-4 K2400650 7FBC 66 | ROL EQU MEMRY-68 LOCN OF RTN TO READ NXT PH K2400660 0078 67 | $PHSE EQU /78 NO. OF PHASE NOW IN CORE K2400670 68 | * K2400680 0036 69 | PHID EQU 54 ID NUMBER THIS PHASE K2400690 70 | * PRINT ROUTINE K2400700 71 | * K2400710 7F8B 72 | HEAD EQU ROL-49 PAGE HEADER AREA K2400720 7E42 73 | OVERP EQU HEAD-327-2 DEVICE PRINT ROUTINE AREA K2400730 7E0C 74 | NEWPG EQU OVERP-54 INDIRECT ENTRY PAGE EJECT K2400740 0006 75 | $CH12 EQU /06 CHANNEL 12 INDICATOR K2400750 7E0E 76 | PRINT EQU NEWPG+2 PRINT INTERFACE RTN ENTRY K2400760 7E45 77 | LSTPR EQU OVERP+3 DEVICE PRINT RTN ENTRY K2400770 7E0D 78 | AREA EQU NEWPG+1 MESSAGE ADDRESS K2400780 79 | * K2400790 7A23 80 | ORG OVERL K2400800 81 | * K2400810 82 | * FORTRAN COMMUNICATION AREA K2400820 7A23 83 | ORG BSS 1 ORIGIN ADDRESS 2-4 K2400825 7A24 84 | SOFS BSS 1 START OF STRING K2400830 7A25 85 | EOFS BSS 1 END OF STRING K2400840 7A26 86 | SOFST BSS 1 START OF SYMBOL TABLE K2400850 7A27 87 | SOFNS BSS 1 LENGTH OF PROGRAM K2400860 7A28 88 | SOFXT BSS 1 SIZE OF WORK AREA (VAR AREA) K2400870 7A29 89 | SOFGT BSS 1 SIZE OF CONSTANTS AREA K2400880 7A2A 90 | EOFST BSS 1 END OF SYMBOL TABLE K2400890 7A2B 91 | COMON BSS 1 RELATIVE ENTRY POINT K2400900 7A2C 92 | CSIZE BSS 1 SIZE OF COMMON K2400910 7A2D 93 | ERROR BSS 1 ERROR FLAG K2400920 94 | * BIT 15 OVERLAP ERROR K2400930 95 | * BIT 14 OTHER ERROR K2400940 96 | * BIT 13 SUBIN TOO LARGE 2-4 K2400942 97 | * BIT 12 CORE REQUIREMENTS EXCESS 2-4 K2400944 98 | * BIT 11 ORIGIN IN SUBPROGRAM 2-4 K2400945 99 | * BIT 10 OVERLAP IN PHASE 21 2-4 K2400946 100 | * BIT 9 INVALID ORIGIN 2-4 K2400947 7A2E 101 | FNAME BSS 1 PROGRAM NAME K2400950 7A2F 102 | BSS 1 K2400960 7A30 103 | SORF BSS 1 SUBROUTINE(-) OR FUNCTION(+) K2400970 7A31 104 | CCWD BSS 1 CONTROL CARD WORD K2400980 105 | * BIT 15 TRANSFER TRACE K2400990 106 | * BIT 14 ARITHMETIC TRACE K2401000 107 | * BIT 13 EXTENDED PRECISION K2401010 108 | * BIT 12 LIST SYMBOL TABLE K2401020 109 | * BIT 11 LIST SUBPROGRAM NAMES K2401030 110 | * BIT 10 LIST SOURCE PROGRAM K2401040 111 | * BIT 9 ONE WORD INTEGERS K2401050 112 | * BIT 8 ORIGIN 2-4 K2401055 7A32 113 | IOCS BSS 1 IOCS CONTROL CARD WORD K2401060 114 | * BIT 15 CARD K2401070 115 | * BIT 14 PAPER TAPE K2401080 116 | * BIT 13 TYPEWRITER K2401090 117 | * BIT 12 1403 PRINTER K2401100 118 | * BIT 11 2501 READER K2401110 119 | * BIT 10 KEYBOARD K2401120 120 | * BIT 9 1442 PUNCH K2401130 121 | * BIT 8 DISK K2401140 122 | * BIT 7 1132 PRINTER K2401150 123 | * BIT 3 PLOTTER K2401160 124 | * BIT 1 UNFORMATTED DISK K2401170 7A33 125 | DFCNT BSS 1 K2401180 126 | * K2401190 127 | * END OF FORTRAN COMMUNICATION K2401200 128 | * AREA K2401210 129 | * K2401220 7A36 130 | BPHAR EQU *+2 BEGIN PHASE AREA K2401230 7A34 0000 131 | DC 0 LOADER WORK AREA K2401240 7A35 FFCA 132 | DC -54 -PHASE ID FOR SLET LOOKUP K2401250 7A36 036C 133 | DC NXTPH-*+1 TBL FOR NEXT PHASE ENTRY K2401260 7A37 0001 134 | DC 1 ONE ENTRY TO BE SET BY LDR K2401270 7A36 135 | ORG *-2 K2401280 136 | * K2401290 7A36 4C00 7A72 137 | NEQ BSC L ENT BRANCH TO INITLZ PROGRAM K2401300 7A38 0000 138 | WDCNT DC *-* WORD COUNT OF PRINT BUFFER K2401310 7A39 4000 139 | PAREA DC /4000 BLANK K2401320 7A3A 4000 140 | DC /4000 BLANK K2401330 7A3B 4000 141 | DC /4000 BLANK K2401340 7A3C 4000 142 | DC /4000 BLANK K2401350 7A3D 4000 143 | DC /4000 BLANK K2401360 7A3E 4000 144 | DC /4000 BLANK K2401370 7A3F 4000 145 | DC /4000 BLANK K2401380 7A40 4000 146 | DC /4000 BLANK K2401390 7A41 4000 147 | DC /4000 BLANK K2401400 7A42 4000 148 | DC /4000 BLANK K2401410 7A43 4000 149 | DC /4000 BLANK K2401420 7A44 4000 150 | DC /4000 BLANK K2401430 7A45 4000 151 | DC /4000 BLANK K2401440 7A46 4000 152 | DC /4000 BLANK K2401450 7A47 4000 153 | DC /4000 BLANK K2401460 7A48 4000 154 | DC /4000 BLANK K2401470 7A49 4000 155 | DC /4000 BLANK K2401480 7A4A D900 156 | TEXT1 DC /D900 R K2401490 7A4B C500 157 | DC /C500 E K2401500 7A4C C100 158 | DC /C100 A K2401510 7A4D D300 159 | DC /D300 L K2401520 7A4E 4000 160 | DC /4000 BLANK K2401530 7A4F C300 161 | DC /C300 C K2401540 7A50 D600 162 | DC /D600 O K2401550 7A51 D500 163 | DC /D500 N K2401560 7A52 E200 164 | DC /E200 S K2401570 7A53 E300 165 | DC /E300 T K2401580 7A54 C100 166 | DC /C100 A K2401590 7A55 D500 167 | DC /D500 N K2401600 7A56 E300 168 | DC /E300 T K2401610 7A57 E200 169 | DC /E200 S K2401620 170 | * K2401630 7A58 C305 171 | PTEX1 LD 3 PAPIN-Z GET INT VALUE OF PR AREA PT K2401640 7A59 D400 7E0D 172 | STO L AREA SAVE IN MESSAGE ADDRESS K2401650 7A5B 6301 173 | LDX 3 1 XR3 = 1 K2401660 7A5C 6F00 7A38 174 | STX L3 WDCNT SAVE IN WD CNT TO PR BLNK LN K2401670 7A5E 4400 7E0E 175 | BSI L PRINT BR TO PRINT BLANK LINE K2401680 7A60 6700 7A4A 176 | LDX L3 TEXT1 PUT ADDR OF 'REAL CONSTANTS' K2401690 7A62 6F00 7E0D 177 | STX L3 AREA *MESSAGE IN PRINT LOC K2401700 7A64 6307 178 | LDX 3 7 XR3 = 7 K2401710 7A65 6F00 7A38 179 | STX L3 WDCNT SAVE MESSAGE WD CNT K2401720 7A67 4400 7E0E 180 | BSI L PRINT PRINT MESSAGE K2401730 7A69 6700 7AC8 181 | LDX L3 PHEAD+2 SET UP PHEAD ROUTINE TO K2401740 7A6B 6B5B 182 | STX 3 PHEAD+1 *CONTINUE RATHER THAN BR OUT K2401750 7A6C 6F00 7C01 183 | STX L3 BLKPA SET BLKPA TO RET TO PHEAD+2 K2401760 7A6E 6700 7C0D 184 | LDX L3 Z RESET TRANSFER VECTOR K2401770 7A70 4C00 7C02 185 | BSC L BLKPA+1 BR TO BLANK OUT PRINT AREA K2401780 186 | * K2401790 187 | * INITIALIZE PHASE K2401800 188 | * CHECK FOR SYMBOL TABLE OVERLAP K2401810 189 | * K2401820 7A72 6136 190 | ENT LDX 1 PHID GET PHASE ID K2401830 7A73 6D00 0078 191 | STX L1 $PHSE STORE IN SYSTEM PHASE AREA K2401840 192 | * K2401850 193 | * INITIALIZE TRANSFERVECTOR K2401860 7A75 6700 7C0D 194 | LDX L3 Z GET ADDR OF CONSTANT AREA K2401870 7A77 6F00 7A36 195 | STX L3 NEQ SAVE ADDR K2401880 196 | * K2401890 7A79 C400 7A2D 197 | LD L ERROR TEST ERROR SW FR PREV PHASES K2401900 7A7B 4C20 7D99 198 | BSC L EXIT,Z BR TO EXIT IF OVERLAP ERROR K2401910 199 | * K2401911 7A7D C0B3 200 | LD CCWD IS THIS AN ABSOLUTE 2-4 K2401912 7A7E 1008 201 | SLA 8 COMPILATION 2-4 K2401914 7A7F 4828 202 | BSC +Z NO - SKIP 2-4 K2401916 7A80 D31A 203 | STO 3 ORGSW-Z YES - SET ORIGIN SW 2-4 K2401918 204 | * K2401920 205 | * PRINT CORE REQUIREMENTS IF REQUESTED. K2401930 206 | * SET UP TO LIST CONSTANTS. K2401940 207 | * CHECK FOR EXTENDED PRECISION. K2401950 208 | * MAKE MODIFICATIONS TO CONSTANTS IF K2401960 209 | * *EXTENDED PRECISION. K2401970 210 | * K2401980 7A81 C300 211 | L4011 LD 3 0 PUT ZERO IN K2401990 7A82 D30A 212 | STO 3 STPS-Z *SYMBOL TABLE PASS SWITCH K2402000 213 | * K2402010 214 | * BR TO .STATE CORE REQUIREMENTS. K2402020 215 | * IF NO LISTING REQUIRED K2402030 216 | * K2402040 7A83 C400 7A31 217 | LD L CCWD LOAD CONTROL CARD WORD K2402050 7A85 100C 218 | SLA 12 SHIFT LIST SYM TBL BIT K2402060 7A86 4C10 7B3C 219 | BSC L COREQ,- BR IF NO LIST REQUESTED K2402070 220 | * K2402080 221 | * K2402090 222 | * TEST IF EXTENDED PRECISION K2402100 223 | * K2402110 7A88 1001 224 | SLA 1 SHIFT EXTENDED PREC BIT K2402120 7A89 4C10 7AB1 225 | BSC L L4012,- BR IF NO EXTENDED PRECISION K2402130 226 | * K2402140 227 | * MODIFY PROGRAM IF K2402150 228 | * EXTENDED PRECISION K2402160 229 | * K2402170 7A8B 7401 7C16 230 | MDX L RVARF,1 INCR REAL VARIABLE FORMAT K2402180 7A8D 7404 7C14 231 | MDX L INCR,4 INCR FLT POINT FORMAT FROM K2402190 232 | * 20 TO 24 K2402200 7A8F 7403 7AE5 233 | MDX L L4024,3 INCR NO. DIGITS PAST DECML K2402210 7A91 7404 7AE8 234 | MDX L L4025,4 INCR FIELD WIDTH K2402220 235 | * K2402230 7A93 701D 236 | MDX PAREA+120 BR OUT OF OVERLAY PRINT BFR K2402240 7AB1 237 | ORG PAREA+120 K2402250 238 | * K2402260 7AB1 C400 7A28 239 | L4012 LD L SOFXT INITIALIZE LOCATION K2402270 7AB3 D30B 240 | STO 3 CLOC-Z OF CURRENT CONSTANT K2402280 7AB4 6580 7A26 241 | L401X LDX I1 SOFST INITLZ SYM TBL POINTER K2402290 7AB6 6D00 7C19 242 | STX L1 STP K2402300 7AB8 C30C 243 | L4013 LD 3 STP-Z LOAD SYM TBL POINTER K2402310 7AB9 9400 7A2A 244 | S L EOFST TEST FOR END OF SYMBOL TABLE K2402320 7ABB 4C08 7B2D 245 | BSC L L4033,+ BR IF END OF SYMBOL TABLE K2402330 7ABD C100 246 | L4021 LD 1 0 LOAD SYMBOL TABLE ID WORD K2402340 7ABE 4C10 7B2A 247 | BSC L L4032,- BR IF NOT CONSTANT K2402350 7AC0 1001 248 | SLA 1 K2402360 7AC1 4C28 7B05 249 | BSC L L4031,+Z BR IF INTEGER CONSTANT K2402370 7AC3 C30A 250 | LD 3 STPS-Z LD SYMBOL TABLE PASS SWITCH K2402380 251 | * K2402390 7AC4 4C20 7B2A 252 | BSC L L4032,Z BR IF SWITCH NONZERO K2402400 253 | ************************************************** K2402410 254 | * K2402420 255 | * CONVERT REAL CONSTANT AND PRINT K2402430 256 | * THE CONSTANT AND ITS LOCATION K2402440 257 | * K2402450 258 | ************************************************** K2402460 259 | * K2402470 260 | * PRINT HEADER IF NOT PRINTED BEFORE K2402480 261 | * NOTE--NEXT INSTRUCTION IS REPLACED BY K2402490 262 | * *A BSC L PHEAD+2 AFTER THE HEADER K2402500 263 | * *IS PRINTED. K2402510 264 | * K2402520 7AC6 4C00 7A58 265 | PHEAD BSC L PTEX1 K2402530 266 | * K2402540 267 | * K2402550 268 | * INSERT PARAMETERS FOR CONVERTING K2402560 269 | * OF FLOATING POINT CONST TO K2402570 270 | * E-TYPE, EBC-CODE K2402580 271 | * K2402590 7AC8 C309 272 | LD 3 RVARF-Z INSERT VARIABLE FORMAT K2402600 7AC9 E301 273 | AND 3 1 MASK OUT ALL BUT BIT 15 K2402610 7ACA D400 7C5C 274 | STO L PREC SAVE PRECISION K2402620 7ACC 4C04 7ADA 275 | BSC L L4022,E BR IF EXTENDED PRECISION K2402630 276 | * K2402640 277 | * INSERT NORMAL PREC CONSTANT K2402650 278 | * FROM SYMBOL TABLE K2402660 279 | * K2402670 7ACE C101 280 | LD 1 1 GET 1/2 OF CON FR SYM TBL K2402680 7ACF D400 7C52 281 | STO L CONVT-3 SAVE IN CONVERT BUFFER K2402690 7AD1 C102 282 | LD 1 2 GET 2ND PART OF CONSTANT K2402700 7AD2 1888 283 | SRT 8 SHIFT OFF BITS 8-15 K2402710 7AD3 1008 284 | SLA 8 SHIFT BITS 0-7 BACK K2402720 7AD4 D400 7C53 285 | STO L CONVT-2 SAVE IN CONVERT BUFFER K2402730 7AD6 1088 286 | SLT 8 SHIFT BITS 8-15 BACK TO ACC K2402740 7AD7 D400 7C5D 287 | STO L BIN SAVE BINARY POINT K2402750 7AD9 700B 288 | MDX L4024 BR TO CONTINUE K2402760 289 | * K2402770 290 | * INSERT EXTENDED PRECISION CONSTANT K2402780 291 | * FROM SYMBOL TABLE K2402790 292 | * K2402800 7ADA C100 293 | L4022 LD 1 0 GET SYM TBL ID WORD K2402810 7ADB 1008 294 | SLA 8 SHIFT OFF BITS 0-7 K2402820 7ADC 1808 295 | SRA 8 RIGHT JUSTIFY REMAINDER K2402830 7ADD D400 7C5D 296 | STO L BIN SAVE IN BINARY POINT K2402840 7ADF C101 297 | LD 1 1 GET 1/2 OF CON FR SYM TBL K2402850 7AE0 D400 7C52 298 | STO L CONVT-3 SAVE IN CONVERT BUFFER K2402860 7AE2 C102 299 | LD 1 2 GET 2ND PART OF CONSTANT K2402870 7AE3 D400 7C53 300 | STO L CONVT-2 SAVE IN CONVERT BUFFER K2402880 301 | * K2402890 302 | * INSERT OTHER PARAMETERS FOR CONVERT K2402900 7AE5 6206 303 | L4024 LDX 2 6 NUMBER OF DIGITS AFTER DECML K2402910 7AE6 6E00 7C5B 304 | STX L2 DD *POINT (6 OR 9) K2402920 7AE8 620D 305 | L4025 LDX 2 13 FIELD WIDTH K2402930 7AE9 6E00 7C5A 306 | STX L2 WW *(13 OR 17) K2402940 7AEB C301 307 | LD 3 1 GET A CONSTANT = 1 K2402950 7AEC D400 7C45 308 | STO L FRMAI SET FLT PT INDICATOR K2402960 7AEE 1010 309 | SLA 16 CLEAR ACC K2402970 7AEF D400 7C46 310 | STO L FORTP SET DATA TYPE O/P = E TYPE K2402980 7AF1 4400 7CB0 311 | BSI L BINRY BR TO CONVERT DATA TO DECML K2402990 7AF3 C30F 312 | LD 3 H7E00-Z LOAD AN EQUAL SIGN K2403000 7AF4 43CD 313 | BSI 3 TOPAU-Z BR TO PUT OUT EQUAL K2403010 314 | * K2403020 315 | * CONVERT ADDRESS K2403030 316 | * AND MOVE TO PRINTAREA K2403040 317 | * K2403050 7AF5 438B 318 | BSI 3 ATPA-Z BR TO CONVERT AND MOVE SUBR K2403060 7AF6 43EF 319 | BSI 3 TOPAB-Z BR TO PUT OUT EXTRA BLANK K2403070 320 | * K2403080 7AF7 C30B 321 | LD 3 CLOC-Z LOAD CONSTANT LOCATION K2403090 7AF8 8309 322 | A 3 RVARF-Z INCR BY REAL VAR FMT BITS K2403100 7AF9 D30B 323 | STO 3 CLOC-Z SAVE BACK IN CONSTANT LOC K2403110 324 | * K2403120 325 | * INCREMENT PRINT AREA POINTER K2403130 326 | * AND TEST IF LINE IS FULL K2403140 327 | * K2403150 7AFA C306 328 | CKEND LD 3 PAP-Z LD PRINT AREA POINTER K2403160 7AFB 9310 329 | S 3 LNEND-Z SUBTRACT END OF LINE K2403170 7AFC 4C28 7B2A 330 | BSC L L4032,+Z BR IF LINE NOT FULL K2403180 7AFE 431B 331 | BSI 3 PRINN-Z PRINT A LINE K2403190 7AFF C480 0006 332 | LD I $CH12 TEST CHANNEL 12 SWITCH K2403200 7B01 44A0 7E0C 333 | BSI I NEWPG,Z PAGE EJECT IF NON-ZERO K2403210 7B03 7026 334 | MDX L4032 BR TO CONTINUE K2403220 335 | * K2403230 336 | ************************************************** K2403240 7B04 0000 337 | HTES DC *-* HEADER TEST SWITCH K2403250 338 | * K2403260 7B05 C30A 339 | L4031 LD 3 STPS-Z LD SYMBOL TABLE PASS SWITCH K2403270 7B06 4C18 7B2A 340 | BSC L L4032,+- BR IF SWITCH ZERO K2403280 7B08 C0FB 341 | LD HTES LD HEADER TEST SWITCH K2403290 7B09 4C20 7B16 342 | BSC L INTC,Z BR IF NON-ZERO K2403300 7B0B 43F4 343 | BSI 3 BLKPA-Z BLANK OUT PRINT AREA K2403310 7B0C 431B 344 | BSI 3 PRINN-Z PRINT BLANK LINE K2403320 7B0D C480 0006 345 | LD I $CH12 TEST FOR CHANNEL 12 SW ON K2403330 7B0F 44A0 7E0C 346 | BSI I NEWPG,Z IF PAGE END, RESTORE PAGE K2403340 7B11 C314 347 | LD 3 TEX2A-Z GET ADDR .INTEGER CONSTANTS. K2403350 7B12 43B5 348 | BSI 3 PTEXT-Z BR TO MOVE TEXT TO PR AREA K2403360 7B13 7401 7B04 349 | MDX L HTES,1 SET HEADER TEST SW NON-ZERO K2403370 7B15 431B 350 | BSI 3 PRINN-Z PRINT HEADER K2403380 7B16 43A4 351 | INTC BSI 3 INTLS-Z BR TO CONVERT INTEGER CONS K2403390 7B17 C101 352 | LD 1 1 GET WORD FROM SYMBOL TABLE K2403400 7B18 D400 7C52 353 | STO L CONVT-3 SAVE IN CONVERSION AREA K2403410 7B1A F333 354 | EOR 3 H8000-Z REMOVE BIT 0 K2403420 7B1B 4C20 7B22 355 | BSC L INTD,Z BR IF WD NOT ZERO K2403430 7B1D C333 356 | LD 3 H8000-Z LOAD BIT 0 = 1 K2403440 7B1E 1881 357 | SRT 1 PUT 1'S IN BITS 0 AND 1 K2403450 7B1F 7401 7C5D 358 | MDX L BIN,1 INCREMENT BINARY POINTER K2403460 7B21 D345 359 | STO 3 CONVT-3-Z SAVE CONVERT WORD K2403470 7B22 4400 7CB0 360 | INTD BSI L BINRY BR TO CONVERT DATA TO DECIML K2403480 7B24 C30F 361 | LD 3 H7E00-Z LD = SIGN K2403490 7B25 43CD 362 | BSI 3 TOPAU-Z BR TO PUT IN PRINT BUFFER K2403500 7B26 438B 363 | BSI 3 ATPA-Z MOVE ADDR OF CON TO PR AREA K2403510 7B27 7401 7C18 364 | MDX L CLOC,1 INCR CONSTANT LOCATION K2403520 7B29 70D0 365 | MDX CKEND BR TO TEST IF PR LINE FULL K2403530 366 | * K2403540 367 | * GET NEXT CONSTANT. K2403550 368 | * MOVE SYMBOL TABLE POINTER K2403560 369 | * K2403570 7B2A 4061 370 | L4032 BSI MSTP MOVE SYMBOL TABLE POINTER K2403580 7B2B 4C00 7AB8 371 | BSC L L4013 BR TO TEST FOR SYM TBL END K2403590 372 | * K2403600 373 | * END OF SYMBOL TABLE ENCOUNTERED K2403610 374 | * K2403620 7B2D C306 375 | L4033 LD 3 PAP-Z GET PRINT AREA POINTER K2403630 7B2E 9305 376 | S 3 PAPIN-Z SUBTRACT INITIAL VAL PR AREA K2403640 7B2F 4420 7C28 377 | BSI L PRINN,Z PR LN IF DIFFERENCE GT ZERO K2403650 7B31 C480 0006 378 | LD I $CH12 TEST FOR END OF PAGE K2403660 7B33 44A0 7E0C 379 | BSI I NEWPG,Z IF END OF PAGE, RESTORE PAGE K2403670 380 | * K2403680 381 | * IF SYMBOL TABLE PASS SW IS NONZERO K2403690 382 | * GO TO LISTING OF CORE REQUIREMENTS K2403700 383 | * K2403710 7B35 C30A 384 | LD 3 STPS-Z LD SYM TBL PASS SWITCH K2403720 7B36 4C20 7B3C 385 | BSC L COREQ,Z BR IF NONZERO K2403730 386 | * K2403740 387 | * K2403750 7B38 C301 388 | LD 3 1 SET SYM TBL PASS SWITCH K2403760 7B39 D30A 389 | STO 3 STPS-Z *TO NONZERO K2403770 390 | * K2403780 7B3A 4C00 7AB4 391 | BSC L L401X GO TO SECOND PASS OF K2403790 392 | * SYM TBL (FOR LISTING OF K2403800 393 | * *INTEGER CONSTANTS) K2403810 394 | * K2403820 395 | * LIST CORE REQUIREMENTS K2403830 396 | * K2403840 7B3C 43F4 397 | COREQ BSI 3 BLKPA-Z BLANK PRINT AREA K2403850 7B3D 431B 398 | BSI 3 PRINN-Z PRINT BLANK LINE K2403860 7B3E C315 399 | LD 3 CORA-Z GET ADDR .CORE REQUIREMENTS. K2403870 7B3F 43B5 400 | BSI 3 PTEXT-Z BR TO MOVE TEXT TO PR AREA K2403880 7B40 6500 7A2D 401 | LDX L1 FNAME-1 LD PROGRAM NAME POINTER K2403890 7B42 C101 402 | LD 1 1 LD WD1 OF PROG NAME K2403900 7B43 43DA 403 | BSI 3 TOPA-Z CONVERT CHAR 1-MOVE TO PRINT K2403910 7B44 C101 404 | LD 1 1 LD WD1 OF PROG NAME K2403920 7B45 1006 405 | SLA 6 SHIFT TO POSITION K2403930 7B46 43DA 406 | BSI 3 TOPA-Z CONVERT CHAR 2-MOVE TO PRINT K2403940 7B47 C102 407 | LD 1 2 LD WD2 OF PROG NAME K2403950 7B48 18D0 408 | RTE 16 SHIFT TO EXTENSION K2403960 7B49 C101 409 | LD 1 1 LOAD WD1 OF PROG NAME K2403970 7B4A 108C 410 | SLT 12 SHIFT ACC AND EXTENSION K2403980 7B4B 43DA 411 | BSI 3 TOPA-Z CONVERT CHAR 3-MOVE TO PRINT K2403990 7B4C C102 412 | LD 1 2 LOAD WD2 OF PROG NAME K2404000 7B4D 1002 413 | SLA 2 SHIFT TO POSITION K2404010 7B4E 43DA 414 | BSI 3 TOPA-Z CONVERT CHAR 4-MOVE TO PRINT K2404020 7B4F C102 415 | LD 1 2 LOAD WD2 OF PROG NAME K2404030 7B50 1008 416 | SLA 8 SHIFT TO POSITION K2404040 7B51 43DA 417 | BSI 3 TOPA-Z CONVERT CHAR 5-MOVE TO PRINT K2404050 7B52 431B 418 | BSI 3 PRINN-Z PRINT A LINE K2404060 419 | * K2404070 420 | * COMMON SIZE TO PRINT AREA K2404080 7B53 C316 421 | LD 3 COMA-Z GET ADDR .COMMON. K2404090 7B54 43B5 422 | BSI 3 PTEXT-Z BR TO MOVE TEXT TO PR AREA K2404100 7B55 43A4 423 | BSI 3 INTLS-Z INITLZ INTEGER CON CONVERT K2404110 7B56 C400 7A2C 424 | LD L CSIZE GET SIZE OF COMMON K2404120 7B58 D400 7C52 425 | STO L CONVT-3 SAVE IN CONVERSION AREA K2404130 7B5A 4400 7DA6 426 | BSI L PTCH1 GO CONVERT NUMBER 2-2 K2404140 427 | * K2404150 428 | * SIZE OF WORK AREA TO PRINT AREA K2404160 7B5C C317 429 | LD 3 VARA-Z GET ADDR .VARIABLES. K2404170 7B5D 43B5 430 | BSI 3 PTEXT-Z MOVE TEXT TO PRINT AREA K2404180 7B5E 43A4 431 | BSI 3 INTLS-Z INITLZ INTEGER CON CONVERT K2404190 7B5F C400 7A28 432 | LD L SOFXT GET SIZE OF WORK AREA K2404200 7B61 D400 7C52 433 | STO L CONVT-3 SAVE IN CONVERT WORD K2404210 7B63 4400 7DA6 434 | BSI L PTCH1 GO CONVERT NUMBER 2-2 K2404220 435 | * K2404230 436 | * CONSTANTS AND PROGRAM AREA SIZE K2404240 437 | * TO PRINT AREA K2404250 438 | * K2404260 7B65 C318 439 | LD 3 PROA-Z GET ADDR .PROGRAM. K2404270 7B66 43B5 440 | BSI 3 PTEXT-Z MOVE TEXT TO PRINT AREA K2404280 7B67 43A4 441 | BSI 3 INTLS-Z INITLZ INTEGER CON CONVERT K2404290 7B68 C400 7A27 442 | LD L SOFNS COMPUTE LENGTH OF PROGRAM K2404300 443 | * AREA K2404310 7B6A 9400 7A28 444 | S L SOFXT SUBTRACT SIZE OF WORK AREA K2404320 7B6C D400 7A27 445 | STO L SOFNS SAVE LENGTH OF PROGRAM AREA K2404330 7B6E D400 7C52 446 | STO L CONVT-3 SAVE IN CONVERSION AREA K2404340 7B70 4400 7DA6 447 | BSI L PTCH1 GO CONVERT NUMBER 2-2 K2404350 7B72 431B 448 | BSI 3 PRINN-Z PRINT OUTPUT K2404360 449 | * K2404370 450 | * CHECK FOR CORE SIZE ERRORS K2404380 451 | * K2404390 7B73 1010 452 | SLA 16 K2404400 7B74 D017 453 | STO MSTP CLEAR TEMPORARY ACCUMULATOR K2404410 454 | * K2404420 7B75 C400 7A2C 455 | LD L CSIZE CHECK COMMON AREA SIZE K2404430 7B77 4008 456 | BSI CS000 K2404440 457 | * K2404450 7B78 C400 7A28 458 | LD L SOFXT CHECK VARIABLE AREA SIZE K2404460 7B7A 4005 459 | BSI CS000 K2404470 460 | * K2404480 7B7B C400 7A27 461 | LD L SOFNS CHECK PROGRAM AREA SIZE K2404490 7B7D 4002 462 | BSI CS000 K2404500 463 | * K2404510 7B7E 4C00 7D99 464 | BSC L EXIT EXIT K2404520 465 | * K2404530 466 | * K2404540 7B80 0000 467 | CS000 DC *-* LINK K2404550 468 | * K2404560 7B81 4C28 7B89 469 | BSC L CS050,+Z ERROR IF SIZE NEGATIVE K2404570 470 | * K2404580 7B83 8008 471 | A MSTP K2404590 7B84 D007 472 | STO MSTP K2404600 7B85 4C28 7B89 473 | BSC L CS050,+Z BRANCH IF OVERFLOW K2404610 474 | * K2404620 7B87 4C80 7B80 475 | CS010 BSC I CS000 RETURN K2404630 476 | * K2404640 477 | * INDICATE SIZE ERROR K2404650 478 | * K2404660 7B89 7408 7A2D 479 | CS050 MDX L ERROR,8 INDICATE ERROR 2-4 K2404670 7B8B 70FB 480 | MDX CS010 RETURN K2404700 481 | * K2404710 482 | * K2404720 483 | * K2404730 484 | * SUBR. MOVE SYMBOL TABLE POINTER K2404740 7B8C 0000 485 | MSTP DC 0 LINK K2404750 7B8D C100 486 | LD 1 0 GET SYM TBL ID WORD K2404760 7B8E E30D 487 | AND 3 MASK3-Z TEST FOR DIMENSION K2404770 7B8F 4820 488 | BSC Z SKIP IF NOT DIMENSIONED K2404780 7B90 C30E 489 | LD 3 CM3-Z LD MINUS 3 IF DIMENSIONED K2404790 7B91 9303 490 | S 3 3 DECR BY 3 K2404800 7B92 830C 491 | A 3 STP-Z DECR SYM TBL PT BY 3 OR 6 K2404810 7B93 D30C 492 | STO 3 STP-Z SAVE SYM TBL POINTER K2404820 7B94 6580 7C19 493 | LDX I1 STP PUT SYM TBL PT IN XR1 K2404830 7B96 4C80 7B8C 494 | BSC I MSTP RETURN K2404840 495 | * K2404850 496 | * MOVE ADDRESS TO PAREA K2404860 7B98 0000 497 | ATPA DC *-* LINK ENTRY POINT K2404870 7B99 C31A 498 | LD 3 ORGSW-Z IS IT ABSOLUTE 2-4 K2404871 7B9A 4C18 7BA5 499 | BSC L ATPA1,+- NO - BRANCH 2-4 K2404872 7B9C C30B 500 | LD 3 CLOC-Z YES - RELOCATE 2-4 K2404873 7B9D 8400 7A23 501 | A L ORG THE 2-4 K2404874 7B9F 4C10 7BA6 502 | BSC L ATPA2,- BRANCH IF POSITIVE 2-4 K2404876 7BA1 7440 7A2D 503 | MDX L ERROR,64 SET UP ERROR 86 2-4 K2404877 7BA3 4C00 7D99 504 | BSC L EXIT EXIT 2-4 K2404878 505 | * K2404879 7BA5 C30B 506 | ATPA1 LD 3 CLOC-Z GET HEX LOC OF CURRENT CON K2404880 7BA6 188C 507 | ATPA2 SRT 12 SHIFT OFF LOWER 3 HEX CHARS K2404890 7BA7 404A 508 | BSI TOPAH BR TO PUT HEX CHAR PR AREA K2404900 7BA8 1084 509 | SLT 4 SHIFT NXT CHAR FR EXTENSION K2404910 7BA9 4048 510 | BSI TOPAH BR TO PUT HEX CHAR PR AREA K2404920 7BAA 1084 511 | SLT 4 SHIFT NXT CHAR FR EXTENSION K2404930 7BAB 4046 512 | BSI TOPAH BR TO PUT HEX CHAR PR AREA K2404940 7BAC 1084 513 | SLT 4 SHIFT LAST CHAR FR EXTENSION K2404950 7BAD 4044 514 | BSI TOPAH BR TO PUT HEX CHAR PR AREA K2404960 7BAE 404D 515 | BSI TOPAB PUT BLANK IN PRINT AREA K2404970 7BAF 4C80 7B98 516 | BSC I ATPA RETURN K2404980 517 | * K2404990 518 | * SET UP CONVERSION ROUTINE FOR K2405000 519 | * INTEGER CONSTANTS. K2405010 520 | * K2405020 7BB1 0000 521 | INTLS DC *-* ENTRY POINT K2405030 7BB2 6206 522 | LDX 2 6 SET FIELD WIDTH K2405040 7BB3 6E00 7C5A 523 | STX L2 WW *TO 6 K2405050 7BB5 1010 524 | SLA 16 CLEAR 2ND WD OF CONVERSION K2405060 7BB6 D400 7C53 525 | STO L CONVT-2 *AREA K2405070 7BB8 D400 7C45 526 | STO L FRMAI SET INTEGER CONVERSION CODE K2405080 7BBA C311 527 | LD 3 D143-Z SET BINARY DECIMAL POINT K2405090 7BBB D400 7C5D 528 | STO L BIN *FOR INCREMENTING K2405100 7BBD 6202 529 | LDX 2 2 SET DATA TYPE TO K2405110 7BBE 6E00 7C46 530 | STX L2 FORTP *I FORMAT K2405120 7BC0 4C80 7BB1 531 | BSC I INTLS RETURN K2405130 532 | * K2405140 533 | * PUT TEXT IN PRINT AREA. K2405150 534 | * ADDRESS OF TEXT IN A-REG ON ENTRY K2405160 535 | * K2405170 7BC2 0000 536 | PTEXT DC 0 ENTRY POINT K2405180 7BC3 D001 537 | STO HTES1+1 SAVE ADDR OF TEXT K2405190 7BC4 6680 0000 538 | HTES1 LDX I2 *-* PUT WD COUNT IN XR2 K2405200 7BC6 1090 539 | SLT 16 CLEAR ACC K2405210 7BC7 6780 7C13 540 | LDX I3 PAP PUT PR AREA POINTER XR3 K2405220 7BC9 7401 7BC5 541 | LOOPP MDX L HTES1+1,1 INCR ADDR POINTER K2405230 7BCB C480 7BC5 542 | LD I HTES1+1 LD PACKED CHARACTER K2405240 7BCD 1888 543 | SRT 8 SHIFT RIGHT CHAR EXTENSION K2405250 7BCE 1008 544 | SLA 8 SHIFT LEFT TO PRINT POSITION K2405260 7BCF D300 545 | STO 3 0 SAVE IN PRINT LINE K2405270 7BD0 1090 546 | SLT 16 SHIFT RIGHT CHAR TO POSITION K2405280 7BD1 D301 547 | STO 3 1 SAVE IN PRINT LINE K2405290 7BD2 7302 548 | MDX 3 2 INCR PRINT LINE POINTER K2405300 7BD3 72FF 549 | MDX 2 -1 DECR WORD COUNT K2405310 7BD4 70F4 550 | MDX LOOPP LOOP IF COUNT NOT FINISHED K2405320 7BD5 6B3D 551 | STX 3 PAP SAVE NEW PRINT AREA POINTER K2405330 7BD6 6700 7C0D 552 | LDX L3 Z RESET XR3 FOR CONSTANTS K2405340 7BD8 4C80 7BC2 553 | HTES3 BSC I PTEXT RETURN K2405350 554 | * K2405360 555 | * K2405370 556 | * SUBROUTINE K2405380 557 | * MOVE CHAR IN ACC TO PR AREA UNCHANGED K2405390 558 | * K2405400 7BDA 0000 559 | TOPAU DC 0 LINK K2405410 7BDB D007 560 | STO STOCH SAVE CHAR TO BE PRINTED K2405420 7BDC C006 561 | TOPAX LD STOCH LD CHAR TO BE PRINTED K2405430 7BDD D480 7C13 562 | STO I PAP SAVE IN PRINT AREA K2405440 7BDF 7401 7C13 563 | MDX L PAP,1 MOVE PRINT AREA POINTER K2405450 7BE1 4C80 7BDA 564 | BSC I TOPAU RETURN K2405460 565 | * K2405470 7BE3 0000 566 | STOCH DC *-* CHARACTER TO BE PRINTED K2405480 7BE4 000F 567 | H000F DC /000F CONSTANT K2405490 7BE5 000A 568 | H000A DC /000A CONSTANT K2405500 7BE6 0039 569 | H0039 DC /0039 CONSTANT K2405510 570 | * K2405520 571 | * SUBROUTINE K2405530 572 | * CONVERT CHAR IN ACC INTO K2405540 573 | * EBC-CODE, THEN MOVE TO PRINT AREA K2405550 574 | * K2405560 7BE7 0000 575 | TOPA DC 0 LINK K2405570 7BE8 E312 576 | AND 3 H3F00-Z MASK BITS 2-7 K2405580 7BE9 4C18 7BF0 577 | BSC L TOPA2,+- BR IF BLANK K2405590 578 | * K2405600 579 | * NOTE K2405610 580 | * IF OTHER SPECIAL CHARACTERS THAN K2405620 581 | * BLANK ARE EXPECTED, TESTING SHOULD K2405630 582 | * BE HERE K2405640 7BEB E829 583 | OR HC000 ADD FIRST 2 BITS ALPHA-NOS K2405650 7BEC D0F6 584 | TOPA1 STO STOCH SAVE IN CHAR STORAGE WD K2405660 7BED C0F9 585 | LD TOPA MOVE LINK K2405670 7BEE D0EB 586 | STO TOPAU *TO OUTPUT K2405680 7BEF 70EC 587 | MDX TOPAX BR TO PRINT CHAR IN EBC K2405690 7BF0 C313 588 | TOPA2 LD 3 H4000-Z LOAD EBC BLANK K2405700 7BF1 70FA 589 | MDX TOPA1 BR TO PUT IN BUFFER K2405710 590 | * K2405720 591 | * K2405730 592 | * SUBROUTINE K2405740 593 | * MOVE HEX CHAR TO PRINT AREA K2405750 594 | * K2405760 7BF2 0000 595 | TOPAH DC 0 LINK K2405770 7BF3 E0F0 596 | AND H000F SAVE ONLY BITS 12-15 K2405780 7BF4 90F0 597 | S H000A TEST FOR CON LT A K2405790 7BF5 4828 598 | BSC Z+ SKIP IF GT 9 K2405800 7BF6 80EF 599 | A H0039 RESTORE CON & EBC BITS K2405810 7BF7 8301 600 | A 3 1 ADD 1 K2405820 7BF8 1008 601 | SLA 8 SHIFT TO EBC FORMAT K2405830 7BF9 40ED 602 | BSI TOPA CONVERT AND MOVE K2405840 7BFA 4C80 7BF2 603 | BSC I TOPAH RETURN K2405850 604 | * K2405860 605 | * PUT ONE BLANK IN PRINT AREA K2405870 7BFC 0000 606 | TOPAB DC 0 ENTRY POINT K2405880 7BFD 1010 607 | SLA 16 CLEAR ACC K2405890 7BFE 40E8 608 | BSI TOPA PUT OUT BLANK K2405900 7BFF 4C80 7BFC 609 | BSC I TOPAB RETURN K2405910 610 | * K2405920 611 | * SUBROUTINE K2405930 612 | * BLANK TO PRINT AREA K2405940 613 | * K2405950 7C01 0000 614 | BLKPA DC 0 LINK K2405960 7C02 C313 615 | LD 3 H4000-Z PUT EBC BLANK ACC K2405970 7C03 6700 0079 616 | LDX L3 121 LD BFR SIZE IN XR3 K2405980 7C05 D700 7A38 617 | BLKP1 STO L3 PAREA-1 SAVE BLANK IN PR AREA K2405990 7C07 73FF 618 | MDX 3 -1 DECR BUFFER COUNT K2406000 7C08 70FC 619 | MDX BLKP1 CONTINUE IF CNT NOT 0 K2406010 7C09 6700 7C0D 620 | LDX L3 Z RESET XR3 WITH CON ADDR K2406020 7C0B 4C80 7C01 621 | BSC I BLKPA RETURN K2406030 622 | * K2406040 623 | * CONSTANTS AREA K2406050 624 | * NOTE--GREAT CARE SHOULD BE USED K2406060 625 | * IN CHANGING CONSTANTS AROUND AS SOME K2406070 626 | * OF THE LOCATIONS ARE REFERENCED RLTV K2406080 627 | * TO THE START OD THE AREA. K2406090 628 | * XR3 IS LOADED WITH THE ADDRESS OF Z K2406100 629 | * FOR REFERENCE TO THE CONSTANTS K2406110 630 | * K2406120 7C0D 0000 631 | Z DC 0 CONSTANT0 K2406130 7C0E 0001 632 | DC 1 CONSTANT ONE K2406140 7C0F 0002 633 | DC 2 CONSTANT TWO K2406150 7C10 0003 634 | DC 3 CONSTANT THREE K2406160 7C11 0004 635 | DC 4 CONSTANT FOUR K2406170 7C12 7A39 636 | PAPIN DC PAREA INITIAL VALUE OF PAP K2406180 7C13 7A39 637 | PAP DC PAREA PRINT AREA POINTER K2406190 7C14 0014 638 | INCR DC 20 INCREMENT OF PRINT AREA K2406200 639 | * (IS CHANGED INTO 24 WHEN K2406210 640 | * EXTENDED PRECISION) K2406220 7C15 C000 641 | HC000 DC /C000 CONSTANT MASK K2406230 7C16 0002 642 | RVARF DC /0002 REAL VARIABLE FORMAT K2406240 7C17 0000 643 | STPS DC 0 SYMBOL TABLE PASS SWITCH K2406250 7C18 0000 644 | CLOC DC 0 LOCATION OF CURRENT CONSTANT K2406260 7C19 0000 645 | STP DC 0 SYMBOL TABLE POINTER K2406270 7C1A 1800 646 | MASK3 DC /1800 CONSTANT MASK K2406280 7C1B FFFD 647 | CM3 DC /FFFD CONSTANT = MINUS 3 K2406290 7C1C 7E00 648 | H7E00 DC /7E00 EQUAL SIGN K2406300 7C1D 7AB1 649 | LNEND DC PAREA+120 LINE END CONSTANT K2406310 7C1E 008F 650 | D143 DC 143 CONSTANT K2406320 7C1F 3F00 651 | H3F00 DC /3F00 CONSTANT MASK K2406330 7C20 4000 652 | H4000 DC /4000 CONSTANT MASK K2406340 7C21 7D70 653 | TEX2A DC TEXT2 ADDR OF MSG TO PRINT K2406350 7C22 7D7A 654 | CORA DC CORTX ADDR OF MSG TO PRINT K2406360 7C23 7D86 655 | COMA DC COMTX ADDR OF MSG TO PRINT K2406370 7C24 7D8B 656 | VARA DC VARTX ADDR OF MSG TO PRINT K2406380 7C25 7D92 657 | PROA DC PROTX ADDR OF MSG TO PRINT K2406390 7C26 003C 658 | D60 DC 60 CONSTANT K2406400 7C27 0000 659 | ORGSW DC 0 ORIGIN SWITCH 2-4 K2406405 660 | * K2406410 661 | * SUBROUTINE K2406420 662 | * SET UP TO PRINT A LINE AND GO PRINT K2406430 663 | * *THE LINE K2406440 664 | * K2406450 7C28 0000 665 | PRINN DC *-* ENTRY POINT K2406460 7C29 C305 666 | LD 3 PAPIN-Z GET INT VALUE OF PAP K2406470 7C2A D306 667 | STO 3 PAP-Z RESET PAP K2406480 7C2B D400 7E0D 668 | STO L AREA SAVE PRINT AREA K2406490 7C2D C319 669 | LD 3 D60-Z SET WORD COUNT K2406500 7C2E D400 7A38 670 | STO L WDCNT *=60 K2406510 7C30 4400 7E0E 671 | BSI L PRINT BR TO PRINT A LINE K2406520 7C32 43F4 672 | BSI 3 BLKPA-Z CLEAR PRINT AREA K2406530 7C33 4C80 7C28 673 | BSC I PRINN RETURN K2406540 674 | * K2406550 675 | * K2406560 7C35 0080 676 | C128 DC 128 CONSTANT K2406570 7C36 FFFF 677 | MONE DC -1 CONSTANT K2406580 7C37 000A 678 | TEN DC 10 CONSTANT K2406590 7C38 00C5 679 | H00C5 DC /00C5 CONSTANT MASK K2406600 7C39 0000 680 | MULT DC *-* RETURN ADDRESS K2406610 7C3A 4C00 7C5E 681 | BSC L MULT1 GO TO MULTIPLY SUBROUTINE K2406620 7C3C 0000 682 | NORM DC *-* RETURN ADDRESS K2406630 7C3D 4C00 7C6E 683 | BSC L NORM1 GO TO NORMALIZE ROUTINE K2406640 7C3F 0005 684 | FIVE DC 5 CONSTANT K2406650 7C40 8000 685 | H8000 DC /8000 CONSTANT MASK K2406660 7C41 0060 686 | MINUS DC /0060 EBC MINUS RIGHT JUSTIFIED K2406670 7C42 0040 687 | BLANK DC /0040 EBC BLANK RIGHT JUSTIFIED K2406680 7C43 0006 688 | SIX DC 6 CONSTANT K2406690 689 | * K2406700 690 | * DATA STORAGE AREA FOR BINARY-DECIMAL K2406710 691 | * CONVERSION SUBROUTINE K2406720 692 | * K2406730 7C44 0000 693 | CHAR DC 0 CHARACTER STORAGE K2406740 7C45 0000 694 | FRMAI DC 0 INTEGER OR DECML FLAG K2406750 7C46 0000 695 | FORTP DC 0 TYPE OF DATA TO BE OUTPUT K2406760 7C47 0000 696 | LKTYP DC 0 TEMPORARY STORAGE AREA K2406770 7C44 697 | X EQU CHAR REFERENCE PT FOR DATA AREA K2406780 7C48 698 | BSS E 0 K2406790 7C48 0002 699 | TWO DC 2 CONSTANT (EVEN LOC) K2406800 7C49 0001 700 | ONE DC 1 CONSTANT (ODD LOC) K2406810 7C4A 004B 701 | H004B DC /004B CONSTANT (EVEN LOC) K2406820 7C4B 00F0 702 | H00F0 DC /00F0 CONSTANT (ODD LOC) K2406830 7C4C 0000 703 | JCON DC 0 CHAR STO MULTIPLY (EVEN LOC) K2406840 7C4D 0000 704 | DC 0 *SUBROUTINE (ODD LOC) K2406850 7C4E 0000 705 | BB DC 0 EBC REPRESENTATION(EVEN LOC) K2406860 7C4F 0000 706 | DC 0 *OF EXPONENT (ODD LOC) K2406870 7C50 0000 707 | EENCT DC 0 EXPONENT SIGN (EVEN LOC) K2406880 7C51 0000 708 | DC 0 FIVE (ODD LOC) K2406890 7C52 0000 709 | DC 0 *WORD (EVEN LOC) K2406900 7C53 0000 710 | DC 0 *CONVERSION (ODD LOC) K2406910 7C54 0000 711 | DC 0 *AREA (EVEN LOC) K2406920 7C55 0000 712 | CONVT DC 0 * (ODD LOC) K2406930 7C56 0000 713 | SIGN DC 0 SIGN COUNT (EVEN LOC) K2406940 7C57 0000 714 | DIVCT DC 0 DIVIDE COUNT (ODD LOC) K2406950 7C58 0000 715 | MANSN DC 0 MANTISSA SIGN (EVEN LOC) K2406960 7C59 0000 716 | TEMP DC 0 TEMPORARY STORAGE (ODD LOC) K2406970 7C5A 0000 717 | WW DC 0 FIELD WIDTH (EVEN LOC) K2406980 7C5B 0000 718 | DD DC 0 DECIMAL COUNT (ODD LOC) K2406990 7C5C 0000 719 | PREC DC 0 PRECISION (EVEN LOC) K2407000 7C5D 0000 720 | BIN DC 0 BINARY POINT CNT (ODD LOC) K2407010 721 | * K2407020 722 | * SUBROUTINE K2407030 723 | * MULTIPLY 5 CONVERSION CHARACTERS BY K2407040 724 | * 10 K2407050 725 | * K2407060 7C5E D209 726 | MULT1 STO 2 JCON+1-X STORE CHARACTER K2407070 7C5F 6105 727 | LDX 1 5 SET UP INDEX LOOP FOR 5 K2407080 7C60 C500 7C50 728 | MULT3 LD L1 EENCT GET WDS TO CONVERT K2407090 7C62 A2F3 729 | M 2 TEN-X MULTIPLY BY 10 K2407100 7C63 4828 730 | BSC +Z SKIP IF RESULT NOT - K2407110 7C64 82F3 731 | A 2 TEN-X ADD 10 TO RESULT K2407120 7C65 8A08 732 | AD 2 JCON-X ADD PRESENT CHARACTER K2407130 7C66 D209 733 | STO 2 JCON+1-X STORE MOST SIGNIFICANT BIT K2407140 7C67 1090 734 | SLT 16 SHIFT LEAST SIGNIFICANT TO K2407150 7C68 D500 7C50 735 | STO L1 EENCT *ACC AND SAVE K2407160 7C6A 71FF 736 | MDX 1 -1 DECR WD CNT BY 1 K2407170 7C6B 70F4 737 | MDX MULT3 LOOP UNLESS CNT EXHAUSTED K2407180 7C6C 4C80 7C39 738 | BSC I MULT RETURN TO CALLER K2407190 739 | * K2407200 740 | * NORMALIZATION SUBROUTINE K2407210 741 | * K2407220 7C6E C20D 742 | NORM1 LD 2 CONVT-4-X IS LEFTMOST WORD OF NO. = 0 K2407230 7C6F 4C18 7C73 743 | BSC L NORMT,+- YES, GO CHECK FURTHER K2407240 7C71 4016 744 | BSI NORRT NO, GO NORMALIZE RIGHT K2407250 7C72 70FB 745 | MDX NORM1 BRANCH BACK TO CHECK NORM K2407260 7C73 C20E 746 | NORMT LD 2 CONVT-3-X IS 2ND WORD FROM LEFT NEG. K2407270 7C74 4CA8 7C3C 747 | BSC I NORM,+Z YES, RETURN TO CALLING PROG K2407280 7C76 4001 748 | BSI NORLT NO, GO TO NORM LEFT K2407290 7C77 70F6 749 | MDX NORM1 BRANCH BACK TO CHECK NORM K2407300 750 | * K2407310 751 | * NORMALIZE LEFT SUBROUTINE K2407320 752 | * K2407330 7C78 0000 753 | NORLT DC *-* NORMALIZE LEFT K2407340 7C79 10A0 754 | SLT 32 SHIFT K2407350 7C7A 6105 755 | LDX 1 5 *ANSWER K2407360 7C7B C500 7C50 756 | NORM7 LD L1 EENCT *LEFT K2407370 7C7D 18DF 757 | RTE 31 *ONE K2407380 7C7E D500 7C50 758 | STO L1 EENCT *BIT K2407390 7C80 108F 759 | SLT 15 THIS MEANS ALL 5 K2407400 7C81 71FF 760 | MDX 1 -1 *WORDS OF K2407410 7C82 70F8 761 | MDX NORM7 *CONVERSION AREA K2407420 7C83 C219 762 | LD 2 BIN-X DECR BINARY K2407430 7C84 9205 763 | S 2 ONE-X *POINT COUNTER K2407440 7C85 D219 764 | STO 2 BIN-X *BY 1 K2407450 7C86 4C80 7C78 765 | BSC I NORLT RETURN K2407460 766 | * K2407470 767 | * NORMALIZE RIGHT SUBROUTINE K2407480 768 | * K2407490 7C88 0000 769 | NORRT DC *-* NORMALIZE RIGHT ENTRY K2407500 7C89 61FB 770 | NORM4 LDX 1 -5 SHIFT K2407510 7C8A 10A0 771 | SLT 32 *ALL K2407520 7C8B C500 7C56 772 | LD L1 SIGN *FIVE K2407530 7C8D 18C1 773 | RTE 1 *WORDS K2407540 7C8E D500 7C56 774 | STO L1 SIGN *OF CONVERSION K2407550 7C90 18CF 775 | RTE 15 *AREA K2407560 7C91 7101 776 | MDX 1 1 *RIGHT K2407570 7C92 70F8 777 | MDX NORM4+2 *ONE BIT K2407580 7C93 C219 778 | LD 2 BIN-X INCR BINARY POIN K2407590 7C94 8205 779 | A 2 ONE-X *COUNTER K2407600 7C95 D219 780 | STO 2 BIN-X *BY ONE K2407610 7C96 4C80 7C88 781 | BSC I NORRT RETURN K2407620 782 | * K2407630 783 | * DIVIDE 5 WORD ANSWER BY 10 K2407640 784 | * K2407650 7C98 0000 785 | DIVID DC *-* ENTRY POINT K2407660 7C99 61FC 786 | LDX 1 -4 LOAD INDEX FOR FOUR DIVIDES K2407670 7C9A 10A0 787 | SLT 32 CLEAR ACC AND EXTENSION K2407680 7C9B C205 788 | DIV1 LD 2 ONE-X LD CONSTANT ONE K2407690 7C9C D203 789 | STO 2 LKTYP-X SAVE LKTYP K2407700 7C9D C500 7C56 790 | LD L1 SIGN LD NO.TO BE DIVIDED K2407710 7C9F 18D0 791 | RTE 16 EXCHANGE ACC AND EXTENSION K2407720 7CA0 92FB 792 | S 2 FIVE-X SUBTRACT 5 FOR ROUNDING K2407730 7CA1 4C28 7CA5 793 | BSC L *+2,+Z BR IF NEGATIVE K2407740 7CA3 74FE 7C47 794 | MDX L LKTYP,-2 SET LKTYP = -1 AND SKIP K2407750 7CA5 82FB 795 | A 2 FIVE-X RESTORE 5 PREVIOUSLY DELETED K2407760 7CA6 AAF3 796 | D 2 TEN-X DIVIDE BY 10 K2407770 7CA7 74FE 7C47 797 | MDX L LKTYP,-2 SET LKTYP =-1,SKIP OR-3,CONT K2407780 7CA9 EAFC 798 | OR 2 H8000-X MASK IN NEGATIVE SIGN K2407790 7CAA D500 7C56 799 | STO L1 SIGN SAVE NO BACK IN AREA K2407800 7CAC 7101 800 | MDX 1 1 INCR AREA POINTER K2407810 7CAD 70ED 801 | MDX DIV1 BR IF LOOP NOT FINISHED K2407820 7CAE 4C80 7C98 802 | RETZY BSC I DIVID RETURN TO CALLING PROGRAM K2407830 803 | * K2407840 804 | * ENTRY POINT TO BINARY-DECIMAL K2407850 805 | * CONVERSION SUBROUTINE K2407860 806 | * K2407870 7CB0 0000 807 | BINRY DC *-* ENTRY POINT K2407880 7CB1 6D00 7D6B 808 | STX L1 IR13+1 SAVE XR1 K2407890 7CB3 6E00 7D6D 809 | STX L2 IR13+3 SAVE XR2 K2407900 7CB5 6600 7C44 810 | LDX L2 X GET CON AREA POINTER K2407910 7CB7 6580 7C46 811 | LDX I1 FORTP GET TYPE OF DATA TO BE O/P K2407920 7CB9 4D80 7CBB 812 | BSC I1 * BR TO CORRESPONDING PROG LOC K2407930 7CBB 7CC8 813 | DC BIN4 E TYPE FORMAT K2407940 7CBC 7CCC 814 | DC BIN7 F TYPE FORMAT K2407950 7CBD 7CCA 815 | DC BIN3 I TYPE FORMAT K2407960 7CBE C219 816 | BIN14 LD 2 BIN-X NORM BINARY PT TO 128 K2407970 7CBF 92F1 817 | S 2 C128-X IS POINT GR 128 K2407980 7CC0 4828 818 | BSC +Z SKIP IF YES K2407990 7CC1 7004 819 | MDX BIN17 NO,GO TO NORM RIGHT K2408000 7CC2 4C08 7D37 820 | BSC L BIN19,+ BR IF BINARY PT = 128 K2408010 7CC4 40B3 821 | BSI NORLT BINARY PT GT 128, NORM LEFT K2408020 7CC5 70F8 822 | MDX BIN14 BR BACK TO CHECK BINARY PT K2408030 7CC6 40C1 823 | BIN17 BSI NORRT BR TO NORMALIZE RIGHT K2408040 7CC7 70F6 824 | MDX BIN14 BR BACK TO CHECK BINARY PT K2408050 825 | * K2408060 826 | * E TYPE DATA OUTPUT K2408070 827 | * K2408080 7CC8 C2FF 828 | BIN4 LD 2 SIX-X SET UP COUNT FOR 2 SIGNS K2408090 7CC9 7003 829 | MDX BIN7+1 GO CHECK INPUT MODE K2408100 830 | * K2408110 831 | * I TYPE DATA OUTPUT K2408120 832 | * K2408130 7CCA C2F2 833 | BIN3 LD 2 MONE-X SET UP A FALSE DECIMAL K2408140 7CCB D217 834 | STO 2 DD-X *COUNT FOR K2408150 7CCC C204 835 | BIN7 LD 2 TWO-X *COMMON CALCULATION FOR K2408160 7CCD D215 836 | STO 2 TEMP-X *AVAILABLE PR POSITIONS K2408170 7CCE C216 837 | BIN5 LD 2 WW-X LOAD FIELD WIDTH K2408180 7CCF 9217 838 | S 2 DD-X *LESS DECIMAL COUNT K2408190 7CD0 9215 839 | S 2 TEMP-X *LESS NO. SIGNS TO GET K2408200 7CD1 D215 840 | STO 2 TEMP-X *NO. AVAIL PRINT POSITIONS K2408210 7CD2 10A0 841 | SLT 32 CLEAR ACC AND EXTENSION K2408220 7CD3 D20D 842 | STO 2 CONVT-4-X CLR 1ST WD CONVERSION AREA K2408230 7CD4 DA10 843 | STD 2 CONVT-1-X CLR 4TH AND 5TH WORDS K2408240 7CD5 D213 844 | STO 2 DIVCT-X CLEAR DIVIDE COUNT K2408250 7CD6 C2FE 845 | LD 2 BLANK-X PUT BLANKS IN K2408260 7CD7 D20C 846 | STO 2 EENCT-X *EXPONENT AND K2408270 7CD8 D214 847 | STO 2 MANSN-X *MANTISSA SIGNS K2408280 7CD9 6102 848 | LDX 1 2 SET XR1 TO NO. WDS TO CHK K2408290 7CDA C500 7C51 849 | BIN52 LD L1 EENCT+1 CHECK CONVERSION WD K2408300 7CDC 4820 850 | BSC Z SKIP IF ZERO K2408310 7CDD 700B 851 | MDX BIN51 BR OUT IF NOT K2408320 7CDE 71FF 852 | MDX 1 -1 DECR WD COUNT K2408330 7CDF 70FA 853 | MDX BIN52 BR BACK IF MORE WDS TO CHECK K2408340 7CE0 CA07 854 | LDD 2 H00F0-X LOOP FINISHED, PUT EBC 0 K2408350 7CE1 DA0A 855 | STD 2 BB-X *IN O/P EXPONENT K2408360 7CE2 C202 856 | LD 2 FORTP-X CHECK FOR I TYPE FORMAT TO K2408370 7CE3 9204 857 | S 2 TWO-X *OUTPUT ZEROS INSTEAD OF K2408380 7CE4 4820 858 | BSC Z *BLANKS FOR A REAL K2408390 7CE5 7051 859 | MDX BIN19 *ZERO COMPUTATION K2408400 7CE6 C205 860 | LD 2 ONE-X SET FLAG TO OUTPUT K2408410 7CE7 D213 861 | STO 2 DIVCT-X *ZEROS K2408420 7CE8 704E 862 | MDX BIN19 BRANCH TO OUTPUT K2408430 7CE9 CA0E 863 | BIN51 LDD 2 CONVT-3-X LD MANTISSA (ACC EXTENSION) K2408440 7CEA 4810 864 | BSC - SKIP IF NEGATIVE K2408450 7CEB 7004 865 | MDX BIN9 BR TO NORMALIZE K2408460 7CEC 7420 7C58 866 | MDX L MANSN,32 SET MANTISSA SIGN NEGATIVE K2408470 7CEE 10A0 867 | SLT 32 CLEAR ACC-EXTENSION TO GET K2408480 7CEF 9A0E 868 | SD 2 CONVT-3-X *ABSOLUTE VALUE OF MANTISSA K2408490 7CF0 1081 869 | BIN9 SLT 1 SHIFT OUT SIGN BIT K2408500 7CF1 DA0E 870 | STD 2 CONVT-3-X SAVE ABS VALUE W/O SIGN K2408510 7CF2 C201 871 | LD 2 FRMAI-X TEST FOR INTEGERS K2408520 7CF3 4C18 7D06 872 | BSC L BIN13,+- BR IF INTEGERS K2408530 7CF5 C205 873 | LD 2 ONE-X SET UP FOR ROUNDING,ACC=1 K2408540 7CF6 7400 7C5C 874 | MDX L PREC IS PRECISION EXTENDED K2408550 7CF8 1888 875 | SRT 8 YES, SHIFT TOTAL OF 15 K2408560 7CF9 1887 876 | SRT 7 NO, SHIFT 7 K2408570 7CFA 8A0E 877 | AD 2 CONVT-3-X ADD 2WDS TO BE CONVERTED K2408580 7CFB 4802 878 | BSC C TEST FOR OVERFLOW K2408590 7CFC 7001 879 | MDX *+1 OVERFLOW,BRANCH OVER NXT WD K2408600 7CFD 7007 880 | MDX IR11 NO OVERFLOW, BRANCH OUT K2408610 7CFE 1881 881 | SRT 1 SHIFT 1 MORE TO ROUND K2408620 7CFF EAFC 882 | OR 2 H8000-X PUT BIT IN SIGN POSITION K2408630 7D00 DA0E 883 | STD 2 CONVT-3-X SAVE CONVERSION WD K2408640 7D01 C219 884 | LD 2 BIN-X INCR BINARY K2408650 7D02 8205 885 | A 2 ONE-X *POINT COUNTER K2408660 7D03 D219 886 | STO 2 BIN-X *BY 1 K2408670 7D04 7002 887 | MDX BIN13+1 BR PAST NXT 2 WDS K2408680 7D05 DA0E 888 | IR11 STD 2 CONVT-3-X STORE IN CONVERSION K2408690 7D06 C219 889 | BIN13 LD 2 BIN-X IS BINARY PT GE 128 K2408700 7D07 92F1 890 | S 2 C128-X GREATER THAN 128 K2408710 7D08 4828 891 | BSC +Z SKIP IF GE 128 K2408720 7D09 701C 892 | MDX BIN10 GO HANDLE K2408730 7D0A 4C08 7D15 893 | BSC L BIN11,+ BR IF = 128 K2408740 7D0C 408B 894 | BIN12 BSI DIVID GO DIVIDE ANSWER BY 10 K2408750 7D0D 42F8 895 | BSI 2 NORM-X GO NORMALIZE ANSWER K2408760 7D0E 7401 7C57 896 | MDX L DIVCT,+1 INCR DIVIDE COUNT BY 1 K2408770 7D10 1000 897 | NOP K2408780 7D11 C219 898 | LD 2 BIN-X TEST IF BINARY PT LE 128 K2408790 7D12 92F1 899 | S 2 C128-X *AFTER DIVISION K2408800 7D13 4830 900 | BSC -Z SKIP IF YES K2408810 7D14 70F7 901 | MDX BIN12 NO, DIVIDE AGAIN K2408820 7D15 C202 902 | BIN11 LD 2 FORTP-X TEST OUTPUT E TYPE K2408830 7D16 4820 903 | BSC Z SKIP IF E TYPE K2408840 7D17 70A6 904 | MDX BIN14 NOT E TYPE, BR TO NORM K2408850 7D18 C213 905 | LD 2 DIVCT-X TEST DIVIDE COUNT K2408860 7D19 4C10 7D1F 906 | BSC L BIN16,- IF POSITIVE OR ZERO, BR OUT K2408870 7D1B C2FD 907 | BIN15 LD 2 MINUS-X PUT NEGATIVE SIGN OUT FOR K2408880 7D1C D20C 908 | STO 2 EENCT-X *EXPONENT SIGN K2408890 7D1D 1010 909 | SLA 16 CLEAR ACC K2408900 7D1E 9213 910 | S 2 DIVCT-X GET ABS VALUE OF DIVIDE CNT K2408910 7D1F 18D0 911 | BIN16 RTE 16 PUT DIVIDE CNT IN EXTENSION K2408920 7D20 1010 912 | SLA 16 CLEAR ACC K2408930 7D21 D213 913 | STO 2 DIVCT-X CLEAR DIVIDE COUNT WORD K2408940 7D22 AAF3 914 | D 2 TEN-X DIVIDE DIVIDE CNT BY 10 K2408950 7D23 8A07 915 | AD 2 H00F0-X ADD EBC 0 TO CONVERT TO EBC K2408960 7D24 DA0A 916 | STD 2 BB-X SAVE EBC EXPONENT K2408970 7D25 7098 917 | MDX BIN14 BRANCH TO NORMALIZE K2408980 7D26 C202 918 | BIN10 LD 2 FORTP-X TEST FOR E TYPE OUTPUT K2408990 7D27 4820 919 | BSC Z SKIP IF YES K2409000 7D28 7095 920 | MDX BIN14 NO, GO HANDLE NEG F TYPE K2409010 7D29 42F5 921 | BSI 2 MULT-X MULTIPLY ANSWER BY 10 K2409020 7D2A 42F8 922 | BSI 2 NORM-X GO NORMALIZE ANSWER K2409030 7D2B 74FF 7C57 923 | MDX L DIVCT,-1 DECR DIVIDE COUNT BY 1 K2409040 7D2D 70D8 924 | MDX BIN13 GO CHECK BINARY POINT K2409050 7D2E 70D7 925 | MDX BIN13 *AGAIN AFTER MULTIPLYING K2409060 926 | * K2409070 927 | * SUBROUTINE K2409080 928 | * OUTPUT CHARACTER TO PRINT BUFFER K2409090 929 | * K2409100 7D2F 0000 930 | CHARO DC *-* ENTRY POINT K2409110 7D30 1008 931 | SLA 8 SHIFT CHAR TO LEFT HALF OF K2409120 7D31 D480 7C13 932 | STO I PAP *WD AND STORE IN PRINT BFR K2409130 7D33 7401 7C13 933 | MDX L PAP,1 INCR BUFFER POINTER K2409140 7D35 4C80 7D2F 934 | CHAR3 BSC I CHARO RETURN TO CALLING PROGRAM K2409150 935 | * K2409160 936 | * OUTPUT CONVERTED DECIMAL NUMBER K2409170 937 | * K2409180 7D37 C215 938 | BIN19 LD 2 TEMP-X GET NO. AVAILABLE POSITIONS K2409190 7D38 9213 939 | S 2 DIVCT-X COMPARE WITH DIVIDE COUNT K2409200 7D39 4808 940 | BSC + SKIP IF NO. POSITIONS BIGGER K2409210 7D3A 7006 941 | MDX BIN18 BR TO PUT OUT CHARACTERS K2409220 7D3B D215 942 | STO 2 TEMP-X STORE EXCESS NO. POSITIONS K2409230 7D3C C2FE 943 | BIN20 LD 2 BLANK-X PUT OUT NO. OF K2409240 7D3D 40F1 944 | BSI CHARO *BLANK CHARACTERS EQUAL K2409250 7D3E 74FF 7C59 945 | MDX L TEMP,-1 *TO EXCESS K2409260 7D40 70FB 946 | MDX BIN20 CONTINUE UNTIL LOOP DONE K2409270 7D41 C214 947 | BIN18 LD 2 MANSN-X LD MANTISSA SIGN K2409280 7D42 40EC 948 | BSI CHARO PUT IN PRINT BUFFER K2409290 7D43 C201 949 | LD 2 FRMAI-X CHECK FOR INTEGER K2409300 7D44 4820 950 | BSC Z SKIP IF IT IS AN INTEGER K2409310 7D45 7002 951 | MDX *+2 ELSE,BRANCH AHEAD K2409320 7D46 C2F2 952 | LD 2 MONE-X SET LARGE VALUE IN LAST K2409330 7D47 D211 953 | STO 2 CONVT-X *WORD OF CONVERSION AREA K2409340 7D48 C213 954 | LD 2 DIVCT-X LD DIVIDE COUNT K2409350 7D49 4808 955 | BSC + SKIP IF NOT = ZERO K2409360 7D4A 7008 956 | MDX BIN23 GO HANDLE ZERO K2409370 7D4B 1010 957 | BIN28 SLA 16 CLEAR ACC K2409380 7D4C D20D 958 | STO 2 CONVT-4-X CLEAR CONVERSION WORD 1 K2409390 7D4D 42F5 959 | BSI 2 MULT-X MULTIPLY BY 10 K2409400 7D4E EA07 960 | OR 2 H00F0-X ADD EBC 0 TO CONVERT K2409410 7D4F 40DF 961 | BSI CHARO *OVERFLOW, O/P CHAR K2409420 7D50 74FF 7C57 962 | MDX L DIVCT,-1 DECR DIVIDE COUNT BY 1 K2409430 7D52 70F8 963 | MDX BIN28 BR TO HANDLE MULTIPLY K2409440 7D53 C217 964 | BIN23 LD 2 DD-X TEST DECIMAL COUNT OF FMT K2409450 7D54 4828 965 | BSC +Z SKIP IF 0 OR POSITIVE K2409460 7D55 7009 966 | MDX BIN25 IF NOT, BR TO HANDLE I TYPE K2409470 7D56 C206 967 | LD 2 H004B-X GET EBC DECIMAL POINT K2409480 7D57 40D7 968 | BSI CHARO MOVE TO PRINT BUFFER K2409490 7D58 C217 969 | LD 2 DD-X LD DECIMAL COUNT K2409500 7D59 4808 970 | BSC + SKIP IF GT 0 K2409510 7D5A 7004 971 | MDX BIN25 ZERO, BRANCH AHEAD K2409520 7D5B D213 972 | STO 2 DIVCT-X PUT NO. DECML DIGITS-DIVCT K2409530 7D5C C2F2 973 | LD 2 MONE-X PUT -1 IN K2409540 7D5D D217 974 | STO 2 DD-X *NO. OF DECML DIGITS K2409550 7D5E 70EC 975 | MDX BIN28 GO PROCESS K2409560 7D5F C202 976 | BIN25 LD 2 FORTP-X GET OUTPUT TYPE K2409570 7D60 4820 977 | BSC Z SKIP IF R TYPE K2409580 7D61 7008 978 | MDX IR13 GO RETURN TO CALLER K2409590 7D62 C2F4 979 | LD 2 H00C5-X LOAD EBC E K2409600 7D63 40CB 980 | BSI CHARO PUT IN PRINT BUFFER K2409610 7D64 C20C 981 | LD 2 EENCT-X LOAD EXPONENT SIGN K2409620 7D65 40C9 982 | BSI CHARO PUT IN PRINT BUFFER K2409630 7D66 C20A 983 | LD 2 BB-X LOAD 1 WD OF EXPONENT VALUE K2409640 7D67 40C7 984 | BSI CHARO PUT IN PRINT BUFFER K2409650 7D68 C20B 985 | LD 2 BB+1-X LOAD 2 WD OF EXPONENT VALUE K2409660 7D69 40C5 986 | BSI CHARO PUT IN PRINT BUFFER K2409670 7D6A 6500 0000 987 | IR13 LDX L1 *-* RESTORE XR1 K2409680 7D6C 6600 0000 988 | LDX L2 *-* RESTORE XR2 K2409690 7D6E 4C80 7CB0 989 | BSC I BINRY RETURN TO CALLER K2409700 990 | * K2409710 991 | * MESSAGES TO BE PRINTED THIS PHASE K2409720 992 | * K2409730 993 | * K2409740 7D70 0009 994 | TEXT2 DC 9 K2409750 7D71 C9D5 E3C5 C7C5 D940 995 | EBC .INTEGER CONSTANTS . K2409760 C3D6 D5E2 E3C1 D5E3 | E240 | 7D7A 000B 996 | CORTX DC 11 K2409770 7D7B C3D6 D9C5 40D9 C5D8 997 | EBC .CORE REQUIREMENTS FOR . K2409780 E4C9 D9C5 D4C5 D5E3 | E240 C6D6 D940 | 7D86 0004 998 | COMTX DC 4 K2409790 7D87 40C3 D6D4 D4D6 D540 999 | EBC . COMMON . K2409800 7D8B 0006 1000 | VARTX DC 6 K2409810 7D8C 4040 E5C1 D9C9 C1C2 1001 | EBC . VARIABLES . K2409820 D3C5 E240 | 7D92 0005 1002 | PROTX DC 5 K2409830 7D93 4040 D7D9 D6C7 D9C1 1003 | EBC . PROGRAM . K2409840 D440 | 1004 | * K2409850 1005 | * PHASE EXIT K2409860 1006 | * K2409870 7D98 7002 1007 | HTES2 DC /7002 LINE SPACE PARAMETER K2409880 7D99 C0FE 1008 | EXIT LD HTES2 LOAD LINE SPACE PARAM K2409890 7D9A 4400 7E45 1009 | BSI L LSTPR BR TO SPACE LINE K2409900 7D9C 6580 7DA3 1010 | LDX I1 NXTPH+1 LOAD PARAMETER FOR READING K2409910 7D9E C805 1011 | LDD NXTPH+2 *NEXT PHASE K2409920 7D9F 4C00 7FBC 1012 | BSC L ROL GO TO READ NEXT PHASE K2409930 7DA2 1013 | BSS E 0 K2409940 7DA2 0037 1014 | NXTPH DC 55 ID OF NEXT PHASE K2409950 7DA3 0000 1015 | DC *-* CORE ADDRESS NEXT PHASE K2409960 7DA4 0000 1016 | DC *-* WORD COUNT NEXT PHASE K2409970 7DA5 0000 1017 | DC *-* SECTOR ADDRESS NEXT PHASE K2409980 7DA6 0000 1018 | PTCH1 DC *-* LINK 2-2 K2409990 7DA7 F333 1019 | EOR 3 H8000-Z IS NUMBER /8000 2-2 K2410000 7DA8 4C20 7DAF 1020 | BSC L INTD1,Z BRANCH IF NO 2-2 K2410010 7DAA C333 1021 | LD 3 H8000-Z IF YES - GO HANDLE 2-2 K2410020 7DAB 1881 1022 | SRT 1 *THAT 2-2 K2410030 7DAC 7401 7C5D 1023 | MDX L BIN,1 *SPECIAL 2-2 K2410040 7DAE D345 1024 | STO 3 CONVT-3-Z *NUMBER 2-2 K2410050 7DAF 4400 7CB0 1025 | INTD1 BSI L BINRY GO CONVERT TO DECIMAL 2-2 K2410060 7DB1 4C80 7DA6 1026 | BSC I PTCH1 RETURN 2-2 K2410070 7DB3 1027 | BSS 66 PATCH AREA 2-4 K2410080 7DF5 0000 1028 | DC 0 K2410090 7DF6 1029 | END BPHAR-2 2-2 K2410100 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $CH12 0006 75 332 345 378 $PHSE 0078 67 191 AREA 7E0D 78 172 177 668 ATPA 7B98 497 318 363 516 ATPA1 7BA5 506 499 ATPA2 7BA6 507 502 BB 7C4E 705 855 916 983 985 BIN 7C5D 720 287 296 358 528 762 764 778 780 816 884 886 889 898 1023 BIN10 7D26 918 892 BIN11 7D15 902 893 BIN12 7D0C 894 901 BIN13 7D06 889 872 887 924 925 BIN14 7CBE 816 822 824 904 917 920 BIN15 7D1B 907 BIN16 7D1F 911 906 BIN17 7CC6 823 819 BIN18 7D41 947 941 BIN19 7D37 938 820 859 862 BIN20 7D3C 943 946 BIN23 7D53 964 956 BIN25 7D5F 976 966 971 BIN28 7D4B 957 963 975 BIN3 7CCA 833 815 BIN4 7CC8 828 813 BIN5 7CCE 837 BIN51 7CE9 863 851 BIN52 7CDA 849 853 BIN7 7CCC 835 814 829 BIN9 7CF0 869 865 BINRY 7CB0 807 311 360 989 1025 BLANK 7C42 687 845 943 BLKP1 7C05 617 619 BLKPA 7C01 614 183 185 343 397 621 672 BPHAR 7A36 130 1029 C128 7C35 676 817 890 899 CCWD 7A31 104 200 217 CHAR 7C44 693 697 CHAR3 7D35 934 CHARO 7D2F 930 934 944 948 961 968 980 982 984 986 CKEND 7AFA 328 365 CLOC 7C18 644 240 321 323 364 500 506 CM3 7C1B 647 489 COMA 7C23 655 421 COMON 7A2B 91 COMTX 7D86 998 655 CONVT 7C55 712 281 285 298 300 353 359 425 433 446 525 742 746 842 843 863 868 870 877 883 888 953 958 1024 CORA 7C22 654 399 COREQ 7B3C 397 219 385 CORTX 7D7A 996 654 CS000 7B80 467 456 459 462 475 CS010 7B87 475 480 CS050 7B89 479 469 473 CSIZE 7A2C 92 424 455 D143 7C1E 650 527 D60 7C26 658 669 DD 7C5B 718 304 834 838 964 969 974 DFCNT 7A33 125 DIV1 7C9B 788 801 DIVCT 7C57 714 844 861 896 905 910 913 923 939 954 962 972 DIVID 7C98 785 802 894 EENCT 7C50 707 728 735 756 758 846 849 908 981 ENT 7A72 190 137 EOFS 7A25 85 EOFST 7A2A 90 244 ERROR 7A2D 93 197 479 503 EXIT 7D99 1008 198 464 504 FIVE 7C3F 684 792 795 FNAME 7A2E 101 401 FORTP 7C46 695 310 530 811 856 902 918 976 FRMAI 7C45 694 308 526 871 949 H000A 7BE5 568 597 H000F 7BE4 567 596 H0039 7BE6 569 599 H004B 7C4A 701 967 H00C5 7C38 679 979 H00F0 7C4B 702 854 915 960 H3F00 7C1F 651 576 H4000 7C20 652 588 615 H7E00 7C1C 648 312 361 H8000 7C40 685 354 356 798 882 1019 1021 HC000 7C15 641 583 HEAD 7F8B 72 73 HTES 7B04 337 341 349 HTES1 7BC4 538 537 541 542 HTES2 7D98 1007 1008 HTES3 7BD8 553 INCR 7C14 638 231 INTC 7B16 351 342 INTD 7B22 360 355 INTD1 7DAF 1025 1020 INTLS 7BB1 521 351 423 431 441 531 IOCS 7A32 113 IR11 7D05 888 880 IR13 7D6A 987 808 809 978 JCON 7C4C 703 726 732 733 L4011 7A81 211 L4012 7AB1 239 225 L4013 7AB8 243 371 L401X 7AB4 241 391 L4021 7ABD 246 L4022 7ADA 293 275 L4024 7AE5 303 233 288 L4025 7AE8 305 234 L4031 7B05 339 249 L4032 7B2A 370 247 252 330 334 340 L4033 7B2D 375 245 LKTYP 7C47 696 789 794 797 LNEND 7C1D 649 329 LOOPP 7BC9 541 550 LSTPR 7E45 77 1009 MANSN 7C58 715 847 866 947 MASK3 7C1A 646 487 MEMRY 8000 64 65 66 MINUS 7C41 686 907 MONE 7C36 677 833 952 973 MSTP 7B8C 485 370 453 471 472 494 MULT 7C39 680 738 921 959 MULT1 7C5E 726 681 MULT3 7C60 728 737 NEQ 7A36 137 195 NEWPG 7E0C 74 76 78 333 346 379 NORLT 7C78 753 748 765 821 NORM 7C3C 682 747 895 922 NORM1 7C6E 742 683 745 749 NORM4 7C89 770 777 NORM7 7C7B 756 761 NORMT 7C73 746 743 NORRT 7C88 769 744 781 823 NXTPH 7DA2 1014 133 1010 1011 ONE 7C49 700 763 779 788 860 873 885 ORG 7A23 83 501 ORGSW 7C27 659 203 498 OVERL 7A23 65 80 OVERP 7E42 73 74 77 PAP 7C13 637 328 375 540 551 562 563 667 932 933 PAPIN 7C12 636 171 376 666 PAREA 7A39 139 236 237 617 636 637 649 PHEAD 7AC6 265 181 182 PHID 0036 69 190 PREC 7C5C 719 274 874 PRINN 7C28 665 331 344 350 377 398 418 448 673 PRINT 7E0E 76 175 180 671 PROA 7C25 657 439 PROTX 7D92 1002 657 PTCH1 7DA6 1018 426 434 447 1026 PTEX1 7A58 171 265 PTEXT 7BC2 536 348 400 422 430 440 553 RETZY 7CAE 802 ROL 7FBC 66 72 1012 RVARF 7C16 642 230 272 322 SIGN 7C56 713 772 774 790 799 SIX 7C43 688 828 SOFGT 7A29 89 SOFNS 7A27 87 442 445 461 SOFS 7A24 84 SOFST 7A26 86 241 SOFXT 7A28 88 239 432 444 458 SORF 7A30 103 STOCH 7BE3 566 560 561 584 STP 7C19 645 242 243 491 492 493 STPS 7C17 643 212 250 339 384 389 TEMP 7C59 716 836 839 840 938 942 945 TEN 7C37 678 729 731 796 914 TEX2A 7C21 653 347 TEXT1 7A4A 156 176 TEXT2 7D70 994 653 TOPA 7BE7 575 403 406 411 414 417 585 602 608 TOPA1 7BEC 584 589 TOPA2 7BF0 588 577 TOPAB 7BFC 606 319 515 609 TOPAH 7BF2 595 508 510 512 514 603 TOPAU 7BDA 559 313 362 564 586 TOPAX 7BDC 561 587 TWO 7C48 699 835 857 VARA 7C24 656 429 VARTX 7D8B 1000 656 WDCNT 7A38 138 174 179 670 WW 7C5A 717 306 523 837 X 7C44 697 726 729 731 732 733 742 746 762 763 764 778 779 780 788 789 792 795 796 798 810 816 817 828 833 834 835 836 837 838 839 840 842 843 844 845 846 847 854 855 856 857 860 861 863 868 870 871 873 877 882 883 884 885 886 888 889 890 895 898 899 902 905 907 908 910 913 914 915 916 918 921 922 938 939 942 943 947 949 952 953 954 958 959 960 964 967 969 972 973 974 976 979 981 983 985 Z 7C0D 631 171 184 194 203 212 240 243 250 272 312 313 318 319 321 322 323 328 329 331 339 343 344 347 348 350 351 354 356 359 361 362 363 375 376 384 389 397 398 399 400 403 406 411 414 417 418 421 422 423 429 430 431 439 440 441 448 487 489 491 492 498 500 506 527 552 576 588 615 620 666 667 669 672 1019 1021 1024