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