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