CLEAR STORAGE 1 ,008015,022026,030037,044,049,053053N000000N00001026 1 CLEAR STORAGE 2 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0? 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 0 TEST READING AND WRITING SHORT RECORDS ON TAPE X5040 PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB TEST READING AND WRITING SHORT RECORDS ON TAPE 102 * 103 * SENSE SWITCHES: 104 * B: DON'T CHECK FOR ERRORS IF ON 105 * C: PRINT STUFF IF ON 106 * D: REPEAT SAME RECORD IF ON 107 * E: HALT ON ERROR IF ON 108 * F: NOT USED 109 * G: REPEAT ENTIRE TEST IF ON 110 * 111 * STUFF IN THE PREAMBLE -- NOT IN ONE-FIELD-PER-CARD FORMAT 112 * 113 ORG 333 0333 114 * 115 * SET UP FOR ONE-FIELD-PER-CARD FORMAT AND START LOADING 116 * 117 SW 8,12 7 0333 , 008 012 4 118 RELOAD SW 1 4 0340 , 001 4 119 R 1 4 0344 1 001 4 120 * 121 * LOOK FOR NEXT PROGRAM -- A IN COLUMN 80 122 * 123 NXPROG R 1 0348 1 4 124 TPTEST BCE *&5,80,A 8 0349 B 361 080 A 4 125 B 421 WHAT'S GOING TO BE AT 421? 4 0357 B 421 4 126 CS RELOAD,80 7 0361 / 340 080 4 127 DCW #1 1 0368 5 128 * 129 * TITLE PRINT ROUTINE NOTICE THAT IN THE ORIGINAL FORMAT, 130 * THE TITLE AND ID ARE IN CC 49-77 OF THE LAST CARD -- THE ONE 131 * THAT TRANSFERS CONTROL TO THE PROGRAM. 132 * 133 TITLSW EQU 1252 1 TO USE TITLE PRINT ROUTINE 1252 134 HDRS EQU 1120 ALL PROGRAMS PUT HEADERS IN 1120-1199 1120 135 TITLEX EQU 413 ALL ROUTINES MUST RETURN HERE AFTER TITLE 0413 136 * 137 ORG 1200 1200 138 TITLPR W PRINT (SPACE). 1 1200 2 6 139 SW 49 SET WM FOR TITLE AND BLOCK NO. 4 1201 , 049 6 140 LCA 77,277 LOAD TITLE AND BLOCK NO. IN PRINT AREA. 7 1205 L 077 277 6 141 W PRINT TITLE AND BLOCK NO. 1 1212 2 6 142 CS 277 CLEAR PRINT AREA 4 1213 / 277 6 143 W PRINT (SPACE). 1 1217 2 6 144 CW HDRS&20,HDRS&40 CLEAR WORD MARKS IN SECOND 7 1218 ) /40 /60 6 145 CW HDRS&60 LINE STORED INFORMATION. 4 1225 ) /80 7 146 LCA HDRS&79 LOAD SECOND LINE. 4 1229 L /99 7 147 W PRINT SECOND LINE. 1 1233 2 7 1 TEST READING AND WRITING SHORT RECORDS ON TAPE X5040 PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 CS 280 CLEAR PRINT AREA. 4 1234 / 280 7 149 W TITLEX PRINT (SPACE) AND BRANCH TO MAIN PROGRAM. 4 1238 2 413 7 150 DCW #1 1 1242 7 151 * 152 TAPES1 EQU 1268 BLANK INDICATES THE TAPE LOADER 1268 153 TAPERD EQU 1288 TAPE READ ROUTINE? 1288 154 TAPES2 EQU 1398 GM INDICATES THE TAPE LOADER 1398 155 * 156 * STUFF THAT IS IN ONE-FIELD-PER-CARD FORMAT 157 * 158 ORG 377 0377 159 BOP BCE TAPERD,TAPES1, USE WHEN TESTS ARE RUN FROM TAPE 8 0377 B S88 S68 8 160 BIN START, ,, 5 0385 B 400 8 161 ORG 400 0400 162 START CS 332 START TEST 4 0400 / 332 9 163 CS 1 0404 / 9 164 BOP2 BCE TITLPR,TITLSW,1 BR TO TITLE PRINT ROUTINE? 8 0405 B S00 S52 1 9 165 LOOP MCW K001,PASSCT SET PASS COUNTER TO 001 7 0413 M '04 '07 9 166 N0 0 NOP 5 0420 N 000 0 9 167 SW 199 SET WM IN 199 4 0425 , 199 9 168 BIN INIT, BR TO SET MOD INSTR TO INITIAL COND. 5 0429 B 886 9 169 ORG 437 0437 170 WRITE WT 4,208 WRITE 15 CHARACTER RECORD 8 0437 M %U4 208 W 10 171 BSS TESTEF,B B ON TO SCOPE 5 0445 B 455 B 10 172 BER ERROR BRANCH IF WRITE ERROR 5 0450 B 637 L 10 173 TESTEF BEF EOR BRANCH IF END OF REEL 5 0455 B 628 K 10 174 BSP 4 BACKSPACE 5 0460 U %U4 B 10 175 RT 4,245 READ BACK SAME 15 CHARACTER RECORD 8 0465 M %U4 245 R 10 176 BSS WRITE,B B ON TO SCOPE 5 0473 B 437 B 11 177 BER SETER BRANCH IF READ ERROR 5 0478 B 664 L 11 178 B WMTEST BRANCH TO TEST FOR ERROR BY COMPARING 4 0483 B 745 11 179 MVPASS MCS PASSCT,203 MOVE PASS NUMBER 7 0487 Z '07 203 11 180 NOPSW NOP ERPRNT NOP IF NO ERRORS - BRANCH IF ANY ERROR 4 0494 N 725 11 181 DC @ @ 1 0498 11 182 BSS PRINT,C C ON TO CORRECT ROUTINE 5 0499 B 737 C 11 183 DTEST BSS SWDONE,D D ON TO REPEAT SAME RECORD 5 0504 B 933 D 11 184 C MOVE&3,TAPCA TEST IF LAST RECORD HAS BEEN WRITTEN 7 0509 C 944 '10 12 185 BU BUMP BRANCH IF NOT LAST RECORD 5 0516 B 613 / 12 186 BCE LOOPT,PASSCT-1,1 BRANCH IF END OF 10TH PASS 8 0521 B 601 '06 1 12 187 A 1000,PASSCT ADD 1 TO PASS COUNTER 7 0529 A '00 '07 12 188 BIN INIT, BRANCH TO START NEXT PASS 5 0536 B 886 12 189 ORG 601 0601 190 LOOPT BSS LOOP,G G ON TO REPEAT TEST 5 0601 B 413 G 13 191 CS NXPROG,299 BRANCH TO READ NEXT PROGRAM 7 0606 / 348 299 13 192 BUMP SW MOVE&1 ADD 1 TO MOVE INSTR TO SET UP NEXT 4 0613 , 942 13 193 A K001-4,MOVE&3 RECORD TO BE WRITTEN 7 0617 A '00 944 13 194 B SWDONE BRANCH TO SET UP NEXT RECORD 4 0624 B 933 13 195 EOR RWD 4 REWIND 5 0628 U %U4 R 13 196 B SWDONE BRANCH TO SET UP SAME RECORD 4 0633 B 933 13 197 ERROR LCA BOP2,NOPSW CHANGE NOP TO BRANCH 7 0637 L 405 494 14 1 TEST READING AND WRITING SHORT RECORDS ON TAPE X5040 PAGE 3 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 MCW 1088,230 MOVE TAPE WRITE ERROR COMMENT 7 0644 M '88 230 14 199 BSS WRHALT,E E ON TO ERROR STOP 5 0651 B 660 E 14 200 B TESTEF BRANCH TO TEST FOR END OF REEL 4 0656 B 455 14 201 WRHALT H TESTEF ERROR STOP IF TAPE WRITE ERROR 4 0660 . 455 14 202 SETER LCA BOP2,NOPSW CHANGE NOP TO BRANCH 7 0664 L 405 494 14 203 MCW 1088,267 MOVE TAPE READ ERROR COMMENT 7 0671 M '88 267 15 204 BSS REHALT,E E ON TO ERROR STOP 5 0678 B 687 E 15 205 B 745 BRANCH TO TEST FOR ERROR BY COMPARING 4 0683 B 745 15 206 REHALT H 745 ERROR STOP IF TAPE READ ERROR 4 0687 . 745 15 207 UNEQ SW 246,258 SET WM IN TAPE READ AREA 7 0691 , 246 258 15 208 UNEQ2 LCA BOP2,NOPSW CHANGE NOP TO BRANCH 7 0698 L 405 494 15 209 MCW CMPMSG,278 MOVE COMPARE ERROR COMMENT 7 0705 M '95 278 16 210 BSS UNHALT,E E ON TO ERROR STOP 5 0712 B 721 E 16 211 B MVPASS BRANCH TO MOVE PASS NUMBER 4 0717 B 487 16 212 UNHALT H MVPASS ERROR STOP IF ERROR DETECTED BY COMPAR 4 0721 . 487 16 213 ERPRNT MCW ERRMSG,285 MOVE WORD ERROR TO PRINT 7 0725 M /00 285 16 214 BSS DTEST,E E OFF TO ERROR PRINT 5 0732 B 504 E 16 215 PRINT W PRINT 1 0737 2 16 216 WM PRINT WORD MARKS 2 0738 2 ) 17 217 BIN DTEST, BRANCH TO SENSE D 5 0740 B 504 17 218 WMTEST BW *&5,246 TEST FOR WORD MARKS 8 0745 V 757 246 1 17 219 B UNEQ2 ,, 4 0753 B 698 17 220 BW *&5,258 ,, 8 0757 V 769 258 1 17 221 B UNEQ2 ,, 4 0765 B 698 17 222 CW 246,258 ,, 7 0769 ) 246 258 17 223 CW 260,223 ,, 7 0776 ) 260 223 18 224 C 260,223 TEST FOR ERRORS BY COMPARING 7 0783 C 260 223 18 225 BU UNEQ ,, 5 0790 B 691 / 18 226 C 258,221 ,, 7 0795 C 258 221 18 227 BU UNEQ ,, 5 0802 B 691 / 18 228 C 252,215 ,, 7 0807 C 252 215 18 229 BU UNEQ ,, 5 0814 B 691 / 19 230 BW UNEQ,259 TEST FOR WORD MARKS 8 0819 V 691 259 1 19 231 BW UNEQ,253 ,, 8 0827 V 691 253 1 19 232 BW UNEQ,245 ,, 8 0835 V 691 245 1 19 233 SW 246,258 ,, 7 0843 , 246 258 19 234 BIN MVPASS, ,, 5 0850 B 487 20 235 ORG 886 0886 236 INIT MCW TAPCA&4,MOD1&3 SET MODIFIED INSTR TO INITIAL COND 7 0886 M '14 910 21 237 MCW TAPCA&8,MOVE&3 ,, 7 0893 M '18 944 21 238 INIT2 CW MOD1&1,TAPCON SET WORD MARKS THROUGHOUT TABLE 7 0900 ) 908 /13 21 239 MOD1 SW TAPCON-12,MOD1&1 ,, 7 0907 , /01 908 21 240 BW SWDONE,TAPCON ,, 8 0914 V 933 /13 1 21 241 A K001-4,MOD1&3 ,, 7 0922 A '00 910 22 242 B INIT2 ,, 4 0929 B 900 22 243 SWDONE CS 299 CLEAR PRINT AREA 4 0933 / 299 22 244 CW MOVE&1 SET UP 15 CHARACTER RECORD TO BE 4 0937 ) 942 22 245 MOVE MCW TAPCON-11,209 WRITTEN ON TAPE 7 0941 M /02 209 22 246 LCA ,, 1 0948 L 22 247 MCW 209,211 ,, 7 0949 M 209 211 22 1 TEST READING AND WRITING SHORT RECORDS ON TAPE X5040 PAGE 4 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 MCW 211,215 ,, 7 0956 M 211 215 23 249 LCA 214,222 ,, 7 0963 L 214 222 23 250 SW 222 ,, 4 0970 , 222 23 251 LCA GMWM,223 ,, 7 0974 L S50 223 23 252 MCW HDRS&20,NOPSW CHANGE ERROR BRANCH TO NOP 7 0981 M /40 494 23 253 SW 246,258 SET WORD MARK IN TAPE READ AREA 7 0988 , 246 258 23 254 BIN WRITE, BRANCH TO WRITE TAPE 5 0995 B 437 24 255 K001 DCW 10001 CONSTANT 5 1004 24 256 PASSCT DCW @XXX@ PASS COUNTER FOR NO. OF TEST PASSES 3 1007 24 257 TAPCA DSA TAPCON 3 1010 /13 24 258 SW TAPCON-12 4 1011 , /01 24 259 MCW TAPCON-11 4 1015 M /02 24 260 ORG 1085 1085 261 DCW @TAPE@ CONSTANTS FOR PRINTOUTS 4 1088 25 262 CMPMSG DCW @COMPARE@ ,, 7 1095 25 263 ERRMSG DCW @ERROR@ ,, 5 1100 25 264 TAPCON DCW @AAKT4EOX8I-,@@ CONSTANTS FOR TAPE RECORDS 13 1113 25 265 ORG HDRS 1120 266 DCW @PASS RECORD WRITTE@ CONSTANTS FOR HEADINGS 20 1139 26 267 DCW @N TYPE OF ERRORS@ ,, 20 1159 27 268 DCW @ RECORD READ BACK@ ,, 20 1179 28 269 DCW @ TYPE OF ERRORS @ ,, 20 1199 29 270 ORG 1250 1250 271 GMWM DCW @"@ ,, 1 1250 30 272 * 273 * STUFF AT THE END. NOT IN ONE-FIELD-PER-CARD FORMAT 274 * LOOKS LIKE IT'S FOR AUTOMATICALLY FIGURING OUT WHETHER THE 275 * PROGRAM IS LOADED FROM TAPE. 276 * 277 ORG 19 0019 278 BEGIN BCE ONTAPE,TAPES2," GM AT TAPES2? 8 0019 B 031 T98 " 31 ADDR 279 B START 4 0027 B 400 31 ADDR 280 ONTAPE LCA BTAPE&4,TPTEST&3 7 0031 L 046 352 31 ADDR 281 B 1604 WHAT'S GOING TO BE AT 1604? 4 0038 B W04 31 ADDR 282 BTAPE B TAPERD 4 0042 B S88 31 ADDR 283 END BEGIN / 019 080 1 TEST READING AND WRITING SHORT RECORDS ON TAPE X5040 PAGE 5 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BEGIN 19 BOP 377 BOP2 405 BTAPE 42 BUMP 613 CMPMSG 1095 DTEST 504 EOR 628 ERPRNT 725 ERRMSG 1100 ERROR 637 GMWM 1250 HDRS 1120 INIT 886 INIT2 900 K001 1004 LOOP 413 LOOPT 601 MOD1 907 MOVE 941 MVPASS 487 NOPSW 494 NXPROG 348 ONTAPE 31 PASSCT 1007 PRINT 737 REHALT 687 RELOAD 340 SETER 664 START 400 SWDONE 933 TAPCA 1010 TAPCON 1113 TAPERD 1288 TAPES1 1268 TAPES2 1398 TESTEF 455 TITLEX 413 TITLPR 1200 TITLSW 1252 TPTEST 349 UNEQ 691 UNEQ2 698 UNHALT 721 WMTEST 745 WRHALT 660 WRITE 437 ***** ** 5 Errors ERROR