BOOTSTRAP NO CLEAR ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 0 RIPPLE READ 1040A PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB RIPPLE READ 102 * 103 * SENSE SWITCHES: 104 * C ON TO PRINT CORRECT RESULTS. 105 * D ON TO REPEAT TEST (AS OPPOSED TO CHAINING). ANOTHER SET OF 106 * DETAIL CARDS IS NEEDED. 107 * E ON FOR ERROR PRINT. 108 * 109 * HALTS: 110 * 99 IN A-STAR AND B-STAR IF NO MORE DETAIL RECORDS AND NO HEADER. 111 * PUSHING START TRIES AGAIN. IF READING DETAIL FROM TAPE IT 112 * IS NONETHELESS POSSIBLE TO READ MORE DETAIL FROM CARDS HERE. 113 * 86 IN A-STAR AND B-STAR IF TAPE ERROR. PUSHING START TRIES AGAIN. 114 * IT IS POSSIBLE TO READ MORE DETAIL FROM CARDS HERE. 115 * 611 (517 IN A-STAR, 593 IN I-STAR) IF COMPARE FAILS. 116 * 117 * SET A WORD MARK IN 1. READ DETAIL RECORDS FROM CARDS IF THERE 118 * ARE ANY. OTHERWISE HALT IF 81 IS NOT GM (PROGRAM IS NOT LOADED 119 * FROM TAPE). OTHERWISE READ A RECORD FROM TAPE INTO 1. IF 80 IS 120 * A, BRANCH TO 1. 121 * 122 * PRINT THE FIRST TWO IF HEADPR IS NOT BLANK. OTHERWISE SKIP THEM. 123 * 124 START EQU DETAIL 0347 125 ORG 336 AT 336 TO ALLOW CHAINING CS TO W 0336 126 HEADPR EQU 190 PRINT FIRST TWO DETAIL IF NOT BLANK. 0190 127 HEADCT DCW 0 HOW MANY DETAIL READ? PRINT FIRST 2. 1 0336 4 128 TAPERR BSP 1 BACKSPACE 5 0337 U %U1 B 4 129 NOP 86 86 IF TAPE ERROR 4 0342 N 086 4 130 H HALT WITH 86 IN A-STAR AND B-STAR 1 0346 . 4 131 DETAIL SW 1,81 1 FOR HEADER, 81 UNDER GM IF TAPE 7 0347 , 001 081 4 132 BLC NOCARD NO CARDS LEFT? 5 0354 B 363 A 4 133 R TESTHD READ A DETAIL OR HEADER CARD 4 0359 1 407 4 134 NOCARD BCE TAPEHD,81," TAPE LOAD PUTS GM IN 81 8 0363 B 389 081 " 5 135 B FINIS 4 0371 B 380 5 136 TAPEOF BSP 1 5 0375 U %U1 B 5 137 FINIS NOP 99 99 IF NO TAPE OR EOF 4 0380 N 099 5 138 H HALT WITH 99 IN A-STAR AND B-STAR 1 0384 . 5 139 B DETAIL TRY AGAIN 4 0385 B 347 5 140 TAPEHD RTW 1,1 READ A DETAIL OR HEADER TAPE RECORD 8 0389 L %U1 001 R 5 141 BER TAPERR ERROR? 5 0397 B 337 L 6 142 BEF TAPEOF EOF? 5 0402 B 375 K 6 143 TESTHD BCE 1,80,A EXECUTE IF A HEADER 8 0407 B 001 080 A 6 144 BCE CONT,HEADCT,2 HEADERS PRINTED YET? 8 0415 B 453 336 2 6 145 BCE SKIPHD,HEADPR, SKIP HEADER PRINTING? 8 0423 B 442 190 6 146 LCA 77,277 PRINT THE FIRST TWO HEADERS 7 0431 L 077 277 7 147 W 1 0438 2 7 1 RIPPLE READ 1040A PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 CS 1 0439 / 7 149 CS 1 0440 / 7 150 W 1 0441 2 7 151 SKIPHD A *-6,HEADCT 7 0442 A 442 336 7 152 B DETAIL 4 0449 B 347 7 153 * 154 * TEST STARTS HERE. FIRST DETAIL CARD IS ALREADY IN 1-80. 155 * 156 CONT CS 332 START TEST 4 0453 / 332 8 157 CS 1 0457 / 8 158 OUTER LCA K01,CCOUNT SET CARD COUNTER TO ONE 7 0458 L 603 605 8 159 AGAIN LCA 80,280 LOAD CARD INTO PRINT AREA 7 0465 L 080 280 8 160 LCA CCOUNT,299 LOAD CARD NUMBER INTO PRINT AREA 7 0472 L 605 299 8 161 LCA RSTART,RCOUNT START RIPPLING COUNTER AT 779 7 0479 L 610 613 8 162 A CCOUNT,RCOUNT ADD CARD COUNTER TO RIPPLING COUNTER 7 0486 A 605 613 9 163 MCW RCOUNT,*&4 MOVE RIPPLING COUNTER INTO NEXT INSTR 7 0493 M 613 503 9 164 C 0-0,80 COMPARE TABLE WITH CARD 7 0500 C 000 080 9 165 BU ERRPRT BRANCH TO ERROR PRINT ROUTINE IF UNEQ 5 0507 B 553 / 9 166 BSS CORR,C C ON TO CORRECT PRINT 5 0512 B 565 C 9 167 TEST C CCOUNT,K60 COMPARE CARD COUNTER WITH 60 7 0517 C 605 607 9 168 BU MORE BR TO ADD 1 TO CARD COUNTER IF NOT 60 5 0524 B 538 / 10 169 DONE BSS REPEAT,D D ON TO REPEAT TEST 5 0529 B 549 D 10 170 B DETAIL BRANCH TO CHAIN NEXT PROGRAM 4 0534 B 347 10 171 MORE A *-6,CCOUNT ADD 1 TO CARD COUNTER 7 0538 A 538 605 10 172 R AGAIN READ NEXT DETAIL CARD AND BRANCH BACK 4 0545 1 465 10 173 REPEAT R OUTER READ FIRST DETAIL CARD IN 2ND ETC. SE 4 0549 1 458 10 174 * 175 * RESULTS 176 * 177 ERRPRT LCA ERROR,290 BEGIN ERROR PRINT ROUTINE 7 0553 L 601 290 10 178 BSS ERRHLT,E E ON TO ERROR STOP 5 0560 B 593 E 11 179 CORR W PRINT CARD 1 0565 2 11 180 CS CLEAR PRINT AREA 1 0566 / 11 181 CS ,, 1 0567 / 11 182 SW 201 SET WM IN PRINT AREA 4 0568 , 201 11 183 MCW RCOUNT,*&4 MOVE RIPPLING COUNTER INTO NEXT INSTR 7 0572 M 613 582 11 184 MCW 0-0,280 MOVE TABLE INTO PRINT AREA 7 0579 M 000 280 11 185 W PRINT TABLE 1 0586 2 12 186 CS CLEAR PRINT AREA 1 0587 / 12 187 CS ,, 1 0588 / 12 188 W TEST SPACE 4 0589 2 517 12 189 ERRHLT H TEST ERROR STOP 4 0593 . 517 12 190 ERROR DCW @ERROR@ 5 0601 12 191 * 192 * DATA 193 * 194 K01 DCW 01 CONSTANT TO INCREMENT CARD COUNTER 2 0603 12 195 CCOUNT DCW #2 CARD COUNTER 2 0605 13 196 K60 DCW 60 CONSTANT TO STOP CARD COUNTER 2 0607 13 197 RSTART DSA DATA1-1 CONSTANT TO START RIPPLING COUNTER 3 0610 692 13 1 RIPPLE READ 1040A PAGE 3 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 RCOUNT DCW #3 RIPPLING COUNTER 3 0613 13 199 DCW @AKT4 BLU5"CMV6 DNW7_@ TABLE TO CHECK RIPPLE READ 20 0633 13 200 DC @EOX8 FPY9+GQZ0 HR'#(@ ,, 20 0653 14 201 DC @I-,@ &$%1?.*/2 )JS3!@ ,, 20 0673 15 202 DATA1 DC @AKT4 BLU5"CMV6 DNW7_@ ,, 20 0693 16 203 DC @EOX8 FPY9+GQZ0 HR'#(@ ,, 20 0713 17 204 DC @I-,@ &$%1?.*/2 )JS3!@ ,, 20 0733 18 205 DC @AKT4 BLU5"CMV6 DNW7@ ,, 19 0752 18 206 DCW @"@ GMWM 1 0753 19 207 END START / 347 080 1 RIPPLE READ 1040A PAGE 4 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS AGAIN 465 CCOUNT 605 CONT 453 CORR 565 DATA1 693 DETAIL 347 DONE 529 ERRHLT 593 ERROR 601 ERRPRT 553 FINIS 380 HEADCT 336 HEADPR 190 K01 603 K60 607 MORE 538 NOCARD 363 OUTER 458 RCOUNT 613 REPEAT 549 RSTART 610 SKIPHD 442 START 347 TAPEHD 389 TAPEOF 375 TAPERR 337 TEST 517 TESTHD 407