Source Code

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

Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071
	19:09 AUG. 11,1969
Note that the date is the date of the printout, not the date of the program revision.

055229,000002:                                                                                                  ## Copyright:   Public domain.
055230,000003:                                                                                                  ## Filename:    IMU_MODE_SWITCHING_ROUTINES.agc
055231,000004:                                                                                                  ## Purpose:     A section of Luminary revision 116.
055232,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
055233,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 12.
055234,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
055235,000008:                                                                                                  ##              that the code format has been changed to conform to the
055236,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
055237,000010:                                                                                                  ##              original YUL assembler.
055238,000011:                                                                                                  ## Reference:   pp. 1299-1327
055239,000012:                                                                                                  ## Assembler:   yaYUL
055240,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
055241,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
055242,000015:                                                                                                  ## Mod history: 2017-01-22 MAS  Created from Luminary 99.
055243,000016:                                                                                                  ##              2017-01-28 RSB Comment-text fixes identified for Luminary 69.
055244,000017:                                                                                                  ##              2017-02-07 RRB  Updated for Luminary 116.
055245,000018:                                                                                                  ##              2017-03-13 RSB  Proofed comment text via 3-way diff vs
055246,000019:                                                                                                  ##                              Luminary 99 and 131.
055247,000020:                                                                                                  ##              2017-03-15 RSB  Comment-text fixes identified in 6-way
055248,000021:                                                                                                  ##                              side-by-side diff of Sunburst 120 and Luminary
055249,000022:                                                                                                  ##                              69/99/116/131/210.
055250,000023:                                                                                                  ##              2017-03-19 HG   Fix value  OCT 1210 --> OCT 31210
055251,000024: 

Page 1299

055253,000026:    5457                                           BLOCK    02                                    
055254,000027:    4000                                           SETLOC   FFTAG3                                
055255,000028:    4000                                           BANK                                           
055256,000029: 
055257,000030:    5457  E3,1471                                  EBANK=   COMMAND                               
055258,000031: 
055259,000032:                                                                                                  #  FIXED-FIXED ROUTINES.
055260,000033: 
055261,000034:    5457                                           COUNT*   $$/IMODE                              
055262,000035:    5457           34755        ZEROICDU           CAF      ZERO                                  #  ZERO ICDU COUNTERS.
055263,000036:    5460           54032                           TS       CDUX                                  
055264,000037:    5461           54033                           TS       CDUY                                  
055265,000038:    5462           54034                           TS       CDUZ                                  
055266,000039:    5463           00002                           TC       Q                                     
055267,000040: 
055268,000041:    5464     4743               SPSCODE            =        BIT9                                  
055269,000042: 

Page 1300

055271,000044:                                                                                                  #  IMU ZEROING ROUTINE.
055272,000045: 
055273,000046: 11,3774                                           BANK     11                                    
055274,000047: 07,2000                                           SETLOC   MODESW                                
055275,000048: 07,2000                                           BANK                                           
055276,000049: 
055277,000050: 07,2706                                           COUNT*   $$/IMODE                              
055278,000051: 07,2706           00004        IMUZERO            INHINT                                         #  ROUTINE TO ZERO ICDUS.
055279,000052: 07,2707           41035                           CS       DSPTAB     +11D                       #  DONT ZERO CDUS IF IMU IN GIMBAL LOCK AND
055280,000053: 07,2710           74771                           MASK     BITS4&6                               #  COARSE ALIGN (GIMBAL RUNAWAY PROTECTION)
055281,000054: 07,2711           10000                           CCS      A                                     
055282,000055: 07,2712           12716                           TCF      IMUZEROA                              
055283,000056: 
055284,000057: 07,2713           05567                           TC       ALARM                                 #  IF SO.
055285,000058: 07,2714           00206                           OCT      00206                                 
055286,000059: 
055287,000060: 07,2715           13651                           TCF      CAGETSTJ   +4                         #  IMMEDIATE FAILURE.
055288,000061: 
055289,000062: 07,2716           03645        IMUZEROA           TC       CAGETSTJ                              
055290,000063:                                                                                                  #  DELETE
055291,000064: 07,2717           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
055292,000065: 07,2720           74773                           MASK     SUPER011                              #      BIT5 FOR GROUND
055293,000066: 07,2721           27300                           ADS      IMODES33                              
055294,000067: 
055295,000068: 07,2722           41277                           CS       IMODES30                              #  INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE
055296,000069: 07,2723           75741                           MASK     BITS3&4                               #  JUST CAME OUT OF COARSE ALIGN).
055297,000070: 07,2724           27277                           ADS      IMODES30                              
055298,000071: 
055299,000072: 07,2725           44771                           CS       BITS4&6                               #  SEND ZERO ENCODE WITH COARSE AND ERROR
055300,000073: 07,2726           00006                           EXTEND                                         #  COUNTER DISABLED.
055301,000074: 07,2727           03012                           WAND     CHAN12                                
055302,000075: 
055303,000076: 07,2730           03260                           TC       NOATTOFF                              #  TURN OFF NO ATT LAMP.
055304,000077: 
055305,000078: 07,2731           34747                           CAF      BIT5                                  
055306,000079: 07,2732           00006                           EXTEND                                         
055307,000080: 07,2733           05012                           WOR      CHAN12                                
055308,000081: 
055309,000082: 07,2734           05457                           TC       ZEROICDU                              
055310,000083: 07,2735           34746                           CAF      BIT6                                  #  WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO
055311,000084: 07,2736           05203                           TC       WAITLIST                              #  RECEIVE ITS PULSE TRAIN.
055312,000085: 07,2737  E3,1474                                  EBANK=   CDUIND                                
055313,000086: 07,2737           02751 16103                     2CADR    IMUZERO2                              
055314,000087: 
055315,000088: 07,2741           41277                           CS       IMODES30                              #  SEE IF IMU OPERATING AND ALARM IF NOT.
055316,000089: 07,2742           74743                           MASK     BIT9                                  
055317,000090: 07,2743           10000                           CCS      A                                     
055318,000091: 07,2744           12747                           TCF      MODEEXIT                              

Page 1301

055320,000093: 07,2745           05567                           TC       ALARM                                 
055321,000094: 07,2746           00210                           OCT      210                                   
055322,000095: 
055323,000096: 07,2747           00003        MODEEXIT           RELINT                                         #  GENERAL MODE-SWITCHING EXIT.
055324,000097: 07,2750           14631                           TCF      SWRETURN                              
055325,000098: 
055326,000099: 07,2751           03633        IMUZERO2           TC       CAGETEST                              
055327,000100: 07,2752           05457                           TC       ZEROICDU                              #  ZERO CDUX, CDUY, CDUZ
055328,000101: 
055329,000102: 07,2753           44747                           CS       BIT5                                  #  REMOVE ZERO DISCRETE.
055330,000103: 07,2754           00006                           EXTEND                                         
055331,000104: 07,2755           03012                           WAND     CHAN12                                
055332,000105: 
055333,000106: 07,2756           34741                           CAF      BIT11                                 #  WAIT 10 SECS FOR CTRS TO FIND GIMBALS
055334,000107: 07,2757           05224                           TC       VARDELAY                              
055335,000108: 
055336,000109: 07,2760           03633        IMUZERO3           TC       CAGETEST                              
055337,000110: 07,2761           45741                           CS       BITS3&4                               #  REMOVE IMUFAIL AND ICDUFAIL INHIBIT.
055338,000111: 07,2762           71277                           MASK     IMODES30                              
055339,000112: 07,2763           55277                           TS       IMODES30                              
055340,000113: 
055341,000114: 07,2764           44773                           CS       SUPER011                              #  ENABLE DAP AUTO AND HOLD MODES
055342,000115: 07,2765           71300                           MASK     IMODES33                              #      BIT5 FOR GROUND
055343,000116: 07,2766           55300                           TS       IMODES33                              
055344,000117: 
055345,000118: 07,2767           04674                           TC       IBNKCALL                              #  SET ISS WARNING IF EITHER OF ABOVE ARE
055346,000119: 07,2770           14703                           CADR     SETISSW                               #  PRESENT.
055347,000120: 
055348,000121: 07,2771           13623                           TCF      ENDIMU                                
055349,000122: 

Page 1302

055351,000124:                                                                                                  #  IMU COARSE ALIGN MODE.
055352,000125: 
055353,000126: 07,2772           00004        IMUCOARS           INHINT                                         
055354,000127: 07,2773           03645                           TC       CAGETSTJ                              
055355,000128: 07,2774           03136                           TC       SETCOARS                              
055356,000129: 
055357,000130: 07,2775           36245                           CAF      SIX                                   
055358,000131: 07,2776           05203                           TC       WAITLIST                              
055359,000132: 07,2777  E3,1474                                  EBANK=   CDUIND                                
055360,000133: 07,2777           03002 16103                     2CADR    COARS                                 
055361,000134: 
055362,000135: 07,3001           12747                           TCF      MODEEXIT                              
055363,000136: 
055364,000137: 07,3002           03633        COARS              TC       CAGETEST                              
055365,000138: 07,3003           34746                           CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
055366,000139: 07,3004           00006                           EXTEND                                         
055367,000140: 07,3005           05012                           WOR      CHAN12                                
055368,000141: 
055369,000142: 07,3006           34752                           CAF      TWO                                   #  SET CDU INDICATOR
055370,000143: 07,3007           55474        COARS1             TS       CDUIND                                
055371,000144: 
055372,000145: 07,3010           51474                           INDEX    CDUIND                                #  COMPUTE THETAD - THETAA IN 1:S
055373,000146: 07,3011           30321                           CA       THETAD                                #    COMPLEMENT FORM
055374,000147: 07,3012           00006                           EXTEND                                         
055375,000148: 07,3013           51474                           INDEX    CDUIND                                
055376,000149: 07,3014           20032                           MSU      CDUX                                  
055377,000150: 07,3015           00006                           EXTEND                                         
055378,000151: 07,3016           74737                           MP       BIT13                                 #  SHIFT RIGHT 2
055379,000152: 07,3017           56001                           XCH      L                                     #  ROUND
055380,000153: 07,3020           60000                           DOUBLE                                         
055381,000154: 07,3021           54061                           TS       ITEMP1                                
055382,000155: 07,3022           13024                           TCF      +2                                    
055383,000156: 07,3023           26001                           ADS      L                                     
055384,000157: 
055385,000158: 07,3024           51474                           INDEX    CDUIND                                #  DIFFERENCE TO BE COMPUTED
055386,000159: 07,3025           23471                           LXCH     COMMAND                               
055387,000160: 07,3026           11474                           CCS      CDUIND                                
055388,000161: 07,3027           03007                           TC       COARS1                                
055389,000162: 
055390,000163: 07,3030           34752                           CAF      TWO                                   #  MINIMUM OF 4 MS WAIT
055391,000164: 07,3031           05224                           TC       VARDELAY                              
055392,000165: 

Page 1303

055394,000167: 07,3032           03633        COARS2             TC       CAGETEST                              #  DONT CONTINUE IF CAGED.
055395,000168: 07,3033           54061                           TS       ITEMP1                                #  SETS TO +0.
055396,000169: 07,3034           34752                           CAF      TWO                                   #  SET CDU INDICATOR
055397,000170: 07,3035           55474                 +3        TS       CDUIND                                
055398,000171: 
055399,000172: 07,3036           51474                           INDEX    CDUIND                                
055400,000173: 07,3037           11471                           CCS      COMMAND                               #  NUMBER OF PULSES REQUIRED
055401,000174: 07,3040           03044                           TC       COMPOS                                #  GREATER THAN MAX ALLOWED
055402,000175: 07,3041           03053                           TC       NEXTCDU    +1                         
055403,000176: 07,3042           03111                           TC       COMNEG                                
055404,000177: 07,3043           03053                           TC       NEXTCDU    +1                         
055405,000178: 
055406,000179: 07,3044           63737        COMPOS             AD       -COMMAX                               #  COMMAX = MAX NUMBER OF PULSES ALLOWED
055407,000180: 07,3045           00006                           EXTEND                                         #    MINUS ONE
055408,000181: 07,3046           63121                           BZMF     COMZERO                               
055409,000182: 07,3047           51474                           INDEX    CDUIND                                
055410,000183: 07,3050           55471                           TS       COMMAND                               #  REDUCE COMMAND BY MAX NUMBER OF PULSES
055411,000184: 07,3051           43740                           CS       -COMMAX-                              #    ALLOWED
055412,000185: 
055413,000186: 07,3052           24061        NEXTCDU            INCR     ITEMP1                                
055414,000187: 07,3053           64754                           AD       NEG0                                  
055415,000188: 07,3054           51474                           INDEX    CDUIND                                
055416,000189: 07,3055           54050                           TS       CDUXCMD                               #  SET UP COMMAND REGISTER.
055417,000190: 
055418,000191: 07,3056           11474                           CCS      CDUIND                                
055419,000192: 07,3057           03035                           TC       COARS2     +3                         
055420,000193: 
055421,000194: 07,3060           10061                           CCS      ITEMP1                                #  SEE IF ANY PULSES TO GO OUT.
055422,000195: 07,3061           13125                           TCF      SENDPULS                              
055423,000196: 
055424,000197: 07,3062           05221                           TC       FIXDELAY                              #  WAIT FOR GIMBALS TO SETTLE.
055425,000198: 07,3063           00226                           DEC      150        B-14                       
055426,000199: 
055427,000200: 07,3064           34752                           CAF      TWO                                   #  AT END OF COMMAND, CHECK TO SEE THAT
055428,000201: 07,3065           54061        CHKCORS            TS       ITEMP1                                #  GIMBALS ARE WITHIN 2 DEGREES OF THETAD.
055429,000202: 07,3066           50000                           INDEX    A                                     
055430,000203: 07,3067           30032                           CA       CDUX                                  
055431,000204: 07,3070           00006                           EXTEND                                         
055432,000205: 07,3071           50061                           INDEX    ITEMP1                                
055433,000206: 07,3072           20321                           MSU      THETAD                                
055434,000207: 07,3073           10000                           CCS      A                                     
055435,000208: 07,3074           13102                           TCF      COARSERR                              
055436,000209: 07,3075           13077                           TCF      CORSCHK2                              
055437,000210: 07,3076           13102                           TCF      COARSERR                              
055438,000211: 

Page 1304

055440,000213: 07,3077           10061        CORSCHK2           CCS      ITEMP1                                
055441,000214: 07,3100           13065                           TCF      CHKCORS                               
055442,000215: 07,3101           13623                           TCF      ENDIMU                                #  END OF COARSE ALIGNMENT.
055443,000216: 
055444,000217: 07,3102           63110        COARSERR           AD       COARSTOL                              #  2 DEGREES.
055445,000218: 07,3103           00006                           EXTEND                                         
055446,000219: 07,3104           63077                           BZMF     CORSCHK2                              
055447,000220: 
055448,000221: 07,3105           05567                           TC       ALARM                                 #  COARSE ALIGN ERROR.
055449,000222: 07,3106           00211                           OCT      211                                   
055450,000223: 
055451,000224: 07,3107           13631                           TCF      IMUBAD                                
055452,000225: 
055453,000226: 07,3110           77511        COARSTOL           DEC      -.01111                               #  2 DEGREES SCALED AT HALF-REVOLUTIONS
055454,000227: 
055455,000228: 07,3111           63737        COMNEG             AD       -COMMAX                               
055456,000229: 07,3112           00006                           EXTEND                                         
055457,000230: 07,3113           63121                           BZMF     COMZERO                               
055458,000231: 07,3114           40000                           COM                                            
055459,000232: 07,3115           51474                           INDEX    CDUIND                                
055460,000233: 07,3116           55471                           TS       COMMAND                               
055461,000234: 07,3117           33740                           CA       -COMMAX-                              
055462,000235: 07,3120           03052                           TC       NEXTCDU                               
055463,000236: 
055464,000237: 07,3121           34755        COMZERO            CAF      ZERO                                  
055465,000238: 07,3122           51474                           INDEX    CDUIND                                
055466,000239: 07,3123           57471                           XCH      COMMAND                               
055467,000240: 07,3124           03052                           TC       NEXTCDU                               
055468,000241: 
055469,000242: 07,3125           37743        SENDPULS           CAF      13,14,15                              
055470,000243: 07,3126           00006                           EXTEND                                         
055471,000244: 07,3127           05014                           WOR      CHAN14                                
055472,000245: 07,3130           33741                           CAF      600MS                                 
055473,000246: 07,3131           13031                           TCF      COARS2     -1                         #  THEN TO VARDELAY
055474,000247: 
055475,000248: 07,3132           34746        CA+ECE             CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
055476,000249: 07,3133           00006                           EXTEND                                         
055477,000250: 07,3134           05012                           WOR      CHAN12                                
055478,000251: 07,3135           05261                           TC       TASKOVER                              
055479,000252: 

Page 1305

055481,000254: 07,3136           34750        SETCOARS           CAF      BIT4                                  #  BYPASS IF ALREADY IN COARSE ALIGN
055482,000255: 07,3137           00006                           EXTEND                                         
055483,000256: 07,3140           02012                           RAND     CHAN12                                
055484,000257: 07,3141           10000                           CCS      A                                     
055485,000258: 07,3142           00002                           TC       Q                                     
055486,000259: 
055487,000260: 07,3143           44746                           CS       BIT6                                  #  CLEAR ISS ERROR COUNTERS
055488,000261: 07,3144           00006                           EXTEND                                         
055489,000262: 07,3145           03012                           WAND     CHAN12                                
055490,000263: 
055491,000264: 07,3146           44742                           CS       BIT10                                 #  KNOCK DOWN GYRO ACTIVITY
055492,000265: 07,3147           00006                           EXTEND                                         
055493,000266: 07,3150           03014                           WAND     CHAN14                                
055494,000267: 07,3151           44755                           CS       ZERO                                  
055495,000268: 07,3152           54047                           TS       GYROCMD                               
055496,000269: 
055497,000270: 07,3153           34750                           CAF      BIT4                                  #  PUT ISS IN COARSE ALIGN
055498,000271: 07,3154           00006                           EXTEND                                         
055499,000272: 07,3155           05012                           WOR      CHAN12                                
055500,000273: 
055501,000274: 07,3156           41035                           CS       DSPTAB     +11D                       #  TURN ON NO ATT LAMP
055502,000275: 07,3157           73201                           MASK     OCT40010                              
055503,000276: 07,3160           27035                           ADS      DSPTAB     +11D                       
055504,000277: 
055505,000278: 07,3161           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
055506,000279: 07,3162           74746                           MASK     BIT6                                  
055507,000280: 07,3163           27300                           ADS      IMODES33                              
055508,000281: 
055509,000282: 07,3164           41277                           CS       IMODES30                              #  DISABLE IMUFAIL
055510,000283: 07,3165           74750                           MASK     BIT4                                  
055511,000284: 07,3166           27277                           ADS      IMODES30                              
055512,000285: 
055513,000286: 07,3167           44747        RNDREFDR           CS       TRACKBIT                              #  CLEAR TRACK FLAG
055514,000287: 07,3170           70075                           MASK     FLAGWRD1                              
055515,000288: 07,3171           54075                           TS       FLAGWRD1                              
055516,000289: 
055517,000290: 07,3172           44735                           CS       DRFTBIT                               #  CLEAR DRIFT FLAG
055518,000291: 07,3173           70076                           MASK     FLAGWRD2                              
055519,000292: 07,3174           54076                           TS       FLAGWRD2                              
055520,000293: 
055521,000294: 07,3175           44737                           CS       REFSMBIT                              #  CLEAR REFSMMAT FLAG
055522,000295: 07,3176           70077                           MASK     FLAGWRD3                              
055523,000296: 07,3177           54077                           TS       FLAGWRD3                              
055524,000297: 
055525,000298: 07,3200           00002                           TC       Q                                     
055526,000299: 
055527,000300: 07,3201           40010        OCT40010           OCT      40010                                 
055528,000301: 

Page 1306

055530,000303:                                                                                                  #  IMU FINE ALIGN MODE SWITCH.
055531,000304: 
055532,000305: 07,3202           00004        IMUFINE            INHINT                                         
055533,000306: 07,3203           03645                           TC       CAGETSTJ                              #  SEE IF IMU BEING CAGED.
055534,000307: 
055535,000308: 07,3204           43736                           CS       BITS4-5                               #  RESET ZERO AND COARSE
055536,000309: 07,3205           00006                           EXTEND                                         
055537,000310: 07,3206           03012                           WAND     CHAN12                                
055538,000311: 
055539,000312: 07,3207           44746                           CS       BIT6                                  #  INSURE DAP AUTO AND HOLD MODES ENABLED
055540,000313: 07,3210           71300                           MASK     IMODES33                              
055541,000314: 07,3211           55300                           TS       IMODES33                              
055542,000315: 
055543,000316: 07,3212           03260                           TC       NOATTOFF                              
055544,000317: 
055545,000318: 07,3213           34742                           CAF      BIT10                                 #  IMU FAIL WAS INHIBITED DURING THE
055546,000319: 07,3214           05203                           TC       WAITLIST                              #  PRESUMABLY PRECEDING COARSE ALIGN.  LEAVE
055547,000320: 07,3215  E3,1474                                  EBANK=   CDUIND                                
055548,000321: 07,3215           03226 16103                     2CADR    IFAILOK                               #  IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
055549,000322: 
055550,000323: 07,3217           35000                           CAF      2SECS                                 
055551,000324: 07,3220           05203                           TC       WAITLIST                              
055552,000325: 07,3221  E3,1474                                  EBANK=   CDUIND                                
055553,000326: 07,3221           03224 16103                     2CADR    IMUFINED                              
055554,000327: 
055555,000328: 07,3223           12747                           TCF      MODEEXIT                              
055556,000329: 
055557,000330: 07,3224           03633        IMUFINED           TC       CAGETEST                              #  SEE THAT NO ONE HAS CAGED THE IMU.
055558,000331: 07,3225           13623                           TCF      ENDIMU                                
055559,000332: 

Page 1307

055561,000334: 07,3226           03640        IFAILOK            TC       CAGETSTQ                              #  ENABLE IMU FIAL UNLESS IMU BEING CAGED.
055562,000335: 07,3227           15261                           TCF      TASKOVER                              #  IT IS.
055563,000336: 
055564,000337: 07,3230           34750                           CAF      BIT4                                  #  DONT RESET IMU FAIL INHIBIT IF SOMEONE
055565,000338: 07,3231           00006                           EXTEND                                         #  HAS GONE INTO COARSE ALIGN.
055566,000339: 07,3232           02012                           RAND     CHAN12                                
055567,000340: 07,3233           10000                           CCS      A                                     
055568,000341: 07,3234           15261                           TCF      TASKOVER                              
055569,000342: 
055570,000343: 07,3235           41277                           CS       IMODES30                              #  RESET IMUFAIL.
055571,000344: 07,3236           74737                           MASK     BIT13                                 
055572,000345: 07,3237           27277                           ADS      IMODES30                              
055573,000346: 07,3240           44750                           CS       BIT4                                  
055574,000347: 07,3241           71277        PFAILOK2           MASK     IMODES30                              
055575,000348: 07,3242           55277                           TS       IMODES30                              
055576,000349: 07,3243           04674                           TC       IBNKCALL                              #  THE ISS WARNING LIGHT MAY COME ON NOW
055577,000350: 07,3244           14703                           CADR     SETISSW                               #  THAT THE INHIBIT HAS BEEN REMOVED.
055578,000351: 07,3245           15261                           TCF      TASKOVER                              
055579,000352: 
055580,000353: 07,3246           03640        PFAILOK            TC       CAGETSTQ                              #  ENABLE PIP FAIL PROG ALARM.
055581,000354: 07,3247           15261                           TCF      TASKOVER                              
055582,000355: 
055583,000356: 07,3250           41277                           CS       IMODES30                              #  RESET IMU AND PIPA FAIL BITS.
055584,000357: 07,3251           74742                           MASK     BIT10                                 
055585,000358: 07,3252           27277                           ADS      IMODES30                              
055586,000359: 
055587,000360: 07,3253           41300                           CS       IMODES33                              
055588,000361: 07,3254           74737                           MASK     BIT13                                 
055589,000362: 07,3255           27300                           ADS      IMODES33                              
055590,000363: 
055591,000364: 07,3256           44747                           CS       BIT5                                  
055592,000365: 07,3257           13241                           TCF      PFAILOK2                              
055593,000366: 
055594,000367: 07,3260           43201        NOATTOFF           CS       OCT40010                              #  SUBROUTINE TO TURN OFF NO ATT LAMP.
055595,000368: 07,3261           71035                           MASK     DSPTAB     +11D                       
055596,000369: 07,3262           64735                           AD       BIT15                                 
055597,000370: 07,3263           55035                           TS       DSPTAB     +11D                       
055598,000371: 07,3264           00002                           TC       Q                                     
055599,000372: 

Page 1308

055601,000374:                                                                                                  #  ROUITNES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS. NO IMUSTALL REQUIRED IN EITHER CASE.
055602,000375: 
055603,000376: 07,3265           44755        PIPUSE             CS       ZERO                                  
055604,000377: 07,3266           54037                           TS       PIPAX                                 
055605,000378: 07,3267           54040                           TS       PIPAY                                 
055606,000379: 07,3270           54041                           TS       PIPAZ                                 
055607,000380: 
055608,000381: 07,3271           03640        PIPUSE1            TC       CAGETSTQ                              #  DO NOT ENABLE PIPA FAIL IF IMU IS CAGED
055609,000382: 07,3272           14631                           TCF      SWRETURN                              
055610,000383: 
055611,000384: 07,3273           00004                           INHINT                                         
055612,000385: 07,3274           44753                           CS       BIT1                                  #  IF PIPA FAILS FROM NOW ON (UNTIL
055613,000386: 07,3275           71277                           MASK     IMODES30                              #  PIPFREE), LIGHT ISS WARNING.
055614,000387: 07,3276           55277                           TS       IMODES30                              
055615,000388: 
055616,000389: 07,3277           04674        PIPFREE2           TC       IBNKCALL                              #  ISS WARNING MIGHT COME ON NOW.
055617,000390: 07,3300           14703                           CADR     SETISSW                               #  (OR GO OFF ON PIPFREE).
055618,000391: 
055619,000392: 07,3301           12747                           TCF      MODEEXIT                              
055620,000393: 
055621,000394: 07,3302           00004        PIPFREE            INHINT                                         #  PROGRAM DONE WITH PIPAS.  DONT LIGHT
055622,000395: 07,3303           41277                           CS       IMODES30                              #  ISS WARNING.
055623,000396: 07,3304           74753                           MASK     BIT1                                  
055624,000397: 07,3305           27277                           ADS      IMODES30                              
055625,000398: 
055626,000399: 07,3306           74742                           MASK     BIT10                                 #  IF PIP FAIL ON, DO PROG ALSRM AND RESET
055627,000400: 07,3307           10000                           CCS      A                                     #  ISS WARNING.
055628,000401: 07,3310           12747                           TCF      MODEEXIT                              
055629,000402: 
055630,000403: 07,3311           05567                           TC       ALARM                                 
055631,000404: 07,3312           00212                           OCT      212                                   
055632,000405: 
055633,000406: 07,3313           00004                           INHINT                                         
055634,000407: 
055635,000408: 07,3314           13277                           TCF      PIPFREE2                              
055636,000409: 

Page 1309

055638,000411:                                                                                                  #           THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS
055639,000412:                                                                                                  #  BEGINNING AT THE ECADR ARRIVING IN A. THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE
055640,000413:                                                                                                  #  UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
055641,000414: 
055642,000415: 07,3315  E3,1400                                  EBANK=   1400                                  #  VARIABLE, ACTUALLY.
055643,000416: 
055644,000417: 07,3315           54161        IMUPULSE           TS       MPAC       +5                         #  SAVE ARRIVING ECADR.
055645,000418: 07,3316           03645                           TC       CAGETSTJ                              #  DONT PROCEED IF IMU BEING CAGED.
055646,000419: 
055647,000420: 07,3317           11311                           CCS      LGYRO                                 #  SEE IF GYROS BUSY.
055648,000421: 07,3320           03361                           TC       GYROBUSY                              #  SLEEP.
055649,000422: 
055650,000423: 07,3321           54156                           TS       MPAC       +2                         
055651,000424: 07,3322           34746                           CAF      BIT6                                  #  ENABLE THE POWER SUPPLY.
055652,000425: 07,3323           00006                           EXTEND                                         
055653,000426: 07,3324           05014                           WOR      CHAN14                                
055654,000427: 
055655,000428: 07,3325           34751                           CAF      FOUR                                  
055656,000429: 07,3326           05203        GWAKE2             TC       WAITLIST                              #  (IF A JOB WAS PUT TO SLEEP, THE POWER
055657,000430: 07,3327  E3,1474                                  EBANK=   CDUIND                                #  SUPPLY IS LEFT ON BY THE WAKING JOB).
055658,000431: 07,3327           03377 16103                     2CADR    STRTGYRO                              
055659,000432: 
055660,000433: 07,3331           30161                           CA       MPAC       +5                         #  SET UP EBANK, SAVING CALLER'S EBANK FOR
055661,000434: 07,3332           56003                           XCH      EBANK                                 #  RESTORATION ON RETURN.
055662,000435: 07,3333           56161                           XCH      MPAC       +5                         
055663,000436: 07,3334           55311                           TS       LGYRO                                 #  RESERVES GYROS.
055664,000437: 07,3335           74357                           MASK     LOW8                                  
055665,000438: 07,3336           54061                           TS       ITEMP1                                
055666,000439: 
055667,000440: 07,3337           34752                           CAF      TWO                                   #  FORCE SIGN AGREEMENT ON INPUTS.
055668,000441: 07,3340           54157        GYROAGRE           TS       MPAC       +3                         
055669,000442: 07,3341           60000                           DOUBLE                                         
055670,000443: 07,3342           60061                           AD       ITEMP1                                
055671,000444: 07,3343           54160                           TS       MPAC       +4                         
055672,000445: 07,3344           00006                           EXTEND                                         
055673,000446: 07,3345           50000                           INDEX    A                                     
055674,000447: 07,3346           31401                           DCA      1400                                  
055675,000448: 07,3347           52155                           DXCH     MPAC                                  
055676,000449: 07,3350           07262                           TC       TPAGREE                               
055677,000450: 07,3351           52155                           DXCH     MPAC                                  
055678,000451: 07,3352           50160                           INDEX    MPAC       +4                         
055679,000452: 07,3353           53401                           DXCH     1400                                  
055680,000453: 
055681,000454: 07,3354           10157                           CCS      MPAC       +3                         
055682,000455: 07,3355           13340                           TCF      GYROAGRE                              
055683,000456: 
055684,000457: 07,3356           30161                           CA       MPAC       +5                         #  RESTORE CALLER'S EBANK.
055685,000458: 07,3357           54003                           TS       EBANK                                 
055686,000459: 07,3360           12747                           TCF      MODEEXIT                              
055687,000460: 

Page 1310

055689,000462:                                                                                                  #  ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
055690,000463: 
055691,000464: 07,3361           00006        GYROBUSY           EXTEND                                         #  SAVE RETURN 2FCADR.
055692,000465: 07,3362           30134                           DCA      BUF2                                  
055693,000466: 07,3363           52155                           DXCH     MPAC                                  
055694,000467: 07,3364           33376        REGSLEEP           CAF      LGWAKE                                
055695,000468: 07,3365           15133                           TCF      JOBSLEEP                              
055696,000469: 
055697,000470: 07,3366           11311        GWAKE              CCS      LGYRO                                 #  WHEN AWAKENED, SEE IF GYROS STILL BUSY.
055698,000471: 07,3367           13364                           TCF      REGSLEEP                              #  IF SO, SLEEP SOME MORE.
055699,000472: 
055700,000473: 07,3370           54156                           TS       MPAC       +2                         
055701,000474: 07,3371           00006                           EXTEND                                         
055702,000475: 07,3372           30155                           DCA      MPAC                                  
055703,000476: 07,3373           52134                           DXCH     BUF2                                  #  RESTORE SWRETURN INFO.
055704,000477: 07,3374           34753                           CAF      ONE                                   
055705,000478: 07,3375           13326                           TCF      GWAKE2                                
055706,000479: 
055707,000480: 07,3376           17366        LGWAKE             CADR     GWAKE                                 
055708,000481: 

Page 1311

055710,000483:                                                                                                  #  GYRO-TORQUING WAITLIST TASKS.
055711,000484: 
055712,000485: 07,3377           43620        STRTGYRO           CS       GDESELCT                              #  DE-SELECT LAST GYRO.
055713,000486: 07,3400           00006                           EXTEND                                         
055714,000487: 07,3401           03014                           WAND     CHAN14                                
055715,000488: 
055716,000489: 07,3402           03633                           TC       CAGETEST                              
055717,000490: 
055718,000491: 07,3403           31311        STRTGYR2           CA       LGYRO                                 #  JUMP ON PHASE COUNTER IN BITS 13-14.
055719,000492: 07,3404           00006                           EXTEND                                         
055720,000493: 07,3405           74750                           MP       BIT4                                  
055721,000494: 07,3406           50000                           INDEX    A                                     
055722,000495: 07,3407           13410                           TCF      +1                                    
055723,000496: 07,3410           03425                           TC       GSELECT                               #  =0.  DO Y GYRO.
055724,000497: 07,3411           00202                           OCT      00202                                 
055725,000498: 
055726,000499: 07,3412           03425                           TC       GSELECT                               #  =1.  DO Z GYRO.
055727,000500: 07,3413           00302                           OCT      00302                                 
055728,000501: 
055729,000502: 07,3414           03423                           TC       GSELECT    -2                         #  =2.  DO X GYRO.
055730,000503: 07,3415           00100                           OCT      00100                                 
055731,000504: 
055732,000505: 07,3416           34755                           CAF      ZERO                                  #  =3.  DONE
055733,000506: 07,3417           55311                           TS       LGYRO                                 
055734,000507: 07,3420           33376                           CAF      LGWAKE                                #  WAKE A POSSIBLE SLEEPING JOB.
055735,000508: 07,3421           05137                           TC       JOBWAKE                               
055736,000509: 
055737,000510: 07,3422           13224        NORESET            TCF      IMUFINED                              #  DO NOT RESET POWER SUPPLY

Page 1312

055739,000512: 07,3423           44751                 -2        CS       FOUR                                  #  SPECIAL ENTRY TO REGRESS LGYRO FOR X.
055740,000513: 07,3424           27311                           ADS      LGYRO                                 
055741,000514: 
055742,000515: 07,3425           50002        GSELECT            INDEX    Q                                     #  SELECT GYRO.
055743,000516: 07,3426           30000                           CAF      0                                     #  PACKED WORD CONTAINS GYRO SELECT BITS
055744,000517: 07,3427           54064                           TS       ITEMP4                                #  AND INCREMENT TO LGYRO.
055745,000518: 07,3430           74757                           MASK     SEVEN                                 
055746,000519: 07,3431           64737                           AD       BIT13                                 
055747,000520: 07,3432           27311                           ADS      LGYRO                                 
055748,000521: 07,3433           54003                           TS       EBANK                                 
055749,000522: 07,3434           74357                           MASK     LOW8                                  
055750,000523: 07,3435           54061                           TS       ITEMP1                                
055751,000524: 
055752,000525: 07,3436           44757                           CS       SEVEN                                 
055753,000526: 07,3437           70064                           MASK     ITEMP4                                
055754,000527: 07,3440           54064                           TS       ITEMP4                                
055755,000528: 
055756,000529: 07,3441           00006                           EXTEND                                         #  MOVE DP COMMAND TO RUPTREGS FOR TESTING.
055757,000530: 07,3442           50061                           INDEX    ITEMP1                                
055758,000531: 07,3443           31401                           DCA      1400                                  
055759,000532: 07,3444           52071                           DXCH     RUPTREG1                              
055760,000533: 
055761,000534: 07,3445           10070                           CCS      RUPTREG1                              
055762,000535: 07,3446           13461                           TCF      MAJ+                                  
055763,000536: 07,3447           13451                           TCF      +2                                    
055764,000537: 07,3450           13601                           TCF      MAJ-                                  
055765,000538: 
055766,000539: 07,3451           10071                           CCS      RUPTREG2                              
055767,000540: 07,3452           13456                           TCF      MIN+                                  
055768,000541: 07,3453           13403                           TCF      STRTGYR2                              
055769,000542: 07,3454           13576                           TCF      MIN-                                  
055770,000543: 07,3455           13403                           TCF      STRTGYR2                              
055771,000544: 

Page 1313

055773,000546: 07,3456           63512        MIN+               AD       -GYROMIN                              #  SMALL POSITIVE COMMAND.  SEE IF AT LEAST
055774,000547: 07,3457           00006                           EXTEND                                         #  16 GYRO PULSES.
055775,000548: 07,3460           63403                           BZMF     STRTGYR2                              
055776,000549: 
055777,000550: 07,3461           00006        MAJ+               EXTEND                                         #  DEFINITE POSITIVE OUTPUT.
055778,000551: 07,3462           33622                           DCA      GYROFRAC                              
055779,000552: 07,3463           20071                           DAS      RUPTREG1                              
055780,000553: 
055781,000554: 07,3464           30064                           CA       ITEMP4                                #  SELECT POSITIVE TORQUING FOR THIS GYRO.
055782,000555: 07,3465           00006                           EXTEND                                         
055783,000556: 07,3466           05014                           WOR      CHAN14                                
055784,000557: 
055785,000558: 07,3467           36077                           CAF      LOW7                                  #  LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS
055786,000559: 07,3470           70071                           MASK     RUPTREG2                              #  TO INITIAL COMMAND IN MAJOR PART OF LONG
055787,000560: 07,3471           56071                           XCH      RUPTREG2                              #  TERM STORAGE AND TRUNCATED FRACTION
055788,000561: 07,3472           00006        GMERGE             EXTEND                                         #  IN MINOR PART. THE MAJOR PART WILL BE
055789,000562: 07,3473           74744                           MP       BIT8                                  #  COUNTED DOWN TO ZERO IN THE COURSE OF
055790,000563: 07,3474           54062                           TS       ITEMP2                                #  PUTTING OUT THE ENTIRE COMMAND.
055791,000564: 07,3475           30070                           CA       RUPTREG1                              
055792,000565: 07,3476           00006                           EXTEND                                         
055793,000566: 07,3477           74743                           MP       BIT9                                  
055794,000567: 07,3500           54070                           TS       RUPTREG1                              
055795,000568: 07,3501           30001                           CA       L                                     
055796,000569: 07,3502           00006                           EXTEND                                         
055797,000570: 07,3503           74736                           MP       BIT14                                 
055798,000571: 07,3504           26062                           ADS      ITEMP2                                #  INITIAL COMMAND.
055799,000572: 
055800,000573: 07,3505           00006                           EXTEND                                         #  SEE IF MORE THAN ONE PULSE TRAIN NEEDED
055801,000574: 07,3506           30071                           DCA      RUPTREG1                              #  (MORE THAN 16383 PULSES).
055802,000575: 07,3507           67752                           AD       MINUS1                                
055803,000576: 07,3510           10000                           CCS      A                                     
055804,000577: 07,3511           13535                           TCF      LONGGYRO                              
055805,000578: 07,3512           77601        -GYROMIN           OCT      -176                                  #  MAY BE ADJUSTED TO SPECIFY MINIMUM CMD
055806,000579: 07,3513           13517                           TCF      +4                                    
055807,000580: 
055808,000581: 07,3514           34736                           CAF      BIT14                                 
055809,000582: 07,3515           26062                           ADS      ITEMP2                                
055810,000583: 07,3516           34755                           CAF      ZERO                                  
055811,000584: 
055812,000585: 07,3517           50061                 +4        INDEX    ITEMP1                                
055813,000586: 07,3520           53401                           DXCH     1400                                  

Page 1314

055815,000588: 07,3521           30062                           CA       ITEMP2                                #  ENTIRE COMMAND.
055816,000589: 07,3522           54047        LASTSEG            TS       GYROCMD                               
055817,000590: 07,3523           00006                           EXTEND                                         
055818,000591: 07,3524           74742                           MP       BIT10                                 #  WAITLIST DT
055819,000592: 07,3525           66250                           AD       THREE                                 #  TRUNCATION AND PHASE UNCERTAINTIES.
055820,000593: 07,3526           05203                           TC       WAITLIST                              
055821,000594: 07,3527  E3,1474                                  EBANK=   CDUIND                                
055822,000595: 07,3527           03377 16103                     2CADR    STRTGYRO                              
055823,000596: 
055824,000597: 07,3531           34742        GYROEXIT           CAF      BIT10                                 
055825,000598: 07,3532           00006                           EXTEND                                         
055826,000599: 07,3533           05014                           WOR      CHAN14                                
055827,000600: 07,3534           15261                           TCF      TASKOVER                              
055828,000601: 
055829,000602: 07,3535           50061        LONGGYRO           INDEX    ITEMP1                                
055830,000603: 07,3536           53401                           DXCH     1400                                  #  INITIAL COMMAND OUT PLUS N AUGMENTS OF
055831,000604: 07,3537           34736                           CAF      BIT14                                 #  8192. INITIAL COMMAND IS AT LEAST 8192.
055832,000605: 07,3540           60062                           AD       ITEMP2                                
055833,000606: 07,3541           54047                           TS       GYROCMD                               
055834,000607: 
055835,000608: 07,3542           00006        AUG3               EXTEND                                         #  GET WAITLIST DT TO TIME WHEN TRAIN IS
055836,000609: 07,3543           74742                           MP       BIT10                                 #  ALMOST OUT.
055837,000610: 07,3544           67750                           AD       NEG3                                  
055838,000611: 07,3545           05203                           TC       WAITLIST                              
055839,000612: 07,3546  E3,1474                                  EBANK=   CDUIND                                
055840,000613: 07,3546           03551 16103                     2CADR    8192AUG                               
055841,000614: 
055842,000615: 07,3550           13531                           TCF      GYROEXIT                              
055843,000616: 
055844,000617: 07,3551           03633        8192AUG            TC       CAGETEST                              
055845,000618: 
055846,000619: 07,3552           34750                           CAF      BIT4                                  
055847,000620: 07,3553           00006                           EXTEND                                         
055848,000621: 07,3554           02012                           RAND     CHAN12                                
055849,000622: 07,3555           10000                           CCS      A                                     
055850,000623: 07,3556           13631                           TCF      IMUBAD                                
055851,000624: 07,3557           31311                           CA       LGYRO                                 #  ADD 8192 PULSES TO GYROCMD
055852,000625: 07,3560           54003                           TS       EBANK                                 
055853,000626: 07,3561           74357                           MASK     LOW8                                  
055854,000627: 07,3562           54061                           TS       ITEMP1                                
055855,000628: 
055856,000629: 07,3563           50061                           INDEX    ITEMP1                                #  SEE IF THIS IS THE LAST AUG.
055857,000630: 07,3564           11400                           CCS      1400                                  
055858,000631: 07,3565           13571                           TCF      AUG2                                  #  MORE TO COME.
055859,000632: 
055860,000633: 07,3566           34736                           CAF      BIT14                                 
055861,000634: 07,3567           26047                           ADS      GYROCMD                               
055862,000635: 07,3570           13523                           TCF      LASTSEG    +1                         
055863,000636: 

Page 1315

055865,000638: 07,3571           50061        AUG2               INDEX    ITEMP1                                
055866,000639: 07,3572           55400                           TS       1400                                  
055867,000640: 07,3573           34736                           CAF      BIT14                                 
055868,000641: 07,3574           26047                           ADS      GYROCMD                               
055869,000642: 07,3575           13542                           TCF      AUG3                                  #  COMPUTE DT.
055870,000643: 

Page 1316

055872,000645: 07,3576           63512        MIN-               AD       -GYROMIN                              #  POSSIBLE NEGATIVE OUTPUT.
055873,000646: 07,3577           00006                           EXTEND                                         
055874,000647: 07,3600           63403                           BZMF     STRTGYR2                              
055875,000648: 
055876,000649: 07,3601           00006        MAJ-               EXTEND                                         #  DEFINITE NEGATIVE OUTPUT.
055877,000650: 07,3602           43622                           DCS      GYROFRAC                              
055878,000651: 07,3603           20071                           DAS      RUPTREG1                              
055879,000652: 
055880,000653: 07,3604           30064                           CA       ITEMP4                                #  SELECT NEGATIVE TORQUING FOR THIS GYRO.
055881,000654: 07,3605           64743                           AD       BIT9                                  
055882,000655: 07,3606           00006                           EXTEND                                         
055883,000656: 07,3607           05014                           WOR      CHAN14                                
055884,000657: 
055885,000658: 07,3610           40070                           CS       RUPTREG1                              #  SET UP RUPTREGS TO FALL INTO GMERGE.
055886,000659: 07,3611           54070                           TS       RUPTREG1                              #  ALL NUMBERS PUT INTO GYROCMD ARE
055887,000660: 07,3612           40071                           CS       RUPTREG2                              #  POSITIVE - BIT9 OF CHAN 14 DETERMINES
055888,000661: 07,3613           76077                           MASK     LOW7                                  #  THE SIGN OF THE COMMAND.
055889,000662: 07,3614           40000                           COM                                            
055890,000663: 07,3615           56071                           XCH      RUPTREG2                              
055891,000664: 07,3616           40000                           COM                                            
055892,000665: 07,3617           13472                           TCF      GMERGE                                
055893,000666: 
055894,000667: 07,3620           01700        GDESELCT           OCT      1700                                  #  TURN OFF SELECT AND ACTIVITY BITS.
055895,000668: 
055896,000669: 07,3621           00000 00034  GYROFRAC           2DEC     .215       B-21                       
055897,000670: 

Page 1317

055899,000672:                                                                                                  #  IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
055900,000673: 
055901,000674: 07,3623           00006        ENDIMU             EXTEND                                         #  MODE IS BAD IF CAGE HAS OCCURED OR IF
055902,000675: 07,3624           00011                           READ     DSALMOUT                              #  ISS WARNING IS ON.
055903,000676: 07,3625           74753                           MASK     BIT1                                  
055904,000677: 07,3626           10000                           CCS      A                                     
055905,000678: 07,3627           13631                           TCF      IMUBAD                                
055906,000679: 
055907,000680: 07,3630           13657        IMUGOOD            TCF      GOODEND                               #  WITH C(A) = 0.
055908,000681: 
055909,000682: 07,3631           34755        IMUBAD             CAF      ZERO                                  
055910,000683: 07,3632           13654                           TCF      BADEND                                
055911,000684: 
055912,000685: 07,3633           34746        CAGETEST           CAF      BIT6                                  #  SUBROUTINE TO TERMINATE IMU MODE
055913,000686: 07,3634           71277                           MASK     IMODES30                              #  SWITCH IF IMU HAS BEEN CAGED.
055914,000687: 07,3635           10000                           CCS      A                                     
055915,000688: 07,3636           13631                           TCF      IMUBAD                                #  DIRECTLY.
055916,000689: 07,3637           00002                           TC       Q                                     #  WITH C(A) = +0.
055917,000690: 
055918,000691: 07,3640           41277        CAGETSTQ           CS       IMODES30                              #  SKIP IF IMU NOT BEING CAGED.
055919,000692: 07,3641           74746                           MASK     BIT6                                  
055920,000693: 07,3642           10000                           CCS      A                                     
055921,000694: 07,3643           24002                           INCR     Q                                     
055922,000695: 07,3644           00002                           TC       Q                                     
055923,000696: 
055924,000697: 07,3645           41277        CAGETSTJ           CS       IMODES30                              #  IF DURING MODE SWITCH INITIALIZATION
055925,000698: 07,3646           74746                           MASK     BIT6                                  #  IT IS FOUND THAT THE IMU IS BEING CAGED,
055926,000699: 07,3647           10000                           CCS      A                                     #  SET IMUCADR TO -0 TO INDICATE OPERATION
055927,000700: 07,3650           00002                           TC       Q                                     #  COMPLETE BUT FAILED.  RETURN IMMEDIATELY
055928,000701: 
055929,000702: 07,3651           44755                           CS       ZERO                                  #  TO SWRETURN.
055930,000703: 07,3652           55301                           TS       IMUCADR                               
055931,000704: 07,3653           12747                           TCF      MODEEXIT                              
055932,000705: 

Page 1318

055934,000707:                                                                                                  #           GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION
055935,000708:                                                                                                  #  OR AT BADEND FOR AN UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
055936,000709: 
055937,000710: 07,3654           54071        BADEND             TS       RUPTREG2                              #  DEVICE INDEX.
055938,000711: 07,3655           44755                           CS       ZERO                                  #  FOR FAILURE.
055939,000712: 07,3656           13661                           TCF      GOODEND    +2                         
055940,000713: 
055941,000714: 07,3657           54071        GOODEND            TS       RUPTREG2                              
055942,000715: 07,3660           44753                           CS       ONE                                   #  FOR SUCCESS.
055943,000716: 
055944,000717: 07,3661           54072                           TS       RUPTREG3                              
055945,000718: 07,3662           50071                           INDEX    RUPTREG2                              #  SEE IF USING PROGRAM ASLEEP.
055946,000719: 07,3663           11301                           CCS      MODECADR                              
055947,000720: 07,3664           13670                           TCF      +4                                    #  YES - WAKE IT UP.
055948,000721: 07,3665           13700                           TCF      ENDMODE                               #  IF 0, PROGRAM NOT IN YET.
055949,000722: 
055950,000723: 07,3666           00006                           EXTEND                                         
055951,000724: 07,3667           13701                           BZF      ENDMODE    +1                         #  BZF = TCF IF MODECADR = -0.
055952,000725: 
055953,000726: 07,3670           34755                           CAF      ZERO                                  #  WAKE SLEEPING PROGRAM.
055954,000727: 07,3671           50071                           INDEX    RUPTREG2                              
055955,000728: 07,3672           57301                           XCH      MODECADR                              
055956,000729: 07,3673           05137                           TC       JOBWAKE                               
055957,000730: 
055958,000731: 07,3674           40072                           CS       RUPTREG3                              #  ADVANCE LOC IF SUCCESSFUL.
055959,000732: 07,3675           50064                           INDEX    LOCCTR                                
055960,000733: 07,3676           26164                           ADS      LOC                                   
055961,000734: 
055962,000735: 07,3677           15261                           TCF      TASKOVER                              
055963,000736: 
055964,000737: 07,3700           30072        ENDMODE            CA       RUPTREG3                              #  -0 INDICATES OPERATION COMPLETE BUT
055965,000738: 07,3701           50071                 +1        INDEX    RUPTREG2                              #  UNSUCCESSFUL: -1 INDICATES COMPLETE AND
055966,000739: 07,3702           55301                           TS       MODECADR                              #  SUCCESSFUL.
055967,000740: 07,3703           15261                           TCF      TASKOVER                              
055968,000741: 

Page 1319

055970,000743:                                                                                                  #           GENERAL STALLING ROUTINE.  USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
055971,000744: 
055972,000745:                                                                                                  #  PROGRAM DESCRIPTION                                     DATE - 21 FEB 1967
055973,000746:                                                                                                  #                                              LOG SECTION IMU MODE SWITCHING
055974,000747:                                                                                                  #  MOD BY- R.MELANSON TO ADD DOCUMENTATION         ASSEMBLY SUNDISK  REV.  82
055975,000748: 
055976,000749:                                                                                                  #  FUNCTIONAL DESCRIPTION-
055977,000750:                                                                                                  #    TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED
055978,000751:                                                                                                  #    I/O FUNCTION IS COMPLETE.THE FOLLOWING CHECKS ON THE CALLING ROUTINE:S
055979,000752:                                                                                                  #    MODECADR ARE MADE AND ACTED UPON.
055980,000753:                                                                                                  #      1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO
055981,000754:                                                                                                  #         SLEEP.
055982,000755:                                                                                                  #      2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP
055983,000756:                                                                                                  #         CALL AND RETURNS TO CALLING ROUTINE AT L+3
055984,000757:                                                                                                  #      3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR
055985,000758:                                                                                                  #         AND RETURNS TO CALLING ROUTINE AT L+2.
055986,000759:                                                                                                  #      4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF
055987,000760:                                                                                                  #         SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM
055988,000761:                                                                                                  #         RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
055989,000762: 
055990,000763:                                                                                                  #   CALLING SEQUENCE-
055991,000764:                                                                                                  #    L   TC   BANKCALL
055992,000765:                                                                                                  #    L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL,OPTSTALL,RADSTALL,
055993,000766:                                                                                                  #             AOTSTALL,OR ATTSTALL)
055994,000767: 
055995,000768:                                                                                                  #   NORMAL-EXIT MODE-
055996,000769:                                                                                                  #    TCF   JOBSLEEP OR TCF  MODEXIT
055997,000770: 
055998,000771:                                                                                                  #  ALARM OR ABORT EXIT MODE-
055999,000772:                                                                                                  #    TC    ABORT
056000,000773: 
056001,000774:                                                                                                  #  OUTPUT-
056002,000775:                                                                                                  #    MODECADR=CADR  IF JOBSLEEP
056003,000776:                                                                                                  #    MODECADR=+0    IF I/O COMPLETE
056004,000777:                                                                                                  #    BUF2=L+3       IF I/O COMPLETE AND GOOD.
056005,000778:                                                                                                  #    BUF2=L+2 IF I/O COMPLETE BUT FAILED.
056006,000779: 
056007,000780:                                                                                                  #  ERASABLE INITIALIZATION-
056008,000781:                                                                                                  #    BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2)
056009,000782:                                                                                                  #    BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE.
056010,000783:                                                                                                  #    MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR CADR RETURN ADDRESS.
056011,000784: 
056012,000785:                                                                                                  #  DEBRIS-
056013,000786:                                                                                                  #    RUPTREG2 AND CALLING ROUTINE MODECADR.
056014,000787: 

[yaYUL WORKAROUND] OH 2009 - kept by RRB for Luminary 116 - 2017

056016,000789: 07,3704  30,2000                                  SBANK=   LOWSUPER                              
056017,000790: 
056018,000791: 07,3704           34753        AOTSTALL           CAF      ONE                                   #  AOT.
056019,000792: 07,3705           03711                           TC       STALL                                 
056020,000793: 
056021,000794: 07,3706           34752        RADSTALL           CAF      TWO                                   
056022,000795: 07,3707           13711                           TCF      STALL                                 
056023,000796: 

Page 1320

056025,000798: 07,3710  07,3704               OPTSTALL           EQUALS   AOTSTALL                              
056026,000799: 
056027,000800: 07,3710           34755        IMUSTALL           CAF      ZERO                                  #  IMU.
056028,000801: 
056029,000802: 07,3711           00004        STALL              INHINT                                         
056030,000803: 07,3712           54071                           TS       RUPTREG2                              #  SAVE DEVICE INDEX.
056031,000804: 07,3713           50000                           INDEX    A                                     #  SEE IF OPERATION COMPLETE.
056032,000805: 07,3714           11301                           CCS      MODECADR                              
056033,000806: 07,3715           13733                           TCF      MODABORT                              #  ALLOWABLE STATES ARE +0, -1, AND -0.
056034,000807: 07,3716           13727                           TCF      MODESLP                               #  OPERATION INCOMPLETE.
056035,000808: 07,3717           13723                           TCF      MODEGOOD                              #  COMPLETE AND GOOD IF = -1.
056036,000809: 
056037,000810: 07,3720           50071        MG2                INDEX    RUPTREG2                              #  COMPLETE AND FAILED IF -0. RESET TO +0.
056038,000811: 07,3721           55301                           TS       MODECADR                              #  RETURN TO CALLER.
056039,000812: 07,3722           12747                           TCF      MODEEXIT                              
056040,000813: 
056041,000814: 07,3723           10000        MODEGOOD           CCS      A                                     #  MAKE SURE INITIAL STATE -1.
056042,000815: 07,3724           13733                           TCF      MODABORT                              
056043,000816: 
056044,000817: 07,3725           24133                           INCR     BUF2                                  #  IF SO, INCREMENT RETURN ADDRESS AND
056045,000818: 07,3726           13720                           TCF      MG2                                   #  RETURN IMMEDIATELY, SETTING CADR = +0.
056046,000819: 
056047,000820: 07,3727           04645        MODESLP            TC       MAKECADR                              #  CALL FROM SWITCHABLE FIXED ONLY.
056048,000821: 07,3730           50071                           INDEX    RUPTREG2                              
056049,000822: 07,3731           55301                           TS       MODECADR                              
056050,000823: 07,3732           15133                           TCF      JOBSLEEP                              
056051,000824: 
056052,000825: 07,3733           52134        MODABORT           DXCH     BUF2                                  
056053,000826: 07,3734           05706                           TC       BAILOUT1                              #  TWO PROGRAMS USING THE SAME DEVICE.
056054,000827: 07,3735           31210                           OCT      31210                                 
056055,000828: 

Page 1321

056057,000830:                                                                                                  #  CONSTANTS FOR MODE SWITCHING ROUTINES
056058,000831: 
056059,000832: 07,3736     5741               BITS3&4            =        OCT14                                 
056060,000833: 07,3736     4771               BITS4&6            =        OCT50                                 
056061,000834: 07,3736           00030        BITS4-5            OCT      00030                                 
056062,000835: 07,3737     4744               IMUSEFLG           EQUALS   BIT8                                  #  INTERPRETER SWITCH 7.
056063,000836: 07,3737           77500        -COMMAX            DEC      -191       B-14                       
056064,000837: 07,3740           77477        -COMMAX-           DEC      -192       B-14                       
056065,000838: 07,3741           00074        600MS              DEC      60         B-14                       
056066,000839: 07,3742  07,3202               IMUFIN20           =        IMUFINE                               
056067,000840: 07,3742           31304        GOMANUR            CA       ATTCADR                               #  IS KALCMANU FREE
056068,000841: 07,3743           00006                           EXTEND                                         
056069,000842: 07,3744           13746                           BZF      +2                                    
056070,000843: 07,3745           03733                           TC       MODABORT                              
056071,000844: 07,3746           00006                 +2        EXTEND                                         
056072,000845: 07,3747           30134                           DCA      BUF2                                  
056073,000846: 07,3750           53305                           DXCH     ATTCADR                               #  SAVE FINAL RETURN FOR KALCMAN3
056074,000847: 
056075,000848: 07,3751           30006                           CA       BBANK                                 
056076,000849: 07,3752           74757                           MASK     SEVEN                                 
056077,000850: 07,3753           27305                           ADS      ATTCADR    +1                         
056078,000851: 
056079,000852: 07,3754           30167                           CA       PRIORITY                              
056080,000853: 07,3755           77730                           MASK     PRIO37                                
056081,000854: 07,3756           55306                           TS       ATTPRIO                               #  SAVE USERS PRIO
056082,000855: 
056083,000856: 07,3757           33763                           CAF      KALEBCON                              #  SET EBANK FOR KALCMAN3
056084,000857: 07,3760           54003                           TS       EBANK                                 
056085,000858: 07,3761           04635                           TC       POSTJUMP                              
056086,000859: 07,3762           44004                           CADR     KALCMAN3                              
056087,000860: 07,3763           03276        KALEBCON           ECADR    BCDU                                  
056088,000861: 

Page 1322

056090,000863:                                                                                                  #  PROGRAM DESCRIPTION
056091,000864:                                                                                                  #  IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY)
056092,000865:                                                                                                  #  MOD NO - 1
056093,000866:                                                                                                  #  MOD BY - N.BRODEUR
056094,000867:                                                                                                  #  FUNCTIONAL DESCRIPTION
056095,000868: 
056096,000869:                                                                                                  #  TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN
056097,000870:                                                                                                  #  ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE
056098,000871:                                                                                                  #  PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE
056099,000872:                                                                                                  #  CMC. CALLED THROUGH BANKCALL
056100,000873:                                                                                                  #  CALLING SEQUENCE-
056101,000874: 
056102,000875:                                                                                                  #  L        TC     BANKCALL
056103,000876:                                                                                                  #  L+1      CADR   R02BOTH
056104,000877:                                                                                                  #  SUBROUTINES CALLED
056105,000878: 
056106,000879:                                                                                                  #        VARALARM
056107,000880:                                                                                                  #        FLAGUP
056108,000881:                                                                                                  #  NORMAL EXIT MODES
056109,000882: 
056110,000883:                                                                                                  #  AT L+2 OF CALLING SEQUENCE
056111,000884:                                                                                                  #  ALARM OR ABORT EXIT MODES
056112,000885:                                                                                                  #        GOTOPOOH, WITH ALARM
056113,000886:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
056114,000887: 
056115,000888:                                                                                                  #  NONE
056116,000889: 
056117,000890:                                                                                                  #  DEBRIS
056118,000891:                                                                                                  #  CENTRALS-A,Q,L
056119,000892: 
056120,000893: 34,3650                                           BANK     34                                    
056121,000894: 04,2000                                           SETLOC   R02                                   
056122,000895: 04,2000                                           BANK                                           
056123,000896: 04,3235                                           COUNT*   $$/R02                                
056124,000897: 04,3235           00063        DEC51              DEC      51         B-14                       
056125,000898: 04,3236           34737        R02BOTH            CAF      REFSMBIT                              
056126,000899: 04,3237           70077                           MASK     FLAGWRD3                              
056127,000900: 04,3240           10000                           CCS      A                                     
056128,000901: 04,3241           03252                           TC       R02ZERO                               #  ZERO IMUS
056129,000902: 
056130,000903: 04,3242           31277                           CA       IMODES30                              
056131,000904: 04,3243           74743                           MASK     BIT9                                  #  IS ISS INITIALIZED
056132,000905: 04,3244           00006                           EXTEND                                         
056133,000906: 04,3245           13247                           BZF      +2                                    
056134,000907: 04,3246           44750                           CS       BIT4                                  #  SEND IMU ALARM CODE 210
056135,000908: 04,3247           63255                           AD       OCT220                                #  SEND REFSMM ALARM
056136,000909: 04,3250           05734                           TC       VARALARM                              
056137,000910: 
056138,000911: 04,3251           06001                           TC       GOTOPOOH                              
056139,000912: 
056140,000913: 04,3252           05504        R02ZERO            TC       UPFLAG                                

Page 1323

056142,000915: 04,3253           00007                           ADRES    IMUSE                                 
056143,000916: 04,3254           14631                           TCF      SWRETURN                              
056144,000917: 04,3255           00220        OCT220             OCT      220                                   
056145,000918: 

Page 1324

056147,000920:                                                                                                  #  PROGRAM DESCRIPTION   P06   10 FEB 67
056148,000921: 
056149,000922:                                                                                                  #  TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
056150,000923: 
056151,000924:                                                                                                  #  THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU
056152,000925:                                                                                                  #  HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF.  THE
056153,000926:                                                                                                  #  CMC  STANDBY ON THE MAIN AND LEB DISKYS IS ON.
056154,000927: 
056155,000928:                                                                                                  #  CALLING SEQUENCE:
056156,000929:                                                                                                  #            ASTRONAUT REQUEST THROUGH DSKY  V37E 06E.
056157,000930: 
056158,000931:                                                                                                  #  SUBROUTINES CALLED:
056159,000932:                                                                                                  #           GOPERF1
056160,000933:                                                                                                  #           BANKCALL
056161,000934:                                                                                                  #           FLAGDOWN
056162,000935: 

Page 1325

056164,000937:                                                                                                  #  PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2
056165,000938:                                                                                                  #  THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY
056166,000939:                                                                                                  #  BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
056167,000940: 
056168,000941: 37,2000                                           SETLOC   P05P06                                
056169,000942: 37,2000                                           BANK                                           
056170,000943: 
056171,000944: 37,3652     0314                                  EBANK=   TIME2SAV                              
056172,000945: 37,3652                                           COUNT*   $$/P06                                
056173,000946: 
056174,000947: 37,3652           05504        P06                TC       UPFLAG                                #  SET NODOV37 BIT
056175,000948: 37,3653           00054                           ADRES    NODOFLAG                              
056176,000949: 
056177,000950: 37,3654           00004        PRESTAND           INHINT                                         
056178,000951: 37,3655           00006                           EXTEND                                         
056179,000952: 37,3656           30025                           DCA      TIME2                                 #  SNAPSHOT TIME1 TIME2
056180,000953: 37,3657           52315                           DXCH     TIME2SAV                              
056181,000954: 37,3660           03711                           TC       SCALPREP                              
056182,000955: 37,3661           03654                           TC       PRESTAND                              #  T1,T2,SCALER NOT COMPATIBLE
056183,000956: 37,3662           52155                           DXCH     MPAC                                  #  T1,T2 AND SCALER OK
056184,000957: 37,3663           52317                           DXCH     SCALSAVE                              #  STORE SCALER
056185,000958: 37,3664           00004                           INHINT                                         
056186,000959: 37,3665           04616                           TC       BANKCALL                              
056187,000960: 37,3666           17167                           CADR     RNDREFDR                              #  REFSMM, DRIFT, TRACK FLAGS DOWN
056188,000961: 
056189,000962: 37,3667           05516                           TC       DOWNFLAG                              
056190,000963: 37,3670           00007                           ADRES    IMUSE                                 #  IMUSE DOWN
056191,000964: 37,3671           05516                           TC       DOWNFLAG                              
056192,000965: 37,3672           00010                           ADRES    RNDVZFLG                              #  RNDVZFLG DOWN
056193,000966: 
056194,000967: 37,3673           34741                           CAF      BIT11                                 
056195,000968: 37,3674           00006                           EXTEND                                         
056196,000969: 37,3675           05013                           WOR      CHAN13                                #  SET STANDBY ENABLE BIT
056197,000970: 
056198,000971: 37,3676           05353                           TC       PHASCHNG                              #  SET RESTART TO POSTAND WHEN STANDBY
056199,000972: 37,3677           07024                           OCT      07024                                 #    RECOVERS
056200,000973: 37,3700           20000                           OCT      20000                                 
056201,000974: 37,3701     0316                                  EBANK=   SCALSAVE                              
056202,000975: 37,3701           03731 76060                     2CADR    POSTAND                               
056203,000976: 
056204,000977: 37,3703           34774                           CAF      OCT62                                 
056205,000978: 37,3704           04616                           TC       BANKCALL                              
056206,000979: 37,3705           20624                           CADR     GOPERF1                               
056207,000980: 37,3706           13703                           TCF      -3                                    
056208,000981: 37,3707           13703                           TCF      -4                                    
056209,000982: 37,3710           13703                           TCF      -5                                    
056210,000983: 
056211,000984: 37,3711     4774               OCT62              EQUALS   .5SEC                                 #  DEC 50 = OCT 62
056212,000985: 
056213,000986:                                                                                                  #  THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A

Page 1326

056215,000988:                                                                                                  #  T1 INCREMENT. IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER
056216,000989:                                                                                                  #  DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE
056217,000990:                                                                                                  #  DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES
056218,000991:                                                                                                  #  THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE
056219,000992:                                                                                                  #  10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM
056220,000993:                                                                                                  #  T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF
056221,000994:                                                                                                  #  ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1. THE LOW 5
056222,000995:                                                                                                  #  BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER
056223,000996:                                                                                                  #  DATA TO 10 MS. RESULTS ARE STORED IN MPAC, +1.
056224,000997: 
056225,000998: 37,3711           00006        SCALPREP           EXTEND                                         
056226,000999: 37,3712           22156                           QXCH     MPAC       +2                         
056227,001000: 37,3713           04103                           TC       FINETIME   +1                         
056228,001001: 37,3714           00003                           RELINT                                         
056229,001002: 37,3715           52155                           DXCH     MPAC                                  
056230,001003: 37,3716           34747                           CA       BIT5                                  #  ADD 5 MS TO THE SCALER READING.
056231,001004: 37,3717           54001                           TS       L                                     
056232,001005: 37,3720           34755                           CA       ZERO                                  
056233,001006: 37,3721           20155                           DAS      MPAC                                  
056234,001007: 37,3722           44346                           CS       LOW5                                  #  SET LOW 5 BITS OF (SCALER+5MS) TO ZERO
056235,001008: 37,3723           70155                           MASK     MPAC       +1                         #  AND STORE RESULTS IN MPAC,+1.
056236,001009: 37,3724           56155                           XCH      MPAC       +1                         
056237,001010: 37,3725           74346                           MASK     LOW5                                  #  TEST LOW 5 BITS OF SCALER FOR THE FIRST
056238,001011:                                                                                                  #  INTERVAL AFTER THE T1 INCREMENT
056239,001012:                                                                                                  #  (NOW = 00000, SINCE BIT 5 ADDED).
056240,001013: 37,3726           10000                           CCS      A                                     #  IS IT 1ST INTERVAL AFTER T1 INCREMENT
056241,001014: 37,3727           24156                           INCR     MPAC       +2                         #  NO
056242,001015: 37,3730           00156                           TC       MPAC       +2                         #  YES
056243,001016: 
056244,001017:                                                                                                  #  POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE
056245,001018:                                                                                                  #  TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE
056246,001019:                                                                                                  #  INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE
056247,001020:                                                                                                  #  CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER
056248,001021:                                                                                                  #  VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF
056249,001022:                                                                                                  #  TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
056250,001023: 
056251,001024: 37,3731                                           COUNT*   $$/P05                                
056252,001025: 
056253,001026: 37,3731           44741        POSTAND            CS       BIT11                                 #  RECOVER TIME AFTER STANDBY.
056254,001027: 37,3732           00006                           EXTEND                                         
056255,001028: 37,3733           03013                           WAND     CHAN13                                #  CLEAR STANDBY ENABLE BIT
056256,001029: 37,3734           00004                           INHINT                                         
056257,001030: 37,3735           34755                           CA       ZERO                                  
056258,001031: 37,3736           54001                           TS       L                                     
056259,001032: 37,3737           52025                           DXCH     TIME2                                 #  CLEAR TIME1TIME2
056260,001033: 37,3740           03711                           TC       SCALPREP                              #  STORE SCALER IN MPAC, MPAC+1
056261,001034: 37,3741           03734                           TC       POSTAND    +3                         #  T1,T2,SCALER NOT COMPATIBLE
056262,001035: 37,3742           00006                           EXTEND                                         #  T1,T2 AND SCALER OK
056263,001036: 37,3743           40317                           DCS      SCALSAVE                              
056264,001037: 37,3744           20155                           DAS      MPAC                                  #  FORM DP DIFFERENCE OF POSTSTANDBY SCALER

Page 1327

056266,001039: 37,3745           34742                           CAF      BIT10                                 #  MINUS PRESTANDBY SCALER AND SHIFT RIGHT
056267,001040: 37,3746           07312                           TC       SHORTMP                               #  5 TO ALIGN BITS WITH TIME1 TIME2.
056268,001041: 37,3747           34755                           CAF      ZERO                                  
056269,001042: 37,3750           54156                           TS       MPAC       +2                         #  NEEDED FOR TP AGREE
056270,001043: 37,3751           07262                           TC       TPAGREE                               #  MAKE DP DIFF AGREE
056271,001044: 37,3752           10154                           CCS      MPAC                                  
056272,001045: 37,3753           03760                           TC       POSTCOM                               #  IF DP DIFF NET +, NO SCALER OVERFLOW
056273,001046: 37,3754           03760                           TC       POSTCOM                               #  BETWEEN PRE AND POST STANDBY.
056274,001047: 37,3755           03756                           TC       +1                                    #  IF DP DIFF NET -, SCALER OVERFLOWED.  ADD
056275,001048: 37,3756           34742                           CAF      BIT10                                 #  BIT 10 TO HIGH DIFF TO CORRECT.
056276,001049: 37,3757           26154                           ADS      MPAC                                  
056277,001050: 37,3760           00006        POSTCOM            EXTEND                                         #  C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER.
056278,001051: 37,3761           30315                           DCA      TIME2SAV                              #  PRESTANDBY TIME1TIME2
056279,001052: 37,3762           20155                           DAS      MPAC                                  
056280,001053: 37,3763           07262                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT
056281,001054: 37,3764           52155                           DXCH     MPAC                                  #  UPDATED VALUE FOR T1,T2.
056282,001055: 37,3765           20025                           DAS      TIME2                                 #  LOAD UPDATED VALUE INTO T1,T2, WITH
056283,001056: 37,3766           05516                           TC       DOWNFLAG                              #  CLEAR NODOFLAG
056284,001057: 37,3767           00054                           ADRES    NODOFLAG                              
056285,001058: 
056286,001059: 37,3770           06001                           TC       GOTOPOOH                              
056287,001060: 

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