Source Code

These source-code files derive from a printout of Luminary 210 (Apollo 15-17 Lunar Module guidance computer program), from the personal library of original AGC developer Don Eyles, digitally photographed at archive.org, financially sponsored by Jim Lawton, and transcribed to source code by a team of volunteers. This colorized, syntax-highlighted form was created by assembling that transcribed source code. Note that the full page images are available on the Virtual AGC project page at archive.org, while reduced-size images are presented at the VirtualAGC project website. Report or fix any transcription errors at the Virtual AGC project code repository.

Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY 
	BY NASA 2021112-161 17:11 MAR. 19,1971
Note that the date is the date of the printout, not the date of the program revision.

055273,000002:                                                                                                  ## Copyright:   Public domain.
055274,000003:                                                                                                  ## Filename:    AGC_BLOCK_TWO_SELF-CHECK.agc
055275,000004:                                                                                                  ## Purpose:     A section of Luminary revision 210.
055276,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
055277,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 15-17.
055278,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
055279,000008:                                                                                                  ##              that the code format has been changed to conform to the
055280,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
055281,000010:                                                                                                  ##              original YUL assembler.
055282,000011:                                                                                                  ## Reference:   pp. 1281-1290
055283,000012:                                                                                                  ## Assembler:   yaYUL
055284,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
055285,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
055286,000015:                                                                                                  ## Mod history: 2016-11-17 JL   Created from Luminary131 version.
055287,000016:                                                                                                  ##              2016-12-03 JS   Compared to Luminary210 images. Updated where needed.
055288,000017: 

Page 1281

055290,000019:                                                                                                  #  PROGRAM DESCRIPTION                           DATE   20 DECEMBER 1967
055291,000020:                                                                                                  #  PROGRAM NAME - SELF-CHECK                     LOG SECTION  AGC BLOCK TWO SELF-CHECK
055292,000021:                                                                                                  #  MOD NO - 1                                    ASSEMBLY SUBROUTINE UTILITYM REV 25
055293,000022:                                                                                                  #  MOD BY - GAUNTT
055294,000023: 
055295,000024:                                                                                                  #  FUNCTIONAL DESCRIPTION
055296,000025:                                                                                                  #        PROGRAM HAS TWO MAIN PARTS.  THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
055297,000026:                                                                                                  #        PART OF THE BACK-UP IDLE LOOP.  THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
055298,000027:                                                                                                  #        STARTING VERB.
055299,000028: 
055300,000029:                                                                                                  #        THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
055301,000030: 
055302,000031:                                                                                                  #        THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME.
055303,000032: 
055304,000033:                                                                                                  #        IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK.  MORE DETAIL DESCRIPTION MAY BE
055305,000034:                                                                                                  #        FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
055306,000035: 
055307,000036:                                                                                                  #        THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27).  BELOW IS
055308,000037:                                                                                                  #        A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
055309,000038:                                                                                                  #        OCTAL, TO LOAD INTO SMODE.
055310,000039:                                                                                                  #                +-4             ERASABLE MEMORY
055311,000040:                                                                                                  #                +-5             FIXED MEMORY
055312,000041:                                                                                                  #                +-1,2,3,6,7,10  EVERYTHING IN OPTIONS 4 AND 5.
055313,000042:                                                                                                  #                -0              SAME AS +-10 UNTIL AN ERROR IS DETECTED.
055314,000043:                                                                                                  #                +0              NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
055315,000044: 
055316,000045:                                                                                                  #  WARNINGS
055317,000046:                                                                                                  #        USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
055318,000047:                                                                                                  #        SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
055319,000048: 
055320,000049:                                                                                                  #  CALLING SEQUENCE
055321,000050:                                                                                                  #        TO CALL SELF-CHECK KEY IN
055322,000051:                                                                                                  #                V 21 N 27 E     OPTION NUMBER E
055323,000052:                                                                                                  #        TO CALL SHOW-BANKSUM KEY IN
055324,000053:                                                                                                  #                V 91 E          DISPLAYS FIRST BANK
055325,000054:                                                                                                  #                V 33 E          PROCEED, DISPLAYS NEXT BANK
055326,000055: 
055327,000056:                                                                                                  #  EXIT MODES, NORMAL AND ALARM
055328,000057:                                                                                                  #        SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED.  IF SO + OPTION NUMBERS PUT
055329,000058:                                                                                                  #        COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
055330,000059: 
055331,000060:                                                                                                  #        THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
055332,000061: 
055333,000062:                                                                                                  #        SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E).  THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
055334,000063: 
055335,000064:                                                                                                  #  OUTPUT
055336,000065: 

Page 1282

055338,000067:                                                                                                  #        SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
055339,000068:                                                                                                  #        TURNS ON THE ALARM LIGHT.  THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E.  FOR FURTHER
055340,000069:                                                                                                  #        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,
055341,000070:                                                                                                  #        IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
055342,000071:                                                                                                  #        INITIATED FRESH START (SLAP1).
055343,000072: 
055344,000073:                                                                                                  #        SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
055345,000074:                                                                                                  #        THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
055346,000075: 
055347,000076:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
055348,000077:                                                                                                  #        ACCOMPLISHED BY FRESH START
055349,000078:                                                                                                  #                SMODE SET TO +0
055350,000079: 
055351,000080:                                                                                                  #  DEBRIS
055352,000081:                                                                                                  #        ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
055353,000082:                                                                                                  #        EXCEPTION IS A RESTART.  RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
055354,000083:                                                                                                  #        E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
055355,000084: 
055356,000085: 25,3771                                           BANK     25                                    
055357,000086: 43,2000                                           SETLOC   SELFCHEC                              
055358,000087: 43,2000                                           BANK                                           
055359,000088: 
055360,000089: 43,3235                                           COUNT*   $$/SELF                               
055361,000090: 43,3235     4744               SBIT1              EQUALS   BIT1                                  
055362,000091: 43,3235     4743               SBIT2              EQUALS   BIT2                                  
055363,000092: 43,3235     4742               SBIT3              EQUALS   BIT3                                  
055364,000093: 43,3235     4741               SBIT4              EQUALS   BIT4                                  
055365,000094: 43,3235     4740               SBIT5              EQUALS   BIT5                                  
055366,000095: 43,3235     4737               SBIT6              EQUALS   BIT6                                  
055367,000096: 43,3235     4736               SBIT7              EQUALS   BIT7                                  
055368,000097: 43,3235     4735               SBIT8              EQUALS   BIT8                                  
055369,000098: 43,3235     4734               SBIT9              EQUALS   BIT9                                  
055370,000099: 43,3235     4733               SBIT10             EQUALS   BIT10                                 
055371,000100: 43,3235     4732               SBIT11             EQUALS   BIT11                                 
055372,000101: 43,3235     4731               SBIT12             EQUALS   BIT12                                 
055373,000102: 43,3235     4730               SBIT13             EQUALS   BIT13                                 
055374,000103: 43,3235     4727               SBIT14             EQUALS   BIT14                                 
055375,000104: 43,3235     4726               SBIT15             EQUALS   BIT15                                 
055376,000105: 
055377,000106: 43,3235     4746               S+ZERO             EQUALS   ZERO                                  
055378,000107: 43,3235     4744               S+1                EQUALS   BIT1                                  
055379,000108: 43,3235     4743               S+2                EQUALS   BIT2                                  
055380,000109: 43,3235     6266               S+3                EQUALS   THREE                                 
055381,000110: 43,3235     4742               S+4                EQUALS   FOUR                                  
055382,000111: 43,3235     4747               S+5                EQUALS   FIVE                                  
055383,000112: 43,3235     6263               S+6                EQUALS   SIX                                   
055384,000113: 

Page 1283

055386,000115: 43,3235     4750               S+7                EQUALS   SEVEN                                 
055387,000116: 43,3235     4350               S8BITS             EQUALS   LOW8                                  #  00377
055388,000117: 43,3235     4762               CNTRCON            =        OCT50                                 #  USED IN CNTRCHK
055389,000118: 43,3235           00061        ERASCON1           OCTAL    00061                                 #  USED IN ERASCHK
055390,000119: 43,3236           01373        ERASCON2           OCTAL    01373                                 #  USED IN ERASCHK
055391,000120: 43,3237     5000               ERASCON6           =        OCT1400                               #  USED IN ERASCHK
055392,000121: 43,3237           01461        ERASCON3           OCTAL    01461                                 #  USED IN ERASCHK
055393,000122: 43,3240           01773        ERASCON4           OCTAL    01773                                 #  USED IN ERASCHK
055394,000123: 43,3241     5003               S10BITS            EQUALS   LOW10                                 #  01777, USED IN ERASCHK
055395,000124: 43,3241     5011               SBNK03             EQUALS   PRIO6                                 #  06000, USED IN ROPECHK
055396,000125: 43,3241     4341               -MAXADRS           =        HI5                                   #  FOR ROPECHK
055397,000126: 43,3241           00060        SIXTY              OCTAL    00060                                 
055398,000127: 43,3242           60017        SUPRCON            OCTAL    60017                                 #  USED IN ROPECHK
055399,000128: 43,3243           17777        S13BITS            OCTAL    17777                                 
055400,000129: 43,3244           25252        CONC+S1            OCTAL    25252                                 #  USED IN CYCLSHFT
055401,000130: 43,3245           52400        CONC+S2            OCTAL    52400                                 #  USED IN CYCLSHFT
055402,000131: 43,3246           76777        ERASCON5           OCTAL    76777                                 
055403,000132: 43,3247     5652               S-7                =        OCT77770                              
055404,000133: 43,3247     6133               S-4                EQUALS   NEG4                                  
055405,000134: 43,3247     7766               S-3                EQUALS   NEG3                                  
055406,000135: 43,3247     7767               S-2                EQUALS   NEG2                                  
055407,000136: 43,3247     7770               S-1                EQUALS   NEGONE                                
055408,000137: 43,3247     4745               S-ZERO             EQUALS   NEG0                                  
055409,000138: 
055410,000139: 43,3247  E3,1400                                  EBANK=   LST1                                  
055411,000140: 43,3247           01371        ADRS1              ADRES    SKEEP1                                
055412,000141: 43,3250           03341        SELFADRS           ADRES    SELFCHK                               #  SELFCHK RETURN ADDRESS.  SHOULD BE PUT
055413,000142:                                                                                                  #  IN SELFRET WHEN GOING FROM SELFCHK TO
055414,000143:                                                                                                  #  SHOWSUM AND PUT IN SKEEP1 WHEN GOING
055415,000144:                                                                                                  #  FROM SHOWSUM TO SELF-CHECK.
055416,000145: 
055417,000146: 43,3251           31360        PRERRORS           CA       ERESTORE                              #  IS IT NECESSARY TO RESTORE ERASABLE
055418,000147: 43,3252           00006                           EXTEND                                         
055419,000148: 43,3253           13262                           BZF      ERRORS                                #  NO
055420,000149: 43,3254           00006                           EXTEND                                         
055421,000150: 43,3255           31376                           DCA      SKEEP5                                
055422,000151: 43,3256           51377                           INDEX    SKEEP7                                
055423,000152: 43,3257           52001                           DXCH     0000                                  #  RESTORE THE TWO ERASABLE REGISTERS
055424,000153: 43,3260           34746                           CA       S+ZERO                                
055425,000154: 43,3261           55360                           TS       ERESTORE                              
055426,000155: 43,3262           00004        ERRORS             INHINT                                         
055427,000156: 43,3263           30002                           CA       Q                                     
055428,000157: 43,3264           55357                           TS       SFAIL                                 #  SAVE Q FOR FAILURE LOCATION
055429,000158: 43,3265           55363                           TS       ALMCADR                               #  FOR DISPLAY WITH BBANK AND ERCOUNT
055430,000159: 43,3266           25365                           INCR     ERCOUNT                               #  KEEP TRACK OF NUMBER OF MALFUNCTIONS.
055431,000160: 43,3267           05573        TCALARM2           TC       ALARM2                                
055432,000161: 43,3270           01102                           OCT      01102                                 #  SELF-CHECK MALFUNCTION INDICATOR
055433,000162: 43,3271           11362                           CCS      SMODE                                 
055434,000163: 43,3272           34746        SIDLOOP            CA       S+ZERO                                
055435,000164: 43,3273           55362                           TS       SMODE                                 
055436,000165: 

Page 1284

055438,000167: 43,3274           03341                           TC       SELFCHK                               #  GO TO IDLE LOOP
055439,000168: 43,3275           01357                           TC       SFAIL                                 #  CONTINUE WITH SELF-CHECK
055440,000169: 
055441,000170: 43,3276           10000        -1CHK              CCS      A                                     
055442,000171: 43,3277           13251                           TCF      PRERRORS                              
055443,000172: 43,3300           13251                           TCF      PRERRORS                              
055444,000173: 43,3301           10000                           CCS      A                                     
055445,000174: 43,3302           13251                           TCF      PRERRORS                              
055446,000175: 43,3303           00002                           TC       Q                                     
055447,000176: 
055448,000177: 43,3304           00006        SMODECHK           EXTEND                                         
055449,000178: 43,3305           23371                           QXCH     SKEEP1                                
055450,000179: 43,3306           03335                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
055451,000180: 43,3307           11362                           CCS      SMODE                                 
055452,000181: 43,3310           03315                           TC       SOPTIONS                              
055453,000182: 43,3311           03306                           TC       SMODECHK   +2                         #  TO BACKUP IDLE LOOP
055454,000183: 43,3312           03315                           TC       SOPTIONS                              
055455,000184: 43,3313           25366                           INCR     SCOUNT                                
055456,000185: 43,3314           01371                           TC       SKEEP1                                #  CONTINUE WITH SELF-CHECK
055457,000186: 
055458,000187: 43,3315           65652        SOPTIONS           AD       S-7                                   
055459,000188: 43,3316           00006                           EXTEND                                         
055460,000189: 43,3317           63321                           BZMF     +2                                    #  FOR OPTIONS BELOW NINE.
055461,000190: 43,3320           03272        BNKOPTN            TC       SIDLOOP                               #  ILLEGAL OPTION.  GO TO IDLE LOOP.
055462,000191: 43,3321           25366                           INCR     SCOUNT                                #  FOR OPTIONS BELOW NINE.
055463,000192: 43,3322           64750                           AD       S+7                                   
055464,000193: 
055465,000194: 43,3323           50000                           INDEX    A                                     
055466,000195: 43,3324           03325                           TC       SOPTION1                              
055467,000196: 43,3325           01371        SOPTION1           TC       SKEEP1                                #  WAS TC+TCF
055468,000197: 43,3326           01371        SOPTION2           TC       SKEEP1                                #  WAS IN:OUT1
055469,000198: 43,3327           01371        SOPTION3           TC       SKEEP1                                #  WAS COUNTCHK
055470,000199: 43,3330           03342        SOPTION4           TC       ERASCHK                               
055471,000200: 43,3331           03523        SOPTION5           TC       ROPECHK                               
055472,000201: 43,3332           01371        SOPTION6           TC       SKEEP1                                
055473,000202: 43,3333           01371        SOPTION7           TC       SKEEP1                                
055474,000203: 43,3334           01371        SOPTON10           TC       SKEEP1                                #  CONTINUE WITH SELF-CHECK
055475,000204: 
055476,000205: 43,3335           00006        CHECKNJ            EXTEND                                         
055477,000206: 43,3336           23361                           QXCH     SELFRET                               #  SAVE RETURN ADDRESS WHILE TESTING NEWJOB
055478,000207: 43,3337           04626                           TC       POSTJUMP                              #  TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
055479,000208: 43,3340           03216                           CADR     ADVAN                                 
055480,000209: 
055481,000210: 43,3341           03304        SELFCHK            TC       SMODECHK                              #  ** CHARLEY, COME IN HERE
055482,000211: 
055483,000212:                                                                                                  #  SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
055484,000213:                                                                                                  #  SKEEP6 HOLDS B(X+1).
055485,000214:                                                                                                  #  SKEEP5 HOLDS B(X).
055486,000215:                                                                                                  #  SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
055487,000216:                                                                                                  #  SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
055488,000217: 

Page 1285

055490,000219:                                                                                                  #  SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
055491,000220: 
055492,000221:                                                                                                  #  ERASCHK TAKES APPROXMATELY 7 SECONDS
055493,000222: 
055494,000223: 43,3342           34744        ERASCHK            CA       S+1                                   
055495,000224: 43,3343           55372                           TS       SKEEP2                                
055496,000225: 43,3344           34746        0EBANK             CA       S+ZERO                                
055497,000226: 43,3345           54003                           TS       EBANK                                 
055498,000227: 43,3346           33237                           CA       ERASCON3                              #  01461
055499,000228: 43,3347           55377                           TS       SKEEP7                                #  STARTING ADDRESS
055500,000229: 43,3350           35003                           CA       S10BITS                               #  01777
055501,000230: 43,3351           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
055502,000231: 43,3352           03372                           TC       ERASLOOP                              
055503,000232: 
055504,000233: 43,3353           35000        E134567B           CA       ERASCON6                              #  01400
055505,000234: 43,3354           55377                           TS       SKEEP7                                #  STARTING ADDRESS
055506,000235: 43,3355           35003                           CA       S10BITS                               #  01777
055507,000236: 43,3356           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
055508,000237: 43,3357           03372                           TC       ERASLOOP                              
055509,000238: 
055510,000239: 43,3360           35000        2EBANK             CA       ERASCON6                              #  01400
055511,000240: 43,3361           55377                           TS       SKEEP7                                #  STARTING ADDRESS
055512,000241: 43,3362           33240                           CA       ERASCON4                              #  01773
055513,000242: 43,3363           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
055514,000243: 43,3364           03372                           TC       ERASLOOP                              
055515,000244: 
055516,000245: 43,3365           55372        NOEBANK            TS       SKEEP2                                #  +0
055517,000246: 43,3366           33235                           CA       ERASCON1                              #  00061
055518,000247: 43,3367           55377                           TS       SKEEP7                                #  STARTING ADDRESS
055519,000248: 43,3370           33236                           CA       ERASCON2                              #  01373
055520,000249: 43,3371           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
055521,000250: 
055522,000251: 43,3372           00004        ERASLOOP           INHINT                                         
055523,000252: 43,3373           30003                           CA       EBANK                                 #  STORES C(EBANK)
055524,000253: 43,3374           55374                           TS       SKEEP4                                
055525,000254: 43,3375           00006                           EXTEND                                         
055526,000255: 43,3376           51377                           NDX      SKEEP7                                
055527,000256: 43,3377           30001                           DCA      0000                                  
055528,000257: 43,3400           53376                           DXCH     SKEEP5                                #  STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
055529,000258: 43,3401           31377                           CA       SKEEP7                                
055530,000259: 43,3402           55360                           TS       ERESTORE                              #  IF RESTART, RESTORE C(X) AND C(X+1)
055531,000260: 43,3403           54001                           TS       L                                     
055532,000261: 43,3404           24001                           INCR     L                                     
055533,000262: 43,3405           50000                           NDX      A                                     
055534,000263: 43,3406           52001                           DXCH     0000                                  #  PUTS OWN ADDRESS IN X AND X +1
055535,000264: 43,3407           51377                           NDX      SKEEP7                                
055536,000265: 43,3410           40001                           CS       0001                                  #  CS X+1
055537,000266: 43,3411           51377                           NDX      SKEEP7                                
055538,000267: 43,3412           60000                           AD       0000                                  #  AD X
055539,000268: 43,3413           03276                           TC       -1CHK                                 
055540,000269: 43,3414           31360                           CA       ERESTORE                              #  HAS ERASABLE BEEN RESTORED
055541,000270: 43,3415           00006                           EXTEND                                         
055542,000271: 

Page 1286

055544,000273: 43,3416           13442                           BZF      ELOOPFIN                              #  YES, EXIT ERASLOOP.
055545,000274: 43,3417           00006                           EXTEND                                         
055546,000275: 43,3420           51377                           NDX      SKEEP7                                
055547,000276: 43,3421           40001                           DCS      0000                                  #  COMPLEMENT OF ADDRESS OF X AND X+1
055548,000277: 43,3422           51377                           NDX      SKEEP7                                
055549,000278: 43,3423           52001                           DXCH     0000                                  #  PUT COMPLEMENT OF ADDRESS OF X AND X+1
055550,000279: 43,3424           51377                           NDX      SKEEP7                                
055551,000280: 43,3425           40000                           CS       0000                                  #  CS X
055552,000281: 43,3426           51377                           NDX      SKEEP7                                
055553,000282: 43,3427           60001                           AD       0001                                  #  AD X+1
055554,000283: 43,3430           03276                           TC       -1CHK                                 
055555,000284: 43,3431           31360                           CA       ERESTORE                              #  HAS ERASABLE BEEN RESTORED
055556,000285: 43,3432           00006                           EXTEND                                         
055557,000286: 43,3433           13442                           BZF      ELOOPFIN                              #  YES, EXIT ERASLOOP.
055558,000287: 43,3434           00006                           EXTEND                                         
055559,000288: 43,3435           31376                           DCA      SKEEP5                                
055560,000289: 43,3436           51377                           NDX      SKEEP7                                
055561,000290: 43,3437           52001                           DXCH     0000                                  #  PUT B(X) AND B(X+1) BACK INTO X AND X+1
055562,000291: 43,3440           34746                           CA       S+ZERO                                
055563,000292: 43,3441           55360                           TS       ERESTORE                              #  IF RESTART, DO NOT RESTORE C(X), C(X+1)
055564,000293: 43,3442           00003        ELOOPFIN           RELINT                                         
055565,000294: 43,3443           03335                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
055566,000295: 43,3444           31374                           CA       SKEEP4                                #  REPLACES B(EBANK)
055567,000296: 43,3445           54003                           TS       EBANK                                 
055568,000297: 43,3446           25377                           INCR     SKEEP7                                
055569,000298: 43,3447           41377                           CS       SKEEP7                                
055570,000299: 43,3450           61373                           AD       SKEEP3                                
055571,000300: 43,3451           00006                           EXTEND                                         
055572,000301: 43,3452           13454                           BZF      +2                                    
055573,000302: 43,3453           03372                           TC       ERASLOOP                              #  GO TO NEXT ADDRESS IN SAME BANK
055574,000303: 43,3454           11372                           CCS      SKEEP2                                
055575,000304: 43,3455           03365                           TC       NOEBANK                               
055576,000305: 43,3456           25372                           INCR     SKEEP2                                #  PUT +1 IN SKEEP2.
055577,000306: 43,3457           30003                           CA       EBANK                                 
055578,000307: 43,3460           64734                           AD       SBIT9                                 
055579,000308: 43,3461           54003                           TS       EBANK                                 
055580,000309: 43,3462           63246                           AD       ERASCON5                              #  76777, CHECK FOR BANK E2
055581,000310: 43,3463           00006                           EXTEND                                         
055582,000311: 43,3464           13360                           BZF      2EBANK                                
055583,000312: 43,3465           10003                           CCS      EBANK                                 
055584,000313: 43,3466           03353                           TC       E134567B                              #  GO TO EBANKS 1,3,4,5,6, AND 7
055585,000314: 43,3467           35000                           CA       ERASCON6                              #  END OF ERASCHK
055586,000315: 43,3470           54003                           TS       EBANK                                 
055587,000316: 
055588,000317:                                                                                                  #  CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
055589,000318:                                                                                                  #  INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
055590,000319: 
055591,000320: 43,3471           34762        CNTRCHK            CA       CNTRCON                               #  00050
055592,000321: 43,3472           55372        CNTRLOOP           TS       SKEEP2                                
055593,000322: 43,3473           64741                           AD       SBIT4                                 #  +10 OCTAL
055594,000323: 43,3474           50000                           INDEX    A                                     
055595,000324: 43,3475           40000                           CS       0000                                  
055596,000325: 

Page 1287

055598,000327: 43,3476           11372                           CCS      SKEEP2                                
055599,000328: 43,3477           03472                           TC       CNTRLOOP                              
055600,000329: 
055601,000330:                                                                                                  #  CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
055602,000331: 
055603,000332: 43,3500           33244        CYCLSHFT           CA       CONC+S1                               #  25252
055604,000333: 43,3501           54020                           TS       CYR                                   #  C(CYR) = 12525
055605,000334: 43,3502           54022                           TS       CYL                                   #  C(CYL) = 52524
055606,000335: 43,3503           54021                           TS       SR                                    #  C(SR) = 12525
055607,000336: 43,3504           54023                           TS       EDOP                                  #  C(EDOP) = 00125
055608,000337: 43,3505           60020                           AD       CYR                                   #  37777         C(CYR) = 45252
055609,000338: 43,3506           60022                           AD       CYL                                   #  00-12524      C(CYL) = 25251
055610,000339: 43,3507           60021                           AD       SR                                    #  00-25251      C(SR) = 05252
055611,000340: 43,3510           60023                           AD       EDOP                                  #  00-25376      C(EDOP) = +0
055612,000341: 43,3511           63245                           AD       CONC+S2                               #  C(CONC+S2) = 52400
055613,000342: 43,3512           03276                           TC       -1CHK                                 
055614,000343: 43,3513           60020                           AD       CYR                                   #  45252
055615,000344: 43,3514           60022                           AD       CYL                                   #  72523
055616,000345: 43,3515           60021                           AD       SR                                    #  77775
055617,000346: 43,3516           60023                           AD       EDOP                                  #  77775
055618,000347: 43,3517           64744                           AD       S+1                                   #  77776
055619,000348: 43,3520           03276                           TC       -1CHK                                 
055620,000349: 
055621,000350: 43,3521           25367                           INCR     SCOUNT     +1                         
055622,000351: 43,3522           03304                           TC       SMODECHK                              
055623,000352: 
055624,000353:                                                                                                  #  SKEEP1 HOLDS SUM
055625,000354:                                                                                                  #  SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
055626,000355:                                                                                                  #  SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
055627,000356:                                                                                                  #  SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
055628,000357:                                                                                                  #                               (04000 TO 07777 IN FXFX BANKS)
055629,000358:                                                                                                  #  SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
055630,000359:                                                                                                  #  SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
055631,000360:                                                                                                  #  SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
055632,000361:                                                                                                  #  SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
055633,000362:                                                                                                  #  SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
055634,000363: 
055635,000364: 43,3523           34745        ROPECHK            CA       S-ZERO                                #  *
055636,000365: 43,3524           55376                           TS       SKEEP6                                #  * -0 FOR ROPECHK.
055637,000366: 43,3525           34746        STSHOSUM           CA       S+ZERO                                #  * SHOULD BE ROPECHK
055638,000367: 
055639,000368: 43,3526           55374                           TS       SKEEP4                                #  BANK NUMBER
055640,000369: 43,3527           34744                           CA       S+1                                   
055641,000370: 43,3530           55377        COMMFX             TS       SKEEP7                                
055642,000371: 43,3531           34746                           CA       S+ZERO                                
055643,000372: 43,3532           55371                           TS       SKEEP1                                
055644,000373: 43,3533           55373                           TS       SKEEP3                                
055645,000374: 43,3534           34744                           CA       S+1                                   
055646,000375: 43,3535           55375                           TS       SKEEP5                                #  COUNTS DOWN 2 TC SELF WORDS
055647,000376: 43,3536           31374        COMADRS            CA       SKEEP4                                
055648,000377: 43,3537           54001                           TS       L                                     #  TO SET SUPER BANK
055649,000378: 43,3540           74341                           MASK     HI5                                   
055650,000379: 

Page 1288

055652,000381: 43,3541           61373                           AD       SKEEP3                                
055653,000382: 43,3542           04642                           TC       SUPDACAL                              #  SUPER DATA CALL
055654,000383: 43,3543           03566                           TC       ADSUM                                 
055655,000384: 43,3544           64732                           AD       SBIT11                                #  02000
055656,000385: 43,3545           03577                           TC       ADRSCHK                               
055657,000386: 
055658,000387: 43,3546           40000        FXFX               CS       A                                     
055659,000388: 43,3547           55377                           TS       SKEEP7                                
055660,000389: 43,3550           00006                           EXTEND                                         
055661,000390: 43,3551           13554                           BZF      +3                                    
055662,000391: 43,3552           34731                           CA       SBIT12                                #  04000, STARTING ADDRESS OF BANK 02
055663,000392: 43,3553           03555                           TC       +2                                    
055664,000393: 43,3554           35011                           CA       SBNK03                                #  06000, STARTING ADDRESS OF BANK 03
055665,000394: 43,3555           55373                           TS       SKEEP3                                
055666,000395: 43,3556           34746                           CA       S+ZERO                                
055667,000396: 43,3557           55371                           TS       SKEEP1                                
055668,000397: 43,3560           34744                           CA       S+1                                   
055669,000398: 43,3561           55375                           TS       SKEEP5                                #  COUNTS DOWN 2 TC SELF WORDS
055670,000399: 43,3562           51373        FXADRS             INDEX    SKEEP3                                
055671,000400: 43,3563           30000                           CA       0000                                  
055672,000401: 43,3564           03566                           TC       ADSUM                                 
055673,000402: 43,3565           03577                           TC       ADRSCHK                               
055674,000403: 
055675,000404: 43,3566           55372        ADSUM              TS       SKEEP2                                
055676,000405: 43,3567           61371                           AD       SKEEP1                                
055677,000406: 43,3570           55371                           TS       SKEEP1                                
055678,000407: 43,3571           34746                           CAF      S+ZERO                                
055679,000408: 43,3572           61371                           AD       SKEEP1                                
055680,000409: 43,3573           55371                           TS       SKEEP1                                
055681,000410: 43,3574           41372                           CS       SKEEP2                                
055682,000411: 43,3575           61373                           AD       SKEEP3                                
055683,000412: 43,3576           00002                           TC       Q                                     
055684,000413: 
055685,000414: 43,3577           22000        ADRSCHK            LXCH     A                                     
055686,000415: 43,3600           31373                           CA       SKEEP3                                
055687,000416: 43,3601           75003                           MASK     LOW10                                 #  RELATIVE ADDRESS
055688,000417: 43,3602           64341                           AD       -MAXADRS                              #  SUBTRACT MAX RELATIVE ADDRESS = 1777.
055689,000418: 43,3603           00006                           EXTEND                                         
055690,000419: 43,3604           13673                           BZF      SOPTION                               #  CHECKSUM FINISHED IF LAST ADDRESS.
055691,000420: 43,3605           11375                           CCS      SKEEP5                                #  IS CHECKSUM FINISHED
055692,000421: 43,3606           03611                           TC       +3                                    #  NO
055693,000422: 43,3607           03611                           TC       +2                                    #  NO
055694,000423: 43,3610           03673                           TC       SOPTION                               #  GO TO ROPECHK SHOWSUM OPTION
055695,000424: 43,3611           10001                           CCS      L                                     #  -0 MEANS A TC SELF WORD.
055696,000425: 43,3612           03621                           TC       CONTINU                               
055697,000426: 43,3613           03621                           TC       CONTINU                               
055698,000427: 43,3614           03621                           TC       CONTINU                               
055699,000428: 43,3615           11375                           CCS      SKEEP5                                
055700,000429: 43,3616           03622                           TC       CONTINU    +1                         
055701,000430: 43,3617           37770                           CA       S-1                                   
055702,000431: 

Page 1289

055704,000433: 43,3620           03622                           TC       CONTINU    +1                         #  AD IN THE BUGGER WORD
055705,000434: 43,3621           34744        CONTINU            CA       S+1                                   #  MAKE SURE TWO CONSECUTIVE TC SELF WORDS
055706,000435: 43,3622           55375                           TS       SKEEP5                                
055707,000436: 43,3623           11376                           CCS      SKEEP6                                #  *
055708,000437: 43,3624           10067                           CCS      NEWJOB                                #  * +1, SHOWSUM
055709,000438: 43,3625           05113                           TC       CHANG1                                #  *
055710,000439: 43,3626           03630                           TC       +2                                    #  *
055711,000440: 43,3627           03335                           TC       CHECKNJ                               #  -0 IN SKEEP6 FOR ROPECHK
055712,000441: 
055713,000442: 43,3630           25373        ADRS+1             INCR     SKEEP3                                
055714,000443: 43,3631           11377                           CCS      SKEEP7                                
055715,000444: 43,3632           03536                           TC       COMADRS                               
055716,000445: 43,3633           03536                           TC       COMADRS                               
055717,000446: 43,3634           03562                           TC       FXADRS                                
055718,000447: 43,3635           03562                           TC       FXADRS                                
055719,000448: 
055720,000449: 43,3636           41374        NXTBNK             CS       SKEEP4                                
055721,000450: 43,3637           63726                           AD       LSTBNKCH                              #  LAST BANK TO BE CHECKED
055722,000451: 43,3640           00006                           EXTEND                                         
055723,000452: 43,3641           13130                           BZF      ENDSUMS                               #  END OF SUMMING OF BANKS.
055724,000453: 43,3642           31374                           CA       SKEEP4                                
055725,000454: 43,3643           64732                           AD       SBIT11                                
055726,000455: 43,3644           55374                           TS       SKEEP4                                #  37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
055727,000456: 43,3645           03651                           TC       CHKSUPR                               
055728,000457: 43,3646           34726        17TO20             CA       SBIT15                                
055729,000458: 43,3647           27374                           ADS      SKEEP4                                #  SET FOR BANK 20
055730,000459: 43,3650           03665                           TC       GONXTBNK                              
055731,000460: 43,3651           74341        CHKSUPR            MASK     HI5                                   
055732,000461: 43,3652           00006                           EXTEND                                         
055733,000462: 43,3653           13663                           BZF      NXTSUPR                               #  INCREMENT SUPER BANK
055734,000463: 43,3654           63243        27TO30             AD       S13BITS                               
055735,000464: 43,3655           00006                           EXTEND                                         
055736,000465: 43,3656           13660                           BZF      +2                                    #  BANK SET FOR 30
055737,000466: 43,3657           03665                           TC       GONXTBNK                              
055738,000467: 43,3660           33241                           CA       SIXTY                                 #  FIRST SUPER BANK
055739,000468: 43,3661           27374                           ADS      SKEEP4                                
055740,000469: 43,3662           03665                           TC       GONXTBNK                              
055741,000470: 43,3663           63242        NXTSUPR            AD       SUPRCON                               #  SET BNK 30 + INCR SUPR BNK AND CANCEL
055742,000471: 43,3664           27374                           ADS      SKEEP4                                #  ERC BIT OF THE 37 TO 40 ADVANCE.
055743,000472: 43,3665           11377        GONXTBNK           CCS      SKEEP7                                
055744,000473: 43,3666           03530                           TC       COMMFX                                
055745,000474: 43,3667           34744                           CA       S+1                                   
055746,000475: 43,3670           03546                           TC       FXFX                                  
055747,000476: 43,3671           34736                           CA       SBIT7                                 #  HAS TO BE LARGER THAN NO OF FXSW BANKS.
055748,000477: 43,3672           03530                           TC       COMMFX                                
055749,000478: 
055750,000479: 43,3673           31374        SOPTION            CA       SKEEP4                                
055751,000480: 43,3674           74341                           MASK     HI5                                   #  = BANK BITS
055752,000481: 43,3675           04322                           TC       LEFT5                                 
055753,000482: 43,3676           54001                           TS       L                                     #  BANK NUMBER BEFORE SUPER BANK
055754,000483: 

Page 1290

055756,000485: 43,3677           31374                           CA       SKEEP4                                
055757,000486: 43,3700           74350                           MASK     S8BITS                                #  = SUPER BANK BITS
055758,000487: 43,3701           00006                           EXTEND                                         
055759,000488: 43,3702           13710                           BZF      SOPT                                  #  BEFORE SUPER BANK
055760,000489: 43,3703           54021                           TS       SR                                    #  SUPER BANK NECESSARY
055761,000490: 43,3704           30001                           CA       L                                     
055762,000491: 43,3705           74750                           MASK     SEVEN                                 
055763,000492: 43,3706           60021                           AD       SR                                    
055764,000493: 43,3707           54001                           TS       L                                     #  BANK NUMBER WITH SUPER BANK
055765,000494: 43,3710           31376        SOPT               CA       SKEEP6                                #  *
055766,000495: 43,3711           00006                           EXTEND                                         #  *
055767,000496: 43,3712           13714                           BZF      +2                                    #  * ON -0 CONTINUE WITH ROPE CHECK.
055768,000497: 43,3713           03112                           TC       SDISPLAY                              #  * ON +1 GO TO DISPLAY OF SUM.
055769,000498: 43,3714           11371                           CCS      SKEEP1                                #  FORCE SUM TO ABSOLUTE VALUE.
055770,000499: 43,3715           03717                           TC       +2                                    
055771,000500: 43,3716           03720                           TC       +2                                    
055772,000501: 43,3717           64744                           AD       S+1                                   
055773,000502: 43,3720           55371                           TS       SKEEP1                                
055774,000503: 43,3721           40001        BNKCHK             CS       L                                     #  = - BANK NUMBER
055775,000504: 43,3722           61371                           AD       SKEEP1                                
055776,000505: 43,3723           67770                           AD       S-1                                   
055777,000506: 43,3724           03276                           TC       -1CHK                                 #  CHECK SUM
055778,000507: 43,3725           03636                           TC       NXTBNK                                
055779,000508: 
055780,000509: 43,3726     0067                                  EBANK=   NEWJOB                                
055781,000510: 43,3726           66100        LSTBNKCH           BBCON*                                         #  * CONSTANT, LAST BANK.

End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc.  Parent file is MAIN.agc