Source Code
053049,000001: # Copyright: Public domain.
053050,000002: # Filename: AGC_BLOCK_TWO_SELF_CHECK.agc
053051,000003: # Purpose: A section of Luminary 1C, revision 131.
053052,000004: # It is part of the source code for the Lunar Module's (LM)
053053,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14.
053054,000006: # This file is intended to be a faithful transcription, except
053055,000007: # that the code format has been changed to conform to the
053056,000008: # requirements of the yaYUL assembler rather than the
053057,000009: # original YUL assembler.
053058,000010: # Reference: pp. 1281-1290 of 1729.pdf.
053059,000011: # Contact: Ron Burkey <info@sandroid.org>.
053060,000012: # Website: www.ibiblio.org/apollo/index.html
053061,000013: # Mod history: 06/05/03 RSB. Began transcribing.
053062,000014: # 05/14/05 RSB Corrected website reference above.
053063,000015:
053064,000016: # Page 1281
053065,000017: # PROGRAM DESCRIPTION DATE: 20 DECEMBER 1967
053066,000018: # PROGRAM NAME -- SELF-CHECK LOG SECTION: AGC BLOCK TWO SELF-CHECK
053067,000019: # MOD NO -- 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
053068,000020: # MOD BY -- GAUNTT
053069,000021:
053070,000022: # FUNCTIONAL DESCRIPTION
053071,000023: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
053072,000024: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
053073,000025: # STARTING VERB.
053074,000026:
053075,000027: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
053076,000028:
053077,000029: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME.
053078,000030:
053079,000031: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
053080,000032: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
053081,000033:
053082,000034: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
053083,000035: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
053084,000036: # OCTAL, TO LOAD INTO SMODE.
053085,000037: # +-4 ERASABLE MEMORY
053086,000038: # +-5 FIXED MEMORY
053087,000039: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
053088,000040: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
053089,000041: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
053090,000042:
053091,000043: # WARNINGS
053092,000044: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
053093,000045: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
053094,000046:
053095,000047: # CALLING SEQUENCE
053096,000048: # TO CALL SELF-CHECK KEY IN
053097,000049: # V 21 N 27 E OPTION NUMBER E
053098,000050: # TO CALL SHOW-BANKSUM KEY IN
053099,000051: # V 91 E DISPLAYS FIRST BANK
053100,000052: # V 33 E PROCEED, DISPLAYS NEXT BANK
053101,000053:
053102,000054: # EXIT MODES, NORMAL AND ALARM
053103,000055: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
053104,000056: # COMPUTER INTO BACKUP IDLE LOOP, - OPTIONS NUMBERS RESTART THE OPTION.
053105,000057:
053106,000058: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
053107,000059:
053108,000060: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP.
053109,000061:
053110,000062: # OUTPUT
053111,000063: # Page 1282
053112,000064: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
053113,000065: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
053114,000066: # 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,
053115,000067: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
053116,000068: # INITIATED FRESH START (SLAP1).
053117,000069:
053118,000070: # SHOW-BANKSUM STARTING WTIH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
053119,000071: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
053120,000072:
053121,000073: # ERASABLE INITIALIZATION REQUIRED
053122,000074: # ACCOMPLISHED BY FRESH START
053123,000075: # SMODE SET TO +0
053124,000076:
053125,000077: # DEBRIS
053126,000078: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
053127,000079: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
053128,000080: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
053129,000081:
053130,000082: 25,3757 BANK 25
053131,000083: 43,2000 SETLOC SELFCHEC
053132,000084: 43,2000 BANK
053133,000085:
053134,000086: 43,3257 COUNT* $$/SELF
053135,000087: 43,3257 4753 SBIT1 EQUALS BIT1
053136,000088: 43,3257 4752 SBIT2 EQUALS BIT2
053137,000089: 43,3257 4751 SBIT3 EQUALS BIT3
053138,000090: 43,3257 4750 SBIT4 EQUALS BIT4
053139,000091: 43,3257 4747 SBIT5 EQUALS BIT5
053140,000092: 43,3257 4746 SBIT6 EQUALS BIT6
053141,000093: 43,3257 4745 SBIT7 EQUALS BIT7
053142,000094: 43,3257 4744 SBIT8 EQUALS BIT8
053143,000095: 43,3257 4743 SBIT9 EQUALS BIT9
053144,000096: 43,3257 4742 SBIT10 EQUALS BIT10
053145,000097: 43,3257 4741 SBIT11 EQUALS BIT11
053146,000098: 43,3257 4740 SBIT12 EQUALS BIT12
053147,000099: 43,3257 4737 SBIT13 EQUALS BIT13
053148,000100: 43,3257 4736 SBIT14 EQUALS BIT14
053149,000101: 43,3257 4735 SBIT15 EQUALS BIT15
053150,000102:
053151,000103: 43,3257 4755 S+ZERO EQUALS ZERO
053152,000104: 43,3257 4753 S+1 EQUALS BIT1
053153,000105: 43,3257 4752 S+2 EQUALS BIT2
053154,000106: 43,3257 6250 S+3 EQUALS THREE
053155,000107: 43,3257 4751 S+4 EQUALS FOUR
053156,000108: 43,3257 4756 S+5 EQUALS FIVE
053157,000109: 43,3257 6245 S+6 EQUALS SIX
053158,000110: # Page 1283
053159,000111: 43,3257 4757 S+7 EQUALS SEVEN
053160,000112: 43,3257 4357 S8BITS EQUALS LOW8 # 00377
053161,000113: 43,3257 4771 CNTRCON = OCT50 # USED IN CNTRCHK
053162,000114: 43,3257 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
053163,000115: 43,3260 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
053164,000116: 43,3261 5007 ERASCON6 = OCT1400 # USED IN ERASCHK
053165,000117: 43,3261 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
053166,000118: 43,3262 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
053167,000119: 43,3263 5012 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
053168,000120: 43,3263 5020 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
053169,000121: 43,3263 4350 -MAXADRS = HI5 # FOR ROPECHK
053170,000122: 43,3263 00060 SIXTY OCTAL 00060
053171,000123: 43,3264 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
053172,000124: 43,3265 17777 S13BITS OCTAL 17777
053173,000125: 43,3266 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
053174,000126: 43,3267 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
053175,000127: 43,3270 76777 ERASCON5 OCTAL 76777
053176,000128: 43,3271 5650 S-7 = OCT77770
053177,000129: 43,3271 6115 S-4 EQUALS NEG4
053178,000130: 43,3271 7750 S-3 EQUALS NEG3
053179,000131: 43,3271 7751 S-2 EQUALS NEG2
053180,000132: 43,3271 7752 S-1 EQUALS NEGONE
053181,000133: 43,3271 4754 S-ZERO EQUALS NEG0
053182,000134:
053183,000135: 43,3271 E3,1400 EBANK= LST1
053184,000136: 43,3271 01371 ADRS1 ADRES SKEEP1
053185,000137: 43,3272 03363 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
053186,000138: # IN SELFRET WHEN GOING FROM SELFCHK TO
053187,000139: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
053188,000140: # FROM SHOWSUM TO SELF-CHECK.
053189,000141:
053190,000142: 43,3273 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
053191,000143: 43,3274 00006 EXTEND
053192,000144: 43,3275 13304 BZF ERRORS # NO
053193,000145: 43,3276 00006 EXTEND
053194,000146: 43,3277 31376 DCA SKEEP5
053195,000147: 43,3300 51377 INDEX SKEEP7
053196,000148: 43,3301 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
053197,000149: 43,3302 34755 CA S+ZERO
053198,000150: 43,3303 55360 TS ERESTORE
053199,000151: 43,3304 00004 ERRORS INHINT
053200,000152: 43,3305 30002 CA Q
053201,000153: 43,3306 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
053202,000154: 43,3307 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
053203,000155: 43,3310 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
053204,000156: 43,3311 05571 TCALARM2 TC ALARM2
053205,000157: 43,3312 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
053206,000158: 43,3313 11362 CCS SMODE
053207,000159: 43,3314 34755 SIDLOOP CA S+ZERO
053208,000160: 43,3315 55362 TS SMODE
053209,000161: # Page 1284
053210,000162: 43,3316 03363 TC SELFCHK # GO TO IDLE LOOP
053211,000163: 43,3317 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
053212,000164:
053213,000165: 43,3320 10000 -1CHK CCS A
053214,000166: 43,3321 13273 TCF PRERRORS
053215,000167: 43,3322 13273 TCF PRERRORS
053216,000168: 43,3323 10000 CCS A
053217,000169: 43,3324 13273 TCF PRERRORS
053218,000170: 43,3325 00002 TC Q
053219,000171:
053220,000172: 43,3326 00006 SMODECHK EXTEND
053221,000173: 43,3327 23371 QXCH SKEEP1
053222,000174: 43,3330 03357 TC CHECKNJ # CHECK FOR NEW JOB
053223,000175: 43,3331 11362 CCS SMODE
053224,000176: 43,3332 03337 TC SOPTIONS
053225,000177: 43,3333 03330 TC SMODECHK +2 # TO BACKUP IDLE LOOP
053226,000178: 43,3334 03337 TC SOPTIONS
053227,000179: 43,3335 25366 INCR SCOUNT
053228,000180: 43,3336 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
053229,000181:
053230,000182: 43,3337 65650 SOPTIONS AD S-7
053231,000183: 43,3340 00006 EXTEND
053232,000184: 43,3341 63343 BZMF +2 # FOR OPTIONS BELOW NINE.
053233,000185: 43,3342 03314 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
053234,000186: 43,3343 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
053235,000187: 43,3344 64757 AD S+7
053236,000188:
053237,000189: 43,3345 50000 INDEX A
053238,000190: 43,3346 03347 TC SOPTION1
053239,000191: 43,3347 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
053240,000192: 43,3350 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
053241,000193: 43,3351 01371 SOPTION3 TC SKEEP1
053242,000194: 43,3352 03364 SOPTION4 TC ERASCHK
053243,000195: 43,3353 03545 SOPTION5 TC ROPECHK
053244,000196: 43,3354 01371 SOPTION6 TC SKEEP1
053245,000197: 43,3355 01371 SOPTION7 TC SKEEP1
053246,000198: 43,3356 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
053247,000199:
053248,000200: 43,3357 00006 CHECKNJ EXTEND
053249,000201: 43,3360 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
053250,000202: 43,3361 04635 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
053251,000203: 43,3362 03215 CADR ADVAN
053252,000204:
053253,000205: 43,3363 03326 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
053254,000206:
053255,000207: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
053256,000208: # SKEEP6 HOLDS B(X+1).
053257,000209: # SKEEP5 HOLDS B(X).
053258,000210: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ
053259,000211: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
053260,000212: # Page 1285
053261,000213: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
053262,000214:
053263,000215: # ERASCHK TAKES APPROXIMATELY 7 SECONDS.
053264,000216:
053265,000217: 43,3364 34753 ERASCHK CA S+1
053266,000218: 43,3365 55372 TS SKEEP2
053267,000219: 43,3366 34755 0EBANK CA S+ZERO
053268,000220: 43,3367 54003 TS EBANK
053269,000221: 43,3370 33261 CA ERASCON3 # 01461
053270,000222: 43,3371 55377 TS SKEEP7 # STARTING ADDRESS
053271,000223: 43,3372 35012 CA S10BITS # 01777
053272,000224: 43,3373 55373 TS SKEEP3 # LAST ADDRESS CHECKED
053273,000225: 43,3374 03414 TC ERASLOOP
053274,000226:
053275,000227: 43,3375 35007 E134567B CA ERASCON6 # 01400
053276,000228: 43,3376 55377 TS SKEEP7 # STARTING ADDRESS
053277,000229: 43,3377 35012 CA S10BITS # 01777
053278,000230: 43,3400 55373 TS SKEEP3 # LAST ADDRESS CHECKED
053279,000231: 43,3401 03414 TC ERASLOOP
053280,000232:
053281,000233: 43,3402 35007 2EBANK CA ERASCON6 # 01400
053282,000234: 43,3403 55377 TS SKEEP7 # STARTING ADDRESS
053283,000235: 43,3404 33262 CA ERASCON4 # 01773
053284,000236: 43,3405 55373 TS SKEEP3 # LAST ADDRESS CHECKED
053285,000237: 43,3406 03414 TC ERASLOOP
053286,000238:
053287,000239: 43,3407 55372 NOEBANK TS SKEEP2 # +0
053288,000240: 43,3410 33257 CA ERASCON1 # 00061
053289,000241: 43,3411 55377 TS SKEEP7 # STARTING ADDRESS
053290,000242: 43,3412 33260 CA ERASCON2 # 01373
053291,000243: 43,3413 55373 TS SKEEP3 # LAST ADDRESS CHECKED
053292,000244:
053293,000245: 43,3414 00004 ERASLOOP INHINT
053294,000246: 43,3415 30003 CA EBANK # STORES C(EBANK)
053295,000247: 43,3416 55374 TS SKEEP4
053296,000248: 43,3417 00006 EXTEND
053297,000249: 43,3420 51377 NDX SKEEP7
053298,000250: 43,3421 30001 DCA 0000
053299,000251: 43,3422 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
053300,000252: 43,3423 31377 CA SKEEP7
053301,000253: 43,3424 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
053302,000254: 43,3425 54001 TS L
053303,000255: 43,3426 24001 INCR L
053304,000256: 43,3427 50000 NDX A
053305,000257: 43,3430 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
053306,000258: 43,3431 51377 NDX SKEEP7
053307,000259: 43,3432 40001 CS 0001 # CS X+1
053308,000260: 43,3433 51377 NDX SKEEP7
053309,000261: 43,3434 60000 AD 0000 # AD X
053310,000262: 43,3435 03320 TC -1CHK
053311,000263: 43,3436 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
053312,000264: 43,3437 00006 EXTEND
053313,000265: # Page 1286
053314,000266: 43,3440 13464 BZF ELOOPFIN # YES, EXIT ERASLOOP.
053315,000267: 43,3441 00006 EXTEND
053316,000268: 43,3442 51377 NDX SKEEP7
053317,000269: 43,3443 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
053318,000270: 43,3444 51377 NDX SKEEP7
053319,000271: 43,3445 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
053320,000272: 43,3446 51377 NDX SKEEP7
053321,000273: 43,3447 40000 CS 0000 # CS X
053322,000274: 43,3450 51377 NDX SKEEP7
053323,000275: 43,3451 60001 AD 0001 # AD X+1
053324,000276: 43,3452 03320 TC -1CHK
053325,000277: 43,3453 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
053326,000278: 43,3454 00006 EXTEND
053327,000279: 43,3455 13464 BZF ELOOPFIN # YES, EXIT ERASLOOP.
053328,000280: 43,3456 00006 EXTEND
053329,000281: 43,3457 31376 DCA SKEEP5
053330,000282: 43,3460 51377 NDX SKEEP7
053331,000283: 43,3461 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
053332,000284: 43,3462 34755 CA S+ZERO
053333,000285: 43,3463 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
053334,000286: 43,3464 00003 ELOOPFIN RELINT
053335,000287: 43,3465 03357 TC CHECKNJ # CHECK FOR NEW JOB
053336,000288: 43,3466 31374 CA SKEEP4 # REPLACES B(EBANK)
053337,000289: 43,3467 54003 TS EBANK
053338,000290: 43,3470 25377 INCR SKEEP7
053339,000291: 43,3471 41377 CS SKEEP7
053340,000292: 43,3472 61373 AD SKEEP3
053341,000293: 43,3473 00006 EXTEND
053342,000294: 43,3474 13476 BZF +2
053343,000295: 43,3475 03414 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
053344,000296: 43,3476 11372 CCS SKEEP2
053345,000297: 43,3477 03407 TC NOEBANK
053346,000298: 43,3500 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
053347,000299: 43,3501 30003 CA EBANK
053348,000300: 43,3502 64743 AD SBIT9
053349,000301: 43,3503 54003 TS EBANK
053350,000302: 43,3504 63270 AD ERASCON5 # 76777, CHECK FOR BANK E2
053351,000303: 43,3505 00006 EXTEND
053352,000304: 43,3506 13402 BZF 2EBANK
053353,000305: 43,3507 10003 CCS EBANK
053354,000306: 43,3510 03375 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
053355,000307: 43,3511 35007 CA ERASCON6 # END OF ERASCHK
053356,000308: 43,3512 54003 TS EBANK
053357,000309:
053358,000310: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
053359,000311: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
053360,000312:
053361,000313: 43,3513 34771 CNTRCHK CA CNTRCON # 00050
053362,000314: 43,3514 55372 CNTRLOOP TS SKEEP2
053363,000315: 43,3515 64750 AD SBIT4 # +10 OCTAL
053364,000316: 43,3516 50000 INDEX A
053365,000317: 43,3517 40000 CS 0000
053366,000318: # Page 1287
053367,000319: 43,3520 11372 CCS SKEEP2
053368,000320: 43,3521 03514 TC CNTRLOOP
053369,000321:
053370,000322: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
053371,000323:
053372,000324: 43,3522 33266 CYCLSHFT CA CONC+S1 # 25252
053373,000325: 43,3523 54020 TS CYR # C(CYR) = 12525
053374,000326: 43,3524 54022 TS CYL # C(CYL) = 52524
053375,000327: 43,3525 54021 TS SR # C(SR) = 12525
053376,000328: 43,3526 54023 TS EDOP # C(EDOP) = 00125
053377,000329: 43,3527 60020 AD CYR # 37777 C(CYR) = 45252
053378,000330: 43,3530 60022 AD CYL # 00-12524 C(CYL) = 25251
053379,000331: 43,3531 60021 AD SR # 00-25251 C(SR) = 05252
053380,000332: 43,3532 60023 AD EDOP # 00-25376 C(EDOP) = +0
053381,000333: 43,3533 63267 AD CONC+S2 # C(CONC+S2) = 52400
053382,000334: 43,3534 03320 TC -1CHK
053383,000335: 43,3535 60020 AD CYR # 45252
053384,000336: 43,3536 60022 AD CYL # 72523
053385,000337: 43,3537 60021 AD SR # 77775
053386,000338: 43,3540 60023 AD EDOP # 77775
053387,000339: 43,3541 64753 AD S+1 # 77776
053388,000340: 43,3542 03320 TC -1CHK
053389,000341:
053390,000342: 43,3543 25367 INCR SCOUNT +1
053391,000343: 43,3544 03326 TC SMODECHK
053392,000344:
053393,000345: # SKEEP1 HOLDS SUM
053394,000346: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
053395,000347: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
053396,000348: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
053397,000349: # (04000 TO 07777 IN FXFX BANKS)
053398,000350: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
053399,000351: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
053400,000352: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
053401,000353: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
053402,000354: # SKEEP7 CONTROLS WHEN ROUTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
053403,000355:
053404,000356: 43,3545 34754 ROPECHK CA S-ZERO # *
053405,000357: 43,3546 55376 TS SKEEP6 # * -0 FOR ROPECHK
053406,000358: 43,3547 34755 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
053407,000359:
053408,000360: 43,3550 55374 TS SKEEP4 # BANK NUMBER
053409,000361: 43,3551 34753 CA S+1
053410,000362: 43,3552 55377 COMMFX TS SKEEP7
053411,000363: 43,3553 34755 CA S+ZERO
053412,000364: 43,3554 55371 TS SKEEP1
053413,000365: 43,3555 55373 TS SKEEP3
053414,000366: 43,3556 34753 CA S+1
053415,000367: 43,3557 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
053416,000368: 43,3560 31374 COMADRS CA SKEEP4
053417,000369: 43,3561 54001 TS L # TO SET SUPER BANK
053418,000370: 43,3562 74350 MASK HI5
053419,000371: # Page 1288
053420,000372: 43,3563 61373 AD SKEEP3
053421,000373: 43,3564 04651 TC SUPDACAL # SUPER DATA CALL
053422,000374: 43,3565 03610 TC ADSUM
053423,000375: 43,3566 64741 AD SBIT11 # 02000
053424,000376: 43,3567 03621 TC ADRSCHK
053425,000377:
053426,000378: 43,3570 40000 FXFX CS A
053427,000379: 43,3571 55377 TS SKEEP7
053428,000380: 43,3572 00006 EXTEND
053429,000381: 43,3573 13576 BZF +3
053430,000382: 43,3574 34740 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
053431,000383: 43,3575 03577 TC +2
053432,000384: 43,3576 35020 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
053433,000385: 43,3577 55373 TS SKEEP3
053434,000386: 43,3600 34755 CA S+ZERO
053435,000387: 43,3601 55371 TS SKEEP1
053436,000388: 43,3602 34753 CA S+1
053437,000389: 43,3603 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
053438,000390: 43,3604 51373 FXADRS INDEX SKEEP3
053439,000391: 43,3605 30000 CA 0000
053440,000392: 43,3606 03610 TC ADSUM
053441,000393: 43,3607 03621 TC ADRSCHK
053442,000394:
053443,000395: 43,3610 55372 ADSUM TS SKEEP2
053444,000396: 43,3611 61371 AD SKEEP1
053445,000397: 43,3612 55371 TS SKEEP1
053446,000398: 43,3613 34755 CAF S+ZERO
053447,000399: 43,3614 61371 AD SKEEP1
053448,000400: 43,3615 55371 TS SKEEP1
053449,000401: 43,3616 41372 CS SKEEP2
053450,000402: 43,3617 61373 AD SKEEP3
053451,000403: 43,3620 00002 TC Q
053452,000404:
053453,000405: 43,3621 22000 ADRSCHK LXCH A
053454,000406: 43,3622 31373 CA SKEEP3
053455,000407: 43,3623 75012 MASK LOW10 # RELATIVE ADDRESS
053456,000408: 43,3624 64350 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
053457,000409: 43,3625 00006 EXTEND
053458,000410: 43,3626 13715 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
053459,000411: 43,3627 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
053460,000412: 43,3630 03633 TC +3 # NO
053461,000413: 43,3631 03633 TC +2 # NO
053462,000414: 43,3632 03715 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
053463,000415: 43,3633 10001 CCS L # -0 MEANS A TC SELF WORD.
053464,000416: 43,3634 03643 TC CONTINU
053465,000417: 43,3635 03643 TC CONTINU
053466,000418: 43,3636 03643 TC CONTINU
053467,000419: 43,3637 11375 CCS SKEEP5
053468,000420: 43,3640 03644 TC CONTINU +1
053469,000421: 43,3641 37752 CA S-1
053470,000422: # Page 1289
053471,000423: 43,3642 03644 TC CONTINU +1 # AD IN THE BUGGER WORD
053472,000424: 43,3643 34753 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
053473,000425: 43,3644 55375 TS SKEEP5
053474,000426: 43,3645 11376 CCS SKEEP6 # *
053475,000427: 43,3646 10067 CCS NEWJOB # * +1, SHOWSUM
053476,000428: 43,3647 05122 TC CHANG1 # *
053477,000429: 43,3650 03652 TC +2 # *
053478,000430: 43,3651 03357 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
053479,000431:
053480,000432: 43,3652 25373 ADRS+1 INCR SKEEP3
053481,000433: 43,3653 11377 CCS SKEEP7
053482,000434: 43,3654 03560 TC COMADRS
053483,000435: 43,3655 03560 TC COMADRS
053484,000436: 43,3656 03604 TC FXADRS
053485,000437: 43,3657 03604 TC FXADRS
053486,000438:
053487,000439: 43,3660 41374 NXTBNK CS SKEEP4
053488,000440: 43,3661 63750 AD LSTBNKCH # LAST BANK TO BE CHECKED
053489,000441: 43,3662 00006 EXTEND
053490,000442: 43,3663 13152 BZF ENDSUMS # END OF SUMMING OF BANKS.
053491,000443: 43,3664 31374 CA SKEEP4
053492,000444: 43,3665 64741 AD SBIT11
053493,000445: 43,3666 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
053494,000446: 43,3667 03673 TC CHKSUPR
053495,000447: 43,3670 34735 17TO20 CA SBIT15
053496,000448: 43,3671 27374 ADS SKEEP4 # SET FOR BANK 20
053497,000449: 43,3672 03707 TC GONXTBNK
053498,000450: 43,3673 74350 CHKSUPR MASK HI5
053499,000451: 43,3674 00006 EXTEND
053500,000452: 43,3675 13705 BZF NXTSUPR # INCREMENT SUPER BANK
053501,000453: 43,3676 63265 27TO30 AD S13BITS
053502,000454: 43,3677 00006 EXTEND
053503,000455: 43,3700 13702 BZF +2 # BANK SET FOR 30
053504,000456: 43,3701 03707 TC GONXTBNK
053505,000457: 43,3702 33263 CA SIXTY # FIRST SUPER BANK
053506,000458: 43,3703 27374 ADS SKEEP4
053507,000459: 43,3704 03707 TC GONXTBNK
053508,000460: 43,3705 63264 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
053509,000461: 43,3706 27374 ADS SKEEP4 # ERC BIT OF TEH 37 TO 40 ADVANCE.
053510,000462: 43,3707 11377 GONXTBNK CCS SKEEP7
053511,000463: 43,3710 03552 TC COMMFX
053512,000464: 43,3711 34753 CA S+1
053513,000465: 43,3712 03570 TC FXFX
053514,000466: 43,3713 34745 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
053515,000467: 43,3714 03552 TC COMMFX
053516,000468:
053517,000469: 43,3715 31374 SOPTION CA SKEEP4
053518,000470: 43,3716 74350 MASK HI5 # = BANK BITS
053519,000471: 43,3717 04331 TC LEFT5
053520,000472: 43,3720 54001 TS L # BANK NUMBER BEFORE SUPER BANK
053521,000473: # Page 1290
053522,000474: 43,3721 31374 CA SKEEP4
053523,000475: 43,3722 74357 MASK S8BITS # = SUPER BANK BITS
053524,000476: 43,3723 00006 EXTEND
053525,000477: 43,3724 13732 BZF SOPT # BEFORE SUPER BANK
053526,000478: 43,3725 54021 TS SR # SUPER BANK NECESSARY
053527,000479: 43,3726 30001 CA L
053528,000480: 43,3727 74757 MASK SEVEN
053529,000481: 43,3730 60021 AD SR
053530,000482: 43,3731 54001 TS L # BANK NUMBER WITH SUPER BANK
053531,000483: 43,3732 31376 SOPT CA SKEEP6 # *
053532,000484: 43,3733 00006 EXTEND # *
053533,000485: 43,3734 13736 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
053534,000486: 43,3735 03134 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
053535,000487: 43,3736 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
053536,000488: 43,3737 03741 TC +2
053537,000489: 43,3740 03742 TC +2
053538,000490: 43,3741 64753 AD S+1
053539,000491: 43,3742 55371 TS SKEEP1
053540,000492: 43,3743 40001 BNKCHK CS L # = - BANK NUMBER
053541,000493: 43,3744 61371 AD SKEEP1
053542,000494: 43,3745 67752 AD S-1
053543,000495: 43,3746 03320 TC -1CHK # CHECK SUM
053544,000496: 43,3747 03660 TC NXTBNK
053545,000497:
053546,000498: 43,3750 0067 EBANK= NEWJOB
053547,000499: 43,3750 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
053548,000500:
End of include-file AGC_BLOCK_TWO_SELF_CHECK.agc. Parent file is MAIN.agc