Source Code
These source code files are an attempted reconstruction of Sundance revision 306, the Apollo 9
LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of
original core rope program modules, as follows:
|
050253,000002: ## Copyright: Public domain.
050254,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
050255,000004: ## Purpose: A section of an attempt to reconstruct Sundance revision 306
050256,000005: ## as closely as possible with available information. Sundance
050257,000006: ## 306 is the source code for the Lunar Module's (LM) Apollo
050258,000007: ## Guidance Computer (AGC) for Apollo 9. This program was created
050259,000008: ## using the mixed-revision SundanceXXX as a starting point, and
050260,000009: ## pulling back features from Luminary 69 believed to have been
050261,000010: ## added based on memos, checklists, observed address changes,
050262,000011: ## or the Sundance GSOPs.
050263,000012: ## Assembler: yaYUL
050264,000013: ## Contact: Ron Burkey <info@sandroid.org>.
050265,000014: ## Website: www.ibiblio.org/apollo/index.html
050266,000015: ## Mod history: 2020-07-24 MAS Created from SundanceXXX.
050267,000016:
050268,000017:
050269,000018:
050270,000019: # PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
050271,000020: # PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
050272,000021: # MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
050273,000022: # MOD BY - GAUNTT
050274,000023:
050275,000024: # FUNCTIONAL DESCRIPTION
050276,000025: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
050277,000026: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
050278,000027: # STARTING VERB.
050279,000028: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
050280,000029: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME.
050281,000030: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
050282,000031: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
050283,000032:
050284,000033: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
050285,000034: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
050286,000035: # OCTAL, TO LOAD INTO SMODE.
050287,000036: # +-4 ERASABLE MEMORY
050288,000037: # +-5 FIXED MEMORY
050289,000038: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
050290,000039: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
050291,000040: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
050292,000041:
050293,000042: # WARNINGS
050294,000043: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
050295,000044: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
050296,000045:
050297,000046: # CALLING SEQUENCE
050298,000047: # TO CALL SELF-CHECK KEY IN
050299,000048: # V 21 N 27 E OPTION NUMBER E
050300,000049: # TO CALL SHOW-BANKSUM KEY IN
050301,000050: # V 91 E DISPLAYS FIRST BANK
050302,000051: # V 33 E PROCEED, DISPLAYS NEXT BANK
050303,000052:
050304,000053: # EXIT MODES, NORMAL AND ALARM
050305,000054: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
050306,000055: # COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
050307,000056: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
050308,000057: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
050309,000058:
050310,000059: # OUTPUT
050311,000060: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
050312,000061: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
050313,000062: # 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,
050314,000063: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
050315,000064: # INITIATED FRESH START (SLAP1).
050316,000065:
050317,000066: # SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
050318,000067: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
050319,000068:
050320,000069: # ERASABLE INITIALIZATION REQUIRED
050321,000070: # ACCOMPLISHED BY FRESH START
050322,000071: # SMODE SET TO +0
050323,000072:
050324,000073: # DEBRIS
050325,000074: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
050326,000075: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
050327,000076: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
050328,000077:
050329,000078: 25,3771 BANK 25
050330,000079: 43,2000 SETLOC SELFCHEC
050331,000080: 43,2000 BANK
050332,000081:
050333,000082: 43,3232 COUNT* $$/SELF
050334,000083: 43,3232 5026 SBIT1 EQUALS BIT1
050335,000084: 43,3232 5025 SBIT2 EQUALS BIT2
050336,000085: 43,3232 5024 SBIT3 EQUALS BIT3
050337,000086: 43,3232 5023 SBIT4 EQUALS BIT4
050338,000087: 43,3232 5022 SBIT5 EQUALS BIT5
050339,000088: 43,3232 5021 SBIT6 EQUALS BIT6
050340,000089: 43,3232 5020 SBIT7 EQUALS BIT7
050341,000090: 43,3232 5017 SBIT8 EQUALS BIT8
050342,000091: 43,3232 5016 SBIT9 EQUALS BIT9
050343,000092: 43,3232 5015 SBIT10 EQUALS BIT10
050344,000093: 43,3232 5014 SBIT11 EQUALS BIT11
050345,000094: 43,3232 5013 SBIT12 EQUALS BIT12
050346,000095: 43,3232 5012 SBIT13 EQUALS BIT13
050347,000096: 43,3232 5011 SBIT14 EQUALS BIT14
050348,000097: 43,3232 5010 SBIT15 EQUALS BIT15
050349,000098:
050350,000099: 43,3232 5030 S+ZERO EQUALS ZERO
050351,000100: 43,3232 5026 S+1 EQUALS BIT1
050352,000101: 43,3232 5025 S+2 EQUALS BIT2
050353,000102: 43,3232 6221 S+3 EQUALS THREE
050354,000103: 43,3232 5024 S+4 EQUALS FOUR
050355,000104: 43,3232 5031 S+5 EQUALS FIVE
050356,000105: 43,3232 6216 S+6 EQUALS SIX
050357,000106: 43,3232 5032 S+7 EQUALS SEVEN
050358,000107: 43,3232 4371 S8BITS EQUALS LOW8 # 00377
050359,000108: 43,3232 5041 CNTRCON = OCT50 # USED IN CNTRCHK
050360,000109: 43,3232 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
050361,000110: 43,3233 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
050362,000111: 43,3234 5057 ERASCON6 = OCT1400 # USED IN ERASCHK
050363,000112: 43,3234 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
050364,000113: 43,3235 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
050365,000114: 43,3236 5062 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
050366,000115: 43,3236 5070 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
050367,000116: 43,3236 4362 -MAXADRS = HI5 # FOR ROPECHK
050368,000117: 43,3236 00060 SIXTY OCTAL 00060
050369,000118: 43,3237 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
050370,000119: 43,3240 17777 S13BITS OCTAL 17777
050371,000120: 43,3241 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
050372,000121: 43,3242 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
050373,000122: 43,3243 76777 ERASCON5 OCTAL 76777
050374,000123: 43,3244 7716 S-7 = OCT77770
050375,000124: 43,3244 6066 S-4 EQUALS NEG4
050376,000125: 43,3244 7717 S-3 EQUALS NEG3
050377,000126: 43,3244 7720 S-2 EQUALS NEG2
050378,000127: 43,3244 7721 S-1 EQUALS NEGONE
050379,000128: 43,3244 5027 S-ZERO EQUALS NEG0
050380,000129:
050381,000130: 43,3244 E3,1400 EBANK= LST1
050382,000131: 43,3244 01371 ADRS1 ADRES SKEEP1
050383,000132: 43,3245 03336 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
050384,000133: # IN SELFRET WHEN GOING FROM SELFCHK TO
050385,000134: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
050386,000135: # FROM SHOWSUM TO SELF-CHECK.
050387,000136:
050388,000137: 43,3246 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
050389,000138: 43,3247 00006 EXTEND
050390,000139: 43,3250 13257 BZF ERRORS # NO
050391,000140: 43,3251 00006 EXTEND
050392,000141: 43,3252 31376 DCA SKEEP5
050393,000142: 43,3253 51377 INDEX SKEEP7
050394,000143: 43,3254 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
050395,000144: 43,3255 35030 CA S+ZERO
050396,000145: 43,3256 55360 TS ERESTORE
050397,000146: 43,3257 00004 ERRORS INHINT
050398,000147: 43,3260 30002 CA Q
050399,000148: 43,3261 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
050400,000149: 43,3262 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
050401,000150: 43,3263 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
050402,000151: 43,3264 05654 TCALARM2 TC ALARM2
050403,000152: 43,3265 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
050404,000153: 43,3266 11362 CCS SMODE
050405,000154: 43,3267 35030 SIDLOOP CA S+ZERO
050406,000155: 43,3270 55362 TS SMODE
050407,000156: 43,3271 03336 TC SELFCHK # GO TO IDLE LOOP
050408,000157: 43,3272 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
050409,000158:
050410,000159: 43,3273 10000 -1CHK CCS A
050411,000160: 43,3274 13246 TCF PRERRORS
050412,000161: 43,3275 13246 TCF PRERRORS
050413,000162: 43,3276 10000 CCS A
050414,000163: 43,3277 13246 TCF PRERRORS
050415,000164: 43,3300 00002 TC Q
050416,000165:
050417,000166: 43,3301 00006 SMODECHK EXTEND
050418,000167: 43,3302 23371 QXCH SKEEP1
050419,000168: 43,3303 03332 TC CHECKNJ # CHECK FOR NEW JOB
050420,000169: 43,3304 11362 CCS SMODE
050421,000170: 43,3305 03312 TC SOPTIONS
050422,000171: 43,3306 03303 TC SMODECHK +2 # TO BACKUP IDLE LOOP
050423,000172: 43,3307 03312 TC SOPTIONS
050424,000173: 43,3310 25366 INCR SCOUNT
050425,000174: 43,3311 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
050426,000175:
050427,000176: 43,3312 67716 SOPTIONS AD S-7
050428,000177: 43,3313 00006 EXTEND
050429,000178: 43,3314 63316 BZMF +2 # FOR OPTIONS BELOW NINE.
050430,000179: 43,3315 03267 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
050431,000180: 43,3316 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
050432,000181: 43,3317 65032 AD S+7
050433,000182:
050434,000183: 43,3320 50000 INDEX A
050435,000184: 43,3321 03322 TC SOPTION1
050436,000185: 43,3322 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
050437,000186: 43,3323 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
050438,000187: 43,3324 01371 SOPTION3 TC SKEEP1 # WAS COUNTCHK
050439,000188: 43,3325 03337 SOPTION4 TC ERASCHK
050440,000189: 43,3326 03520 SOPTION5 TC ROPECHK
050441,000190: 43,3327 01371 SOPTION6 TC SKEEP1
050442,000191: 43,3330 01371 SOPTION7 TC SKEEP1
050443,000192: 43,3331 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
050444,000193:
050445,000194: 43,3332 00006 CHECKNJ EXTEND
050446,000195: 43,3333 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
050447,000196: 43,3334 04674 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
050448,000197: 43,3335 03025 CADR ADVAN
050449,000198:
050450,000199: 43,3336 03301 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
050451,000200:
050452,000201: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
050453,000202: # SKEEP6 HOLDS B(X+1).
050454,000203: # SKEEP5 HOLDS B(X).
050455,000204: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
050456,000205: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
050457,000206: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
050458,000207: # ERASCHK TAKES APPROXMATELY 7 SECONDS
050459,000208:
050460,000209: 43,3337 35026 ERASCHK CA S+1
050461,000210: 43,3340 55372 TS SKEEP2
050462,000211: 43,3341 35030 0EBANK CA S+ZERO
050463,000212: 43,3342 54003 TS EBANK
050464,000213: 43,3343 33234 CA ERASCON3 # 01461
050465,000214: 43,3344 55377 TS SKEEP7 # STARTING ADDRESS
050466,000215: 43,3345 35062 CA S10BITS # 01777
050467,000216: 43,3346 55373 TS SKEEP3 # LAST ADDRESS CHECKED
050468,000217: 43,3347 03367 TC ERASLOOP
050469,000218:
050470,000219: 43,3350 35057 E134567B CA ERASCON6 # 01400
050471,000220: 43,3351 55377 TS SKEEP7 # STARTING ADDRESS
050472,000221: 43,3352 35062 CA S10BITS # 01777
050473,000222: 43,3353 55373 TS SKEEP3 # LAST ADDRESS CHECKED
050474,000223: 43,3354 03367 TC ERASLOOP
050475,000224:
050476,000225: 43,3355 35057 2EBANK CA ERASCON6 # 01400
050477,000226: 43,3356 55377 TS SKEEP7 # STARTING ADDRESS
050478,000227: 43,3357 33235 CA ERASCON4 # 01773
050479,000228: 43,3360 55373 TS SKEEP3 # LAST ADDRESS CHECKED
050480,000229: 43,3361 03367 TC ERASLOOP
050481,000230:
050482,000231: 43,3362 55372 NOEBANK TS SKEEP2 # +0
050483,000232: 43,3363 33232 CA ERASCON1 # 00061
050484,000233: 43,3364 55377 TS SKEEP7 # STARTING ADDRESS
050485,000234: 43,3365 33233 CA ERASCON2 # 01373
050486,000235: 43,3366 55373 TS SKEEP3 # LAST ADDRESS CHECKED
050487,000236:
050488,000237: 43,3367 00004 ERASLOOP INHINT
050489,000238: 43,3370 30003 CA EBANK # STORES C(EBANK)
050490,000239: 43,3371 55374 TS SKEEP4
050491,000240: 43,3372 00006 EXTEND
050492,000241: 43,3373 51377 NDX SKEEP7
050493,000242: 43,3374 30001 DCA 0000
050494,000243: 43,3375 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
050495,000244: 43,3376 31377 CA SKEEP7
050496,000245: 43,3377 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
050497,000246: 43,3400 54001 TS L
050498,000247: 43,3401 24001 INCR L
050499,000248: 43,3402 50000 NDX A
050500,000249: 43,3403 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
050501,000250: 43,3404 51377 NDX SKEEP7
050502,000251: 43,3405 40001 CS 0001 # CS X+1
050503,000252: 43,3406 51377 NDX SKEEP7
050504,000253: 43,3407 60000 AD 0000 # AD X
050505,000254: 43,3410 03273 TC -1CHK
050506,000255: 43,3411 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
050507,000256: 43,3412 00006 EXTEND
050508,000257: 43,3413 13437 BZF ELOOPFIN # YES, EXIT ERASLOOP.
050509,000258: 43,3414 00006 EXTEND
050510,000259: 43,3415 51377 NDX SKEEP7
050511,000260: 43,3416 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
050512,000261: 43,3417 51377 NDX SKEEP7
050513,000262: 43,3420 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
050514,000263: 43,3421 51377 NDX SKEEP7
050515,000264: 43,3422 40000 CS 0000 # CS X
050516,000265: 43,3423 51377 NDX SKEEP7
050517,000266: 43,3424 60001 AD 0001 # AD X+1
050518,000267: 43,3425 03273 TC -1CHK
050519,000268: 43,3426 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
050520,000269: 43,3427 00006 EXTEND
050521,000270: 43,3430 13437 BZF ELOOPFIN # YES, EXIT ERASLOOP.
050522,000271: 43,3431 00006 EXTEND
050523,000272: 43,3432 31376 DCA SKEEP5
050524,000273: 43,3433 51377 NDX SKEEP7
050525,000274: 43,3434 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
050526,000275: 43,3435 35030 CA S+ZERO
050527,000276: 43,3436 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
050528,000277: 43,3437 00003 ELOOPFIN RELINT
050529,000278: 43,3440 03332 TC CHECKNJ # CHECK FOR NEW JOB
050530,000279: 43,3441 31374 CA SKEEP4 # REPLACES B(EBANK)
050531,000280: 43,3442 54003 TS EBANK
050532,000281: 43,3443 25377 INCR SKEEP7
050533,000282: 43,3444 41377 CS SKEEP7
050534,000283: 43,3445 61373 AD SKEEP3
050535,000284: 43,3446 00006 EXTEND
050536,000285: 43,3447 13451 BZF +2
050537,000286: 43,3450 03367 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
050538,000287: 43,3451 11372 CCS SKEEP2
050539,000288: 43,3452 03362 TC NOEBANK
050540,000289: 43,3453 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
050541,000290: 43,3454 30003 CA EBANK
050542,000291: 43,3455 65016 AD SBIT9
050543,000292: 43,3456 54003 TS EBANK
050544,000293: 43,3457 63243 AD ERASCON5 # 76777, CHECK FOR BANK E2
050545,000294: 43,3460 00006 EXTEND
050546,000295: 43,3461 13355 BZF 2EBANK
050547,000296: 43,3462 10003 CCS EBANK
050548,000297: 43,3463 03350 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
050549,000298: 43,3464 35057 CA ERASCON6 # END OF ERASCHK
050550,000299: 43,3465 54003 TS EBANK
050551,000300:
050552,000301: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
050553,000302: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
050554,000303:
050555,000304: 43,3466 35041 CNTRCHK CA CNTRCON # 00050
050556,000305: 43,3467 55372 CNTRLOOP TS SKEEP2
050557,000306: 43,3470 65023 AD SBIT4 # +10 OCTAL
050558,000307: 43,3471 50000 INDEX A
050559,000308: 43,3472 40000 CS 0000
050560,000309: 43,3473 11372 CCS SKEEP2
050561,000310: 43,3474 03467 TC CNTRLOOP
050562,000311:
050563,000312: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
050564,000313:
050565,000314: 43,3475 33241 CYCLSHFT CA CONC+S1 # 25252
050566,000315: 43,3476 54020 TS CYR # C(CYR) = 12525
050567,000316: 43,3477 54022 TS CYL # C(CYL) = 52524
050568,000317: 43,3500 54021 TS SR # C(SR) = 12525
050569,000318: 43,3501 54023 TS EDOP # C(EDOP) = 00125
050570,000319: 43,3502 60020 AD CYR # 37777 C(CYR) = 45252
050571,000320: 43,3503 60022 AD CYL # 00-12524 C(CYL) = 25251
050572,000321: 43,3504 60021 AD SR # 00-25251 C(SR) = 05252
050573,000322: 43,3505 60023 AD EDOP # 00-25376 C(EDOP) = +0
050574,000323: 43,3506 63242 AD CONC+S2 # C(CONC+S2) = 52400
050575,000324: 43,3507 03273 TC -1CHK
050576,000325: 43,3510 60020 AD CYR # 45252
050577,000326: 43,3511 60022 AD CYL # 72523
050578,000327: 43,3512 60021 AD SR # 77775
050579,000328: 43,3513 60023 AD EDOP # 77775
050580,000329: 43,3514 65026 AD S+1 # 77776
050581,000330: 43,3515 03273 TC -1CHK
050582,000331:
050583,000332: 43,3516 25367 INCR SCOUNT +1
050584,000333: 43,3517 03301 TC SMODECHK
050585,000334:
050586,000335: # SKEEP1 HOLDS SUM
050587,000336: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
050588,000337: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
050589,000338: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
050590,000339: # (04000 TO 07777 IN FXFX BANKS)
050591,000340: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
050592,000341: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
050593,000342: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
050594,000343: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
050595,000344: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
050596,000345:
050597,000346: 43,3520 35027 ROPECHK CA S-ZERO # *
050598,000347: 43,3521 55376 TS SKEEP6 # * -0 FOR ROPECHK.
050599,000348: 43,3522 35030 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
050600,000349:
050601,000350: 43,3523 55374 TS SKEEP4 # BANK NUMBER
050602,000351: 43,3524 35026 CA S+1
050603,000352: 43,3525 55377 COMMFX TS SKEEP7
050604,000353: 43,3526 35030 CA S+ZERO
050605,000354: 43,3527 55371 TS SKEEP1
050606,000355: 43,3530 55373 TS SKEEP3
050607,000356: 43,3531 35026 CA S+1
050608,000357: 43,3532 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
050609,000358: 43,3533 31374 COMADRS CA SKEEP4
050610,000359: 43,3534 54001 TS L # TO SET SUPER BANK
050611,000360: 43,3535 74362 MASK HI5
050612,000361: 43,3536 61373 AD SKEEP3
050613,000362: 43,3537 04714 TC SUPDACAL # SUPER DATA CALL
050614,000363: 43,3540 03563 TC ADSUM
050615,000364: 43,3541 65014 AD SBIT11 # 02000
050616,000365: 43,3542 03574 TC ADRSCHK
050617,000366:
050618,000367: 43,3543 40000 FXFX CS A
050619,000368: 43,3544 55377 TS SKEEP7
050620,000369: 43,3545 00006 EXTEND
050621,000370: 43,3546 13551 BZF +3
050622,000371: 43,3547 35013 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
050623,000372: 43,3550 03552 TC +2
050624,000373: 43,3551 35070 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
050625,000374: 43,3552 55373 TS SKEEP3
050626,000375: 43,3553 35030 CA S+ZERO
050627,000376: 43,3554 55371 TS SKEEP1
050628,000377: 43,3555 35026 CA S+1
050629,000378: 43,3556 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
050630,000379: 43,3557 51373 FXADRS INDEX SKEEP3
050631,000380: 43,3560 30000 CA 0000
050632,000381: 43,3561 03563 TC ADSUM
050633,000382: 43,3562 03574 TC ADRSCHK
050634,000383:
050635,000384: 43,3563 55372 ADSUM TS SKEEP2
050636,000385: 43,3564 61371 AD SKEEP1
050637,000386: 43,3565 55371 TS SKEEP1
050638,000387: 43,3566 35030 CAF S+ZERO
050639,000388: 43,3567 61371 AD SKEEP1
050640,000389: 43,3570 55371 TS SKEEP1
050641,000390: 43,3571 41372 CS SKEEP2
050642,000391: 43,3572 61373 AD SKEEP3
050643,000392: 43,3573 00002 TC Q
050644,000393:
050645,000394: 43,3574 22000 ADRSCHK LXCH A
050646,000395: 43,3575 31373 CA SKEEP3
050647,000396: 43,3576 75062 MASK LOW10 # RELATIVE ADDRESS
050648,000397: 43,3577 64362 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
050649,000398: 43,3600 00006 EXTEND
050650,000399: 43,3601 13670 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
050651,000400: 43,3602 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
050652,000401: 43,3603 03606 TC +3 # NO
050653,000402: 43,3604 03606 TC +2 # NO
050654,000403: 43,3605 03670 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
050655,000404: 43,3606 10001 CCS L # -0 MEANS A TC SELF WORD.
050656,000405: 43,3607 03616 TC CONTINU
050657,000406: 43,3610 03616 TC CONTINU
050658,000407: 43,3611 03616 TC CONTINU
050659,000408: 43,3612 11375 CCS SKEEP5
050660,000409: 43,3613 03617 TC CONTINU +1
050661,000410: 43,3614 37721 CA S-1
050662,000411: 43,3615 03617 TC CONTINU +1 # AD IN THE BUGGER WORD
050663,000412: 43,3616 35026 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
050664,000413: 43,3617 55375 TS SKEEP5
050665,000414: 43,3620 11376 CCS SKEEP6 # *
050666,000415: 43,3621 10067 CCS NEWJOB # * +1, SHOWSUM
050667,000416: 43,3622 05172 TC CHANG1 # *
050668,000417: 43,3623 03625 TC +2 # *
050669,000418: 43,3624 03332 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
050670,000419:
050671,000420: 43,3625 25373 ADRS+1 INCR SKEEP3
050672,000421: 43,3626 11377 CCS SKEEP7
050673,000422: 43,3627 03533 TC COMADRS
050674,000423: 43,3630 03533 TC COMADRS
050675,000424: 43,3631 03557 TC FXADRS
050676,000425: 43,3632 03557 TC FXADRS
050677,000426:
050678,000427: 43,3633 41374 NXTBNK CS SKEEP4
050679,000428: 43,3634 63723 AD LSTBNKCH # LAST BANK TO BE CHECKED
050680,000429: 43,3635 00006 EXTEND
050681,000430: 43,3636 13145 BZF ENDSUMS # END OF SUMMING OF BANKS.
050682,000431: 43,3637 31374 CA SKEEP4
050683,000432: 43,3640 65014 AD SBIT11
050684,000433: 43,3641 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
050685,000434: 43,3642 03646 TC CHKSUPR
050686,000435: 43,3643 35010 17TO20 CA SBIT15
050687,000436: 43,3644 27374 ADS SKEEP4 # SET FOR BANK 20
050688,000437: 43,3645 03662 TC GONXTBNK
050689,000438: 43,3646 74362 CHKSUPR MASK HI5
050690,000439: 43,3647 00006 EXTEND
050691,000440: 43,3650 13660 BZF NXTSUPR # INCREMENT SUPER BANK
050692,000441: 43,3651 63240 27TO30 AD S13BITS
050693,000442: 43,3652 00006 EXTEND
050694,000443: 43,3653 13655 BZF +2 # BANK SET FOR 30
050695,000444: 43,3654 03662 TC GONXTBNK
050696,000445: 43,3655 33236 CA SIXTY # FIRST SUPER BANK
050697,000446: 43,3656 27374 ADS SKEEP4
050698,000447: 43,3657 03662 TC GONXTBNK
050699,000448: 43,3660 63237 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
050700,000449: 43,3661 27374 ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
050701,000450: 43,3662 11377 GONXTBNK CCS SKEEP7
050702,000451: 43,3663 03525 TC COMMFX
050703,000452: 43,3664 35026 CA S+1
050704,000453: 43,3665 03543 TC FXFX
050705,000454: 43,3666 35020 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
050706,000455: 43,3667 03525 TC COMMFX
050707,000456:
050708,000457: 43,3670 31374 SOPTION CA SKEEP4
050709,000458: 43,3671 74362 MASK HI5 # = BANK BITS
050710,000459: 43,3672 04343 TC LEFT5
050711,000460: 43,3673 54001 TS L # BANK NUMBER BEFORE SUPER BANK
050712,000461: 43,3674 31374 CA SKEEP4
050713,000462: 43,3675 74371 MASK S8BITS # = SUPER BANK BITS
050714,000463: 43,3676 00006 EXTEND
050715,000464: 43,3677 13705 BZF SOPT # BEFORE SUPER BANK
050716,000465: 43,3700 54021 TS SR # SUPER BANK NECESSARY
050717,000466: 43,3701 30001 CA L
050718,000467: 43,3702 75032 MASK SEVEN
050719,000468: 43,3703 60021 AD SR
050720,000469: 43,3704 54001 TS L # BANK NUMBER WITH SUPER BANK
050721,000470: 43,3705 31376 SOPT CA SKEEP6 # *
050722,000471: 43,3706 00006 EXTEND # *
050723,000472: 43,3707 13711 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
050724,000473: 43,3710 03127 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
050725,000474: 43,3711 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
050726,000475: 43,3712 03714 TC +2
050727,000476: 43,3713 03715 TC +2
050728,000477: 43,3714 65026 AD S+1
050729,000478: 43,3715 55371 TS SKEEP1
050730,000479: 43,3716 40001 BNKCHK CS L # = - BANK NUMBER
050731,000480: 43,3717 61371 AD SKEEP1
050732,000481: 43,3720 67721 AD S-1
050733,000482: 43,3721 03273 TC -1CHK # CHECK SUM
050734,000483: 43,3722 03633 TC NXTBNK
050735,000484:
050736,000485: 43,3723 0067 EBANK= NEWJOB
050737,000486: 43,3723 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
050738,000487:
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc