1 //VRS: 12-01-2021 MAINDEC-08-DHKMA-D-L RECONSTRUCTION STARTED 2 //VRS: 12-06-2021 MAINDEC-08-DHKMA-D-L RECONSTRUCTION COMPLETED 3 4 /PDP-8E EXTENDED MEMORY DATA AND CHECKERBOARD TEST 5 / 6 /MAINDEC-08-DHKMA-D-L 7 / 8 /COPYRIGHT (C) 1972, 1975, 1976 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 01754 9 /PROGRAMMER, VERNON FREY 10 11 12 / 13 / 14 /SR00=1 HALT AFTER ERROR 15 /SR01=1 INHIBIT ERROR TYPEOUT 16 /SR02=1 BELL ON ERROR (USEFUL FOR MAINTENANCE) 17 /SR03=1 INHIBIT PROGRAM RELOCATION 18 /SR04=1 CHANGE FIELD LIMITS 19 /SR05=1 HALT AFTER CURRENT TEST 20 / 21 / 22 /PROGRAM STARTING ADDRESS 23 /0200 24 / 25 / 26 /V-CRD 27 / 28 / 29 /DEFINE NPAGE 30 /< JMP I (.+0200&7600> 31 / 32 /PDP-8E IOT COMMANDS AND MICRO INSTRUCTIONS 33 / 34 /EXPANDED MODE COMMANDS USED IN THIS TEST 35 CUF=6204 36 SUF=6274 37 KT8A=1 38 LXM= 6200 /LOAD EXPANDED MODE REGISTER 39 REM= 6230 40 LDSR= 6260 41 LRR= 6240 42 RRR= 6250 43 CDI=6203 /CHANGE TO DF & IF 0 44 SPO=6107 /SKIP ON PARITY OPTION 45 SMP=6101 /SKIP IF NO PARITY ERROR 46 CMP=6104 /CLEAR PARITY ERROR FLAG 47 GTF=6004 /GET INTERRUPT FLAGS 48 RTF=6005 /RESTORE INTERRUPT FLAGS 49 ACL=7701 /LOAD MQ INTO AC 50 BSW=7002 /SWAP BYTES IN AC 51 MQL=7421 /LOAD MQ FROM AC THEN CLR AC 52 SWP=7521 /SWAP AC AND MQ 53 SKON=6000 /SKIP IF INTERRUPT ON, & TURN OFF 54 CAF=6007 /CLEAR ALL FLAGS 55 56 57 *0 58 000000 0304 0304 /INTERRUPT ADDRESS 59 000001 3074 DCA SAC /SAVE AC 60 000002 7701 ACL 61 000003 3075 DCA SMQ /SAVE MQ 62 000004 5777 JMP INTROU 63 64 000005 5600 IAPTER, APTER /APT/ 65 000006 5652 IAPTOK, APTOK /APT/ 66 67 68 *20 69 000020 0007 PSR, 7 /APT/ 70 000021 4000 HCW1, 4000 /APT/ 71 000022 0000 HCW2, 0 /APT/ 72 73 000023 0000 INMODE, 0 74 / 75 /PAGE 0 CONSTANTS AND POINTERS 76 / 77 000024 0000 BANK, 0 78 000025 0000 EMMFLG, 0 79 000026 4000 SR00, 4000 /HALT AFTER ERROR 80 000027 2000 SR01, 2000 /INHIBIT ERROR TYPEOUT 81 000030 1000 SR02, 1000 /BELL ON ERROR 82 000031 0400 SR03, 400 /INHIBIT PROGRAM RELOCATION 83 000032 0200 SR04, 200 /CHANGE FIELD LIMITS 84 000033 0100 SR05, 100 /HALT AFTER CURRENT TEST 85 000034 0070 SR56, 70 /STARTING FIELD (0-7) 86 000035 0007 SR911, 7 /ENDING FIELD (0-7) 87 000036 0000 CS, 0 /COMPLEMENT STATUS 88 /0000=NC (NO COMPLEMENT) 89 /BIT 1=1C (ONE COMPLEMENT) 90 /BIT 2=2C (TWO COMPLEMENTS) 91 000037 0000 TS, 0 /TEST STATUS 92 /0000=NO TEST 93 /BIT 0 = ALL ZEROS TEST 94 /BIT 1 = ALL ONES TEST 95 /BIT 2 = 0000-7777 WCP TEST 96 /BIT 3 = 7777-0000 WCP TEST 97 /BIT 4 = 2525-5252 WCP TEST 98 /BIT 5 = 5252-2525 WCP TEST 99 /BIT 6 = MARCH PATTERN 100 000040 0000 FS, 0 /FIELD STATUS BANK 0 101 000041 0000 FS1, 0 /FIELD STATUS BANK 1 102 000042 0000 FS2, 0 /FIELD STATUS BANK 2 103 000043 0000 FS3, 0 /FIELD STATUS BANK 3 104 /BITS 0-7 COINCIDE WITH FIELDS 105 /0-7. FOR EACH FIELD NO IN 106 /THE SYSTEM THE EQUIVALENT BIT 107 /IS SET. 108 000044 0000 RS, 0 /RELOCATION STATUS BANK 0 109 000045 0000 RS1, 0 /RELOCATION STATUS BANK 1 110 000046 0000 RS2, 0 /RELOCATION STATUS BANK 2 111 000047 0000 RS3, 0 /RELOCATION STATUS BANK 3 112 /BITS 0-7 COINCIDE WITH FIELDS 113 /0-7. FS IS XFERRED INTO RS. 114 /EACH FIELD THAT FAILS SETS THE 115 /EQUIVALENT BUT SO THAT PROGRAM 116 /WILL NOT RELOCATE TO A FAILING FIELD. 117 000050 0000 CRELD, 0 /0 = INHIBIT PROGRAM RELOCATION 118 000051 0000 PROFLD, 0 /PROGRAM IN FIELD 00X0 119 000052 0000 TSTFLD, 0 /TESTING FIELD 00X0 120 000053 0000 COUNT, 0 /MOVE ERROR COUNTER 121 000054 0000 MOVE, 0 /MOVE ADDRESS COUNTER 122 000055 0000 HEAD1, 0 /7777 MEANS TYPEOUT ERROR HEADING 123 000056 0000 TEMP, 0 /TEMP STORAGE LOCATION 124 000057 0000 TSTAD, 0 /TEST ADDRESS COUNTER 125 000060 0000 FCNT, 0 /COUNT # OF FIELDS PRESENT 126 000061 0000 RELCNT, 0 /END OF PASS COUNTER 127 000062 0000 STARTF, 0 /STARTING FIELD 00X0 128 000063 0000 ENDF, 0 /ENDING FIELD 00X0 129 000064 0000 INSAME, 0 /PROGRAM IN SELECTED FIELD 130 000065 0000 LEGAL0, 0 /LEGAL FIELD SELECTION CONTROL 131 000066 0000 A, 0 /A REG TO WRITE/READ 132 000067 0000 B, 0 /B REG TO WRITE/READ 133 000070 0000 P2, 0 /CONTROLS 2 PAGES 134 000071 0000 W4, 0 /CONTROLS 4 WORDS 135 000072 0000 GDATA, 0 /GOOD DATA = DATA WRITTEN 136 000073 0000 BDATA, 0 /BAD DATA = DATA READ 137 000074 0000 SAC, 0 /SAVE AC (INT) 138 000075 0000 SMQ, 0 /SAVE MQ (INT) 139 000076 0000 NOTTY, 0 /PROGRAM FLAG FOR NO TELETYPE TO ABORT PRINTOUTS 140 000077 0000 NUMFLD, 0 /NUMBER OF FIELDS BEING TESTED. 141 000100 0000 FIVE, 0 /THIS IS NOW 15 MINUTE COUNTER 142 000101 6570 MINS, 6570 143 144 145 146 ENDHLT=JMS I . 147 000102 0341 XENDHL /END OF TEST LAS 148 PRINT=JMS I . 149 000103 5400 XPRINT 150 GETSR=JMS I . 151 000104 4747 XGETSR 152 C8CAL=JMS I . 153 000105 4723 XC8CAL 154 SETFS=JMS I . 155 000106 0522 XSETFS 156 SETRS=JMS I . 157 000107 0532 XSETRS 158 RACA=JMS I . 159 000110 5117 XRACA 160 RACB=JMS I . 161 000111 5142 XRACB 162 163 *200 164 000200 5325 JMP START+1 /APT/200 = START ADDRESS. 165 000201 5324 JMP START /STARTING ADDRESS IF NO TTY AVAILABLE 166 167 000202 4251 JMS DFEIF /202 = RESTART ADDRESS 168 000203 7410 SKP 169 170 000204 4777 JMS TITLE /TYPEOUT PROG TITLE 171 000205 6002 PATA, IOF 172 000206 1376 TAD (7200 173 000207 6200 LXM /LOAD EXPANDED MODE REGISTER 174 000210 7200 CLA /MAKE SURE AC CLEAR 175 000211 6230 REM 176 000212 7710 SPA CLA /SKIP IF KT8A NOT ENABLED 177 000213 7340 CLA CLL CMA 178 000214 3025 DCA EMMFLG /SET KT8A ACTIVE 179 000215 4775 JMS PNTOPT 180 000216 4774 JMS SETSW /SETUP SR 181 000217 3036 DCA CS 182 000220 3037 DCA TS 183 000221 3040 DCA FS 184 000222 3044 DCA RS 185 000223 7240 STA 186 000224 3050 DCA CRELD /CLEAR INH RELO 187 000225 3057 DCA TSTAD /CLEAR TEST ADDRESS COUNTER 188 000226 1101 TAD MINS /SET UP COUNTER 189 000227 3100 DCA FIVE 190 000230 7240 STA 191 000231 3055 DCA HEAD1 /RESET ERROR HEADING 192 000232 4773 JMS FSSET /SET FIELD STATUS & TYPE SELECTION 193 000233 4772 JMS APTFL 194 000234 7240 STA /AC=-1 195 000235 1060 TAD FCNT /-1 TO FIELDS IN SYSTEM 196 000236 3060 DCA FCNT 197 000237 4771 JMS LEGAL /CHECK FOR LEGAL FIELD SELECTION 198 000240 1077 TAD NUMFLD /SET UP PASS COUNTER 199 000241 7041 CIA /NEGATE IT 200 000242 3061 DCA RELCNT /SAVE IT. 201 000243 1050 TAD CRELD 202 000244 7650 SNA CLA 203 000245 5261 JMP PATM /NO RELOCATE & TEST ONLY 1 FIELD 204 000246 4770 JMS CSR03 205 000247 5301 JMP PATO /RELOCATION PROGRAM 206 000250 5270 JMP PATN /INHIBIT PROGRAM RELOCATION 207 208 209 / 210 /MAKE DF = IF 211 / 212 000251 0000 DFEIF, 0 213 000252 6002 IOF 214 000253 7300 CLA CLL 215 000254 6224 RIF 216 000255 1176 TAD [6201 217 000256 3257 DCA .+1 218 000257 6201 CDF 0 219 000260 5651 JMP I DFEIF 220 221 / 222 /NO PROGRAM RELOCATION AND TEST ONLY 1 FIELD 223 / 224 000261 6224 PATM, RIF 225 000262 3051 DCA PROFLD 226 227 000263 4767 JMS PNOREL /TYPEOUT NO RELOCATION 228 000264 4766 PATM0, JMS TEST 229 230 000265 4502 ENDHLT /TEST FOR END OF PASS INFORMATION 231 000266 5205 JMP PATA /YES 232 233 000267 5264 JMP PATM0 /NO 234 235 / 236 /NO PROGRAM RELOCATION BUT TEST ALL SELECTED FIELDS 237 / 238 000270 6224 PATN, RIF 239 000271 3051 DCA PROFLD 240 241 000272 4767 JMS PNOREL /TYPEOUT NO RELOCATION 242 000273 4766 PATN0, JMS TEST 243 244 000274 4502 ENDHLT /TEST FOR END OF PASS INFORMATION 245 000275 5205 JMP PATA /YES 246 247 000276 4770 JMS CSR03 /NO 248 000277 5301 JMP PATO /RELOCATE PROGRAM 249 000300 5273 JMP PATN0 /CONTINUE 250 251 252 / 253 /CHECK ALL SELECTED FIELDS FROM EACH SELECTED FIELD 254 / 255 000301 6224 PATO, RIF 256 000302 3051 DCA PROFLD 257 000303 1040 TAD FS 258 000304 3044 DCA RS /SET UP FIELD STATUS 259 000305 1041 TAD FS1 260 000306 3045 DCA RS1 261 000307 1042 TAD FS2 262 000310 3046 DCA RS2 263 000311 1043 TAD FS3 264 000312 3047 DCA RS3 265 266 000313 4765 JMS PREL 267 000314 4766 PATO0, JMS TEST 268 269 000315 4502 ENDHLT /TEST FOR END OF PASS INFORMATION 270 000316 5205 JMP PATA /YES 271 272 000317 4770 JMS CSR03 /NO 273 000320 7410 SKP 274 000321 5270 JMP PATN /INHIBIT PROGRAM RELOCATION 275 000322 4764 JMS SETREL /GO TEST RELOCATION 276 000323 5314 JMP PATO0 /CONTINUE 277 278 279 000324 5334 START, 5334 280 000325 3076 DCA NOTTY /SAVE TTY FLAG STATUS 281 000326 4763 JMS APTIZ /GO SET UP MEMORY SIZE FROM PSR OR SR 282 000327 1076 TAD NOTTY /GET TTY FLAG 283 000330 7650 SNA CLA /TTY AVAILABLE 284 000331 5204 JMP PATA-1 /YES GO PRINT TITLE 285 000332 6002 IOF /NO, TURN THE INTERRUPT OFF 286 000333 5205 JMP PATA /GO START WITHOUT TITLE 287 000334 1022 TAD HCW2 /GET HARDWARE WORD 2 288 000335 0362 AND (7377 /MASK OUT CL8 BIT 289 000336 3022 DCA HCW2 290 000337 7240 CLA CMA 291 000340 5325 JMP START+1 /GO SET FLAG FOR NO TELETYPE 292 293 / 294 /THIS ROUTINE DETERMINES IF LAST AFTER TEST SELECTED 295 /AND/OR CHANGE FIELD LIMITS SELECTED 296 /IF FIELD LIMITS ARE TO CHANGE RETURN CALL+1. IF THEY ARE NOT TO 297 /CHANGE RETURN CALL+2. 298 / 299 000341 0000 XENDHL, 0 300 000342 4504 GETSR /GET CURRENT SWITCH VALUE 301 000343 0033 AND SR05 /HALT AFTER TEST 302 000344 7650 SNA CLA /SKIP IF HALT AFTER TEST SELECTED 303 000345 5350 JMP .+3 /DON'T HALT 304 000346 4505 C8CAL /TEST FOR ACTIVE CONSOLE 305 000347 7402 HLT /NON ACTIVE CONSOLE, JUST HALT 306 000350 4504 GETSR /GET SWITCHES AGAIN 307 000351 0032 AND SR04 /ISOLATE CHANGE FIELD LIMITS SWITCH 308 000352 7650 SNA CLA /SKIP IF FIELD LIMITS ARE TO CHANGE 309 000353 2341 ISZ XENDHL 310 000354 5741 JMP I XENDHL 311 / 312 000362 7377 PAGE 000363 5622 000364 0400 000365 4154 000366 0600 000367 4115 000370 1607 000371 1470 000372 5704 000373 1615 000374 4071 000375 1726 000376 7200 000377 4043 313 /DETERMINE WHICH RELOCATION ROUTINE TO USE. 314 / 315 000400 0000 SETREL, 0 316 000401 1025 TAD EMMFLG 317 000402 7640 SZA CLA /SKIP IF EXPANDED MODE NOT ENABLED 318 000403 5234 JMP KT8REL 319 320 321 / 322 /SETUP TO RELOCATE THE PROGRAM 323 / 324 /THIS ROUTINE IS USED ONLY IF KM8E OR KM8A FUNCTIONS ARE TO BE TESTED 325 / 326 000404 7200 KM8REL, CLA /MAKE SURE AC IS CLEAR 327 000405 6224 RIF /GET INSTRUCTION FIELD OF PROGRAM 328 000406 3051 DCA PROFLD /SAVE THE VALUE 329 000407 1051 TAD PROFLD 330 000410 7112 CLL RTR 331 000411 7010 RAR /MOVE INTO PROPER POSITION 332 000412 3777 DCA FLDCNT 333 000413 7240 STA 334 000414 1777 TAD FLDCNT 335 000415 0035 AND SR911 336 000416 3777 DCA FLDCNT 337 000417 1777 TAD FLDCNT 338 000420 1376 TAD (TRSTAB /ESTABLISH POINTER OF STATUS 339 /ROUTINE 340 000421 3056 DCA TEMP /SAVE THE POINTER 341 000422 1456 TAD I TEMP /GET ROUTINE TO EXECUTE 342 000423 3272 DCA TRS /AND SAVE IT 343 000424 4672 JMS I TRS /GO TEST STATUS 344 000425 5213 JMP KM8REL+7 345 000426 1777 TAD FLDCNT /SET UP FIELD TO DO 346 000427 0035 AND SR911 /ISOLATE BITS 9-11 347 000430 7106 CLL RTL 348 000431 7004 RAL /SET UP FOR INSTRUCTION 349 000432 5263 JMP CSAME /GO TEST FOR SAME FIELD 350 / 351 000433 5213 JMP KM8REL+7 352 / 353 / 354 /THIS ROUTINE WILL TEST THE KT8A FUNCTIONS. 355 / 356 000434 7200 KT8REL, CLA /MAKE SURE AC IS CLEAR 357 000435 6224 RIF /GET PROGRAM FIELD 358 000436 3051 DCA PROFLD /AND SAVE IT 359 000437 1051 TAD PROFLD 360 000440 4510 RACA 361 000441 3777 DCA FLDCNT /SAVE THE BINARY COUNT VALUE OF FIELD 362 000442 7240 STA 363 000443 1777 TAD FLDCNT 364 000444 0375 AND (37 365 000445 3777 DCA FLDCNT 366 000446 1777 TAD FLDCNT /ADD IN OFFSET 367 000447 0035 AND SR911 368 000450 1376 TAD (TRSTAB /GET STARTING ADDRESS OF ROUTINE POINTER 369 000451 3056 DCA TEMP /SAVE THE POINTER ADDRESS 370 000452 1456 TAD I TEMP /GET ACTUAL ROUTINE ADDRESS 371 000453 3272 DCA TRS /SAVE THE ROUTINE ADDRESS 372 000454 4672 JMS I TRS /GO TEST FOR PROPER FIELD SELECTION 373 000455 5242 JMP KT8REL+6 374 000456 1777 TAD FLDCNT /DECREMENT FIELD VALUE 375 000457 0375 AND (37 /ISOLATE 5 BITS 376 000460 4511 RACB /REARRANGE INTO PROPER FORMAT 377 000461 5263 JMP CSAME /GO TEST FOR VALID FIELD SELECTION 378 000462 5242 JMP KT8REL+6 379 / 380 000463 3052 CSAME, DCA TSTFLD /SAVE FIELD VALUE TO TEST 381 000464 4774 JMS SAME /PROFLD=TSTFLD 382 000465 5600 JMP I SETREL /YES 383 000466 4773 JMS RELO /GO RELOCATE PROGRAM 384 000467 6224 RIF /GET PROGRAM LOCATION 385 000470 3051 DCA PROFLD 386 000471 5600 JMP I SETREL /EXIT RELOCATION ROUTINE 387 / 388 000472 0000 TRS, 0 /STORAGE FOR TEST STATUS ROUTINE 389 000473 3703 TRSTAB, TRS0 390 000474 3712 TRS1 391 000475 3722 TRS2 392 000476 3732 TRS3 393 000477 3743 TRS4 394 000500 3754 TRS5 395 000501 3765 TRS6 396 000502 4000 TRS7 397 / 398 / 399 /TEST COMPLEMENT STATUS 400 /RETURN IF NC, RETURN+1 IF 1C, RETURN+2 IF 2C 401 / 402 000503 0000 TCS, 0 403 000504 7200 CLA 404 000505 1036 TAD CS 405 000506 7450 SNA 406 000507 5703 JMP I TCS /NC 407 000510 2303 ISZ TCS 408 000511 7106 CLL RTL 409 000512 7430 SZL 410 000513 5703 JMP I TCS /1C 411 000514 2303 ISZ TCS 412 000515 7710 SPA CLA 413 000516 5703 JMP I TCS /2C 414 000517 7000 APTEOB, NOP /APT 415 416 000520 7402 HLT /ERRONEOUS STATUS BITS SET 417 000521 5320 JMP .-1 418 / 419 /SET UP PROPER FIELD STATUS BITS 420 / 421 000522 0000 XSETFS, 0 422 000523 1777 TAD FLDCNT /GET FIELD 10 CD 423 000524 7112 CLL RTR 424 000525 7010 RAR /MOVE BAND SELECT INTO POSITION 425 000526 0372 AND (3 426 000527 1371 TAD (FS /ESTABLISH POINTER TO ADDRESS OF STATUS 427 000530 3056 DCA TEMP /AND SAVE THE POINTER 428 000531 5722 JMP I XSETFS /AND EXIT 429 / 430 /ESTABLISH RELOCATION STATUS POINTER 431 / 432 000532 0000 XSETRS, 0 433 000533 1777 TAD FLDCNT /GET FIELD 10 CD 434 000534 7112 CLL RTR 435 000535 7010 RAR 436 000536 0372 AND (3 437 000537 1371 TAD (FS 438 000540 3056 DCA TEMP /SAVE THE POINTER 439 000541 5732 JMP I XSETRS 440 / 441 / 442 000571 0040 PAGE 000572 0003 000573 4200 000574 1600 000575 0037 000576 0473 000577 2346 443 / 444 /TEST PATTERN CONTROL 445 / 446 000600 0000 TEST, 0 447 000601 4777 JMS PAR 448 000602 7200 CLA 449 000603 3066 DCA A 450 000604 3067 DCA B 451 000605 4776 JMS STS0 /ALL ZEROS TEST 452 000606 4253 JMS TEST0 453 000607 7240 STA 454 000610 3066 DCA A 455 000611 7240 STA 456 000612 3067 DCA B 457 000613 4775 JMS STS1 /ALL ONES TEST 458 000614 4253 JMS TEST0 459 000615 7240 STA 460 000616 3067 DCA B 461 000617 3066 DCA A 462 000620 4774 JMS STS2 /0000-7777 WCP TEST 463 000621 4253 JMS TEST0 464 000622 7240 STA 465 000623 3066 DCA A 466 000624 3067 DCA B 467 000625 4773 JMS STS3 /7777-0000 WCP TEST 468 000626 4253 JMS TEST0 469 000627 7200 CLA 470 000630 1175 TAD [2525 471 000631 3066 DCA A 472 000632 1174 TAD [5252 473 000633 3067 DCA B 474 000634 4772 JMS STS4 /2525-5252 TEST 475 000635 4253 JMS TEST0 476 000636 7200 CLA 477 000637 1174 TAD [5252 478 000640 3066 DCA A 479 000641 1175 TAD [2525 480 000642 3067 DCA B 481 000643 4771 JMS STS5 /2525-5252 TEST 482 000644 4253 JMS TEST0 483 000645 7200 CLA 484 000646 3037 DCA TS /CLEAR TEST STATUS 485 000647 6002 IOF 486 000650 4770 JMS MOSTST /GO PERFORM MARCH PATTERN 487 000651 5600 JMP I TEST 488 489 / 490 /TEST ALL FIELDS SELECTED FOR TEST 491 / 492 000652 5653 KTEST, JMP I TEST0 493 000653 0000 TEST0, 0 494 000654 3767 DCA FLDCNT /CLEAR FIELD INDICATOR 495 000655 3024 DCA BANK /CLEAR BANK VALUE 496 000656 4307 JMS NUFLD /GO TEST FOR VALID SELECTION 497 000657 5261 JMP T0UPD /NOT A VALID FIELD. UPDATE AND TRY AGAIN 498 000660 4766 JMS WRFLD /GO WRITE SELECTED FIELD 499 000661 1767 T0UPD, TAD FLDCNT 500 000662 7041 CIA /COMPLEMENT CURRENT VALUE 501 000663 1060 TAD FCNT /SEE IF AT MAXIMUM FOUND 502 000664 7650 SNA CLA /SKIP IF NOT AT MAX AVAILABLE 503 000665 5270 JMP TEST1 504 000666 2767 ISZ FLDCNT /UPDATE FIELD TO DO 505 000667 5256 JMP TEST0+3 /GO BACK AND TRY NEXT FIELD 506 / 507 / 508 / 509 510 000670 3767 TEST1, DCA FLDCNT /CLEAR FIELD INDICATOR 511 000671 3024 DCA BANK /CLEAR BANK INDICATOR 512 000672 4307 JMS NUFLD 513 000673 5300 JMP T1UPD 514 000674 4765 JMS RDFLD /READ PATTERN WRITTEN 515 000675 1053 TAD COUNT /TEST FOR ANY READ ERRORS 516 000676 7640 SZA CLA 517 000677 4764 JMS SETERR /GO SET UP PROPER ERROR ROUTINE 518 000700 1767 T1UPD, TAD FLDCNT /SET UP TO TEST FOR MAX FIELDS 519 000701 7041 CIA 520 000702 1060 TAD FCNT /GET NUMBER OF FIELDS FOUND 521 000703 7650 SNA CLA /SKIP IF NOT AT MAX 522 000704 5763 JMP TEST8 /GO ON TO NEXT TEST 523 000705 2767 ISZ FLDCNT 524 000706 5272 JMP TEST1+2 /GO BACK AND DO NEXT VALUE 525 / 526 / 527 / 528 / 529 / 530 / 531 /THIS ROUTINE DETERMINES IF A VALID FIELD IS SELECTED. 532 /A VALID SELECTION RETURNS+2 533 /NON-VALID SELECTION RETURNS+1 534 / 535 000707 0000 NUFLD, 0 536 000710 1767 TAD FLDCNT /GET FIELD TO TEST 537 000711 0035 AND SR911 /ISOLATE FIELD 538 000712 1362 TAD (TFSTAB /GET TO POINTER OF FIELD STATUS 539 000713 3337 DCA TFS /SAVE THE VALUE 540 000714 1737 TAD I TFS /GET ROUTINE TO EXECUTE 541 000715 3337 DCA TFS /AND SAVE IT 542 000716 4737 JMS I TFS /GO TEST FOR VALID FIELD SELECTION 543 000717 5707 JMP I NUFLD /NOT A VALID FIELD 544 000720 1025 TAD EMMFLG 545 000721 7650 SNA CLA /SKIP IF EXPANDED MODE ENABLED 546 000722 5332 JMP NOEMM 547 000723 1767 TAD FLDCNT 548 000724 4511 RACB /REARRANGE AC INTO PROPER FORMAT 549 000725 3052 SETFLD, DCA TSTFLD 550 000726 4761 JMS SAME /PROFLD=TSTFLD 551 000727 7410 SKP 552 000730 2307 ISZ NUFLD 553 000731 5707 JMP I NUFLD /GOT A VALID FIELD 554 / 555 000732 1767 NOEMM, TAD FLDCNT 556 000733 0035 AND SR911 /ISOLATE FIELD TO DO 557 000734 7106 CLL RTL 558 000735 7004 RAL /MOVE INTO BITS 6-8 559 000736 5325 JMP SETFLD /GO TEST FOR FIELD SELECTION 560 / 561 000737 0000 TFS, 0 562 / 563 000740 3600 TFSTAB, TFS0 564 000741 3607 TFS1 565 000742 3617 TFS2 566 000743 3627 TFS3 567 000744 3640 TFS4 568 000745 3651 TFS5 569 000746 3662 TFS6 570 000747 3672 TFS7 571 / 572 / 573 000761 1600 PAGE 000762 0740 000763 1000 000764 4610 000765 1200 000766 1005 000767 2346 000770 5200 000771 3262 000772 3255 000773 3250 000774 3243 000775 3237 000776 3233 000777 4267 574 / 575 / 576 001000 4504 TEST8, GETSR 577 001001 0032 AND SR04 /CHANGE FIELD LIMITS? 578 001002 7640 SZA CLA 579 001003 5777 JMP PATA /YES 580 581 001004 5776 JMP KTEST 582 583 584 / 585 /WRITE A & B PATTERN INTO SELECTED FIELD 586 / 587 001005 0000 WRFLD, 0 588 001006 1173 TAD [-40 589 001007 3070 DCA P2 /WRITE 2 PAGES 590 001010 4241 JMS WRA /WRITE 4 WORDS FROM A REG 591 001011 4263 JMS WRB /WRITE 4 WORDS FROM B REG 592 001012 2070 ISZ P2 593 001013 5210 JMP .-3 594 001014 1173 TAD [-40 595 001015 3070 DCA P2 596 001016 4263 JMS WRB 597 001017 4241 JMS WRA 598 001020 2070 ISZ P2 599 001021 5216 JMP .-3 600 001022 1057 TAD TSTAD 601 001023 7640 SZA CLA 602 001024 5206 JMP WRFLD+1 603 604 001025 2100 ISZ FIVE /SEE IF READY TO PRINT 15 YET 605 001026 5605 JMP I WRFLD 606 001027 1076 TAD NOTTY /GET THE TELETYPE FLAG 607 001030 7710 SPA CLA /IS THERE ONE AVAILABLE 608 001031 5605 JMP I WRFLD /NO-ABORT THE FIVE MINUTE TYPEOUT 609 001032 1101 TAD MINS /RESET FIFTEEN MINUTE COUNTER 610 001033 3100 DCA FIVE 611 612 001034 4775 JMS MES 613 001035 4543 4543 614 001036 6165 6165 /TYPE A 15 615 001037 0000 0000 616 001040 5605 JMP I WRFLD /END OF MEMORY REACHED 617 001041 0000 WRA, 0 618 001042 1172 TAD [-4 619 001043 3071 DCA W4 //WRITE 4 WORDS FROM A REG 620 001044 1052 TAD TSTFLD 621 001045 1176 TAD [6201 622 001046 3247 DCA .+1 623 001047 6201 CDF 0 /TEST DF 624 001050 1066 WRA1, TAD A 625 001051 3457 DCA I TSTAD 626 001052 2057 ISZ TSTAD 627 001053 7000 NOP 628 001054 2071 ISZ W4 629 001055 5250 JMP WRA1 630 001056 1051 TAD PROFLD /4 WORDS ARE WRITTEN 631 001057 1176 TAD [6201 632 001060 3261 DCA .+1 633 001061 6201 CDF 0 /PROGRAM DF 634 001062 5641 JMP I WRA 635 001063 0000 WRB, 0 636 001064 1172 TAD [-4 637 001065 3071 DCA W4 /WRITE 4 WORDS FROM B REG 638 001066 1052 TAD TSTFLD 639 001067 1176 TAD [6201 640 001070 3271 DCA .+1 641 001071 6201 CDF 0 /TEST DF 642 001072 1067 WRB1, TAD B 643 001073 3457 DCA I TSTAD 644 001074 2057 ISZ TSTAD 645 001075 7000 NOP 646 001076 2071 ISZ W4 647 001077 5272 JMP WRB1 648 001100 1051 TAD PROFLD /4 WORDS ARE WRITTEN 649 001101 1176 TAD [6201 650 001102 3303 DCA .+1 651 001103 6201 CDF 0 /PROGRAM DF 652 001104 5663 JMP I WRB 653 654 / 655 /TYPEOUT FIELDS SELECTED FOR TESTING 656 / 657 001105 0000 TOSEL, 0 658 001106 7346 CLA CLL CMA RTL /AC=-3 659 001107 3024 DCA BANK /SAVE BANK VALUE 660 001110 1024 TAD BANK 661 001111 7041 CIA /MAKE BANK VALUE POSITIVE 662 001112 7106 CLL RTL 663 001113 7004 RAL /SHIFT OVER FOR OTHER ROUTINES 664 001114 3774 DCA FLDCNT 665 001115 1024 TAD BANK 666 001116 7041 CIA 667 001117 1171 TAD [FS /ESTABLISH STATUS CONTROL WORD 668 001120 3056 DCA TEMP 669 001121 1456 TAD I TEMP /GET ADDRESS OF CONTROL WORD 670 001122 1170 TAD [-7760 /SEE IF THERE IS A FIELD TO DO 671 001123 7650 SNA CLA /IS THIS BANK TO BE TESTED 672 001124 5336 JMP TOSEL1 /UPDATE BANK SELECT VALUE 673 001125 1024 TAD BANK 674 001126 7041 CIA 675 001127 1167 TAD [260 /MAKE ASCII VALUE FOR BANK NUMBER 676 001130 4773 JMS TYPE /TYPE IT 677 001131 1372 TAD (": 678 001132 4773 JMS TYPE /PRINT A ":" 679 001133 4771 JMS FLDSEL 680 001134 1370 TAD (240 681 001135 4773 JMS TYPE 682 001136 2024 TOSEL1, ISZ BANK /UPDATE BANK VALUE 683 001137 7000 NOP 684 001140 1024 TAD BANK 685 001141 7740 SMA SZA CLA /SKIP IF LAST BANK NOT DONE 686 001142 5705 JMP I TOSEL /EXIT ROUTINE 687 001143 5310 JMP TOSEL+3 /GO BACK AND TRY AGAIN 688 / 689 001170 0240 PAGE 001171 2102 001172 0272 001173 5025 001174 2346 001175 2240 001176 0652 001177 0205 690 / 691 /READ & TEST A & B REG PATTERN FROM SELECTED FIELD 692 / 693 001200 0000 RDFLD, 0 694 695 001201 4406 JMS I IAPTOK /APT/ 696 697 001202 7200 CLA 698 001203 1052 TAD TSTFLD 699 001204 1176 TAD [6201 700 001205 3210 DCA RDA2 701 001206 1210 TAD RDA2 702 001207 3263 DCA RDB2 703 001210 6201 RDA2, CDF 0 /TEST DF 704 001211 1166 TAD [-100 705 001212 3070 DCA P2 /READ AND TEST 2 PAGES 706 001213 1172 RDFLDA, TAD [-4 707 001214 3071 DCA W4 /READ AND TEST 4 WORDS 708 001215 3036 RDAC, DCA CS /NO COMPLEMENT 709 001216 4327 JMS READ 710 001217 7041 CIA 711 001220 1066 TAD A 712 001221 7440 SZA 713 714 001222 4777 JMS ERRA /A REG ERROR - NC 715 001223 4327 JMS READ 716 001224 7040 CMA 717 001225 3457 DCA I TSTAD 718 001226 4776 JMS SCS1 /1 COMPLEMENT 719 001227 4327 JMS READ 720 001230 7001 IAC 721 001231 1066 TAD A 722 001232 7440 SZA 723 001233 4775 JMS ERRA1 724 001234 4327 JMS READ 725 001235 7040 CMA 726 001236 3457 DCA I TSTAD 727 001237 4774 JMS SCS2 /2 COMPLEMENTS 728 001240 4327 JMS READ 729 001241 7041 CIA 730 001242 1066 TAD A 731 001243 7440 SZA 732 001244 4777 JMS ERRA /A REG ERROR - 2C 733 001245 2057 ISZ TSTAD 734 001246 7000 NOP 735 001247 2071 ISZ W4 736 001250 5215 JMP RDAC /COMPLETE 4 WORDS 737 001251 2070 ISZ P2 738 001252 5266 JMP RDFLDB /COMPLETE 2 PAGES 739 001253 1051 TAD PROFLD 740 001254 1176 TAD [6201 741 001255 3256 DCA .+1 742 001256 6201 CDF 0 /PROGRAM DF 743 001257 1057 TAD TSTAD 744 001260 7640 SZA CLA 745 001261 5210 JMP RDA2 /READ ANOTHER 2 PAGES 746 001262 5600 JMP I RDFLD /END OF MEMORY REACHED 747 748 001263 6201 RDB2, CDF 0 /TEST DF 749 001264 1166 TAD [-100 750 001265 3070 DCA P2 /READ AND TEST 2 PAGES 751 001266 1172 RDFLDB, TAD [-4 752 001267 3071 DCA W4 /READ AND TEST 4 WORDS 753 001270 3036 RDBC, DCA CS /NO COMPLEMENT 754 001271 4327 JMS READ 755 001272 7041 CIA 756 001273 1067 TAD B 757 001274 7440 SZA 758 759 001275 4773 JMS ERRB /B REG ERROR - NC 760 001276 4327 JMS READ 761 001277 7040 CMA 762 001300 3457 DCA I TSTAD 763 001301 4776 JMS SCS1 /1 COMPLEMENT 764 001302 4327 JMS READ 765 001303 7001 IAC 766 001304 1067 TAD B 767 001305 7440 SZA 768 769 001306 4772 JMS ERRB1 /B REG ERROR - 1C 770 001307 4327 JMS READ 771 001310 7040 CMA 772 001311 3457 DCA I TSTAD 773 001312 4774 JMS SCS2 /2 COMPLEMENTS 774 001313 4327 JMS READ 775 001314 7041 CIA 776 001315 1067 TAD B 777 001316 7440 SZA 778 779 001317 4773 JMS ERRB /B REG ERROR - 2C 780 001320 2057 ISZ TSTAD 781 001321 7000 NOP 782 001322 2071 ISZ W4 /COMPLETE 4 WORDS 783 001323 5270 JMP RDBC 784 001324 2070 ISZ P2 785 001325 5213 JMP RDFLDA /COMPLETE CURRENT 2 PAGES 786 001326 5263 JMP RDB2 787 / 788 /READ TEST ADDRESS SUBROUTINE 789 / 790 001327 0000 READ, 0 791 001330 1457 TAD I TSTAD 792 001331 1457 TAD I TSTAD 793 001332 1457 TAD I TSTAD 794 001333 1457 TAD I TSTAD 795 001334 1457 TAD I TSTAD 796 001335 1457 TAD I TSTAD 797 001336 1457 TAD I TSTAD 798 001337 1457 TAD I TSTAD 799 001340 1457 TAD I TSTAD 800 001341 1457 TAD I TSTAD 801 001342 1457 TAD I TSTAD 802 001343 7200 CLA 803 001344 1457 TAD I TSTAD 804 001345 5727 JMP I READ 805 806 / 807 / 808 /KEYBOARD INTERRUPT OCCURRED 809 / 810 001346 0000 KBINT, 0 811 001347 1076 TAD NOTTY /GET THE TELETYPE FLAG 812 001350 7700 SMA CLA /IS THERE A TELETYPE AVAILABLE 813 001351 5354 JMP .+3 /YES, GO PRINT THE ERROR 814 001352 7402 HLT /NO, HLT - INTERRUPTED FROM THE KEYBOARD 815 001353 5364 JMP KBINTC /GO CLEAR FLAG AND CONTINUE 816 001354 4771 JMS MES 817 001355 4543 TEXT "%#INT FROM KB" 001356 1116 001357 2440 001360 0622 001361 1715 001362 4013 001363 0200 818 001364 6032 KBINTC, KCC 819 001365 7240 STA 820 001366 3055 DCA HEAD1 821 001367 5746 JMP I KBINT 822 823 001371 2240 PAGE 001372 1437 001373 1426 001374 3272 001375 1411 001376 3266 001377 1400 824 825 001400 0000 ERRA, 0 826 001401 7041 CIA 827 001402 1066 TAD A 828 001403 3073 DCA BDATA /DATA READ 829 001404 1066 TAD A 830 001405 4254 JMS GERRC /GO TO ERRC SETUP ROUTINE 831 001406 1066 TAD A 832 001407 3457 DCA I TSTAD /REWRITE BAD LOCATION 833 001410 5600 JMP I ERRA 834 001411 0000 ERRA1, 0 835 001412 3056 DCA TEMP 836 001413 1066 TAD A 837 001414 7040 CMA 838 001415 1056 TAD TEMP 839 001416 3073 DCA BDATA /DATA READ 840 001417 1066 TAD A 841 001420 7040 CMA 842 001421 4254 JMS GERRC /GO TO ERRC SETUP ROUTINE 843 001422 1066 TAD A 844 001423 7040 CMA 845 001424 3457 DCA I TSTAD /REWRITE BAD LOCATION 846 001425 5611 JMP I ERRA1 847 001426 0000 ERRB, 0 848 001427 7041 CIA 849 001430 1067 TAD B 850 001431 3073 DCA BDATA /DATA READ 851 001432 1067 TAD B 852 001433 4254 JMS GERRC /GO TO ERRC SETUP ROUTINE 853 001434 1067 TAD B 854 001435 3457 DCA I TSTAD /REWRITE BAD LOCATION 855 001436 5626 JMP I ERRB 856 001437 0000 ERRB1, 0 857 001440 3056 DCA TEMP 858 001441 1067 TAD B 859 001442 7040 CMA 860 001443 1056 TAD TEMP 861 001444 3073 DCA BDATA /DATA READ 862 001445 1067 TAD B 863 001446 7040 CMA 864 001447 4254 JMS GERRC /GO TO ERRC SETUP ROUTINE 865 001450 1067 TAD B 866 001451 7040 CMA 867 001452 3457 DCA I TSTAD 868 001453 5637 JMP I ERRB1 869 001454 0000 GERRC, 0 /GO TO ERRC 870 001455 3072 DCA GDATA /DATA WRITTEN 871 001456 1051 TAD PROFLD 872 001457 1176 TAD [6201 873 001460 3261 DCA .+1 874 001461 6201 CDF 0 /PROGRAM DF 875 001462 4777 JMS ERRC /DATA OR CHKBD ERROR 876 001463 1052 TAD TSTFLD 877 001464 1176 TAD [6201 878 001465 3266 DCA .+1 879 001466 6201 CDF 0 /TEST DF 880 001467 5654 JMP I GERRC 881 / 882 /CHECK FOR LEGAL FIELD SELECTION 883 / 884 001470 0000 LEGAL, 0 885 001471 7300 CLA CLL 886 001472 3064 DCA INSAME /SAME FIELD CONTROL 887 001473 7344 CLL CLA CMA RAL /AC=-2 888 001474 3065 DCA LEGAL0 /LEGAL SELECTION CONTROL 889 001475 3052 DCA TSTFLD 890 001476 1025 TAD EMMFLG /GET KT8A INDICATOR 891 001477 7650 SNA CLA /SKIP IF ACTIVE 892 001500 5323 JMP NOEMB 893 001501 3776 DCA FLDCNT /START WITH FIELD 0 894 001502 4351 JMS LGLFLD 895 001503 4340 JMS LEGALA /VALID FIELD SELECTION 896 001504 2776 ISZ FLDCNT /UPDATE PATTERN 897 001505 1776 TAD FLDCNT 898 001506 4511 RACB /REARRANGE INTO PROPER CONFIGURATION 899 001507 3052 DCA TSTFLD /AND STORE THE NEW VALUE 900 001510 1776 TAD FLDCNT 901 001511 0375 AND (37 /ISOLATE FIELD 902 001512 7640 SZA CLA /SKIP IF RETURNED TO ZERO 903 001513 5302 JMP .-11 /GO BACK AND TRY AGAIN 904 001514 2065 ILEGAL, ISZ LEGAL0 905 001515 5774 JMP NOFLD /NO FIELD SELECTION 906 001516 1064 TAD INSAME 907 001517 7640 SZA CLA 908 001520 5773 JMP PINF /PROG IN SELECTED FIELD 909 001521 3050 DCA CRELD /ONLY 1 FIELD SELECTED 910 001522 5670 JMP I LEGAL 911 / 912 /KM8 FUNCTIONS 913 / 914 001523 3776 NOEMB, DCA FLDCNT /START WITH FIELD 0 915 001524 4351 JMS LGLFLD /GO TEST FOR VALID SELECTION 916 001525 4340 JMS LEGALA 917 001526 2776 ISZ FLDCNT /UPDATE FIELD NUMBER 918 001527 1776 TAD FLDCNT /GET BACK FIELD SELECTION 919 001530 0035 AND SR911 /ISOLATE FIELD 920 001531 7106 CLL RTL 921 001532 7004 RAL /MOVE INTO POSITION 922 001533 3052 DCA TSTFLD /SAVE NEW VALUE 923 001534 1052 TAD TSTFLD 924 001535 7640 SZA CLA /GONE BACK TO ZERO? 925 001536 5324 JMP NOEMB+1 /GO BACK AND TRY AGAIN 926 001537 5314 JMP ILEGAL /INVALID SELECTIONS OR NOT ENOUGH 927 / 928 / 929 / 930 /LEGAL FIELD SELECTION SUBROUTINE 931 / 932 001540 0000 LEGALA, 0 933 001541 2065 ISZ LEGAL0 /FIELD SELECTED 934 001542 7410 SKP 935 001543 5670 JMP I LEGAL /AT LEAST 2 FIELDS SELECTED 936 001544 6224 RIF 937 001545 3051 DCA PROFLD 938 001546 4772 JMS SAME /PROGRAM IN SELECTED FIELD? 939 001547 2064 ISZ INSAME /YES 940 001550 5740 JMP I LEGALA 941 /SET UP FOR TESTING FIELD STATUS FOR LEGAL SELECTION 942 / 943 001551 0000 LGLFLD, 0 944 001552 7200 CLA /MAKE SURE AC IS CLEAR 945 001553 1776 TAD FLDCNT /GET FIELD TO TEST 946 001554 0035 AND SR911 /ISOLATE FIELDS 947 001555 1371 TAD (TFSTAB 948 001556 3056 DCA TEMP /SAVE ROUTINE POINTER 949 001557 1456 TAD I TEMP /GET POINTER 950 001560 3056 DCA TEMP 951 001561 4456 JMS I TEMP /EXECUTE FS ROUTINE 952 001562 2351 ISZ LGLFLD /INVALID FIELD 953 001563 5751 JMP I LGLFLD 954 / 955 / 956 001571 0740 PAGE 001572 1600 001573 5044 001574 4600 001575 0037 001576 2346 001577 2600 957 958 / 959 /RETURN IF PROGRAM IN SELECTED FIELD 960 /RETURN+1 IF PROGRAM NOT IN SELECTED FIELD 961 / 962 001600 0000 SAME, 0 963 001601 1051 TAD PROFLD 964 001602 7041 CIA 965 001603 1052 TAD TSTFLD 966 001604 7640 SZA CLA 967 001605 2200 ISZ SAME /PROG NOT IN SELECTED FIELD 968 001606 5600 JMP I SAME 969 / 970 /RETURN IF SR03=0. RETURN+1 IF SR03=1 971 / 972 001607 0000 CSR03, 0 973 001610 4504 GETSR 974 001611 0031 AND SR03 975 001612 7640 SZA CLA 976 001613 2207 ISZ CSR03 /INHIBIT PROGRAM RELOCATION 977 001614 5607 JMP I CSR03 978 / 979 /SETUP FIELD STATUS (FS) 980 /INC FIELDS NOT PRESENT OR NOT SELECTED 981 /STORE NUMBER OF FIELDS PRESENT IN FCNT 982 / 983 001615 0000 FSSET, 0 984 001616 7200 CLA 985 001617 3060 DCA FCNT /CLEAR FIELD COUNT 986 001620 3077 3077 987 001621 1076 TAD NOTTY 988 001622 7700 SMA CLA /SKIP IF NO TTY AVAILABLE 989 001623 5233 JMP .+10 990 001624 1021 TAD HCW1 991 001625 7710 SPA CLA /SKIP IF NO HARDWARE SWITCHES 992 001626 5233 JMP .+5 993 001627 1020 TAD PSR /GET PSEUDO SWITCH REGISTER 994 001630 0377 AND (37 995 001631 3063 DCA ENDF /SET UP LAST FIELD TO DO 996 001632 5247 JMP .+15 /BYPASS SETUP 997 001633 4505 C8CAL 998 001634 7402 HLT 999 001635 4504 GETSR /GET NEW SWITCH VALUE 1000 001636 0377 AND (37 /ISOLATE FIELD MIN 1001 001637 3063 DCA ENDF /SAVE THE STARTINNG FIELD 1002 001640 4504 GETSR /GET NEW SWITCH VALUE 1003 001641 7002 BSW 1004 001642 0377 AND (37 1005 001643 3062 DCA STARTF /SAVE END FIELD LIMIT 1006 001644 4776 JMS SETPAR /PRINT "SELECT TEST PARAMETER" 1007 001645 4505 C8CAL 1008 001646 7402 HLT 1009 / 1010 /NOW DETERMINE WHICH FIELDS TO TEST 1011 / 1012 001647 3040 DCA FS 1013 001650 3041 DCA FS1 1014 001651 3042 DCA FS2 1015 001652 3043 DCA FS3 1016 001653 1025 TAD EMMFLG 1017 001654 7650 SNA CLA /TEST TO SEE IF EXPANDED MODE FEATURES 1018 001655 5274 JMP BANK0 /NOT ENABLED. TEST AS THOUGH A KM8E/A 1019 001656 3775 DCA FLDCNT 1020 001657 1775 TAD FLDCNT /GET BACK VALUE TO DO 1021 001660 4511 RACB /REARRANGE INTO PROPER FORMAT 1022 001661 1176 TAD [6201 1023 001662 3263 DCA .+1 1024 001663 7402 HLT /CHANGED TO DATA FIELD TO TEST 1025 001664 4774 JMS CFP /GO TEST FIELD FOR PRESENCE 1026 001665 4314 JMS SPFLD /SET APPROPRIATE BIT 1027 001666 2775 ISZ FLDCNT /UPDATE PATTERN 1028 001667 1775 TAD FLDCNT 1029 001670 0377 AND (37 /GONE BACK TO ZERO YET 1030 001671 7640 SZA CLA /SKIP IF BACK TO FIELD ZERO 1031 001672 5257 JMP .-13 1032 001673 5307 JMP FSEND 1033 001674 1373 BANK0, TAD (7760 1034 001675 3041 DCA FS1 1035 001676 1373 TAD (7760 1036 001677 3042 DCA FS2 1037 001700 1373 TAD (7760 1038 001701 3043 DCA FS3 1039 001702 7200 BANK0A, CLA 1040 001703 6240 LRR /CLEAR RELOCATION 1041 001704 6250 RRR 1042 001705 3775 DCA FLDCNT 1043 001706 4772 JMS TESBNK /TEST BANK 0 1044 1045 001707 1076 FSEND, TAD NOTTY /GET TTY FLAG 1046 001710 7710 SPA CLA /IS TTY AVAILABLE 1047 001711 5615 JMP I FSSET /NO. ABORT TTY MESSAGE AND RETURN 1048 001712 4771 JMS PNTFLD 1049 001713 5615 JMP I FSSET 1050 1051 /SET UP ROUTINE TO SET STATUS BIT 1052 / 1053 001714 0000 SPFLD, 0 1054 001715 1775 TAD FLDCNT 1055 001716 0035 AND SR911 /ISOLATE FIELD 1056 001717 1370 TAD (SFSTAB 1057 001720 3056 DCA TEMP /SAVE POINTER 1058 001721 1456 TAD I TEMP 1059 001722 3056 DCA TEMP /SAVE THE POINTER 1060 001723 4456 JMS I TEMP /GO PERFORM SET FUNCTION 1061 001724 7000 NOP 1062 001725 5714 JMP I SPFLD 1063 / 1064 1065 / 1066 /PRINT SELECTED OPTION FOR TESTING WHETHER KM8 OR KT8 1067 / 1068 001726 0000 PNTOPT, 0 1069 001727 1076 TAD NOTTY /TEST FOR NOTTY TO USE 1070 001730 7640 SZA CLA 1071 001731 5726 JMP I PNTOPT /NO TTY AVAILABLE 1072 001732 1025 TAD EMMFLG 1073 001733 7640 SZA CLA /SKIP IF KT NOT ENABLED 1074 001734 1367 TAD (7 /"T-"M 1075 001735 1366 TAD (1315 /"KM" 1076 001736 3341 DCA OPT /SAVE OPTION VALUE 1077 001737 4765 JMS MES 1078 001740 4543 4543 /CRLF 1079 001741 0000 OPT, 0 1080 001742 7040 TEXT "8 SELECTED FOR TESTING " 001743 2305 001744 1405 001745 0324 001746 0504 001747 4006 001750 1722 001751 4024 001752 0523 001753 2411 001754 1607 001755 4000 1081 001756 5726 JMP I PNTOPT 1082 / 1083 001765 2240 PAGE 001766 1315 001767 0007 001770 3352 001771 4654 001772 2314 001773 7760 001774 2000 001775 2346 001776 5000 001777 0037 1084 1085 1086 / 1087 /RETURN+1 IF FIELD PRESENT IN SYSTEM & IS SELECTED 1088 / 1089 002000 0000 CFP, 0 1090 002001 7300 CLA CLL 1091 002002 6224 RIF 1092 002003 1176 TAD [6201 1093 002004 3212 DCA CFP0 1094 002005 1165 TAD [-1 1095 002006 3677 DCA I CHECK 1096 002007 1677 TAD I CHECK 1097 002010 7640 SZA CLA /SKIP IF NOT PRESENT 1098 002011 5214 JMP .+3 1099 002012 6201 CFP0, CDF 0 /PROGRAM DF 1100 002013 5600 JMP I CFP 1101 002014 2060 ISZ FCNT /FIELD IS PRESENT 1102 002015 6214 RDF /STARTF=ENDF 1103 002016 3301 DCA CFPTMP /SAVE TEST FIELD 1104 002017 1025 TAD EMMFLG 1105 002020 7650 SNA CLA /SKIP IF EXPANDED MODE ACTIVE 1106 002021 5226 JMP .+5 1107 002022 1301 TAD CFPTMP /GET BACK SELECTED FIELD 1108 002023 4510 RACA /CHANGE INTO BINARY COUNT 1109 002024 3301 DCA CFPTMP /RESTORE IT FOR TESTING 1110 002025 5232 JMP .+5 1111 002026 1301 TAD CFPTMP /GET BACK FIELD VALUE 1112 002027 7112 CLL RTR 1113 002030 7010 RAR /CHANGE TO BINARY COUNT NUMBER 1114 002031 3301 DCA CFPTMP /SAVE NUMBER FOR TESTING 1115 002032 1063 TAD ENDF 1116 002033 7041 CIA 1117 002034 1062 TAD STARTF 1118 002035 7440 SZA 1119 002036 5246 JMP CFP2 1120 002037 1301 TAD CFPTMP /GET BACK NUMBER 1121 002040 7041 CIA 1122 002041 1062 TAD STARTF 1123 002042 7650 SNA CLA 1124 002043 2200 CFP1, ISZ CFP /FIELD IS PRESENT AND SELECTED 1125 002044 2077 ISZ NUMFLD /FIELD PRESENT AND SELECTED 1126 002045 5212 JMP CFP0 1127 002046 7710 CFP2, SPA CLA 1128 002047 5267 JMP CFP4 /STARTF < ENDF 1129 002050 1301 TAD CFPTMP 1130 002051 7041 CIA 1131 002052 1062 TAD STARTF 1132 002053 7450 SNA 1133 002054 5243 JMP CFP1 /DF = STARTF (SELECTED) 1134 002055 7710 SPA CLA 1135 002056 5243 JMP CFP1 /DF > STARTF (SELECTED) 1136 002057 1301 CFP3, TAD CFPTMP /DF < STARTF *** 1137 002060 7041 CIA 1138 002061 1063 TAD ENDF 1139 002062 7450 SNA 1140 002063 5243 JMP CFP1 /DF = ENDF (SELECTED) 1141 002064 7710 SPA CLA 1142 002065 5212 JMP CFP0 /DF > ENDF (NOT SELECTED) 1143 002066 5243 JMP CFP1 /DF < ENDF (SELECTED) 1144 002067 1301 CFP4, TAD CFPTMP /STARTF < ENDF 1145 002070 7041 CIA 1146 002071 1062 TAD STARTF /DF = STARTF (SELECTED) 1147 002072 7450 SNA 1148 002073 5243 JMP CFP1 /DF = STARTF (SELECTED) 1149 002074 7710 SPA CLA 1150 002075 5257 JMP CFP3 /DF > STARTF THIS TIME *** 1151 002076 5212 JMP CFP0 /DF < STARTF (NOT SELECTED) 1152 002077 2100 CHECK, CHECK0 1153 002100 0000 CHECK0, 0 1154 002101 0000 CFPTMP, 0 1155 1156 1157 / 1158 / 1159 /FIND OUT WHICH FIELDS HAVE BEEN SELECTED FOR TESTING 1160 / 1161 002102 0000 FLDSEL, 0 1162 002103 4777 JMS TFS7 1163 002104 5307 JMP .+3 1164 002105 1164 TAD [267 1165 002106 4776 JMS TYPE /FIELD 7 1166 002107 4775 JMS TFS6 1167 002110 5313 JMP .+3 1168 002111 1163 TAD [266 1169 002112 4776 JMS TYPE /FIELD 6 1170 002113 4774 JMS TFS5 1171 002114 5317 JMP .+3 1172 002115 1162 TAD [265 1173 002116 4776 JMS TYPE /FIELD 5 1174 002117 4773 JMS TFS4 1175 002120 5323 JMP .+3 1176 002121 1161 TAD [264 1177 002122 4776 JMS TYPE /FIELD 4 1178 002123 4772 JMS TFS3 1179 002124 5327 JMP .+3 1180 002125 1160 TAD [263 1181 002126 4776 JMS TYPE /FIELD 3 1182 002127 4771 JMS TFS2 1183 002130 5333 JMP .+3 1184 002131 1157 TAD [262 1185 002132 4776 JMS TYPE /FIELD 2 1186 002133 4770 JMS TFS1 1187 002134 5337 JMP .+3 1188 002135 1156 TAD [261 1189 002136 4776 JMS TYPE /FIELD 1 1190 002137 4767 JMS TFS0 1191 002140 5343 JMP .+3 1192 002141 1167 TAD [260 1193 002142 4776 JMS TYPE /FIELD 0 1194 002143 5702 JMP I FLDSEL 1195 1196 / 1197 002167 3600 PAGE 002170 3607 002171 3617 002172 3627 002173 3640 002174 3651 002175 3662 002176 5025 002177 3672 1198 1199 / 1200 /CONVERT OCTAL NUMBERS FOR TYPEOUT 1201 / 1202 002200 0000 SIXTY, 0 1203 002201 7300 CLA CLL 1204 002202 1600 TAD I SIXTY /ADDRESS OF OPERAND 1205 002203 3235 DCA S0 1206 002204 2200 ISZ SIXTY 1207 002205 1600 TAD I SIXTY /STORAGE ADDRESS 1208 002206 3236 DCA S1 1209 002207 2200 ISZ SIXTY 1210 002210 1155 TAD [77 1211 002211 7040 CMA /AC=7700 1212 002212 0635 AND I S0 /FIRST TWO DIGITS OF OPERAND 1213 002213 7002 BSW 1214 002214 4222 JMS CNV /CONVERT DIGITS FOR TYPEOT 1215 002215 2236 ISZ S1 /INC STORAGE ADDRESS 1216 002216 1155 TAD [77 1217 002217 0635 AND I S0 /SECOND 2 DIGITS OF OPERAND 1218 002220 4222 JMS CNV 1219 002221 5600 JMP I SIXTY /DONE 1220 002222 0000 CNV, 0 1221 002223 3237 DCA S2 1222 002224 1237 TAD S2 1223 002225 7106 CLL RTL 1224 002226 7004 RAL 1225 002227 0154 AND [707 /LEFT DIGIT 1226 002230 1237 TAD S2 1227 002231 0154 AND [707 /RIGHT DIGIT 1228 002232 1153 TAD [6060 1229 002233 3636 DCA I S1 /STORE CONVERTED DIGITS 1230 002234 5622 JMP I CNV 1231 002235 0000 S0, 0 1232 002236 0000 S1, 0 1233 002237 0000 S2, 0 1234 / 1235 /TELETYPE OUTPUT WITH BELL 1236 / 1237 002240 0000 MES, 0 1238 002241 7240 STA 1239 002242 3023 DCA INMODE /SET PRINTER ACTIVE INDICATOR /*CB*/ 1240 002243 7240 STA 1241 002244 1240 TAD MES /FIRST WORD -1 1242 002245 3010 DCA 10 1243 1244 002246 1410 TAD I 10 1245 002247 3313 DCA M0 1246 002250 1313 TAD M0 1247 002251 7002 BSW 1248 002252 4256 JMS TYPCH /TYPEOUT FIRST CHARACTER 1249 002253 1313 TAD M0 1250 002254 4256 JMS TYPCH /TYPEOUT SECOND CHARACTER 1251 002255 5246 JMP MES+6 /CONTINUE 1252 1253 002256 0000 TYPCH, 0 1254 002257 0155 AND [77 1255 002260 7440 SZA 1256 002261 5264 JMP .+3 1257 002262 3023 DCA INMODE /CLEAR MESSAGE ACTIVE INDICATOR /*CB*/ 1258 002263 5410 JMP I 10 /END OF MESSAGE RETURN 1259 002264 1152 TAD [-34 1260 002265 7440 SZA 1261 002266 5271 JMP .+3 1262 002267 1151 TAD [207 /CODE IS BELL 1263 002270 5311 JMP MTP 1264 002271 1172 TAD [-4 1265 002272 7500 SMA /CODE LESS THAN 40? 1266 002273 5276 JMP .+3 /NO 1267 002274 1150 TAD [340 /YES, ADD 300, CODE IS ALPHA 1268 002275 5311 JMP MTP 1269 002276 1147 TAD [-3 1270 002277 7440 SZA 1271 002300 5303 JMP .+3 1272 002301 1146 TAD [212 /CODE IS LINE FEED 1273 002302 5311 JMP MTP 1274 002303 1145 TAD [-2 1275 002304 7440 SZA 1276 002305 5310 JMP .+3 1277 002306 1144 TAD [215 /CODE IS CR 1278 002307 7410 SKP 1279 002310 1143 TAD [245 /ADD 200 TO OTHERS > 40 1280 002311 4777 MTP, JMS TYPE 1281 002312 5656 JMP I TYPCH 1282 002313 0000 M0, 0 1283 / 1284 / 1285 /TEST THE SELECTED BANK FOR FIELDS AVAILABLE 1286 / 1287 002314 0000 TESBNK, 0 1288 002315 6271 CDF 70 1289 002316 4776 JMS CFP /CHECK FIELD PRESENT 1290 002317 4775 JMS SFS7 /SET FIELD STATUS BIT 7 1291 002320 6261 CDF 60 1292 002321 4776 JMS CFP 1293 002322 4774 JMS SFS6 1294 002323 6251 CDF 50 1295 002324 4776 JMS CFP 1296 002325 4773 JMS SFS5 1297 002326 6241 CDF 40 1298 002327 4776 JMS CFP 1299 002330 4772 JMS SFS4 1300 002331 6231 CDF 30 1301 002332 4776 JMS CFP 1302 002333 4771 JMS SFS3 1303 002334 6221 CDF 20 1304 002335 4776 JMS CFP 1305 002336 4770 JMS SFS2 1306 002337 6211 CDF 10 1307 002340 4776 JMS CFP 1308 002341 4767 JMS SFS1 1309 002342 6201 CDF 0 1310 002343 4776 JMS CFP 1311 002344 4766 JMS SFS0 1312 002345 5714 JMP I TESBNK 1313 002346 0000 FLDCNT, 0 1314 / 1315 /MARCH TEST IN ERROR 1316 / 1317 002347 0000 TWAR, 0 1318 002350 4240 JMS MES 1319 002351 1501 TEXT "MARCH - " 002352 2203 002353 1040 002354 5540 002355 0000 1320 002356 5747 JMP I TWAR 1321 / 1322 002366 3277 PAGE 002367 3317 002370 3340 002371 3412 002372 3432 002373 3452 002374 3472 002375 3512 002376 2000 002377 5025 1323 / 1324 /TYPEOUT CHARACTER IN AC AND A SPACE 1325 002400 0000 TYPSP, 0 1326 002401 4777 JMS TYPE 1327 002402 1142 TAD [240 1328 002403 4777 JMS TYPE 1329 002404 5600 JMP I TYPSP 1330 1331 1332 / 1333 /ERROR ROUTINE (BELL ON ERROR HAS PRIORITY) 1334 / 1335 002405 0000 RETURN, 0 /PROGRAM RETURN ADDRESS 1336 002406 4405 CODERR, JMS I IAPTER 1337 002407 4504 GETSR 1338 002410 0030 AND SR02 /BELL ON ERROR? 1339 002411 7650 SNA CLA 1340 002412 5221 JMP .+7 1341 002413 1076 RBELL, TAD NOTTY /GET TTY FLAG 1342 002414 7710 SPA CLA 1343 002415 5605 JMP I RETURN /NO TELETYPE AVAILABLE DO NOT RING BELL 1344 002416 1151 TAD [207 1345 002417 4777 JMS TYPE /RING BELL 1346 002420 5605 JMP I RETURN 1347 002421 4504 GETSR 1348 002422 0027 AND SR01 1349 002423 7640 SZA CLA 1350 002424 5267 JMP STOP /INHIBIT TYPEOUT 1351 002425 1025 TAD EMMFLG /TEST FOR KT8A 1352 002426 7650 SNA CLA 1353 002427 5234 JMP .+5 1354 002430 6224 RIF /GET PROGRAM FIELD 1355 002431 4510 RACA /BINARY COUNT NUMBER 1356 002432 3056 DCA TEMP 1357 002433 5240 JMP .+5 1358 002434 6224 RIF 1359 002435 7112 CLL RTR 1360 002436 7010 RAR /MAKE A BINARY NUMBER 1361 002437 3056 DCA TEMP /SAVE CHARACTER 1362 002440 4776 JMS SIXTY 1363 002441 0056 TEMP 1364 002442 2457 ERROR0-1 1365 002443 1141 TAD [4543 1366 002444 3257 DCA ERROR0-1 1367 002445 1205 TAD RETURN 1368 002446 1165 TAD [-1 1369 002447 3056 DCA TEMP 1370 002450 4776 JMS SIXTY 1371 002451 0056 TEMP 1372 002452 2461 ERROR1 1373 002453 1076 TAD NOTTY /GET TTY FLAG 1374 002454 7710 SPA CLA /IS THERE A TTY ON SYSTEM 1375 002455 5666 JMP I ADDER /NO. GO HALT ON ERRORS INSTEAD-INFO IN AC 1376 002456 4775 JMS MES 1377 002457 4543 4543 1378 002460 0000 ERROR0, 0 /FIELD 1379 002461 0000 ERROR1, 0 1380 002462 0000 0 /PROGRAM LOCATION OF ERROR JMS 1381 002463 4040 4040 1382 002464 0000 0 1383 002465 5666 JMP I .+1 /TYPEOUT ERROR 1384 002466 0000 ADDER, 0 /ADDRESS OF ERROR TYPEOUT 1385 002467 4504 STOP, GETSR 1386 002470 0026 AND SR00 /HALT AFTER ERROR? 1387 002471 7650 SNA CLA 1388 002472 5276 JMP LIMIT /INHIBIT ERROR HALT 1389 002473 1205 TAD RETURN 1390 002474 1165 TAD [-1 1391 002475 7402 HLT /HALT WITH AC = ERROR JMS 1392 002476 4504 LIMIT, GETSR 1393 002477 0032 AND SR04 /CHANGE FIELD LIMITS? 1394 002500 7640 SZA CLA 1395 002501 5774 JMP PATA /YES 1396 002502 5605 JMP I RETURN /NO 1397 1398 1399 / 1400 /RELOCATION MOVE ERROR 1401 / 1402 002503 0000 ERRM, 0 1403 1404 002504 2053 ISZ COUNT /MOVE ERROR OCCURRED 1405 002505 7410 SKP 1406 002506 5304 JMP .-2 1407 002507 7200 CLA 1408 002510 1303 TAD ERRM 1409 002511 3205 DCA RETURN /RETURN ADDRESS 1410 002512 1373 TAD (PERRM 1411 002513 3266 DCA ADDER /ERROR TYPEOUT ADDRESS 1412 002514 5206 JMP CODERR 1413 002515 4772 PERRM, JMS FLDDAT /SET UP FIELD VALUE TO PRINT 1414 002516 2536 Z10 /WHERE TO PUT IT 1415 002517 4776 JMS SIXTY 1416 002520 0054 MOVE 1417 002521 2537 Z11 1418 002522 1076 TAD NOTTY /GET TTY FLAG 1419 002523 7710 SPA CLA /IS THERE A TELETYPE AVAILABLE? 1420 002524 5345 JMP ERRMM /NO-HALT ON ERRORS INSTEAD-INFO IN AC 1421 002525 4775 JMS MES 1422 002526 2205 TEXT "RELO ERR AT " 002527 1417 002530 4005 002531 2222 002532 4001 002533 2440 002534 0000 1423 002535 4775 JMS MES 1424 002536 0000 Z10, 0 1425 002537 0000 Z11, 0 1426 002540 0000 0 1427 002541 0000 0 1428 002542 7240 STA 1429 002543 3055 DCA HEAD1 1430 002544 5267 JMP STOP 1431 1432 1433 //RELOCATION ERROR ROUTINE ON A SYSTEM WITHOUT A TELETYPE 1434 1435 1436 002545 7240 ERRMM, CLA CMA 1437 002546 1205 TAD RETURN / 1438 002547 7402 HLT /AC=PROGRAM LOCATION OF ERROR JMS 1439 002550 7200 CLA 1440 002551 1771 TAD FLDCNT /GET TEST FIELD 1441 002552 0370 AND (37 /MASK TO FIELD BITS 1442 002553 7402 HLT /AC=FIELD BEING TESTED IN BITS 7-11 1443 002554 7200 CLA 1444 002555 1054 TAD MOVE 1445 002556 7402 HLT /AC=ADDRESS OF LOCATION IN ERROR 1446 002557 7240 CLA CMA 1447 002560 3055 DCA HEAD1 1448 002561 5267 JMP STOP /GO CHECK FOR HALT AFTER ERROR SWITCH 1449 1450 002570 0037 PAGE 002571 2346 002572 5067 002573 2515 002574 0205 002575 2240 002576 2200 002577 5025 1451 1452 / 1453 /DATA OR CHECKERBOARD ERROR OCCURRED 1454 / 1455 002600 0000 ERRC, 0 1456 002601 2053 ISZ COUNT /ERROR OCCURRED 1457 002602 7410 SKP 1458 002603 5201 JMP .-2 1459 002604 7200 CLA 1460 002605 1200 TAD ERRC 1461 002606 3777 DCA RETURN /RETURN ADDRESS 1462 002607 1376 TAD (PERRC 1463 002610 3775 DCA ADDER /ERROR TYPEOUT ADDRESS 1464 002611 4504 GETSR 1465 002612 0030 AND SR02 /BELL ON ERROR 1466 002613 7640 SZA CLA 1467 002614 5774 JMP RBELL /RING BELL 1468 002615 4504 GETSR 1469 002616 0027 AND SR01 1470 002617 7640 SZA CLA 1471 002620 5773 JMP STOP /INHIBIT TYPEOUT 1472 002621 2055 ISZ HEAD1 1473 002622 7410 SKP 1474 002623 4772 JMS ERRHD /TYPEOUT ERROR HEADING 1475 002624 5771 JMP CODERR 1476 1477 002625 4770 PERRC, JMS FLDDAT /SET UP FIELD INFORMATION 1478 002626 2644 Z1 1479 002627 4767 JMS SIXTY 1480 002630 0057 TSTAD 1481 002631 2645 Z2 1482 002632 4767 JMS SIXTY 1483 002633 0072 GDATA 1484 002634 2651 Z3 1485 002635 4767 JMS SIXTY 1486 002636 0073 BDATA 1487 002637 2654 Z4 1488 002640 1076 TAD NOTTY /GET TTY FLAG 1489 002641 7710 SPA CLA /IS THERE A TTY AVAILABLE 1490 002642 5307 JMP ERRCC /NO GO HALT ON ERRORS INSTEAD 1491 002643 4766 JMS MES 1492 002644 0000 Z1, 0 1493 002645 0000 Z2, 0 1494 002646 0000 0 /FAIL ADDR 1495 002647 4040 4040 1496 002650 4040 4040 1497 002651 0000 Z3, 0 1498 002652 0000 0 /GOOD 1499 1500 1501 002653 4040 4040 1502 002654 0000 Z4, 0 1503 002655 0000 0 /BAD 1504 002656 4000 4000 1505 002657 4765 PARORC, JMS TTS 1506 002660 4335 JMS TN /NONE 1507 002661 5773 JMP STOP 1508 002662 4764 JMS T0 /ALL 0 1509 002663 5277 JMP PERRO0 1510 002664 4763 JMS T1 /ALL 1 1511 002665 5277 JMP PERRO0 1512 002666 4762 JMS T07 /0000 - 7777 WCP 1513 002667 5277 JMP PERRO0 1514 002670 4761 JMS T70 /7777 - 0000 WCP 1515 002671 5277 JMP PERRO0 1516 002672 4760 JMS T25 /2525 - 5252 WCP 1517 002673 5277 JMP PERRO0 1518 002674 4757 JMS T52 /5252 - 2525 WCP 1519 002675 7410 SKP 1520 002676 4756 JMS TWAR /MARCH PATTERN FAILURE 1521 002677 4755 PERRO0, JMS TCS 1522 002700 1140 TAD [35 /NC 1523 002701 1165 TAD [-1 /1C 1524 002702 1157 TAD [262 /2C 1525 002703 4754 JMS TYPE 1526 002704 1137 TAD [303 1527 002705 4754 JMS TYPE 1528 002706 5773 JMP STOP 1529 1530 /DATA OR CHECKERBOARD ERROR ON A NON TTY SYSTEM- ERROR INFO IN AC FOR HALTS 1531 1532 002707 7240 ERRCC, CLA CMA 1533 002710 1777 TAD RETURN /GET JMS ERROR ADDRESS 1534 002711 7402 HLT /AC=PROGRAM LOCATION OF ERROR JMS 1535 002712 7200 CLA 1536 002713 1753 TAD FLDCNT /GET FIELD BEING TESTED 1537 002714 0352 AND (37 /MASK OUT FIELD BITS 1538 002715 7402 HLT /AC=FIELD BEING TESTED BITS 7-11 1539 002716 7200 CLA 1540 002717 1057 TAD TSTAD 1541 002720 7402 HLT /AC=FAILING ADDRESS IN FIELD BEING TESTED 1542 002721 7200 CLA 1543 002722 1072 TAD GDATA /GET THE GOOD DATA 1544 002723 7402 HLT /AC=THE GOOD DATA 1545 002724 7200 CLA 1546 002725 1073 TAD BDATA /GET THE DATA READ 1547 002726 7402 HLT /AC=THE BAD DATA 1548 002727 7200 CLA 1549 002730 4765 JMS TTS /GET THE PATTERN BEING TESTED 1550 002731 1751 PATERR, TAD TSNUM /GET THE PATTERN 1551 002732 7402 HLT /AC=PATTERN NUMBER 1552 002733 7200 CLA 1553 002734 5773 JMP STOP /GO CHECK FOR HALT AFTER ERROR 1554 1555 1556 / 1557 /TYPEOUT TEST BEING EXECUTED 1558 / 1559 002735 0000 TN, 0 1560 002736 4766 JMS MES 1561 002737 1617 TEXT "NO PATTERN" 002740 4020 002741 0124 002742 2405 002743 2216 002744 0000 1562 002745 5735 JMP I TN 1563 1564 1565 002751 3555 PAGE 002752 0037 002753 2346 002754 5025 002755 0503 002756 2347 002757 3064 002760 3050 002761 3034 002762 3020 002763 3010 002764 3000 002765 3532 002766 2240 002767 2200 002770 5067 002771 2406 002772 4011 002773 2467 002774 2413 002775 2466 002776 2625 002777 2405 1566 1567 1568 003000 0000 T0, 0 1569 003001 4777 JMS MES 1570 003002 0114 TEXT "ALL 0 - " 003003 1440 003004 6040 003005 5540 003006 0000 1571 003007 5600 JMP I T0 1572 1573 003010 0000 T1, 0 1574 003011 4777 JMS MES 1575 003012 0114 TEXT "ALL 1 - " 003013 1440 003014 6140 003015 5540 003016 0000 1576 003017 5610 JMP I T1 1577 1578 003020 0000 T07, 0 1579 003021 4777 JMS MES 1580 003022 6060 TEXT "0000-7777 WCP - " 003023 6060 003024 5567 003025 6767 003026 6740 003027 2703 003030 2040 003031 5540 003032 0000 1581 003033 5620 JMP I T07 1582 003034 0000 T70, 0 1583 003035 4777 JMS MES 1584 003036 6767 TEXT "7777-0000 WCP - " 003037 6767 003040 5560 003041 6060 003042 6040 003043 2703 003044 2040 003045 5540 003046 0000 1585 003047 5634 JMP I T70 1586 1587 003050 0000 T25, 0 1588 003051 4777 JMS MES 1589 003052 6265 TEXT "2525-5252 WCP - " 003053 6265 003054 5565 003055 6265 003056 6240 003057 2703 003060 2040 003061 5540 003062 0000 1590 003063 5650 JMP I T25 1591 1592 003064 0000 T52, 0 1593 003065 4777 JMS MES 1594 003066 6562 TEXT "5252-2525 WCP - " 003067 6562 003070 5562 003071 6562 003072 6540 003073 2703 003074 2040 003075 5540 003076 0000 1595 003077 5664 JMP I T52 1596 1597 / 1598 /PARITY ERROR 1599 / 1600 003100 7200 PARINT, CLA 1601 003101 1376 TAD (INTR 1602 003102 3775 DCA RETURN 1603 003103 4774 JMS SIXTY 1604 003104 0000 0 1605 003105 3131 Z20 1606 003106 4774 JMS SIXTY 1607 003107 0057 TSTAD 1608 003110 3145 Z21 1609 003111 1076 TAD NOTTY /GET TTY FLAG 1610 003112 7710 SPA CLA /IS THERE A TELETYPE AVAILABLE 1611 003113 5354 JMP PARERR /NO, GO HALT WITH ERROR INFO IN AC 1612 003114 4777 JMS MES /PRINT HEADER 1613 003115 4543 TEXT "%#PARITY ERR, LOC 0=" 003116 2001 003117 2211 003120 2431 003121 4005 003122 2222 003123 5440 003124 1417 003125 0340 003126 6075 003127 0000 1614 003130 4777 JMS MES 1615 003131 0000 Z20, 0 1616 003132 0000 0 /CONTENT OF LOC 0 1617 003133 4040 4040 1618 003134 2423 2423 1619 003135 2401 2401 1620 003136 0475 0475 /TSTAD= 1621 003137 0000 0000 1622 003140 6004 GTF 1623 003141 0136 AND [7 1624 003142 1167 TAD [260 1625 003143 4773 JMS TYPE /TYPE DATA FIELD 1626 003144 4777 JMS MES 1627 003145 0000 Z21, 0 1628 003146 0000 0 /CONTENT OF TSTAD 1629 003147 4000 4000 1630 003150 6104 CMP 1631 003151 7240 STA 1632 003152 3055 DCA HEAD1 1633 003153 5772 JMP PARORC /TYPE PRESENT TEST 1634 1635 1636 /PARITY ERROR ON A NON TTY SYSTEM- ERROR INFO IN THE AC FOR EACH HALT 1637 1638 003154 1000 PARERR, TAD 0 /GET THE INTERRUPTED PC 1639 003155 7402 HLT /AC=INTERRUPT PC (LOCATION 0) 1640 003156 7200 CLA 1641 003157 6004 GTF /GET THE FLAGS 1642 003160 0371 AND (7 /MASK TO DATA FIELD 1643 003161 7402 HLT /AC=DATA FIELD AT TIME OF PARITY ERROR 1644 003162 7200 CLA 1645 003163 1057 TAD TSTAD 1646 003164 7402 HLT /AC=ADDRESS IN FIELD BEING TESTED 1647 003165 7200 CLA 1648 003166 6104 CMP /CLEAR MEMORY PARITY ERROR BIT 1649 003167 5772 JMP PARORC /GO GET PATTERN BEING TESTED 1650 1651 003171 0007 PAGE 003172 2657 003173 5025 003174 2200 003175 2405 003176 4256 003177 2240 1652 1653 / 1654 /UNWANTED INTERRUPT OCCURRED 1655 / 1656 003200 1377 BADINT, TAD (BADINT 1657 003201 4405 JMS I IAPTER /GO TO APT IF NEED BE 1658 003202 1076 TAD NOTTY /GET THE TELETYPE FLAG 1659 003203 7700 SMA CLA /IS THERE A TELETYPE ON THE SYSTEM 1660 003204 5207 JMP .+3 /YES GO PRINT THE MESSAGE 1661 003205 7402 HLT /UNWANTED INTERRUPT OCCURRED 1662 003206 5227 JMP BINTC /GO CLEAR THE WORLD AND CONTINUE 1663 003207 4776 JMS MES 1664 003210 4543 TEXT "%#UNWANTED INTERRUPT OCCURRED" 003211 2516 003212 2701 003213 1624 003214 0504 003215 4011 003216 1624 003217 0522 003220 2225 003221 2024 003222 4017 003223 0303 003224 2522 003225 2205 003226 0400 1665 003227 6007 BINTC, CAF 1666 003230 7240 STA 1667 003231 3055 DCA HEAD1 1668 003232 5775 JMP INTR 1669 / 1670 /SET ONLY STATUS BIT SPECIFIED 1671 / 1672 003233 0000 STS0, 0 /SET TS0 (ALL 0 TEST) 1673 003234 7330 CLA STL RAR 1674 003235 3037 DCA TS 1675 003236 5633 JMP I STS0 1676 003237 0000 STS1, 0 /SET TS1 (ALL 1 TEST) 1677 003240 7332 CLA STL RTR 1678 003241 3037 DCA TS 1679 003242 5637 JMP I STS1 1680 003243 0000 STS2, 0 /SET TS2 (0000 - 7777 WCP TEST) 1681 003244 7332 CLA STL RTR 1682 003245 7010 RAR 1683 003246 3037 DCA TS 1684 003247 5643 JMP I STS2 1685 1686 1687 003250 0000 STS3, 0 /SET TS3 (7777 - 0000 WCP TEST) 1688 003251 7332 CLA STL RTR 1689 003252 7012 RTR 1690 003253 3037 DCA TS 1691 003254 5650 JMP I STS3 1692 003255 0000 STS4, 0 /SET TS4 (2525 - 5252 WCP TEST) 1693 003256 7203 CLA IAC BSW 1694 003257 7104 CLL RAL 1695 003260 3037 DCA TS 1696 003261 5655 JMP I STS4 1697 003262 0000 STS5, 0 /SET TS5 (5252 - 2525 WCP TEST) 1698 003263 7203 CLA IAC BSW 1699 003264 3037 DCA TS 1700 003265 5662 JMP I STS5 1701 1702 003266 0000 SCS1, 0 /SET CS1 (1 COMPLEMENT) 1703 003267 7332 CLA STL RTR 1704 003270 3036 DCA CS 1705 003271 5666 JMP I SCS1 1706 003272 0000 SCS2, 0 /SET CS2 (2 COMPLEMENT) 1707 003273 7332 CLA STL RTR 1708 003274 7010 RAR 1709 003275 3036 DCA CS 1710 003276 5672 JMP I SCS2 1711 / 1712 /SET ALSO STATUS BIT SPECIFIED 1713 / 1714 003277 0000 SFS0, 0 /SET FS0 (DON'T TEST FIELD 0) 1715 003300 7200 CLA 1716 003301 4506 SETFS /SETUP BANK POINTER 1717 003302 1456 TAD I TEMP 1718 003303 7004 RAL 1719 003304 7130 STL RAR 1720 003305 3456 DCA I TEMP /SAVE STATUS WORD 1721 003306 5677 JMP I SFS0 1722 003307 0000 SRS0, 0 /SET RS0 (DON'T RELO TO FIELD 0) 1723 003310 7200 CLA 1724 003311 4507 SETRS /SETUP BANK POINTER 1725 003312 1456 TAD I TEMP 1726 003313 7004 RAL 1727 003314 7130 STL RAR 1728 003315 3456 DCA I TEMP /SAVE NEW WORD 1729 003316 5707 JMP I SRS0 1730 003317 0000 SFS1, 0 /SET FS1 (DON'T TEST FIELD 1) 1731 003320 7200 CLA 1732 003321 4506 SETFS /SETUP BANK POINTER 1733 003322 1456 TAD I TEMP 1734 003323 7006 RTL 1735 003324 7132 STL RTR 1736 003325 3456 DCA I TEMP /SAVE NEW WORD 1737 003326 5717 JMP I SFS1 1738 003327 0000 SRS1, 0 /SET RS1 (DON'T RELO TO FIELD 1) 1739 003330 7200 CLA 1740 003331 4507 SETRS /SETUP BANK POINTER 1741 003332 1456 TAD I TEMP 1742 003333 1044 TAD RS 1743 003334 7006 RTL 1744 003335 7132 STL RTR 1745 003336 3456 DCA I TEMP /SAVE NEW WORD 1746 003337 5727 JMP I SRS1 1747 003340 0000 SFS2, 0 /SET FS2 (DON'T TEST FIELD 2) 1748 003341 7200 CLA 1749 003342 4506 SETFS /SETUP BANK POINTER 1750 003343 1456 TAD I TEMP 1751 003344 7006 RTL 1752 003345 7500 SMA 1753 003346 1135 TAD [4000 1754 003347 7012 RTR 1755 003350 3456 DCA I TEMP /SAVE NEW WORD 1756 003351 5740 JMP I SFS2 1757 003352 3277 SFSTAB, SFS0 1758 003353 3317 SFS1 1759 003354 3340 SFS2 1760 003355 3412 SFS3 1761 003356 3432 SFS4 1762 003357 3452 SFS5 1763 003360 3472 SFS6 1764 003361 3512 SFS7 1765 1766 1767 1768 003375 4256 PAGE 003376 2240 003377 3200 1769 003400 0000 SRS2, 0 /SET RS2 (DON'T RELO TO FIELD 2) 1770 003401 7200 CLA 1771 003402 4507 SETRS /SETUP BANK POINTER 1772 003403 1456 TAD I TEMP 1773 003404 7006 RTL 1774 003405 7500 SMA 1775 003406 1135 TAD [4000 1776 003407 7012 RTR 1777 003410 3456 DCA I TEMP /SAVE NEW WORD 1778 003411 5600 JMP I SRS2 1779 003412 0000 SFS3, 0 /SET FS3 (DON'T TEST FIELD 3) 1780 003413 7200 CLA 1781 003414 4506 SETFS /SETUP BANK POINTER 1782 003415 1456 TAD I TEMP 1783 003416 0134 AND [7360 1784 003417 1133 TAD [400 1785 003420 3456 DCA I TEMP /SAVE NEW WORD 1786 003421 5612 JMP I SFS3 1787 003422 0000 SRS3, 0 /SET RS3 (DON'T RELO TO FIELD 3) 1788 003423 7200 CLA 1789 003424 4507 SETRS /SETUP BANK POINTER 1790 003425 1456 TAD I TEMP 1791 003426 0134 AND [7360 1792 003427 1133 TAD [400 1793 003430 3456 DCA I TEMP /SAVE NEW WORD 1794 003431 5622 JMP I SRS3 1795 003432 0000 SFS4, 0 /SET FS4 (DON'T TEST FIELD 4) 1796 003433 7200 CLA 1797 003434 4506 SETFS /SETUP BANK POINTER 1798 003435 1456 TAD I TEMP 1799 003436 0132 AND [7560 1800 003437 1131 TAD [200 1801 003440 3456 DCA I TEMP /SAVE NEW WORD 1802 003441 5632 JMP I SFS4 1803 003442 0000 SRS4, 0 /SET RS4 (DON'T RELO TO FIELD 4) 1804 003443 7200 CLA 1805 003444 4507 SETRS /SETUP BANK POINTER 1806 003445 1456 TAD I TEMP 1807 003446 0132 AND [7560 1808 003447 1131 TAD [200 1809 003450 3456 DCA I TEMP /SAVE NEW WORD 1810 003451 5642 JMP I SRS4 1811 003452 0000 SFS5, 0 /SET FS5 (DON'T TEST FIELD 5) 1812 003453 7200 CLA 1813 003454 4506 SETFS /SETUP BANK POINTER 1814 003455 1456 TAD I TEMP 1815 003456 0130 AND [7660 1816 003457 1127 TAD [100 1817 003460 3456 DCA I TEMP /SAVE NEW WORD 1818 003461 5652 JMP I SFS5 1819 003462 0000 SRS5, 0 /SET RS5 (DON'T RELO TO FIELD 5) 1820 003463 7200 CLA 1821 003464 4507 SETRS /SETUP BANK POINTER 1822 003465 1456 TAD I TEMP 1823 003466 0130 AND [7660 1824 003467 1127 TAD [100 1825 003470 3456 DCA I TEMP /SAVE NEW WORD 1826 003471 5662 JMP I SRS5 1827 003472 0000 SFS6, 0 /SET FS6 (DON'T TEST FIELD 6) 1828 003473 7200 CLA 1829 003474 4506 SETFS /SETUP BANK POINTER 1830 003475 1456 TAD I TEMP 1831 003476 0126 AND [7720 1832 003477 1171 TAD [40 1833 003500 3456 DCA I TEMP /SAVE NEW WORD 1834 003501 5672 JMP I SFS6 1835 003502 0000 SRS6, 0 /SET RS6 (DON'T RELO TO FIELD 6) 1836 003503 7200 CLA 1837 003504 4507 SETRS /SETUP BANK POINTER 1838 003505 1456 TAD I TEMP 1839 003506 0126 AND [7720 1840 003507 1171 TAD [40 1841 003510 3456 DCA I TEMP /SAVE NEW WORD 1842 003511 5702 JMP I SRS6 1843 003512 0000 SFS7, 0 /SET FS7 (DON'T TEST FIELD 7) 1844 003513 7200 CLA 1845 003514 4506 SETFS /SETUP BANK POINTER 1846 003515 1456 TAD I TEMP 1847 003516 0173 AND [7740 1848 003517 1170 TAD [20 1849 003520 3456 DCA I TEMP /SAVE NEW WORD 1850 003521 5712 JMP I SFS7 1851 003522 0000 SRS7, 0 /SET RS7 (DON'T RELO TO FIELD 7) 1852 003523 7200 CLA 1853 003524 4507 SETRS /SETUP BANK POINTER 1854 003525 1456 TAD I TEMP 1855 003526 0173 AND [7740 1856 003527 1170 TAD [20 1857 003530 3456 DCA I TEMP /SAVE NEW WORD 1858 003531 5722 JMP I SRS7 1859 / 1860 /TEST TEST STATUS 1861 /RETURN IF NO TEST 1862 /RETURN+2 IF ALL 0 TEST 1863 /RETURN+4 IF ALL 0 TEST 1864 /RETURN+6 IF 0000 - 7777 TEST 1865 /RETURN+8 IF 7777 - 0000 TEST 1866 /RETURN+10 IF 2525 - 5252 TEST 1867 /RETURN+12 IF 5252 - 2525 TEST 1868 /RETURN+14 IF MARCH PATTERN 1869 / 1870 003532 0000 TTS, 0 1871 003533 7200 CLA 1872 003534 3355 DCA TSNUM /CLEAR PATTERN NUM FOR NON TTY SYSTEMS 1873 003535 1037 TAD TS 1874 003536 0125 AND [7770 1875 003537 7450 SNA 1876 003540 5356 JMP TTYCHK /NO TEST 1877 003541 2355 ISZ TSNUM 1878 003542 2332 ISZ TTS 1879 003543 2332 ISZ TTS 1880 003544 7104 TTS0, CLL RAL 1881 003545 7421 MQL 1882 003546 7430 SZL /CHECK THIS TEST BIT 1883 003547 5356 JMP TTYCHK 1884 003550 2355 ISZ TSNUM 1885 003551 2332 ISZ TTS 1886 003552 2332 ISZ TTS 1887 003553 7521 SWP 1888 003554 5344 JMP TTS0 /CHECK NEXT TEST BIT 1889 1890 1891 003555 0000 TSNUM, 0 1892 1893 003556 7200 TTYCHK, CLA 1894 003557 1076 TAD NOTTY /GET PROGRAM FLAG 1895 003560 7710 SPA CLA /WAS THERE A TELETYPE AVAILABLE 1896 003561 5777 JMP PATERR /NO, GO HALT ON ERROR 1897 003562 5732 JMP I TTS /RETURN TO ERROR PRINTOUT 1898 1899 003577 2731 PAGE 1900 1901 / 1902 /TEST FIELD STATUS 1903 /RETURN IF FIELD STATUS BIT SET (DON'T TEST FIELD) 1904 /RETURN+1 IF FIELD STATUS BIT RESET (TEST THIS FIELD) 1905 / 1906 003600 0000 TFS0, 0 1907 003601 7200 CLA 1908 003602 4506 SETFS /SETUP BANK POINTER 1909 003603 1456 TAD I TEMP 1910 003604 7700 SMA CLA /FIELD 0 1911 003605 2200 ISZ TFS0 1912 003606 5600 JMP I TFS0 1913 003607 0000 TFS1, 0 1914 003610 7200 CLA 1915 003611 4506 SETFS /SETUP BANK POINTER 1916 003612 1456 TAD I TEMP 1917 003613 7004 RAL 1918 003614 7700 SMA CLA 1919 003615 2207 ISZ TFS1 /FIELD 1 1920 003616 5607 JMP I TFS1 1921 003617 0000 TFS2, 0 1922 003620 7200 CLA 1923 003621 4506 SETFS /SETUP BANK POINTER 1924 003622 1456 TAD I TEMP 1925 003623 7006 RTL 1926 003624 7700 SMA CLA 1927 003625 2217 ISZ TFS2 /FIELD 2 1928 003626 5617 JMP I TFS2 1929 003627 0000 TFS3, 0 1930 003630 7200 CLA 1931 003631 4506 SETFS /SETUP BANK POINTER 1932 003632 1456 TAD I TEMP 1933 003633 7006 RTL 1934 003634 7004 RAL 1935 003635 7700 SMA CLA /FIELD 3 1936 003636 2227 ISZ TFS3 1937 003637 5627 JMP I TFS3 1938 003640 0000 TFS4, 0 1939 003641 7200 CLA 1940 003642 4506 SETFS /SETUP BANK POINTER 1941 003643 1456 TAD I TEMP 1942 003644 7006 RTL 1943 003645 7006 RTL 1944 003646 7700 SMA CLA /FIELD 4 1945 003647 2240 ISZ TFS4 1946 003650 5640 JMP I TFS4 1947 003651 0000 TFS5, 0 1948 003652 7200 CLA 1949 003653 4506 SETFS /SETUP BANK POINTER 1950 003654 1456 TAD I TEMP 1951 003655 7002 BSW 1952 003656 7010 RAR 1953 003657 7620 SNL CLA /FIELD 5 1954 003660 2251 ISZ TFS5 1955 003661 5651 JMP I TFS5 1956 003662 0000 TFS6, 0 1957 003663 7200 CLA 1958 003664 4506 SETFS /SETUP BANK POINTER 1959 003665 1456 TAD I TEMP 1960 003666 7002 BSW 1961 003667 7700 SMA CLA /FIELD 6 1962 003670 2262 ISZ TFS6 1963 003671 5662 JMP I TFS6 1964 003672 0000 TFS7, 0 1965 003673 7200 CLA 1966 003674 4506 SETFS /SETUP BANK POINTER 1967 003675 1456 TAD I TEMP 1968 003676 7002 BSW 1969 003677 7004 RAL 1970 003700 7700 SMA CLA /FIELD 7 1971 003701 2272 ISZ TFS7 1972 003702 5672 JMP I TFS7 1973 1974 / 1975 /TEST RELOCATION STATUS 1976 /RETURN IF RELO STATUS BIT SET (DON'T RELO TO FIELD) 1977 /RETURN+1 IF RELO STATUS BIT RESET (RELO TO THIS FIELD) 1978 / 1979 003703 0000 TRS0, 0 1980 003704 7200 CLA 1981 003705 4507 SETRS /SETUP BANK POINTER 1982 003706 1456 TAD I TEMP 1983 003707 7700 SMA CLA /FIELD 0 1984 003710 2303 ISZ TRS0 1985 003711 5703 JMP I TRS0 1986 003712 0000 TRS1, 0 1987 003713 7200 CLA 1988 003714 4507 SETRS /SETUP BANK POINTER 1989 003715 1456 TAD I TEMP 1990 003716 7004 RAL 1991 003717 7700 SMA CLA /FIELD 1 1992 003720 2312 ISZ TRS1 1993 003721 5712 JMP I TRS1 1994 003722 0000 TRS2, 0 1995 003723 7200 CLA 1996 003724 4507 SETRS /SETUP BANK POINTER 1997 003725 1456 TAD I TEMP 1998 003726 7006 RTL 1999 003727 7700 SMA CLA /FIELD 2 2000 003730 2322 ISZ TRS2 2001 003731 5722 JMP I TRS2 2002 003732 0000 TRS3, 0 2003 003733 7200 CLA 2004 003734 4507 SETRS /SETUP BANK POINTER 2005 003735 1456 TAD I TEMP 2006 003736 7004 RAL 2007 003737 7006 RTL 2008 003740 7700 SMA CLA /FIELD 3 2009 003741 2332 ISZ TRS3 2010 003742 5732 JMP I TRS3 2011 003743 0000 TRS4, 0 2012 003744 7200 CLA 2013 003745 4507 SETRS /SETUP BANK POINTER 2014 003746 1456 TAD I TEMP 2015 003747 7006 RTL 2016 003750 7006 RTL 2017 003751 7700 SMA CLA /FIELD 4 2018 003752 2343 ISZ TRS4 2019 003753 5743 JMP I TRS4 2020 003754 0000 TRS5, 0 2021 003755 7200 CLA 2022 003756 4507 SETRS /SETUP BANK POINTER 2023 003757 1456 TAD I TEMP 2024 003760 7002 BSW 2025 003761 7010 RAR 2026 003762 7620 SNL CLA /FIELD 5 2027 003763 2354 ISZ TRS5 2028 003764 5754 JMP I TRS5 2029 003765 0000 TRS6, 0 2030 003766 7200 CLA 2031 003767 4507 SETRS /SETUP BANK POINTER 2032 003770 1456 TAD I TEMP 2033 003771 7002 BSW 2034 003772 7700 SMA CLA /FIELD 6 2035 003773 2365 ISZ TRS6 2036 003774 5765 JMP I TRS6 2037 / 2038 PAGE 2039 / 2040 004000 0000 TRS7, 0 2041 004001 7200 CLA 2042 004002 4507 SETRS /SETUP BANK POINTER 2043 004003 1456 TAD I TEMP 2044 004004 7002 BSW 2045 004005 7004 RAL 2046 004006 7700 SMA CLA /FIELD 7 2047 004007 2200 ISZ TRS7 2048 004010 5600 JMP I TRS7 2049 2050 2051 2052 / 2053 /TYPEOUT ERROR HEADING 2054 / 2055 004011 0000 ERRHD, 0 2056 004012 1076 TAD NOTTY /GET TTY FLAG 2057 004013 7710 SPA CLA 2058 004014 5611 JMP I ERRHD /NO TELETYPE AVAILABLE DON'T PRINT 2059 004015 4777 JMS MES 2060 004016 4543 TEXT "%#PR LOC FAIL ADR GOOD BAD PATTERN" 004017 2022 004020 4014 004021 1703 004022 4040 004023 0601 004024 1114 004025 4001 004026 0422 004027 4040 004030 0717 004031 1704 004032 4040 004033 0201 004034 0440 004035 4020 004036 0124 004037 2405 004040 2216 004041 0000 2061 004042 5611 JMP I ERRHD 2062 / 2063 /TYPEOUT PROGRAM TITLE 2064 / 2065 004043 0000 TITLE, 0 2066 004044 1076 TAD NOTTY /GET TTY FLAG 2067 004045 7710 SPA CLA /TTY AVAILABLE? 2068 004046 5643 JMP I TITLE /NO, ABORT MESSAGE 2069 004047 4777 JMS MES 2070 004050 4543 TEXT "%##PDP-8E EXT MEM DATA & CHKBD#" 004051 4320 004052 0420 004053 5570 004054 0540 004055 0530 004056 2440 004057 1505 004060 1540 004061 0401 004062 2401 004063 4046 004064 4003 004065 1013 004066 0204 004067 4300 2071 004070 5643 JMP I TITLE 2072 2073 / 2074 /TYPEOUT TO SET SWITCHES 2075 / 2076 004071 0000 SETSW, 0 2077 004072 1076 TAD NOTTY /GET TTY FLAG 2078 004073 7710 SPA CLA /IS THERE A TTY AVAILABLE 2079 004074 5671 JMP I SETSW 2080 004075 4777 JMS MES 2081 004076 4543 TEXT "%#SELECT FIELD PARAMETERS%#" 004077 2305 004100 1405 004101 0324 004102 4006 004103 1105 004104 1404 004105 4020 004106 0122 004107 0115 004110 0524 004111 0522 004112 2345 004113 4300 2082 004114 5671 JMP I SETSW 2083 2084 2085 2086 / 2087 /TYPEOUT "NO RELOCATION" 2088 / 2089 004115 0000 PNOREL, 0 2090 004116 1076 TAD NOTTY /GET TTY FLAG 2091 004117 7710 SPA CLA /IS THERE A TTY ON SYSTEM 2092 004120 5715 JMP I PNOREL /NO, GO RUN TEST 2093 004121 4777 JMS MES 2094 004122 4543 TEXT "%#NO RELOCATION, PROG IN FIELD " 004123 1617 004124 4022 004125 0514 004126 1703 004127 0124 004130 1117 004131 1654 004132 4020 004133 2217 004134 0740 004135 1116 004136 4006 004137 1105 004140 1404 004141 4000 2095 004142 6224 RIF 2096 004143 7106 CLL RTL 2097 004144 7004 RAL 2098 004145 1124 TAD [6000 2099 004146 3350 DCA Z8 2100 004147 4777 JMS MES 2101 004150 0000 Z8, 0 2102 004151 7240 STA 2103 004152 3055 DCA HEAD1 2104 004153 5715 JMP I PNOREL 2105 2106 / 2107 /TYPEOUT "RELOCATION" 2108 004154 0000 PREL, 0 2109 004155 1076 TAD NOTTY /GET TELETYPE FLAG 2110 004156 7710 SPA CLA /PRINT MESSAGE? 2111 004157 5754 JMP I PREL /NO TTY - DO NOT PRINT 2112 004160 4777 JMS MES 2113 004161 4543 TEXT "%#PROG WILL RELOCATE" 004162 2022 004163 1707 004164 4027 004165 1114 004166 1440 004167 2205 004170 1417 004171 0301 004172 2405 004173 0000 2114 004174 7240 STA 2115 004175 3055 DCA HEAD1 2116 004176 5754 JMP I PREL 2117 2118 2119 2120 / 2121 004177 2240 PAGE 2122 / 2123 2124 / 2125 2126 2127 2128 / 2129 /RELOCATE THE PROGRAM 2130 / 2131 004200 0000 RELO, 0 2132 004201 7200 CLA 2133 004202 3053 DCA COUNT /CLEAR ERROR COUNTER 2134 004203 3054 DCA MOVE /CLEAR MOVE COUNTER 2135 004204 2061 ISZ RELCNT /SEE IF ALL FIELDS DONE 2136 004205 5212 JMP .+5 2137 004206 1077 TAD NUMFLD 2138 004207 7041 CIA 2139 004210 3061 DCA RELCNT 2140 004211 4777 JMS ENDPAS 2141 004212 1176 TAD [6201 2142 004213 1051 TAD PROFLD 2143 004214 3225 DCA RELO2 2144 004215 1176 TAD [6201 2145 004216 1052 TAD TSTFLD 2146 004217 3227 DCA RELO3 2147 004220 1225 TAD RELO2 2148 004221 3232 DCA RELO4 2149 004222 7305 CLL CLA IAC RAL /AC=2 2150 004223 1227 TAD RELO3 2151 004224 3244 DCA RELO5 2152 004225 6201 RELO2, CDF 0 /MOVE FROM DF 2153 004226 1454 TAD I MOVE 2154 004227 6201 RELO3, CDF 0 /MOVE TO DF 2155 004230 3454 DCA I MOVE 2156 004231 1454 TAD I MOVE 2157 004232 6201 RELO4, CDF 0 /MOVE FROM DF 2158 004233 7041 CIA 2159 004234 1454 TAD I MOVE 2160 004235 7640 SZA CLA 2161 004236 4776 JMS ERRM /MOVE ERROR 2162 004237 2054 ISZ MOVE 2163 004240 5225 JMP RELO2 2164 004241 1053 TAD COUNT 2165 004242 7640 SZA CLA /SKIP IF MOVE ERROR 2166 004243 5600 JMP I RELO 2167 004244 6203 RELO5, CDI 0 /NEW PROGRAM FIELD 2168 004245 5600 JMP I RELO 2169 2170 / 2171 /INTERUPT ROUTINE 2172 / 2173 004246 4300 INTROU, JMS SAVINT 2174 004247 6107 SPO /SKIP IF PARITY OPTION 2175 004250 5253 JMP .+3 2176 004251 6101 SMP 2177 004252 5775 JMP PARINT /PARITY ERROR 2178 004253 6031 KSF 2179 004254 5774 JMP BADINT /UNWANTED INTERRUPT 2180 004255 4773 JMS KBINT /KEYBOARD INTERRUPT 2181 004256 4772 INTR, JMS RESINT 2182 004257 7200 CLA 2183 004260 1075 TAD SMQ /RESTORE MQ 2184 004261 7421 MQL 2185 004262 6004 GTF 2186 004263 6005 RTF 2187 004264 7200 CLA 2188 004265 1074 TAD SAC /RESTORE AC 2189 004266 5400 JMP I 0 2190 2191 2192 / 2193 /TURN INTERRUPT ON IF FIELD 0 AND PARITY OPTION INSTALLED 2194 / 2195 004267 0000 PAR, 0 2196 004270 7300 CLA CLL 2197 004271 6007 CAF 2198 004272 6107 SPO /SKIP IN PARITY OPTION 2199 004273 5667 JMP I PAR 2200 004274 6224 RIF 2201 004275 7650 SNA CLA /SKIP IF NOT FIELD 0 2202 004276 6001 ION 2203 004277 5667 JMP I PAR 2204 004300 0000 SAVINT, 0 2205 004301 7200 CLA 2206 004302 1771 TAD SIXTY 2207 004303 3335 DCA A1 2208 004304 1770 TAD CNV 2209 004305 3336 DCA A2 2210 004306 1767 TAD S0 2211 004307 3337 3337 2212 004310 1766 TAD S1 2213 004311 3340 DCA A4 2214 004312 1765 TAD S2 2215 004313 3341 DCA A5 2216 004314 1764 TAD MES 2217 004315 3342 DCA A6 2218 004316 1763 TAD TYPCH 2219 004317 3343 DCA A7 2220 004320 1762 TAD M0 2221 004321 3344 DCA A8 2222 004322 1761 TAD TYPE 2223 004323 3345 DCA A9 2224 004324 1760 TAD TYPSP 2225 004325 3346 DCA A10 2226 004326 1757 TAD RETURN 2227 004327 3347 DCA A11 2228 004330 1756 TAD ERROR0 2229 004331 3350 DCA A12 2230 004332 1755 TAD ERROR1 2231 004333 3351 DCA A13 2232 2233 004334 5754 JMP C80000 /C8/ 2234 2235 004335 0000 A1, 0 /C8/ 2236 004336 0000 A2, 0 /C8/ 2237 004337 0000 A3, 0 /C8/ 2238 004340 0000 A4, 0 /C8/ 2239 004341 0000 A5, 0 /C8/ 2240 004342 0000 A6, 0 /C8/ 2241 004343 0000 A7, 0 /C8/ 2242 004344 0000 A8, 0 /C8/ 2243 004345 0000 A9, 0 /C8/ 2244 004346 0000 A10, 0 /C8/ 2245 004347 0000 A11, 0 /C8/ 2246 004350 0000 A12, 0 /C8/ 2247 004351 0000 A13, 0 /C8/ 2248 2249 004354 4400 PAGE /C8/ 004355 2461 004356 2460 004357 2405 004360 2400 004361 5025 004362 2313 004363 2256 004364 2240 004365 2237 004366 2236 004367 2235 004370 2222 004371 2200 004372 4432 004373 1346 004374 3200 004375 3100 004376 2503 004377 5426 2250 2251 C80000, /C8/ 2252 2253 2254 004400 1777 TAD ERROR1+1 2255 004401 3315 DCA A14 2256 004402 1776 TAD ADDER 2257 004403 3316 DCA A15 2258 004404 1775 TAD TN 2259 004405 3317 DCA A16 2260 004406 1774 TAD T0 2261 004407 3320 DCA A17 2262 004410 1773 TAD T1 2263 004411 3321 DCA A18 2264 004412 1772 TAD T07 2265 004413 3322 DCA A19 2266 004414 1771 TAD T70 2267 004415 3323 DCA A20 2268 004416 1770 TAD T25 2269 004417 3324 DCA A21 2270 004420 1767 TAD T52 2271 004421 3325 DCA A22 2272 004422 1766 TAD TCS 2273 004423 3326 DCA A23 2274 004424 1765 TAD TTS 2275 004425 3327 DCA A24 2276 004426 1764 TAD SAVINT /C8/ 2277 004427 3231 DCA C80001 /C8/ 2278 004430 5631 JMP I C80001 /C8/ 2279 2280 004431 0000 C80001, 0 /C8/ 2281 2282 2283 2284 2285 004432 0000 RESINT, 0 2286 004433 7200 CLA 2287 004434 1763 TAD A1 2288 004435 3762 DCA SIXTY 2289 004436 1761 TAD A2 2290 004437 3760 DCA CNV 2291 004440 1757 TAD A3 2292 004441 3756 DCA S0 2293 004442 1755 TAD A4 2294 004443 3754 DCA S1 2295 004444 1753 TAD A5 2296 004445 3752 DCA S2 2297 004446 1751 TAD A6 2298 004447 3750 DCA MES 2299 004450 1747 TAD A7 2300 004451 3746 DCA TYPCH 2301 004452 1745 TAD A8 2302 004453 3744 DCA M0 2303 004454 1743 TAD A9 2304 004455 3742 DCA TYPE 2305 004456 1741 TAD A10 2306 004457 3740 DCA TYPSP 2307 004460 1737 TAD A11 2308 004461 3736 DCA RETURN 2309 004462 1735 TAD A12 2310 004463 3734 DCA ERROR0 2311 004464 1733 TAD A13 2312 004465 3732 DCA ERROR1 2313 004466 1315 TAD A14 2314 004467 3777 DCA ERROR1+1 2315 004470 1316 TAD A15 2316 004471 3776 DCA ADDER 2317 004472 1317 TAD A16 2318 004473 3775 DCA TN 2319 004474 1320 TAD A17 2320 004475 3774 DCA T0 2321 004476 1321 TAD A18 2322 004477 3773 DCA T1 2323 004500 1322 TAD A19 2324 004501 3772 DCA T07 2325 004502 1323 ENDHLT, TAD A20 2326 004503 3771 PRINT, DCA T70 2327 004504 1324 GETSR, TAD A21 2328 004505 3770 C8CAL, DCA T25 2329 004506 1325 SETFS, TAD A22 2330 004507 3767 SETRS, DCA T52 2331 004510 1326 RACA, TAD A23 2332 004511 3766 RACB, DCA TCS 2333 004512 1327 TAD A24 2334 004513 3765 DCA TTS 2335 004514 5632 JMP I RESINT 2336 2337 004515 0000 A14, 0 /C8/ 2338 004516 0000 A15, 0 /C8/ 2339 004517 0000 A16, 0 /C8/ 2340 004520 0000 A17, 0 /C8/ 2341 004521 0000 A18, 0 /C8/ 2342 004522 0000 A19, 0 /C8/ 2343 004523 0000 A20, 0 /C8/ 2344 004524 0000 A21, 0 /C8/ 2345 004525 0000 A22, 0 /C8/ 2346 004526 0000 A23, 0 /C8/ 2347 004527 0000 A24, 0 /C8/ 2348 2349 / 2350 004532 2461 PAGE 004533 4351 004534 2460 004535 4350 004536 2405 004537 4347 004540 2400 004541 4346 004542 5025 004543 4345 004544 2313 004545 4344 004546 2256 004547 4343 004550 2240 004551 4342 004552 2237 004553 4341 004554 2236 004555 4340 004556 2235 004557 4337 004560 2222 004561 4336 004562 2200 004563 4335 004564 4300 004565 3532 004566 0503 004567 3064 004570 3050 004571 3034 004572 3020 004573 3010 004574 3000 004575 2735 004576 2466 004577 2462 2351 / 2352 /TYPEOUT "NONE" FOR NO LEGAL FIELD SELECTION 2353 / 2354 004600 1076 NOFLD, TAD NOTTY /GET THE TTY FLAG 2355 004601 7710 SPA CLA /WAS IT SET 2356 004602 5777 JMP PATA /YES NO TELETYPE DO NOT PRINT 2357 004603 4776 JMS MES 2358 004604 1617 TEXT "NONE" 004605 1605 004606 0000 2359 004607 5777 JMP PATA /SETUP SWITCHES AGAIN 2360 / 2361 /THIS SUBROUTINE ESTABLISHES THE PROPER ERROR ROUTINE TO GO TO 2362 / 2363 / 2364 004610 0000 SETERR, 0 2365 004611 7200 CLA 2366 004612 1775 TAD FLDCNT 2367 004613 0035 AND SR911 2368 004614 1374 TAD (ERRTAB /GET TO ERROR ROUTINE TO EXECUTE 2369 004615 3253 DCA SRS 2370 004616 1653 TAD I SRS /GET ROUTINE TO EXECUTE 2371 004617 3253 DCA SRS /SAVE IT 2372 004620 4653 JMS I SRS /GO EXECUTE ROUTINE 2373 004621 7240 STA /AC=-1 2374 004622 1060 TAD FCNT /-1 TO NUMBER OF FIELDS TO DO 2375 004623 3060 DCA FCNT /SAVE NEW VALUE 2376 004624 1060 TAD FCNT 2377 004625 7640 SZA CLA /ANY FIELDS LEFT TO DO 2378 004626 5610 JMP I SETERR /YES CONTINUE TESTING 2379 004627 4776 JMS MES 2380 004630 4543 TEXT "%#DISCONNECTED" 004631 0411 004632 2303 004633 1716 004634 1605 004635 0324 004636 0504 004637 0000 2381 004640 7402 HLT 2382 004641 5240 JMP .-1 /DON'T CONTINUE 2383 004642 5610 JMP I SETERR 2384 / 2385 004643 3307 ERRTAB, SRS0 2386 004644 3327 SRS1 2387 004645 3400 SRS2 2388 004646 3422 SRS3 2389 004647 3442 SRS4 2390 004650 3462 SRS5 2391 004651 3502 SRS6 2392 004652 3522 SRS7 2393 / 2394 004653 0000 SRS, 0 2395 / 2396 2397 004654 0000 PNTFLD, 0 2398 004655 4776 JMS MES 2399 004656 4543 4543 2400 004657 0000 0 2401 004660 1060 TAD FCNT 2402 004661 0034 AND SR56 /ISOLATE BANK INFORMATION 2403 004662 7112 CLL RTR 2404 004663 7010 RAR /MOVE INTO POSITION 2405 004664 1167 TAD [260 2406 004665 4773 JMS TYPE /TYPE BANK SELECTION 2407 004666 1060 TAD FCNT /GET FIELD CNT 2408 004667 0035 AND SR911 2409 004670 1167 TAD [260 /SET UP ASCII FOR FIELDS 2410 004671 4772 JMS TYPSP /TYPEOUT # OF FIELDS IN THIS SYSTEM 2411 004672 4776 JMS MES 2412 004673 0611 TEXT "FIELDS IN THIS SYSTEM" 004674 0514 004675 0423 004676 4011 004677 1640 004700 2410 004701 1123 004702 4023 004703 3123 004704 2405 004705 1500 2413 004706 4776 JMS MES 2414 004707 4543 TEXT "%#FIELDS SEL'D ARE " 004710 0611 004711 0514 004712 0423 004713 4023 004714 0514 004715 4704 004716 4001 004717 2205 004720 4000 2415 004721 4771 JMS TOSEL 2416 004722 5654 JMP I PNTFLD 2417 / 2418 / 2419 /ROUTINE TO CHECK FOR CONSOLE PACKAGE ACTIVE 2420 / 2421 /IF CONSOLE PACKAGE ACTIVE, GO TO CONSOLE PACKAGE 2422 /RETURN CALL + 2 2423 / 2424 /IF CONSOLE PACKAGE NOT ACTIVE, RETURN CALL + 1 2425 / 2426 004723 0000 XC8CAL, 0 2427 004724 3346 DCA CHRTMP /SAVE AC 2428 004725 1022 TAD HCW2 /GET HCW2 2429 004726 0345 AND K400 /TEST FOR BIT 3=1 CONSOLE ACTIVE 2430 004727 7640 SZA CLA 2431 004730 5333 JMP .+3 /CONSOLE IS ACTIVE 2432 004731 1346 TAD CHRTMP /GET BACK THE CHARACTER 2433 004732 5723 JMP I XC8CAL /AND EXIT. 2434 004733 6224 RIF /READ INSTRUCTION FIELD 2435 004734 1370 TAD (OFFSET /ADD CONSOLE PACKAGE FIELD OFFSET 2436 004735 1367 TAD (CIF /ADD CIF INSTRUCTION CODE 2437 004736 3337 DCA .+1 /SAVE MODIFIED CIF FOR EXECUTION 2438 004737 7402 HLT /MODIFIED CIF TO CONSOLE PACKAGE FIELD 2439 004740 1346 TAD CHRTMP /RESTORE AC 2440 004741 4744 JMS I C8LOC /GO TO CONSOLE PACKAGE 2441 004742 2323 ISZ XC8CAL /INCREMENT RETURN ADDRESS 2442 004743 5723 JMP I XC8CAL /RETURN CALL + 2 CONSOLE WAS ACTIVE 2443 / 2444 004744 7222 C8LOC, C8ENTR /POINTER TO CONSOLE PACKAGE 2445 004745 0400 K400, 0400 /CONSTANT 2446 004746 0000 CHRTMP, 0 /TEMPORARY AC SAVE AREA 2447 2448 004747 0000 XGETSR, 0 2449 004750 7300 CLL CLA 2450 004751 1021 TAD HCW1 2451 004752 7710 SPA CLA /SKIP IF PSEUDO SWITCH REGISTER TO BE USED 2452 004753 7614 CLA OSR SKP /READ SWITCHES AND SKIP 2453 004754 1020 TAD PSR /THIS WILL BE ZERO IF CONSOLE NOT ACTIVE 2454 004755 5747 JMP I XGETSR /EXIT WITH VALUE IN AC 2455 004767 6202 PAGE 004770 0000 004771 1105 004772 2400 004773 5025 004774 4643 004775 2346 004776 2240 004777 0205 2456 / 2457 /PRINT "SELECT TEST PARAMETERS" 2458 / 2459 005000 0000 SETPAR, 0 2460 005001 7200 CLA 2461 005002 1076 TAD NOTTY 2462 005003 7710 SPA CLA /SKIP IF TTY AVAILABLE 2463 005004 5600 JMP I SETPAR 2464 005005 4777 JMS MES 2465 005006 4345 TEXT "#%SELECT TEST PARAMETERS#%" 005007 2305 005010 1405 005011 0324 005012 4024 005013 0523 005014 2440 005015 2001 005016 2201 005017 1505 005020 2405 005021 2223 005022 4345 005023 0000 2466 005024 5600 JMP I SETPAR 2467 / 2468 / 2469 /TYPEOUT CHARACTER IN AC 2470 / 2471 005025 0000 TYPE, 0 2472 005026 3056 DCA TEMP /SAVE THE CHARACTER 2473 005027 1022 TAD HCW2 /GET HCW2 2474 005030 7710 SPA CLA /SKIP APT NOT ACTIVE 2475 005031 5625 JMP I TYPE /EXIT IF APT ACTIVE 2476 005032 1056 TAD TEMP /GET BACK CHARACTER 2477 005033 6000 SKON 2478 005034 5241 JMP TYPOFF 2479 005035 4503 PRINT 2480 005036 6001 ION 2481 005037 7200 CLA 2482 005040 5625 JMP I TYPE 2483 005041 4503 TYPOFF, PRINT 2484 005042 7200 CLA 2485 005043 5625 JMP I TYPE 2486 / 2487 /TYPEOUT "PROGRAM IN SELECTED FIELD" 2488 / 2489 005044 1076 PINF, TAD NOTTY /GET THE TELETYPE PROGRAM FLAG 2490 005045 7710 SPA CLA /IS THERE A TELETYPE AVAILABLE 2491 005046 5776 JMP PATA /NO TTY- DO NOT PRINT 2492 005047 4777 JMS MES /GO PRINT MESSAGE 2493 005050 4543 TEXT "%#PROGRAM IN SELECTED FIELD" 005051 2022 005052 1707 005053 2201 005054 1540 005055 1116 005056 4023 005057 0514 005060 0503 005061 2405 005062 0440 005063 0611 005064 0514 005065 0400 2494 005066 5776 JMP PATA /GO SETUP SWITCHES AGAIN 2495 2496 /SET UP THE FIELD IN ERROR FOR TYPEOUT 2497 /LOCATION FOLLOWIN CALL IS WHERE TO STORE INFORMATION 2498 / 2499 005067 0000 FLDDAT, 0 2500 005070 1667 TAD I FLDDAT /GET LOCATION TO STORE IT IN 2501 005071 3316 DCA DATTMP /SAVE IT 2502 005072 2267 ISZ FLDDAT /UPDATE RETURN 2503 005073 1025 TAD EMMFLG 2504 005074 7650 SNA CLA /SKIP IF KT8 ACTIVE 2505 005075 5302 JMP .+5 2506 005076 1052 TAD TSTFLD /GET FIELD BEING DONE 2507 005077 4510 RACA /BINARY NUMBER 2508 005100 3056 DCA TEMP /SAVE IT 2509 005101 5306 JMP .+5 /PROCESS IT 2510 005102 1052 TAD TSTFLD 2511 005103 7112 CLL RTR 2512 005104 7010 RAR 2513 005105 3056 DCA TEMP /SAVE IT 2514 005106 4775 JMS SIXTY 2515 005107 0056 TEMP /LOCATION TO DO 2516 005110 5114 OD /WHERE TO PUT IT 2517 005111 1315 TAD YY /GET DECODED VALUE 2518 005112 3716 DCA I DATTMP 2519 005113 5667 JMP I FLDDAT /AND EXIT 2520 / 2521 / 2522 005114 0000 OD, 0 2523 005115 0000 YY, 0 2524 005116 0000 DATTMP, 0 2525 / 2526 2527 / 2528 /MAKE A BINARY NUMBER OUT OF A FIELD CHANGE 2529 / 2530 005117 0000 XRACA, 0 2531 005120 3360 DCA RTEMP 2532 005121 1360 TAD RTEMP 2533 005122 0365 AND K104 2534 005123 3361 DCA RTEMP1 /SAVE BANK VALUE 2535 005124 1361 TAD RTEMP1 2536 005125 7002 BSW /5 INTO 11 2537 005126 7106 CLL RTL /MOVE INTO 9 2538 005127 7004 RAL /NOW 8 2539 005130 1361 TAD RTEMP1 2540 005131 7004 RAL 2541 005132 0374 AND (30 /ISOLATE BANK 2542 005133 3361 DCA RTEMP1 2543 005134 1360 TAD RTEMP 2544 005135 0373 AND (70 /ISOLATE FIELD 2545 005136 7112 CLL RTR 2546 005137 7010 RAR /INTO BIT 9-11 2547 005140 1361 TAD RTEMP1 2548 005141 5717 JMP I XRACA /EXIT WITH BINARY NUMBER IN THE AC 2549 / 2550 /MAKE A FIELD CHANGE OUT OF A BINARY NUMBER 2551 / 2552 005142 0000 XRACB, 0 2553 005143 3360 DCA RTEMP 2554 005144 1360 TAD RTEMP 2555 005145 7112 CLL RTR 2556 005146 7010 RAR /BANK IN 10-11 2557 005147 0372 AND (3 2558 005150 1371 TAD (BANKR /MAKE A POINTER 2559 005151 3317 DCA XRACA /SAVE THE POINTER 2560 005152 1360 TAD RTEMP 2561 005153 0370 AND (7 /ISOLATE FIELD 2562 005154 7106 CLL RTL 2563 005155 7004 RAL /MOVE INTO POSITION 2564 005156 1717 TAD I XRACA 2565 005157 5742 JMP I XRACB 2566 / 2567 005160 0000 RTEMP, 0 2568 005161 0000 RTEMP1, 0 2569 005162 0000 BANKR, 0 2570 005163 0004 4 2571 005164 0100 100 2572 005165 0104 K104, 104 2573 / 2574 005170 0007 PAGE 005171 5162 005172 0003 005173 0070 005174 0030 005175 2200 005176 0205 005177 2240 2575 / 2576 / 2577 / 2578 / 2579 /THE FOLLOWING TEST IS A MARCH PATTERN DEVELOPED FOR TESTING 2580 /THE MS8-C MOS MEMORY. 2581 / 2582 / THE TEST SELECTED FOR THE MOS MEMORY TESTING IS A TYPICAL MARCH 2583 / PATTERN. THE TEST BEGINS BY LOADING THE ENTIRE MEMORY WITH 2584 / A 2525 PATTERN. THEN STARTING AT ADDRESS ZERO OF LOWEST POSSIBLE 2585 / FIELD THE TEST READS THE CONTENTS, COMPARES IT, AND THEN WRITES BACK 2586 / THE COMPLEMENT VALUE. THE PROCESS IS REPEATED THROUGHOUT THE ENTIRE 2587 / MEMORY. 2588 / 2589 / NEXT THE PROCESS REPEATS FROM MAXIMUM TO MINIMUM, COMPLEMENTING 2590 / AS IT IS BEING DONE. 2591 / 2592 / THE ENTIRE SEQUENCE IS THEN REPEATED USING A BACKGROUND OF 2593 / 5252. THIS INSURES THAT A ONE AND A ZERO CAN BE WRITTEN INTO 2594 / EACH MEMORY CELL. 2595 / 2596 / 2597 / 2598 / 2599 005200 0000 MOSTST, 0 2600 005201 7344 CLL CLA CMA RAL /AC=-2 2601 005202 3364 DCA PATCNT 2602 005203 7344 CLL CLA CMA RAL /AC=-2 2603 005204 3362 DCA TSTCNT 2604 005205 7300 CLL CLA 2605 005206 3777 DCA FLDCNT 2606 005207 3024 DCA BANK /CLEAR INDICATORS 2607 005210 7301 CLL CLA IAC 2608 005211 3360 DCA ADDINC 2609 005212 7301 CLL CLA IAC 2610 005213 3361 DCA FLDINC 2611 005214 4776 MOSLOD, JMS NUFLD /TEST FOR VALID FIELD SELECTION 2612 005215 5232 JMP M0UPD /GO UPDATE FIELD VALUE 2613 005216 1051 TAD PROFLD /GET CURRENT FIELD 2614 005217 1176 TAD [6201 /MAKE IT A CDF 2615 005220 3227 DCA MOSFLD /SAVE FOR RETURN 2616 005221 1052 TAD TSTFLD 2617 005222 1176 TAD [6201 /MAKE TEST FIELD A CDF 2618 005223 3225 DCA .+2 2619 005224 1365 MEMLOD, TAD PAT1 /FILL MEMORY WITH BACKGROUND 2620 005225 6201 CDF 0 /CHANGED TO LOAD FIELD 2621 005226 3457 DCA I TSTAD 2622 005227 6201 MOSFLD, CDF 0 /MAKD DF=PROFLD 2623 005230 2057 ISZ TSTAD /SEE IF ALL DONE 2624 005231 5224 JMP MEMLOD /GO BACK AND TRY IT AGAIN 2625 /UPDATE TEST FIELD VALUE AND TEST AGAIN 2626 / 2627 005232 7200 M0UPD, CLA 2628 005233 1777 TAD FLDCNT 2629 005234 7041 CIA 2630 005235 1060 TAD FCNT /TEST FOR MAX VALUE 2631 005236 7650 SNA CLA /SKIP IF NOT AT MAX 2632 005237 5242 JMP .+3 /AT MAX START READING 2633 005240 2777 ISZ FLDCNT /UPDATE FIELD TO DO 2634 005241 5214 JMP MOSLOD /GO BACK AND TEST THIS FIELD VALUE 2635 / 2636 /AT THIS POINT ALL MEMORY IS FILLED WITH BACKGROUND 2525 2637 / 2638 005242 4406 JMS I IAPTOK /NOTIFY APT IF REQUIRED. 2639 005243 3777 DCA FLDCNT 2640 005244 3024 DCA BANK /CLEAR INDICATORS AGAIN FOR READ CYCLE 2641 005245 4776 MOSRED, JMS NUFLD 2642 005246 5300 JMP M1UPD /NOT A VALID SELECTION 2643 005247 1365 TAD PAT1 /SET UP COMPARISON 2644 005250 3072 DCA GDATA 2645 005251 1051 TAD PROFLD /GET CURRENT FIELD LOCATION 2646 005252 1176 TAD [6201 /MAKE IT A CDF 2647 005253 3264 DCA REDFLD /SET UP RETURN 2648 005254 1052 TAD TSTFLD /GET FIELD TO READ 2649 005255 1176 TAD [6201 /MAKE IT A CDF 2650 005256 3257 DCA .+1 /AND SAVE IT FOR USE 2651 005257 6201 REDLUP, CDF 0 /CHANGE TO TEST FIELD CDF 2652 005260 1457 TAD I TSTAD /GET VALUE IN SELECTED FIELD 2653 005261 3073 DCA BDATA /SAVE IT FOR COMPARISON 2654 005262 1366 TAD PAT2 /NOW WRITE BACK COMPLEMENT VALUE 2655 005263 3457 DCA I TSTAD /BACK INTO SELECTED FIELD 2656 005264 6201 REDFLD, CDF 0 /CHANGED TO CURRENT CDF 2657 005265 1072 TAD GDATA 2658 005266 7041 CIA 2659 005267 1073 TAD BDATA /SET UP COMPARISON 2660 005270 7640 SZA CLA /SKIP IF EQUAL 2661 005271 4775 JMS MOSERR /GO REPORT ERROR 2662 005272 1057 TAD TSTAD 2663 005273 1360 TAD ADDINC /ADD IN ADDRESS OFFSET. 2664 005274 3057 DCA TSTAD /AND RESTORE NEW VALUE 2665 005275 1057 TAD TSTAD 2666 005276 7640 SZA CLA 2667 005277 5257 JMP REDLUP /GO BACK AND DO THE NEXT 2668 005300 1361 M1UPD, TAD FLDINC 2669 005301 7710 SPA CLA /SKIP IF READING LOW TO HIGH 2670 005302 5305 JMP .+3 /BYPASS COMPARISON 2671 005303 1060 TAD FCNT 2672 005304 7041 CIA 2673 005305 1777 TAD FLDCNT 2674 005306 7650 SNA CLA /SKIP IF NOT AT MAX 2675 005307 5314 JMP .+5 2676 005310 1361 TAD FLDINC /ADD IN FIELD OFF SET VALUE 2677 005311 1777 TAD FLDCNT /TO THE CURRENT FIELD POSITION 2678 005312 3777 DCA FLDCNT 2679 005313 5245 JMP MOSRED /GO BACK AND READ NEXT FIELD 2680 / 2681 /NOW UPDATE PATTERN TO LOAD AND READ BACK VALUE 2682 / 2683 005314 1361 TAD FLDINC 2684 005315 7041 CIA /NEGATE CURRENT FIELD INCREMENT VALUE 2685 005316 3361 DCA FLDINC /AND RESTORE IT 2686 005317 1360 TAD ADDINC /NOW DO SAME FOR THE ADDRESS OFFSET 2687 005320 7041 CIA 2688 005321 3360 DCA ADDINC 2689 005322 1360 TAD ADDINC 2690 005323 7700 SMA CLA /SKIP IF READING HIGH TO LOW 2691 005324 5331 JMP .+5 2692 005325 7240 STA /AC=-1 2693 005326 3057 DCA TSTAD /START AT ADDRESS 7777 OF HIGH FIELD 2694 005327 1060 TAD FCNT /START AT HIGHEST FIELD 2695 005330 3777 DCA FLDCNT 2696 005331 1365 TAD PAT1 2697 005332 7040 CMA /COMPLEMENT PATTERN 2698 005333 3365 DCA PAT1 2699 005334 1366 TAD PAT2 2700 005335 7040 CMA 2701 005336 3366 DCA PAT2 2702 005337 4406 JMS I IAPTOK 2703 005340 2362 ISZ TSTCNT /ALL DONE? 2704 005341 7410 SKP 2705 005342 5346 JMP .+4 2706 005343 7332 CLL CLA CML RTR /SET BIT ONE OF CS WORD 2707 005344 3036 DCA CS /ONES COMPLEMENT 2708 005345 5245 JMP MOSRED 2709 005346 3036 DCA CS 2710 005347 1365 TAD PAT1 2711 005350 7040 CMA 2712 005351 3365 DCA PAT1 2713 005352 1366 TAD PAT2 2714 005353 7040 CMA 2715 005354 3366 DCA PAT2 2716 005355 2364 ISZ PATCNT /SEE IF ALL PATTERNS DONE 2717 005356 5203 JMP MOSTST+3 2718 005357 5600 JMP I MOSTST 2719 / 2720 005360 0000 ADDINC, 0 2721 005361 0000 FLDINC, 0 2722 005362 0000 TSTCNT, 0 2723 005363 0000 ADDCNT, 0 2724 005364 0000 PATCNT, 0 2725 005365 2525 PAT1, 2525 2726 005366 5252 PAT2, 5252 2727 / 2728 005375 5415 PAGE 005376 0707 005377 2346 2729 / 2730 005400 0000 XPRINT, 0 2731 005401 6046 TLS 2732 005402 6041 TSF 2733 005403 5202 JMP .-1 2734 005404 6042 TCF 2735 005405 7200 CLA 2736 005406 6031 KSF /IS KEY BOARD WAITING 2737 005407 5600 JMP I XPRINT 2738 005410 6036 KRB /GET CHARACTER 2739 005411 4505 C8CAL /TEST FOR ACTIVE CONSOLE 2740 005412 7200 CLA /NOT ACTIVE JUST IGNORE CHARACTER 2741 005413 6032 KCC /CLEAR FLAG 2742 005414 5600 JMP I XPRINT 2743 2744 / 2745 / 2746 2747 005415 0000 MOSERR, 0 2748 005416 2053 ISZ COUNT /UPDATE ERROR COUNT 2749 005417 1377 TAD (40 2750 005420 3037 DCA TS /SAVE TEST STATUS FOR PRINTOUT 2751 005421 3036 DCA CS 2752 005422 1072 TAD GDATA /DATA WRITTEN 2753 005423 4776 JMS GERRC 2754 005424 3053 DCA COUNT 2755 005425 5615 JMP I MOSERR 2756 2757 2758 2759 / 2760 / 2761 /PRINT END OF PASS MESSAGE 2762 / 2763 005426 0000 ENDPAS, 0 2764 005427 7200 CLA 2765 005430 1076 TAD NOTTY 2766 005431 7710 SPA CLA /SKIP IF TTY AVAILABLE 2767 005432 5626 JMP I ENDPAS 2768 005433 2255 ISZ PASSES 2769 005434 4775 JMS SIXTY 2770 005435 5455 PASSES 2771 005436 5451 ENDMES 2772 005437 4774 JMS MES 2773 005440 4345 TEXT "#%END OF PASS " 005441 0516 005442 0440 005443 1706 005444 4020 005445 0123 005446 2340 005447 0000 2774 005450 4774 JMS MES 2775 005451 0000 ENDMES, 0 2776 005452 0000 0 2777 005453 0000 0 2778 005454 5626 JMP I ENDPAS 2779 / 2780 005455 0000 PASSES, 0 2781 005456 0000 0 2782 / 2783 /APT/ ROUTINE TO HANDLE ERRORS UNDER THE CONTROL OF APT 2784 / 2785 005574 2240 PAGE 005575 2200 005576 1454 005577 0040 2786 005600 0000 APTER, 0 /APT/ 2787 005601 6002 IOF /APT/ 2788 005602 3222 DCA APTIZ /SAVE ANYTHING IN THE AC 2789 005603 1022 TAD HCW2 /GET HCW2 2790 005604 7700 SMA CLA /SKIP IF APT ALIVE 2791 005605 5600 JMP I APTER 2792 005606 6224 RIF /APT/ 2793 005607 1123 TAD [6203 /APT/CREATE A CDF INST. 2794 005610 3621 DCA I APTER1 /APT/CDF IN PROM CODE 2795 005611 1621 TAD I APTER1 2796 005612 3216 DCA .+4 /APT/MODIFY NEXT CDF INST. 2797 005613 1222 TAD APTIZ /SEE IF ANYTHING WAS IN AC 2798 005614 7450 SNA /SKIP IF THERE WAS 2799 005615 1777 TAD ADDER /APT/AC=ERROR PC. 2800 005616 6201 CDF 0 /APT/(MODIFIED CDF) DF=IF. 2801 005617 7000 NOP 2802 005620 5776 JMP 6520 /APT/CALL APT = "ERROR" 2803 / 2804 005621 6523 APTER1, 6523 2805 / 2806 /APT/ THIS ROUTINE INITIALIZES PROGRAM FOR APT 2807 / 2808 005622 0000 APTIZ, 0 2809 005623 6002 IOF /MAKE SURE INTERRUPT IS OFF 2810 005624 1022 TAD HCW2 /GET APT CONTROL WORD 2811 005625 7700 SMA CLA /SKIP IF APT ENABLED. 2812 005626 5234 JMP NOTAPT 2813 005627 7240 STA /AC=-1 2814 005630 3076 DCA NOTTY /NOP CONSOLE TERMINAL 2815 005631 1375 TAD (37 /SET UP FOR AUTO SIZE 2816 005632 3020 DCA PSR 2817 005633 5251 JMP APTEX /APT ENABLED 2818 005634 1076 NOTAPT, TAD NOTTY 2819 005635 7700 SMA CLA /SKIP IF NO TTY ON SYSTEM 2820 005636 5250 JMP .+12 2821 005637 1021 TAD HCW1 /GET CONFIGURATION WORD 1 2822 005640 7710 SPA CLA /SKIP IF SOFTWARE SWITCHES TO BE USED 2823 005641 5247 JMP .+6 2824 005642 1020 TAD PSR /GET PSEUDO SWITCH REGISTER 2825 005643 7640 SZA CLA /SKIP IF NO VALUE IN PSEUDO SWITCHES 2826 005644 5247 JMP .+3 2827 005645 1375 TAD (37 /SETUP DEFAULT FOR AUTO SIZING 2828 005646 3020 DCA PSR 2829 005647 7610 SKP CLA /BYPASS SAVING OS/8 MONITOR 2830 005650 4774 JMS C8SM /SAVE OS8 MONITOR IN FIELD 1 2831 005651 5622 APTEX, JMP I APTIZ /AND EXIT 2832 / 2833 / 2834 / 2835 / 2836 / 2837 /APT/ ROUTINE TO "NOTIFY" APT THAT THE PROGRAM IS RUNNING OK. 2838 2839 005652 0000 APTOK, 0 2840 005653 7200 CLA /APT/ 2841 005654 1022 TAD HCW2 /APT/UNDER APT CONTROL? 2842 005655 7700 SMA CLA /APT/SKP IF YES 2843 005656 5274 JMP APTOK0 2844 005657 6002 IOF /APT/ 2845 005660 6224 RIF /APT/AC=IF. 2846 005661 1123 TAD [6203 /APT/CREAD A CDF INST. 2847 005662 3673 DCA I APTOK1 /APT/SET UP APT CODE CDF 2848 005663 1673 TAD I APTOK1 2849 005664 3265 DCA .+1 /APT/MODIFY NEXT LOC. 2850 005665 6201 CDF 0 /APT/(MODIFIED CDF) DF=CURRENT IF. 2851 005666 7000 NOP 2852 005667 4773 JMS 6500 /APT/CALL APT - "PROG OK". 2853 005670 5652 JMP I APTOK /APT/RTN FROM APT - RETURN TO CALL+1. 2854 005671 0000 APTCTX, 0 2855 005672 0000 APTCTY, 0 2856 005673 6505 APTOK1, 6505 /LOCATION TO OVERLAY FOR PROPER FIELD 2857 / 2858 /SEE IF KEY BOARD WAITING 2859 / 2860 005674 0000 APTOK0, 0 2861 005675 6031 KSF 2862 005676 5652 JMP I APTOK 2863 005677 6036 KRB 2864 005700 4505 C8CAL /TEST FOR CONSOLE 2865 005701 7200 CLA /IGNORE CHARACTER 2866 005702 6032 KCC 2867 005703 5652 JMP I APTOK /EXIT 2868 / 2869 / 2870 /THIS ROUTINE DETERMINES IF MEMORY IS CONTIGUOUS IS LOWER 32K 2871 /OF MEMORY. IF NOT FIELD 7 IS NOT TESTED. 2872 / 2873 005704 0000 APTFL, 0 /APT/ 2874 005705 1022 TAD HCW2 /GET APT CONTROL WORD 2875 005706 7700 SMA CLA /SKIP IF APT ENABLED 2876 005707 5704 JMP I APTFL /EXIT IF NOT 2877 005710 7333 CLA STL RTR IAC /AC=6000 2878 005711 3337 DCA APTMOV /SET UP STARTING ADDRESS 2879 005712 6271 APTLUP, CDF 70 /POINTER TO PROM CODE 2880 005713 1737 TAD I APTMOV /GET AN ADDRESS 2881 005714 6201 CDF 0 /FIELD ZERO 2882 005715 3737 DCA I APTMOV /SAVE THE VALUE 2883 005716 1737 TAD I APTMOV /GET BACK THE VALUE JUST MOVED 2884 005717 7041 CIA 2885 005720 6271 CDF 70 /BACK TO FIELD 7 FOR COMPARE 2886 005721 1737 TAD I APTMOV /GET BACK ORIGINAL VALUE 2887 005722 6201 CDF 0 /BACK TO FIELD 0 2888 005723 7640 SZA CLA /SKIP IF EQUAL 2889 005724 4340 JMS MOVFAL /MOVE FAILURE. SOME BAD STUFF 2890 005725 2337 ISZ APTMOV /UPDATE ADDRESS POINTER 2891 005726 5312 JMP APTLUP /GO BACK AND TRY AGAIN 2892 / 2893 /AT THIS POINT THE APT PROM CODE IS SITTING IN THE PROGRAM 2894 /FIELD. FROM THIS POINT OUT ALL APT PROCESSING WILL BE DONE 2895 /IN THE FIELD BEING EXERCISED. 2896 / 2897 005727 1040 TAD FS /TEST TO SEE IF LOWER 32K CONTIGUOUS 2898 005730 7650 SNA CLA 2899 005731 5704 JMP I APTFL /ALL MEMORY CONTIGUOUS 2900 005732 1040 TAD FS /GET BACK FIELD STATUS 2901 005733 0372 AND (7740 /MASK OUT 7 2902 005734 1371 TAD (20 /NOP FIELD 7 TESTING 2903 005735 3040 DCA FS /AND RESTORE FIELD STATUS WORD 2904 005736 5704 JMP I APTFL /AND EXIT. 2905 / 2906 005737 0000 APTMOV, 0 2907 / 2908 005740 0000 MOVFAL, 0 2909 005741 7240 STA 2910 005742 1340 TAD MOVFAL /ERROR PC 2911 005743 6201 CDF 0 /ERROR FIELD 2912 005744 6272 CIF 70 /TO PROM CODE 2913 005745 5776 JMP 6520 /REPORT THE ERROR 2914 2915 / 2916 / 2917 /THE FOLLOWING LOCATIONS FROM 6000 TO 7777 ARE USED AS THE COMMUNICATIONS 2918 /INTERFACES FOR APT SHOULD APT BE AVAILABLE. 2919 / 2920 005771 0020 *6000 /CS/ 005772 7740 005773 6500 005774 6036 005775 0037 005776 6520 005777 2466 2921 2922 006000 4777 LOOP1, JMS SAVDF 2923 006001 1076 TAD NOTTY /GET THE TELETYPE FLAG 2924 006002 7710 SPA CLA /IS THERE ONE ON THE SYSTEM 2925 006003 5223 JMP LOOP1A-1 /NO ABORT MESSAGE AND GALT 2926 006004 4776 JMS MES 2927 006005 4543 TEXT "%#LOOP ON ADDRESS SET IN SR" 006006 1417 006007 1720 006010 4017 006011 1640 006012 0104 006013 0422 006014 0523 006015 2340 006016 2305 006017 2440 006020 1116 006021 4023 006022 2200 2928 006023 4775 JMS RESDF 2929 006024 4504 LOOP1A, GETSR 2930 006025 3235 DCA SR 2931 006026 1635 TAD I SR 2932 006027 7040 CMA 2933 006030 3635 DCA I SR 2934 006031 1635 TAD I SR 2935 006032 7040 CMA 2936 006033 3635 DCA I SR 2937 006034 5224 JMP LOOP1A 2938 006035 0000 SR, 0 2939 / 2940 /C8/ ROUTINE TO SAVE PAGE 37 OF FIELD 1 2941 2942 006036 0000 C8SM, 0 2943 006037 7200 CLA 2944 006040 6224 RIF /READ THE INSTRUCTION FIELD 2945 006041 1374 TAD (6201 /ADD CDF 0 TO IT 2946 006042 3251 DCA C8SM0 /MODIFY THE CDF INSTR AT LOC C8SM0 2947 006043 1373 TAD (7577 /SET UP PAGE 37 POINTER -1 2948 006044 3010 DCA 10 /SAVE IN AUTO INDEX 10 2949 006045 1372 TAD (C8SA-1 /GET ADDRESS-1 OF STORAGE AREA 2950 006046 3011 DCA 11 /SAVE IN AUTO INDEX 11 2951 006047 6211 C8SM1, CDF 10 /CHANGE DATA FIELD TO 1 2952 006050 1410 TAD I 10 /GET THE WORD 2953 006051 6201 C8SM0, CDF 0 /CHANGE DATA FIELD TO PROG FIELD 2954 006052 3411 DCA I 11 /SAVE IN STORE AREA 2955 006053 1010 TAD 10 /CHECK TO SEE IF PAGE DONE 2956 006054 7040 CMA 2957 006055 7640 SZA CLA /DONE SAVING PAGE? 2958 006056 5247 JMP C8SM1 /NO-DO NEXT WORD 2959 006057 5636 JMP I C8SM /YES-RETURN TO CALL+1 2960 2961 2962 2963 /C8/ ROUTINE TO RESTORE PAGES 37 OF FIELD 0 AND 1 2964 2965 006060 7200 C8RM, C8TEMP 2966 006061 6224 RIF /GET THE PRESENT DATA FIELD 2967 006062 1374 TAD (6201 /GET THE CDF INSTRUCTION 2968 006063 3307 DCA C8RM0 /SAVE THE NEW CDF INSTRUCTION 2969 006064 1307 TAD C8RM0 2970 006065 3276 DCA C8RM01 2971 006066 1373 TAD (7577 /SET UP AUTO INDEX FOR RESTORE OF 0 2972 006067 3010 DCA 10 /SAVE IN AUTO INDEX 10 2973 006070 1372 TAD (C8SA-1 /SET UP STORAGE POINTER 2974 006071 3011 DCA 11 /SAVE IN AUTO INDEX 11 2975 006072 1373 TAD (7577 /SET UP AUTO INDEX OF RESTORE OF FIELD 1 2976 006073 3012 DCA 12 /SAVE IN AUTO INDEX 12 2977 006074 1373 TAD (7577 /SET UP NEXT POINTER 2978 006075 3013 DCA 13 /SAVE IN AUTO INDEX 13 2979 006076 6201 C8RM01, CDF 0 2980 006077 1013 TAD 13 2981 006100 7040 CMA 2982 006101 7650 SNA CLA /ALL DONE? 2983 006102 5307 JMP C8RM0 2984 006103 1411 TAD I 11 /GET DATA TO RESTORE 2985 006104 6211 CDF 10 /CHANGE DATA FIELD TO 1 2986 006105 3413 DCA I 13 /PUT IT IN FIELD 1 2987 006106 5276 JMP C8RM01 /GO DO NEXT WORD 2988 006107 6201 C8RM0, CDF 0 /MODIFIED CDF INSTRUCTION TO PROG FIELD 2989 006110 1010 TAD 10 /RESTORATION DONE? 2990 006111 7040 CMA 2991 006112 7650 SNA CLA /SKIP IF NO 2992 006113 5320 JMP C8RM1 2993 006114 1410 TAD I 10 /GET DATA FROM PROGRAM FIELD 2994 006115 6201 CDF 0 2995 006116 3412 DCA I 12 /RESTORE 0 2996 006117 5307 JMP C8RM0 2997 006120 6203 C8RM1, CDF CIF 0 /CHANGE DATA AND INSTR FIELD TO 0 2998 006121 5722 JMP I .+1 2999 006122 7600 7600 3000 / 3001 006172 6777 *6200 /C8/ 006173 7577 006174 6201 006175 6676 006176 2240 006177 6664 3002 3003 006200 4777 LOOP2, JMS SAVDF 3004 006201 1076 TAD NOTTY /GET TELETYPE STATUS 3005 006202 7710 SPA CLA /IS THERE ONE ON THE SYSTEM 3006 006203 5234 JMP LOOP2A-2 /NO ABORT MESSAGE AND HALT FOR INFO 3007 006204 4776 JMS MES 3008 006205 4543 TEXT "%#LOOP ONLY THE 2 ADDRESSES INPUT FROM THE SR" 006206 1417 006207 1720 006210 4017 006211 1614 006212 3140 006213 2410 006214 0540 006215 6240 006216 0104 006217 0422 006220 0523 006221 2305 006222 2340 006223 1116 006224 2025 006225 2440 006226 0622 006227 1715 006230 4024 006231 1005 006232 4023 006233 2200 3009 006234 4245 JMS IN12 3010 006235 4775 JMS RESDF 3011 006236 1731 LOOP2A, TAD I FIRST 3012 006237 7040 CMA 3013 006240 3731 DCA I FIRST 3014 006241 1732 TAD I SECOND 3015 006242 7040 CMA 3016 006243 3732 DCA I SECOND 3017 006244 5236 JMP LOOP2A 3018 006245 0000 IN12, 0 3019 006246 1076 TAD NOTTY /GET TELETYPE FLAG 3020 006247 7710 SPA CLA /IS THERE ONE ON THE SYSTEM 3021 006250 5274 JMP IN12A /NO-ABORT MESSAGE AND HALT FOR INFO 3022 006251 4776 JMS MES 3023 006252 4543 TEXT "%#SET SR TO FIRST ADDRESS & CONT" 006253 2305 006254 2440 006255 2322 006256 4024 006257 1740 006260 0611 006261 2223 006262 2440 006263 0104 006264 0422 006265 0523 006266 2340 006267 4640 006270 0317 006271 1624 006272 0000 3024 006273 4505 C8CAL 3025 006274 7402 IN12A, HLT 3026 006275 4504 GETSR 3027 006276 3331 DCA FIRST 3028 006277 1076 TAD NOTTY /GET FLAG STATUS AGAIN 3029 006300 7710 SPA CLA /TELETYPE AVAILABLE? 3030 006301 5325 JMP FIRST-4 /NO-ABORT MESSAGE AND HALT FOR INFO 3031 006302 4776 JMS MES 3032 006303 4543 TEXT "%#SET SR TO SECOND ADDRESS & CONT" 006304 2305 006305 2440 006306 2322 006307 4024 006310 1740 006311 2305 006312 0317 006313 1604 006314 4001 006315 0404 006316 2205 006317 2323 006320 4046 006321 4003 006322 1716 006323 2400 3033 006324 4505 C8CAL 3034 006325 7402 HLT 3035 006326 4504 GETSR 3036 006327 3332 DCA SECOND 3037 006330 5645 JMP I IN12 3038 006331 0000 FIRST, 0 3039 006332 0000 SECOND, 0 3040 006375 6676 *6400 /C8/ 006376 2240 006377 6664 3041 006400 4777 LOOP3, JMS SAVDF 3042 006401 1076 TAD NOTTY /GET THE TELETYPE STATUS 3043 006402 7710 SPA CLA /IS THERE A TELETYPE AVAILABLE? 3044 006403 5234 JMP LOOP3A-6 /NO-ABORT MESSAGE AND HALT FOR INFO 3045 006404 4776 JMS MES 3046 006405 4543 TEXT "%#LOOP FROM FIRST ADDRESS THRU SECOND ADDRESS" 006406 1417 006407 1720 006410 4006 006411 2217 006412 1540 006413 0611 006414 2223 006415 2440 006416 0104 006417 0422 006420 0523 006421 2340 006422 2410 006423 2225 006424 4023 006425 0503 006426 1716 006427 0440 006430 0104 006431 0422 006432 0523 006433 2300 3047 006434 4775 JMS IN12 3048 006435 1774 TAD FIRST 3049 006436 3263 DCA SRL1 3050 006437 1773 TAD SECOND 3051 006440 3264 DCA SRL2 3052 006441 4772 JMS RESDF 3053 006442 1263 LOOP3A, TAD SRL1 3054 006443 3262 DCA SRL 3055 006444 1662 LOOP3B, TAD I SRL 3056 006445 7040 CMA 3057 006446 3662 DCA I SRL 3058 006447 1662 TAD I SRL 3059 006450 7040 CMA 3060 006451 3662 DCA I SRL 3061 006452 1262 TAD SRL 3062 006453 7041 CIA 3063 006454 1264 TAD SRL2 3064 006455 7650 SNA CLA 3065 006456 5242 JMP LOOP3A 3066 006457 2262 ISZ SRL 3067 006460 5244 JMP LOOP3B 3068 3069 3070 006461 5200 JMP LOOP3 3071 006462 0000 SRL, 0 3072 006463 0000 SRL1, 0 3073 006464 0000 SRL2, 0 3074 *6500 /C8/ 3075 3076 006500 4777 LOOP5, JMS SAVDF 3077 006501 1076 TAD NOTTY /GET TTY FLAG 3078 006502 7710 SPA CLA /IS THERE A TELETYPE AVAILABLE 3079 006503 5336 JMP LOOP5A-6 /NO-ABORT MESSAGE AND HALT FOR INFO 3080 006504 4776 JMS MES 3081 006505 4543 TEXT "%#LOOP DATA IN THE SR THRU THE ADDRESS SELECTION" 006506 1417 006507 1720 006510 4004 006511 0124 006512 0140 006513 1116 006514 4024 006515 1005 006516 4023 006517 2240 006520 2410 006521 2225 006522 4024 006523 1005 006524 4001 006525 0404 006526 2205 006527 2323 006530 4023 006531 0514 006532 0503 006533 2411 006534 1716 006535 0000 3082 006536 4775 JMS IN12 3083 006537 1774 TAD FIRST 3084 006540 3364 DCA SR5A 3085 006541 1773 TAD SECOND 3086 006542 3365 DCA SR5B 3087 006543 4772 JMS RESDF 3088 006544 1364 LOOP5A, TAD SR5A 3089 006545 3366 DCA SR5C 3090 006546 4504 LOOP5B, GETSR 3091 006547 3766 DCA I SR5C 3092 006550 1766 TAD I SR5C 3093 006551 3766 DCA I SR5C 3094 006552 1366 TAD SR5C 3095 006553 7041 CIA 3096 006554 1365 TAD SR5B 3097 006555 7650 SNA CLA 3098 006556 5344 JMP LOOP5A /START AGAIN WITH FIRST ADDRESS 3099 006557 2366 ISZ SR5C 3100 006560 5346 JMP LOOP5B /DO NEXT ADDRESS 3101 006561 4505 C8CAL 3102 006562 7402 HLT /HALT RESULTED FROM ILLEGAL LIMITS 3103 006563 5300 JMP LOOP5 3104 006564 0000 SR5A, 0 /FIRST ADDRESS OF GROUP 3105 006565 0000 SR5B, 0 /LAST ADDRESS OF GROUP 3106 006566 0000 SR5C, 0 /ADDRESS COUNTER 3107 3108 006572 6676 *6600 /C8/ 006573 6332 006574 6331 006575 6245 006576 2240 006577 6664 3109 3110 006600 4264 LOOP4, JMS SAVDF 3111 006601 1076 TAD NOTTY /GET TTY STATUS 3112 006602 7710 SPA CLA /IS THERE ONE ON THE SYSTEM 3113 006603 5253 JMP LOOP4A-4 /NO-ABORT MESSAGE AND HALT FOR INFO 3114 006604 4777 JMS MES 3115 006605 4543 TEXT "%#LOOP DATA IN THE SR ON THE INPUT ADDRESS" 006606 1417 006607 1720 006610 4004 006611 0124 006612 0140 006613 1116 006614 4024 006615 1005 006616 4023 006617 2240 006620 1716 006621 4024 006622 1005 006623 4011 006624 1620 006625 2524 006626 4001 006627 0404 006630 2205 006631 2323 006632 0000 3116 006633 4777 JMS MES 3117 006634 4543 TEXT "%#SET SR TO ADDRESS & CONT" 006635 2305 006636 2440 006637 2322 006640 4024 006641 1740 006642 0104 006643 0422 006644 0523 006645 2340 006646 4640 006647 0317 006650 1624 006651 0000 3118 006652 4505 C8CAL 3119 006653 7402 HLT 3120 006654 4504 GETSR 3121 006655 3263 DCA SR4 3122 006656 4276 JMS RESDF /RESTORE DATA FIELD TO NEW 3123 006657 4504 LOOP4A, GETSR 3124 006660 3663 DCA I SR4 3125 006661 1663 TAD I SR4 3126 006662 5257 JMP LOOP4A 3127 006663 0000 SR4, 0 3128 006664 0000 SAVDF, 0 3129 006665 7200 CLA 3130 006666 6214 RDF 3131 006667 3275 DCA SAVE 3132 006670 6224 RIF 3133 006671 1176 TAD [6201 3134 006672 3273 DCA .+1 3135 006673 6201 CDF 0 /PROGRAM DF 3136 006674 5664 JMP I SAVDF 3137 006675 0000 SAVE, 0 3138 3139 006676 0000 RESDF, 0 3140 006677 1275 TAD SAVE 3141 006700 1176 TAD [6201 3142 006701 3302 DCA .+1 3143 006702 6201 CDF 0 /LOOP DF 3144 006703 5676 JMP I RESDF 3145 / 3146 3147 006777 2240 PAGE 3148 C8SA=. 3149 3150 / 3151 / C O N S O L E P A C K A G E 3152 / 3153 / 3154 /IF ENTERED WITH AC=0000 THE SWITCH REGISTER 3155 /MODIFICATION ROUTINE IS ENTERED AUTOMATICALLY. 3156 /IF ENTERED WITH AC NOT EQUAL TO 0000, THE 3157 /KEYBOARD INPUT DECODER IS ENTERED AND IT IS ASSUMED 3158 /THAT THE AC CONTAINS THE ASCII CODE TO BE 3159 /CHECKED FOR A VALID CONTROL CHARACTER. 3160 / 3161 / 3162 / 3163 RSTART=PATA 3164 OFFSET=0 3165 / 3166 / 3167 *7200 3168 / 3169 007200 0000 C8TEMP, 0 /TEMPORARY WORK AREA 3170 007201 6203 C8CDI, CIF CDF /USED TO CREAD CDI TO PROGRAM FIELD 3171 007202 6201 C8CDF, CDF /USED TO CREAD CDF TO CONSOLE FIELD 3172 007203 0000 C8SWR, 0 /SWITCH REGISTER SAVE AREA 3173 007204 0000 C8MODE, 0 /PRINT MODE SWITCH 3174 007205 0000 C8CNTR, 0 /USED AS COUNTER 3175 007206 7775 C8M3, -3 /CONSTANT 3176 007207 7774 C8M4, -4 /CONSTANT 3177 007210 7773 C8M5, -5 /CONSTANT 3178 007211 7770 C8M10, -10 /CONSTANT 3179 007212 7520 C8M260, -260 /CONSTANT 3180 007213 0007 C8K7, 7 /CONSTANT 3181 007214 0240 C8K240, 240 /CONSTANT 3182 007215 0260 C8K260, 260 /CONSTANT 3183 007216 0275 C8K275, 275 /CONSTANT 3184 007217 0277 C8K277, 277 /CONSTANT 3185 007220 0322 C8K322, 322 /CONSTANT 3186 007221 0323 C8K323, 323 /CONSTANT 3187 / 3188 / 3189 007222 0000 C8ENTR, 0 3190 007223 3200 DCA C8TEMP /SAVE AC 3191 007224 6214 RDF /READ PROGRAM FIELD 3192 007225 1201 TAD C8CDI /ADD CDI INSTRUCTION 3193 007226 3205 DCA C8CNTR /SAVE SCI TO PROGRAM FIELD TEMPORARILY 3194 007227 6224 RIF /READ CONSOLE FIELD 3195 007230 1202 TAD C8CDF /ADD CDF INSTRUCTION 3196 007231 3241 DCA C8FLD /SAVE CDF TO CONSOLE FIELD 3197 007232 1777 TAD I (HCW1 /GET HCW1 FROM PROGRAM FIELD 3198 007233 7710 SPA CLA /SKIP IF USING PSEUDO SWR 3199 007234 7614 SKP CLA OSR /GET HARDWARE SWR AND SKIP 3200 007235 1776 TAD I (PSR /GET PSEUDO SWR 3201 007236 3203 DCA C8SWR /SAVE SWITCH REGISTER 3202 007237 1775 TAD I (INMODE /GET MESSAGE ACTIVE FLAG 3203 007240 3204 DCA C8MODE /SAVE MESSAGE ACTIVE FLAG 3204 007241 7402 C8FLD, HLT /MODIFIED CDF TO CONSOLE DATA FIELD 3205 007242 1222 TAD C8ENTR /GET RETURN ADDRESS 3206 007243 3774 DCA C8RTN /SAVE FOR EXIT 3207 007244 1205 TAD C8CNTR /GET CDI TO PROGRAM FIELD 3208 007245 3773 DCA C8PFLD /SAVE CDI TO PROGRAM FIELD FOR EXIT 3209 007246 1200 TAD C8TEMP /GET AC UPON ENTRY 3210 007247 7440 SZA /SKIP IF IT WAS ZERO 3211 007250 5772 JMP C8CNTL /AC NOT ZERO, GO CHECK CTRL CHAR 3212 / 3213 /PRINT OUT SR=XXXX WHERE XXXX IS THE CURRENT CONTENTS 3214 /OF THE SWITCH REGISTER BEING USED (EITHER PSEUDO OR HARDWARE) 3215 / 3216 007251 4771 C8PSW, JMS C8CRLF /DO A AND 3217 007252 1221 TAD C8K323 /GET ASCII CODE FOR "S" 3218 007253 4770 JMS C8TYP /PRINT "S" 3219 007254 1220 TAD C8K322 /GET ASCII CODE FOR "R" 3220 007255 4770 JMS C8TYP /PRINT "R" 3221 007256 1216 TAD C8K275 /GET ASCII CODE FOR "=" 3222 007257 4770 JMS C8TYP /PRINT "=" 3223 007260 1207 TAD C8M4 /AC=-4 3224 007261 3205 DCA C8CNTR /SET UP OCTAL DIGIT COUNTER 3225 007262 1203 TAD C8SWR /GET SWITCH REGISTER 3226 007263 7004 RAL /EXTRA ROTAT FOR LINK 3227 007264 7004 C8LOPA, RAL 3228 007265 7006 RTL /ROTATE OCTAL DIGITS FOR PRINTING 3229 007266 3203 DCA C8SWR /SAVE ROTATED SWR 3230 007267 1203 TAD C8SWR /GET ROTATED SWR 3231 007270 0213 AND C8K7 /MASK OFF DIGIT TO PRINT 3232 007271 1215 TAD C8K260 /ADD ASCII BASE CODE 3233 007272 4770 JMS C8TYP /PRINT AN OCTAL DIGIT 3234 007273 1203 TAD C8SWR /GET SWR 3235 007274 2205 ISZ C8CNTR /INCREMENT LOOP COUNTER 3236 007275 5264 JMP C8LOPA /GO PRINT NEXT DIGIT 3237 / 3238 /ACCEPT KEYBOARD INPUT OF OCTAL DIGITS, , 3239 /CTRL/C OR CTRL/G. ALL OTHER CHARACTERS ARE INVALID 3240 /AND WILL BE ECHOED, FOLLOWED BY A "?", 3241 /A CARRIAGE RETURN, LINE FEED, AND A RESTART OF 3242 /THE SR=XXXX ROUTINE 3243 / 3244 007276 7300 CLA CLL 3245 007277 1210 TAD C8M5 /AC=-5 3246 007300 3205 DCA C8CNTR /SET UP TO ACCEPT 5 CHARACTERS 3247 007301 3767 DCA C8BLD /CLEAR SWITCH REG. BUILD AREA 3248 007302 3766 DCA C8FLG /CLEAR SWR CHANGE SWITCH 3249 007303 1214 TAD C8K240 /GET ASCII CODE FOR SPACE 3250 007304 4770 JMS C8TYP /SPACE OVER ONE POSITION 3251 007305 4765 C8SRLP, JMS C8TTY /GO WAIT FOR KEYBOARD INPUT 3252 007306 3200 DCA C8TEMP /SAVE INPUT CHARACTER 3253 007307 1200 TAD C8TEMP /GET CHARACTER 3254 007310 1364 TAD (-203 3255 007311 7450 SNA /SKIP IF NOT CTRL/C 3256 007312 5763 JMP C8CTLC /GO TO CTRL/C ROUTINE 3257 007313 1207 TAD C8M4 /SUBTRACT 4 3258 007314 7450 SNA /SKIP IF NOT CTRL/G 3259 007315 5762 JMP C8CTLG /GO TO CTRL/G ROUTINE 3260 007316 1206 TAD C8M3 /SUBTRACT 3 3261 007317 7450 SNA /SKIP IF NOT LINE FEED 3262 007320 5761 JMP C8EXT1 /GO TO LINE FEED EXIT 3263 007321 1206 TAD C8M3 /SUBTRACT 4 3264 007322 7650 SNA CLA /SKIP IF NOT CARRIAGE RETURN 3265 007323 5760 JMP C8EXT2 /GO TO CARRIAGE RETURN EXIT 3266 007324 1200 TAD C8TEMP /GET CHARACTER 3267 007325 4770 JMS C8TYP /ECHO IT 3268 007326 1200 TAD C8TEMP /GET CHARACTER 3269 007327 1212 TAD C8M260 3270 007330 7510 SPA /SKIP IF >= TO ASCII CODE FOR ZERO 3271 007331 5351 JMP C8ERR /INVALID CHARACTER NOT OCTAL DIGIT 3272 007332 1211 TAD C8M10 3273 007333 7700 SMA CLA /SKIP IF <= ASCII CODE FOR SEVEN 3274 007334 5351 JMP C8ERR /INVALID CHARACTER NOT OCTAL DIGIT 3275 007335 7240 STA /AC=7777 3276 007336 3766 DCA C8FLG /SET SWR CHANGE FLAG 3277 007337 1200 TAD C8TEMP /GET CHARACTER 3278 007340 0213 AND C8K7 /MASK TO 3 BITS 3279 007341 3200 DCA C8TEMP /SAVE OCTAL DIGIT 3280 007342 1767 TAD C8BLD /GET SWR BUILD AREA 3281 007343 7106 CLL RTL 3282 007344 7004 RAL /ROTATE TO BUILD SWR 3283 007345 1200 TAD C8TEMP /ADD NEXT OCTAL DIGIT 3284 007346 3767 DCA C8BLD /SAVE NEW SWR 3285 007347 2205 ISZ C8CNTR /INCREMENT OCTAL DIGIT COUNTER 3286 007350 5305 JMP C8SRLP /CONTINUE ACCEPTING OCTAL DIGITS 3287 / 3288 007351 7300 C8ERR, CLA CLL 3289 007352 1217 TAD C8K277 /GET ASCII CODE FOR "?" 3290 007353 4770 JMS C8TYP /PRINT "?" 3291 007354 4771 JMS C8CRLF /DO A AND 3292 007355 5251 JMP C8PSW /GO START OVER 3293 / 3294 / 3295 007360 7536 PAGE 007361 7525 007362 7457 007363 7465 007364 7575 007365 7510 007366 7403 007367 7400 007370 7476 007371 7517 007372 7420 007373 7537 007374 7402 007375 0023 007376 0020 007377 0021 3296 / 3297 007400 0000 C8BLD, 0 /SWITCH REGISTER BUILD AREA 3298 007401 0205 C8STRT, RSTART /ADDRESS OF START OF PROGRAM 3299 007402 0000 C8RTN, 0 /STORAGE FOR RETURN ADDRESS 3300 007403 0000 C8FLG, 0 /SWR CHANGE SWITCH 3301 007404 0000 C8SFLG, 0 /CTRL/S ACTIVE FLAG 3302 007405 0177 C8K177, 0177 /CONSTANT 3303 007406 0200 C8K200, 0200 /CONSTANT 3304 007407 0077 C8K77, 0077 /CONSTANT 3305 007410 7740 C8M40, -40 /CONSTANT 3306 007411 0100 C8K100, 0100 /CONSTANT 3307 007412 0215 C8K215, 0215 /CONSTANT 3308 007413 0212 C8K212, 0212 /CONSTANT 3309 007414 0303 C8K303, 0303 /CONSTANT 3310 007415 0307 C8K307, 0307 /CONSTANT 3311 007416 0336 C8K336, 0336 /CONSTANT 3312 007417 7600 C87600, 7600 /CONSTANT 3313 / 3314 / C O N T R O L C H A R A C T E R 3315 / 3316 / D E C O D E R O U T I N E 3317 / 3318 007420 1377 C8CNTL, TAD (-203 3319 007421 7450 SNA /SKIP IF NOT CTRL/C 3320 007422 5265 JMP C8CTLC /CTRL/C TYPED EXIT TO MONITOR 3321 007423 1376 TAD (-4 3322 007424 7450 SNA /SKIP IF NOT CTRL/G 3323 007425 5257 JMP C8CTLG /CTRL/G TYPED GO PRINT "^G" 3324 007426 1375 TAD (-12 3325 007427 7450 SNA /SKIP IF NOT CTRL/Q 3326 007430 5255 JMP C8CTLQ /CTRL/Q TYPED 3327 007431 1374 TAD (-2 3328 007432 7450 SNA /SKIP IF NOT CTRL/S 3329 007433 5237 JMP C8CTLS /CTRL/S TYPED 3330 007434 3773 DCA C8MODE /SET MESSAGE ACTIVE FLAG 3331 007435 2204 ISZ C8SFLG /TEST CTRL/S ACTIVE FLAG 3332 007436 5273 JMP C8ECHO /GO ECHO CHARACTER AND RETURN TO PROGRAM 3333 / 3334 /CTRL/S HANDLER 3335 / 3336 007437 7240 C8CTLS, STA /AC=7777 3337 007440 3204 DCA C8SFLG /SET CTRL/S ACTIVE FLAG 3338 007441 1773 TAD C8MODE /GET MESSAGE ACTIVE FLAG 3339 007442 7650 SNA CLA /SKIP IF CTRL/S TYPED WHILE MESSAGE ACTIVE 3340 007443 5337 JMP C8PFLD /RETURN TO PROGRAM 3341 / 3342 007444 7240 C8WAIT, STA 3343 007445 3204 DCA C8SFLG /SET CTRL/S ACTIVE INDICATOR 3344 007446 4310 JMS C8TTY /WAIT FOR KEYBOARD INPUT 3345 007447 1377 TAD (-203 3346 007450 7450 SNA /SKIP IF NOT CTRL/C 3347 007451 5265 JMP C8CTLC /CTRL/C TYPED EXIT TO MONITOR 3348 007452 1372 TAD (-16 3349 007453 7640 SZA CLA /SKIP IF CTRL/Q 3350 007454 5244 JMP C8WAIT /NOT CTRL/C OR CTRL/Q CONTINUE WAITING 3351 007455 3204 C8CTLQ, DCA C8SFLG /CLEAR CTRL/S ACTIVE FLAG 3352 007456 5337 JMP C8PFLD /RETURN TO MAIN PROGRAM 3353 / 3354 /CONTROL G HANDLER 3355 / 3356 007457 4317 C8CTLG, JMS C8CRLF /DO A AMD 3357 007460 1216 TAD C8K336 /GET ASCII CODE FOR UP ARROW 3358 007461 4276 JMS C8TYP /PRINT UP ARROW 3359 007462 1215 TAD C8K307 /GET ASCII CODE FOR "G" 3360 007463 4276 JMS C8TYP /PRINT "G" 3361 007464 5771 JMP C8PSW /GO TO "SR=XXXX" ROUTINE 3362 / 3363 /CONTROL C HANDLER 3364 / 3365 007465 3204 C8CTLC, DCA C8SFLG 3366 007466 1216 TAD C8K336 /GET ASCII CODE FOR UP ARROW 3367 007467 4276 JMS C8TYP /PRINT UP ARROW 3368 007470 1214 TAD C8K303 /GET ASCII CODE FOR "C" 3369 007471 4276 JMS C8TYP /PRINT "C" 3370 007472 5770 JMP C8RM /RESTORE MONITOR AND EXIT 3371 / 3372 007473 1767 C8ECHO, TAD C8TEMP /GET CHARACTER 3373 007474 4276 JMS C8TYP /ECHO IT 3374 007475 5337 JMP C8PFLD /RETURN TO PROGRAM 3375 / 3376 / 3377 / 3378 / 3379 /PRINT ONE CHARACTER 3380 / 3381 007476 0000 C8TYP, 0 3382 007477 2204 ISZ C8SFLG /TEST CTRL/S ACTIVE FLAG 3383 007500 7410 SKP /SKIP IF CTRL/S NOT ACTIVE 3384 007501 5244 JMP C8WAIT /GO WAIT FOR CTRL/Q OR CTRL/C 3385 007502 6046 TLS /TRANSMIT CHARACTER 3386 007503 6041 TSF /TEST TTY FLAG 3387 007504 5303 JMP .-1 /WAIT FOR TTY FLAG 3388 007505 6042 TCF /CLEAR TTY FLAG 3389 007506 7200 CLA /CLEAR AC DO NOT CLEAR LINK 3390 3391 007507 5676 JMP I C8TYP /RETURN 3392 / 3393 /WAIT FOR KEYBOARD INPUT THEN EXIT WITH ASCII CODE IN AC 3394 / 3395 007510 0000 C8TTY, 0 3396 007511 6031 KSF /SKIP IF KEYBOARD FLAG SET 3397 007512 5311 JMP .-1 /WAIT FOR KEYBOARD INPUT 3398 007513 6036 KRB /READ KEYBOARD BUFFER CLEAR FLAG 3399 007514 0205 AND C8K177 /MASK TO 7 BITS 3400 007515 1206 TAD C8K200 /SET BIT 4 3401 007516 5710 JMP I C8TTY /RETURN 3402 / 3403 /EXECUTE A CARRIAGE RETURN AND LINE FEED 3404 / 3405 007517 0000 C8CRLF, 0 3406 007520 1212 TAD C8K215 /GET ASCII CODE FOR CARRIAGE RETURN 3407 007521 4276 JMS C8TYP /GO EXECUTE THE CARRIAGE RETURN 3408 007522 1213 TAD C8K212 /GET ASCII CODE FOR LINE FEED 3409 007523 4276 JMS C8TYP /GO EXECUTE THE LINE FEED 3410 007524 5717 JMP I C8CRLF /RETURN 3411 / 3412 /CONSOLE PACKAGE EXIT IF TERMINATED WITH LINE FEED 3413 / 3414 007525 4317 C8EXT1, JMS C8CRLF /DO A AND 3415 007526 1337 TAD C8PFLD /GET MODIFIED CDI TO PROGRAM FIELD 3416 007527 3330 DCA .+1 /SAVE FOR EXECUTION 3417 007530 7402 HLT /MODIFIED CDI TO PROGRAM FIELD 3418 007531 2203 ISZ C8FLG /TEST SWR CHANGE FLAG 3419 007532 5601 JMP I C8STRT /RESTART PROGRAM WITHOUT CHANGE OF SWR 3420 007533 1200 TAD C8BLD /GET NEW SWITCH REGISTER 3421 007534 3766 DCA I (20 /SAVE IT IN PROGRAM FIELD 3422 007535 5601 JMP I C8STRT /RESTART PROGRAM WITH NEW PSEUDO SWR 3423 / 3424 /EXIT FROM CONSOLE PACKAGE IF TERMINATED WITH CARRIAGE RETURN 3425 / 3426 007536 4317 C8EXT2, JMS C8CRLF /DO A AND 3427 007537 7402 C8PFLD, HLT /MODIFIED CDI TO PROGRAM FIELD 3428 007540 7300 CLA CLL /CLEAR AC AND LINK FOR RETURN 3429 007541 2203 ISZ C8FLG /TEST SWR CHANGE FLAG 3430 007542 5602 JMP I C8RTN /RETURN TO PROGRAM WITHOUT CHANGE OF SWR 3431 007543 1200 TAD C8BLD /GET NEW SWITCH REGISTER 3432 007544 3766 DCA I (20 /SAVE IT IN PROGRAM FIELD 3433 007545 5602 JMP I C8RTN /RETURN TO PROGRAM 3434 / 3435 / 3436 / 3437 007566 0020 PAGE 007567 7200 007570 6060 007571 7251 007572 7762 007573 7204 007574 7776 007575 7766 007576 7774 007577 7575 3438 / 3439 000123 6203 $$$ 000124 6000 000125 7770 000126 7720 000127 0100 000130 7660 000131 0200 000132 7560 000133 0400 000134 7360 000135 4000 000136 0007 000137 0303 000140 0035 000141 4543 000142 0240 000143 0245 000144 0215 000145 7776 000146 0212 000147 7775 000150 0340 000151 0207 000152 7744 000153 6060 000154 0707 000155 0077 000156 0261 000157 0262 000160 0263 000161 0264 000162 0265 000163 0266 000164 0267 000165 7777 000166 7700 000167 0260 000170 0020 000171 0040 000172 7774 000173 7740 000174 5252 000175 2525 000176 6201 000177 4246 A 0066 A1 4335 A10 4346 A11 4347 A12 4350 A13 4351 A14 4515 A15 4516 A16 4517 A17 4520 A18 4521 A19 4522 A2 4336 A20 4523 A21 4524 A22 4525 A23 4526 A24 4527 A3 4337 A4 4340 A5 4341 A6 4342 A7 4343 A8 4344 A9 4345 ACL 7701 ADDCNT 5363 unreferenced ADDER 2466 ADDINC 5360 APTCTX 5671 unreferenced APTCTY 5672 unreferenced APTEOB 0517 unreferenced APTER 5600 APTER1 5621 APTEX 5651 APTFL 5704 APTIZ 5622 APTLUP 5712 APTMOV 5737 APTOK 5652 APTOK0 5674 APTOK1 5673 B 0067 BADINT 3200 BANK 0024 BANK0 1674 BANK0A 1702 unreferenced BANKR 5162 BDATA 0073 BINTC 3227 BSW 7002 C80000 4400 C80001 4431 C87600 7417 unreferenced C8BLD 7400 C8CAL 4505 C8CDF 7202 C8CDI 7201 C8CNTL 7420 C8CNTR 7205 C8CRLF 7517 C8CTLC 7465 C8CTLG 7457 C8CTLQ 7455 C8CTLS 7437 C8ECHO 7473 C8ENTR 7222 C8ERR 7351 C8EXT1 7525 C8EXT2 7536 C8FLD 7241 C8FLG 7403 C8K100 7411 unreferenced C8K177 7405 C8K200 7406 C8K212 7413 C8K215 7412 C8K240 7214 C8K260 7215 C8K275 7216 C8K277 7217 C8K303 7414 C8K307 7415 C8K322 7220 C8K323 7221 C8K336 7416 C8K7 7213 C8K77 7407 unreferenced C8LOC 4744 C8LOPA 7264 C8M10 7211 C8M260 7212 C8M3 7206 C8M4 7207 C8M40 7410 unreferenced C8M5 7210 C8MODE 7204 C8PFLD 7537 C8PSW 7251 C8RM 6060 C8RM0 6107 C8RM01 6076 C8RM1 6120 C8RTN 7402 C8SA 7000 C8SFLG 7404 C8SM 6036 C8SM0 6051 C8SM1 6047 C8SRLP 7305 C8STRT 7401 C8SWR 7203 C8TEMP 7200 C8TTY 7510 C8TYP 7476 C8WAIT 7444 CAF 6007 CDI 6203 CFP 2000 CFP0 2012 CFP1 2043 CFP2 2046 CFP3 2057 CFP4 2067 CFPTMP 2101 CHECK 2077 CHECK0 2100 CHRTMP 4746 CMP 6104 CNV 2222 CODERR 2406 COUNT 0053 CRELD 0050 CS 0036 CSAME 0463 CSR03 1607 CUF 6204 unreferenced DATTMP 5116 DFEIF 0251 EMMFLG 0025 ENDF 0063 ENDHLT 4502 ENDMES 5451 ENDPAS 5426 ERRA 1400 ERRA1 1411 ERRB 1426 ERRB1 1437 ERRC 2600 ERRCC 2707 ERRHD 4011 ERRM 2503 ERRMM 2545 ERROR0 2460 ERROR1 2461 ERRTAB 4643 FCNT 0060 FIRST 6331 FIVE 0100 FLDCNT 2346 FLDDAT 5067 FLDINC 5361 FLDSEL 2102 FS 0040 FS1 0041 FS2 0042 FS3 0043 FSEND 1707 FSSET 1615 GDATA 0072 GERRC 1454 GETSR 4504 GTF 6004 HCW1 0021 HCW2 0022 HEAD1 0055 IAPTER 0005 IAPTOK 0006 ILEGAL 1514 IN12 6245 IN12A 6274 INMODE 0023 INSAME 0064 INTR 4256 INTROU 4246 K104 5165 K400 4745 KBINT 1346 KBINTC 1364 KM8REL 0404 KT8A 0001 unreferenced KT8REL 0434 KTEST 0652 LDSR 6260 unreferenced LEGAL 1470 LEGAL0 0065 LEGALA 1540 LGLFLD 1551 LIMIT 2476 LOOP1 6000 unreferenced LOOP1A 6024 LOOP2 6200 unreferenced LOOP2A 6236 LOOP3 6400 LOOP3A 6442 LOOP3B 6444 LOOP4 6600 unreferenced LOOP4A 6657 LOOP5 6500 LOOP5A 6544 LOOP5B 6546 LRR 6240 LXM 6200 M0 2313 M0UPD 5232 M1UPD 5300 MEMLOD 5224 MES 2240 MINS 0101 MOSERR 5415 MOSFLD 5227 MOSLOD 5214 MOSRED 5245 MOSTST 5200 MOVE 0054 MOVFAL 5740 MQL 7421 MTP 2311 NOEMB 1523 NOEMM 0732 NOFLD 4600 NOTAPT 5634 NOTTY 0076 NUFLD 0707 NUMFLD 0077 OD 5114 OFFSET 0000 OPT 1741 P2 0070 PAR 4267 PARERR 3154 PARINT 3100 PARORC 2657 PASSES 5455 PAT1 5365 PAT2 5366 PATA 0205 PATCNT 5364 PATERR 2731 PATM 0261 PATM0 0264 PATN 0270 PATN0 0273 PATO 0301 PATO0 0314 PERRC 2625 PERRM 2515 PERRO0 2677 PINF 5044 PNOREL 4115 PNTFLD 4654 PNTOPT 1726 PREL 4154 PRINT 4503 PROFLD 0051 PSR 0020 RACA 4510 RACB 4511 RBELL 2413 RDA2 1210 RDAC 1215 RDB2 1263 RDBC 1270 RDFLD 1200 RDFLDA 1213 RDFLDB 1266 READ 1327 REDFLD 5264 REDLUP 5257 RELCNT 0061 RELO 4200 RELO2 4225 RELO3 4227 RELO4 4232 RELO5 4244 REM 6230 RESDF 6676 RESINT 4432 RETURN 2405 RRR 6250 RS 0044 RS1 0045 RS2 0046 RS3 0047 RSTART 0205 RTEMP 5160 RTEMP1 5161 RTF 6005 S0 2235 S1 2236 S2 2237 SAC 0074 SAME 1600 SAVDF 6664 SAVE 6675 SAVINT 4300 SCS1 3266 SCS2 3272 SECOND 6332 SETERR 4610 SETFLD 0725 SETFS 4506 SETPAR 5000 SETREL 0400 SETRS 4507 SETSW 4071 SFS0 3277 SFS1 3317 SFS2 3340 SFS3 3412 SFS4 3432 SFS5 3452 SFS6 3472 SFS7 3512 SFSTAB 3352 SIXTY 2200 SKON 6000 SMP 6101 SMQ 0075 SPFLD 1714 SPO 6107 SR 6035 SR00 0026 SR01 0027 SR02 0030 SR03 0031 SR04 0032 SR05 0033 SR4 6663 SR56 0034 SR5A 6564 SR5B 6565 SR5C 6566 SR911 0035 SRL 6462 SRL1 6463 SRL2 6464 SRS 4653 SRS0 3307 SRS1 3327 SRS2 3400 SRS3 3422 SRS4 3442 SRS5 3462 SRS6 3502 SRS7 3522 START 0324 STARTF 0062 STOP 2467 STS0 3233 STS1 3237 STS2 3243 STS3 3250 STS4 3255 STS5 3262 SUF 6274 unreferenced SWP 7521 T0 3000 T07 3020 T0UPD 0661 T1 3010 T1UPD 0700 T25 3050 T52 3064 T70 3034 TCS 0503 TEMP 0056 TESBNK 2314 TEST 0600 TEST0 0653 TEST1 0670 TEST8 1000 TFS 0737 TFS0 3600 TFS1 3607 TFS2 3617 TFS3 3627 TFS4 3640 TFS5 3651 TFS6 3662 TFS7 3672 TFSTAB 0740 TITLE 4043 TN 2735 TOSEL 1105 TOSEL1 1136 TRS 0472 TRS0 3703 TRS1 3712 TRS2 3722 TRS3 3732 TRS4 3743 TRS5 3754 TRS6 3765 TRS7 4000 TRSTAB 0473 TS 0037 TSNUM 3555 TSTAD 0057 TSTCNT 5362 TSTFLD 0052 TTS 3532 TTS0 3544 TTYCHK 3556 TWAR 2347 TYPCH 2256 TYPE 5025 TYPOFF 5041 TYPSP 2400 W4 0071 WRA 1041 WRA1 1050 WRB 1063 WRB1 1072 WRFLD 1005 XC8CAL 4723 XENDHL 0341 XGETSR 4747 XPRINT 5400 XRACA 5117 XRACB 5142 XSETFS 0522 XSETRS 0532 YY 5115 Z1 2644 Z10 2536 Z11 2537 Z2 2645 Z20 3131 Z21 3145 Z3 2651 Z4 2654 Z8 4150