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 VOBJ.S 07/16/22 19:31:52 -5112 PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD A-ADDR B-ADDR 101 JOB VOBJ.S 07/16/22 19:31:52 102 CTL 6611 *6=16,000C;6=16,000T;1=OBJDECK;,1=MODADD 103 * 1 2 3 4 5 6 7 8 104 *78901234567890123456789012345678901234567890123456789012345678901234567890 105 * LABEL | OP | OPERATION |XXXXXXX 106 *------------------------------------------------------------------ 107 * VOBJ -- VERIFY OBJECT DECK SEQUENCE. 108 * THIS PROGRAM READS AN OBJECT DECK AND VERIFIES THAT 109 * SEQUENCE NUMBERS (IN CARD COLUMNS 72-75) START AT 0001 110 * AND CONTINUE IN ORDINAL SEQUENCE 111 * JACK GHISELLI, 2022-03-24 112 *------------------------------------------------------------------ 113 ORG 87 0087 114 X1 DCW @000@ * INDEX REGISTER 1 3 0089 4 115 ORG 92 0092 116 X2 DCW @000@ * INDEX REGISTER 2 3 0094 5 117 ORG 97 0097 118 X3 DCW @000@ * INDEX REGISTER 3 3 0099 6 119 * CARD AREA 120 ORG 1 0001 121 DS 71 * OBJ CARD TEXT 0071 122 CDSEQ DS 4 * OBJ CARD SEQ # 0075 123 CDPGM DS 5 * OBJ CARD PGM ID 0080 124 * PRINT AREA 125 ORG 201 0201 126 PRCARD DS 80 0280 127 DS 1 0281 128 PRX1 DS 5 0286 129 PRSEQ DS 4 0290 130 DS 1 0291 131 PRX2 DS 30 0321 132 * BEGIN ACTUAL CODE 133 ORG 333 0333 134 * IN-MEMORY STRING WITH PROGRAM ID AND REVISION 135 PGMID DCW @VOBJ REV 2.1 GENERATED 07/16/2022@ 34 0366 7 136 * BEGIN EXECUTION 137 START CC 1 2 0367 F 1 7 138 MLC PGMID,234 * THIS PROGRAM ID 7 0369 M 366 234 8 366 234 139 W * PRINT IT 1 0376 2 8 140 CS 299 * CLEAR PRINT AREA 4 0377 / 299 8 299 141 W * BLANK LINE 1 0381 2 8 142 * 143 HALT H 111,111 * WAIT FOR OPERATOR TO HIT START 7 0382 . 111 111 8 111 111 144 MLC &SAV,X1 * START OF SAVE AREA 7 0389 M T08 089 8 1308 089 145 MLC ZERO,SEQ * ZERO CARD COUNTER 7 0396 M S82 S90 8 1282 1290 146 CS 332 4 0403 / 332 9 332 147 CS 1 0407 / 9 1 VOBJ.S 07/16/22 19:31:52 -5112 PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD A-ADDR B-ADDR 148 CS 80 4 0408 / 080 9 080 149 SW 1,201 7 0412 , 001 201 9 001 201 150 BSS RD2,B * SS B MEANS READ SUSPECT DECK 5 0419 B 650 B 9 650 151 *------------------------------------------------------------------ 152 * READ, CHECK, AND STORE KNOWN-GOOD DECK 153 *------------------------------------------------------------------ 154 RD1 MLC ZERO,SEQKG * NO STORED KD DECK YET 7 0424 M S82 S98 9 1282 1298 155 MLC ZERO,SEQSV 7 0431 M S82 S94 9 1282 1294 156 MLC @READING KNOWN-GOOD CARD DECK@,228 7 0438 M T36 228 10 1336 228 157 B PTH * PRINT HEADING 4 0445 B 986 10 986 158 RD1A B READC * READ A CARD 4 0449 B '37 10 1037 159 B RD1K * BRANCH IF NO MORE CARDS 4 0453 B 637 10 637 160 A ONE,SEQ * COUNT CARDS READ 7 0457 A S86 S90 10 1286 1290 161 MZ @ @,SEQ * CLEAR ZONE ON LOW-ORDER 7 0464 Y T37 S90 10 1337 1290 162 MLC 80,PRCARD * MOVE CARD IMAGE TO PRINT 7 0471 M 080 280 11 080 280 163 SW 0&X1 * SET WM IN SAVE AREA 4 0478 , 0'0 11 000+1 164 MLC 80,79&X1 * SAVE CARD 7 0482 M 080 0X9 11 080 079+1 165 A ONE,SEQSV * COUNT CARDS SAVED 7 0489 A S86 S94 11 1286 1294 166 MZ @ @,SEQSV * CLEAR ZONE ON LOW-ORDER 7 0496 Y T37 S94 11 1337 1294 167 * 168 C CDSEQ,SEQ * IS OBJ DECK SEQ # CORRECT 7 0503 C 075 S90 11 075 1290 169 BU RD1C * BAD SEQ # 5 0510 B 562 / 12 562 170 RD1B MLC MSG1,PRX1 7 0515 M S01 286 12 1201 286 171 MLC SEQ,PRSEQ 7 0522 M S90 290 12 1290 290 172 W * PRINT THE CARD 1 0529 2 12 173 CS 332 4 0530 / 332 12 332 174 CS 1 0534 / 12 175 SW 201 4 0535 , 201 12 201 176 C SVMAX,SEQSV * IS SAVE AREA FULL 7 0539 C T02 S94 13 1302 1294 177 BE RD1D * YES 5 0546 B 573 S 13 573 178 MA K80,X1 * BUMP SAVE POINTER 7 0551 # T05 089 13 1305 089 179 B RD1A 4 0558 B 449 13 449 180 RD1C MLC MSG2,PRX2 * BAD SEQUENCE # 7 0562 M S31 321 13 1231 321 181 B RD1B 4 0569 B 515 13 515 182 RD1D B READC * READ EXTRA CARDS 4 0573 B '37 13 1037 183 B RD1K * BRANCH IF NO MORE CARDS 4 0577 B 637 14 637 184 A ONE,SEQ * COUNT CARDS READ 7 0581 A S86 S90 14 1286 1290 185 MZ @ @,SEQ * CLEAR ZONE ON LOW-ORDER 7 0588 Y T37 S90 14 1337 1290 186 MLC 80,PRCARD 7 0595 M 080 280 14 080 280 187 MLC MSG1,PRX1 7 0602 M S01 286 14 1201 286 188 MLC SEQ,PRSEQ 7 0609 M S90 290 14 1290 290 189 MLC @IGNORED. BEYOND CAPACITY@,PRX2-5 7 0616 M T62 316 15 1362 316 190 W 1 0623 2 15 191 CS 332 4 0624 / 332 15 332 192 CS 1 0628 / 15 193 SW 201 4 0629 , 201 15 201 194 B RD1D 4 0633 B 573 15 573 195 * 196 RD1K MLC SEQSV,SEQKG * SAVE NO. OF KG CARDS 7 0637 M S94 S98 15 1294 1298 197 CC 1 2 0644 F 1 16 1 VOBJ.S 07/16/22 19:31:52 -5112 PAGE 3 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD A-ADDR B-ADDR 198 B HALT 4 0646 B 382 16 382 199 *------------------------------------------------------------------ 200 * READ AND VERIFY SUSPECT DECK 201 *------------------------------------------------------------------ 202 RD2 MLC @READING SUSPECT CARD DECK@,225 7 0650 M T87 225 16 1387 225 203 B PTH * PRINT HEADING 4 0657 B 986 16 986 204 C SEQKG,ZERO * Q. ANY SAVED KD DECK YET 7 0661 C S98 S82 16 1298 1282 205 BE RD2J * NO 5 0668 B 972 S 16 972 206 MLC &SAV,X1 * START OF SAVE AREA 7 0673 M T08 089 16 1308 089 207 MLC ZERO,SEQ * INIT COUNT OF INPUT CARDS 7 0680 M S82 S90 17 1282 1290 208 MLC ZERO,SEQSV 7 0687 M S82 S94 17 1282 1294 209 RD2A B READC * READ A CARD 4 0694 B '37 17 1037 210 B RD2F * BRANCH IF LAST CARD 4 0698 B 871 17 871 211 A ONE,SEQ * COUNT INPUT CARDS 7 0702 A S86 S90 17 1286 1290 212 MZ @ @,SEQ * CLEAR ZONE ON LOW-ORDER 7 0709 Y T37 S90 17 1337 1290 213 MLC 80,PRCARD * MOVE CARD TO PRINT AREA 7 0716 M 080 280 18 080 280 214 MLC MSG1,PRX1 7 0723 M S01 286 18 1201 286 215 MLC SEQ,PRSEQ 7 0730 M S90 290 18 1290 290 216 A ONE,SEQSV * COUNT CARDS SAVED 7 0737 A S86 S94 18 1286 1294 217 MZ @ @,SEQSV * CLEAR ZONE ON LOW-ORDER 7 0744 Y T37 S94 18 1337 1294 218 C 80,79&X1 * DOES INPUT CARD MATCH SAVED CAR 7 0751 C 080 0X9 19 080 079+1 219 BU RD2C * NO, BAD 5 0758 B 796 / 19 796 220 * 221 RD2B W * PRINT THE SUSPECT-DECK CARD 1 0763 2 19 222 CS 332 4 0764 / 332 19 332 223 CS 1 0768 / 19 224 SW 201 4 0769 , 201 19 201 225 * 226 C SEQKG,SEQSV * Q. END OF KNOWN-GOOD DECK 7 0773 C S98 S94 19 1298 1294 227 BE RD2D * YES, FLUSH ANY EXTRA SUSPECT CA 5 0780 B 807 S 20 807 228 * 229 MA K80,X1 * BUMP SAVE POINTER 7 0785 # T05 089 20 1305 089 230 B RD2A 4 0792 B 694 20 694 231 * 232 RD2C MLC @ERROR -- CARD MISMATCH@,PRX2-8 7 0796 M U09 313 20 1409 313 233 B RD2B 4 0803 B 763 20 763 234 * 235 * SHOW EXTRA CARDS AT END OF SUSPECT DECK 236 RD2D B READC * READ A CARD 4 0807 B '37 20 1037 237 B RD2F * BRANCH IF END OF SUSPECT DECK 4 0811 B 871 20 871 238 A ONE,SEQ * COUNT CARDS READ 7 0815 A S86 S90 21 1286 1290 239 MZ @ @,ONE 7 0822 Y T37 S86 21 1337 1286 240 MLC 80,PRCARD 7 0829 M 080 280 21 080 280 241 MLC MSG1,PRX1 7 0836 M S01 286 21 1201 286 242 MLC SEQ,PRSEQ 7 0843 M S90 290 21 1290 290 243 MLC @ERROR -- EXTRA CARD AT END@,PRX2-4 7 0850 M U35 317 22 1435 317 244 W * PRINT THE SUSPECT-DECK CARD 1 0857 2 22 245 CS 332 4 0858 / 332 22 332 246 CS 1 0862 / 22 247 SW 201 4 0863 , 201 22 201 1 VOBJ.S 07/16/22 19:31:52 -5112 PAGE 4 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD A-ADDR B-ADDR 248 B RD2D 4 0867 B 807 22 807 249 * SHOW KG CARDS MISSING FROM SUSPECT DECK 250 RD2F C SEQKG,SEQSV * Q. END OF KG DECK 7 0871 C S98 S94 22 1298 1294 251 BE RD2K * YES 5 0878 B 980 S 23 980 252 * 253 A ONE,SEQSV * COUNT CARDS READ 7 0883 A S86 S94 23 1286 1294 254 MZ @ @,ONE 7 0890 Y T37 S86 23 1337 1286 255 MLC 79&X1,PRCARD 7 0897 M 0X9 280 23 079+1 280 256 MLC MSG1,PRX1 7 0904 M S01 286 23 1201 286 257 MLC SEQSV,PRSEQ 7 0911 M S94 290 24 1294 290 258 MLC @ERROR -- THIS KD CARD MISSING@,PRX2-1 7 0918 M U64 320 24 1464 320 259 W 1 0925 2 24 260 CS 332 4 0926 / 332 24 332 261 CS 1 0930 / 24 262 SW 201 4 0931 , 201 24 201 263 * 264 A ONE,SEQ 7 0935 A S86 S90 24 1286 1290 265 MZ @ @,SEQ 7 0942 Y T37 S90 25 1337 1290 266 C SEQ,SVMAX 7 0949 C S90 T02 25 1290 1302 267 BE RD2K 5 0956 B 980 S 25 980 268 MA K80,X1 * BUMP SAVE AREA POINTER 7 0961 # T05 089 25 1305 089 269 B RD2F 4 0968 B 871 25 871 270 RD2J MLC @ERROR -- NO KNOWN-GOOD DECK YET@,232 7 0972 M U95 232 25 1495 232 271 W 1 0979 2 25 272 RD2K CC 1 2 0980 F 1 26 273 B HALT 4 0982 B 382 26 382 274 *------------------------------------------------------------------ 275 * SUBROUTINE 276 * PRINT HEADING AT BEGINNING OF READING A DECK 277 *------------------------------------------------------------------ 278 PTH SBR PTHX&3 4 0986 H '36 26 1036 279 W 1 0990 2 26 280 CS 332 4 0991 / 332 26 332 281 CS 1 0995 / 26 282 SW 201 4 0996 , 201 26 201 283 W 1 1000 2 27 284 MLC MSGH2,PRCARD * FIRST HEADER LINE 7 1001 M /86 280 27 1186 280 285 W 1 1008 2 27 286 MLC MSGH3,PRCARD * SECOND HEADER LINE 7 1009 M /96 280 27 1196 280 287 MLC 280,270 * PROPAGATING MOVE 7 1016 M 280 270 27 280 270 288 W 1 1023 2 27 289 CS 299 4 1024 / 299 27 299 290 SW 201 4 1028 , 201 28 201 291 W 1 1032 2 28 292 PTHX B 000 4 1033 B 000 28 000 293 *------------------------------------------------------------------ 294 * SUBROUTINE -- READ A CARD AND CHECK FOR LAST CARD 295 * RETURN IS +0 IF EOF, +4 IF ACTUALLY READ A CARD 296 * FOR ROPE, SS G ALLOWS EOF VIA CARD WITH * IN COL 1, 297 * SINCE ROPE DOES NOT HANDLE MULTIPLE 1402 READER EOF'S 1 VOBJ.S 07/16/22 19:31:52 -5112 PAGE 5 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD A-ADDR B-ADDR 298 *------------------------------------------------------------------ 299 READC SBR READCX&3 4 1037 H '82 28 1082 300 BCE RC01,EOF,Y * BRANCH IF PREV CARD WAS LAST 8 1041 B '83 /05 Y 28 1083 1105 301 R * READ A CARD 1 1049 1 28 302 * 303 BLC RC02 * BRANCH IF THIS CARD IS LAST 5 1050 B '94 A 28 1094 304 READC1 BSS READC3,G * SS G ON FOR ROPE 5 1055 B '64 G 29 1064 305 READC2 B READC9 * NON-LAST CARD 4 1060 B '72 29 1072 306 READC3 BCE RC01,001,* * FOR ROPE, * IN COL 1 IS EOF 8 1064 B '83 001 * 29 1083 001 307 READC9 MA @004@,READCX&3 * EXIT &4 IF GOT A CARD 7 1072 # U98 '82 29 1498 1082 308 READCX B 0 * EXIT 4 1079 B 000 29 000 309 RC01 MLC @N@,EOF 7 1083 M U99 /05 29 1499 1105 310 B READCX * EXIT &0 4 1090 B '79 29 1079 311 RC02 MLC @Y@,EOF 7 1094 M V00 /05 30 1500 1105 312 B READC1 4 1101 B '55 30 1055 313 EOF DCW @N@ 1 1105 30 314 NOP * INSURE WORD MARK 1 1106 N 30 315 * 316 MSGH DCW @ 1 2 3 4@ 40 1146 32 317 MSGH2 DC @ 5 6 7 8@ 40 1186 34 318 MSGH3 DCW @1234567890@ 10 1196 34 319 MSG1 DCW @CARD#@ 5 1201 34 320 MSG2 DCW @OUT OF SEQUENCE @ 30 1231 35 321 MSG3 DCW @LAST CARD. ALL CARDS OK. @ 30 1261 36 322 MSG5 DCW @ERROR -- MISMATCH@ 17 1278 37 323 ZERO DCW @0000@ 4 1282 37 324 ONE DCW @0001@ 4 1286 37 325 SEQ DCW @0000@ 4 1290 37 326 SEQSV DCW @0000@ 4 1294 37 327 SEQKG DCW @0000@ 4 1298 37 328 SVMAX DCW @0175@ * MAX # OF KNOWN-GOOD CARDS 4 1302 38 329 K80 DCW @080@ * LENGTH OF ONE CARD 3 1305 38 330 LTORG * 1306 DCW &SAV 3 1308 !00 ADCON 38 2000 DCW @READING KNOWN-GOOD CARD DECK@ 28 1336 LIT 38 DCW @ @ 1 1337 LIT 38 DCW @IGNORED. BEYOND CAPACITY@ 25 1362 LIT 39 DCW @READING SUSPECT CARD DECK@ 25 1387 LIT 40 DCW @ERROR -- CARD MISMATCH@ 22 1409 LIT 41 DCW @ERROR -- EXTRA CARD AT END@ 26 1435 LIT 42 DCW @ERROR -- THIS KD CARD MISSING@ 29 1464 LIT 43 DCW @ERROR -- NO KNOWN-GOOD DECK YET@ 31 1495 LIT 44 DCW @004@ 3 1498 LIT 44 DCW @N@ 1 1499 LIT 44 DCW @Y@ 1 1500 LIT 44 331 ORG 2000 2000 332 SAV DS 1 * SAVE AREA 175 X 80 = 14K 2000 333 END START / 367 080 367 1 PAGE 6 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS CDPGM 0080: 0 CDSEQ 0075: 0 EOF 1105: 0 HALT 0382: 0 K80 1305: 0 MSG1 1201: 0 MSG2 1231: 0 MSG3 1261: 0 MSG5 1278: 0 MSGH 1146: 0 MSGH2 1186: 0 MSGH3 1196: 0 ONE 1286: 0 PGMID 0366: 0 PRCARD 0280: 0 PRSEQ 0290: 0 PRX1 0286: 0 PRX2 0321: 0 PTH 0986: 0 PTHX 1033: 0 RC01 1083: 0 RC02 1094: 0 RD1 0424: 0 RD1A 0449: 0 RD1B 0515: 0 RD1C 0562: 0 RD1D 0573: 0 RD1K 0637: 0 RD2 0650: 0 RD2A 0694: 0 RD2B 0763: 0 RD2C 0796: 0 RD2D 0807: 0 RD2F 0871: 0 RD2J 0972: 0 RD2K 0980: 0 READC 1037: 0 READC1 1055: 0 READC2 1060: 0 READC3 1064: 0 READC9 1072: 0 READCX 1079: 0 SAV 2000: 0 SEQ 1290: 0 SEQKG 1298: 0 SEQSV 1294: 0 START 0367: 0 SVMAX 1302: 0 X1 0089: 0 X2 0094: 0 X3 0099: 0 ZERO 1282: 0 0UNREFERENCED SYMBOLS CDPGM MSG3 MSG5 MSGH RD1 READC2 X2 X3