Source Code
These source-code files were derived from scans of the
Colossus 237 (Apollo 8 Command Module) program listing from the private collection of original
AGC developer Fred Martin. Scanning was by Ron Burkey. Pre-existing Colossus 249
(Apollo 9 CM) source files were used as a template, and changes between Colossus 249
and Colossus 237 were manually transcribed by a team of volunteers. Note
that the page images
presented online are of reduced quality, and that additional images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS BY NASA 2021111-031 1:17 AUG. 24, 1968Note that the date is the date of the printout, not the date of the program revision. |
057654,000002: ## Copyright: Public domain.
057655,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
057656,000004: ## Purpose: Part of the source code for Colossus build 237.
057657,000005: ## This is for the Command Module's (CM) Apollo Guidance
057658,000006: ## Computer (AGC), for Apollo 8.
057659,000007: ## Assembler: yaYUL
057660,000008: ## Contact: Onno Hommes <ohommes@alumni.cmu.edu>
057661,000009: ## Website: www.ibiblio.org/apollo/index.html
057662,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
057663,000011: ## Mod history: 2010-05-30 OH Adapted from corresponding Colossus 249 file.
057664,000012: ## 2010-12-04 JL Remove Colossus 249 header comments. Change to double-has page numbers.
057665,000013: ## 2011-02-12 JL Minor fixes.
057666,000014: ## 2011-04-17 JL Removed temporary line.
057667,000015: ## 2017-01-01 RSB Proofed comment text using octopus/ProoferComments,
057668,000016: ## and fixed errors found.
057669,000017: ## 2017-01-07 RSB Fixed comment errors detected in cross-diff vs
057670,000018: ## Colossus 249.
057671,000019:
Page 1358 |
057673,000021: # PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
057674,000022: # PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
057675,000023: # MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
057676,000024: # MOD BY - GAUNTT
057677,000025:
057678,000026:
057679,000027: # FUNCTIONAL DESCRIPTION
057680,000028:
057681,000029: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
057682,000030: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
057683,000031: # STARTING VERB.
057684,000032: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
057685,000033: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK , ONE AT A TIME.
057686,000034: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
057687,000035: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
057688,000036: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
057689,000037: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
057690,000038: # OCTAL, TO LOAD INTO SMODE.
057691,000039: # +-4 ERASABLE MEMORY
057692,000040: # +-5 FIXED MEMORY
057693,000041: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
057694,000042: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
057695,000043: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
057696,000044:
057697,000045:
057698,000046: # WARNINGS
057699,000047:
057700,000048: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
057701,000049: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
057702,000050:
057703,000051:
057704,000052: # CALLING SEQUENCE
057705,000053:
057706,000054: # TO CALL SELF-CHECK KEY IN
057707,000055: # V 21 N 27 E OPTION NUMBER E
057708,000056: # TO CALL SHOW-BANKSUM KEY IN
057709,000057: # V 91 E DISPLAYS FIRST BANK
057710,000058: # V 33 E PROCEED, DISPLAYS NEXT BANK
057711,000059:
057712,000060:
057713,000061: # EXIT MODES, NORMAL AND ALARM
057714,000062:
057715,000063: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
057716,000064: # COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
057717,000065: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
057718,000066: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
057719,000067:
057720,000068:
057721,000069:
057722,000070: # OUTPUT
057723,000071:
Page 1359 |
057725,000073: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
057726,000074: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
057727,000075: # INFORMATION HE MAY KEY IN V 05 N 08 E, THE DSKY DISPLAY IN R1 WILL BE ADDRESS+1 OF WHERE THE ERROR WAS DETECTED,
057728,000076: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
057729,000077: # INITIATED FRESH START (SLAP1).
057730,000078: # SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
057731,000079: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
057732,000080:
057733,000081:
057734,000082: # ERASABLE INITIALIZATION REQUIRED
057735,000083:
057736,000084: # ACCOMPLISHED BY FRESH START
057737,000085: # SMODE SET TO +0
057738,000086:
057739,000087:
057740,000088: # DEBRIS
057741,000089:
057742,000090: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
057743,000091: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
057744,000092: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
057745,000093:
057746,000094:
057747,000095: 25,3766 BANK 25
057748,000096: 43,2000 SETLOC SELFCHEC
057749,000097: 43,2000 BANK
057750,000098:
057751,000099: 43,3227 COUNT 43/SELF
057752,000100:
057753,000101: 43,3227 4712 SBIT1 EQUALS BIT1
057754,000102: 43,3227 4711 SBIT2 EQUALS BIT2
057755,000103: 43,3227 4710 SBIT3 EQUALS BIT3
057756,000104: 43,3227 4707 SBIT4 EQUALS BIT4
057757,000105: 43,3227 4706 SBIT5 EQUALS BIT5
057758,000106: 43,3227 4705 SBIT6 EQUALS BIT6
057759,000107: 43,3227 4704 SBIT7 EQUALS BIT7
057760,000108: 43,3227 4703 SBIT8 EQUALS BIT8
057761,000109: 43,3227 4702 SBIT9 EQUALS BIT9
057762,000110: 43,3227 4701 SBIT10 EQUALS BIT10
057763,000111: 43,3227 4700 SBIT11 EQUALS BIT11
057764,000112: 43,3227 4677 SBIT12 EQUALS BIT12
057765,000113: 43,3227 4676 SBIT13 EQUALS BIT13
057766,000114: 43,3227 4675 SBIT14 EQUALS BIT14
057767,000115: 43,3227 4674 SBIT15 EQUALS BIT15
057768,000116:
057769,000117: 43,3227 4714 S+ZERO EQUALS ZERO
057770,000118: 43,3227 4712 S+1 EQUALS BIT1
057771,000119: 43,3227 4711 S+2 EQUALS BIT2
057772,000120: 43,3227 6214 S+3 EQUALS THREE
057773,000121: 43,3227 4710 S+4 EQUALS FOUR
057774,000122: 43,3227 4715 S+5 EQUALS FIVE
Page 1360 |
057776,000124: 43,3227 6211 S+6 EQUALS SIX
057777,000125: 43,3227 4716 S+7 EQUALS SEVEN
057778,000126: 43,3227 4373 S8BITS EQUALS LOW8 # 00377
057779,000127: 43,3227 4726 CNTRCON = OCT50 # USED IN CNTRCHK
057780,000128: 43,3227 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
057781,000129: 43,3230 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
057782,000130: 43,3231 4744 ERASCON6 = OCT1400 # USED IN ERASCHK
057783,000131: 43,3231 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
057784,000132: 43,3232 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
057785,000133: 43,3233 4747 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
057786,000134: 43,3233 4755 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
057787,000135: 43,3233 4364 -MAXADRS = HI5 # FOR ROPECHK
057788,000136: 43,3233 00060 SIXTY OCTAL 00060
057789,000137: 43,3234 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
057790,000138: 43,3235 17777 S13BITS OCTAL 17777
057791,000139: 43,3236 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
057792,000140: 43,3237 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
057793,000141: 43,3240 76777 ERASCON5 OCTAL 76777
057794,000142: 43,3241 5630 S-7 = OCT77770
057795,000143: 43,3241 6061 S-4 EQUALS NEG4
057796,000144: 43,3241 7714 S-3 EQUALS NEG3
057797,000145: 43,3241 7715 S-2 EQUALS NEG2
057798,000146: 43,3241 7716 S-1 EQUALS NEGONE
057799,000147: 43,3241 4713 S-ZERO EQUALS NEG0
057800,000148:
057801,000149: 43,3241 E3,1400 EBANK= LST1
057802,000150: 43,3241 01371 ADRS1 ADRES SKEEP1
057803,000151: 43,3242 03333 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
057804,000152: # IN SELFRET WHEN GOING FROM SELFCHK TO
057805,000153: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
057806,000154: # FROM SHOWSUM TO SELF-CHECK.
057807,000155:
057808,000156: 43,3243 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
057809,000157: 43,3244 00006 EXTEND
057810,000158: 43,3245 13254 BZF ERRORS # NO
057811,000159: 43,3246 00006 EXTEND
057812,000160: 43,3247 31376 DCA SKEEP5
057813,000161: 43,3250 51377 INDEX SKEEP7
057814,000162: 43,3251 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
057815,000163: 43,3252 34714 CA S+ZERO
057816,000164: 43,3253 55360 TS ERESTORE
057817,000165: 43,3254 00004 ERRORS INHINT
057818,000166: 43,3255 30002 CA Q
057819,000167: 43,3256 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
057820,000168: 43,3257 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
057821,000169: 43,3260 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
057822,000170: 43,3261 05541 TCALARM2 TC ALARM2
057823,000171: 43,3262 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
057824,000172: 43,3263 11362 CCS SMODE
057825,000173: 43,3264 34714 SIDLOOP CA S+ZERO
Page 1361 |
057827,000175: 43,3265 55362 TS SMODE
057828,000176: 43,3266 03333 TC SELFCHK # GO TO IDLE LOOP
057829,000177: 43,3267 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
057830,000178:
057831,000179: 43,3270 10000 -1CHK CCS A
057832,000180: 43,3271 13243 TCF PRERRORS
057833,000181: 43,3272 13243 TCF PRERRORS
057834,000182: 43,3273 10000 CCS A
057835,000183: 43,3274 13243 TCF PRERRORS
057836,000184: 43,3275 00002 TC Q
057837,000185:
057838,000186: 43,3276 00006 SMODECHK EXTEND
057839,000187: 43,3277 23371 QXCH SKEEP1
057840,000188: 43,3300 03327 TC CHECKNJ # CHECK FOR NEW JOB
057841,000189: 43,3301 11362 CCS SMODE
057842,000190: 43,3302 03307 TC SOPTIONS
057843,000191: 43,3303 03300 TC SMODECHK +2 # TO BACKUP IDLE LOOP
057844,000192: 43,3304 03307 TC SOPTIONS
057845,000193: 43,3305 25366 INCR SCOUNT
057846,000194: 43,3306 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
057847,000195:
057848,000196: 43,3307 65630 SOPTIONS AD S-7
057849,000197: 43,3310 00006 EXTEND
057850,000198: 43,3311 63313 BZMF +2 # FOR OPTIONS BELOW NINE.
057851,000199: 43,3312 03264 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
057852,000200: 43,3313 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
057853,000201: 43,3314 64716 AD S+7
057854,000202:
057855,000203: 43,3315 50000 INDEX A
057856,000204: 43,3316 03317 TC SOPTION1
057857,000205: 43,3317 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
057858,000206: 43,3320 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
057859,000207: 43,3321 01371 SOPTION3 TC SKEEP1 # WAS COUNTCHK
057860,000208: 43,3322 03334 SOPTION4 TC ERASCHK
057861,000209: 43,3323 03515 SOPTION5 TC ROPECHK
057862,000210: 43,3324 01371 SOPTION6 TC SKEEP1
057863,000211: 43,3325 01371 SOPTION7 TC SKEEP1
057864,000212: 43,3326 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
057865,000213:
057866,000214: 43,3327 00006 CHECKNJ EXTEND
057867,000215: 43,3330 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
057868,000216: 43,3331 04574 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
057869,000217: 43,3332 03231 CADR ADVAN
057870,000218:
057871,000219: 43,3333 03276 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
057872,000220:
057873,000221: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
057874,000222: # SKEEP6 HOLDS B(X+1).
057875,000223: # SKEEP5 HOLDS B(X).
057876,000224: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
Page 1362 |
057878,000226: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
057879,000227: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
057880,000228: # ERASCHK TAKES APPROXMATELY 7 SECONDS
057881,000229: 43,3334 34712 ERASCHK CA S+1
057882,000230: 43,3335 55372 TS SKEEP2
057883,000231: 43,3336 34714 0EBANK CA S+ZERO
057884,000232: 43,3337 54003 TS EBANK
057885,000233: 43,3340 33231 CA ERASCON3 # 01461
057886,000234: 43,3341 55377 TS SKEEP7 # STARTING ADDRESS
057887,000235: 43,3342 34747 CA S10BITS # 01777
057888,000236: 43,3343 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057889,000237: 43,3344 03364 TC ERASLOOP
057890,000238:
057891,000239: 43,3345 34744 E134567B CA ERASCON6 # 01400
057892,000240: 43,3346 55377 TS SKEEP7 # STARTING ADDRESS
057893,000241: 43,3347 34747 CA S10BITS # 01777
057894,000242: 43,3350 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057895,000243: 43,3351 03364 TC ERASLOOP
057896,000244:
057897,000245: 43,3352 34744 2EBANK CA ERASCON6 # 01400
057898,000246: 43,3353 55377 TS SKEEP7 # STARTING ADDRESS
057899,000247: 43,3354 33232 CA ERASCON4 # 01773
057900,000248: 43,3355 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057901,000249: 43,3356 03364 TC ERASLOOP
057902,000250:
057903,000251: 43,3357 55372 NOEBANK TS SKEEP2 # +0
057904,000252: 43,3360 33227 CA ERASCON1 # 00061
057905,000253: 43,3361 55377 TS SKEEP7 # STARTING ADDRESS
057906,000254: 43,3362 33230 CA ERASCON2 # 01373
057907,000255: 43,3363 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057908,000256:
057909,000257: 43,3364 00004 ERASLOOP INHINT
057910,000258: 43,3365 30003 CA EBANK # STORES C(EBANK)
057911,000259: 43,3366 55374 TS SKEEP4
057912,000260: 43,3367 00006 EXTEND
057913,000261: 43,3370 51377 NDX SKEEP7
057914,000262: 43,3371 30001 DCA 0000
057915,000263: 43,3372 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
057916,000264: 43,3373 31377 CA SKEEP7
057917,000265: 43,3374 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
057918,000266: 43,3375 54001 TS L
057919,000267: 43,3376 24001 INCR L
057920,000268: 43,3377 50000 NDX A
057921,000269: 43,3400 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
057922,000270: 43,3401 51377 NDX SKEEP7
057923,000271: 43,3402 40001 CS 0001 # CS X+1
057924,000272: 43,3403 51377 NDX SKEEP7
057925,000273: 43,3404 60000 AD 0000 # AD X
057926,000274: 43,3405 03270 TC -1CHK
057927,000275: 43,3406 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
Page 1363 |
057929,000277: 43,3407 00006 EXTEND
057930,000278: 43,3410 13434 BZF ELOOPFIN # YES, EXIT ERASLOOP.
057931,000279: 43,3411 00006 EXTEND
057932,000280: 43,3412 51377 NDX SKEEP7
057933,000281: 43,3413 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
057934,000282: 43,3414 51377 NDX SKEEP7
057935,000283: 43,3415 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
057936,000284: 43,3416 51377 NDX SKEEP7
057937,000285: 43,3417 40000 CS 0000 # CS X
057938,000286: 43,3420 51377 NDX SKEEP7
057939,000287: 43,3421 60001 AD 0001 # AD X+1
057940,000288: 43,3422 03270 TC -1CHK
057941,000289: 43,3423 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
057942,000290: 43,3424 00006 EXTEND
057943,000291: 43,3425 13434 BZF ELOOPFIN # YES, EXIT ERASLOOP.
057944,000292: 43,3426 00006 EXTEND
057945,000293: 43,3427 31376 DCA SKEEP5
057946,000294: 43,3430 51377 NDX SKEEP7
057947,000295: 43,3431 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
057948,000296: 43,3432 34714 CA S+ZERO
057949,000297: 43,3433 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
057950,000298: 43,3434 00003 ELOOPFIN RELINT
057951,000299: 43,3435 03327 TC CHECKNJ # CHECK FOR NEW JOB
057952,000300: 43,3436 31374 CA SKEEP4 # REPLACES B(EBANK)
057953,000301: 43,3437 54003 TS EBANK
057954,000302: 43,3440 25377 INCR SKEEP7
057955,000303: 43,3441 41377 CS SKEEP7
057956,000304: 43,3442 61373 AD SKEEP3
057957,000305: 43,3443 00006 EXTEND
057958,000306: 43,3444 13446 BZF +2
057959,000307: 43,3445 03364 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
057960,000308: 43,3446 11372 CCS SKEEP2
057961,000309: 43,3447 03357 TC NOEBANK
057962,000310: 43,3450 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
057963,000311: 43,3451 30003 CA EBANK
057964,000312: 43,3452 64702 AD SBIT9
057965,000313: 43,3453 54003 TS EBANK
057966,000314: 43,3454 63240 AD ERASCON5 # 76777, CHECK FOR BANK E2
057967,000315: 43,3455 00006 EXTEND
057968,000316: 43,3456 13352 BZF 2EBANK
057969,000317: 43,3457 10003 CCS EBANK
057970,000318: 43,3460 03345 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
057971,000319: 43,3461 34744 CA ERASCON6 # END OF ERASCHK
057972,000320: 43,3462 54003 TS EBANK
057973,000321: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
057974,000322: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
057975,000323: 43,3463 34726 CNTRCHK CA CNTRCON # 00050
057976,000324: 43,3464 55372 CNTRLOOP TS SKEEP2
057977,000325: 43,3465 64707 AD SBIT4 # +10 OCTAL
057978,000326: 43,3466 50000 INDEX A
Page 1364 |
057980,000328: 43,3467 40000 CS 0000
057981,000329: 43,3470 11372 CCS SKEEP2
057982,000330: 43,3471 03464 TC CNTRLOOP
057983,000331:
057984,000332: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
057985,000333: 43,3472 33236 CYCLSHFT CA CONC+S1 # 25252
057986,000334: 43,3473 54020 TS CYR # C(CYR) = 12525
057987,000335: 43,3474 54022 TS CYL # C(CYL) = 52524
057988,000336: 43,3475 54021 TS SR # C(SR) = 12525
057989,000337: 43,3476 54023 TS EDOP # C(EDOP) = 00125
057990,000338: 43,3477 60020 AD CYR # 37777 C(CYR) = 45252
057991,000339: 43,3500 60022 AD CYL # 00-12524 C(CYL) = 25251
057992,000340: 43,3501 60021 AD SR # 00-25251 C(SR) = 05252
057993,000341: 43,3502 60023 AD EDOP # 00-25376 C(EDOP) = +0
057994,000342: 43,3503 63237 AD CONC+S2 # C(CONC+S2) = 52400
057995,000343: 43,3504 03270 TC -1CHK
057996,000344: 43,3505 60020 AD CYR # 45252
057997,000345: 43,3506 60022 AD CYL # 72523
057998,000346: 43,3507 60021 AD SR # 77775
057999,000347: 43,3510 60023 AD EDOP # 77775
058000,000348: 43,3511 64712 AD S+1 # 77776
058001,000349: 43,3512 03270 TC -1CHK
058002,000350:
058003,000351: 43,3513 25367 INCR SCOUNT +1
058004,000352: 43,3514 03276 TC SMODECHK
058005,000353: # SKEEP1 HOLDS SUM
058006,000354: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
058007,000355: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
058008,000356: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
058009,000357: # (04000 TO 07777 IN FXFX BANKS)
058010,000358: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
058011,000359: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
058012,000360: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
058013,000361: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
058014,000362: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
058015,000363:
058016,000364: 43,3515 34713 ROPECHK CA S-ZERO # *
058017,000365: 43,3516 55376 TS SKEEP6 # * -0 FOR ROPECHK.
058018,000366: 43,3517 34714 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
058019,000367:
058020,000368: 43,3520 55374 TS SKEEP4 # BANK NUMBER
058021,000369: 43,3521 34712 CA S+1
058022,000370: 43,3522 55377 COMMFX TS SKEEP7
058023,000371: 43,3523 34714 CA S+ZERO
058024,000372: 43,3524 55371 TS SKEEP1
058025,000373: 43,3525 55373 TS SKEEP3
058026,000374: 43,3526 34712 CA S+1
058027,000375: 43,3527 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
058028,000376: 43,3530 31374 COMADRS CA SKEEP4
058029,000377: 43,3531 54001 TS L # TO SET SUPER BANK
Page 1365 |
058031,000379: 43,3532 74364 MASK HI5
058032,000380: 43,3533 61373 AD SKEEP3
058033,000381: 43,3534 04610 TC SUPDACAL # SUPER DATA CALL
058034,000382: 43,3535 03560 TC ADSUM
058035,000383: 43,3536 64700 AD SBIT11 # 02000
058036,000384: 43,3537 03571 TC ADRSCHK
058037,000385:
058038,000386: 43,3540 40000 FXFX CS A
058039,000387: 43,3541 55377 TS SKEEP7
058040,000388: 43,3542 00006 EXTEND
058041,000389: 43,3543 13546 BZF +3
058042,000390: 43,3544 34677 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
058043,000391: 43,3545 03547 TC +2
058044,000392: 43,3546 34755 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
058045,000393: 43,3547 55373 TS SKEEP3
058046,000394: 43,3550 34714 CA S+ZERO
058047,000395: 43,3551 55371 TS SKEEP1
058048,000396: 43,3552 34712 CA S+1
058049,000397: 43,3553 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
058050,000398: 43,3554 51373 FXADRS INDEX SKEEP3
058051,000399: 43,3555 30000 CA 0000
058052,000400: 43,3556 03560 TC ADSUM
058053,000401: 43,3557 03571 TC ADRSCHK
058054,000402:
058055,000403: 43,3560 55372 ADSUM TS SKEEP2
058056,000404: 43,3561 61371 AD SKEEP1
058057,000405: 43,3562 55371 TS SKEEP1
058058,000406: 43,3563 34714 CAF S+ZERO
058059,000407: 43,3564 61371 AD SKEEP1
058060,000408: 43,3565 55371 TS SKEEP1
058061,000409: 43,3566 41372 CS SKEEP2
058062,000410: 43,3567 61373 AD SKEEP3
058063,000411: 43,3570 00002 TC Q
058064,000412:
058065,000413: 43,3571 22000 ADRSCHK LXCH A
058066,000414: 43,3572 31373 CA SKEEP3
058067,000415: 43,3573 74747 MASK LOW10 # RELATIVE ADDRESS
058068,000416: 43,3574 64364 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
058069,000417: 43,3575 00006 EXTEND
058070,000418: 43,3576 13665 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
058071,000419: 43,3577 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
058072,000420: 43,3600 03603 TC +3 # NO
058073,000421: 43,3601 03603 TC +2 # NO
058074,000422: 43,3602 03665 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
058075,000423: 43,3603 10001 CCS L # -0 MEANS A TC SELF WORD.
058076,000424: 43,3604 03613 TC CONTINU
058077,000425: 43,3605 03613 TC CONTINU
058078,000426: 43,3606 03613 TC CONTINU
058079,000427: 43,3607 11375 CCS SKEEP5
058080,000428: 43,3610 03614 TC CONTINU +1
Page 1366 |
058082,000430: 43,3611 37716 CA S-1
058083,000431: 43,3612 03614 TC CONTINU +1 # AD IN THE BUGGER WORD
058084,000432: 43,3613 34712 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
058085,000433: 43,3614 55375 TS SKEEP5
058086,000434: 43,3615 11376 CCS SKEEP6 # *
058087,000435: 43,3616 10067 CCS NEWJOB # * +1, SHOWSUM
058088,000436: 43,3617 05057 TC CHANG1 # *
058089,000437: 43,3620 03622 TC +2 # *
058090,000438: 43,3621 03327 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
058091,000439:
058092,000440: 43,3622 25373 ADRS+1 INCR SKEEP3
058093,000441: 43,3623 11377 CCS SKEEP7
058094,000442: 43,3624 03530 TC COMADRS
058095,000443: 43,3625 03530 TC COMADRS
058096,000444: 43,3626 03554 TC FXADRS
058097,000445: 43,3627 03554 TC FXADRS
058098,000446:
058099,000447: 43,3630 41374 NXTBNK CS SKEEP4
058100,000448: 43,3631 63720 AD LSTBNKCH # LAST BANK TO BE CHECKED
058101,000449: 43,3632 00006 EXTEND
058102,000450: 43,3633 13000 BZF ENDSUMS # END OF SUMMING OF BANKS.
058103,000451: 43,3634 31374 CA SKEEP4
058104,000452: 43,3635 64700 AD SBIT11
058105,000453: 43,3636 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
058106,000454: 43,3637 03643 TC CHKSUPR
058107,000455: 43,3640 34674 17TO20 CA SBIT15
058108,000456: 43,3641 27374 ADS SKEEP4 # SET FOR BANK 20
058109,000457: 43,3642 03657 TC GONXTBNK
058110,000458: 43,3643 74364 CHKSUPR MASK HI5
058111,000459: 43,3644 00006 EXTEND
058112,000460: 43,3645 13655 BZF NXTSUPR # INCREMENT SUPER BANK
058113,000461: 43,3646 63235 27TO30 AD S13BITS
058114,000462: 43,3647 00006 EXTEND
058115,000463: 43,3650 13652 BZF +2 # BANK SET FOR 30
058116,000464: 43,3651 03657 TC GONXTBNK
058117,000465: 43,3652 33233 CA SIXTY # FIRST SUPER BANK
058118,000466: 43,3653 27374 ADS SKEEP4
058119,000467: 43,3654 03657 TC GONXTBNK
058120,000468: 43,3655 63234 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
058121,000469: 43,3656 27374 ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
058122,000470: 43,3657 11377 GONXTBNK CCS SKEEP7
058123,000471: 43,3660 03522 TC COMMFX
058124,000472: 43,3661 34712 CA S+1
058125,000473: 43,3662 03540 TC FXFX
058126,000474: 43,3663 34704 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
058127,000475: 43,3664 03522 TC COMMFX
058128,000476:
058129,000477: 43,3665 31374 SOPTION CA SKEEP4
058130,000478: 43,3666 74364 MASK HI5 # = BANK BITS
058131,000479: 43,3667 04345 TC LEFT5
Page 1367 |
058133,000481: 43,3670 54001 TS L # BANK NUMBER BEFORE SUPER BANK
058134,000482: 43,3671 31374 CA SKEEP4
058135,000483: 43,3672 74373 MASK S8BITS # = SUPER BANK BITS
058136,000484: 43,3673 00006 EXTEND
058137,000485: 43,3674 13702 BZF SOPT # BEFORE SUPER BANK
058138,000486: 43,3675 54021 TS SR # SUPER BANK NECESSARY
058139,000487: 43,3676 30001 CA L
058140,000488: 43,3677 74716 MASK SEVEN
058141,000489: 43,3700 60021 AD SR
058142,000490: 43,3701 54001 TS L # BANK NUMBER WITH SUPER BANK
058143,000491: 43,3702 31376 SOPT CA SKEEP6 # *
058144,000492: 43,3703 00006 EXTEND # *
058145,000493: 43,3704 13706 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
058146,000494: 43,3705 02762 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
058147,000495: 43,3706 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
058148,000496: 43,3707 03711 TC +2
058149,000497: 43,3710 03712 TC +2
058150,000498: 43,3711 64712 AD S+1
058151,000499: 43,3712 55371 TS SKEEP1
058152,000500: 43,3713 40001 BNKCHK CS L # = - BANK NUMBER
058153,000501: 43,3714 61371 AD SKEEP1
058154,000502: 43,3715 67716 AD S-1
058155,000503: 43,3716 03270 TC -1CHK # CHECK SUM
058156,000504: 43,3717 03630 TC NXTBNK
058157,000505:
058158,000506: 43,3720 0067 EBANK= NEWJOB
058159,000507: 43,3720 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc