Source Code

This source code is very close to the Apollo Guidance Computer software for the Apollo 13 Lunar module. This revision of the Luminary 131 program is from December of 1969, whereas there was a later revision in January of 1970, and still another revision in February, which is the code that flew on the mission. As far as this transcription is concerned, it was originally from a copy made in 1991 of a printout from the collection of AGC developer Don Eyles for collector David Craig. It was subsequently scanned by Gary Neff, reprocessed for online presentation at the now-discontinued History of Recent Science and Technology (HRST) website of MIT's Dibner Institute (the full-quality scans being discarded in the process), and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a high-quality replacement scan for a completely illegible page was later provided by Gary Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many errors to be introduced into the transcription. Accordingly, a second scan of the same physical printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive, and used to correct the transcription errors. All of the scanned materials mentioned, as well as other Luminary 131 related material, are available online. Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017, so the two scans are not identical in that respect. The page-headings in the printout read, in part:
	GAP:  ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091
	17:53 DEC. 19, 1969
Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together.

054944,000002:                                                                                                  ## Copyright:   Public domain.
054945,000003:                                                                                                  ## Filename:    IMU_MODE_SWITCHING_ROUTINES.agc
054946,000004:                                                                                                  ## Purpose:     A section of Luminary 1C, revision 131.
054947,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
054948,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 13.
054949,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
054950,000008:                                                                                                  ##              that the code format has been changed to conform to the
054951,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
054952,000010:                                                                                                  ##              original YUL assembler.
054953,000011:                                                                                                  ## Reference:   pp. 1301-1329
054954,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
054955,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
054956,000014:                                                                                                  ## Mod history: 06/05/03 RSB.   Began transcribing.
054957,000015:                                                                                                  ##              05/14/05 RSB    Corrected website reference above.
054958,000016:                                                                                                  ##              2010-08-24 JL   Fixed page number comment.
054959,000017:                                                                                                  ##              2010-10-25 JL   Indentation fixes.
054960,000018:                                                                                                  ##              2011-05-07 JL   Removed workaround. Flagged SBANK= workaround
054961,000019:                                                                                                  ##                              for future removal.
054962,000020:                                                                                                  ##              2017-01-06 RSB  Page numbers now agree with those on the
054963,000021:                                                                                                  ##                              original hardcopy, as opposed to the PDF page
054964,000022:                                                                                                  ##                              numbers in 1701.pdf.
054965,000023:                                                                                                  ##              2017-01-28 RSB  Comment-text fixes identified for Luminary 69.
054966,000024:                                                                                                  ##              2017-02-27 RSB  Proofed comment text using octopus/ProoferComments.
054967,000025:                                                                                                  ##              2017-03-01 RSB  Fixed lingering comment-text typos.
054968,000026:                                                                                                  ##              2017-03-13 RSB  Comment-text fixes noted in proofing Luminary 116.
054969,000027:                                                                                                  ##              2017-03-15 RSB  Comment-text fixes identified in 6-way
054970,000028:                                                                                                  ##                              side-by-side diff of Sunburst 120 and Luminary 
054971,000029:                                                                                                  ##                              69/99/116/131/210.
054972,000030: 

Page 1301

054974,000032:    5457                                           BLOCK    02                                    
054975,000033:    4000                                           SETLOC   FFTAG3                                
054976,000034:    4000                                           BANK                                           
054977,000035: 
054978,000036:    5457  E3,1471                                  EBANK=   COMMAND                               
054979,000037: 
054980,000038:                                                                                                  #  FIXED-FIXED ROUTINES.
054981,000039: 
054982,000040:    5457                                           COUNT*   $$/IMODE                              
054983,000041:    5457           34755        ZEROICDU           CAF      ZERO                                  #  ZERO ICDU COUNTERS.
054984,000042:    5460           54032                           TS       CDUX                                  
054985,000043:    5461           54033                           TS       CDUY                                  
054986,000044:    5462           54034                           TS       CDUZ                                  
054987,000045:    5463           00002                           TC       Q                                     
054988,000046: 
054989,000047:    5464     4743               SPSCODE            =        BIT9                                  
054990,000048: 

Page 1302

054992,000050:                                                                                                  #  IMU ZEROING ROUTINE.
054993,000051: 
054994,000052: 11,3774                                           BANK     11                                    
054995,000053: 07,2000                                           SETLOC   MODESW                                
054996,000054: 07,2000                                           BANK                                           
054997,000055: 
054998,000056: 07,2705                                           COUNT*   $$/IMODE                              
054999,000057: 07,2705           00004        IMUZERO            INHINT                                         #  ROUTINE TO ZERO ICDUS.
055000,000058: 07,2706           41035                           CS       DSPTAB     +11D                       #  DONT ZERO CDUS IF IMU IN GIMBAL LOCK AND
055001,000059: 07,2707           74771                           MASK     BITS4&6                               #  COARSE ALIGN (GIMBAL RUNAWAY PROTECTION)
055002,000060: 07,2710           10000                           CCS      A                                     
055003,000061: 07,2711           12715                           TCF      IMUZEROA                              
055004,000062: 
055005,000063: 07,2712           05567                           TC       ALARM                                 #  IF SO.
055006,000064: 07,2713           00206                           OCT      00206                                 
055007,000065: 
055008,000066: 07,2714           13650                           TCF      CAGETSTJ   +4                         #  IMMEDIATE FAILURE.
055009,000067: 
055010,000068: 07,2715           03644        IMUZEROA           TC       CAGETSTJ                              
055011,000069:                                                                                                  #           DELETE
055012,000070: 07,2716           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
055013,000071: 07,2717           74773                           MASK     SUPER011                              #        BIT5 FOR GROUND
055014,000072: 07,2720           27300                           ADS      IMODES33                              
055015,000073: 
055016,000074: 07,2721           41277                           CS       IMODES30                              #  INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE
055017,000075: 07,2722           75741                           MASK     BITS3&4                               #  JUST CAME OUT OF COARSE ALIGN).
055018,000076: 07,2723           27277                           ADS      IMODES30                              
055019,000077: 
055020,000078: 07,2724           44771                           CS       BITS4&6                               #  SEND ZERO ENCODE WITH COARSE AND ERROR
055021,000079: 07,2725           00006                           EXTEND                                         #  COUNTER DISABLED.
055022,000080: 07,2726           03012                           WAND     CHAN12                                
055023,000081: 
055024,000082: 07,2727           03257                           TC       NOATTOFF                              #  TURN OFF NO ATT LAMP.
055025,000083: 
055026,000084: 07,2730           34747                           CAF      BIT5                                  
055027,000085: 07,2731           00006                           EXTEND                                         
055028,000086: 07,2732           05012                           WOR      CHAN12                                
055029,000087: 
055030,000088: 07,2733           05457                           TC       ZEROICDU                              
055031,000089: 07,2734           34746                           CAF      BIT6                                  #  WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO
055032,000090: 07,2735           05203                           TC       WAITLIST                              #  RECEIVE ITS PULSE TRAIN.
055033,000091: 07,2736  E3,1474                                  EBANK=   CDUIND                                
055034,000092: 07,2736           02750 16103                     2CADR    IMUZERO2                              
055035,000093: 
055036,000094: 07,2740           41277                           CS       IMODES30                              #  SEE IF IMU OPERATING AND ALARM IF NOT.
055037,000095: 07,2741           74743                           MASK     BIT9                                  
055038,000096: 07,2742           10000                           CCS      A                                     
055039,000097: 07,2743           12746                           TCF      MODEEXIT                              

Page 1303

055041,000099: 07,2744           05567                           TC       ALARM                                 
055042,000100: 07,2745           00210                           OCT      210                                   
055043,000101: 
055044,000102: 07,2746           00003        MODEEXIT           RELINT                                         #  GENERAL MODE-SWITCHING EXIT.
055045,000103: 07,2747           14631                           TCF      SWRETURN                              
055046,000104: 
055047,000105: 07,2750           03632        IMUZERO2           TC       CAGETEST                              
055048,000106: 07,2751           05457                           TC       ZEROICDU                              #  ZERO CDUX, CDUY, CDUZ
055049,000107: 
055050,000108: 07,2752           44747                           CS       BIT5                                  #  REMOVE ZERO DISCRETE.
055051,000109: 07,2753           00006                           EXTEND                                         
055052,000110: 07,2754           03012                           WAND     CHAN12                                
055053,000111: 
055054,000112: 07,2755           34741                           CAF      BIT11                                 #  WAIT 10 SECS FOR CTRS TO FIND GIMBALS
055055,000113: 07,2756           05224                           TC       VARDELAY                              
055056,000114: 
055057,000115: 07,2757           03632        IMUZERO3           TC       CAGETEST                              
055058,000116: 07,2760           45741                           CS       BITS3&4                               #  REMOVE IMUFAIL AND ICDUFAIL INHIBIT.
055059,000117: 07,2761           71277                           MASK     IMODES30                              
055060,000118: 07,2762           55277                           TS       IMODES30                              
055061,000119: 
055062,000120: 07,2763           44773                           CS       SUPER011                              #  ENABLE DAP AUTO AND HOLD MODES
055063,000121: 07,2764           71300                           MASK     IMODES33                              #        BIT5 FOR GROUND
055064,000122: 07,2765           55300                           TS       IMODES33                              
055065,000123: 
055066,000124: 07,2766           04674                           TC       IBNKCALL                              #  SET ISS WARNING IF EITHER OF ABOVE ARE
055067,000125: 07,2767           14703                           CADR     SETISSW                               #  PRESENT.
055068,000126: 
055069,000127: 07,2770           13622                           TCF      ENDIMU                                
055070,000128: 

Page 1304

055072,000130:                                                                                                  #  IMU COARSE ALIGN MODE.
055073,000131: 
055074,000132: 07,2771           00004        IMUCOARS           INHINT                                         
055075,000133: 07,2772           03644                           TC       CAGETSTJ                              
055076,000134: 07,2773           03135                           TC       SETCOARS                              
055077,000135: 
055078,000136: 07,2774           36245                           CAF      SIX                                   
055079,000137: 07,2775           05203                           TC       WAITLIST                              
055080,000138: 07,2776  E3,1474                                  EBANK=   CDUIND                                
055081,000139: 07,2776           03001 16103                     2CADR    COARS                                 
055082,000140: 
055083,000141: 07,3000           12746                           TCF      MODEEXIT                              
055084,000142: 
055085,000143: 07,3001           03632        COARS              TC       CAGETEST                              
055086,000144: 07,3002           34746                           CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
055087,000145: 07,3003           00006                           EXTEND                                         
055088,000146: 07,3004           05012                           WOR      CHAN12                                
055089,000147: 
055090,000148: 07,3005           34752                           CAF      TWO                                   #  SET CDU INDICATOR
055091,000149: 07,3006           55474        COARS1             TS       CDUIND                                
055092,000150: 
055093,000151: 07,3007           51474                           INDEX    CDUIND                                #  COMPUTE THETAD - THETAA IN 1:S
055094,000152: 07,3010           30321                           CA       THETAD                                #        COMPLEMENT FORM
055095,000153: 07,3011           00006                           EXTEND                                         
055096,000154: 07,3012           51474                           INDEX    CDUIND                                
055097,000155: 07,3013           20032                           MSU      CDUX                                  
055098,000156: 07,3014           00006                           EXTEND                                         
055099,000157: 07,3015           74737                           MP       BIT13                                 #  SHIFT RIGHT 2
055100,000158: 07,3016           56001                           XCH      L                                     #  ROUND
055101,000159: 07,3017           60000                           DOUBLE                                         
055102,000160: 07,3020           54061                           TS       ITEMP1                                
055103,000161: 07,3021           13023                           TCF      +2                                    
055104,000162: 07,3022           26001                           ADS      L                                     
055105,000163: 
055106,000164: 07,3023           51474                           INDEX    CDUIND                                #  DIFFERENCE TO BE COMPUTED
055107,000165: 07,3024           23471                           LXCH     COMMAND                               
055108,000166: 07,3025           11474                           CCS      CDUIND                                
055109,000167: 07,3026           03006                           TC       COARS1                                
055110,000168: 
055111,000169: 07,3027           34752                           CAF      TWO                                   #  MINIMUM OF 4 MS WAIT
055112,000170: 07,3030           05224                           TC       VARDELAY                              
055113,000171: 

Page 1305

055115,000173: 07,3031           03632        COARS2             TC       CAGETEST                              #  DONT CONTINUE IF CAGED.
055116,000174: 07,3032           54061                           TS       ITEMP1                                #  SETS TO +0.
055117,000175: 07,3033           34752                           CAF      TWO                                   #  SET CDU INDICATOR
055118,000176: 07,3034           55474                 +3        TS       CDUIND                                
055119,000177: 
055120,000178: 07,3035           51474                           INDEX    CDUIND                                
055121,000179: 07,3036           11471                           CCS      COMMAND                               #  NUMBER OF PULSES REQUIRED
055122,000180: 07,3037           03043                           TC       COMPOS                                #  GREATER THAN MAX ALLOWED
055123,000181: 07,3040           03052                           TC       NEXTCDU    +1                         
055124,000182: 07,3041           03110                           TC       COMNEG                                
055125,000183: 07,3042           03052                           TC       NEXTCDU    +1                         
055126,000184: 
055127,000185: 07,3043           63736        COMPOS             AD       -COMMAX                               #  COMMAX = MAX NUMBER OF PULSES ALLOWED
055128,000186: 07,3044           00006                           EXTEND                                         #        MINUS ONE
055129,000187: 07,3045           63120                           BZMF     COMZERO                               
055130,000188: 07,3046           51474                           INDEX    CDUIND                                
055131,000189: 07,3047           55471                           TS       COMMAND                               #  REDUCE COMMAND BY MAX NUMBER OF PULSES
055132,000190: 07,3050           43737                           CS       -COMMAX-                              #        ALLOWED
055133,000191: 
055134,000192: 07,3051           24061        NEXTCDU            INCR     ITEMP1                                
055135,000193: 07,3052           64754                           AD       NEG0                                  
055136,000194: 07,3053           51474                           INDEX    CDUIND                                
055137,000195: 07,3054           54050                           TS       CDUXCMD                               #  SET UP COMMAND REGISTER.
055138,000196: 
055139,000197: 07,3055           11474                           CCS      CDUIND                                
055140,000198: 07,3056           03034                           TC       COARS2     +3                         
055141,000199: 
055142,000200: 07,3057           10061                           CCS      ITEMP1                                #  SEE IF ANY PULSES TO GO OUT.
055143,000201: 07,3060           13124                           TCF      SENDPULS                              
055144,000202: 
055145,000203: 07,3061           05221                           TC       FIXDELAY                              #  WAIT FOR GIMBALS TO SETTLE.
055146,000204: 07,3062           00226                           DEC      150        B-14                       
055147,000205: 
055148,000206: 07,3063           34752                           CAF      TWO                                   #  AT END OF COMMAND, CHECK TO SEE THAT
055149,000207: 07,3064           54061        CHKCORS            TS       ITEMP1                                #  GIMBALS ARE WITHIN 2 DEGREES OF THETAD.
055150,000208: 07,3065           50000                           INDEX    A                                     
055151,000209: 07,3066           30032                           CA       CDUX                                  
055152,000210: 07,3067           00006                           EXTEND                                         
055153,000211: 07,3070           50061                           INDEX    ITEMP1                                
055154,000212: 07,3071           20321                           MSU      THETAD                                
055155,000213: 07,3072           10000                           CCS      A                                     
055156,000214: 07,3073           13101                           TCF      COARSERR                              
055157,000215: 07,3074           13076                           TCF      CORSCHK2                              
055158,000216: 07,3075           13101                           TCF      COARSERR                              
055159,000217: 

Page 1306

055161,000219: 07,3076           10061        CORSCHK2           CCS      ITEMP1                                
055162,000220: 07,3077           13064                           TCF      CHKCORS                               
055163,000221: 07,3100           13622                           TCF      ENDIMU                                #  END OF COARSE ALIGNMENT.
055164,000222: 
055165,000223: 07,3101           63107        COARSERR           AD       COARSTOL                              #  2 DEGREES.
055166,000224: 07,3102           00006                           EXTEND                                         
055167,000225: 07,3103           63076                           BZMF     CORSCHK2                              
055168,000226: 
055169,000227: 07,3104           05567                           TC       ALARM                                 #  COARSE ALIGN ERROR.
055170,000228: 07,3105           00211                           OCT      211                                   
055171,000229: 
055172,000230: 07,3106           13630                           TCF      IMUBAD                                
055173,000231: 
055174,000232: 07,3107           77511        COARSTOL           DEC      -.01111                               #  2 DEGREES SCALED AT HALF-REVOLUTIONS
055175,000233: 
055176,000234: 07,3110           63736        COMNEG             AD       -COMMAX                               
055177,000235: 07,3111           00006                           EXTEND                                         
055178,000236: 07,3112           63120                           BZMF     COMZERO                               
055179,000237: 07,3113           40000                           COM                                            
055180,000238: 07,3114           51474                           INDEX    CDUIND                                
055181,000239: 07,3115           55471                           TS       COMMAND                               
055182,000240: 07,3116           33737                           CA       -COMMAX-                              
055183,000241: 07,3117           03051                           TC       NEXTCDU                               
055184,000242: 
055185,000243: 07,3120           34755        COMZERO            CAF      ZERO                                  
055186,000244: 07,3121           51474                           INDEX    CDUIND                                
055187,000245: 07,3122           57471                           XCH      COMMAND                               
055188,000246: 07,3123           03051                           TC       NEXTCDU                               
055189,000247: 
055190,000248: 07,3124           37743        SENDPULS           CAF      13,14,15                              
055191,000249: 07,3125           00006                           EXTEND                                         
055192,000250: 07,3126           05014                           WOR      CHAN14                                
055193,000251: 07,3127           33740                           CAF      600MS                                 
055194,000252: 07,3130           13030                           TCF      COARS2     -1                         #  THEN TO VARDELAY
055195,000253: 
055196,000254: 07,3131           34746        CA+ECE             CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
055197,000255: 07,3132           00006                           EXTEND                                         
055198,000256: 07,3133           05012                           WOR      CHAN12                                
055199,000257: 07,3134           05261                           TC       TASKOVER                              
055200,000258: 

Page 1307

055202,000260: 07,3135           34750        SETCOARS           CAF      BIT4                                  #  BYPASS IF ALREADY IN COARSE ALIGN
055203,000261: 07,3136           00006                           EXTEND                                         
055204,000262: 07,3137           02012                           RAND     CHAN12                                
055205,000263: 07,3140           10000                           CCS      A                                     
055206,000264: 07,3141           00002                           TC       Q                                     
055207,000265: 
055208,000266: 07,3142           44746                           CS       BIT6                                  #  CLEAR ISS ERROR COUNTERS
055209,000267: 07,3143           00006                           EXTEND                                         
055210,000268: 07,3144           03012                           WAND     CHAN12                                
055211,000269: 
055212,000270: 07,3145           44742                           CS       BIT10                                 #  KNOCK DOWN GYRO ACTIVITY
055213,000271: 07,3146           00006                           EXTEND                                         
055214,000272: 07,3147           03014                           WAND     CHAN14                                
055215,000273: 07,3150           44755                           CS       ZERO                                  
055216,000274: 07,3151           54047                           TS       GYROCMD                               
055217,000275: 
055218,000276: 07,3152           34750                           CAF      BIT4                                  #  PUT ISS IN COARSE ALIGN
055219,000277: 07,3153           00006                           EXTEND                                         
055220,000278: 07,3154           05012                           WOR      CHAN12                                
055221,000279: 
055222,000280: 07,3155           41035                           CS       DSPTAB     +11D                       #  TURN ON NO ATT LAMP
055223,000281: 07,3156           73200                           MASK     OCT40010                              
055224,000282: 07,3157           27035                           ADS      DSPTAB     +11D                       
055225,000283: 
055226,000284: 07,3160           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
055227,000285: 07,3161           74746                           MASK     BIT6                                  
055228,000286: 07,3162           27300                           ADS      IMODES33                              
055229,000287: 
055230,000288: 07,3163           41277                           CS       IMODES30                              #  DISABLE IMUFAIL
055231,000289: 07,3164           74750                           MASK     BIT4                                  
055232,000290: 07,3165           27277                           ADS      IMODES30                              
055233,000291: 
055234,000292: 07,3166           44747        RNDREFDR           CS       TRACKBIT                              #  CLEAR TRACK FLAG
055235,000293: 07,3167           70075                           MASK     FLAGWRD1                              
055236,000294: 07,3170           54075                           TS       FLAGWRD1                              
055237,000295: 
055238,000296: 07,3171           44735                           CS       DRFTBIT                               #  CLEAR DRIFT FLAG
055239,000297: 07,3172           70076                           MASK     FLAGWRD2                              
055240,000298: 07,3173           54076                           TS       FLAGWRD2                              
055241,000299: 
055242,000300: 07,3174           44737                           CS       REFSMBIT                              #  CLEAR REFSMMAT FLAG
055243,000301: 07,3175           70077                           MASK     FLAGWRD3                              
055244,000302: 07,3176           54077                           TS       FLAGWRD3                              
055245,000303: 
055246,000304: 07,3177           00002                           TC       Q                                     
055247,000305: 
055248,000306: 07,3200           40010        OCT40010           OCT      40010                                 
055249,000307: 

Page 1308

055251,000309:                                                                                                  #  IMU FINE ALIGN MODE SWITCH.
055252,000310: 
055253,000311: 07,3201           00004        IMUFINE            INHINT                                         
055254,000312: 07,3202           03644                           TC       CAGETSTJ                              #  SEE IF IMU BEING CAGED.
055255,000313: 
055256,000314: 07,3203           43735                           CS       BITS4-5                               #  RESET ZERO AND COARSE
055257,000315: 07,3204           00006                           EXTEND                                         
055258,000316: 07,3205           03012                           WAND     CHAN12                                
055259,000317: 
055260,000318: 07,3206           44746                           CS       BIT6                                  #  INSURE DAP AUTO AND HOLD MODES ENABLED
055261,000319: 07,3207           71300                           MASK     IMODES33                              
055262,000320: 07,3210           55300                           TS       IMODES33                              
055263,000321: 
055264,000322: 07,3211           03257                           TC       NOATTOFF                              
055265,000323: 
055266,000324: 07,3212           34742                           CAF      BIT10                                 #  IMU FAIL WAS INHIBITED DURING THE
055267,000325: 07,3213           05203                           TC       WAITLIST                              #  PRESUMABLY PRECEDING COARSE ALIGN.  LEAVE
055268,000326: 07,3214  E3,1474                                  EBANK=   CDUIND                                
055269,000327: 07,3214           03225 16103                     2CADR    IFAILOK                               #  IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
055270,000328: 
055271,000329: 07,3216           35000                           CAF      2SECS                                 
055272,000330: 07,3217           05203                           TC       WAITLIST                              
055273,000331: 07,3220  E3,1474                                  EBANK=   CDUIND                                
055274,000332: 07,3220           03223 16103                     2CADR    IMUFINED                              
055275,000333: 
055276,000334: 07,3222           12746                           TCF      MODEEXIT                              
055277,000335: 
055278,000336: 07,3223           03632        IMUFINED           TC       CAGETEST                              #  SEE THAT NO ONE HAS CAGED THE IMU.
055279,000337: 07,3224           13622                           TCF      ENDIMU                                
055280,000338: 

Page 1309

055282,000340: 07,3225           03637        IFAILOK            TC       CAGETSTQ                              #  ENABLE IMU FIAL UNLESS IMU BEING CAGED.
055283,000341: 07,3226           15261                           TCF      TASKOVER                              #  IT IS.
055284,000342: 
055285,000343: 07,3227           34750                           CAF      BIT4                                  #  DONT RESET IMU FAIL INHIBIT IF SOMEONE
055286,000344: 07,3230           00006                           EXTEND                                         #  HAS GONE INTO COARSE ALIGN.
055287,000345: 07,3231           02012                           RAND     CHAN12                                
055288,000346: 07,3232           10000                           CCS      A                                     
055289,000347: 07,3233           15261                           TCF      TASKOVER                              
055290,000348: 
055291,000349: 07,3234           41277                           CS       IMODES30                              #  RESET IMUFAIL.
055292,000350: 07,3235           74737                           MASK     BIT13                                 
055293,000351: 07,3236           27277                           ADS      IMODES30                              
055294,000352: 07,3237           44750                           CS       BIT4                                  
055295,000353: 07,3240           71277        PFAILOK2           MASK     IMODES30                              
055296,000354: 07,3241           55277                           TS       IMODES30                              
055297,000355: 07,3242           04674                           TC       IBNKCALL                              #  THE ISS WARNING LIGHT MAY COME ON NOW
055298,000356: 07,3243           14703                           CADR     SETISSW                               #  THAT THE INHIBIT HAS BEEN REMOVED.
055299,000357: 07,3244           15261                           TCF      TASKOVER                              
055300,000358: 
055301,000359: 07,3245           03637        PFAILOK            TC       CAGETSTQ                              #  ENABLE PIP FAIL PROG ALARM.
055302,000360: 07,3246           15261                           TCF      TASKOVER                              
055303,000361: 
055304,000362: 07,3247           41277                           CS       IMODES30                              #  RESET IMU AND PIPA FAIL BITS.
055305,000363: 07,3250           74742                           MASK     BIT10                                 
055306,000364: 07,3251           27277                           ADS      IMODES30                              
055307,000365: 
055308,000366: 07,3252           41300                           CS       IMODES33                              
055309,000367: 07,3253           74737                           MASK     BIT13                                 
055310,000368: 07,3254           27300                           ADS      IMODES33                              
055311,000369: 
055312,000370: 07,3255           44747                           CS       BIT5                                  
055313,000371: 07,3256           13240                           TCF      PFAILOK2                              
055314,000372: 
055315,000373: 07,3257           43200        NOATTOFF           CS       OCT40010                              #  SUBROUTINE TO TURN OFF NO ATT LAMP.
055316,000374: 07,3260           71035                           MASK     DSPTAB     +11D                       
055317,000375: 07,3261           64735                           AD       BIT15                                 
055318,000376: 07,3262           55035                           TS       DSPTAB     +11D                       
055319,000377: 07,3263           00002                           TC       Q                                     
055320,000378: 

Page 1310

055322,000380:                                                                                                  #  ROUITNES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS.  NO IMUSTALL REQUIRED IN EITHER CASE.
055323,000381: 
055324,000382: 07,3264           44755        PIPUSE             CS       ZERO                                  
055325,000383: 07,3265           54037                           TS       PIPAX                                 
055326,000384: 07,3266           54040                           TS       PIPAY                                 
055327,000385: 07,3267           54041                           TS       PIPAZ                                 
055328,000386: 
055329,000387: 07,3270           03637        PIPUSE1            TC       CAGETSTQ                              #  DO NOT ENABLE PIPA FAIL IF IMU IS CAGED
055330,000388: 07,3271           14631                           TCF      SWRETURN                              
055331,000389: 
055332,000390: 07,3272           00004                           INHINT                                         
055333,000391: 07,3273           44753                           CS       BIT1                                  #  IF PIPA FAILS FROM NOW ON (UNTIL
055334,000392: 07,3274           71277                           MASK     IMODES30                              #  PIPFREE), LIGHT ISS WARNING.
055335,000393: 07,3275           55277                           TS       IMODES30                              
055336,000394: 
055337,000395: 07,3276           04674        PIPFREE2           TC       IBNKCALL                              #  ISS WARNING MIGHT COME ON NOW.
055338,000396: 07,3277           14703                           CADR     SETISSW                               #  (OR GO OFF ON PIPFREE).
055339,000397: 
055340,000398: 07,3300           12746                           TCF      MODEEXIT                              
055341,000399: 
055342,000400: 07,3301           00004        PIPFREE            INHINT                                         #  PROGRAM DONE WITH PIPAS.  DONT LIGHT
055343,000401: 07,3302           41277                           CS       IMODES30                              #  ISS WARNING.
055344,000402: 07,3303           74753                           MASK     BIT1                                  
055345,000403: 07,3304           27277                           ADS      IMODES30                              
055346,000404: 
055347,000405: 07,3305           74742                           MASK     BIT10                                 #  IF PIP FAIL ON, DO PROG ALSRM AND RESET
055348,000406: 07,3306           10000                           CCS      A                                     #  ISS WARNING.
055349,000407: 07,3307           12746                           TCF      MODEEXIT                              
055350,000408: 
055351,000409: 07,3310           05567                           TC       ALARM                                 
055352,000410: 07,3311           00212                           OCT      212                                   
055353,000411: 
055354,000412: 07,3312           00004                           INHINT                                         
055355,000413: 
055356,000414: 07,3313           13276                           TCF      PIPFREE2                              
055357,000415: 

Page 1311

055359,000417:                                                                                                  #  THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS
055360,000418:                                                                                                  #  BEGINNING AT THE ECADR ARRIVING IN A.  THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS).  THE
055361,000419:                                                                                                  #  UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
055362,000420: 
055363,000421: 07,3314  E3,1400                                  EBANK=   1400                                  #  VARIABLE, ACTUALLY.
055364,000422: 
055365,000423: 07,3314           54161        IMUPULSE           TS       MPAC       +5                         #  SAVE ARRIVING ECADR.
055366,000424: 07,3315           03644                           TC       CAGETSTJ                              #  DONT PROCEED IF IMU BEING CAGED.
055367,000425: 
055368,000426: 07,3316           11311                           CCS      LGYRO                                 #  SEE IF GYROS BUSY.
055369,000427: 07,3317           03360                           TC       GYROBUSY                              #  SLEEP.
055370,000428: 
055371,000429: 07,3320           54156                           TS       MPAC       +2                         
055372,000430: 07,3321           34746                           CAF      BIT6                                  #  ENABLE THE POWER SUPPLY.
055373,000431: 07,3322           00006                           EXTEND                                         
055374,000432: 07,3323           05014                           WOR      CHAN14                                
055375,000433: 
055376,000434: 07,3324           34751                           CAF      FOUR                                  
055377,000435: 07,3325           05203        GWAKE2             TC       WAITLIST                              #  (IF A JOB WAS PUT TO SLEEP, THE POWER
055378,000436: 07,3326  E3,1474                                  EBANK=   CDUIND                                #  SUPPLY IS LEFT ON BY THE WAKING JOB).
055379,000437: 07,3326           03376 16103                     2CADR    STRTGYRO                              
055380,000438: 
055381,000439: 07,3330           30161                           CA       MPAC       +5                         #  SET UP EBANK, SAVING CALLER'S EBANK FOR
055382,000440: 07,3331           56003                           XCH      EBANK                                 #  RESTORATION ON RETURN.
055383,000441: 07,3332           56161                           XCH      MPAC       +5                         
055384,000442: 07,3333           55311                           TS       LGYRO                                 #  RESERVES GYROS.
055385,000443: 07,3334           74357                           MASK     LOW8                                  
055386,000444: 07,3335           54061                           TS       ITEMP1                                
055387,000445: 
055388,000446: 07,3336           34752                           CAF      TWO                                   #  FORCE SIGN AGREEMENT ON INPUTS.
055389,000447: 07,3337           54157        GYROAGRE           TS       MPAC       +3                         
055390,000448: 07,3340           60000                           DOUBLE                                         
055391,000449: 07,3341           60061                           AD       ITEMP1                                
055392,000450: 07,3342           54160                           TS       MPAC       +4                         
055393,000451: 07,3343           00006                           EXTEND                                         
055394,000452: 07,3344           50000                           INDEX    A                                     
055395,000453: 07,3345           31401                           DCA      1400                                  
055396,000454: 07,3346           52155                           DXCH     MPAC                                  
055397,000455: 07,3347           07262                           TC       TPAGREE                               
055398,000456: 07,3350           52155                           DXCH     MPAC                                  
055399,000457: 07,3351           50160                           INDEX    MPAC       +4                         
055400,000458: 07,3352           53401                           DXCH     1400                                  
055401,000459: 
055402,000460: 07,3353           10157                           CCS      MPAC       +3                         
055403,000461: 07,3354           13337                           TCF      GYROAGRE                              
055404,000462: 
055405,000463: 07,3355           30161                           CA       MPAC       +5                         #  RESTORE CALLER'S EBANK.
055406,000464: 07,3356           54003                           TS       EBANK                                 
055407,000465: 07,3357           12746                           TCF      MODEEXIT                              
055408,000466: 

Page 1312

055410,000468:                                                                                                  #  ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
055411,000469: 
055412,000470: 07,3360           00006        GYROBUSY           EXTEND                                         #  SAVE RETURN 2FCADR.
055413,000471: 07,3361           30134                           DCA      BUF2                                  
055414,000472: 07,3362           52155                           DXCH     MPAC                                  
055415,000473: 07,3363           33375        REGSLEEP           CAF      LGWAKE                                
055416,000474: 07,3364           15133                           TCF      JOBSLEEP                              
055417,000475: 
055418,000476: 07,3365           11311        GWAKE              CCS      LGYRO                                 #  WHEN AWAKENED, SEE IF GYROS STILL BUSY.
055419,000477: 07,3366           13363                           TCF      REGSLEEP                              #  IF SO, SLEEP SOME MORE.
055420,000478: 
055421,000479: 07,3367           54156                           TS       MPAC       +2                         
055422,000480: 07,3370           00006                           EXTEND                                         
055423,000481: 07,3371           30155                           DCA      MPAC                                  
055424,000482: 07,3372           52134                           DXCH     BUF2                                  #  RESTORE SWRETURN INFO.
055425,000483: 07,3373           34753                           CAF      ONE                                   
055426,000484: 07,3374           13325                           TCF      GWAKE2                                
055427,000485: 
055428,000486: 07,3375           17365        LGWAKE             CADR     GWAKE                                 
055429,000487: 

Page 1313

055431,000489:                                                                                                  #  GYRO-TORQUING WAITLIST TASKS.
055432,000490: 
055433,000491: 07,3376           43617        STRTGYRO           CS       GDESELCT                              #  DE-SELECT LAST GYRO.
055434,000492: 07,3377           00006                           EXTEND                                         
055435,000493: 07,3400           03014                           WAND     CHAN14                                
055436,000494: 
055437,000495: 07,3401           03632                           TC       CAGETEST                              
055438,000496: 
055439,000497: 07,3402           31311        STRTGYR2           CA       LGYRO                                 #  JUMP ON PHASE COUNTER IN BITS 13-14.
055440,000498: 07,3403           00006                           EXTEND                                         
055441,000499: 07,3404           74750                           MP       BIT4                                  
055442,000500: 07,3405           50000                           INDEX    A                                     
055443,000501: 07,3406           13407                           TCF      +1                                    
055444,000502: 07,3407           03424                           TC       GSELECT                               #  =0.  DO Y GYRO.
055445,000503: 07,3410           00202                           OCT      00202                                 
055446,000504: 
055447,000505: 07,3411           03424                           TC       GSELECT                               #  =1.  DO Z GYRO.
055448,000506: 07,3412           00302                           OCT      00302                                 
055449,000507: 
055450,000508: 07,3413           03422                           TC       GSELECT    -2                         #  =2.  DO X GYRO.
055451,000509: 07,3414           00100                           OCT      00100                                 
055452,000510: 
055453,000511: 07,3415           34755                           CAF      ZERO                                  #  =3.  DONE
055454,000512: 07,3416           55311                           TS       LGYRO                                 
055455,000513: 07,3417           33375                           CAF      LGWAKE                                #  WAKE A POSSIBLE SLEEPING JOB.
055456,000514: 07,3420           05137                           TC       JOBWAKE                               
055457,000515: 
055458,000516: 07,3421           13223        NORESET            TCF      IMUFINED                              #  DO NOT RESET POWER SUPPLY

Page 1314

055460,000518: 07,3422           44751                 -2        CS       FOUR                                  #  SPECIAL ENTRY TO REGRESS LGYRO FOR X.
055461,000519: 07,3423           27311                           ADS      LGYRO                                 
055462,000520: 
055463,000521: 07,3424           50002        GSELECT            INDEX    Q                                     #  SELECT GYRO.
055464,000522: 07,3425           30000                           CAF      0                                     #  PACKED WORD CONTAINS GYRO SELECT BITS
055465,000523: 07,3426           54064                           TS       ITEMP4                                #  AND INCREMENT TO LGYRO.
055466,000524: 07,3427           74757                           MASK     SEVEN                                 
055467,000525: 07,3430           64737                           AD       BIT13                                 
055468,000526: 07,3431           27311                           ADS      LGYRO                                 
055469,000527: 07,3432           54003                           TS       EBANK                                 
055470,000528: 07,3433           74357                           MASK     LOW8                                  
055471,000529: 07,3434           54061                           TS       ITEMP1                                
055472,000530: 
055473,000531: 07,3435           44757                           CS       SEVEN                                 
055474,000532: 07,3436           70064                           MASK     ITEMP4                                
055475,000533: 07,3437           54064                           TS       ITEMP4                                
055476,000534: 
055477,000535: 07,3440           00006                           EXTEND                                         #  MOVE DP COMMAND TO RUPTREGS FOR TESTING.
055478,000536: 07,3441           50061                           INDEX    ITEMP1                                
055479,000537: 07,3442           31401                           DCA      1400                                  
055480,000538: 07,3443           52071                           DXCH     RUPTREG1                              
055481,000539: 
055482,000540: 07,3444           10070                           CCS      RUPTREG1                              
055483,000541: 07,3445           13460                           TCF      MAJ+                                  
055484,000542: 07,3446           13450                           TCF      +2                                    
055485,000543: 07,3447           13600                           TCF      MAJ-                                  
055486,000544: 
055487,000545: 07,3450           10071                           CCS      RUPTREG2                              
055488,000546: 07,3451           13455                           TCF      MIN+                                  
055489,000547: 07,3452           13402                           TCF      STRTGYR2                              
055490,000548: 07,3453           13575                           TCF      MIN-                                  
055491,000549: 07,3454           13402                           TCF      STRTGYR2                              
055492,000550: 

Page 1315

055494,000552: 07,3455           63511        MIN+               AD       -GYROMIN                              #  SMALL POSITIVE COMMAND.  SEE IF AT LEAST
055495,000553: 07,3456           00006                           EXTEND                                         #  16 GYRO PULSES.
055496,000554: 07,3457           63402                           BZMF     STRTGYR2                              
055497,000555: 
055498,000556: 07,3460           00006        MAJ+               EXTEND                                         #  DEFINITE POSITIVE OUTPUT.
055499,000557: 07,3461           33621                           DCA      GYROFRAC                              
055500,000558: 07,3462           20071                           DAS      RUPTREG1                              
055501,000559: 
055502,000560: 07,3463           30064                           CA       ITEMP4                                #  SELECT POSITIVE TORQUING FOR THIS GYRO.
055503,000561: 07,3464           00006                           EXTEND                                         
055504,000562: 07,3465           05014                           WOR      CHAN14                                
055505,000563: 
055506,000564: 07,3466           36077                           CAF      LOW7                                  #  LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS
055507,000565: 07,3467           70071                           MASK     RUPTREG2                              #  TO INITIAL COMMAND IN MAJOR PART OF LONG
055508,000566: 07,3470           56071                           XCH      RUPTREG2                              #  TERM STORAGE AND TRUNCATED FRACTION
055509,000567: 07,3471           00006        GMERGE             EXTEND                                         #  IN MINOR PART.  THE MAJOR PART WILL BE
055510,000568: 07,3472           74744                           MP       BIT8                                  #  COUNTED DOWN TO ZERO IN THE COURSE OF
055511,000569: 07,3473           54062                           TS       ITEMP2                                #  PUTTING OUT THE ENTIRE COMMAND.
055512,000570: 07,3474           30070                           CA       RUPTREG1                              
055513,000571: 07,3475           00006                           EXTEND                                         
055514,000572: 07,3476           74743                           MP       BIT9                                  
055515,000573: 07,3477           54070                           TS       RUPTREG1                              
055516,000574: 07,3500           30001                           CA       L                                     
055517,000575: 07,3501           00006                           EXTEND                                         
055518,000576: 07,3502           74736                           MP       BIT14                                 
055519,000577: 07,3503           26062                           ADS      ITEMP2                                #  INITIAL COMMAND.
055520,000578: 
055521,000579: 07,3504           00006                           EXTEND                                         #  SEE IF MORE THAN ONE PULSE TRAIN NEEDED
055522,000580: 07,3505           30071                           DCA      RUPTREG1                              #  (MORE THAN 16383 PULSES).
055523,000581: 07,3506           67752                           AD       MINUS1                                
055524,000582: 07,3507           10000                           CCS      A                                     
055525,000583: 07,3510           13534                           TCF      LONGGYRO                              
055526,000584: 07,3511           77601        -GYROMIN           OCT      -176                                  #  MAY BE ADJUSTED TO SPECIFY MINIMUM CMD
055527,000585: 07,3512           13516                           TCF      +4                                    
055528,000586: 
055529,000587: 07,3513           34736                           CAF      BIT14                                 
055530,000588: 07,3514           26062                           ADS      ITEMP2                                
055531,000589: 07,3515           34755                           CAF      ZERO                                  
055532,000590: 
055533,000591: 07,3516           50061                 +4        INDEX    ITEMP1                                
055534,000592: 07,3517           53401                           DXCH     1400                                  

Page 1316

055536,000594: 07,3520           30062                           CA       ITEMP2                                #  ENTIRE COMMAND.
055537,000595: 07,3521           54047        LASTSEG            TS       GYROCMD                               
055538,000596: 07,3522           00006                           EXTEND                                         
055539,000597: 07,3523           74742                           MP       BIT10                                 #  WAITLIST DT
055540,000598: 07,3524           66250                           AD       THREE                                 #  TRUNCATION AND PHASE UNCERTAINTIES.
055541,000599: 07,3525           05203                           TC       WAITLIST                              
055542,000600: 07,3526  E3,1474                                  EBANK=   CDUIND                                
055543,000601: 07,3526           03376 16103                     2CADR    STRTGYRO                              
055544,000602: 
055545,000603: 07,3530           34742        GYROEXIT           CAF      BIT10                                 
055546,000604: 07,3531           00006                           EXTEND                                         
055547,000605: 07,3532           05014                           WOR      CHAN14                                
055548,000606: 07,3533           15261                           TCF      TASKOVER                              
055549,000607: 
055550,000608: 07,3534           50061        LONGGYRO           INDEX    ITEMP1                                
055551,000609: 07,3535           53401                           DXCH     1400                                  #  INITIAL COMMAND OUT PLUS N AUGMENTS OF
055552,000610: 07,3536           34736                           CAF      BIT14                                 #  8192.  INITIAL COMMAND IS AT LEAST 8192.
055553,000611: 07,3537           60062                           AD       ITEMP2                                
055554,000612: 07,3540           54047                           TS       GYROCMD                               
055555,000613: 
055556,000614: 07,3541           00006        AUG3               EXTEND                                         #  GET WAITLIST DT TO TIME WHEN TRAIN IS
055557,000615: 07,3542           74742                           MP       BIT10                                 #  ALMOST OUT.
055558,000616: 07,3543           67750                           AD       NEG3                                  
055559,000617: 07,3544           05203                           TC       WAITLIST                              
055560,000618: 07,3545  E3,1474                                  EBANK=   CDUIND                                
055561,000619: 07,3545           03550 16103                     2CADR    8192AUG                               
055562,000620: 
055563,000621: 07,3547           13530                           TCF      GYROEXIT                              
055564,000622: 
055565,000623: 07,3550           03632        8192AUG            TC       CAGETEST                              
055566,000624: 
055567,000625: 07,3551           34750                           CAF      BIT4                                  
055568,000626: 07,3552           00006                           EXTEND                                         
055569,000627: 07,3553           02012                           RAND     CHAN12                                
055570,000628: 07,3554           10000                           CCS      A                                     
055571,000629: 07,3555           13630                           TCF      IMUBAD                                
055572,000630: 07,3556           31311                           CA       LGYRO                                 #  ADD 8192 PULSES TO GYROCMD
055573,000631: 07,3557           54003                           TS       EBANK                                 
055574,000632: 07,3560           74357                           MASK     LOW8                                  
055575,000633: 07,3561           54061                           TS       ITEMP1                                
055576,000634: 
055577,000635: 07,3562           50061                           INDEX    ITEMP1                                #  SEE IF THIS IS THE LAST AUG.
055578,000636: 07,3563           11400                           CCS      1400                                  
055579,000637: 07,3564           13570                           TCF      AUG2                                  #  MORE TO COME.
055580,000638: 
055581,000639: 07,3565           34736                           CAF      BIT14                                 
055582,000640: 07,3566           26047                           ADS      GYROCMD                               
055583,000641: 07,3567           13522                           TCF      LASTSEG    +1                         
055584,000642: 

Page 1317

055586,000644: 07,3570           50061        AUG2               INDEX    ITEMP1                                
055587,000645: 07,3571           55400                           TS       1400                                  
055588,000646: 07,3572           34736                           CAF      BIT14                                 
055589,000647: 07,3573           26047                           ADS      GYROCMD                               
055590,000648: 07,3574           13541                           TCF      AUG3                                  #  COMPUTE DT.
055591,000649: 

Page 1318

055593,000651: 07,3575           63511        MIN-               AD       -GYROMIN                              #  POSSIBLE NEGATIVE OUTPUT.
055594,000652: 07,3576           00006                           EXTEND                                         
055595,000653: 07,3577           63402                           BZMF     STRTGYR2                              
055596,000654: 
055597,000655: 07,3600           00006        MAJ-               EXTEND                                         #  DEFINITE NEGATIVE OUTPUT.
055598,000656: 07,3601           43621                           DCS      GYROFRAC                              
055599,000657: 07,3602           20071                           DAS      RUPTREG1                              
055600,000658: 
055601,000659: 07,3603           30064                           CA       ITEMP4                                #  SELECT NEGATIVE TORQUING FOR THIS GYRO.
055602,000660: 07,3604           64743                           AD       BIT9                                  
055603,000661: 07,3605           00006                           EXTEND                                         
055604,000662: 07,3606           05014                           WOR      CHAN14                                
055605,000663: 
055606,000664: 07,3607           40070                           CS       RUPTREG1                              #  SET UP RUPTREGS TO FALL INTO GMERGE.
055607,000665: 07,3610           54070                           TS       RUPTREG1                              #  ALL NUMBERS PUT INTO GYROCMD ARE
055608,000666: 07,3611           40071                           CS       RUPTREG2                              #  POSITIVE - BIT9 OF CHAN 14 DETERMINES
055609,000667: 07,3612           76077                           MASK     LOW7                                  #  THE SIGN OF THE COMMAND.
055610,000668: 07,3613           40000                           COM                                            
055611,000669: 07,3614           56071                           XCH      RUPTREG2                              
055612,000670: 07,3615           40000                           COM                                            
055613,000671: 07,3616           13471                           TCF      GMERGE                                
055614,000672: 
055615,000673: 07,3617           01700        GDESELCT           OCT      1700                                  #  TURN OFF SELECT AND ACTIVITY BITS.
055616,000674: 
055617,000675: 07,3620           00000 00034  GYROFRAC           2DEC     .215       B-21                       
055618,000676: 

Page 1319

055620,000678:                                                                                                  #  IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
055621,000679: 
055622,000680: 07,3622           00006        ENDIMU             EXTEND                                         #  MODE IS BAD IF CAGE HAS OCCURED OR IF
055623,000681: 07,3623           00011                           READ     DSALMOUT                              #  ISS WARNING IS ON.
055624,000682: 07,3624           74753                           MASK     BIT1                                  
055625,000683: 07,3625           10000                           CCS      A                                     
055626,000684: 07,3626           13630                           TCF      IMUBAD                                
055627,000685: 
055628,000686: 07,3627           13656        IMUGOOD            TCF      GOODEND                               #  WITH C(A) = 0.
055629,000687: 
055630,000688: 07,3630           34755        IMUBAD             CAF      ZERO                                  
055631,000689: 07,3631           13653                           TCF      BADEND                                
055632,000690: 
055633,000691: 07,3632           34746        CAGETEST           CAF      BIT6                                  #  SUBROUTINE TO TERMINATE IMU MODE
055634,000692: 07,3633           71277                           MASK     IMODES30                              #  SWITCH IF IMU HAS BEEN CAGED.
055635,000693: 07,3634           10000                           CCS      A                                     
055636,000694: 07,3635           13630                           TCF      IMUBAD                                #  DIRECTLY.
055637,000695: 07,3636           00002                           TC       Q                                     #  WITH C(A) = +0.
055638,000696: 
055639,000697: 07,3637           41277        CAGETSTQ           CS       IMODES30                              #  SKIP IF IMU NOT BEING CAGED.
055640,000698: 07,3640           74746                           MASK     BIT6                                  
055641,000699: 07,3641           10000                           CCS      A                                     
055642,000700: 07,3642           24002                           INCR     Q                                     
055643,000701: 07,3643           00002                           TC       Q                                     
055644,000702: 
055645,000703: 07,3644           41277        CAGETSTJ           CS       IMODES30                              #  IF DURING MODE SWITCH INITIALIZATION
055646,000704: 07,3645           74746                           MASK     BIT6                                  #  IT IS FOUND THAT THE IMU IS BEING CAGED,
055647,000705: 07,3646           10000                           CCS      A                                     #  SET IMUCADR TO -0 TO INDICATE OPERATION
055648,000706: 07,3647           00002                           TC       Q                                     #  COMPLETE BUT FAILED.  RETURN IMMEDIATELY
055649,000707: 07,3650           44755                           CS       ZERO                                  #  TO SWRETURN.
055650,000708: 07,3651           55301                           TS       IMUCADR                               
055651,000709: 07,3652           12746                           TCF      MODEEXIT                              
055652,000710: 

Page 1320

055654,000712:                                                                                                  #  GENERALIZED MODE SWITCHING TERMINATION.  ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION
055655,000713:                                                                                                  #  OR AT BADEND FOR AN UNSUCCESSFUL ONE.  C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
055656,000714: 
055657,000715: 07,3653           54071        BADEND             TS       RUPTREG2                              #  DEVICE INDEX.
055658,000716: 07,3654           44755                           CS       ZERO                                  #  FOR FAILURE.
055659,000717: 07,3655           13660                           TCF      GOODEND    +2                         
055660,000718: 
055661,000719: 07,3656           54071        GOODEND            TS       RUPTREG2                              
055662,000720: 07,3657           44753                           CS       ONE                                   #  FOR SUCCESS.
055663,000721: 
055664,000722: 07,3660           54072                           TS       RUPTREG3                              
055665,000723: 07,3661           50071                           INDEX    RUPTREG2                              #  SEE IF USING PROGRAM ASLEEP.
055666,000724: 07,3662           11301                           CCS      MODECADR                              
055667,000725: 07,3663           13667                           TCF      +4                                    #  YES - WAKE IT UP.
055668,000726: 07,3664           13677                           TCF      ENDMODE                               #  IF 0, PROGRAM NOT IN YET.
055669,000727: 
055670,000728: 07,3665           00006                           EXTEND                                         
055671,000729: 07,3666           13700                           BZF      ENDMODE    +1                         #  BZF = TCF IF MODECADR = -0.
055672,000730: 
055673,000731: 07,3667           34755                           CAF      ZERO                                  #  WAKE SLEEPING PROGRAM.
055674,000732: 07,3670           50071                           INDEX    RUPTREG2                              
055675,000733: 07,3671           57301                           XCH      MODECADR                              
055676,000734: 07,3672           05137                           TC       JOBWAKE                               
055677,000735: 
055678,000736: 07,3673           40072                           CS       RUPTREG3                              #  ADVANCE LOC IF SUCCESSFUL.
055679,000737: 07,3674           50064                           INDEX    LOCCTR                                
055680,000738: 07,3675           26164                           ADS      LOC                                   
055681,000739: 
055682,000740: 07,3676           15261                           TCF      TASKOVER                              
055683,000741: 
055684,000742: 07,3677           30072        ENDMODE            CA       RUPTREG3                              #  -0 INDICATES OPERATION COMPLETE BUT
055685,000743: 07,3700           50071                 +1        INDEX    RUPTREG2                              #  UNSUCCESSFUL:  -1 INDICATES COMPLETE AND
055686,000744: 07,3701           55301                           TS       MODECADR                              #  SUCCESSFUL.
055687,000745: 07,3702           15261                           TCF      TASKOVER                              
055688,000746: 

Page 1321

055690,000748:                                                                                                  #  GENERAL STALLING ROUTINE.  USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
055691,000749: 
055692,000750:                                                                                                  #  PROGRAM DESCRIPTION                           DATE - 21 FEB 1967
055693,000751:                                                                                                  #                                                LOG SECTION IMU MODE SWITCHING
055694,000752:                                                                                                  #  MOD BY - R. MELANSON TO ADD DOCUMENTATION     ASSEMBLY SUNDISK REV. 82
055695,000753: 
055696,000754:                                                                                                  #  FUNCTIONAL DESCRIPTION -
055697,000755:                                                                                                  #        TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED
055698,000756:                                                                                                  #        I/O FUNCTION IS COMPLETE.  THE FOLLOWING CHECKS ON THE CALLING ROUTINE:S
055699,000757:                                                                                                  #        MODECADR ARE MADE AND ACTED UPON.
055700,000758:                                                                                                  #        1) +0 INDICATES INCOMPLETE I/O OPERATION.  CALLING ROUTINE IS PUT TO
055701,000759:                                                                                                  #           SLEEP.
055702,000760:                                                                                                  #        2) -1 INDICATES COMPLETED I/O OPERATION.  STALL BYPASSES JOBSLEEP
055703,000761:                                                                                                  #           CALL AND RETURNS TO CALLING ROUTINE AT L+3
055704,000762:                                                                                                  #        3) -0 INDICATES COMPLETED I/O WITH FAILURE.  STALL CLEARS MODECADR
055705,000763:                                                                                                  #           AND RETURNS TO CALLING ROUTINE AT L+2.
055706,000764:                                                                                                  #        4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF
055707,000765:                                                                                                  #           SAME DEVICE.  STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM
055708,000766:                                                                                                  #           RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
055709,000767: 
055710,000768:                                                                                                  #  CALLING SEQUENCE -
055711,000769:                                                                                                  #        L       TC      BANKCALL
055712,000770:                                                                                                  #        L+1     CADR    (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL, OPTSTALL, RADSTALL,
055713,000771:                                                                                                  #                        AOTSTALL, OR ATTSTALL)
055714,000772: 
055715,000773:                                                                                                  #  NORMAL-EXIT MODE -
055716,000774:                                                                                                  #        TCF JOBSLEEP    OR      TCF MODEXIT
055717,000775: 
055718,000776:                                                                                                  #  ALARM OR ABORT EXIT MODE -
055719,000777:                                                                                                  #        TC      ABORT
055720,000778: 
055721,000779:                                                                                                  #  OUTPUT -
055722,000780:                                                                                                  #        MODECADR=CADR   IF JOBSLEEP
055723,000781:                                                                                                  #        MODECADR=+0     IF I/O COMPLETE
055724,000782:                                                                                                  #        BUF2=L+3        IF I/O COMPLETE AND GOOD.
055725,000783:                                                                                                  #        BUF2=L+2        IF I/O COMPLETE BUT FAILED.
055726,000784: 
055727,000785:                                                                                                  #  ERASABLE INITIALIZATION -
055728,000786:                                                                                                  #        BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2)
055729,000787:                                                                                                  #        BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE.
055730,000788:                                                                                                  #        MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR CADR RETURN ADDRESS.
055731,000789: 
055732,000790:                                                                                                  #  DEBRIS -
055733,000791:                                                                                                  #        RUPTREG2 AND CALLING ROUTINE MODECADR.
055734,000792: 

[WORKAROUND] RSB 2004

055736,000794: 07,3703  30,2000                                  SBANK=   LOWSUPER                              
055737,000795: 
055738,000796: 07,3703           34753        AOTSTALL           CAF      ONE                                   #  AOT.
055739,000797: 07,3704           03710                           TC       STALL                                 
055740,000798: 
055741,000799: 07,3705           34752        RADSTALL           CAF      TWO                                   
055742,000800: 07,3706           13710                           TCF      STALL                                 
055743,000801: 

Page 1322

055745,000803: 07,3707  07,3703               OPTSTALL           EQUALS   AOTSTALL                              
055746,000804: 
055747,000805: 07,3707           34755        IMUSTALL           CAF      ZERO                                  #  IMU.
055748,000806: 
055749,000807: 07,3710           00004        STALL              INHINT                                         
055750,000808: 07,3711           54071                           TS       RUPTREG2                              #  SAVE DEVICE INDEX.
055751,000809: 07,3712           50000                           INDEX    A                                     #  SEE IF OPERATION COMPLETE.
055752,000810: 07,3713           11301                           CCS      MODECADR                              
055753,000811: 07,3714           13732                           TCF      MODABORT                              #  ALLOWABLE STATES ARE +0, -1, AND -0.
055754,000812: 07,3715           13726                           TCF      MODESLP                               #  OPERATION INCOMPLETE.
055755,000813: 07,3716           13722                           TCF      MODEGOOD                              #  COMPLETE AND GOOD IF = -1.
055756,000814: 
055757,000815: 07,3717           50071        MG2                INDEX    RUPTREG2                              #  COMPLETE AND FAILED IF -0.  RESET TO +0.
055758,000816: 07,3720           55301                           TS       MODECADR                              #  RETURN TO CALLER.
055759,000817: 07,3721           12746                           TCF      MODEEXIT                              
055760,000818: 
055761,000819: 07,3722           10000        MODEGOOD           CCS      A                                     #  MAKE SURE INITIAL STATE -1.
055762,000820: 07,3723           13732                           TCF      MODABORT                              
055763,000821: 
055764,000822: 07,3724           24133                           INCR     BUF2                                  #  IF SO, INCREMENT RETURN ADDRESS AND
055765,000823: 07,3725           13717                           TCF      MG2                                   #  RETURN IMMEDIATELY, SETTING CADR = +0.
055766,000824: 
055767,000825: 07,3726           04645        MODESLP            TC       MAKECADR                              #  CALL FROM SWITCHABLE FIXED ONLY.
055768,000826: 07,3727           50071                           INDEX    RUPTREG2                              
055769,000827: 07,3730           55301                           TS       MODECADR                              
055770,000828: 07,3731           15133                           TCF      JOBSLEEP                              
055771,000829: 
055772,000830: 07,3732           52134        MODABORT           DXCH     BUF2                                  
055773,000831: 07,3733           05706                           TC       BAILOUT1                              #  TWO PROGRAMS USING THE SAME DEVICE.
055774,000832: 07,3734           31210                           OCT      31210                                 
055775,000833: 

Page 1323

055777,000835:                                                                                                  #  CONSTANTS FOR MODE SWITCHING ROUTINES
055778,000836: 
055779,000837: 07,3735     5741               BITS3&4            =        OCT14                                 
055780,000838: 07,3735     4771               BITS4&6            =        OCT50                                 
055781,000839: 07,3735           00030        BITS4-5            OCT      00030                                 
055782,000840: 07,3736     4744               IMUSEFLG           EQUALS   BIT8                                  #  INTERPRETER SWITCH 7.
055783,000841: 07,3736           77500        -COMMAX            DEC      -191       B-14                       
055784,000842: 07,3737           77477        -COMMAX-           DEC      -192       B-14                       
055785,000843: 07,3740           00074        600MS              DEC      60         B-14                       
055786,000844: 07,3741  07,3201               IMUFIN20           =        IMUFINE                               
055787,000845: 07,3741           31304        GOMANUR            CA       ATTCADR                               #  IS KALCMANU FREE
055788,000846: 07,3742           00006                           EXTEND                                         
055789,000847: 07,3743           13745                           BZF      +2                                    
055790,000848: 07,3744           03732                           TC       MODABORT                              #  BAILOUT
055791,000849: 07,3745           00006                 +2        EXTEND                                         
055792,000850: 07,3746           30134                           DCA      BUF2                                  
055793,000851: 07,3747           53305                           DXCH     ATTCADR                               #  SAVE FINAL RETURN FOR KALCMAN3
055794,000852: 
055795,000853: 07,3750           30006                           CA       BBANK                                 
055796,000854: 07,3751           74757                           MASK     SEVEN                                 
055797,000855: 07,3752           27305                           ADS      ATTCADR    +1                         
055798,000856: 
055799,000857: 07,3753           30167                           CA       PRIORITY                              
055800,000858: 07,3754           77730                           MASK     PRIO37                                
055801,000859: 07,3755           55306                           TS       ATTPRIO                               #  SAVE USERS PRIO
055802,000860: 
055803,000861: 07,3756           33762                           CAF      KALEBCON                              #  SET EBANK FOR KALCMAN3
055804,000862: 07,3757           54003                           TS       EBANK                                 
055805,000863: 07,3760           04635                           TC       POSTJUMP                              
055806,000864: 07,3761           44004                           CADR     KALCMAN3                              
055807,000865: 07,3762           03275        KALEBCON           ECADR    BCDU                                  
055808,000866: 

Page 1324

055810,000868:                                                                                                  #  PROGRAM DESCRIPTION
055811,000869:                                                                                                  #  IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY)
055812,000870:                                                                                                  #  MOD NO - 1
055813,000871:                                                                                                  #  MOD BY - N.BRODEUR
055814,000872: 
055815,000873:                                                                                                  #  FUNCTIONAL DESCRIPTION
055816,000874:                                                                                                  #        TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN
055817,000875:                                                                                                  #        ORIENTATION KNOWN BY THE CMC.  TO REQUEST SELECTION OF THE APPROPRIATE
055818,000876:                                                                                                  #        PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE
055819,000877:                                                                                                  #        CMC.  CALLED THROUGH BANKCALL
055820,000878: 
055821,000879:                                                                                                  #  CALLING SEQUENCE -
055822,000880:                                                                                                  #        L       TC      BANKCALL
055823,000881:                                                                                                  #        L+1     CADR    R02BOTH
055824,000882: 
055825,000883:                                                                                                  #  SUBROUTINES CALLED
055826,000884:                                                                                                  #        VARALARM
055827,000885:                                                                                                  #        FLAGUP
055828,000886: 
055829,000887:                                                                                                  #  NORMAL EXIT MODES
055830,000888:                                                                                                  #        AT L+2 OF CALLING SEQUENCE
055831,000889: 
055832,000890:                                                                                                  #  ALARM OR ABORT EXIT MODES
055833,000891:                                                                                                  #        GOTOPOOH, WITH ALARM
055834,000892: 
055835,000893:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
055836,000894:                                                                                                  #        NONE
055837,000895: 
055838,000896:                                                                                                  #  DEBRIS
055839,000897:                                                                                                  #        CENTRALS-A,Q,L
055840,000898: 
055841,000899: 34,3650                                           BANK     34                                    
055842,000900: 04,2000                                           SETLOC   R02                                   
055843,000901: 04,2000                                           BANK                                           
055844,000902: 04,3232                                           COUNT*   $$/R02                                
055845,000903: 04,3232           00063        DEC51              DEC      51         B-14                       
055846,000904: 04,3233           34737        R02BOTH            CAF      REFSMBIT                              
055847,000905: 04,3234           70077                           MASK     FLAGWRD3                              
055848,000906: 04,3235           10000                           CCS      A                                     
055849,000907: 04,3236           03247                           TC       R02ZERO                               #  ZERO IMUS
055850,000908: 
055851,000909: 04,3237           31277                           CA       IMODES30                              
055852,000910: 04,3240           74743                           MASK     BIT9                                  #  IS ISS INITIALIZED
055853,000911: 04,3241           00006                           EXTEND                                         
055854,000912: 04,3242           13244                           BZF      +2                                    
055855,000913: 04,3243           44750                           CS       BIT4                                  #  SEND IMU ALARM CODE 210
055856,000914: 04,3244           63252                           AD       OCT220                                #  SEND REFSMM ALARM
055857,000915: 04,3245           05734                           TC       VARALARM                              
055858,000916: 
055859,000917: 04,3246           06001                           TC       GOTOPOOH                              
055860,000918: 
055861,000919: 04,3247           05504        R02ZERO            TC       UPFLAG                                

Page 1325

055863,000921: 04,3250           00007                           ADRES    IMUSE                                 
055864,000922: 04,3251           14631                           TCF      SWRETURN                              
055865,000923: 04,3252           00220        OCT220             OCT      220                                   
055866,000924: 

Page 1326

055868,000926:                                                                                                  #  PROGRAM DESCRIPTION   P06             10FEB67
055869,000927: 
055870,000928:                                                                                                  #  TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
055871,000929: 
055872,000930:                                                                                                  #  THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY.  IN THIS CONDITION THE IMU
055873,000931:                                                                                                  #  HEATER POWER IS ON.  THE IMU OPERATE POWER IS OFF.  THE COMPUTER POWER IS ON.  THE OPTICS POWER IS OFF.  THE
055874,000932:                                                                                                  #  CMC STANDBY ON THE MAIN AND LEB DISKYS IS ON.
055875,000933: 
055876,000934:                                                                                                  #  CALLING SEQUENCE:
055877,000935:                                                                                                  #        ASTRONAUT REQUEST THROUGH DSKY  V37E 06E.
055878,000936: 
055879,000937:                                                                                                  #  SUBROUTINES CALLED:
055880,000938:                                                                                                  #        GOPERF1
055881,000939:                                                                                                  #        BANKCALL
055882,000940:                                                                                                  #        FLAGDOWN
055883,000941: 

Page 1327

055885,000943:                                                                                                  #  PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2
055886,000944:                                                                                                  #  THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY
055887,000945:                                                                                                  #  BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
055888,000946: 
055889,000947: 37,2000                                           SETLOC   P05P06                                
055890,000948: 37,2000                                           BANK                                           
055891,000949: 
055892,000950: 37,3652     0314                                  EBANK=   TIME2SAV                              
055893,000951: 37,3652                                           COUNT*   $$/P06                                
055894,000952: 
055895,000953: 37,3652           05504        P06                TC       UPFLAG                                #  SET NODOV37 BIT
055896,000954: 37,3653           00054                           ADRES    NODOFLAG                              
055897,000955: 
055898,000956: 37,3654           00004        PRESTAND           INHINT                                         
055899,000957: 37,3655           00006                           EXTEND                                         
055900,000958: 37,3656           30025                           DCA      TIME2                                 #  SNAPSHOT TIME1 TIME2
055901,000959: 37,3657           52315                           DXCH     TIME2SAV                              
055902,000960: 37,3660           03711                           TC       SCALPREP                              
055903,000961: 37,3661           03654                           TC       PRESTAND                              #  T1,T2,SCALER NOT COMPATIBLE
055904,000962: 37,3662           52155                           DXCH     MPAC                                  #  T1,T2 AND SCALER OK
055905,000963: 37,3663           52317                           DXCH     SCALSAVE                              #  STORE SCALER
055906,000964: 37,3664           00004                           INHINT                                         
055907,000965: 37,3665           04616                           TC       BANKCALL                              
055908,000966: 37,3666           17166                           CADR     RNDREFDR                              #  REFSMM, DRIFT, TRACK FLAGS DOWN
055909,000967: 
055910,000968: 37,3667           05516                           TC       DOWNFLAG                              
055911,000969: 37,3670           00007                           ADRES    IMUSE                                 #  IMUSE DOWN
055912,000970: 37,3671           05516                           TC       DOWNFLAG                              
055913,000971: 37,3672           00010                           ADRES    RNDVZFLG                              #  RNDVZFLG DOWN
055914,000972: 
055915,000973: 37,3673           34741                           CAF      BIT11                                 
055916,000974: 37,3674           00006                           EXTEND                                         
055917,000975: 37,3675           05013                           WOR      CHAN13                                #  SET STANDBY ENABLE BIT
055918,000976: 
055919,000977: 37,3676           05353                           TC       PHASCHNG                              #  SET RESTART TO POSTAND WHEN STANDBY
055920,000978: 37,3677           07024                           OCT      07024                                 #        RECOVERS
055921,000979: 37,3700           20000                           OCT      20000                                 
055922,000980: 37,3701     0316                                  EBANK=   SCALSAVE                              
055923,000981: 37,3701           03731 76060                     2CADR    POSTAND                               
055924,000982: 
055925,000983: 37,3703           34774                           CAF      OCT62                                 
055926,000984: 37,3704           04616                           TC       BANKCALL                              
055927,000985: 37,3705           20624                           CADR     GOPERF1                               
055928,000986: 37,3706           13703                           TCF      -3                                    
055929,000987: 37,3707           13703                           TCF      -4                                    
055930,000988: 37,3710           13703                           TCF      -5                                    
055931,000989: 
055932,000990: 37,3711     4774               OCT62              EQUALS   .5SEC                                 #  DEC 50 = OCT 62
055933,000991: 
055934,000992:                                                                                                  #  THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A

Page 1328

055936,000994:                                                                                                  #  T1 INCREMENT.  IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER
055937,000995:                                                                                                  #  DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE
055938,000996:                                                                                                  #  DATA.  OTHERWISE, THE RETURN IS TO L+2 TO PROCEED.  ROUTINE ALSO PREPARES
055939,000997:                                                                                                  #  THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2.  (THE
055940,000998:                                                                                                  #  10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM
055941,000999:                                                                                                  #  T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF
055942,001000:                                                                                                  #  ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1.  THE LOW 5
055943,001001:                                                                                                  #  BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER
055944,001002:                                                                                                  #  DATA TO 10 MS.  RESULTS ARE STORED IN MPAC, +1.
055945,001003: 
055946,001004: 37,3711           00006        SCALPREP           EXTEND                                         
055947,001005: 37,3712           22156                           QXCH     MPAC       +2                         
055948,001006: 37,3713           04103                           TC       FINETIME   +1                         
055949,001007: 37,3714           00003                           RELINT                                         
055950,001008: 37,3715           52155                           DXCH     MPAC                                  
055951,001009: 37,3716           34747                           CA       BIT5                                  #  ADD 5 MS TO THE SCALER READING.
055952,001010: 37,3717           54001                           TS       L                                     
055953,001011: 37,3720           34755                           CA       ZERO                                  
055954,001012: 37,3721           20155                           DAS      MPAC                                  
055955,001013: 37,3722           44346                           CS       LOW5                                  #  SET LOW 5 BITS OF (SCALER+5MS) TO ZERO
055956,001014: 37,3723           70155                           MASK     MPAC       +1                         #  AND STORE RESULTS IN MPAC,+1.
055957,001015: 37,3724           56155                           XCH      MPAC       +1                         
055958,001016: 37,3725           74346                           MASK     LOW5                                  #  TEST LOW 5 BITS OF SCALER FOR THE FIRST
055959,001017:                                                                                                  #  INTERVAL AFTER THE T1 INCREMENT
055960,001018:                                                                                                  #  (NOW = 00000, SINCE BIT 5 ADDED).
055961,001019: 37,3726           10000                           CCS      A                                     #  IS IT 1ST INTERVAL AFTER T1 INCREMENT
055962,001020: 37,3727           24156                           INCR     MPAC       +2                         #  NO
055963,001021: 37,3730           00156                           TC       MPAC       +2                         #  YES
055964,001022: 
055965,001023:                                                                                                  #  POSTAND RECOVERS TIME AFTER STANDBY.  THE SCALER IS SNAPSHOTTED AND THE
055966,001024:                                                                                                  #  TIME1 TIME2 COUNTER IS SET TO ZERO.  THE LOW 5 BITS OF THE SCALER ARE
055967,001025:                                                                                                  #  INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE
055968,001026:                                                                                                  #  CLEARING OF THE TIME COUNTER.  IT THEN COMPUTES THE DIFFERENCE IN SCALER
055969,001027:                                                                                                  #  VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF
055970,001028:                                                                                                  #  TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
055971,001029: 
055972,001030: 37,3731                                           COUNT*   $$/P05                                
055973,001031: 
055974,001032: 37,3731           44741        POSTAND            CS       BIT11                                 #  RECOVER TIME AFTER STANDBY.
055975,001033: 37,3732           00006                           EXTEND                                         
055976,001034: 37,3733           03013                           WAND     CHAN13                                #  CLEAR STANDBY ENABLE BIT
055977,001035: 37,3734           00004                           INHINT                                         
055978,001036: 37,3735           34755                           CA       ZERO                                  
055979,001037: 37,3736           54001                           TS       L                                     
055980,001038: 37,3737           52025                           DXCH     TIME2                                 #  CLEAR TIME1 TIME2
055981,001039: 37,3740           03711                           TC       SCALPREP                              #  STORE SCALER IN MPAC, MPAC+1
055982,001040: 37,3741           03734                           TC       POSTAND    +3                         #  T1,T2,SCALER NOT COMPATIBLE
055983,001041: 37,3742           00006                           EXTEND                                         #  T1,T2 AND SCALER OK
055984,001042: 37,3743           40317                           DCS      SCALSAVE                              
055985,001043: 37,3744           20155                           DAS      MPAC                                  #  FORM DP DIFFERENCE OF POSTSTANDBY SCALER

Page 1329

055987,001045: 37,3745           34742                           CAF      BIT10                                 #  MINUS PRESTANDBY SCALER AND SHIFT RIGHT
055988,001046: 37,3746           07312                           TC       SHORTMP                               #  5 TO ALIGN BITS WITH TIME1 TIME2.
055989,001047: 37,3747           34755                           CAF      ZERO                                  
055990,001048: 37,3750           54156                           TS       MPAC       +2                         #  NEEDED FOR TP AGREE
055991,001049: 37,3751           07262                           TC       TPAGREE                               #  MAKE DP DIFF AGREE
055992,001050: 37,3752           10154                           CCS      MPAC                                  
055993,001051: 37,3753           03760                           TC       POSTCOM                               #  IF DP DIFF NET +, NO SCALER OVERFLOW
055994,001052: 37,3754           03760                           TC       POSTCOM                               #  BETWEEN PRE AND POST STANDBY.
055995,001053: 37,3755           03756                           TC       +1                                    #  IF DP DIFF NET -, SCALER OVERFLOWED.  ADD
055996,001054: 37,3756           34742                           CAF      BIT10                                 #  BIT 10 TO HIGH DIFF TO CORRECT.
055997,001055: 37,3757           26154                           ADS      MPAC                                  
055998,001056: 37,3760           00006        POSTCOM            EXTEND                                         #  C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER.
055999,001057: 37,3761           30315                           DCA      TIME2SAV                              #  PRESTANDBY TIME1 TIME2
056000,001058: 37,3762           20155                           DAS      MPAC                                  
056001,001059: 37,3763           07262                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT
056002,001060: 37,3764           52155                           DXCH     MPAC                                  #  UPDATED VALUE FOR T1,T2.
056003,001061: 37,3765           20025                           DAS      TIME2                                 #  LOAD UPDATED VALUE INTO T1,T2, WITH
056004,001062: 37,3766           05516                           TC       DOWNFLAG                              #  CLEAR NODOFLAG
056005,001063: 37,3767           00054                           ADRES    NODOFLAG                              
056006,001064: 
056007,001065: 37,3770           06001                           TC       GOTOPOOH                              
056008,001066: 

End of include-file IMU_MODE_SWITCHING_ROUTINES.agc.  Parent file is MAIN.agc