Source Code

   YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS       BY MSTEWART MAR. 27,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.

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

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