Source Code
|
These source-code files are part of a reconstructed copy of Luminary 178, the
final release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Zerlina 56, Luminary 210, and Luminary 131, previously transcribed from digitized copies of those programs. The code was created by combining the three, using Zerlina 56 as a base, since it was based off of Luminary 183. The differences between the three were carefully merged using the Luminary memos as a guide, with all changes made after Luminary 178 being backed out. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 178 listing would be different. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
054401,000002: ## Copyright: Public domain.
054402,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
054403,000004: ## Purpose: A section of Luminary revision 178.
054404,000005: ## It is part of the reconstructed source code for the final
054405,000006: ## release of the flight software for the Lunar Module's
054406,000007: ## (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
054407,000008: ## code has been recreated from copies of Zerlina 56, Luminary
054408,000009: ## 210, and Luminary 131, as well as many Luminary memos.
054409,000010: ## It has been adapted such that the resulting bugger words
054410,000011: ## exactly match those specified for Luminary 178 in NASA
054411,000012: ## drawing 2021152N, which gives relatively high confidence
054412,000013: ## that the reconstruction is correct.
054413,000014: ## Reference: pp. 1273-1282
054414,000015: ## Assembler: yaYUL
054415,000016: ## Contact: Ron Burkey <info@sandroid.org>.
054416,000017: ## Website: www.ibiblio.org/apollo/index.html
054417,000018: ## Mod history: 2019-08-14 MAS Created from Zerlina 56.
054418,000019:
|
Page 1273 |
054420,000021: # PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
054421,000022: # PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
054422,000023: # MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
054423,000024: # MOD BY - GAUNTT
054424,000025:
054425,000026:
054426,000027: # FUNCTIONAL DESCRIPTION
054427,000028:
054428,000029: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
054429,000030: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
054430,000031: # STARTING VERB.
054431,000032: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
054432,000033: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK , ONE AT A TIME.
054433,000034: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
054434,000035: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
054435,000036: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
054436,000037: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
054437,000038: # OCTAL, TO LOAD INTO SMODE.
054438,000039: # +-4 ERASABLE MEMORY
054439,000040: # +-5 FIXED MEMORY
054440,000041: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
054441,000042: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
054442,000043: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
054443,000044:
054444,000045:
054445,000046: # WARNINGS
054446,000047:
054447,000048: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
054448,000049: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
054449,000050:
054450,000051:
054451,000052: # CALLING SEQUENCE
054452,000053:
054453,000054: # TO CALL SELF-CHECK KEY IN
054454,000055: # V 21 N 27 E OPTION NUMBER E
054455,000056: # TO CALL SHOW-BANKSUM KEY IN
054456,000057: # V 91 E DISPLAYS FIRST BANK
054457,000058: # V 33 E PROCEED, DISPLAYS NEXT BANK
054458,000059:
054459,000060:
054460,000061: # EXIT MODES, NORMAL AND ALARM
054461,000062:
054462,000063: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
054463,000064: # COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
054464,000065: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
054465,000066: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
054466,000067:
054467,000068:
054468,000069:
054469,000070: # OUTPUT
|
Page 1274 |
054471,000072: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
054472,000073: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
054473,000074: # 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,
054474,000075: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
054475,000076: # INITIATED FRESH START (SLAP1).
054476,000077: # SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
054477,000078: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
054478,000079:
054479,000080:
054480,000081: # ERASABLE INITIALIZATION REQUIRED
054481,000082:
054482,000083: # ACCOMPLISHED BY FRESH START
054483,000084: # SMODE SET TO +0
054484,000085:
054485,000086:
054486,000087: # DEBRIS
054487,000088:
054488,000089: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
054489,000090: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
054490,000091: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
054491,000092:
054492,000093: 25,3762 BANK 25
054493,000094: 43,2000 SETLOC SELFCHEC
054494,000095: 43,2000 BANK
054495,000096:
054496,000097: 43,3265 COUNT* $$/SELF
054497,000098: 43,3265 4753 SBIT1 EQUALS BIT1
054498,000099: 43,3265 4752 SBIT2 EQUALS BIT2
054499,000100: 43,3265 4751 SBIT3 EQUALS BIT3
054500,000101: 43,3265 4750 SBIT4 EQUALS BIT4
054501,000102: 43,3265 4747 SBIT5 EQUALS BIT5
054502,000103: 43,3265 4746 SBIT6 EQUALS BIT6
054503,000104: 43,3265 4745 SBIT7 EQUALS BIT7
054504,000105: 43,3265 4744 SBIT8 EQUALS BIT8
054505,000106: 43,3265 4743 SBIT9 EQUALS BIT9
054506,000107: 43,3265 4742 SBIT10 EQUALS BIT10
054507,000108: 43,3265 4741 SBIT11 EQUALS BIT11
054508,000109: 43,3265 4740 SBIT12 EQUALS BIT12
054509,000110: 43,3265 4737 SBIT13 EQUALS BIT13
054510,000111: 43,3265 4736 SBIT14 EQUALS BIT14
054511,000112: 43,3265 4735 SBIT15 EQUALS BIT15
054512,000113:
054513,000114: 43,3265 4755 S+ZERO EQUALS ZERO
054514,000115: 43,3265 4753 S+1 EQUALS BIT1
054515,000116: 43,3265 4752 S+2 EQUALS BIT2
054516,000117: 43,3265 6250 S+3 EQUALS THREE
054517,000118: 43,3265 4751 S+4 EQUALS FOUR
054518,000119: 43,3265 4756 S+5 EQUALS FIVE
054519,000120: 43,3265 6245 S+6 EQUALS SIX
|
Page 1275 |
054521,000122: 43,3265 4757 S+7 EQUALS SEVEN
054522,000123: 43,3265 4357 S8BITS EQUALS LOW8 # 00377
054523,000124: 43,3265 4771 CNTRCON = OCT50 # USED IN CNTRCHK
054524,000125: 43,3265 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
054525,000126: 43,3266 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
054526,000127: 43,3267 5007 ERASCON6 = OCT1400 # USED IN ERASCHK
054527,000128: 43,3267 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
054528,000129: 43,3270 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
054529,000130: 43,3271 5012 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
054530,000131: 43,3271 5020 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
054531,000132: 43,3271 4350 -MAXADRS = HI5 # FOR ROPECHK
054532,000133: 43,3271 00060 SIXTY OCTAL 00060
054533,000134: 43,3272 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
054534,000135: 43,3273 17777 S13BITS OCTAL 17777
054535,000136: 43,3274 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
054536,000137: 43,3275 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
054537,000138: 43,3276 76777 ERASCON5 OCTAL 76777
054538,000139: 43,3277 5661 S-7 = OCT77770
054539,000140: 43,3277 6115 S-4 EQUALS NEG4
054540,000141: 43,3277 7750 S-3 EQUALS NEG3
054541,000142: 43,3277 7751 S-2 EQUALS NEG2
054542,000143: 43,3277 7752 S-1 EQUALS NEGONE
054543,000144: 43,3277 4754 S-ZERO EQUALS NEG0
054544,000145:
054545,000146: 43,3277 E3,1400 EBANK= LST1
054546,000147: 43,3277 01371 ADRS1 ADRES SKEEP1
054547,000148: 43,3300 03371 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
054548,000149: # IN SELFRET WHEN GOING FROM SELFCHK TO
054549,000150: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
054550,000151: # FROM SHOWSUM TO SELF-CHECK.
054551,000152:
054552,000153: 43,3301 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
054553,000154: 43,3302 00006 EXTEND
054554,000155: 43,3303 13312 BZF ERRORS # NO
054555,000156: 43,3304 00006 EXTEND
054556,000157: 43,3305 31376 DCA SKEEP5
054557,000158: 43,3306 51377 INDEX SKEEP7
054558,000159: 43,3307 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
054559,000160: 43,3310 34755 CA S+ZERO
054560,000161: 43,3311 55360 TS ERESTORE
054561,000162: 43,3312 00004 ERRORS INHINT
054562,000163: 43,3313 30002 CA Q
054563,000164: 43,3314 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
054564,000165: 43,3315 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
054565,000166: 43,3316 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
054566,000167: 43,3317 05602 TCALARM2 TC ALARM2
054567,000168: 43,3320 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
054568,000169: 43,3321 11362 CCS SMODE
054569,000170: 43,3322 34755 SIDLOOP CA S+ZERO
054570,000171: 43,3323 55362 TS SMODE
|
Page 1276 |
054572,000173: 43,3324 03371 TC SELFCHK # GO TO IDLE LOOP
054573,000174: 43,3325 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
054574,000175:
054575,000176: 43,3326 10000 -1CHK CCS A
054576,000177: 43,3327 13301 TCF PRERRORS
054577,000178: 43,3330 13301 TCF PRERRORS
054578,000179: 43,3331 10000 CCS A
054579,000180: 43,3332 13301 TCF PRERRORS
054580,000181: 43,3333 00002 TC Q
054581,000182:
054582,000183: 43,3334 00006 SMODECHK EXTEND
054583,000184: 43,3335 23371 QXCH SKEEP1
054584,000185: 43,3336 03365 TC CHECKNJ # CHECK FOR NEW JOB
054585,000186: 43,3337 11362 CCS SMODE
054586,000187: 43,3340 03345 TC SOPTIONS
054587,000188: 43,3341 03336 TC SMODECHK +2 # TO BACKUP IDLE LOOP
054588,000189: 43,3342 03345 TC SOPTIONS
054589,000190: 43,3343 25366 INCR SCOUNT
054590,000191: 43,3344 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
054591,000192:
054592,000193: 43,3345 65661 SOPTIONS AD S-7
054593,000194: 43,3346 00006 EXTEND
054594,000195: 43,3347 63351 BZMF +2 # FOR OPTIONS BELOW NINE.
054595,000196: 43,3350 03322 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
054596,000197: 43,3351 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
054597,000198: 43,3352 64757 AD S+7
054598,000199:
054599,000200: 43,3353 50000 INDEX A
054600,000201: 43,3354 03355 TC SOPTION1
054601,000202: 43,3355 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
054602,000203: 43,3356 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
054603,000204: 43,3357 01371 SOPTION3 TC SKEEP1 # WAS COUNTCHK
054604,000205: 43,3360 03372 SOPTION4 TC ERASCHK
054605,000206: 43,3361 03553 SOPTION5 TC ROPECHK
054606,000207: 43,3362 01371 SOPTION6 TC SKEEP1
054607,000208: 43,3363 01371 SOPTION7 TC SKEEP1
054608,000209: 43,3364 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
054609,000210:
054610,000211: 43,3365 00006 CHECKNJ EXTEND
054611,000212: 43,3366 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
054612,000213: 43,3367 04635 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
054613,000214: 43,3370 03216 CADR ADVAN
054614,000215:
054615,000216: 43,3371 03334 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
054616,000217:
054617,000218: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
054618,000219: # SKEEP6 HOLDS B(X+1).
054619,000220: # SKEEP5 HOLDS B(X).
054620,000221: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
054621,000222: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
|
Page 1277 |
054623,000224: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
054624,000225: # ERASCHK TAKES APPROXMATELY 7 SECONDS
054625,000226: 43,3372 34753 ERASCHK CA S+1
054626,000227: 43,3373 55372 TS SKEEP2
054627,000228: 43,3374 34755 0EBANK CA S+ZERO
054628,000229: 43,3375 54003 TS EBANK
054629,000230: 43,3376 33267 CA ERASCON3 # 01461
054630,000231: 43,3377 55377 TS SKEEP7 # STARTING ADDRESS
054631,000232: 43,3400 35012 CA S10BITS # 01777
054632,000233: 43,3401 55373 TS SKEEP3 # LAST ADDRESS CHECKED
054633,000234: 43,3402 03422 TC ERASLOOP
054634,000235:
054635,000236: 43,3403 35007 E134567B CA ERASCON6 # 01400
054636,000237: 43,3404 55377 TS SKEEP7 # STARTING ADDRESS
054637,000238: 43,3405 35012 CA S10BITS # 01777
054638,000239: 43,3406 55373 TS SKEEP3 # LAST ADDRESS CHECKED
054639,000240: 43,3407 03422 TC ERASLOOP
054640,000241:
054641,000242: 43,3410 35007 2EBANK CA ERASCON6 # 01400
054642,000243: 43,3411 55377 TS SKEEP7 # STARTING ADDRESS
054643,000244: 43,3412 33270 CA ERASCON4 # 01773
054644,000245: 43,3413 55373 TS SKEEP3 # LAST ADDRESS CHECKED
054645,000246: 43,3414 03422 TC ERASLOOP
054646,000247:
054647,000248: 43,3415 55372 NOEBANK TS SKEEP2 # +0
054648,000249: 43,3416 33265 CA ERASCON1 # 00061
054649,000250: 43,3417 55377 TS SKEEP7 # STARTING ADDRESS
054650,000251: 43,3420 33266 CA ERASCON2 # 01373
054651,000252: 43,3421 55373 TS SKEEP3 # LAST ADDRESS CHECKED
054652,000253:
054653,000254: 43,3422 00004 ERASLOOP INHINT
054654,000255: 43,3423 30003 CA EBANK # STORES C(EBANK)
054655,000256: 43,3424 55374 TS SKEEP4
054656,000257: 43,3425 00006 EXTEND
054657,000258: 43,3426 51377 NDX SKEEP7
054658,000259: 43,3427 30001 DCA 0000
054659,000260: 43,3430 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
054660,000261: 43,3431 31377 CA SKEEP7
054661,000262: 43,3432 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
054662,000263: 43,3433 54001 TS L
054663,000264: 43,3434 24001 INCR L
054664,000265: 43,3435 50000 NDX A
054665,000266: 43,3436 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
054666,000267: 43,3437 51377 NDX SKEEP7
054667,000268: 43,3440 40001 CS 0001 # CS X+1
054668,000269: 43,3441 51377 NDX SKEEP7
054669,000270: 43,3442 60000 AD 0000 # AD X
054670,000271: 43,3443 03326 TC -1CHK
054671,000272: 43,3444 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
054672,000273: 43,3445 00006 EXTEND
|
Page 1278 |
054674,000275: 43,3446 13472 BZF ELOOPFIN # YES, EXIT ERASLOOP.
054675,000276: 43,3447 00006 EXTEND
054676,000277: 43,3450 51377 NDX SKEEP7
054677,000278: 43,3451 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
054678,000279: 43,3452 51377 NDX SKEEP7
054679,000280: 43,3453 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
054680,000281: 43,3454 51377 NDX SKEEP7
054681,000282: 43,3455 40000 CS 0000 # CS X
054682,000283: 43,3456 51377 NDX SKEEP7
054683,000284: 43,3457 60001 AD 0001 # AD X+1
054684,000285: 43,3460 03326 TC -1CHK
054685,000286: 43,3461 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
054686,000287: 43,3462 00006 EXTEND
054687,000288: 43,3463 13472 BZF ELOOPFIN # YES, EXIT ERASLOOP.
054688,000289: 43,3464 00006 EXTEND
054689,000290: 43,3465 31376 DCA SKEEP5
054690,000291: 43,3466 51377 NDX SKEEP7
054691,000292: 43,3467 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
054692,000293: 43,3470 34755 CA S+ZERO
054693,000294: 43,3471 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
054694,000295: 43,3472 00003 ELOOPFIN RELINT
054695,000296: 43,3473 03365 TC CHECKNJ # CHECK FOR NEW JOB
054696,000297: 43,3474 31374 CA SKEEP4 # REPLACES B(EBANK)
054697,000298: 43,3475 54003 TS EBANK
054698,000299: 43,3476 25377 INCR SKEEP7
054699,000300: 43,3477 41377 CS SKEEP7
054700,000301: 43,3500 61373 AD SKEEP3
054701,000302: 43,3501 00006 EXTEND
054702,000303: 43,3502 13504 BZF +2
054703,000304: 43,3503 03422 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
054704,000305: 43,3504 11372 CCS SKEEP2
054705,000306: 43,3505 03415 TC NOEBANK
054706,000307: 43,3506 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
054707,000308: 43,3507 30003 CA EBANK
054708,000309: 43,3510 64743 AD SBIT9
054709,000310: 43,3511 54003 TS EBANK
054710,000311: 43,3512 63276 AD ERASCON5 # 76777, CHECK FOR BANK E2
054711,000312: 43,3513 00006 EXTEND
054712,000313: 43,3514 13410 BZF 2EBANK
054713,000314: 43,3515 10003 CCS EBANK
054714,000315: 43,3516 03403 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
054715,000316: 43,3517 35007 CA ERASCON6 # END OF ERASCHK
054716,000317: 43,3520 54003 TS EBANK
054717,000318: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
054718,000319: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
054719,000320: 43,3521 34771 CNTRCHK CA CNTRCON # 00050
054720,000321: 43,3522 55372 CNTRLOOP TS SKEEP2
054721,000322: 43,3523 64750 AD SBIT4 # +10 OCTAL
054722,000323: 43,3524 50000 INDEX A
054723,000324: 43,3525 40000 CS 0000
|
Page 1279 |
054725,000326: 43,3526 11372 CCS SKEEP2
054726,000327: 43,3527 03522 TC CNTRLOOP
054727,000328:
054728,000329: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
054729,000330: 43,3530 33274 CYCLSHFT CA CONC+S1 # 25252
054730,000331: 43,3531 54020 TS CYR # C(CYR) = 12525
054731,000332: 43,3532 54022 TS CYL # C(CYL) = 52524
054732,000333: 43,3533 54021 TS SR # C(SR) = 12525
054733,000334: 43,3534 54023 TS EDOP # C(EDOP) = 00125
054734,000335: 43,3535 60020 AD CYR # 37777 C(CYR) = 45252
054735,000336: 43,3536 60022 AD CYL # 00-12524 C(CYL) = 25251
054736,000337: 43,3537 60021 AD SR # 00-25251 C(SR) = 05252
054737,000338: 43,3540 60023 AD EDOP # 00-25376 C(EDOP) = +0
054738,000339: 43,3541 63275 AD CONC+S2 # C(CONC+S2) = 52400
054739,000340: 43,3542 03326 TC -1CHK
054740,000341: 43,3543 60020 AD CYR # 45252
054741,000342: 43,3544 60022 AD CYL # 72523
054742,000343: 43,3545 60021 AD SR # 77775
054743,000344: 43,3546 60023 AD EDOP # 77775
054744,000345: 43,3547 64753 AD S+1 # 77776
054745,000346: 43,3550 03326 TC -1CHK
054746,000347:
054747,000348: 43,3551 25367 INCR SCOUNT +1
054748,000349: 43,3552 03334 TC SMODECHK
054749,000350: # SKEEP1 HOLDS SUM
054750,000351: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
054751,000352: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
054752,000353: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
054753,000354: # (04000 TO 07777 IN FXFX BANKS)
054754,000355: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
054755,000356: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
054756,000357: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
054757,000358: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
054758,000359: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
054759,000360:
054760,000361: 43,3553 34754 ROPECHK CA S-ZERO # *
054761,000362: 43,3554 55376 TS SKEEP6 # * -0 FOR ROPECHK.
054762,000363: 43,3555 34755 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
054763,000364:
054764,000365: 43,3556 55374 TS SKEEP4 # BANK NUMBER
054765,000366: 43,3557 34753 CA S+1
054766,000367: 43,3560 55377 COMMFX TS SKEEP7
054767,000368: 43,3561 34755 CA S+ZERO
054768,000369: 43,3562 55371 TS SKEEP1
054769,000370: 43,3563 55373 TS SKEEP3
054770,000371: 43,3564 34753 CA S+1
054771,000372: 43,3565 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
054772,000373: 43,3566 31374 COMADRS CA SKEEP4
054773,000374: 43,3567 54001 TS L # TO SET SUPER BANK
054774,000375: 43,3570 74350 MASK HI5
|
Page 1280 |
054776,000377: 43,3571 61373 AD SKEEP3
054777,000378: 43,3572 04651 TC SUPDACAL # SUPER DATA CALL
054778,000379: 43,3573 03616 TC ADSUM
054779,000380: 43,3574 64741 AD SBIT11 # 02000
054780,000381: 43,3575 03627 TC ADRSCHK
054781,000382:
054782,000383: 43,3576 40000 FXFX CS A
054783,000384: 43,3577 55377 TS SKEEP7
054784,000385: 43,3600 00006 EXTEND
054785,000386: 43,3601 13604 BZF +3
054786,000387: 43,3602 34740 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
054787,000388: 43,3603 03605 TC +2
054788,000389: 43,3604 35020 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
054789,000390: 43,3605 55373 TS SKEEP3
054790,000391: 43,3606 34755 CA S+ZERO
054791,000392: 43,3607 55371 TS SKEEP1
054792,000393: 43,3610 34753 CA S+1
054793,000394: 43,3611 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
054794,000395: 43,3612 51373 FXADRS INDEX SKEEP3
054795,000396: 43,3613 30000 CA 0000
054796,000397: 43,3614 03616 TC ADSUM
054797,000398: 43,3615 03627 TC ADRSCHK
054798,000399:
054799,000400: 43,3616 55372 ADSUM TS SKEEP2
054800,000401: 43,3617 61371 AD SKEEP1
054801,000402: 43,3620 55371 TS SKEEP1
054802,000403: 43,3621 34755 CAF S+ZERO
054803,000404: 43,3622 61371 AD SKEEP1
054804,000405: 43,3623 55371 TS SKEEP1
054805,000406: 43,3624 41372 CS SKEEP2
054806,000407: 43,3625 61373 AD SKEEP3
054807,000408: 43,3626 00002 TC Q
054808,000409:
054809,000410: 43,3627 22000 ADRSCHK LXCH A
054810,000411: 43,3630 31373 CA SKEEP3
054811,000412: 43,3631 75012 MASK LOW10 # RELATIVE ADDRESS
054812,000413: 43,3632 64350 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
054813,000414: 43,3633 00006 EXTEND
054814,000415: 43,3634 13723 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
054815,000416: 43,3635 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
054816,000417: 43,3636 03641 TC +3 # NO
054817,000418: 43,3637 03641 TC +2 # NO
054818,000419: 43,3640 03723 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
054819,000420: 43,3641 10001 CCS L # -0 MEANS A TC SELF WORD.
054820,000421: 43,3642 03651 TC CONTINU
054821,000422: 43,3643 03651 TC CONTINU
054822,000423: 43,3644 03651 TC CONTINU
054823,000424: 43,3645 11375 CCS SKEEP5
054824,000425: 43,3646 03652 TC CONTINU +1
054825,000426: 43,3647 37752 CA S-1
|
Page 1281 |
054827,000428: 43,3650 03652 TC CONTINU +1 # AD IN THE BUGGER WORD
054828,000429: 43,3651 34753 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
054829,000430: 43,3652 55375 TS SKEEP5
054830,000431: 43,3653 11376 CCS SKEEP6 # *
054831,000432: 43,3654 10067 CCS NEWJOB # * +1, SHOWSUM
054832,000433: 43,3655 05122 TC CHANG1 # *
054833,000434: 43,3656 03660 TC +2 # *
054834,000435: 43,3657 03365 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
054835,000436:
054836,000437: 43,3660 25373 ADRS+1 INCR SKEEP3
054837,000438: 43,3661 11377 CCS SKEEP7
054838,000439: 43,3662 03566 TC COMADRS
054839,000440: 43,3663 03566 TC COMADRS
054840,000441: 43,3664 03612 TC FXADRS
054841,000442: 43,3665 03612 TC FXADRS
054842,000443:
054843,000444: 43,3666 41374 NXTBNK CS SKEEP4
054844,000445: 43,3667 63756 AD LSTBNKCH # LAST BANK TO BE CHECKED
054845,000446: 43,3670 00006 EXTEND
054846,000447: 43,3671 13160 BZF ENDSUMS # END OF SUMMING OF BANKS.
054847,000448: 43,3672 31374 CA SKEEP4
054848,000449: 43,3673 64741 AD SBIT11
054849,000450: 43,3674 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
054850,000451: 43,3675 03701 TC CHKSUPR
054851,000452: 43,3676 34735 17TO20 CA SBIT15
054852,000453: 43,3677 27374 ADS SKEEP4 # SET FOR BANK 20
054853,000454: 43,3700 03715 TC GONXTBNK
054854,000455: 43,3701 74350 CHKSUPR MASK HI5
054855,000456: 43,3702 00006 EXTEND
054856,000457: 43,3703 13713 BZF NXTSUPR # INCREMENT SUPER BANK
054857,000458: 43,3704 63273 27TO30 AD S13BITS
054858,000459: 43,3705 00006 EXTEND
054859,000460: 43,3706 13710 BZF +2 # BANK SET FOR 30
054860,000461: 43,3707 03715 TC GONXTBNK
054861,000462: 43,3710 33271 CA SIXTY # FIRST SUPER BANK
054862,000463: 43,3711 27374 ADS SKEEP4
054863,000464: 43,3712 03715 TC GONXTBNK
054864,000465: 43,3713 63272 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
054865,000466: 43,3714 27374 ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
054866,000467: 43,3715 11377 GONXTBNK CCS SKEEP7
054867,000468: 43,3716 03560 TC COMMFX
054868,000469: 43,3717 34753 CA S+1
054869,000470: 43,3720 03576 TC FXFX
054870,000471: 43,3721 34745 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
054871,000472: 43,3722 03560 TC COMMFX
054872,000473:
054873,000474: 43,3723 31374 SOPTION CA SKEEP4
054874,000475: 43,3724 74350 MASK HI5 # = BANK BITS
054875,000476: 43,3725 04331 TC LEFT5
054876,000477: 43,3726 54001 TS L # BANK NUMBER BEFORE SUPER BANK
|
Page 1282 |
054878,000479: 43,3727 31374 CA SKEEP4
054879,000480: 43,3730 74357 MASK S8BITS # = SUPER BANK BITS
054880,000481: 43,3731 00006 EXTEND
054881,000482: 43,3732 13740 BZF SOPT # BEFORE SUPER BANK
054882,000483: 43,3733 54021 TS SR # SUPER BANK NECESSARY
054883,000484: 43,3734 30001 CA L
054884,000485: 43,3735 74757 MASK SEVEN
054885,000486: 43,3736 60021 AD SR
054886,000487: 43,3737 54001 TS L # BANK NUMBER WITH SUPER BANK
054887,000488: 43,3740 31376 SOPT CA SKEEP6 # *
054888,000489: 43,3741 00006 EXTEND # *
054889,000490: 43,3742 13744 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
054890,000491: 43,3743 03142 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
054891,000492: 43,3744 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
054892,000493: 43,3745 03747 TC +2
054893,000494: 43,3746 03750 TC +2
054894,000495: 43,3747 64753 AD S+1
054895,000496: 43,3750 55371 TS SKEEP1
054896,000497: 43,3751 40001 BNKCHK CS L # = - BANK NUMBER
054897,000498: 43,3752 61371 AD SKEEP1
054898,000499: 43,3753 67752 AD S-1
054899,000500: 43,3754 03326 TC -1CHK # CHECK SUM
054900,000501: 43,3755 03666 TC NXTBNK
054901,000502:
054902,000503: 43,3756 0067 EBANK= NEWJOB
054903,000504: 43,3756 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc