Source Code

   YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS       BY MSTEWART JUN. 28,2017
This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations.

014202,000002:                                                                                                  ## Copyright:   Public domain.
014203,000003:                                                                                                  ## Filename:    AGC_BLOCK_TWO_SELF-CHECK.agc
014204,000004:                                                                                                  ## Purpose:     This program is designed to extensively test the Apollo Guidance Computer
014205,000005:                                                                                                  ##              (specifically the LM instantiation of it). It is built on top of a heavily
014206,000006:                                                                                                  ##              stripped-down Aurora 12, with all code ostensibly added by the DAP Group
014207,000007:                                                                                                  ##              removed. Instead Borealis expands upon the tests provided by Aurora,
014208,000008:                                                                                                  ##              including corrected tests from Retread 44 and tests from Ron Burkey's
014209,000009:                                                                                                  ##              Validation.
014210,000010:                                                                                                  ## Assembler:   yaYUL
014211,000011:                                                                                                  ## Contact:     Mike Stewart <mastewar1@gmail.com>.
014212,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
014213,000013:                                                                                                  ## Mod history: 2016-12-20 MAS  Created from Aurora 12 (with much DAP stuff removed).
014214,000014:                                                                                                  ##              2016-12-21 MAS  Shuffled some things around for multi-bank handling,
014215,000015:                                                                                                  ##                              and put in jumps to Retread instruction checks and back.
014216,000016:                                                                                                  ##              2017-01-04 MAS  Fleshed out the rest of the hardware alarm tests. Also
014217,000017:                                                                                                  ##                              pulled back all updates added by the time of Sunburst 120.
014218,000018:                                                                                                  ##                              and put in jumps to Retread instruction checks and back.
014219,000019:                                                                                                  ##              2017-01-15 MAS  Added transfers to and from the new extended tests.
014220,000020:                                                                                                  ##              2017-01-28 RSB  WTIH -> WITH.
014221,000021:                                                                                                  ##              2017-03-27 MAS  A few corrections for the hardware alarm tests: counter
014222,000022:                                                                                                  ##                              alarms are now filtered out because they can happen at
014223,000023:                                                                                                  ##                              random during other restarts, if counter increments had
014224,000024:                                                                                                  ##                              been requested. Also added testing of the Night Watchman's
014225,000025:                                                                                                  ##                              stretching out of its monitor output for 1.28s. Also
014226,000026:                                                                                                  ##                              adopted a bugfix from Sunburst 120 that stopped the AGC
014227,000027:                                                                                                  ##                              from crashing when running a self-test after the DSKY test.
014228,000028: 
014229,000029:                                                                                                  #  PROGRAM DESCRIPTION                                                         DATE  14 FEBRUARY 1967
014230,000030:                                                                                                  #  PROGRAM NAME - SELF-CHECK                                                   LOG SECTION AGC BLOCK TWO SELF-CHECK
014231,000031:                                                                                                  #  MOD NO - 0                                                                  ASSEMBLY SUNBURST REV 107
014232,000032:                                                                                                  #  MOD BY - GAUNTT
014233,000033: 
014234,000034: 
014235,000035:                                                                                                  #  FUNCTIONAL DESCRIPTION
014236,000036: 
014237,000037:                                                                                                  #       PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
014238,000038:                                                                                                  #  PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
014239,000039:                                                                                                  #  STARTING VERB.
014240,000040:                                                                                                  #       THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
014241,000041:                                                                                                  #       THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME.
014242,000042:                                                                                                  #       A THIRD SECTION, DSKYCHK, LIGHTS UP ALL THE DSKY ELECTROLUMINESCENT ELEMENTS.
014243,000043:                                                                                                  #       IN ALL THERE ARE 15 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
014244,000044:                                                                                                  #  FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966.
014245,000045:                                                                                                  #       THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
014246,000046:                                                                                                  #  A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
014247,000047:                                                                                                  #  OCTAL, TO LOAD INTO SMODE.
014248,000048:                                                                                                  #  +-1  ALL PULSES POSSIBLE BY INTERNAL CONTROL OF THE COMPUTER.
014249,000049:                                                                                                  #  +-2  ALL THE IN-OUT INSTRUCTION PULSES.
014250,000050:                                                                                                  #  +-3  SPECIAL AND CENTRAL REGISTERS, ALL BIT COMBINATIONS.
014251,000051:                                                                                                  #  +-4  ERASABLE MEMORY
014252,000052:                                                                                                  #  +-5  FIXED MEMORY
014253,000053:                                                                                                  #  +-6,7,10  EVERYTHING IN THE PREVIOUS 5 OPTIONS.
014254,000054:                                                                                                  #  +-11  TURNS ON THE ELECTROLUMINESCENT DISPLAY IN THE DSKY.
014255,000055:                                                                                                  #  -0   SAME AS +-10 UNTIL AN ERROR IS DETECTED.
014256,000056:                                                                                                  #  +0   NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
014257,000057: 
014258,000058: 
014259,000059:                                                                                                  #  WARNINGS
014260,000060: 
014261,000061:                                                                                                  #       SMODE LOADED WITH GREATER THAN OCTAL 11 PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
014262,000062: 
014263,000063: 
014264,000064: 
014265,000065:                                                                                                  #  CALLING SEQUENCE
014266,000066: 
014267,000067:                                                                                                  #       TO CALL SELF-CHECK KEY IN
014268,000068:                                                                                                  #            V 21 N 27 E OPTION NUMBER E
014269,000069:                                                                                                  #       TO CALL DSKYCHK KEY IN
014270,000070:                                                                                                  #            V 21 N 27 E +-11 E
014271,000071:                                                                                                  #       TO CALL SHOW-BANKSUM KEY IN
014272,000072:                                                                                                  #            V 56 E         DISPLAYS FIRST BANK
014273,000073:                                                                                                  #            V 33 E         PROCEED, DISPLAYS NEXT BANK
014274,000074: 
014275,000075:                                                                                                  #  EXIT MODES, NORMAL AND ALARM
014276,000076: 
014277,000077:                                                                                                  #       SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
014278,000078:                                                                                                  #  COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
014279,000079:                                                                                                  #       THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
014280,000080:                                                                                                  #       COMPLETION OF DSKYCHK PUTS THE COMPUTER INTO THE BACKUP IDLE LOOP.
014281,000081:                                                                                                  #       SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
014282,000082: 
014283,000083: 
014284,000084:                                                                                                  #  OUTPUT
014285,000085: 
014286,000086:                                                                                                  #       SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
014287,000087:                                                                                                  #  TRIGGERS THE ALARM. THE ALARM ROUTINE DISPLAYS THE THREE FAILREGS. IF OPERATOR DESIRES FURTHER INFORMATION HE
014288,000088:                                                                                                  #  MAY KEY IN   V 05 N 31 E    DSKY DISPLAY IN R1 WILL BE ADDRESS +1 OF WHERE THE ERROR WAS DETECTED, IN R2 THE
014289,000089:                                                                                                  #  BANK NUMBER OF SELF-CHECK (37 OCTAL), AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST
014290,000090:                                                                                                  #  FRESH START
014291,000091:                                                                                                  #       DSKYCHK LIGHTS UP THE DSKY DISPLAY ELEMENTS STARTING WITH THE DIGIT9 IN ALL POSITIONS. EACH DISPLAY LASTS
014292,000092:                                                                                                  #  5 SECONDS
014293,000093:                                                                                                  #       SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 +- THE BANK SUM (SHOULD EQUAL THE BANK NUMBER), IN R2 THE
014294,000094:                                                                                                  #  BANK NUMBER, AND IN R3 THE BUGGER WORD.
014295,000095: 
014296,000096: 
014297,000097:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
014298,000098: 
014299,000099:                                                                                                  #       ACCOMPLISHED BY FRESH START
014300,000100:                                                                                                  #            SMODE & ERESTORE SET TO +0
014301,000101: 
014302,000102: 
014303,000103:                                                                                                  #  DEBRIS
014304,000104: 
014305,000105:                                                                                                  #       ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
014306,000106:                                                                                                  #  EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK DOES A FRESH START.
014307,000107: 
014308,000108:    5504                                           SETLOC   ENDIMUF                               
014309,000109: 
014310,000110:    5504           00001        SBIT1              OCT      00001                                 #  SBIT1 and SBIT2 must be together                          
014311,000111:    5505           00002        SBIT2              OCT      00002                                 
014312,000112:    5506     7667               SBIT3              EQUALS   BIT3                                  
014313,000113:    5506     7666               SBIT4              EQUALS   BIT4                                  
014314,000114:    5506     7665               SBIT5              EQUALS   BIT5                                  
014315,000115:    5506     7664               SBIT6              EQUALS   BIT6                                  
014316,000116:    5506     7663               SBIT7              EQUALS   BIT7                                  
014317,000117:    5506     7662               SBIT8              EQUALS   BIT8                                  
014318,000118:    5506     7661               SBIT9              EQUALS   BIT9                                  
014319,000119:    5506     7660               SBIT10             EQUALS   BIT10                                 
014320,000120:    5506     7657               SBIT11             EQUALS   BIT11                                 
014321,000121:    5506     7656               SBIT12             EQUALS   BIT12                                 
014322,000122:    5506     7655               SBIT13             EQUALS   BIT13                                 
014323,000123:    5506     7654               SBIT14             EQUALS   BIT14                                 
014324,000124:    5506     7653               SBIT15             EQUALS   BIT15                                 
014325,000125: 
014326,000126:    5506     7675               S+ZERO             EQUALS   ZERO                                  
014327,000127:    5506     5504               S+1                EQUALS   SBIT1                                 
014328,000128:    5506     5505               S+2                EQUALS   SBIT2                                 
014329,000129:    5506     6176               S+3                EQUALS   THREE                                 
014330,000130:    5506     7667               S+4                EQUALS   FOUR                                  
014331,000131:    5506     7674               S+5                EQUALS   FIVE                                  
014332,000132:    5506     6173               S+6                EQUALS   SIX                                   
014333,000133:    5506     7673               S+7                EQUALS   SEVEN                                 
014334,000134:    5506     5227               S8BITS             EQUALS   LOW8                                  #  00377
014335,000135:    5506           00050        CNTRCON            OCTAL    00050                                 #  USED IN CNTRCHK
014336,000136:    5507           00061        ERASCON1           OCTAL    00061                                 #  USED IN ERASCHK
014337,000137:    5510           01374        ERASCON2           OCTAL    01374                                 #  USED IN ERASCHK
014338,000138:    5511           01400        ERASCON6           OCTAL    01400                                 #  USED IN ERASCHK
014339,000139:    5512           01461        ERASCON3           OCTAL    01461                                 #  USED IN ERASCHK
014340,000140:    5513           01774        ERASCON4           OCTAL    01774                                 #  USED IN ERASCHK
014341,000141:    5514     7701               S10BITS            EQUALS   LOW10                                 #  01777, USED IN ERASCHK
014342,000142:    5514     4467               SBNK03             EQUALS   PRIO6                                 #  06000, USED IN ROPECHK
014343,000143:    5514           00060        SIXTY              OCTAL    00060                                 
014344,000144:    5515           60017        SUPRCON            OCTAL    60017                                 #  USED IN ROPECHK
014345,000145:    5516           37777        S+MAX              OCTAL    37777                                 #  ** S+MAX AND S-MAX MUST BE TOGETHER
014346,000146:    5517           40000        S-MAX              OCTAL    40000                                 #  FOR DOUBLE PRECISION CHECKING.
014347,000147:    5520           17777        S13BITS            OCTAL    17777                                 
014348,000148:    5521           25252        CONC+S1            OCTAL    25252                                 #  USED IN CYCLSHFT
014349,000149:    5522           37737        OVCON              OCTAL    37737                                 #  USED IN RUPTCHK
014350,000150:    5523           37776        DVCON              OCTAL    37776                                 
014351,000151:    5524     7663               SUPER100           EQUALS   BIT7                                  
014352,000152:    5524           52400        CONC+S2            OCTAL    52400                                 #  USED IN CYCLSHFT
014353,000153:    5525           76777        ERASCON5           OCTAL    76777                                 
014354,000154:    5526           77770        S-7                OCTAL    77770                                 
014355,000155:    5527     6043               S-4                EQUALS   NEG4                                  
014356,000156:    5527     7702               S-3                EQUALS   NEG3                                  
014357,000157:    5527     7700               S-2                EQUALS   NEG2                                  
014358,000158:    5527     7677               S-1                EQUALS   NEGONE                                
014359,000159:    5527     7676               S-ZERO             EQUALS   NEG0                                  
014360,000160: 
014361,000161:    5527  E3,1400                                  EBANK=   LST1                                  
014362,000162:    5527           01371        ADRS1              ADRES    SKEEP1                                
014363,000163: 
014364,000164:    5530           00021        SRADRS             ADRES    SR                                    
014365,000165: 
014366,000166:    5531     5504               PRITYBIT           EQUALS   SBIT1                                 
014367,000167:    5531     7667               TCTRPBIT           EQUALS   SBIT3                                 
014368,000168:    5531     7666               RPTLKBIT           EQUALS   SBIT4                                 
014369,000169:    5531     7665               WATCHBIT           EQUALS   SBIT5                                 
014370,000170:    5531           77677        CTRMASK            OCT      77677                                 
014371,000171:    5532           00036        300MSEC            DEC      30         B-14                       
014372,000172:    5533           00310        2SEC               DEC      200        B-14                       
014373,000173:    5534     7663               0.64SEC            EQUALS   BIT7                                  
014374,000174:    5534           70000        BNK34ADR           FCADR    BANK34                                #  With superbank = 100, this becomes bank 44
014375,000175: 
014376,000176: 
014377,000177:    5535           31111        PRERRORS           CA       ERESTORE                              #  IS IT NECESSARY TO RESTORE ERASABLE
014378,000178:    5536           00006                           EXTEND                                         
014379,000179:    5537           15546                           BZF      ERRORS                                #  NO
014380,000180:    5540           00006                           EXTEND                                         
014381,000181:    5541           31376                           DCA      SKEEP5                                
014382,000182:    5542           51377                           INDEX    SKEEP7                                
014383,000183:    5543           52001                           DXCH     0000                                  #  RESTORE THE TWO ERASABLE REGISTERS
014384,000184:    5544           37675                           CA       S+ZERO                                
014385,000185:    5545           55111                           TS       ERESTORE                              
014386,000186:    5546           30002        ERRORS             CA       Q                                     
014387,000187:    5547           55364                           TS       SFAIL                                 #  SAVE Q FOR FAILURE LOCATION
014388,000188:    5550           25365                           INCR     ERCOUNT                               #  KEEP TRACK OF NUMBER OF MALFUNCTIONS.
014389,000189:    5551           05405                           TC       ALARM                                 
014390,000190:    5552           01102                           OCT      01102                                 #  SELF-CHECK MALFUNCTION INDICATOR
014391,000191:    5553           11361                           CCS      SMODE                                 
014392,000192:    5554           37675                           CA       S+ZERO                                
014393,000193:    5555           55361                           TS       SMODE                                 
014394,000194:    5556           05560                           TC       SELFIDLE                              #  GO TO IDLE LOOP
014395,000195:    5557           01364                           TC       SFAIL                                 #  CONTINUE WITH SELF-CHECK
014396,000196: 
014397,000197:    5560           04104        SELFIDLE           TC       POSTJUMP                              
014398,000198:    5561           40033                           CADR     SELFCHK                               
014399,000199: 
014400,000200:    5562           40000        +0CHK              CS       A                                     
014401,000201:    5563           10000        -0CHK              CCS      A                                     
014402,000202:    5564           15546                           TCF      ERRORS                                
014403,000203:    5565           15546                           TCF      ERRORS                                
014404,000204:    5566           15546                           TCF      ERRORS                                
014405,000205:    5567           00002                           TC       Q                                     
014406,000206: 
014407,000207:    5570           40000        +1CHK              CS       A                                     
014408,000208:    5571           10000        -1CHK              CCS      A                                     
014409,000209:    5572           15535                           TCF      PRERRORS                              
014410,000210:    5573           15535                           TCF      PRERRORS                              
014411,000211:    5574           10000                           CCS      A                                     
014412,000212:    5575           15535                           TCF      PRERRORS                              
014413,000213:    5576           00002                           TC       Q                                     
014414,000214: 
014415,000215:    5577                        ENDSELFF           EQUALS                                         
014416,000216: 
014417,000217: 20,2000                                           BANK     20                                    
014418,000218: 
014419,000219: 20,2000           02033        SELFADRS           ADRES    SELFCHK                               #  SELFCHK RETURN ADDRESS.  SHOULD BE PUT
014420,000220:                                                                                                  #  IN SELFRET WHEN GOING FROM SELFCHK TO
014421,000221:                                                                                                  #  SHOWSUM AND PUT IN SKEEP1 WHEN GOING
014422,000222:                                                                                                  #  FROM SHOWSUM TO SELF-CHECK.
014423,000223: 
014424,000224: 20,2001           00006        SMODECHK           EXTEND                                         
014425,000225: 20,2002           23371                           QXCH     SKEEP1                                
014426,000226: 20,2003           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
014427,000227: 20,2004           11361                           CCS      SMODE                                 
014428,000228: 20,2005           02012                           TC       SOPTIONS                              
014429,000229: 20,2006           02003                           TC       SMODECHK   +2                         #  TO BACKUP IDLE LOOP
014430,000230: 20,2007           02012                           TC       SOPTIONS                              
014431,000231: 20,2010           25366                           INCR     SCOUNT                                
014432,000232: 20,2011           01371                           TC       SKEEP1                                #  CONTINUE WITH SELF-CHECK
014433,000233: 
014434,000234: 20,2012           65526        SOPTIONS           AD       S-7                                   
014435,000235: 20,2013           00006                           EXTEND                                         
014436,000236: 20,2014           62017                           BZMF     +3                                    #  FOR OPTIONS BELOW NINE.
014437,000237: 20,2015           04104        BNKOPTN            TC       POSTJUMP                              #  GO TO ANOTHER BANK FOR OPTIONS ABOVE 8.
014438,000238: 20,2016           03015                           CADR     SBNKOPTN                              
014439,000239: 20,2017           25366                           INCR     SCOUNT                                #  FOR OPTIONS BELOW NINE.
014440,000240: 20,2020           67673                           AD       S+7                                   
014441,000241: 
014442,000242: 20,2021           50000                           INDEX    A                                     
014443,000243: 20,2022           02023                           TC       SOPTION1                              
014444,000244: 20,2023           02034        SOPTION1           TC       TC+TCF                                
014445,000245: 20,2024           02730        SOPTION2           TC       IN-OUT1                               
014446,000246: 20,2025           03004        SOPTION3           TC       COUNTCHK                              
014447,000247: 20,2026           03100        SOPTION4           TC       ERASCHK                               
014448,000248: 20,2027           03265        SOPTION5           TC       ROPECHK                               
014449,000249: 20,2030           03531        SOPTION6           TC       MPNMBRS                               
014450,000250: 20,2031           03620        SOPTION7           TC       DVCHECK                               
014451,000251: 20,2032           01371        SOPTON10           TC       SKEEP1                                #  CONTINUE WITH SELF-CHECK
014452,000252: 
014453,000253: 20,2033           02001        SELFCHK            TC       SMODECHK                              #  ** CHARLEY, COME IN HERE
014454,000254: 
014455,000255:                                                                                                  #  TC+TCF CHECKS ALL OF THE PULSES OF TCF AND ALL OF THE PULSES OF TC
014456,000256:                                                                                                  #  EXCEPT ABILITY TO TC TO ERASABLE.
014457,000257:                                                                                                  #  ALSO FIRST TIME CS FIXED MEMORY IS USED
014458,000258: 20,2034           02036        TC+TCF             TC       +2                                    
014459,000259: 20,2035           02043                           TC       CCSCHK                                
014460,000260: 20,2036           12040                           TCF      +2                                    #  $ TCF FIXED MEMORY
014461,000261: 20,2037           05546                           TC       ERRORS                                
014462,000262: 20,2040           46176                           CS       S+3                                   #  $ CS FIXED MEMORY
014463,000263: 20,2041           00002                           TC       Q                                     #  $
014464,000264: 20,2042           05546                           TC       ERRORS                                
014465,000265: 
014466,000266:                                                                                                  #  CCSCHK CHECKS ALL OF CCS EXCEPT RB WG.
014467,000267:                                                                                                  #  ALSO CHECKS TS ERASABLE, CS SC, AND CS ERASABLE MEMORY.
014468,000268: 20,2043           10000        CCSCHK             CCS      A                                     #  $ CCS SC, C(A) = -3
014469,000269: 20,2044           05546                           TC       ERRORS                                
014470,000270: 20,2045           05546                           TC       ERRORS                                
014471,000271: 20,2046           02050                           TC       +2                                    
014472,000272: 20,2047           05546                           TC       ERRORS                                
014473,000273: 20,2050           10000                           CCS      A                                     #  $ C(A) = +2, RESULT OF CCS -NUMBER
014474,000274: 20,2051           02055                           TC       +4                                    
014475,000275: 20,2052           05546                           TC       ERRORS                                
014476,000276: 20,2053           05546                           TC       ERRORS                                
014477,000277: 20,2054           05546                           TC       ERRORS                                
014478,000278: 20,2055           55371                           TS       SKEEP1                                #  $ TS ERASABLE
014479,000279: 20,2056           11371                           CCS      SKEEP1                                #  $ CCS ERASABLE, C(A) = +1, RESULT OF
014480,000280: 20,2057           02063                           TC       +4                                    #  CCS +NUMBER
014481,000281: 20,2060           05546                           TC       ERRORS                                
014482,000282: 20,2061           05546                           TC       ERRORS                                
014483,000283: 20,2062           05546                           TC       ERRORS                                
014484,000284: 20,2063           10000                           CCS      A                                     #  $ C(A) = +0, RESULT OF CCS +1, CHECKS CI
014485,000285: 20,2064           05546                           TC       ERRORS                                
014486,000286: 20,2065           02070                           TC       +3                                    
014487,000287: 20,2066           05546                           TC       ERRORS                                
014488,000288: 20,2067           05546                           TC       ERRORS                                
014489,000289: 20,2070           40000                           CS       A                                     #  $ CS SC
014490,000290: 20,2071           10000                           CCS      A                                     #  $ C(A) = -0, RESULT OF CCS +0
014491,000291: 20,2072           05546                           TC       ERRORS                                
014492,000292: 20,2073           05546                           TC       ERRORS                                
014493,000293: 20,2074           05546                           TC       ERRORS                                
014494,000294: 20,2075           10000                           CCS      A                                     #  $ RESULT OF CCS -0
014495,000295: 20,2076           05546                           TC       ERRORS                                
014496,000296: 20,2077           02102                           TC       +3                                    
014497,000297: 20,2100           05546                           TC       ERRORS                                
014498,000298: 20,2101           05546                           TC       ERRORS                                
014499,000299: 20,2102           41371                           CS       SKEEP1                                #  $ CS ERASABLE. ALSO CHECKS BACK INTO
014500,000300: 20,2103           05571                           TC       -1CHK                                 #  ERASABLE SEQUENCE.
014501,000301: 
014502,000302:                                                                                                  #  BZMFCHK CHECKS ALL PULSES OF BZMF.
014503,000303:                                                                                                  #  ALSO CHECKS CA FIXED MEMORY.
014504,000304: 20,2104           37661        BZMFCHK            CAF      SBIT9                                 #  $ CA FIXED MEMORY
014505,000305: 20,2105           00006                           EXTEND                                         
014506,000306: 20,2106           62127                           BZMF     ERRBZMF                               
014507,000307: 20,2107           40000                           CS       A                                     
014508,000308: 20,2110           00006                           EXTEND                                         
014509,000309: 20,2111           62113                           BZMF     +2                                    #  $
014510,000310: 20,2112           05546                           TC       ERRORS                                
014511,000311: 20,2113           35516                           CA       S+MAX                                 
014512,000312: 20,2114           65504                           AD       S+1                                   
014513,000313: 20,2115           00006                           EXTEND                                         
014514,000314: 20,2116           62130                           BZMF     ERRBZMF2                              #  $ + OVERFLOW, CHECK 01-0000
014515,000315: 20,2117           37675                           CA       S+ZERO                                
014516,000316: 20,2120           00006                           EXTEND                                         
014517,000317: 20,2121           62123                           BZMF     +2                                    #  $
014518,000318: 20,2122           05546                           TC       ERRORS                                
014519,000319: 20,2123           40000                           CS       A                                     
014520,000320: 20,2124           00006                           EXTEND                                         
014521,000321: 20,2125           62131                           BZMF     +4                                    #  $
014522,000322: 20,2126           05546                           TC       ERRORS                                
014523,000323: 20,2127           05546        ERRBZMF            TC       ERRORS                                #  FROM BZMF WITH +NON-ZERO
014524,000324: 20,2130           05546        ERRBZMF2           TC       ERRORS                                #  OVERFLOW WITH +0
014525,000325: 
014526,000326:                                                                                                  #  RESTORE1 AND 2 CHECKS INSTRUCTIONS (WITH STAR) ABILITY TO READ BACK INTO
014527,000327:                                                                                                  #  ERASABLE MEMORY. NOT NORMALLY INTERESTED IN CONTENTS OF A REGISTER.
014528,000328:                                                                                                  #  FIRST TIME MANY INSTRUCTIONS ARE USED.
014529,000329:                                                                                                  #  RESTORE1 ALSO CHECKS INDEX (WITHOUT EXTRACODE) ERASABLE, CA ERASABLE,
014530,000330:                                                                                                  #  AND MASK ERASABLE.
014531,000331: 20,2131           35530        RESTORE1           CAF      SRADRS                                #  ADDRESS OF SR
014532,000332: 20,2132           55377                           TS       SKEEP7                                
014533,000333: 20,2133           35227                           CA       S8BITS                                #  00377
014534,000334: 20,2134           51377                           NDX      SKEEP7                                #  $ INDEX ERASABLE                       *
014535,000335: 20,2135           54000                           TS       0000                                  #  TS SR, C(SR) = 00177
014536,000336: 20,2136           10021                           CCS      SR                                    #  C(SR) = 00077                          *
014537,000337: 20,2137           51377                           NDX      SKEEP7                                #  CHECKS C(SKEEP7) CORRECT
014538,000338: 20,2140           40000                           CS       0000                                  #  C(SR) = 00037
014539,000339: 20,2141           60021                           AD       SR                                    #  C(SR) = 00017                          *
014540,000340: 20,2142           00006                           EXTEND                                         
014541,000341: 20,2143           20021                           MSU      SR                                    #  C(SR) = 00007                          *
014542,000342: 20,2144           00006                           EXTEND                                         
014543,000343: 20,2145           60021                           SU       SR                                    #  C(SR) = 00003                          *
014544,000344: 20,2146           30021                           CA       SR                                    #  $ C(SR) = +1, C(A) = +3, CA ERASABLE   *
014545,000345: 20,2147           70021                           MASK     SR                                    #  $ B(SR) = C(SR) = +1, MASK ERASABLE    *
014546,000346: 20,2150           05570                           TC       +1CHK                                 
014547,000347: 20,2151           00006                           EXTEND                                         
014548,000348: 20,2152           70021                           MP       SR                                    
014549,000349: 20,2153           00006                           EXTEND                                         
014550,000350: 20,2154           10021                           DV       SR                                    
014551,000351: 20,2155           30021                           CA       SR                                    #  $ CA ERASABLE
014552,000352: 20,2156           05570                           TC       +1CHK                                 #  MAKES SURE MASK, MP, AND DV DO NOT EDIT.
014553,000353: 
014554,000354:                                                                                                  #  RESTORE2 ALSO CHECKS XCH ERASABLE,INDEX (WITH EXTRACODE) ERASABLE AND
014555,000355:                                                                                                  #  FIXED MEMORY, DCS ERASABLE, CA SC, AND DCA ERASABLE.
014556,000356: 20,2157           35527        RESTORE2           CAF      ADRS1                                 #  ADDRESS OF SKEEP1
014557,000357: 20,2160           55376                           TS       SKEEP6                                
014558,000358: 20,2161           37677                           CA       S-1                                   
014559,000359: 20,2162           55371                           TS       SKEEP1                                #  -1
014560,000360: 20,2163           40000                           CS       A                                     
014561,000361: 20,2164           57371                           XCH      SKEEP1                                #  $ XCH ERASABLE, C(SKEEP1) = +1
014562,000362: 20,2165           57372                           XCH      SKEEP2                                #  $ XCH ERASABLE, C(SKEEP2) = -1
014563,000363: 20,2166           00006                           EXTEND                                         
014564,000364: 20,2167           51376                           NDX      SKEEP6                                #  $ NDX ERASABLE                         *
014565,000365: 20,2170           30001                           DCA      0000                                  #  DCA ERASABLE                           *
014566,000366: 20,2171           00006                           EXTEND                                         
014567,000367: 20,2172           55527                           NDX      ADRS1                                 #  $ NDX FIXED MEMORY                     *
014568,000368: 20,2173           40001                           DCS      0000                                  #  $ DCS ERASABLE MEMORY                  *
014569,000369: 20,2174           05571                           TC       -1CHK                                 #  MAKES SURE DCS ERASABLE OK
014570,000370: 20,2175           30001                           CA       L                                     #  $ CA SC
014571,000371: 20,2176           05570                           TC       +1CHK                                 
014572,000372: 20,2177           00006                           EXTEND                                         
014573,000373: 20,2200           51376                           NDX      SKEEP6                                #  MAKE SURE C(SKEEP6) IS STILL CORRECT
014574,000374: 20,2201           30001                           DCA      0000                                  #  $ DCA ERASABLE
014575,000375: 20,2202           05570                           TC       +1CHK                                 
014576,000376: 20,2203           30001                           CA       L                                     
014577,000377: 20,2204           05571                           TC       -1CHK                                 
014578,000378: 
014579,000379:                                                                                                  #  RESTORE3 CHECKS ABILITY TO RESTORE INSTRUCTIONS BACK INTO ERASABLE
014580,000380:                                                                                                  #  MEMORY. IT IS ONLY NECESSARY TO RESTORE ONE INSTRUCTION BECAUSE THE
014581,000381:                                                                                                  #  G REGISTER DOES NOT CHANGE.
014582,000382:                                                                                                  #  ALSO CHECKS TC TO ERASABLE MEMORY.
014583,000383: 20,2205           37653        RESTORE3           CA       SBIT15                                #  CS
014584,000384: 20,2206           55371                           TS       SKEEP1                                #  40000
014585,000385: 20,2207           35505                           CA       S+2                                   #  TC Q
014586,000386: 20,2210           55372                           TS       SKEEP2                                
014587,000387: 20,2211           35504                           CA       S+1                                   #  +1
014588,000388: 20,2212           01371                           TC       SKEEP1                                #  $ TC ERASABLE
014589,000389: 20,2213           05571                           TC       -1CHK                                 #  FIRST TIME BACK FROM ERASABLE.
014590,000390: 20,2214           01371                           TC       SKEEP1                                
014591,000391: 20,2215           05563                           TC       -0CHK                                 #  SECOND TIME BACK FROM ERASABLE.
014592,000392: 
014593,000393:                                                                                                  #  BZFCHK CHECKS ALL PULSES OF BZF.
014594,000394: 20,2216           37674        BZFCHK             CAF      S+5                                   
014595,000395: 20,2217           00006                           EXTEND                                         
014596,000396: 20,2220           12243                           BZF      ERRBZF1                               #  $
014597,000397: 20,2221           40000                           CS       A                                     
014598,000398: 20,2222           00006                           EXTEND                                         
014599,000399: 20,2223           12244                           BZF      ERRBZF2                               #  $
014600,000400: 20,2224           35516                           CA       S+MAX                                 
014601,000401: 20,2225           65504                           AD       S+1                                   #  01-00000
014602,000402: 20,2226           00006                           EXTEND                                         
014603,000403: 20,2227           12245                           BZF      ERRBZF3                               #  $
014604,000404: 20,2230           40000                           CS       A                                     
014605,000405: 20,2231           00006                           EXTEND                                         
014606,000406: 20,2232           12246                           BZF      ERRBZF4                               #  $
014607,000407: 20,2233           37675                           CAF      S+ZERO                                
014608,000408: 20,2234           00006                           EXTEND                                         
014609,000409: 20,2235           12237                           BZF      +2                                    #  $
014610,000410: 20,2236           05546                           TC       ERRORS                                
014611,000411: 20,2237           40000                           CS       A                                     
014612,000412: 20,2240           00006                           EXTEND                                         
014613,000413: 20,2241           12247                           BZF      +6                                    #  $
014614,000414: 20,2242           05546                           TC       ERRORS                                
014615,000415: 20,2243           05546        ERRBZF1            TC       ERRORS                                #  +NON-ZERO
014616,000416: 20,2244           05546        ERRBZF2            TC       ERRORS                                #  -NON-ZERO
014617,000417: 20,2245           05546        ERRBZF3            TC       ERRORS                                #  01-00000
014618,000418: 20,2246           05546        ERRBZF4            TC       ERRORS                                #  10-37777
014619,000419: 
014620,000420:                                                                                                  #  DXCH+DIM CHECKS ALL PULSES OF DXCH AND DIM.
014621,000421:                                                                                                  #  ALSO CHECKS TS WITH OVERFLOW, TS SC, CA SC, AND AD ERASABLE.
014622,000422: 20,2247           35516        DXCH+DIM           CA       S+MAX                                 
014623,000423: 20,2250           65505                           AD       S+2                                   #  OVERFLOW WITH +1
014624,000424: 20,2251           55371                           TS       SKEEP1                                #  $ TS WITH OVERFLOW, +1
014625,000425: 20,2252           05546                           TC       ERRORS                                
014626,000426: 20,2253           40000                           CS       A                                     
014627,000427: 20,2254           55372                           TS       SKEEP2                                
014628,000428: 20,2255           45516                           CS       S+MAX                                 
014629,000429: 20,2256           54001                           TS       L                                     #  $ TS SC, 40000
014630,000430: 20,2257           40000                           CS       A                                     #  37777
014631,000431: 20,2260           53372                           DXCH     SKEEP1                                #  $ DXCH ERASABLE
014632,000432: 20,2261           05570                           TC       +1CHK                                 
014633,000433: 20,2262           30001                           CA       L                                     #  $ CA SC
014634,000434: 20,2263           05571                           TC       -1CHK                                 
014635,000435: 20,2264           00006                           EXTEND                                         
014636,000436: 20,2265           27371                           DIM      SKEEP1                                #  $ DIM ERASABLE, DIM + NUMBER, 37776
014637,000437: 20,2266           00006                           EXTEND                                         
014638,000438: 20,2267           27372                           DIM      SKEEP2                                #  $ DIM - NUMBER, 40001
014639,000439: 20,2270           35516                           CA       S+MAX                                 #  37777
014640,000440: 20,2271           61372                           AD       SKEEP2                                #  $ AD ERASABLE, +1
014641,000441: 20,2272           05570                           TC       +1CHK                                 
014642,000442: 20,2273           45516                           CS       S+MAX                                 #  40000
014643,000443: 20,2274           61371                           AD       SKEEP1                                #  -1
014644,000444: 20,2275           05571                           TC       -1CHK                                 
014645,000445: 20,2276           35504                           CA       S+1                                   #  +1
014646,000446: 20,2277           00006                           EXTEND                                         
014647,000447: 20,2300           26000                           DIM      A                                     #  $ DIM SC, DIM +1
014648,000448: 20,2301           00006                           EXTEND                                         
014649,000449: 20,2302           26000                           DIM      A                                     #  $ DIM -0
014650,000450: 20,2303           05563                           TC       -0CHK                                 
014651,000451: 20,2304           00006                           EXTEND                                         
014652,000452: 20,2305           26000                           DIM      A                                     #  $ DIM +0
014653,000453: 20,2306           05562                           TC       +0CHK                                 
014654,000454: 
014655,000455:                                                                                                  #  DAS+INCR CHECKS ALL PULSES OF DAS AND INCR.
014656,000456:                                                                                                  #  ALSO CHECKS DCA FIXED, LXCH SC, DCA ERASABLE, AD ERASABLE, DCS FIXED,
014657,000457:                                                                                                  #  DCS ERASABLE, AND XCH SC.
014658,000458: 20,2307           37677        DAS+INCR           CA       S-1                                   
014659,000459: 20,2310           54001        DAS++              TS       L                                     #  -1
014660,000460: 20,2311           35505                           CA       S+2                                   #  +2
014661,000461: 20,2312           20001                           DAS      A                                     #  $ DAS SC, C(A) = +4 AND C(L) = -2
014662,000462: 20,2313           67702                           AD       S-3                                   #  $ AD FIXED MEMORY
014663,000463: 20,2314           05570                           TC       +1CHK                                 
014664,000464: 20,2315           35504                           CA       S+1                                   
014665,000465: 20,2316           60001                           AD       L                                     #  $ AD SC, -1
014666,000466: 20,2317           05571                           TC       -1CHK                                 
014667,000467:                                                                                                  #  DAS WITH INTERFLOW IN LOW ORDER AND NET OVERFLOW
014668,000468: 20,2320           00006        DAS+-              EXTEND                                         
014669,000469: 20,2321           35517                           DCA      S+MAX                                 #  $DCA FIXED MEMORY
014670,000470: 20,2322           53374                           DXCH     SKEEP3                                #  37777, 40000
014671,000471: 20,2323           37700                           CA       S-2                                   
014672,000472: 20,2324           54001                           TS       L                                     
014673,000473: 20,2325           36176                           CA       S+3                                   #  C(A) = +3, C(L) = -2
014674,000474: 20,2326           21374                           DAS      SKEEP3                                #  $ DAS ERASABLE
014675,000475: 20,2327           22000                           LXCH     A                                     #  $ LXCH SC
014676,000476: 20,2330           05562                           TC       +0CHK                                 
014677,000477: 20,2331           30001                           CA       L                                     
014678,000478: 20,2332           05570                           TC       +1CHK                                 
014679,000479: 20,2333           00006                           EXTEND                                         
014680,000480: 20,2334           31374                           DCA      SKEEP3                                #  $ DCA ERASABLE
014681,000481: 20,2335           22000                           LXCH     A                                     #  C(A) = -1, C(L) = +1
014682,000482: 20,2336           05571                           TC       -1CHK                                 
014683,000483: 20,2337           30001                           CA       L                                     
014684,000484: 20,2340           05570                           TC       +1CHK                                 
014685,000485:                                                                                                  #  INCRCHK CHECKS ALL INCR PULSES EXCEPT WOVR.
014686,000486: 20,2341           25374        INCRCHK            INCR     SKEEP4                                #  $ INCR ERASABLE, -0
014687,000487: 20,2342           61374                           AD       SKEEP4                                #  $ AD ERASABLE
014688,000488: 20,2343           05563                           TC       -0CHK                                 
014689,000489: 20,2344           24000                           INCR     A                                     #  $ INCR SC, +1
014690,000490: 20,2345           05570                           TC       +1CHK                                 
014691,000491:                                                                                                  #  DAS WITH OVERFLOW IN LOW ORDER AND NET UNDERFLOW
014692,000492: 20,2346           00006        DAS-+              EXTEND                                         
014693,000493: 20,2347           45517                           DCS      S+MAX                                 #  $ DCS FIXED MEMORY
014694,000494: 20,2350           53372                           DXCH     SKEEP1                                #  40000, 37777
014695,000495: 20,2351           36176                           CA       S+3                                   #  +3
014696,000496: 20,2352           54001                           TS       L                                     
014697,000497: 20,2353           40000                           CS       A                                     #  -3
014698,000498: 20,2354           21372                           DAS      SKEEP1                                #  $
014699,000499: 20,2355           05571                           TC       -1CHK                                 
014700,000500: 20,2356           00006                           EXTEND                                         
014701,000501: 20,2357           41372                           DCS      SKEEP1                                #  $ DCS ERASABLE (+1, -2)
014702,000502: 20,2360           56001                           XCH      L                                     #  $ XCH SC (-2, +1)
014703,000503: 20,2361           65504                           AD       S+1                                   
014704,000504: 20,2362           05571                           TC       -1CHK                                 
014705,000505: 20,2363           30001                           CA       L                                     
014706,000506: 20,2364           05570                           TC       +1CHK                                 
014707,000507: 
014708,000508:                                                                                                  #  MPCHK CHECKS ALL PULSES OF MP, AUG, AND ADS.
014709,000509: 20,2365           35504        MPCHK              CA       S+1                                   
014710,000510: 20,2366           00006                           EXTEND                                         
014711,000511: 20,2367           24000                           AUG      A                                     #  $ AUG SC, +2
014712,000512: 20,2370           55375                           TS       SKEEP5                                #  +2
014713,000513: 20,2371           40000                           CS       A                                     
014714,000514: 20,2372           54002                           TS       Q                                     #  -2
014715,000515: 20,2373           40000                           CS       A                                     
014716,000516: 20,2374           00006        MP++               EXTEND                                         
014717,000517: 20,2375           75516                           MP       S+MAX                                 #  $ MP FIXED MEMORY, +1, 37776
014718,000518: 20,2376           60001                           AD       L                                     #  37777
014719,000519: 20,2377           00006        MP+-               EXTEND                                         
014720,000520: 20,2400           70002                           MP       Q                                     #  $ MP SC, -1, 40001
014721,000521: 20,2401           26001                           ADS      L                                     #  $ ADS SC, 40000
014722,000522: 20,2402           65523                           AD       DVCON                                 
014723,000523: 20,2403           05571                           TC       -1CHK                                 
014724,000524: 20,2404           30001                           CA       L                                     
014725,000525: 20,2405           00006        MP-+               EXTEND                                         
014726,000526: 20,2406           71375                           MP       SKEEP5                                #  $ MP ERASABLE, -1, 40001
014727,000527: 20,2407           55376                           TS       SKEEP6                                
014728,000528: 20,2410           00006                           EXTEND                                         
014729,000529: 20,2411           25376                           AUG      SKEEP6                                #  $ AUG ERASABLE, -2
014730,000530: 20,2412           60001                           AD       L                                     #  40000
014731,000531: 20,2413           00006        MP--               EXTEND                                         
014732,000532: 20,2414           71376                           MP       SKEEP6                                #  $ +1, 37776
014733,000533: 20,2415           05570                           TC       +1CHK                                 
014734,000534: 20,2416           40001                           CS       L                                     #  40001
014735,000535: 20,2417           65523                           AD       DVCON                                 
014736,000536: 20,2420           05563                           TC       -0CHK                                 
014737,000537: 20,2421           35504                           CA       S+1                                   
014738,000538: 20,2422           27376                           ADS      SKEEP6                                #  $ ADS ERASABLE, +1
014739,000539: 20,2423           05571                           TC       -1CHK                                 
014740,000540: 20,2424           31376                           CA       SKEEP6                                
014741,000541: 20,2425           05571                           TC       -1CHK                                 
014742,000542: 
014743,000543:                                                                                                  #  DVCH AND DVQXCHK CHECK ALL OF PULSES OF DV AND QXCH.
014744,000544:                                                                                                  #  ALSO CHECKS TS WITH UNDERFLOW
014745,000545: 20,2426           37654        DVCHK              CA       SBIT14                                #  20000
014746,000546: 20,2427           55371                           TS       SKEEP1                                
014747,000547: 20,2430           60000                           AD       A                                     #  OVERFLOW
014748,000548: 20,2431           65504                           AD       S+1                                   
014749,000549: 20,2432           54001                           TS       L                                     #  $ TS SC WITH OVERFLOW, +1
014750,000550: 20,2433           05546                           TC       ERRORS                                
014751,000551: 20,2434           40000                           CS       A                                     
014752,000552: 20,2435           55372                           TS       SKEEP2                                #  -1
014753,000553: 20,2436           37676                           CA       S-ZERO                                #  -0
014754,000554: 20,2437           23371                           LXCH     SKEEP1                                #  $ LXCH ERASABLE
014755,000555: 20,2440           00006        DV++               EXTEND                                         
014756,000556: 20,2441           11371                           DV       SKEEP1                                #  $ DV ERASABLE, C(A) = 20000, C(L) = +0
014757,000557: 20,2442           40000                           CS       A                                     
014758,000558: 20,2443           22000                           LXCH     A                                     
014759,000559: 20,2444           05562                           TC       +0CHK                                 
014760,000560: 20,2445           00006        DV--               EXTEND                                         
014761,000561: 20,2446           11372                           DV       SKEEP2                                #  $ 20000, +0
014762,000562: 20,2447           55374                           TS       SKEEP4                                #  20000
014763,000563: 20,2450           40000                           CS       A                                     
014764,000564: 20,2451           55373                           TS       SKEEP3                                #  -(20000)
014765,000565: 20,2452           67654                           AD       SBIT14                                
014766,000566: 20,2453           05563                           TC       -0CHK                                 
014767,000567: 20,2454           30001                           CA       L                                     
014768,000568: 20,2455           05563                           TC       -0CHK                                 
014769,000569: 20,2456           35516        DV+-               CA       S+MAX                                 
014770,000570: 20,2457           54001                           TS       L                                     
014771,000571: 20,2460           35520                           CA       S13BITS                               
014772,000572: 20,2461           00006                           EXTEND                                         
014773,000573: 20,2462           11373                           DV       SKEEP3                                #  $ -(37777), +(17777)
014774,000574: 20,2463           56001                           XCH      L                                     
014775,000575: 20,2464           40000                           CS       A                                     
014776,000576: 20,2465           00006        DV-+               EXTEND                                         
014777,000577: 20,2466           11374                           DV       SKEEP4                                #  $ -(37777), -(17777)
014778,000578: 20,2467           65523                           AD       DVCON                                 
014779,000579: 20,2470           05571                           TC       -1CHK                                 
014780,000580: 20,2471           35516                           CA       S+MAX                                 
014781,000581: 20,2472           56001                           XCH      L                                     #  ALSO PUTS 37777 IN L FOR DV-+,-
014782,000582: 20,2473           67654                           AD       SBIT14                                
014783,000583: 20,2474           05570                           TC       +1CHK                                 
014784,000584: 20,2475           45520        DV-+,+             CS       S13BITS                               #  -(17777)
014785,000585: 20,2476           00006                           EXTEND                                         
014786,000586: 20,2477           11374                           DV       SKEEP4                                
014787,000587: 20,2500           60001                           AD       L                                     #  -(37775)
014788,000588: 20,2501           65523                           AD       DVCON                                 
014789,000589: 20,2502           05570                           TC       +1CHK                                 
014790,000590: 20,2503           56001                           XCH      L                                     
014791,000591: 20,2504           05571                           TC       -1CHK                                 #  ALSO PUTS +0 IN L FOR DVQXCH
014792,000592: 20,2505           45523        DVQXCHK            CS       DVCON                                 
014793,000593: 20,2506           54002                           TS       Q                                     #  40001
014794,000594: 20,2507           40000                           CS       A                                     
014795,000595: 20,2510           00006                           EXTEND                                         
014796,000596: 20,2511           10002                           DV       Q                                     #  $ DV SC, -(37777), +(37776)
014797,000597: 20,2512           00006                           EXTEND                                         
014798,000598: 20,2513           22001                           QXCH     L                                     #  $ QXCH SC, C(L) = 40001, C(Q) = 37776
014799,000599: 20,2514           60002                           AD       Q                                     
014800,000600: 20,2515           05571                           TC       -1CHK                                 
014801,000601: 20,2516           30001                           CA       L                                     
014802,000602: 20,2517           65516                           AD       S+MAX                                 
014803,000603: 20,2520           05570                           TC       +1CHK                                 
014804,000604: 20,2521           00006                           EXTEND                                         
014805,000605: 20,2522           23371                           QXCH     SKEEP1                                #  $ QXCH ERAS., C(Q) = +1, C(SKEEP1) = +3
014806,000606: 20,2523           30002                           CA       Q                                     
014807,000607: 20,2524           05570                           TC       +1CHK                                 
014808,000608: 20,2525           41371                           CS       SKEEP1                                #  -3
014809,000609: 20,2526           65505                           AD       S+2                                   
014810,000610: 20,2527           05571                           TC       -1CHK                                 
014811,000611: 
014812,000612:                                                                                                  #  MSUCHK CHECKS ALL PULSES OF MSU EXCEPT RB WG.
014813,000613: 20,2530           37675        MSUCHK             CA       S+ZERO                                
014814,000614: 20,2531           55371                           TS       SKEEP1                                #  +0
014815,000615: 20,2532           40000                           CS       A                                     
014816,000616: 20,2533           55372                           TS       SKEEP2                                #  -0
014817,000617: 20,2534           00006                           EXTEND                                         
014818,000618: 20,2535           20000                           MSU      A                                     #  $ MSU SC, +0
014819,000619: 20,2536           05562                           TC       +0CHK                                 
014820,000620: 20,2537           00006                           EXTEND                                         
014821,000621: 20,2540           21372                           MSU      SKEEP2                                #  $ MSU ERASABLE, +1
014822,000622: 20,2541           05570                           TC       +1CHK                                 
014823,000623: 20,2542           00006                           EXTEND                                         
014824,000624: 20,2543           35517                           DCA      S+MAX                                 
014825,000625: 20,2544           00006                           EXTEND                                         
014826,000626: 20,2545           20001                           MSU      L                                     #  $ CHECKS RUS WA, ALSO -1 FROM NEG. NO.
014827,000627: 20,2546           54000                           TS       A                                     
014828,000628: 20,2547           02551                           TC       +2                                    
014829,000629: 20,2550           05546                           TC       ERRORS                                
014830,000630: 20,2551           05571                           TC       -1CHK                                 
014831,000631: 
014832,000632:                                                                                                  #  MASKCHK FINISHES CHECKING MASK INSTRUCTION.
014833,000633: 20,2552           37673        MASKCHK            CA       S+7                                   
014834,000634: 20,2553           54001                           TS       L                                     
014835,000635: 20,2554           75526                           MASK     S-7                                   #  $ MASK FIXED MEMORY
014836,000636: 20,2555           05562                           TC       +0CHK                                 
014837,000637: 20,2556           35504                           CA       S+1                                   
014838,000638: 20,2557           70001                           MASK     L                                     #  $ MASK SC
014839,000639: 20,2560           05570                           TC       +1CHK                                 
014840,000640: 
014841,000641:                                                                                                  #  NDX+SU FINISHES CHECKING BOTH INDEX INSTRUCTIONS. ALSO CHECKS ALL OF SU
014842,000642:                                                                                                  #  EXCEPT RB WG.
014843,000643: 20,2561           35504        NDX+SU             CA       S+1                                   
014844,000644: 20,2562           54001                           TS       L                                     
014845,000645: 20,2563           55371                           TS       SKEEP1                                
014846,000646: 20,2564           50000                           NDX      A                                     #  $ NDX SC
014847,000647: 20,2565           60000                           AD       0000                                  #  AD L, +2
014848,000648: 20,2566           00006                           EXTEND                                         
014849,000649: 20,2567           61371                           SU       SKEEP1                                #  $ SU ERASABLE
014850,000650: 20,2570           05570                           TC       +1CHK                                 
014851,000651: 20,2571           00006                           EXTEND                                         
014852,000652: 20,2572           50001                           NDX      L                                     #  $ NDX SC
014853,000653: 20,2573           60000                           SU       0000                                  #  $ SU SC, SU L
014854,000654: 20,2574           05571                           TC       -1CHK                                 
014855,000655: 
014856,000656:                                                                                                  #  D--SC CHECKS DCS SC, DXCH SC, AND DCA SC.
014857,000657: 20,2575           35505        D--SC              CA       S+2                                   
014858,000658: 20,2576           54001                           TS       L                                     #  +2
014859,000659: 20,2577           35504                           CA       S+1                                   
014860,000660: 20,2600           00006                           EXTEND                                         
014861,000661: 20,2601           40001                           DCS      A                                     #  $ DCS SC, C(L) = -2
014862,000662: 20,2602           05571                           TC       -1CHK                                 
014863,000663:                                                                                                  #  AFTER DXCH C(A) = B(Q) = +3, C(L) = B(A) = +0, C(Q) = B(L) = -1.
014864,000664: 20,2603           52002                           DXCH     L                                     #  $ DXCH SC
014865,000665: 20,2604           55373                           TS       SKEEP3                                
014866,000666: 20,2605           60002                           AD       Q                                     
014867,000667: 20,2606           05570                           TC       +1CHK                                 
014868,000668: 20,2607           30001                           CA       L                                     
014869,000669: 20,2610           05562                           TC       +0CHK                                 
014870,000670: 20,2611           37677                           CA       S-1                                   
014871,000671: 20,2612           54002                           TS       Q                                     
014872,000672: 20,2613           40000                           CS       A                                     
014873,000673: 20,2614           00006                           EXTEND                                         
014874,000674:                                                                                                  #  AFTER DCA C(A) = C(L) = C(Q) = B(Q) = -1.
014875,000675: 20,2615           30002                           DCA      L                                     #  $ DCA SC
014876,000676: 20,2616           60002                           AD       Q                                     
014877,000677: 20,2617           61373                           AD       SKEEP3                                
014878,000678: 20,2620           05570                           TC       +1CHK                                 
014879,000679: 20,2621           30001                           CA       L                                     
014880,000680: 20,2622           05571                           TC       -1CHK                                 
014881,000681: 
014882,000682:                                                                                                  #  D--LCHK CHECKS THAT OVERFLOW IS LOST IN PROCESS OF GOING THROUGH L REG.
014883,000683:                                                                                                  #  ALSO CHECKS THAT Q WILL HOLD 16 BITS
014884,000684: 20,2623           37700        D--LCHK            CA       S-2                                   
014885,000685: 20,2624           54002                           TS       Q                                     
014886,000686: 20,2625           35517                           CA       S-MAX                                 
014887,000687: 20,2626           26002                           ADS      Q                                     
014888,000688: 20,2627           40002                           CS       Q                                     
014889,000689: 20,2630           54000                           TS       A                                     
014890,000690: 20,2631           05546                           TC       ERRORS                                
014891,000691: 20,2632           00006                           EXTEND                                         
014892,000692: 20,2633           30002                           DCA      L                                     
014893,000693: 20,2634           54000                           TS       A                                     
014894,000694: 20,2635           02637                           TC       +2                                    
014895,000695: 20,2636           05546                           TC       ERRORS                                
014896,000696: 20,2637           05571                           TC       -1CHK                                 
014897,000697: 
014898,000698:                                                                                                  #  CHECKS OVERFLOW, UNDERFLOW,END-AROUND-CARRY, AND SIGN CHANGE OF ADDER.
014899,000699:                                                                                                  #  ALSO CHECKS ADS SC WITH OVERFLOW AND TS A WITH UNDERFLOW
014900,000700: 20,2640           37654        ADDRCHK            CA       SBIT14                                #  20000
014901,000701: 20,2641           54002                           TS       Q                                     
014902,000702: 20,2642           26002                           ADS      Q                                     #  $ ADS SC, OVERFLOW
014903,000703: 20,2643           26002                           ADS      Q                                     #  UNDERFLOW
014904,000704: 20,2644           54000                           TS       A                                     #  $ TS SC WITH UNDERFLOW
014905,000705: 20,2645           05546                           TC       ERRORS                                
014906,000706: 20,2646           26002                           ADS      Q                                     
014907,000707: 20,2647           05570                           TC       +1CHK                                 
014908,000708: 
014909,000709:                                                                                                  #  RUPTCHK CHECKS THAT INTERRUPT DOES NOT OCCUR WHILE OVERFLOW OR UNDERFLOW
014910,000710:                                                                                                  #  IS IN THE A REGISTER. ALSO CHECKS THAT INHINT RELINT WORK PROPERLY.
014911,000711: 20,2650           00004        RUPTCHK            INHINT                                         
014912,000712: 20,2651           37675                           CA       S+ZERO                                
014913,000713: 20,2652           54015                           TS       ZRUPT                                 
014914,000714: 20,2653           00003                           RELINT                                         
014915,000715: 20,2654           60027                           AD       TIME4                                 
014916,000716: 20,2655           55371                           TS       SKEEP1                                
014917,000717: 20,2656           41371        TENMS              CS       SKEEP1                                
014918,000718: 20,2657           60027                           AD       TIME4                                 #  WAIT FOR NEXT TIME4 INCREMENT
014919,000719: 20,2660           00006                           EXTEND                                         
014920,000720: 20,2661           12656                           BZF      TENMS                                 
014921,000721: 20,2662           00004                           INHINT                                         
014922,000722: 20,2663           30015                           CA       ZRUPT                                 
014923,000723: 20,2664           00006                           EXTEND                                         
014924,000724: 20,2665           12667                           BZF      +2                                    #  NO INTERRUPT.
014925,000725: 20,2666           02650                           TC       RUPTCHK                               #  THERE WAS AN INTERRUPT. START AGAIN.
014926,000726: 20,2667           35504                           CAF      S+1                                   #  2 1/2 MS UNTILE NEXT T3 INTERRUPT.
014927,000727: 20,2670           04517                           TC       WAITLIST                              
014928,000728: 20,2671  E3,1400                                  EBANK=   LST1                                  
014929,000729: 20,2671           02714 40003                     2CADR    TSKADRS                               
014930,000730: 
014931,000731: 20,2673           35516                           CA       S+MAX                                 
014932,000732: 20,2674           65522                           AD       OVCON                                 #  CONTROLS TIME SPENT IN OF-UF LOOP
014933,000733: 20,2675           00003                           RELINT                                         
014934,000734: 20,2676           40000        WAIT               CS       A                                     
014935,000735: 20,2677           10000                           CCS      A                                     
014936,000736: 20,2700           02704                           TC       INHNTCHK                              
014937,000737: 20,2701           02710        RUPTCON            ADRES    C(BRUPT)                              
014938,000738: 20,2702           65505                           AD       S+2                                   
014939,000739: 20,2703           02676                           TC       WAIT                                  
014940,000740: 20,2704           00004        INHNTCHK           INHINT                                         #  T3 RUPT SHOULD BE WAITING
014941,000741: 20,2705           55375                           TS       SKEEP5                                
014942,000742: 20,2706           05546                           TC       ERRORS                                
014943,000743: 20,2707           00003                           RELINT                                         
014944,000744: 20,2710           40015        C(BRUPT)           CS       ZRUPT                                 #  INTERRUPT SHOULD HAPPEN HERE
014945,000745: 20,2711           00006                           EXTEND                                         
014946,000746: 20,2712           12720                           BZF      +6                                    #  MAKES SURE AN INTERRUPT DID OCCUR
014947,000747: 20,2713           02721                           TC       INSTCHK                               #  AN INTERRUPT. END OF RUPTCHK
014948,000748: 20,2714           40015        TSKADRS            CS       ZRUPT                                 
014949,000749: 20,2715           62701                           AD       RUPTCON                               
014950,000750: 20,2716           05571                           TC       -1CHK                                 
014951,000751: 20,2717           04563                           TC       TASKOVER                              
014952,000752: 20,2720           05546                           TC       ERRORS                                #  NO INTERRUPT                        
014953,000753: 
014954,000754:                                                                                                  #  Go perform the (bugfixed) instruction-level tests from Retread 44.
014955,000755: 20,2721           04440        INSTCHK            TC       CHECKNJ                               #  CHECK FOR NEW JOB
014956,000756: 20,2722           04104                           TC       POSTJUMP                              
014957,000757: 20,2723           44000                           CADR     TCCHK                                 
014958,000758: 
014959,000759:                                                                                                  #  Retread tests are done. Go perform custom extended tests.
014960,000760: 20,2724           04440        INSTDONE           TC       CHECKNJ                               
014961,000761: 20,2725           04104                           TC       POSTJUMP                              
014962,000762: 20,2726           50000                           CADR     EXTTESTS                              
014963,000763: 
014964,000764:                                                                                                  #  All done checking instructions out. Move on.
014965,000765: 20,2727           02001        EXTTDONE           TC       SMODECHK                              
014966,000766: 
014967,000767:                                                                                                  #  IN-OUT1 CHECKS ALL PULSES OF WRITE AND READ
014968,000768: 20,2730           37677        IN-OUT1            CA       S-1                                   
014969,000769: 20,2731           00006        WRITECHK           EXTEND                                         
014970,000770: 20,2732           01002                           WRITE    Q                                     
014971,000771: 20,2733           22002                           LXCH     Q                                     #  PUT C(Q) IN L
014972,000772: 20,2734           05571                           TC       -1CHK                                 
014973,000773: 20,2735           00006        READCHK            EXTEND                                         #  C(L) = 77776
014974,000774: 20,2736           00001                           READ     L                                     
014975,000775: 20,2737           05571                           TC       -1CHK                                 
014976,000776: 20,2740           30001                           CA       L                                     
014977,000777: 20,2741           05571                           TC       -1CHK                                 
014978,000778: 
014979,000779:                                                                                                  #  IN-OUT2 CHECKS ALL PULSES OF ROR AND WOR
014980,000780: 20,2742           46176        IN-OUT2            CS       S+3                                   
014981,000781: 20,2743           54001        RORCHK             TS       L                                     #  77774
014982,000782: 20,2744           35523                           CA       DVCON                                 #  37776
014983,000783: 20,2745           00006                           EXTEND                                         
014984,000784: 20,2746           04001                           ROR      L                                     #  $ ROR, -1
014985,000785: 20,2747           05571                           TC       -1CHK                                 
014986,000786: 20,2750           35523        WORCHK             CA       DVCON                                 #  C(L) STILL 77774
014987,000787: 20,2751           00006                           EXTEND                                         
014988,000788: 20,2752           05001                           WOR      L                                     #  $ WOR, -1
014989,000789: 20,2753           05571                           TC       -1CHK                                 
014990,000790: 20,2754           30001                           CA       L                                     
014991,000791: 20,2755           05571                           TC       -1CHK                                 
014992,000792: 
014993,000793:                                                                                                  #  IN-OUT3 CHECKS ALL PULSES OF RAND, WAND, AND RXOR
014994,000794: 20,2756           45523        IN-OUT3            CS       DVCON                                 
014995,000795: 20,2757           54001        RANDCHK            TS       L                                     #  40001
014996,000796: 20,2760           35520                           CA       S13BITS                               #  17777
014997,000797: 20,2761           00006                           EXTEND                                         
014998,000798: 20,2762           02001                           RAND     L                                     #  $ RAND, +1
014999,000799: 20,2763           05570                           TC       +1CHK                                 
015000,000800: 20,2764           35520        WANDCHK            CA       S13BITS                               #  C(L) STILL 40001
015001,000801: 20,2765           00006                           EXTEND                                         
015002,000802: 20,2766           03001                           WAND     L                                     #  $ WAND, +1
015003,000803: 20,2767           05570                           TC       +1CHK                                 
015004,000804: 20,2770           47674                           CS       S+5                                   
015005,000805: 20,2771           56001                           XCH      L                                     #  ALSO PUT -5 IN L FOR RXORCHK
015006,000806: 20,2772           05570                           TC       +1CHK                                 
015007,000807: 20,2773           36173        RXORCHK            CA       S+6                                   
015008,000808: 20,2774           00006                           EXTEND                                         
015009,000809: 20,2775           06001                           RXOR     L                                     #  $ RXOR, -3
015010,000810: 20,2776           65505                           AD       S+2                                   
015011,000811: 20,2777           05571                           TC       -1CHK                                 
015012,000812: 20,3000           30001                           CA       L                                     
015013,000813: 20,3001           67667                           AD       S+4                                   
015014,000814: 20,3002           05571                           TC       -1CHK                                 
015015,000815: 
015016,000816: 20,3003           02001                           TC       SMODECHK                              
015017,000817: 
015018,000818:                                                                                                  #  COUNTCHK COUNTS UP 14 BIT NUMBER WITH SIGN.
015019,000819:                                                                                                  #  TAKES APPROXIMATELY 8.7 SECONDS.
015020,000820:                                                                                                  #  ** PUT IN CCS NEWJOB FOR ROPE.
015021,000821: 20,3004           00006        COUNTCHK           EXTEND                                         
015022,000822: 20,3005           35517                           DCA      S+MAX                                 
015023,000823: 20,3006           53377                           DXCH     SKEEP6                                #  PUT 37777 IN SKEEP6 AND 40000 IN SKEEP7
015024,000824: 20,3007           31376        +LOOP              CA       SKEEP6                                
015025,000825: 20,3010           56002                           XCH      Q                                     
015026,000826: 20,3011           00006                           EXTEND                                         
015027,000827: 20,3012           40002                           DCS      L                                     
015028,000828: 20,3013           10000                           CCS      A                                     
015029,000829: 20,3014           03023                           TC       -NMBR                                 
015030,000830: 20,3015           03030                           TC       ENDCOUNT                              
015031,000831: 20,3016           55376                           TS       SKEEP6                                
015032,000832: 20,3017           61377                           AD       SKEEP7                                
015033,000833: 20,3020           05571                           TC       -1CHK                                 
015034,000834: 20,3021           25377                           INCR     SKEEP7                                
015035,000835: 20,3022           03007                           TC       +LOOP                                 
015036,000836: 20,3023           60001        -NMBR              AD       L                                     
015037,000837: 20,3024           05571                           TC       -1CHK                                 
015038,000838: 20,3025           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015039,000839: 20,3026           41376                           CS       SKEEP6                                
015040,000840: 20,3027           03010                           TC       +LOOP      +1                         
015041,000841: 20,3030           31377        ENDCOUNT           CA       SKEEP7                                #  -0
015042,000842: 20,3031           61376                           AD       SKEEP6                                #  SKEEP6 SHOULD BE +0
015043,000843: 20,3032           05563                           TC       -0CHK                                 
015044,000844: 
015045,000845:                                                                                                  #  O-UFLOW COUNTS DOWN OVERFLOW AND UNDERFLOW NUMBERS.
015046,000846:                                                                                                  #  TAKES APPROXIMATELY 10.8 SECONDS
015047,000847: 20,3033           35517        O-UFLOW            CA       S-MAX                                 
015048,000848: 20,3034           55375                           TS       SKEEP5                                #  40000
015049,000849: 20,3035           40000                           CS       A                                     
015050,000850: 20,3036           00004        OFLOOP             INHINT                                         
015051,000851: 20,3037           65516                           AD       S+MAX                                 
015052,000852: 20,3040           65504                           AD       S+1                                   
015053,000853: 20,3041           56002                           XCH      Q                                     
015054,000854: 20,3042           10002                           CCS      Q                                     
015055,000855: 20,3043           03060                           TC       -NMBRS                                
015056,000856: 20,3044           05546                           TC       ERRORS                                #  CAN PUT IN CONSTANT
015057,000857: 20,3045           55373                           TS       SKEEP3                                
015058,000858: 20,3046           05546                           TC       ERRORS                                
015059,000859: 20,3047           31373                           CA       SKEEP3                                
015060,000860: 20,3050           61375                           AD       SKEEP5                                
015061,000861: 20,3051           05571                           TC       -1CHK                                 
015062,000862: 20,3052           00003                           RELINT                                         
015063,000863: 20,3053           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015064,000864: 20,3054           31374                           CA       SKEEP4                                
015065,000865: 20,3055           00006                           EXTEND                                         
015066,000866: 20,3056           27375                           DIM      SKEEP5                                
015067,000867: 20,3057           03036                           TC       OFLOOP                                
015068,000868: 20,3060           55374        -NMBRS             TS       SKEEP4                                
015069,000869: 20,3061           03071                           TC       ENDOFUF                               
015070,000870: 20,3062           31374                           CA       SKEEP4                                
015071,000871: 20,3063           61375                           AD       SKEEP5                                
015072,000872: 20,3064           05571                           TC       -1CHK                                 
015073,000873: 20,3065           31375                           CA       SKEEP5                                
015074,000874: 20,3066           65517                           AD       S-MAX                                 
015075,000875: 20,3067           67677                           AD       S-1                                   
015076,000876: 20,3070           03041                           TC       OFLOOP     +3                         
015077,000877: 20,3071           31375        ENDOFUF            CA       SKEEP5                                
015078,000878: 20,3072           05563                           TC       -0CHK                                 
015079,000879: 20,3073           41374                           CS       SKEEP4                                
015080,000880: 20,3074           65523                           AD       DVCON                                 
015081,000881: 20,3075           05571                           TC       -1CHK                                 
015082,000882: 20,3076           00003                           RELINT                                         
015083,000883: 
015084,000884: 20,3077           02001                           TC       SMODECHK                              
015085,000885: 
015086,000886:                                                                                                  #  SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
015087,000887:                                                                                                  #  SKEEP6 HOLDS B(X+1).
015088,000888:                                                                                                  #  SKEEP5 HOLDS B(X).
015089,000889:                                                                                                  #  SKEEP4 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH
015090,000890:                                                                                                  #  BANK NUMBERS IN EB.
015091,000891:                                                                                                  #  SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
015092,000892:                                                                                                  #  SKEEP2 HOLDS C(EBANK) DURING CHECKNJ
015093,000893:                                                                                                  #  ERASCHK TAKES APPROXMATELY 7 SECONDS
015094,000894: 20,3100           35504        ERASCHK            CA       S+1                                   
015095,000895: 20,3101           55374                           TS       SKEEP4                                
015096,000896: 20,3102           37675        0EBANK             CA       S+ZERO                                
015097,000897: 20,3103           54003                           TS       EBANK                                 
015098,000898: 20,3104           35512                           CA       ERASCON3                              #  01461
015099,000899: 20,3105           55377                           TS       SKEEP7                                #  STARTING ADDRESS
015100,000900: 20,3106           37701                           CA       S10BITS                               #  01777
015101,000901: 20,3107           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
015102,000902: 20,3110           03130                           TC       ERASLOOP                              
015103,000903: 
015104,000904: 20,3111           35511        E134567B           CA       ERASCON6                              #  01400
015105,000905: 20,3112           55377                           TS       SKEEP7                                #  STARTING ADDRESS
015106,000906: 20,3113           37701                           CA       S10BITS                               #  01777
015107,000907: 20,3114           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
015108,000908: 20,3115           03130                           TC       ERASLOOP                              
015109,000909: 
015110,000910: 20,3116           35511        2EBANK             CA       ERASCON6                              #  01400
015111,000911: 20,3117           55377                           TS       SKEEP7                                #  STARTING ADDRESS
015112,000912: 20,3120           35513                           CA       ERASCON4                              #  01774
015113,000913: 20,3121           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
015114,000914: 20,3122           03130                           TC       ERASLOOP                              
015115,000915: 
015116,000916: 20,3123           55374        NOEBANK            TS       SKEEP4                                #  +0
015117,000917: 20,3124           35507                           CA       ERASCON1                              #  00061
015118,000918: 20,3125           55377                           TS       SKEEP7                                #  STARTING ADDRESS
015119,000919: 20,3126           35510                           CA       ERASCON2                              #  01374
015120,000920: 20,3127           55373                           TS       SKEEP3                                #  LAST ADDRESS CHECKED
015121,000921: 
015122,000922: 20,3130           00004        ERASLOOP           INHINT                                         
015123,000923: 20,3131           00006                           EXTEND                                         
015124,000924: 20,3132           51377                           INDEX    SKEEP7                                
015125,000925: 20,3133           30001                           DCA      0000                                  
015126,000926: 20,3134           53376                           DXCH     SKEEP5                                #  STORES C(X) AND C(X-1) IN SKEEP6 AND 5.
015127,000927: 20,3135           31377                           CA       SKEEP7                                
015128,000928: 20,3136           55111                           TS       ERESTORE                              #  IF RESTART, RESTORE C(X) AND C(X+1)
015129,000929: 20,3137           54001                           TS       L                                     
015130,000930: 20,3140           24001                           INCR     L                                     
015131,000931: 20,3141           50000                           NDX      A                                     
015132,000932: 20,3142           52001                           DXCH     0000                                  #  PUTS OWN ADDRESS IN X AND X +1
015133,000933: 20,3143           51377                           NDX      SKEEP7                                
015134,000934: 20,3144           40001                           CS       0001                                  #  CS  X+1
015135,000935: 20,3145           51377                           NDX      SKEEP7                                
015136,000936: 20,3146           60000                           AD       0000                                  #  AD X
015137,000937: 20,3147           05571                           TC       -1CHK                                 
015138,000938: 20,3150           31111                           CA       ERESTORE                              #  HAS ERASABLE BEEN RESTORED
015139,000939: 20,3151           00006                           EXTEND                                         
015140,000940: 20,3152           13176                           BZF      ELOOPFIN                              #  YES, EXIT ERASLOOP.
015141,000941: 20,3153           00006                           EXTEND                                         
015142,000942: 20,3154           51377                           NDX      SKEEP7                                
015143,000943: 20,3155           40001                           DCS      0000                                  #  COMPLEMENT OF ADDRESS OF X AND X+1
015144,000944: 20,3156           51377                           NDX      SKEEP7                                
015145,000945: 20,3157           52001                           DXCH     0000                                  #  PUT COMPLEMENT OF ADDRESS OF X AND X+1
015146,000946: 20,3160           51377                           NDX      SKEEP7                                
015147,000947: 20,3161           40000                           CS       0000                                  #  CS X
015148,000948: 20,3162           51377                           NDX      SKEEP7                                
015149,000949: 20,3163           60001                           AD       0001                                  #  AD X+1
015150,000950: 20,3164           05571                           TC       -1CHK                                 
015151,000951: 20,3165           31111                           CA       ERESTORE                              #  HAS ERASABLE BEEN RESTORED
015152,000952: 20,3166           00006                           EXTEND                                         
015153,000953: 20,3167           13176                           BZF      ELOOPFIN                              #  YES, EXIT ERASLOOP.
015154,000954: 20,3170           00006                           EXTEND                                         
015155,000955: 20,3171           31376                           DCA      SKEEP5                                
015156,000956: 20,3172           51377                           NDX      SKEEP7                                
015157,000957: 20,3173           52001                           DXCH     0000                                  #  PUT B(X) AND B(X+1) BACK INTO X AND X+1
015158,000958: 20,3174           37675                           CA       S+ZERO                                
015159,000959: 20,3175           55111                           TS       ERESTORE                              #  IF RESTART, DO NOT RESTORE C(X), C(X+1)
015160,000960: 20,3176           00003        ELOOPFIN           RELINT                                         
015161,000961: 20,3177           30003                           CA       EBANK                                 #  STORES C(EBANK)
015162,000962: 20,3200           55372                           TS       SKEEP2                                
015163,000963: 20,3201           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015164,000964: 20,3202           31372                           CA       SKEEP2                                #  REPLACES B(EBANK)
015165,000965: 20,3203           54003                           TS       EBANK                                 
015166,000966: 20,3204           25377                           INCR     SKEEP7                                
015167,000967: 20,3205           41377                           CS       SKEEP7                                
015168,000968: 20,3206           61373                           AD       SKEEP3                                
015169,000969: 20,3207           00006                           EXTEND                                         
015170,000970: 20,3210           13212                           BZF      +2                                    
015171,000971: 20,3211           03130                           TC       ERASLOOP                              #  GO TO NEXT ADDRESS IN SAME BANK
015172,000972: 20,3212           11374                           CCS      SKEEP4                                
015173,000973: 20,3213           03123                           TC       NOEBANK                               
015174,000974: 20,3214           25374                           INCR     SKEEP4                                #  PUT +1 IN SKEEP4
015175,000975: 20,3215           30003                           CA       EBANK                                 
015176,000976: 20,3216           67661                           AD       SBIT9                                 
015177,000977: 20,3217           54003                           TS       EBANK                                 
015178,000978: 20,3220           65525                           AD       ERASCON5                              #  76777, CHECK FOR BANK E3
015179,000979: 20,3221           00006                           EXTEND                                         
015180,000980: 20,3222           13116                           BZF      2EBANK                                
015181,000981: 20,3223           10003                           CCS      EBANK                                 
015182,000982: 20,3224           03111                           TC       E134567B                              #  GO TO EBANKS 1,3,4,5,6, AND 7
015183,000983: 20,3225           35511                           CA       ERASCON6                              #  END OF ERASCHK
015184,000984: 20,3226           54003                           TS       EBANK                                 
015185,000985:                                                                                                  #  CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
015186,000986:                                                                                                  #  INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
015187,000987: 20,3227           35506        CNTRCHK            CAF      CNTRCON                               #  00050
015188,000988: 20,3230           55372        CNTRLOOP           TS       SKEEP2                                
015189,000989: 20,3231           67666                           AD       SBIT4                                 #  +10 OCTAL
015190,000990: 20,3232           50000                           INDEX    A                                     
015191,000991: 20,3233           40000                           CS       0000                                  
015192,000992: 20,3234           11372                           CCS      SKEEP2                                
015193,000993: 20,3235           03230                           TC       CNTRLOOP                              
015194,000994: 
015195,000995:                                                                                                  #  CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
015196,000996: 20,3236           35521        CYCLSHFT           CA       CONC+S1                               #  25252
015197,000997: 20,3237           54020                           TS       CYR                                   #  C(CYR) = 12525
015198,000998: 20,3240           54022                           TS       CYL                                   #  C(CYL) = 52524
015199,000999: 20,3241           54021                           TS       SR                                    #  C(SR) = 12525
015200,001000: 20,3242           54023                           TS       EDOP                                  #  C(EDOP) = 00125
015201,001001: 20,3243           60020                           AD       CYR                                   #  37777         C(CYR) = 45252
015202,001002: 20,3244           60022                           AD       CYL                                   #  00-12524      C(CYL) = 25251
015203,001003: 20,3245           60021                           AD       SR                                    #  00-25251      C(SR) = 05252
015204,001004: 20,3246           60023                           AD       EDOP                                  #  00-25376      C(EDOP) = +0
015205,001005: 20,3247           65524                           AD       CONC+S2                               #  C(CONC+S2) = 52400
015206,001006: 20,3250           05571                           TC       -1CHK                                 
015207,001007: 20,3251           60020                           AD       CYR                                   #  45252
015208,001008: 20,3252           60022                           AD       CYL                                   #  72523
015209,001009: 20,3253           60021                           AD       SR                                    #  77775
015210,001010: 20,3254           60023                           AD       EDOP                                  #  77775
015211,001011: 20,3255           65504                           AD       S+1                                   #  77776
015212,001012: 20,3256           05571                           TC       -1CHK                                 
015213,001013: 
015214,001014: 20,3257           25367                           INCR     SCOUNT     +1                         
015215,001015: 20,3260           02001                           TC       SMODECHK                              
015216,001016: 20,3261           03265                           TC       ROPECHK                               
015217,001017: 
015218,001018:                                                                                                  #  SKEEP1 HOLDS SUM
015219,001019:                                                                                                  #  SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
015220,001020:                                                                                                  #  SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
015221,001021:                                                                                                  #  SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
015222,001022:                                                                                                  #                               (04000 TO 07777 IN FXFX BANKS)
015223,001023:                                                                                                  #  SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
015224,001024:                                                                                                  #  SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
015225,001025:                                                                                                  #  SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
015226,001026:                                                                                                  #  SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
015227,001027:                                                                                                  #  SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
015228,001028: 
015229,001029: 20,3262           05276        STSHOSUM           TC       GRABDSP                               
015230,001030: 20,3263           05304                           TC       PREGBSY                               
015231,001031: 20,3264           03267                           TC       +3                                    
015232,001032: 20,3265           37676        ROPECHK            CA       S-ZERO                                
015233,001033: 20,3266           55376                           TS       SKEEP6                                #  ROPECHK OPTION
015234,001034: 20,3267           37675                           CA       S+ZERO                                
015235,001035: 20,3270           55374                           TS       SKEEP4                                #  BANK NUMBER
015236,001036: 20,3271           35504                           CA       S+1                                   
015237,001037: 20,3272           55377        COMMFX             TS       SKEEP7                                
015238,001038: 20,3273           37675                           CA       S+ZERO                                
015239,001039: 20,3274           55371                           TS       SKEEP1                                
015240,001040: 20,3275           55373                           TS       SKEEP3                                
015241,001041: 20,3276           35504                           CA       S+1                                   
015242,001042: 20,3277           55375                           TS       SKEEP5                                #  COUNTS DOWN 2 TC SELF WORDS
015243,001043: 20,3300           31374        COMADRS            CA       SKEEP4                                
015244,001044: 20,3301           54001                           TS       L                                     #  TO SET SUPER BANK
015245,001045: 20,3302           75220                           MASK     HI5                                   
015246,001046: 20,3303           61373                           AD       SKEEP3                                
015247,001047: 20,3304           04124                           TC       SUPDACAL                              #  SUPER DATA CALL
015248,001048: 20,3305           03330                           TC       ADSUM                                 
015249,001049: 20,3306           67657                           AD       SBIT11                                #  02000
015250,001050: 20,3307           03341                           TC       ADRSCHK                               
015251,001051: 
015252,001052: 20,3310           40000        FXFX               CS       A                                     
015253,001053: 20,3311           55377                           TS       SKEEP7                                
015254,001054: 20,3312           00006                           EXTEND                                         
015255,001055: 20,3313           13316                           BZF      +3                                    
015256,001056: 20,3314           37656                           CA       SBIT12                                #  04000, STARTING ADDRESS OF BANK 02
015257,001057: 20,3315           03317                           TC       +2                                    
015258,001058: 20,3316           34467                           CA       SBNK03                                #  06000, STARTING ADDRESS OF BANK 03
015259,001059: 20,3317           55373                           TS       SKEEP3                                
015260,001060: 20,3320           37675                           CA       S+ZERO                                
015261,001061: 20,3321           55371                           TS       SKEEP1                                
015262,001062: 20,3322           35504                           CA       S+1                                   
015263,001063: 20,3323           55375                           TS       SKEEP5                                #  COUNTS DOWN 2 TC SELF WORDS
015264,001064: 20,3324           51373        FXADRS             INDEX    SKEEP3                                
015265,001065: 20,3325           30000                           CA       0000                                  
015266,001066: 20,3326           03330                           TC       ADSUM                                 
015267,001067: 20,3327           03341                           TC       ADRSCHK                               
015268,001068: 
015269,001069: 20,3330           55372        ADSUM              TS       SKEEP2                                
015270,001070: 20,3331           61371                           AD       SKEEP1                                
015271,001071: 20,3332           55371                           TS       SKEEP1                                
015272,001072: 20,3333           37675                           CAF      S+ZERO                                
015273,001073: 20,3334           61371                           AD       SKEEP1                                
015274,001074: 20,3335           55371                           TS       SKEEP1                                
015275,001075: 20,3336           41372                           CS       SKEEP2                                
015276,001076: 20,3337           61373                           AD       SKEEP3                                
015277,001077: 20,3340           00002                           TC       Q                                     
015278,001078: 
015279,001079: 20,3341           22000        ADRSCHK            LXCH     A                                     
015280,001080: 20,3342           11375                           CCS      SKEEP5                                #  IS CHECKSUM FINISHED
015281,001081: 20,3343           03346                           TC       +3                                    #  NO
015282,001082: 20,3344           03346                           TC       +2                                    #  NO
015283,001083: 20,3345           03435                           TC       SOPTION                               #  GO TO ROPECHK SHOWSUM OPTION
015284,001084: 20,3346           10001                           CCS      L                                     #  -0 MEANS A TC SELF WORD.
015285,001085: 20,3347           03356                           TC       CONTINU                               
015286,001086: 20,3350           03356                           TC       CONTINU                               
015287,001087: 20,3351           03356                           TC       CONTINU                               
015288,001088: 20,3352           11375                           CCS      SKEEP5                                
015289,001089: 20,3353           03357                           TC       CONTINU    +1                         
015290,001090: 20,3354           37677                           CA       S-1                                   
015291,001091: 20,3355           03357                           TC       CONTINU    +1                         #  AD IN THE BUGGER WORD
015292,001092: 20,3356           35504        CONTINU            CA       S+1                                   #  MAKE SURE TWO CONSECUTIVE TC SELF WORDS
015293,001093: 20,3357           55375                           TS       SKEEP5                                
015294,001094: 20,3360           11376                           CCS      SKEEP6                                #  +1 IN SKEEP6, SHOWSUM VIA EXECUTIVE
015295,001095: 20,3361           10067                           CCS      NEWJOB                                
015296,001096: 20,3362           04365                           TC       CHANG1                                
015297,001097: 20,3363           03365                           TC       +2                                    
015298,001098: 20,3364           04440                           TC       CHECKNJ                               #  -0 IN SKEEP6 FOR ROPECHK
015299,001099: 
015300,001100: 20,3365           25373        ADRS+1             INCR     SKEEP3                                
015301,001101: 20,3366           11377                           CCS      SKEEP7                                
015302,001102: 20,3367           03300                           TC       COMADRS                               
015303,001103: 20,3370           03300                           TC       COMADRS                               
015304,001104: 20,3371           03324                           TC       FXADRS                                
015305,001105: 20,3372           03324                           TC       FXADRS                                
015306,001106: 
015307,001107: 20,3373           41374        NXTBNK             CS       SKEEP4                                
015308,001108: 20,3374           63455                           AD       LSTBNKCH                              #  LAST BANK TO BE CHECKED
015309,001109: 20,3375           00006                           EXTEND                                         
015310,001110: 20,3376           13430                           BZF      ENDSUMS                               #  END OF SUMMING OF BANKS.
015311,001111: 20,3377           31374                           CA       SKEEP4                                
015312,001112: 20,3400           67657                           AD       SBIT11                                
015313,001113: 20,3401           55374                           TS       SKEEP4                                #  37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
015314,001114: 20,3402           03406                           TC       CHKSUPR                               
015315,001115: 20,3403           37653        17TO20             CA       SBIT15                                
015316,001116: 20,3404           27374                           ADS      SKEEP4                                #  SET FOR BANK 20
015317,001117: 20,3405           03422                           TC       GONXTBNK                              
015318,001118: 20,3406           75220        CHKSUPR            MASK     HI5                                   
015319,001119: 20,3407           00006                           EXTEND                                         
015320,001120: 20,3410           13420                           BZF      NXTSUPR                               #  INCREMENT SUPER BANK
015321,001121: 20,3411           65520        27TO30             AD       S13BITS                               
015322,001122: 20,3412           00006                           EXTEND                                         
015323,001123: 20,3413           13415                           BZF      +2                                    #  BANK SET FOR 30
015324,001124: 20,3414           03422                           TC       GONXTBNK                              
015325,001125: 20,3415           35514                           CA       SIXTY                                 #  FIRST SUPER BANK
015326,001126: 20,3416           27374                           ADS      SKEEP4                                
015327,001127: 20,3417           03422                           TC       GONXTBNK                              
015328,001128: 20,3420           65515        NXTSUPR            AD       SUPRCON                               #  SET BNK 30 + INCR SUPR BNK AND CANCEL
015329,001129: 20,3421           27374                           ADS      SKEEP4                                #  ERC BIT OF THE 37 TO 40 ADVANCE.
015330,001130: 20,3422           11377        GONXTBNK           CCS      SKEEP7                                
015331,001131: 20,3423           03272                           TC       COMMFX                                
015332,001132: 20,3424           35504                           CA       S+1                                   
015333,001133: 20,3425           03310                           TC       FXFX                                  
015334,001134: 20,3426           37663                           CA       SBIT7                                 #  HAS TO BE LARGER THAN NO OF FXSW BANKS.
015335,001135: 20,3427           03272                           TC       COMMFX                                
015336,001136: 
015337,001137: 20,3430           11376        ENDSUMS            CCS      SKEEP6                                
015338,001138: 20,3431           03267                           TC       ROPECHK    +2                         #  START SHOWSUM AGAIN
015339,001139: 20,3432           05546                           TC       ERRORS                                #  Available space.
015340,001140: 20,3433           05546                           TC       ERRORS                                
015341,001141: 20,3434           03530                           TC       MPNMBRS    -1                         #  ROPECHK IS COMPLETED
015342,001142: 
015343,001143: 20,3435           31374        SOPTION            CA       SKEEP4                                
015344,001144: 20,3436           75220                           MASK     HI5                                   #  = BANK BITS
015345,001145: 20,3437           05201                           TC       LEFT5                                 
015346,001146: 20,3440           54001                           TS       L                                     #  BANK NUMBER BEFORE SUPER BANK
015347,001147: 20,3441           31374                           CA       SKEEP4                                
015348,001148: 20,3442           75227                           MASK     S8BITS                                #  = SUPER BANK BITS
015349,001149: 20,3443           00006                           EXTEND                                         
015350,001150: 20,3444           13452                           BZF      SOPT                                  #  BEFORE SUPER BANK
015351,001151: 20,3445           54021                           TS       SR                                    #  SUPER BANK NECESSARY
015352,001152: 20,3446           30001                           CA       L                                     
015353,001153: 20,3447           77673                           MASK     SEVEN                                 
015354,001154: 20,3450           60021                           AD       SR                                    
015355,001155: 20,3451           54001                           TS       L                                     #  BANK NUMBER WITH SUPER BANK
015356,001156: 20,3452           11376        SOPT               CCS      SKEEP6                                
015357,001157: 20,3453           03505                           TC       SDISPLAY                              
015358,001158: 20,3454           00501        VNCON              OCTAL    00501                                 #  USED IN SHOWSUM. DISPLAY 3 REGISTERS.
015359,001159: 20,3455     0067                                  EBANK=   NEWJOB                                
015360,001160: 20,3455           66100        LSTBNKCH           BBCON*                                         #  * CONSTANT, LAST BANK.                
015361,001161: 
015362,001162:                                                                                                  #  CHANGE TO 31777 IF BANK 23 IS LAST BANK USED
015363,001163: 20,3456           11371        BNKCHK             CCS      SKEEP1                                #  WHEN C(SKEEP6) = -0
015364,001164: 20,3457           03463                           TC       +4                                    
015365,001165: 20,3460           41510        SCADR              FCADR    NOKILL                                #  * CONSTANT, USED IN SHOWSUM ONLY
015366,001166: 20,3461           03463                           TC       +2                                    
015367,001167: 20,3462           37677                           CA       S-1                                   #  FOR BANK 00
015368,001168: 20,3463           55371                           TS       SKEEP1                                
015369,001169: 20,3464           40001                           CS       L                                     #  = - BANK NUMBER
015370,001170: 20,3465           61371                           AD       SKEEP1                                
015371,001171: 20,3466           05571                           TC       -1CHK                                 
015372,001172: 20,3467           03373                           TC       NXTBNK                                
015373,001173: 
015374,001174:                                                                                                  #  INITIALIZE SKEEP6 TO +1 TO PERFORM SHOWSUM
015375,001175:                                                                                                  #  START OF ROUTINE THAT DISPLAYS SUM OF EACH BANK
015376,001176: 20,3470           35504        SHOWSUM            CAF      S+1                                   
015377,001177: 20,3471           55376                           TS       SKEEP6                                #  SHOWSUM OPTION
015378,001178: 20,3472           37675                           CAF      S+ZERO                                
015379,001179: 20,3473           55361                           TS       SMODE                                 #  PUT SELF-CHECK TO SLEEP
015380,001180: 20,3474           32000                           CA       SELFADRS                              #  INITIALIZE SELFRET TO GO TO SELFCHK.
015381,001181: 20,3475           55360                           TS       SELFRET                               
015382,001182: 20,3476           00004                           INHINT                                         
015383,001183: 20,3477           37657                           CAF      PRIO2                                 
015384,001184: 20,3500           04344                           TC       NOVAC                                 
015385,001185: 20,3501     1360                                  EBANK=   SELFRET                               
015386,001186: 20,3501           03262 40002                     2CADR    STSHOSUM                              
015387,001187: 
015388,001188: 20,3503           00003                           RELINT                                         
015389,001189: 20,3504           04422                           TC       ENDOFJOB                              
015390,001190: 
015391,001191: 20,3505           30001        SDISPLAY           CA       L                                     #  = BANK NUMBER
015392,001192: 20,3506           57372                           XCH      SKEEP2                                #  SKEEP2 HOLDS BANK NUMBER DURING DISPLAY
015393,001193: 20,3507           55373                           TS       SKEEP3                                #  SKEEP3 HOLDS BUGGER WORD DURING DISPLAY
015394,001194: 20,3510           35527        NOKILL             CAF      ADRS1                                 #  ADDRESS OF SKEEP1
015395,001195: 20,3511           54142                           TS       MPAC       +2                         
015396,001196: 20,3512           33454                           CAF      VNCON                                 #  DISPLAY 3 REGISTERS
015397,001197: 20,3513           05101                           TC       NVSUB                                 
015398,001198: 20,3514           03526                           TC       SBUSY                                 
015399,001199: 20,3515           05266                           TC       FLASHON                               
015400,001200: 20,3516           05132                           TC       ENDIDLE                               
015401,001201: 20,3517           03522                           TC       +3                                    #  FINISHED WITH SHOWSUM
015402,001202: 20,3520           03373                           TC       NXTBNK                                
015403,001203: 20,3521           03510                           TC       NOKILL                                #  SO CAN LOAD WITHOUT KILLING SHOWSUM
015404,001204: 20,3522           05373                           TC       FREEDSP                               
015405,001205: 20,3523           32000                           CA       SELFADRS                              #  INITIALIZE SKEEP1 TO GO TO SELFCHK.
015406,001206: 20,3524           55371                           TS       SKEEP1                                
015407,001207: 20,3525           04422                           TC       ENDOFJOB                              
015408,001208: 
015409,001209: 20,3526           33460        SBUSY              CAF      SCADR                                 
015410,001210: 20,3527           05321                           TC       NVSUBUSY                              
015411,001211: 
015412,001212: 20,3530           02001                           TC       SMODECHK                              
015413,001213: 
015414,001214:                                                                                                  #  MULTIPLY SUBROUTINE TAKES APPROXIMATELY 19 SECONDS.
015415,001215:                                                                                                  #  (37777) X (37777 THROUGH 00001)
015416,001216:                                                                                                  #  C(A) COUNTS DOWN.  C(L) COUNTS UP.
015417,001217: 20,3531           35516        MPNMBRS            CAF      S+MAX                                 
015418,001218: 20,3532           55372                           TS       SKEEP2                                
015419,001219: 20,3533           35516                           CAF      S+MAX                                 
015420,001220: 20,3534           00006                           EXTEND                                         
015421,001221: 20,3535           71372                           MP       SKEEP2                                
015422,001222: 20,3536           60001                           AD       L                                     #  C(A) = 37777
015423,001223: 20,3537           65517                           AD       S-MAX                                 
015424,001224: 20,3540           05563                           TC       -0CHK                                 
015425,001225: 20,3541           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015426,001226: 20,3542           11372                           CCS      SKEEP2                                
015427,001227: 20,3543           55372                           TS       SKEEP2                                
015428,001228: 20,3544           11372                           CCS      SKEEP2                                
015429,001229: 20,3545           03533                           TC       MPNMBRS    +2                         
015430,001230:                                                                                                  #  (-1) X (37777 THROUGH 00001)
015431,001231: 20,3546           35516                           CAF      S+MAX                                 
015432,001232: 20,3547           55372                           TS       SKEEP2                                
015433,001233: 20,3550           37677        MPHIGH1            CAF      S-1                                   
015434,001234: 20,3551           00006                           EXTEND                                         
015435,001235: 20,3552           71372                           MP       SKEEP2                                #  C(A) = -0
015436,001236: 20,3553           05563                           TC       -0CHK                                 
015437,001237: 20,3554           30001                           CA       L                                     
015438,001238: 20,3555           61372                           AD       SKEEP2                                
015439,001239: 20,3556           05563                           TC       -0CHK                                 
015440,001240: 20,3557           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015441,001241: 20,3560           11372                           CCS      SKEEP2                                
015442,001242: 20,3561           55372                           TS       SKEEP2                                
015443,001243: 20,3562           11372                           CCS      SKEEP2                                
015444,001244: 20,3563           03550                           TC       MPHIGH1                               
015445,001245: 
015446,001246:                                                                                                  #  INTERCHANGE MULTIPLIER AND MULTIPLICAND
015447,001247:                                                                                                  #  (37777 THROUGH 00001) X (37777)
015448,001248:                                                                                                  #  C(A) COUNTS DOWN.  C(L) COUNTS UP.
015449,001249: 20,3564           35516                           CAF      S+MAX                                 
015450,001250: 20,3565           55371                           TS       SKEEP1                                
015451,001251: 20,3566           31371        MPAGAIN            CA       SKEEP1                                
015452,001252: 20,3567           00006                           EXTEND                                         
015453,001253: 20,3570           75516                           MP       S+MAX                                 
015454,001254: 20,3571           60001                           AD       L                                     #  C(A) = 37777
015455,001255: 20,3572           65517                           AD       S-MAX                                 
015456,001256: 20,3573           05563                           TC       -0CHK                                 
015457,001257: 20,3574           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015458,001258: 20,3575           11371                           CCS      SKEEP1                                
015459,001259: 20,3576           55371                           TS       SKEEP1                                
015460,001260: 20,3577           11371                           CCS      SKEEP1                                
015461,001261: 20,3600           03566                           TC       MPAGAIN                               
015462,001262:                                                                                                  #  (37777 THROUGH 00001) X (-1)
015463,001263: 20,3601           35516                           CAF      S+MAX                                 
015464,001264: 20,3602           55371                           TS       SKEEP1                                
015465,001265: 20,3603           31371        MPHIGH2            CA       SKEEP1                                
015466,001266: 20,3604           00006                           EXTEND                                         
015467,001267: 20,3605           77677                           MP       S-1                                   
015468,001268: 20,3606           05563                           TC       -0CHK                                 
015469,001269: 20,3607           30001                           CA       L                                     
015470,001270: 20,3610           61371                           AD       SKEEP1                                
015471,001271: 20,3611           05563                           TC       -0CHK                                 
015472,001272: 20,3612           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015473,001273: 20,3613           11371                           CCS      SKEEP1                                
015474,001274: 20,3614           55371                           TS       SKEEP1                                
015475,001275: 20,3615           11371                           CCS      SKEEP1                                
015476,001276: 20,3616           03603                           TC       MPHIGH2                               
015477,001277: 
015478,001278: 20,3617           02001                           TC       SMODECHK                              
015479,001279: 
015480,001280:                                                                                                  #  ONCE THROUGH DIVIDE SUBROUTINE TAKES APPROXIMATELY 0.01 SECOND.
015481,001281:                                                                                                  #  TOTAL TIME SPENT IN DIVIDE SUBROUTINE IS APPROXIMATELY 21.5 SECONDS
015482,001282:                                                                                                  #  DIVIDE +-/17777/ +-/37777/ BY +-/20000/. THE CONTENTS OF THE A REGISTER
015483,001283:                                                                                                  #  AND THE L REGISTER WILL HAVE OPPOSITE SIGNS BEFORE DIVISION. THE
015484,001284:                                                                                                  #  QUOTIENT SHOULD BE +-/37774/ DEPENDING ON THE SIGN OF A AND THE SIGN
015485,001285:                                                                                                  #  OF THE DIVISOR. THE REMAINDER = +-1 DEPENDING ON THE SIGN OF A
015486,001286: 20,3620           47656        DVCHECK            CS       SBIT12                                #  -(04000)
015487,001287: 20,3621           55374                           TS       SKEEP4                                
015488,001288: 20,3622           25374        DVLOOP             INCR     SKEEP4                                
015489,001289: 20,3623           37654        DV1CHK             CA       SBIT14                                #  20000
015490,001290: 20,3624           55371                           TS       SKEEP1                                
015491,001291: 20,3625           40000                           CS       A                                     
015492,001292: 20,3626           55372                           TS       SKEEP2                                
015493,001293: 20,3627           45516        DV1++              CS       S+MAX                                 
015494,001294: 20,3630           54001                           TS       L                                     #  40000
015495,001295: 20,3631           35520                           CA       S13BITS                               
015496,001296: 20,3632           00006                           EXTEND                                         
015497,001297: 20,3633           11371                           DV       SKEEP1                                #  +37774, +1
015498,001298: 20,3634           55377                           TS       SKEEP7                                #  37774
015499,001299: 20,3635           35517                           CA       S-MAX                                 
015500,001300: 20,3636           56001                           XCH      L                                     #  ALSO PUT 40000 IN L
015501,001301: 20,3637           05570                           TC       +1CHK                                 
015502,001302: 20,3640           35520        DV1+-              CA       S13BITS                               #  17777
015503,001303: 20,3641           00006                           EXTEND                                         
015504,001304: 20,3642           11372                           DV       SKEEP2                                #  -37774, +1
015505,001305: 20,3643           61377                           AD       SKEEP7                                
015506,001306: 20,3644           05563                           TC       -0CHK                                 
015507,001307: 20,3645           35516                           CA       S+MAX                                 
015508,001308: 20,3646           56001                           XCH      L                                     #  ALSO PUT 37777 IN L
015509,001309: 20,3647           05570                           TC       +1CHK                                 
015510,001310: 20,3650           45520        DV1-+              CS       S13BITS                               #  60000
015511,001311: 20,3651           00006                           EXTEND                                         
015512,001312: 20,3652           11371                           DV       SKEEP1                                #  -37774, -1
015513,001313: 20,3653           55376                           TS       SKEEP6                                
015514,001314: 20,3654           61377                           AD       SKEEP7                                
015515,001315: 20,3655           05563                           TC       -0CHK                                 
015516,001316: 20,3656           35516                           CA       S+MAX                                 
015517,001317: 20,3657           56001                           XCH      L                                     #  ALSO PUT 37777 IN L
015518,001318: 20,3660           05571                           TC       -1CHK                                 
015519,001319: 20,3661           45520        DV1--              CS       S13BITS                               #  60000
015520,001320: 20,3662           00006                           EXTEND                                         
015521,001321: 20,3663           11372                           DV       SKEEP2                                #  +37774, -1
015522,001322: 20,3664           61376                           AD       SKEEP6                                
015523,001323: 20,3665           05563                           TC       -0CHK                                 
015524,001324: 20,3666           35516                           CA       S+MAX                                 
015525,001325: 20,3667           56001                           XCH      L                                     #  ALSO PUT 37777 IN L FOR DV2
015526,001326: 20,3670           05571                           TC       -1CHK                                 
015527,001327: 20,3671           31376                           CA       SKEEP6                                #  -37774
015528,001328: 20,3672           67700                           AD       S-2                                   #  -37776
015529,001329: 20,3673           65516                           AD       S+MAX                                 
015530,001330: 20,3674           05570                           TC       +1CHK                                 
015531,001331: 
015532,001332:                                                                                                  #  DIVIDE +17777 + 37777 BY +20000.  THE RESULT SHOULD BE +37777 WITH
015533,001333:                                                                                                  #  +17777 REMAINDER.
015534,001334: 20,3675           35520        DV2CHK             CA       S13BITS                               
015535,001335: 20,3676           00006                           EXTEND                                         
015536,001336: 20,3677           11371                           DV       SKEEP1                                
015537,001337: 20,3700           65517                           AD       S-MAX                                 
015538,001338: 20,3701           05563                           TC       -0CHK                                 
015539,001339: 20,3702           47654                           CS       SBIT14                                #  -20000
015540,001340: 20,3703           60001                           AD       L                                     
015541,001341: 20,3704           05571                           TC       -1CHK                                 
015542,001342: 
015543,001343:                                                                                                  #  DIVIDE +37776 BY +37776.  THE RESULT SHOULD BE +37777 AND THE
015544,001344:                                                                                                  #  REMAINDER SHOULD BE +37776.
015545,001345: 20,3705           37675        DV4CHK             CA       S+ZERO                                
015546,001346: 20,3706           54001                           TS       L                                     
015547,001347: 20,3707           35523                           CA       DVCON                                 
015548,001348: 20,3710           55371                           TS       SKEEP1                                #  37776
015549,001349: 20,3711           00006                           EXTEND                                         
015550,001350: 20,3712           11371                           DV       SKEEP1                                
015551,001351: 20,3713           40000                           CS       A                                     
015552,001352: 20,3714           65523                           AD       DVCON                                 
015553,001353: 20,3715           05571                           TC       -1CHK                                 
015554,001354: 20,3716           30001                           CA       L                                     #  37776
015555,001355: 20,3717           65517                           AD       S-MAX                                 
015556,001356: 20,3720           05571                           TC       -1CHK                                 
015557,001357: 
015558,001358:                                                                                                  #  DIVIDE SAME (ZERO).  THE CONTENTS OF THE A REGISTER AND L REGISTER WILL
015559,001359:                                                                                                  #  HAVE OPPOSITE SIGNS BEFORE DIVISION.  THE QUOTIENT WILL BE + OR - MAX.,
015560,001360:                                                                                                  #  DEPENDING UPON THE SIGN OF THE L REGISTER AND THE SIGN OF THE DIVISOR.
015561,001361:                                                                                                  #  C(L) REMAINS THE SAME BECAUSE IT IS THE DIVIDEND.
015562,001362: 20,3721           37675        DV5CHK             CA       S+ZERO                                
015563,001363: 20,3722           55371                           TS       SKEEP1                                #  +0
015564,001364: 20,3723           54001                           TS       L                                     
015565,001365: 20,3724           40000                           CS       A                                     
015566,001366: 20,3725           55372                           TS       SKEEP2                                #  -0
015567,001367: 20,3726           00006        DV5++              EXTEND                                         
015568,001368: 20,3727           11371                           DV       SKEEP1                                #  +37777, +0
015569,001369: 20,3730           55377                           TS       SKEEP7                                #  37777
015570,001370: 20,3731           30001                           CA       L                                     
015571,001371: 20,3732           05562                           TC       +0CHK                                 
015572,001372: 20,3733           40000        DV5+-              CS       A                                     
015573,001373: 20,3734           00006                           EXTEND                                         
015574,001374: 20,3735           11372                           DV       SKEEP2                                #  40000, +0
015575,001375: 20,3736           55376                           TS       SKEEP6                                #  40000
015576,001376: 20,3737           61377                           AD       SKEEP7                                
015577,001377: 20,3740           05563                           TC       -0CHK                                 
015578,001378: 20,3741           40000                           CS       A                                     
015579,001379: 20,3742           56001                           XCH      L                                     #  ALSO PUT -0 IN L
015580,001380: 20,3743           05562                           TC       +0CHK                                 
015581,001381: 20,3744           00006        DV5-+              EXTEND                                         
015582,001382: 20,3745           11371                           DV       SKEEP1                                #  40000, -0
015583,001383: 20,3746           61377                           AD       SKEEP7                                
015584,001384: 20,3747           05563                           TC       -0CHK                                 
015585,001385: 20,3750           30001                           CA       L                                     
015586,001386: 20,3751           05563                           TC       -0CHK                                 
015587,001387: 20,3752           00006        DV5--              EXTEND                                         
015588,001388: 20,3753           11372                           DV       SKEEP2                                #  37777, -0
015589,001389: 20,3754           61376                           AD       SKEEP6                                
015590,001390: 20,3755           05563                           TC       -0CHK                                 
015591,001391: 20,3756           30001                           CA       L                                     
015592,001392: 20,3757           05563                           TC       -0CHK                                 
015593,001393: 20,3760           31376                           CA       SKEEP6                                #  CHECK QUOTIENT
015594,001394: 20,3761           65523                           AD       DVCON                                 
015595,001395: 20,3762           05571                           TC       -1CHK                                 
015596,001396: 
015597,001397: 20,3763           04440                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
015598,001398: 20,3764           31374                           CA       SKEEP4                                
015599,001399: 20,3765           00006                           EXTEND                                         
015600,001400: 20,3766           63622                           BZMF     DVLOOP                                
015601,001401: 20,3767           25370                           INCR     SCOUNT     +2                         
015602,001402: 20,3770           02033                           TC       SELFCHK                               #  START SELF-CHECK AGAIN
015603,001403: 
015604,001404: 20,3771                        ENDSLFS1           EQUALS                                         
015605,001405: 
015606,001406: 01,3015                                           SETLOC   ENDFAILS                              
015607,001407: 
015608,001408: 01,3015           55371        SBNKOPTN           TS       SKEEP1                                
015609,001409: 01,3016           40000                           CS       A                                     #  GO TO BACKUP IDLE LOOP IF C(SMODE) IS
015610,001410: 01,3017           66176                           AD       THREE                                 #  GREATER THAN OCTAL 12
015611,001411: 01,3020           00006                           EXTEND                                         
015612,001412: 01,3021           63031                           BZMF     TOSMODE    -2                         
015613,001413: 01,3022           37675                           CA       S+ZERO                                #  ZERO SMODE FOR OPTIONS ABOVE 8.
015614,001414: 01,3023           55361                           TS       SMODE                                 
015615,001415: 01,3024           31371                           CA       SKEEP1                                
015616,001416: 01,3025           50000                           NDX      A                                     
015617,001417: 01,3026           03026                           TC       SOPTON11   -1                         
015618,001418: 01,3027           03052        SOPTON11           TC       DSKYCHK                               
015619,001419: 01,3030           03173        SOPTON12           TC       RSTRTCHK                              
015620,001420: 
015621,001421: 01,3031           37675                           CA       S+ZERO                                
015622,001422: 01,3032           55361                           TS       SMODE                                 
015623,001423: 01,3033           04104        TOSMODE            TC       POSTJUMP                              
015624,001424: 01,3034           40033                           CADR     SELFCHK                               
015625,001425: 
015626,001426:                                                                                                  #  THE FOLLOWING CONSTANTS ARE USED BY DSKYCHK.
015627,001427: 01,3035           05265        DSKYCODE           OCTAL    05265                                 #  00
015628,001428: 01,3036           04143                           OCTAL    04143                                 #  11
015629,001429: 01,3037           05471                           OCTAL    05471                                 #  22
015630,001430: 01,3040           05573                           OCTAL    05573                                 #  33
015631,001431: 01,3041           04757                           OCTAL    04757                                 #  44
015632,001432: 01,3042           05736                           OCTAL    05736                                 #  55
015633,001433: 01,3043           05634                           OCTAL    05634                                 #  66
015634,001434: 01,3044           05163                           OCTAL    05163                                 #  77
015635,001435: 01,3045           05675                           OCTAL    05675                                 #  88
015636,001436: 01,3046           05777                           OCTAL    05777                                 #  99
015637,001437: 01,3047           07265        +-ZERO             OCTAL    07265                                 
015638,001438: 01,3050           00013        11DEC.             OCTAL    00013                                 
015639,001439: 
015640,001440:                                                                                                  #  BITS 2 AND 6 TURN ON THE COMPUTER ACTIVITY AND VERB-NOUN FLASH.
015641,001441: 01,3051           00042        S11CHAN            OCTAL    00042                                 
015642,001442: 
015643,001443: 01,3052           35234        DSKYCHK            CAF      TEN                                   
015644,001444: 01,3053           55373                           TS       SKEEP3                                
015645,001445: 01,3054           00004                           INHINT                                         
015646,001446: 01,3055           35504                           CAF      S+1                                   #  SET UP TEN MS INTERRUPT
015647,001447: 01,3056           04517                           TC       WAITLIST                              
015648,001448: 01,3057           03113 02000                     2CADR    NXTNMBR                               
015649,001449: 
015650,001450: 01,3061           00003                           RELINT                                         
015651,001451: 01,3062           03033                           TC       TOSMODE                               #  GO TO IDLE LOOP
015652,001452: 
015653,001453: 01,3063           55373        SDSPTAB            TS       SKEEP3                                
015654,001454: 01,3064           00004                           INHINT                                         
015655,001455: 01,3065           51373                           NDX      SKEEP3                                
015656,001456: 01,3066           43035                           CS       DSKYCODE                              
015657,001457: 01,3067           54307        SBLANKS            TS       DSPTAB                                
015658,001458: 01,3070           54310                           TS       DSPTAB     +1                         
015659,001459: 01,3071           54311                           TS       DSPTAB     +2                         
015660,001460: 01,3072           54312                           TS       DSPTAB     +3                         
015661,001461: 01,3073           54313                           TS       DSPTAB     +4                         
015662,001462: 01,3074           54314                           TS       DSPTAB     +5                         
015663,001463: 01,3075           54315                           TS       DSPTAB     +6                         
015664,001464: 01,3076           54316                           TS       DSPTAB     +7                         
015665,001465: 01,3077           54317                           TS       DSPTAB     +8D                        
015666,001466: 01,3100           54320                           TS       DSPTAB     +9D                        
015667,001467: 01,3101           54321                           TS       DSPTAB     +10D                       
015668,001468: 01,3102           33050                           CA       11DEC.                                
015669,001469: 01,3103           54303                           TS       NOUT                                  
015670,001470: 
015671,001471: 01,3104           00004        DSKYWAIT           INHINT                                         
015672,001472: 01,3105           37660                           CAF      BIT10                                 #  5.12 SECOND WAIT
015673,001473: 01,3106           04517                           TC       WAITLIST                              
015674,001474: 01,3107           03113 02000                     2CADR    NXTNMBR                               
015675,001475: 
015676,001476: 01,3111           00003                           RELINT                                         
015677,001477: 01,3112           04563                           TC       TASKOVER                              
015678,001478: 
015679,001479: 01,3113           11373        NXTNMBR            CCS      SKEEP3                                
015680,001480: 01,3114           03063                           TC       SDSPTAB                               #  9 THROUGH 0
015681,001481: 01,3115           03122                           TC       -SIGN                                 #  -ZEROS
015682,001482: 01,3116           03137                           TC       +SIGN                                 #  +ZEROS
015683,001483: 01,3117           11372                           CCS      SKEEP2                                
015684,001484: 01,3120           03153                           TC       NODSPLAY                              #  PUTS BLANKS IN DSKY DISPLAY
015685,001485: 01,3121           03157                           TC       LITESOUT                              #  TURN OFF LIGHTS
015686,001486: 
015687,001487: 01,3122           45504        -SIGN              CS       S+1                                   
015688,001488: 01,3123           55373                           TS       SKEEP3                                
015689,001489: 01,3124           33051                           CA       S11CHAN                               #  TURN ON VERB-NOUN FLASH
015690,001490: 01,3125           00006                           EXTEND                                         #  AND COMPUTER ACTIVITY LIGHTS.
015691,001491: 01,3126           05011                           WOR      DSALMOUT                              
015692,001492: 01,3127           43047                           CS       +-ZERO                                
015693,001493: 01,3130           00004                           INHINT                                         
015694,001494: 01,3131           54307                           TS       DSPTAB                                
015695,001495: 01,3132           54312                           TS       DSPTAB     +3                         
015696,001496: 01,3133           54314                           TS       DSPTAB     +5                         
015697,001497: 01,3134           36176                           CAF      THREE                                 
015698,001498: 01,3135           54303                           TS       NOUT                                  
015699,001499: 01,3136           03104                           TC       DSKYWAIT                              
015700,001500: 01,3137           47675        +SIGN              CS       ZERO                                  
015701,001501: 01,3140           55373                           TS       SKEEP3                                
015702,001502: 01,3141           35504                           CA       S+1                                   
015703,001503: 01,3142           55372                           TS       SKEEP2                                
015704,001504: 01,3143           00004                           INHINT                                         
015705,001505: 01,3144           43047                           CS       +-ZERO                                
015706,001506: 01,3145           54310                           TS       DSPTAB     +1                         
015707,001507: 01,3146           54313                           TS       DSPTAB     +4                         
015708,001508: 01,3147           54315                           TS       DSPTAB     +6                         
015709,001509: 01,3150           36176                           CAF      THREE                                 
015710,001510: 01,3151           54303                           TS       NOUT                                  
015711,001511: 01,3152           03104                           TC       DSKYWAIT                              
015712,001512: 
015713,001513: 01,3153           55372        NODSPLAY           TS       SKEEP2                                #  +0
015714,001514: 01,3154           47656                           CS       BIT12                                 #  BLANKS
015715,001515: 01,3155           00004                           INHINT                                         
015716,001516: 01,3156           03067                           TC       SBLANKS                               #  PUTS BLANKS IN ALL DISPLAYS
015717,001517: 
015718,001518: 01,3157           43051        LITESOUT           CS       S11CHAN                               
015719,001519: 01,3160           00006                           EXTEND                                         
015720,001520: 01,3161           03011                           WAND     DSALMOUT                              #  TURN OFF COMPUTER ACTIVITY LIGHT.
015721,001521: 01,3162           04563                           TC       TASKOVER                              #  END OF DSKYCHK
015722,001522: 
015723,001523: 01,3163           51076        ALRMSTRT           INDEX    PHASE2                                
015724,001524: 01,3164           03164                           TC       +0                                    
015725,001525: 01,3165           03234                           TC       TCTRCONT                              #  Phase 1: TC trap
015726,001526: 01,3166           03255                           TC       NOTCCONT                              #  Phase 2: No TC
015727,001527: 01,3167           03302                           TC       RPLKCONT                              #  Phase 3: Rupt lock
015728,001528: 01,3170           03316                           TC       NORPCONT                              #  Phase 4: No rupts
015729,001529: 01,3171           03332                           TC       WTCHCONT                              #  Phase 5: Night watchman
015730,001530: 01,3172           03366                           TC       PARCONT                               #  Phase 6: Parity fail
015731,001531: 
015732,001532: 01,3173           00006        RSTRTCHK           EXTEND                                         #  Entry point to the hardware alarm / restart checks
015733,001533: 01,3174           01077                           WRITE    77                                    #  Clear channel 77 by writing to it
015734,001534: 
015735,001535:                                                                                                  #  Check the TC Trap alarm -- only TC executed for too long
015736,001536: 01,3175           04575        TCTRPCHK           TC       PHASCHNG                              
015737,001537: 01,3176           00102                           OCT      00102                                 
015738,001538: 
015739,001539: 01,3177           00004                           INHINT                                         
015740,001540: 01,3200           36176                           CAF      THREE                                 #  Schedule a task to break out of the loop if the
015741,001541: 01,3201           04517                           TC       WAITLIST                              #  alarm doesn't work.
015742,001542: 01,3202           03210 02000                     2CADR    TCTRPFAL                              
015743,001543: 
015744,001544: 01,3204           00003                           RELINT                                         
015745,001545: 01,3205           35527                           CAF      ADRS1                                 #  Trigger a TC Trap. We do this in erasable  memory
015746,001546: 01,3206           55371                           TS       SKEEP1                                #  so we can break out of it if the restart
015747,001547: 01,3207           01371                           TC       SKEEP1                                #  doesn't occur as expected.
015748,001548: 
015749,001549: 01,3210           33213        TCTRPFAL           CAF      TCTRPXIT                              #  It's been too long with no restart. Break the
015750,001550: 01,3211           55371                           TS       SKEEP1                                #  loop at SKEEP1.
015751,001551: 01,3212           04563                           TC       TASKOVER                              
015752,001552: 01,3213           03234        TCTRPXIT           TC       TCTRCONT                              
015753,001553: 
015754,001554: 01,3214           37675        NOTCFAIL           CA       S+ZERO                                #  It's been too long with no restart. Zero SKEEP2
015755,001555: 01,3215           55372                           TS       SKEEP2                                #  so the CA..ADS loop exits.
015756,001556: 01,3216           04563                           TC       TASKOVER                              
015757,001557: 
015758,001558: 01,3217           00006        TESTRBIT           EXTEND                                         #  Read the restart cause from channel 77
015759,001559: 01,3220           06077                           RXOR     77                                    
015760,001560: 01,3221           75531                           MASK     CTRMASK                               #  Filter out counter alarms, which can be caused by
015761,001561:                                                                                                  #  any other type of restart if a counter request
015762,001562:                                                                                                  #  was interrupted.
015763,001563: 01,3222           15562                           TCF      +0CHK                                 #  Make sure only the correct bit was set.
015764,001564: 
015765,001565: 01,3223           37660        RSTRTRST           CAF      BIT10                                 #  Turn off the RESTART light
015766,001566: 01,3224           00006                           EXTEND                                         
015767,001567: 01,3225           05011                           WOR      DSALMOUT                              
015768,001568: 01,3226           47660                           CS       BIT10                                 
015769,001569: 01,3227           00006                           EXTEND                                         
015770,001570: 01,3230           03011                           WAND     DSALMOUT                              
015771,001571: 01,3231           00006                           EXTEND                                         
015772,001572: 01,3232           01077                           WRITE    77                                    #  Clear the restart cause from channel 77.
015773,001573: 01,3233           00002                           TC       Q                                     
015774,001574: 
015775,001575: 01,3234           04575        TCTRCONT           TC       PHASCHNG                              #  Turn off the restart group so we don't come back
015776,001576: 01,3235           00002                           OCT      00002                                 #  here for an unexpected reason.
015777,001577: 
015778,001578: 01,3236           37667                           CAF      TCTRPBIT                              #  Check for the TC trap bit
015779,001579: 01,3237           03217                           TC       TESTRBIT                              
015780,001580: 01,3240           03223                           TC       RSTRTRST                              
015781,001581: 
015782,001582:                                                                                                  #  Check the TC Trap alarm -- no TC executed for too long
015783,001583: 01,3241           04575        NOTCCHK            TC       PHASCHNG                              
015784,001584: 01,3242           00202                           OCT      00202                                 
015785,001585: 
015786,001586: 01,3243           00004                           INHINT                                         
015787,001587: 01,3244           36176                           CAF      THREE                                 #  Set up a waitlist task to break us out of the
015788,001588: 01,3245           04517                           TC       WAITLIST                              #  CA-ADS loop if the alarm doesn't occur
015789,001589: 01,3246           03214 02000                     2CADR    NOTCFAIL                              
015790,001590: 
015791,001591: 01,3250           00003                           RELINT                                         
015792,001592: 01,3251           37700                           CA       S-2                                   
015793,001593: 01,3252           55372                           TS       SKEEP2                                #  Put -2 into SKEEP2.
015794,001594: 
015795,001595:                                                                                                  #  There's many ways to do an infinite loop without TC or TCF. However, most of them appear to get transients
015796,001596:                                                                                                  #  on the TC0 and TCF0 lines during instruction changeover in T12. Since neither pulse is gated to the alarm
015797,001597:                                                                                                  #  circuit, these transients make the circuit think the computer executed an actual TC or TCF.
015798,001598:                                                                                                  #  It is unclear if this is an error in the simulator or an actual design flaw.
015799,001599:                                                                                                  #  Anyways, a CA and ADS loop *doesn't* generate transients on those lines, and so the alarm works as expected.
015800,001600: 01,3253           31372                           CA       SKEEP2                                #  Add -2 to Z to loop in place.
015801,001601: 01,3254           26005                           ADS      Z                                     
015802,001602: 01,3255           04575        NOTCCONT           TC       PHASCHNG                              #  Turn off the restart group so we don't come back
015803,001603: 01,3256           00002                           OCT      00002                                 #  here for an unexpected reason.
015804,001604: 
015805,001605: 01,3257           37667                           CAF      TCTRPBIT                              
015806,001606: 01,3260           03217                           TC       TESTRBIT                              
015807,001607: 01,3261           03223                           TC       RSTRTRST                              
015808,001608: 
015809,001609:                                                                                                  #  Check Rupt Lock -- execution stuck in an interrupt for ~140ms
015810,001610: 01,3262           04575        RPTLKCHK           TC       PHASCHNG                              
015811,001611: 01,3263           00302                           OCT      00302                                 
015812,001612: 
015813,001613: 01,3264           35532                           CAF      300MSEC                               #  Set up a 300ms BUSYLOOP
015814,001614: 01,3265           55373                           TS       SKEEP3                                
015815,001615: 01,3266           37675                           CAF      ZERO                                  
015816,001616: 01,3267           55372                           TS       SKEEP2                                #  SKEEP2 = 0 indicates that BUSYLOOP is a task
015817,001617: 01,3270           37671                           CAF      ONE                                   #  SKEEP1 will be used to indicate that our task has
015818,001618: 01,3271           55371                           TS       SKEEP1                                #  exited without triggering a restart.
015819,001619: 01,3272           00004                           INHINT                                         
015820,001620: 01,3273           04517                           TC       WAITLIST                              #  Execute a 300ms loop as a waitlist task (inside
015821,001621: 01,3274           03374 02000                     2CADR    BUSYLOOP                              #  the TIME3 interrupt).
015822,001622: 
015823,001623: 01,3276           00003                           RELINT                                         
015824,001624: 01,3277           40067        RPTWAIT            CS       NEWJOB                                #  Play hardball... check in with the night watchman
015825,001625:                                                                                                  #  without actually seeing if there's a job to do.
015826,001626: 01,3300           11371                           CCS      SKEEP1                                #  We just need to stay alive until a reset or
015827,001627: 01,3301           13277                           TCF      RPTWAIT                               #  BUSYLOOP exits.
015828,001628: 
015829,001629: 01,3302           04575        RPLKCONT           TC       PHASCHNG                              
015830,001630: 01,3303           00002                           OCT      00002                                 
015831,001631: 
015832,001632: 01,3304           37666                           CAF      RPTLKBIT                              
015833,001633: 01,3305           03217                           TC       TESTRBIT                              
015834,001634: 01,3306           03223                           TC       RSTRTRST                              
015835,001635: 
015836,001636:                                                                                                  #  Check Rupt Lock -- no interrupts for ~140ms
015837,001637: 01,3307           04575        NORPTCHK           TC       PHASCHNG                              
015838,001638: 01,3310           00402                           OCT      00402                                 
015839,001639: 
015840,001640: 01,3311           37671                           CAF      ONE                                   #  Configure BUSYLOOP to just return here
015841,001641: 01,3312           55372                           TS       SKEEP2                                
015842,001642: 01,3313           00004                           INHINT                                         #  Lock interrupts before heading in...
015843,001643: 01,3314           03374                           TC       BUSYLOOP                              
015844,001644: 01,3315           00003                           RELINT                                         
015845,001645: 
015846,001646: 01,3316           04575        NORPCONT           TC       PHASCHNG                              
015847,001647: 01,3317           00002                           OCT      00002                                 
015848,001648: 
015849,001649: 01,3320           37666                           CAF      RPTLKBIT                              
015850,001650: 01,3321           03217                           TC       TESTRBIT                              
015851,001651: 01,3322           03223                           TC       RSTRTRST                              
015852,001652: 
015853,001653:                                                                                                  #  Check the Night Watchman -- program fails to check NEWJOB for ~640ms
015854,001654: 01,3323           04575        WATCHCHK           TC       PHASCHNG                              
015855,001655: 01,3324           00502                           OCT      00502                                 
015856,001656: 
015857,001657: 01,3325           37675                           CA       S+ZERO                                #  Indicate to WTCHCONT that entry to it is permissible
015858,001658: 01,3326           55375                           TS       SKEEP5                                #  once
015859,001659: 
015860,001660: 01,3327           35533                           CA       2SEC                                  #  Set up a 2 second BUSYLOOP
015861,001661: 01,3330           55373                           TS       SKEEP3                                
015862,001662: 01,3331           03374                           TC       BUSYLOOP                              #  SKEEP2 still = 1
015863,001663: 
015864,001664: 01,3332           31375        WTCHCONT           CA       SKEEP5                                #  Ensure we only get one night wachman alarm.
015865,001665: 01,3333           05562                           TC       +0CHK                                 #  If this fails, the below logic caused a
015866,001666: 01,3334           37671                           CA       ONE                                   #  restart when it shouldn't have.
015867,001667: 01,3335           55375                           TS       SKEEP5                                
015868,001668: 
015869,001669: 01,3336           37665                           CAF      WATCHBIT                              #  Check to make sure night watchman was triggered
015870,001670: 01,3337           03217                           TC       TESTRBIT                              
015871,001671: 
015872,001672: 01,3340           03223                           TC       RSTRTRST                              #  Try to clear it
015873,001673: 01,3341           37665                           CAF      WATCHBIT                              #  Check that we didn't successfully clear it -- it
015874,001674: 01,3342           03217                           TC       TESTRBIT                              #  should be asserted for 1.28 seconds
015875,001675: 
015876,001676: 01,3343           00003                           RELINT                                         
015877,001677: 01,3344           37663                           CA       0.64SEC                               #  Wait for 0.64 seconds (which will get us into the
015878,001678: 01,3345           55373                           TS       SKEEP3                                #  next night watchman window). Since we just aggravated
015879,001679: 01,3346           03374                           TC       BUSYLOOP                              #  it, we shouldn't get any alarms doing this.
015880,001680: 
015881,001681: 01,3347           03223                           TC       RSTRTRST                              
015882,001682: 01,3350           37665                           CAF      WATCHBIT                              #  Check again that resetting the ch77 bit fails
015883,001683: 01,3351           03217                           TC       TESTRBIT                              
015884,001684: 
015885,001685: 01,3352           40067                           CS       NEWJOB                                #  Appease the night watchman for this new window, and
015886,001686: 01,3353           03374                           TC       BUSYLOOP                              #  wait a further 0.64 seconds until the end of of it
015887,001687: 
015888,001688: 01,3354           03223                           TC       RSTRTRST                              
015889,001689: 01,3355           37675                           CAF      S+ZERO                                #  Make sure we can actually clear it this time
015890,001690: 01,3356           03217                           TC       TESTRBIT                              
015891,001691: 
015892,001692:                                                                                                  #  Check the parity alarm. There's a couple ways this can happen -- for example, if a scaler or prime
015893,001693:                                                                                                  #  power failure generating a STRT2 signal were to happen in the middle of an erasable memory cycle,
015894,001694:                                                                                                  #  before the loaded data was written back out, that location would contain all 0s and therefore have
015895,001695:                                                                                                  #  incorrect parity.
015896,001696:                                                                                                  #  An easier guaranteed way, which we'll use here, is to try to access memory in a bank that doesn't
015897,001697:                                                                                                  #  exist. The superbank bit provides a convenient means of doing this; only superbanks 40-43 exist,
015898,001698:                                                                                                  #  so trying to hit anything in 44-47 should trigger a parity alarm.
015899,001699: 01,3357           04575        PARFLCHK           TC       PHASCHNG                              
015900,001700: 01,3360           00602                           OCT      00602                                 
015901,001701: 
015902,001702: 01,3361           40067                           CS       NEWJOB                                
015903,001703: 01,3362           37663                           CAF      SUPER100                              #  Simply try to load data from the start of bank 44.
015904,001704: 01,3363           54001                           TS       L                                     
015905,001705: 01,3364           35534                           CAF      BNK34ADR                              
015906,001706: 01,3365           04124                           TC       SUPDACAL                              
015907,001707: 
015908,001708: 01,3366           04575        PARCONT            TC       PHASCHNG                              
015909,001709: 01,3367           00002                           OCT      00002                                 
015910,001710: 
015911,001711: 01,3370           35504                           CAF      PRITYBIT                              
015912,001712: 01,3371           03217                           TC       TESTRBIT                              
015913,001713: 01,3372           03223                           TC       RSTRTRST                              
015914,001714: 
015915,001715: 01,3373           03033        ALRMDONE           TC       TOSMODE                               #  All done with the hardware alarm checks.
015916,001716: 
015917,001717:                                                                                                  #  BUSYLOOP provides a simple means of aggravating certain hardware alarms; it fails to check NEWJOB
015918,001718:                                                                                                  #  and makes use of a TCF. Its inputs are:
015919,001719:                                                                                                  #  SKEEP2 = Run context. If positive, subroutine mode is used and control is returned to Q.
015920,001720:                                                                                                  #                        If +0, waitlist task mode is used and exit is through TASKOVER. SKEEP1 is set to 0 on exit.
015921,001721:                                                                                                  #  SKEEP3 = Loop duration in TIME1 counts (10ms).
015922,001722: 01,3374           40025        BUSYLOOP           CS       TIME1                                 #  Store the start time in SKEEP4
015923,001723: 01,3375           55374                           TS       SKEEP4                                
015924,001724: 01,3376           30025        BUSYLOP1           CA       TIME1                                 
015925,001725: 01,3377           61374                           AD       SKEEP4                                #  Current time - start time
015926,001726: 01,3400           67654                           AD       HALF                                  #  Account for possible TIME1 overflow
015927,001727: 01,3401           67654                           AD       HALF                                  
015928,001728: 01,3402           56001                           XCH      L                                     #  Pass the (likely) overflowed value through L
015929,001729: 01,3403           41373                           CS       SKEEP3                                
015930,001730: 01,3404           60001                           AD       L                                     #  Calculate time delta minus expiration duration
015931,001731: 01,3405           00006                           EXTEND                                         
015932,001732: 01,3406           13410                           BZF      +2                                    
015933,001733: 01,3407           13376                           TCF      BUSYLOP1                              #  Use a TCF to make sure we don't trigger TC trap
015934,001734: 01,3410           11372                           CCS      SKEEP2                                #  All done. Check if we're returning or exiting a
015935,001735: 01,3411           00002                           TC       Q                                     #  waitlist task.
015936,001736: 01,3412           37675                           CAF      ZERO                                  
015937,001737: 01,3413           55371                           TS       SKEEP1                                #  Reset SKEEP1 to let the main test know we're done
015938,001738: 01,3414           04563                           TC       TASKOVER                              
015939,001739: 
015940,001740: 01,3415                        ENDSLFS2           EQUALS                                         

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