Source Code
![]() |
These source-code files were obtained by digitally photographing the
Colossus 237 program listing from the private collection of original
AGC developer Fred Martin, and then modifying pre-existing Colossus 249
(Apollo 9) source files to incorporate changes. 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, 1968 |
057329,000002: # Copyright: Public domain.
057330,000003: # Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
057331,000004: # Purpose: Part of the source code for Colossus build 237.
057332,000005: # This is for the Command Module's (CM) Apollo Guidance
057333,000006: # Computer (AGC), we believe for Apollo 8.
057334,000007: # Assembler: yaYUL
057335,000008: # Contact: Onno Hommes <ohommes@alumni.cmu.edu>
057336,000009: # Website: www.ibiblio.org/apollo/index.html
057337,000010: # Page scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
057338,000011: # Mod history: 2010-05-30 OH Adapted from corresponding Colossus 249 file.
057339,000012: # 2010-12-04 JL Remove Colossus 249 header comments. Change to double-has page numbers.
057340,000013: # 2011-02-12 JL Minor fixes.
057341,000014: # 2011-04-17 JL Removed temporary line.
057342,000015:
057343,000016: # # Page 1358
057344,000017: # PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
057345,000018: # PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
057346,000019: # MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
057347,000020: # MOD BY - GAUNTT
057348,000021:
057349,000022:
057350,000023: # FUNCTIONAL DESCRIPTION
057351,000024:
057352,000025: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
057353,000026: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
057354,000027: # STARTING VERB.
057355,000028: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
057356,000029: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK , ONE AT A TIME.
057357,000030: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
057358,000031: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
057359,000032: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
057360,000033: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
057361,000034: # OCTAL, TO LOAD INTO SMODE.
057362,000035: # +-4 ERASABLE MEMORY
057363,000036: # +-5 FIXED MEMORY
057364,000037: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
057365,000038: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
057366,000039: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
057367,000040:
057368,000041:
057369,000042: # WARNINGS
057370,000043:
057371,000044: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
057372,000045: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
057373,000046:
057374,000047:
057375,000048: # CALLING SEQUENCE
057376,000049:
057377,000050: # TO CALL SELF-CHECK KEY IN
057378,000051: # V 21 N 27 E OPTION NUMBER E
057379,000052: # TO CALL SHOW-BANKSUM KEY IN
057380,000053: # V 91 E DISPLAYS FIRST BANK
057381,000054: # V 33 E PROCEED, DISPLAYS NEXT BANK
057382,000055:
057383,000056:
057384,000057: # EXIT MODES, NORMAL AND ALARM
057385,000058:
057386,000059: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
057387,000060: # COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
057388,000061: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
057389,000062: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
057390,000063:
057391,000064:
057392,000065:
057393,000066: # OUTPUT
057394,000067:
057395,000068: # # Page 1359
057396,000069: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
057397,000070: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
057398,000071: # 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,
057399,000072: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
057400,000073: # INITIATED FRESH START (SLAP1).
057401,000074: # SHOW-BANKSUM STARTING WTIH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
057402,000075: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
057403,000076:
057404,000077:
057405,000078: # ERASABLE INITIALIZATION REQUIRED
057406,000079:
057407,000080: # ACCOMPLISHED BY FRESH START
057408,000081: # SMODE SET TO +0
057409,000082:
057410,000083:
057411,000084: # DEBRIS
057412,000085:
057413,000086: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
057414,000087: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
057415,000088: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
057416,000089:
057417,000090:
057418,000091: 25,3766 BANK 25
057419,000092: 43,2000 SETLOC SELFCHEC
057420,000093: 43,2000 BANK
057421,000094:
057422,000095: 43,3227 COUNT 43/SELF
057423,000096:
057424,000097: 43,3227 4712 SBIT1 EQUALS BIT1
057425,000098: 43,3227 4711 SBIT2 EQUALS BIT2
057426,000099: 43,3227 4710 SBIT3 EQUALS BIT3
057427,000100: 43,3227 4707 SBIT4 EQUALS BIT4
057428,000101: 43,3227 4706 SBIT5 EQUALS BIT5
057429,000102: 43,3227 4705 SBIT6 EQUALS BIT6
057430,000103: 43,3227 4704 SBIT7 EQUALS BIT7
057431,000104: 43,3227 4703 SBIT8 EQUALS BIT8
057432,000105: 43,3227 4702 SBIT9 EQUALS BIT9
057433,000106: 43,3227 4701 SBIT10 EQUALS BIT10
057434,000107: 43,3227 4700 SBIT11 EQUALS BIT11
057435,000108: 43,3227 4677 SBIT12 EQUALS BIT12
057436,000109: 43,3227 4676 SBIT13 EQUALS BIT13
057437,000110: 43,3227 4675 SBIT14 EQUALS BIT14
057438,000111: 43,3227 4674 SBIT15 EQUALS BIT15
057439,000112:
057440,000113: 43,3227 4714 S+ZERO EQUALS ZERO
057441,000114: 43,3227 4712 S+1 EQUALS BIT1
057442,000115: 43,3227 4711 S+2 EQUALS BIT2
057443,000116: 43,3227 6214 S+3 EQUALS THREE
057444,000117: 43,3227 4710 S+4 EQUALS FOUR
057445,000118: 43,3227 4715 S+5 EQUALS FIVE
057446,000119: # # Page 1360
057447,000120: 43,3227 6211 S+6 EQUALS SIX
057448,000121: 43,3227 4716 S+7 EQUALS SEVEN
057449,000122: 43,3227 4373 S8BITS EQUALS LOW8 # 00377
057450,000123: 43,3227 4726 CNTRCON = OCT50 # USED IN CNTRCHK
057451,000124: 43,3227 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
057452,000125: 43,3230 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
057453,000126: 43,3231 4744 ERASCON6 = OCT1400 # USED IN ERASCHK
057454,000127: 43,3231 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
057455,000128: 43,3232 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
057456,000129: 43,3233 4747 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
057457,000130: 43,3233 4755 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
057458,000131: 43,3233 4364 -MAXADRS = HI5 # FOR ROPECHK
057459,000132: 43,3233 00060 SIXTY OCTAL 00060
057460,000133: 43,3234 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
057461,000134: 43,3235 17777 S13BITS OCTAL 17777
057462,000135: 43,3236 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
057463,000136: 43,3237 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
057464,000137: 43,3240 76777 ERASCON5 OCTAL 76777
057465,000138: 43,3241 5630 S-7 = OCT77770
057466,000139: 43,3241 6061 S-4 EQUALS NEG4
057467,000140: 43,3241 7714 S-3 EQUALS NEG3
057468,000141: 43,3241 7715 S-2 EQUALS NEG2
057469,000142: 43,3241 7716 S-1 EQUALS NEGONE
057470,000143: 43,3241 4713 S-ZERO EQUALS NEG0
057471,000144:
057472,000145: 43,3241 E3,1400 EBANK= LST1
057473,000146: 43,3241 01371 ADRS1 ADRES SKEEP1
057474,000147: 43,3242 03333 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
057475,000148: # IN SELFRET WHEN GOING FROM SELFCHK TO
057476,000149: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
057477,000150: # FROM SHOWSUM TO SELF-CHECK.
057478,000151:
057479,000152: 43,3243 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
057480,000153: 43,3244 00006 EXTEND
057481,000154: 43,3245 13254 BZF ERRORS # NO
057482,000155: 43,3246 00006 EXTEND
057483,000156: 43,3247 31376 DCA SKEEP5
057484,000157: 43,3250 51377 INDEX SKEEP7
057485,000158: 43,3251 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
057486,000159: 43,3252 34714 CA S+ZERO
057487,000160: 43,3253 55360 TS ERESTORE
057488,000161: 43,3254 00004 ERRORS INHINT
057489,000162: 43,3255 30002 CA Q
057490,000163: 43,3256 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
057491,000164: 43,3257 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
057492,000165: 43,3260 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
057493,000166: 43,3261 05541 TCALARM2 TC ALARM2
057494,000167: 43,3262 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
057495,000168: 43,3263 11362 CCS SMODE
057496,000169: 43,3264 34714 SIDLOOP CA S+ZERO
057497,000170: # # Page 1361
057498,000171: 43,3265 55362 TS SMODE
057499,000172: 43,3266 03333 TC SELFCHK # GO TO IDLE LOOP
057500,000173: 43,3267 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
057501,000174:
057502,000175: 43,3270 10000 -1CHK CCS A
057503,000176: 43,3271 13243 TCF PRERRORS
057504,000177: 43,3272 13243 TCF PRERRORS
057505,000178: 43,3273 10000 CCS A
057506,000179: 43,3274 13243 TCF PRERRORS
057507,000180: 43,3275 00002 TC Q
057508,000181:
057509,000182: 43,3276 00006 SMODECHK EXTEND
057510,000183: 43,3277 23371 QXCH SKEEP1
057511,000184: 43,3300 03327 TC CHECKNJ # CHECK FOR NEW JOB
057512,000185: 43,3301 11362 CCS SMODE
057513,000186: 43,3302 03307 TC SOPTIONS
057514,000187: 43,3303 03300 TC SMODECHK +2 # TO BACKUP IDLE LOOP
057515,000188: 43,3304 03307 TC SOPTIONS
057516,000189: 43,3305 25366 INCR SCOUNT
057517,000190: 43,3306 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
057518,000191:
057519,000192: 43,3307 65630 SOPTIONS AD S-7
057520,000193: 43,3310 00006 EXTEND
057521,000194: 43,3311 63313 BZMF +2 # FOR OPTIONS BELOW NINE.
057522,000195: 43,3312 03264 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
057523,000196: 43,3313 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
057524,000197: 43,3314 64716 AD S+7
057525,000198:
057526,000199: 43,3315 50000 INDEX A
057527,000200: 43,3316 03317 TC SOPTION1
057528,000201: 43,3317 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
057529,000202: 43,3320 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
057530,000203: 43,3321 01371 SOPTION3 TC SKEEP1 # WAS COUNTCHK
057531,000204: 43,3322 03334 SOPTION4 TC ERASCHK
057532,000205: 43,3323 03515 SOPTION5 TC ROPECHK
057533,000206: 43,3324 01371 SOPTION6 TC SKEEP1
057534,000207: 43,3325 01371 SOPTION7 TC SKEEP1
057535,000208: 43,3326 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
057536,000209:
057537,000210: 43,3327 00006 CHECKNJ EXTEND
057538,000211: 43,3330 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
057539,000212: 43,3331 04574 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
057540,000213: 43,3332 03231 CADR ADVAN
057541,000214:
057542,000215: 43,3333 03276 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
057543,000216:
057544,000217: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
057545,000218: # SKEEP6 HOLDS B(X+1).
057546,000219: # SKEEP5 HOLDS B(X).
057547,000220: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ
057548,000221: # # Page 1362
057549,000222: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
057550,000223: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
057551,000224: # ERASCHK TAKES APPROXIMATELY 7 SECONDS.
057552,000225: 43,3334 34712 ERASCHK CA S+1
057553,000226: 43,3335 55372 TS SKEEP2
057554,000227: 43,3336 34714 0EBANK CA S+ZERO
057555,000228: 43,3337 54003 TS EBANK
057556,000229: 43,3340 33231 CA ERASCON3 # 01461
057557,000230: 43,3341 55377 TS SKEEP7 # STARTING ADDRESS
057558,000231: 43,3342 34747 CA S10BITS # 01777
057559,000232: 43,3343 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057560,000233: 43,3344 03364 TC ERASLOOP
057561,000234:
057562,000235: 43,3345 34744 E134567B CA ERASCON6 # 01400
057563,000236: 43,3346 55377 TS SKEEP7 # STARTING ADDRESS
057564,000237: 43,3347 34747 CA S10BITS # 01777
057565,000238: 43,3350 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057566,000239: 43,3351 03364 TC ERASLOOP
057567,000240:
057568,000241: 43,3352 34744 2EBANK CA ERASCON6 # 01400
057569,000242: 43,3353 55377 TS SKEEP7 # STARTING ADDRESS
057570,000243: 43,3354 33232 CA ERASCON4 # 01773
057571,000244: 43,3355 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057572,000245: 43,3356 03364 TC ERASLOOP
057573,000246:
057574,000247: 43,3357 55372 NOEBANK TS SKEEP2 # +0
057575,000248: 43,3360 33227 CA ERASCON1 # 00061
057576,000249: 43,3361 55377 TS SKEEP7 # STARTING ADDRESS
057577,000250: 43,3362 33230 CA ERASCON2 # 01373
057578,000251: 43,3363 55373 TS SKEEP3 # LAST ADDRESS CHECKED
057579,000252:
057580,000253: 43,3364 00004 ERASLOOP INHINT
057581,000254: 43,3365 30003 CA EBANK # STORES C(EBANK)
057582,000255: 43,3366 55374 TS SKEEP4
057583,000256: 43,3367 00006 EXTEND
057584,000257: 43,3370 51377 NDX SKEEP7
057585,000258: 43,3371 30001 DCA 0000
057586,000259: 43,3372 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
057587,000260: 43,3373 31377 CA SKEEP7
057588,000261: 43,3374 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
057589,000262: 43,3375 54001 TS L
057590,000263: 43,3376 24001 INCR L
057591,000264: 43,3377 50000 NDX A
057592,000265: 43,3400 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
057593,000266: 43,3401 51377 NDX SKEEP7
057594,000267: 43,3402 40001 CS 0001 # CS X+1
057595,000268: 43,3403 51377 NDX SKEEP7
057596,000269: 43,3404 60000 AD 0000 # AD X
057597,000270: 43,3405 03270 TC -1CHK
057598,000271: 43,3406 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
057599,000272: # # Page 1363
057600,000273: 43,3407 00006 EXTEND
057601,000274: 43,3410 13434 BZF ELOOPFIN # YES, EXIT ERASLOOP.
057602,000275: 43,3411 00006 EXTEND
057603,000276: 43,3412 51377 NDX SKEEP7
057604,000277: 43,3413 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
057605,000278: 43,3414 51377 NDX SKEEP7
057606,000279: 43,3415 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
057607,000280: 43,3416 51377 NDX SKEEP7
057608,000281: 43,3417 40000 CS 0000 # CS X
057609,000282: 43,3420 51377 NDX SKEEP7
057610,000283: 43,3421 60001 AD 0001 # AD X+1
057611,000284: 43,3422 03270 TC -1CHK
057612,000285: 43,3423 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
057613,000286: 43,3424 00006 EXTEND
057614,000287: 43,3425 13434 BZF ELOOPFIN # YES, EXIT ERASLOOP.
057615,000288: 43,3426 00006 EXTEND
057616,000289: 43,3427 31376 DCA SKEEP5
057617,000290: 43,3430 51377 NDX SKEEP7
057618,000291: 43,3431 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
057619,000292: 43,3432 34714 CA S+ZERO
057620,000293: 43,3433 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
057621,000294: 43,3434 00003 ELOOPFIN RELINT
057622,000295: 43,3435 03327 TC CHECKNJ # CHECK FOR NEW JOB
057623,000296: 43,3436 31374 CA SKEEP4 # REPLACES B(EBANK)
057624,000297: 43,3437 54003 TS EBANK
057625,000298: 43,3440 25377 INCR SKEEP7
057626,000299: 43,3441 41377 CS SKEEP7
057627,000300: 43,3442 61373 AD SKEEP3
057628,000301: 43,3443 00006 EXTEND
057629,000302: 43,3444 13446 BZF +2
057630,000303: 43,3445 03364 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
057631,000304: 43,3446 11372 CCS SKEEP2
057632,000305: 43,3447 03357 TC NOEBANK
057633,000306: 43,3450 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
057634,000307: 43,3451 30003 CA EBANK
057635,000308: 43,3452 64702 AD SBIT9
057636,000309: 43,3453 54003 TS EBANK
057637,000310: 43,3454 63240 AD ERASCON5 # 76777, CHECK FOR BANK E2
057638,000311: 43,3455 00006 EXTEND
057639,000312: 43,3456 13352 BZF 2EBANK
057640,000313: 43,3457 10003 CCS EBANK
057641,000314: 43,3460 03345 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
057642,000315: 43,3461 34744 CA ERASCON6 # END OF ERASCHK
057643,000316: 43,3462 54003 TS EBANK
057644,000317: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
057645,000318: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
057646,000319: 43,3463 34726 CNTRCHK CA CNTRCON # 00050
057647,000320: 43,3464 55372 CNTRLOOP TS SKEEP2
057648,000321: 43,3465 64707 AD SBIT4 # +10 OCTAL
057649,000322: 43,3466 50000 INDEX A
057650,000323: # # Page 1364
057651,000324: 43,3467 40000 CS 0000
057652,000325: 43,3470 11372 CCS SKEEP2
057653,000326: 43,3471 03464 TC CNTRLOOP
057654,000327:
057655,000328: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
057656,000329: 43,3472 33236 CYCLSHFT CA CONC+S1 # 25252
057657,000330: 43,3473 54020 TS CYR # C(CYR) = 12525
057658,000331: 43,3474 54022 TS CYL # C(CYL) = 52524
057659,000332: 43,3475 54021 TS SR # C(SR) = 12525
057660,000333: 43,3476 54023 TS EDOP # C(EDOP) = 00125
057661,000334: 43,3477 60020 AD CYR # 37777 C(CYR) = 45252
057662,000335: 43,3500 60022 AD CYL # 00-12524 C(CYL) = 25251
057663,000336: 43,3501 60021 AD SR # 00-25251 C(SR) = 05252
057664,000337: 43,3502 60023 AD EDOP # 00-25376 C(EDOP) = +0
057665,000338: 43,3503 63237 AD CONC+S2 # C(CONC+S2) = 52400
057666,000339: 43,3504 03270 TC -1CHK
057667,000340: 43,3505 60020 AD CYR # 45252
057668,000341: 43,3506 60022 AD CYL # 72523
057669,000342: 43,3507 60021 AD SR # 77775
057670,000343: 43,3510 60023 AD EDOP # 77775
057671,000344: 43,3511 64712 AD S+1 # 77776
057672,000345: 43,3512 03270 TC -1CHK
057673,000346:
057674,000347: 43,3513 25367 INCR SCOUNT +1
057675,000348: 43,3514 03276 TC SMODECHK
057676,000349: # SKEEP1 HOLDS SUM
057677,000350: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
057678,000351: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
057679,000352: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
057680,000353: # (04000 TO 07777 IN FXFX BANKS)
057681,000354: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
057682,000355: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
057683,000356: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
057684,000357: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
057685,000358: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
057686,000359:
057687,000360: 43,3515 34713 ROPECHK CA S-ZERO # *
057688,000361: 43,3516 55376 TS SKEEP6 # * -0 FOR ROPECHK
057689,000362: 43,3517 34714 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
057690,000363:
057691,000364: 43,3520 55374 TS SKEEP4 # BANK NUMBER
057692,000365: 43,3521 34712 CA S+1
057693,000366: 43,3522 55377 COMMFX TS SKEEP7
057694,000367: 43,3523 34714 CA S+ZERO
057695,000368: 43,3524 55371 TS SKEEP1
057696,000369: 43,3525 55373 TS SKEEP3
057697,000370: 43,3526 34712 CA S+1
057698,000371: 43,3527 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
057699,000372: 43,3530 31374 COMADRS CA SKEEP4
057700,000373: 43,3531 54001 TS L # TO SET SUPER BANK
057701,000374: # # Page 1365
057702,000375: 43,3532 74364 MASK HI5
057703,000376: 43,3533 61373 AD SKEEP3
057704,000377: 43,3534 04610 TC SUPDACAL # SUPER DATA CALL
057705,000378: 43,3535 03560 TC ADSUM
057706,000379: 43,3536 64700 AD SBIT11 # 02000
057707,000380: 43,3537 03571 TC ADRSCHK
057708,000381:
057709,000382: 43,3540 40000 FXFX CS A
057710,000383: 43,3541 55377 TS SKEEP7
057711,000384: 43,3542 00006 EXTEND
057712,000385: 43,3543 13546 BZF +3
057713,000386: 43,3544 34677 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
057714,000387: 43,3545 03547 TC +2
057715,000388: 43,3546 34755 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
057716,000389: 43,3547 55373 TS SKEEP3
057717,000390: 43,3550 34714 CA S+ZERO
057718,000391: 43,3551 55371 TS SKEEP1
057719,000392: 43,3552 34712 CA S+1
057720,000393: 43,3553 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
057721,000394: 43,3554 51373 FXADRS INDEX SKEEP3
057722,000395: 43,3555 30000 CA 0000
057723,000396: 43,3556 03560 TC ADSUM
057724,000397: 43,3557 03571 TC ADRSCHK
057725,000398:
057726,000399: 43,3560 55372 ADSUM TS SKEEP2
057727,000400: 43,3561 61371 AD SKEEP1
057728,000401: 43,3562 55371 TS SKEEP1
057729,000402: 43,3563 34714 CAF S+ZERO
057730,000403: 43,3564 61371 AD SKEEP1
057731,000404: 43,3565 55371 TS SKEEP1
057732,000405: 43,3566 41372 CS SKEEP2
057733,000406: 43,3567 61373 AD SKEEP3
057734,000407: 43,3570 00002 TC Q
057735,000408:
057736,000409: 43,3571 22000 ADRSCHK LXCH A
057737,000410: 43,3572 31373 CA SKEEP3
057738,000411: 43,3573 74747 MASK LOW10 # RELATIVE ADDRESS
057739,000412: 43,3574 64364 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
057740,000413: 43,3575 00006 EXTEND
057741,000414: 43,3576 13665 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
057742,000415: 43,3577 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
057743,000416: 43,3600 03603 TC +3 # NO
057744,000417: 43,3601 03603 TC +2 # NO
057745,000418: 43,3602 03665 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
057746,000419: 43,3603 10001 CCS L # -0 MEANS A TC SELF WORD.
057747,000420: 43,3604 03613 TC CONTINU
057748,000421: 43,3605 03613 TC CONTINU
057749,000422: 43,3606 03613 TC CONTINU
057750,000423: 43,3607 11375 CCS SKEEP5
057751,000424: 43,3610 03614 TC CONTINU +1
057752,000425: # # Page 1366
057753,000426: 43,3611 37716 CA S-1
057754,000427: 43,3612 03614 TC CONTINU +1 # AD IN THE BUGGER WORD
057755,000428: 43,3613 34712 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
057756,000429: 43,3614 55375 TS SKEEP5
057757,000430: 43,3615 11376 CCS SKEEP6 # *
057758,000431: 43,3616 10067 CCS NEWJOB # * +1, SHOWSUM
057759,000432: 43,3617 05057 TC CHANG1 # *
057760,000433: 43,3620 03622 TC +2 # *
057761,000434: 43,3621 03327 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
057762,000435:
057763,000436: 43,3622 25373 ADRS+1 INCR SKEEP3
057764,000437: 43,3623 11377 CCS SKEEP7
057765,000438: 43,3624 03530 TC COMADRS
057766,000439: 43,3625 03530 TC COMADRS
057767,000440: 43,3626 03554 TC FXADRS
057768,000441: 43,3627 03554 TC FXADRS
057769,000442:
057770,000443: 43,3630 41374 NXTBNK CS SKEEP4
057771,000444: 43,3631 63720 AD LSTBNKCH # LAST BANK TO BE CHECKED
057772,000445: 43,3632 00006 EXTEND
057773,000446: 43,3633 13000 BZF ENDSUMS # END OF SUMMING OF BANKS.
057774,000447: 43,3634 31374 CA SKEEP4
057775,000448: 43,3635 64700 AD SBIT11
057776,000449: 43,3636 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
057777,000450: 43,3637 03643 TC CHKSUPR
057778,000451: 43,3640 34674 17TO20 CA SBIT15
057779,000452: 43,3641 27374 ADS SKEEP4 # SET FOR BANK 20
057780,000453: 43,3642 03657 TC GONXTBNK
057781,000454: 43,3643 74364 CHKSUPR MASK HI5
057782,000455: 43,3644 00006 EXTEND
057783,000456: 43,3645 13655 BZF NXTSUPR # INCREMENT SUPER BANK
057784,000457: 43,3646 63235 27TO30 AD S13BITS
057785,000458: 43,3647 00006 EXTEND
057786,000459: 43,3650 13652 BZF +2 # BANK SET FOR 30
057787,000460: 43,3651 03657 TC GONXTBNK
057788,000461: 43,3652 33233 CA SIXTY # FIRST SUPER BANK
057789,000462: 43,3653 27374 ADS SKEEP4
057790,000463: 43,3654 03657 TC GONXTBNK
057791,000464: 43,3655 63234 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
057792,000465: 43,3656 27374 ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
057793,000466: 43,3657 11377 GONXTBNK CCS SKEEP7
057794,000467: 43,3660 03522 TC COMMFX
057795,000468: 43,3661 34712 CA S+1
057796,000469: 43,3662 03540 TC FXFX
057797,000470: 43,3663 34704 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
057798,000471: 43,3664 03522 TC COMMFX
057799,000472:
057800,000473: 43,3665 31374 SOPTION CA SKEEP4
057801,000474: 43,3666 74364 MASK HI5 # = BANK BITS
057802,000475: 43,3667 04345 TC LEFT5
057803,000476: # # Page 1367
057804,000477: 43,3670 54001 TS L # BANK NUMBER BEFORE SUPER BANK
057805,000478: 43,3671 31374 CA SKEEP4
057806,000479: 43,3672 74373 MASK S8BITS # = SUPER BANK BITS
057807,000480: 43,3673 00006 EXTEND
057808,000481: 43,3674 13702 BZF SOPT # BEFORE SUPER BANK
057809,000482: 43,3675 54021 TS SR # SUPER BANK NECESSARY
057810,000483: 43,3676 30001 CA L
057811,000484: 43,3677 74716 MASK SEVEN
057812,000485: 43,3700 60021 AD SR
057813,000486: 43,3701 54001 TS L # BANK NUMBER WITH SUPER BANK
057814,000487: 43,3702 31376 SOPT CA SKEEP6 # *
057815,000488: 43,3703 00006 EXTEND # *
057816,000489: 43,3704 13706 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
057817,000490: 43,3705 02762 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
057818,000491: 43,3706 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
057819,000492: 43,3707 03711 TC +2
057820,000493: 43,3710 03712 TC +2
057821,000494: 43,3711 64712 AD S+1
057822,000495: 43,3712 55371 TS SKEEP1
057823,000496: 43,3713 40001 BNKCHK CS L # = - BANK NUMBER
057824,000497: 43,3714 61371 AD SKEEP1
057825,000498: 43,3715 67716 AD S-1
057826,000499: 43,3716 03270 TC -1CHK # CHECK SUM
057827,000500: 43,3717 03630 TC NXTBNK
057828,000501:
057829,000502: 43,3720 0067 EBANK= NEWJOB
057830,000503: 43,3720 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc