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.

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

Page 1281

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

Page 1282

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

Page 1283

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

Page 1284

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

Page 1285

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

Page 1286

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

Page 1287

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

Page 1288

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

Page 1289

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

Page 1290

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

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