Source Code

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

Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY 
	BY NASA 2021112-161 17:11 MAR. 19,1971
Note that the date is the date of the printout, not the date of the program revision.

056511,000002:                                                                                                  ## Copyright:   Public domain.
056512,000003:                                                                                                  ## Filename:    IMU_MODE_SWITCHING_ROUTINES.agc
056513,000004:                                                                                                  ## Purpose:     A section of Luminary revision 210.
056514,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
056515,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 15-17.
056516,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
056517,000008:                                                                                                  ##              that the code format has been changed to conform to the
056518,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
056519,000010:                                                                                                  ##              original YUL assembler.
056520,000011:                                                                                                  ## Reference:   pp. 1306-1334
056521,000012:                                                                                                  ## Assembler:   yaYUL
056522,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
056523,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
056524,000015:                                                                                                  ## Mod history: 2016-11-17 JL   Created from Luminary131 version.
056525,000016:                                                                                                  ##              2016-12-08 MAS  Began transcription
056526,000017:                                                                                                  ##              2016-12-09 MAS  Completed updates for Luminary 210.
056527,000018:                                                                                                  ##              2016-12-11 HG   Fix operand CAGETEST -> CAGETSTG
056528,000019:                                                                                                  ##                                          GYROEXIT -> EXITGYRO
056529,000020:                                                                                                  ##                                          CAGETEST -> COARSTST    
056530,000021:                                                                                                  ##              2016-12-26 RSB  Comment-text proofed using ProoferComments
056531,000022:                                                                                                  ##                              and corrected errors found.
056532,000023:                                                                                                  ##              2017-01-28 RSB  Comment-text fixes identified for Luminary 69.
056533,000024:                                                                                                  ##              2017-03-13 RSB  Comment-text fixes noted in proofing Luminary 116.
056534,000025: 

Page 1306

056536,000027:    4000                                           SETLOC   FFTAG3                                
056537,000028:    4000                                           BANK                                           
056538,000029: 
056539,000030:    5461  E3,1471                                  EBANK=   COMMAND                               
056540,000031: 
056541,000032:                                                                                                  #           FIXED-FIXED ROUTINES.
056542,000033: 
056543,000034:    5461                                           COUNT*   $$/IMODE                              
056544,000035:    5461           34746        ZEROICDU           CAF      ZERO                                  #  ZERO ICDU COUNTERS.
056545,000036:    5462           54032                           TS       CDUX                                  
056546,000037:    5463           54033                           TS       CDUY                                  
056547,000038:    5464           54034                           TS       CDUZ                                  
056548,000039:    5465           00002                           TC       Q                                     
056549,000040: 
056550,000041:    5466     4734               SPSCODE            =        BIT9                                  
056551,000042: 

Page 1307

056553,000044:                                                                                                  #           IMU ZEROING ROUTINE.
056554,000045: 
056555,000046: 11,3776                                           BANK     11                                    
056556,000047: 07,2000                                           SETLOC   MODESW                                
056557,000048: 07,2000                                           BANK                                           
056558,000049: 
056559,000050: 07,2701                                           COUNT*   $$/IMODE                              
056560,000051: 07,2701           00004        IMUZERO            INHINT                                         #  ROUTINE TO ZERO ICDUS.
056561,000052: 07,2702           41035                           CS       DSPTAB     +11D                       #  DONT ZERO CDUS IF IMU IN GIMBAL LOCK AND
056562,000053: 07,2703           74762                           MASK     BITS4&6                               #  COARSE ALIGN (GIMBAL RUNAWAY PROTECTION)
056563,000054: 07,2704           10000                           CCS      A                                     
056564,000055: 07,2705           12711                           TCF      IMUZEROA                              
056565,000056: 
056566,000057: 07,2706           05571                           TC       ALARM                                 #  IF SO.
056567,000058: 07,2707           00206                           OCT      00206                                 
056568,000059: 
056569,000060: 07,2710           13676                           TCF      CAGETSTJ   +4                         #  IMMEDIATE FAILURE.
056570,000061: 
056571,000062: 07,2711           03672        IMUZEROA           TC       CAGETSTJ                              
056572,000063:                                                                                                  #  DELETE
056573,000064: 07,2712           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
056574,000065: 07,2713           74764                           MASK     SUPER011                              #      BIT5 FOR GROUND
056575,000066: 07,2714           27300                           ADS      IMODES33                              
056576,000067: 
056577,000068: 07,2715           41277                           CS       IMODES30                              #  INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE
056578,000069: 07,2716           75745                           MASK     BITS3&4                               #  JUST CAME OUT OF COARSE ALIGN).
056579,000070: 07,2717           27277                           ADS      IMODES30                              
056580,000071: 
056581,000072: 07,2720           44762                           CS       BITS4&6                               #  SEND ZERO ENCODE WITH COARSE AND ERROR
056582,000073: 07,2721           00006                           EXTEND                                         #  COUNTER DISABLED.
056583,000074: 07,2722           03012                           WAND     CHAN12                                
056584,000075: 
056585,000076: 07,2723           03253                           TC       NOATTOFF                              #  TURN OFF NO ATT LAMP.
056586,000077: 
056587,000078: 07,2724           34740                           CAF      BIT5                                  
056588,000079: 07,2725           00006                           EXTEND                                         
056589,000080: 07,2726           05012                           WOR      CHAN12                                
056590,000081: 
056591,000082: 07,2727           05461                           TC       ZEROICDU                              
056592,000083: 07,2730           34737                           CAF      BIT6                                  #  WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO
056593,000084: 07,2731           05205                           TC       WAITLIST                              #  RECEIVE ITS PULSE TRAIN.
056594,000085: 07,2732  E3,1474                                  EBANK=   CDUIND                                
056595,000086: 07,2732           02744 16103                     2CADR    IMUZERO2                              
056596,000087: 
056597,000088: 07,2734           41277                           CS       IMODES30                              #  SEE IF IMU OPERATING AND ALARM IF NOT.
056598,000089: 07,2735           74734                           MASK     BIT9                                  
056599,000090: 07,2736           10000                           CCS      A                                     
056600,000091: 07,2737           12742                           TCF      MODEEXIT                              

Page 1308

056602,000093: 07,2740           05571                           TC       ALARM                                 
056603,000094: 07,2741           00210                           OCT      210                                   
056604,000095: 
056605,000096: 07,2742           00003        MODEEXIT           RELINT                                         #  GENERAL MODE-SWITCHING EXIT.
056606,000097: 07,2743           14622                           TCF      SWRETURN                              
056607,000098: 
056608,000099: 
056609,000100: 07,2744           03660        IMUZERO2           TC       CAGETEST                              
056610,000101: 07,2745           05461                           TC       ZEROICDU                              #  ZERO CDUX, CDUY, CDUZ
056611,000102: 
056612,000103: 07,2746           44740                           CS       BIT5                                  #  REMOVE ZERO DISCRETE.
056613,000104: 07,2747           00006                           EXTEND                                         
056614,000105: 07,2750           03012                           WAND     CHAN12                                
056615,000106: 
056616,000107: 07,2751           34732                           CAF      BIT11                                 #  WAIT 10 SECS FOR CTRS TO FIND GIMBALS
056617,000108: 07,2752           05226                           TC       VARDELAY                              
056618,000109: 
056619,000110: 07,2753           03660        IMUZERO3           TC       CAGETEST                              
056620,000111: 07,2754           45745                           CS       BITS3&4                               #  REMOVE IMUFAIL AND ICDUFAIL INHIBIT.
056621,000112: 07,2755           71277                           MASK     IMODES30                              
056622,000113: 07,2756           55277                           TS       IMODES30                              
056623,000114: 
056624,000115: 07,2757           44764                           CS       SUPER011                              #  ENABLE DAP AUTO AND HOLD MODES
056625,000116: 07,2760           71300                           MASK     IMODES33                              #      BIT5 FOR GROUND
056626,000117: 07,2761           55300                           TS       IMODES33                              
056627,000118: 
056628,000119: 07,2762           04665                           TC       IBNKCALL                              #  SET ISS WARNING IF EITHER OF ABOVE ARE
056629,000120: 07,2763           14703                           CADR     SETISSW                               #  PRESENT.
056630,000121: 
056631,000122: 07,2764           13633                           TCF      ENDIMU                                
056632,000123: 

Page 1309

056634,000125:                                                                                                  #           IMU COARSE ALIGN MODE.
056635,000126: 
056636,000127: 07,2765           00004        IMUCOARS           INHINT                                         
056637,000128: 07,2766           03672                           TC       CAGETSTJ                              
056638,000129: 07,2767           03131                           TC       SETCOARS                              
056639,000130: 
056640,000131: 07,2770           36263                           CAF      SIX                                   
056641,000132: 07,2771           05205                           TC       WAITLIST                              
056642,000133: 07,2772  E3,1474                                  EBANK=   CDUIND                                
056643,000134: 07,2772           02775 16103                     2CADR    COARS                                 
056644,000135: 
056645,000136: 
056646,000137: 07,2774           12742                           TCF      MODEEXIT                              
056647,000138: 
056648,000139: 07,2775           03660        COARS              TC       CAGETEST                              
056649,000140: 07,2776           34737                           CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
056650,000141: 07,2777           00006                           EXTEND                                         
056651,000142: 07,3000           05012                           WOR      CHAN12                                
056652,000143: 
056653,000144: 07,3001           34743                           CAF      TWO                                   #  SET CDU INDICATOR
056654,000145: 07,3002           55474        COARS1             TS       CDUIND                                
056655,000146: 
056656,000147: 07,3003           51474                           INDEX    CDUIND                                #  COMPUTE THETAD - THETAA IN 1:S
056657,000148: 07,3004           30321                           CA       THETAD                                #    COMPLEMENT FORM
056658,000149: 07,3005           00006                           EXTEND                                         
056659,000150: 07,3006           51474                           INDEX    CDUIND                                
056660,000151: 07,3007           20032                           MSU      CDUX                                  
056661,000152: 07,3010           00006                           EXTEND                                         
056662,000153: 07,3011           74730                           MP       BIT13                                 #  SHIFT RIGHT 2
056663,000154: 07,3012           56001                           XCH      L                                     #  ROUND
056664,000155: 07,3013           60000                           DOUBLE                                         
056665,000156: 07,3014           54061                           TS       ITEMP1                                
056666,000157: 07,3015           13017                           TCF      +2                                    
056667,000158: 07,3016           26001                           ADS      L                                     
056668,000159: 
056669,000160: 07,3017           51474                           INDEX    CDUIND                                #  DIFFERENCE TO BE COMPUTED
056670,000161: 07,3020           23471                           LXCH     COMMAND                               
056671,000162: 07,3021           11474                           CCS      CDUIND                                
056672,000163: 07,3022           03002                           TC       COARS1                                
056673,000164: 
056674,000165: 07,3023           34743                           CAF      TWO                                   #  MINIMUM OF 4 MS WAIT
056675,000166: 07,3024           05226                           TC       VARDELAY                              
056676,000167: 

Page 1310

056678,000169: 07,3025           03660        COARS2             TC       CAGETEST                              #  DONT CONTINUE IF CAGED.
056679,000170: 07,3026           54061                           TS       ITEMP1                                #  SETS TO +0.
056680,000171: 07,3027           34743                           CAF      TWO                                   #  SET CDU INDICATOR
056681,000172: 07,3030           55474                 +3        TS       CDUIND                                
056682,000173: 
056683,000174: 07,3031           51474                           INDEX    CDUIND                                
056684,000175: 07,3032           11471                           CCS      COMMAND                               #  NUMBER OF PULSES REQUIRED
056685,000176: 07,3033           03037                           TC       COMPOS                                #  GREATER THAN MAX ALLOWED
056686,000177: 07,3034           03046                           TC       NEXTCDU    +1                         
056687,000178: 07,3035           03104                           TC       COMNEG                                
056688,000179: 07,3036           03046                           TC       NEXTCDU    +1                         
056689,000180: 
056690,000181: 07,3037           63764        COMPOS             AD       -COMMAX                               #  COMMAX = MAX NUMBER OF PULSES ALLOWED
056691,000182: 07,3040           00006                           EXTEND                                         #    MINUS ONE
056692,000183: 07,3041           63114                           BZMF     COMZERO                               
056693,000184: 07,3042           51474                           INDEX    CDUIND                                
056694,000185: 07,3043           55471                           TS       COMMAND                               #  REDUCE COMMAND BY MAX NUMBER OF PULSES
056695,000186: 07,3044           43765                           CS       -COMMAX-                              #    ALLOWED
056696,000187: 
056697,000188: 07,3045           24061        NEXTCDU            INCR     ITEMP1                                
056698,000189: 07,3046           64745                           AD       NEG0                                  
056699,000190: 07,3047           51474                           INDEX    CDUIND                                
056700,000191: 07,3050           54050                           TS       CDUXCMD                               #  SET UP COMMAND REGISTER.
056701,000192: 
056702,000193: 07,3051           11474                           CCS      CDUIND                                
056703,000194: 07,3052           03030                           TC       COARS2     +3                         
056704,000195: 
056705,000196: 07,3053           10061                           CCS      ITEMP1                                #  SEE IF ANY PULSES TO GO OUT.
056706,000197: 07,3054           13120                           TCF      SENDPULS                              
056707,000198: 
056708,000199: 07,3055           05223                           TC       FIXDELAY                              #  WAIT FOR GIMBALS TO SETTLE.
056709,000200: 07,3056           00226                           DEC      150        B-14                       
056710,000201: 
056711,000202: 
056712,000203: 07,3057           34743                           CAF      TWO                                   #  AT END OF COMMAND, CHECK TO SEE THAT
056713,000204: 07,3060           54061        CHKCORS            TS       ITEMP1                                #  GIMBALS ARE WITHIN 2 DEGREES OF THETAD.
056714,000205: 07,3061           50000                           INDEX    A                                     
056715,000206: 07,3062           30032                           CA       CDUX                                  
056716,000207: 07,3063           00006                           EXTEND                                         
056717,000208: 07,3064           50061                           INDEX    ITEMP1                                
056718,000209: 07,3065           20321                           MSU      THETAD                                
056719,000210: 07,3066           10000                           CCS      A                                     
056720,000211: 07,3067           13075                           TCF      COARSERR                              
056721,000212: 07,3070           13072                           TCF      CORSCHK2                              
056722,000213: 07,3071           13075                           TCF      COARSERR                              
056723,000214: 

Page 1311

056725,000216: 07,3072           10061        CORSCHK2           CCS      ITEMP1                                
056726,000217: 07,3073           13060                           TCF      CHKCORS                               
056727,000218: 07,3074           13633                           TCF      ENDIMU                                #  END OF COARSE ALIGNMENT.
056728,000219: 
056729,000220: 07,3075           63103        COARSERR           AD       COARSTOL                              #  2 DEGREES.
056730,000221: 07,3076           00006                           EXTEND                                         
056731,000222: 07,3077           63072                           BZMF     CORSCHK2                              
056732,000223: 
056733,000224: 07,3100           05571                           TC       ALARM                                 #  COARSE ALIGN ERROR.
056734,000225: 07,3101           00211                           OCT      211                                   
056735,000226: 
056736,000227: 07,3102           13656                           TCF      IMUBAD                                
056737,000228: 
056738,000229: 07,3103           77511        COARSTOL           DEC      -.01111                               #  2 DEGREES SCALED AT HALF-REVOLUTIONS
056739,000230: 
056740,000231: 
056741,000232: 07,3104           63764        COMNEG             AD       -COMMAX                               
056742,000233: 07,3105           00006                           EXTEND                                         
056743,000234: 07,3106           63114                           BZMF     COMZERO                               
056744,000235: 07,3107           40000                           COM                                            
056745,000236: 07,3110           51474                           INDEX    CDUIND                                
056746,000237: 07,3111           55471                           TS       COMMAND                               
056747,000238: 07,3112           33765                           CA       -COMMAX-                              
056748,000239: 07,3113           03045                           TC       NEXTCDU                               
056749,000240: 
056750,000241: 07,3114           34746        COMZERO            CAF      ZERO                                  
056751,000242: 07,3115           51474                           INDEX    CDUIND                                
056752,000243: 07,3116           57471                           XCH      COMMAND                               
056753,000244: 07,3117           03045                           TC       NEXTCDU                               
056754,000245: 
056755,000246: 
056756,000247: 07,3120           37761        SENDPULS           CAF      13,14,15                              
056757,000248: 07,3121           00006                           EXTEND                                         
056758,000249: 07,3122           05014                           WOR      CHAN14                                
056759,000250: 07,3123           33766                           CAF      600MS                                 
056760,000251: 07,3124           13024                           TCF      COARS2     -1                         #  THEN TO VARDELAY
056761,000252: 
056762,000253: 07,3125           34737        CA+ECE             CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
056763,000254: 07,3126           00006                           EXTEND                                         
056764,000255: 07,3127           05012                           WOR      CHAN12                                
056765,000256: 07,3130           05263                           TC       TASKOVER                              
056766,000257: 

Page 1312

056768,000259: 07,3131           34741        SETCOARS           CAF      BIT4                                  #  BYPASS IF ALREADY IN COARSE ALIGN
056769,000260: 07,3132           00006                           EXTEND                                         
056770,000261: 07,3133           02012                           RAND     CHAN12                                
056771,000262: 07,3134           10000                           CCS      A                                     
056772,000263: 07,3135           00002                           TC       Q                                     
056773,000264: 
056774,000265: 07,3136           44737                           CS       BIT6                                  #  CLEAR ISS ERROR COUNTERS
056775,000266: 07,3137           00006                           EXTEND                                         
056776,000267: 07,3140           03012                           WAND     CHAN12                                
056777,000268: 
056778,000269: 07,3141           44733                           CS       BIT10                                 #  KNOCK DOWN GYRO ACTIVITY
056779,000270: 07,3142           00006                           EXTEND                                         
056780,000271: 07,3143           03014                           WAND     CHAN14                                
056781,000272: 07,3144           44746                           CS       ZERO                                  
056782,000273: 07,3145           54047                           TS       GYROCMD                               
056783,000274: 
056784,000275: 07,3146           34741                           CAF      BIT4                                  #  PUT ISS IN COARSE ALIGN
056785,000276: 07,3147           00006                           EXTEND                                         
056786,000277: 07,3150           05012                           WOR      CHAN12                                
056787,000278: 
056788,000279: 07,3151           41035                           CS       DSPTAB     +11D                       #  TURN ON NO ATT LAMP
056789,000280: 07,3152           73174                           MASK     OCT40010                              
056790,000281: 07,3153           27035                           ADS      DSPTAB     +11D                       
056791,000282: 
056792,000283: 07,3154           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
056793,000284: 07,3155           74737                           MASK     BIT6                                  
056794,000285: 07,3156           27300                           ADS      IMODES33                              
056795,000286: 
056796,000287: 07,3157           41277                           CS       IMODES30                              #  DISABLE IMUFAIL
056797,000288: 07,3160           74741                           MASK     BIT4                                  
056798,000289: 07,3161           27277                           ADS      IMODES30                              
056799,000290: 
056800,000291: 07,3162           44740        RNDREFDR           CS       TRACKBIT                              #  CLEAR TRACK FLAG
056801,000292: 07,3163           70075                           MASK     FLAGWRD1                              
056802,000293: 07,3164           54075                           TS       FLAGWRD1                              
056803,000294: 

The next three instructions are circled.

056805,000296: 07,3165           44726                           CS       DRFTBIT                               #  CLEAR DRIFT FLAG
056806,000297: 07,3166           70076                           MASK     FLAGWRD2                              
056807,000298: 07,3167           54076                           TS       FLAGWRD2                              
056808,000299: 
056809,000300: 07,3170           44730                           CS       REFSMBIT                              #  CLEAR REFSMMAT FLAG
056810,000301: 07,3171           70077                           MASK     FLAGWRD3                              
056811,000302: 07,3172           54077                           TS       FLAGWRD3                              
056812,000303: 
056813,000304: 07,3173           00002                           TC       Q                                     
056814,000305: 
056815,000306: 07,3174           40010        OCT40010           OCT      40010                                 
056816,000307: 

Page 1313

056818,000309:                                                                                                  #           IMU FINE ALIGN MODE SWITCH.
056819,000310: 
056820,000311: 07,3175           00004        IMUFINE            INHINT                                         
056821,000312: 07,3176           03672                           TC       CAGETSTJ                              #  SEE IF IMU BEING CAGED.
056822,000313: 
056823,000314: 07,3177           43763                           CS       BITS4-5                               #  RESET ZERO AND COARSE
056824,000315: 07,3200           00006                           EXTEND                                         
056825,000316: 07,3201           03012                           WAND     CHAN12                                
056826,000317: 
056827,000318: 07,3202           44737                           CS       BIT6                                  #  INSURE DAP AUTO AND HOLD MODES ENABLED
056828,000319: 07,3203           71300                           MASK     IMODES33                              
056829,000320: 07,3204           55300                           TS       IMODES33                              
056830,000321: 
056831,000322: 07,3205           03253                           TC       NOATTOFF                              
056832,000323: 
056833,000324: 07,3206           34733                           CAF      BIT10                                 #  IMU FAIL WAS INHIBITED DURING THE
056834,000325: 07,3207           05205                           TC       WAITLIST                              #  PRESUMABLY PRECEDING COARSE ALIGN. LEAVE
056835,000326: 07,3210  E3,1474                                  EBANK=   CDUIND                                
056836,000327: 07,3210           03221 16103                     2CADR    IFAILOK                               #  IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
056837,000328: 
056838,000329: 
056839,000330: 07,3212           34771                           CAF      2SECS                                 
056840,000331: 07,3213           05205                           TC       WAITLIST                              
056841,000332: 07,3214  E3,1474                                  EBANK=   CDUIND                                
056842,000333: 07,3214           03217 16103                     2CADR    IMUFINED                              
056843,000334: 
056844,000335: 
056845,000336: 07,3216           12742                           TCF      MODEEXIT                              
056846,000337: 
056847,000338: 07,3217           03660        IMUFINED           TC       CAGETEST                              #  SEE THAT NO ONE HAS CAGED THE IMU.
056848,000339: 07,3220           13633                           TCF      ENDIMU                                
056849,000340: 

Page 1314

056851,000342: 07,3221           03665        IFAILOK            TC       CAGETSTQ                              #  ENABLE IMU FIAL UNLESS IMU BEING CAGED.
056852,000343: 07,3222           15263                           TCF      TASKOVER                              #  IT IS.
056853,000344: 
056854,000345: 07,3223           34741                           CAF      BIT4                                  #  DONT RESET IMU FAIL INHIBIT IF SOMEONE
056855,000346: 07,3224           00006                           EXTEND                                         #  HAS GONE INTO COARSE ALIGN.
056856,000347: 07,3225           02012                           RAND     CHAN12                                
056857,000348: 07,3226           10000                           CCS      A                                     
056858,000349: 07,3227           15263                           TCF      TASKOVER                              
056859,000350: 
056860,000351: 07,3230           41277                           CS       IMODES30                              #  RESET IMUFAIL.
056861,000352: 07,3231           74730                           MASK     BIT13                                 
056862,000353: 07,3232           27277                           ADS      IMODES30                              
056863,000354: 07,3233           44741                           CS       BIT4                                  
056864,000355: 07,3234           71277        PFAILOK2           MASK     IMODES30                              
056865,000356: 07,3235           55277                           TS       IMODES30                              
056866,000357: 07,3236           04665                           TC       IBNKCALL                              #  THE ISS WARNING LIGHT MAY COME ON NOW
056867,000358: 07,3237           14703                           CADR     SETISSW                               #  THAT THE INHIBIT HAS BEEN REMOVED.
056868,000359: 07,3240           15263                           TCF      TASKOVER                              
056869,000360: 
056870,000361: 07,3241           03665        PFAILOK            TC       CAGETSTQ                              #  ENABLE PIP FAIL PROG ALARM.
056871,000362: 07,3242           15263                           TCF      TASKOVER                              
056872,000363: 
056873,000364: 07,3243           41277                           CS       IMODES30                              #  RESET IMU AND PIPA FAIL BITS.
056874,000365: 07,3244           74733                           MASK     BIT10                                 
056875,000366: 07,3245           27277                           ADS      IMODES30                              
056876,000367: 
056877,000368: 07,3246           41300                           CS       IMODES33                              
056878,000369: 07,3247           74730                           MASK     BIT13                                 
056879,000370: 07,3250           27300                           ADS      IMODES33                              
056880,000371: 
056881,000372: 07,3251           44740                           CS       BIT5                                  
056882,000373: 07,3252           13234                           TCF      PFAILOK2                              
056883,000374: 
056884,000375: 07,3253           43174        NOATTOFF           CS       OCT40010                              #  SUBROUTINE TO TURN OFF NO ATT LAMP.
056885,000376: 07,3254           71035                           MASK     DSPTAB     +11D                       
056886,000377: 07,3255           64726                           AD       BIT15                                 
056887,000378: 07,3256           55035                           TS       DSPTAB     +11D                       
056888,000379: 07,3257           00002                           TC       Q                                     
056889,000380: 

Page 1315

056891,000382:                                                                                                  #           ROUITNES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS. NO IMUSTALL REQUIRED IN EITHER CASE.
056892,000383: 
056893,000384: 07,3260           44746        PIPUSE             CS       ZERO                                  
056894,000385: 07,3261           54037                           TS       PIPAX                                 
056895,000386: 07,3262           54040                           TS       PIPAY                                 
056896,000387: 07,3263           54041                           TS       PIPAZ                                 
056897,000388: 
056898,000389: 07,3264           03665        PIPUSE1            TC       CAGETSTQ                              #  DO NOT ENABLE PIPA FAIL IF IMU IS CAGED
056899,000390: 07,3265           14622                           TCF      SWRETURN                              
056900,000391: 
056901,000392: 07,3266           00004                           INHINT                                         
056902,000393: 07,3267           44744                           CS       BIT1                                  #  IF PIPA FAILS FROM NOW ON (UNTIL
056903,000394: 07,3270           71277                           MASK     IMODES30                              #  PIPFREE), LIGHT ISS WARNING.
056904,000395: 07,3271           55277                           TS       IMODES30                              
056905,000396: 
056906,000397: 07,3272           04665        PIPFREE2           TC       IBNKCALL                              #  ISS WARNING MIGHT COME ON NOW.
056907,000398: 07,3273           14703                           CADR     SETISSW                               #  (OR GO OFF ON PIPFREE).
056908,000399: 
056909,000400: 07,3274           12742                           TCF      MODEEXIT                              
056910,000401: 
056911,000402: 07,3275           00004        PIPFREE            INHINT                                         #  PROGRAM DONE WITH PIPAS. DONT LIGHT
056912,000403: 07,3276           41277                           CS       IMODES30                              #  ISS WARNING.
056913,000404: 07,3277           74744                           MASK     BIT1                                  
056914,000405: 07,3300           27277                           ADS      IMODES30                              
056915,000406: 
056916,000407: 07,3301           74733                           MASK     BIT10                                 #  IF PIP FAIL ON, DO PROG ALSRM AND RESET
056917,000408: 07,3302           10000                           CCS      A                                     #  ISS WARNING.
056918,000409: 07,3303           12742                           TCF      MODEEXIT                              
056919,000410: 
056920,000411: 07,3304           05571                           TC       ALARM                                 
056921,000412: 07,3305           00212                           OCT      212                                   
056922,000413: 
056923,000414: 07,3306           00004                           INHINT                                         
056924,000415: 
056925,000416: 07,3307           13272                           TCF      PIPFREE2                              
056926,000417: 

Page 1316

056928,000419:                                                                                                  #           THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS
056929,000420:                                                                                                  #  BEGINNING AT THE ECADR ARRIVING IN A. THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE
056930,000421:                                                                                                  #  UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
056931,000422: 
056932,000423: 07,3310  E3,1400                                  EBANK=   1400                                  #  VARIABLE, ACTUALLY.
056933,000424: 
056934,000425: 07,3310           54161        IMUPULSE           TS       MPAC       +5                         #  SAVE ARRIVING ECADR.
056935,000426: 07,3311           03672                           TC       CAGETSTJ                              #  DONT PROCEED IF IMU BEING CAGED.
056936,000427: 
056937,000428: 07,3312           11311                           CCS      LGYRO                                 #  SEE IF GYROS BUSY.
056938,000429: 07,3313           03354                           TC       GYROBUSY                              #  SLEEP.
056939,000430: 
056940,000431: 07,3314           54156                           TS       MPAC       +2                         
056941,000432: 07,3315           34737                           CAF      BIT6                                  #  ENABLE THE POWER SUPPLY.
056942,000433: 07,3316           00006                           EXTEND                                         
056943,000434: 07,3317           05014                           WOR      CHAN14                                
056944,000435: 
056945,000436: 07,3320           34742                           CAF      FOUR                                  
056946,000437: 07,3321           05205        GWAKE2             TC       WAITLIST                              #  (IF A JOB WAS PUT TO SLEEP, THE POWER
056947,000438: 07,3322  E3,1474                                  EBANK=   CDUIND                                #  SUPPLY IS LEFT ON BY THE WAKING JOB).
056948,000439: 07,3322           03372 16103                     2CADR    STRTGYRO                              
056949,000440: 
056950,000441: 
056951,000442: 07,3324           30161                           CA       MPAC       +5                         #  SET UP EBANK, SAVING CALLER'S EBANK FOR
056952,000443: 07,3325           56003                           XCH      EBANK                                 #  RESTORATION ON RETURN.
056953,000444: 07,3326           56161                           XCH      MPAC       +5                         
056954,000445: 07,3327           55311                           TS       LGYRO                                 #  RESERVES GYROS.
056955,000446: 07,3330           74350                           MASK     LOW8                                  
056956,000447: 07,3331           54061                           TS       ITEMP1                                
056957,000448: 
056958,000449: 07,3332           34743                           CAF      TWO                                   #  FORCE SIGN AGREEMENT ON INPUTS.
056959,000450: 07,3333           54157        GYROAGRE           TS       MPAC       +3                         
056960,000451: 07,3334           60000                           DOUBLE                                         
056961,000452: 07,3335           60061                           AD       ITEMP1                                
056962,000453: 07,3336           54160                           TS       MPAC       +4                         
056963,000454: 07,3337           00006                           EXTEND                                         
056964,000455: 07,3340           50000                           INDEX    A                                     
056965,000456: 07,3341           31401                           DCA      1400                                  
056966,000457: 07,3342           52155                           DXCH     MPAC                                  
056967,000458: 07,3343           07300                           TC       TPAGREE                               
056968,000459: 07,3344           52155                           DXCH     MPAC                                  
056969,000460: 07,3345           50160                           INDEX    MPAC       +4                         
056970,000461: 07,3346           53401                           DXCH     1400                                  
056971,000462: 
056972,000463: 07,3347           10157                           CCS      MPAC       +3                         
056973,000464: 07,3350           13333                           TCF      GYROAGRE                              
056974,000465: 
056975,000466: 07,3351           30161                           CA       MPAC       +5                         #  RESTORE CALLER'S EBANK.
056976,000467: 07,3352           54003                           TS       EBANK                                 
056977,000468: 07,3353           12742                           TCF      MODEEXIT                              
056978,000469: 

Page 1317

056980,000471:                                                                                                  #           ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
056981,000472: 
056982,000473: 07,3354           00006        GYROBUSY           EXTEND                                         #  SAVE RETURN 2FCADR.
056983,000474: 07,3355           30134                           DCA      BUF2                                  
056984,000475: 07,3356           52155                           DXCH     MPAC                                  
056985,000476: 07,3357           33371        REGSLEEP           CAF      LGWAKE                                
056986,000477: 07,3360           15124                           TCF      JOBSLEEP                              
056987,000478: 
056988,000479: 07,3361           11311        GWAKE              CCS      LGYRO                                 #  WHEN AWAKENED, SEE IF GYROS STILL BUSY.
056989,000480: 07,3362           13357                           TCF      REGSLEEP                              #  IF SO, SLEEP SOME MORE.
056990,000481: 
056991,000482: 07,3363           54156                           TS       MPAC       +2                         
056992,000483: 07,3364           00006                           EXTEND                                         
056993,000484: 07,3365           30155                           DCA      MPAC                                  
056994,000485: 07,3366           52134                           DXCH     BUF2                                  #  RESTORE SWRETURN INFO.
056995,000486: 07,3367           34744                           CAF      ONE                                   
056996,000487: 07,3370           13321                           TCF      GWAKE2                                
056997,000488: 
056998,000489: 07,3371           17361        LGWAKE             CADR     GWAKE                                 
056999,000490: 

Page 1318

057001,000492:                                                                                                  #           GYRO-TORQUING WAITLIST TASKS.
057002,000493: 
057003,000494: 07,3372           43630        STRTGYRO           CS       GDESELCT                              #  DE-SELECT LAST GYRO.
057004,000495: 07,3373           00006                           EXTEND                                         
057005,000496: 07,3374           03014                           WAND     CHAN14                                
057006,000497: 
057007,000498: 07,3375           03646                           TC       CAGETSTG                              
057008,000499: 
057009,000500: 07,3376           31311        STRTGYR2           CA       LGYRO                                 #  JUMP ON PHASE COUNTER IN BITS 13-14.
057010,000501: 07,3377           00006                           EXTEND                                         
057011,000502: 07,3400           74741                           MP       BIT4                                  
057012,000503: 07,3401           50000                           INDEX    A                                     
057013,000504: 07,3402           13403                           TCF      +1                                    
057014,000505: 07,3403           03420                           TC       GSELECT                               #  =0. DO Y GYRO.
057015,000506: 07,3404           00202                           OCT      00202                                 
057016,000507: 
057017,000508: 07,3405           03420                           TC       GSELECT                               #  =1. DO Z GYRO.
057018,000509: 07,3406           00302                           OCT      00302                                 
057019,000510: 
057020,000511: 07,3407           03416                           TC       GSELECT    -2                         #  =2. DO X GYRO.
057021,000512: 07,3410           00100                           OCT      00100                                 
057022,000513: 
057023,000514: 07,3411           34746                           CAF      ZERO                                  #  =3. DONE
057024,000515: 07,3412           55311                           TS       LGYRO                                 
057025,000516: 07,3413           33371                           CAF      LGWAKE                                #  WAKE A POSSIBLE SLEEPING JOB.
057026,000517: 07,3414           05130                           TC       JOBWAKE                               
057027,000518: 
057028,000519: 07,3415           13217        NORESET            TCF      IMUFINED                              #  DO NOT RESET POWER SUPPLY
057029,000520: 

Page 1319

057031,000522: 07,3416           44742                 -2        CS       FOUR                                  #  SPECIAL ENTRY TO REGRESS LGYRO FOR X.
057032,000523: 07,3417           27311                           ADS      LGYRO                                 
057033,000524: 
057034,000525: 07,3420           50002        GSELECT            INDEX    Q                                     #  SELECT GYRO.
057035,000526: 07,3421           30000                           CAF      0                                     #  PACKED WORD CONTAINS GYRO SELECT BITS
057036,000527: 07,3422           54064                           TS       ITEMP4                                #  AND INCREMENT TO LGYRO.
057037,000528: 07,3423           74750                           MASK     SEVEN                                 
057038,000529: 07,3424           64730                           AD       BIT13                                 
057039,000530: 07,3425           27311                           ADS      LGYRO                                 
057040,000531: 07,3426           54003                           TS       EBANK                                 
057041,000532: 07,3427           74350                           MASK     LOW8                                  
057042,000533: 07,3430           54061                           TS       ITEMP1                                
057043,000534: 
057044,000535: 07,3431           44750                           CS       SEVEN                                 
057045,000536: 07,3432           70064                           MASK     ITEMP4                                
057046,000537: 07,3433           54064                           TS       ITEMP4                                
057047,000538: 
057048,000539: 07,3434           00006                           EXTEND                                         #  MOVE DP COMMAND TO RUPTREGS FOR TESTING.
057049,000540: 07,3435           50061                           INDEX    ITEMP1                                
057050,000541: 07,3436           31401                           DCA      1400                                  
057051,000542: 07,3437           52071                           DXCH     RUPTREG1                              
057052,000543: 
057053,000544: 07,3440           10070                           CCS      RUPTREG1                              
057054,000545: 07,3441           13454                           TCF      MAJ+                                  
057055,000546: 07,3442           13444                           TCF      +2                                    
057056,000547: 07,3443           13611                           TCF      MAJ-                                  
057057,000548: 
057058,000549: 07,3444           10071                           CCS      RUPTREG2                              
057059,000550: 07,3445           13451                           TCF      MIN+                                  
057060,000551: 07,3446           13376                           TCF      STRTGYR2                              
057061,000552: 07,3447           13606                           TCF      MIN-                                  
057062,000553: 07,3450           13376                           TCF      STRTGYR2                              
057063,000554: 

Page 1320

057065,000556: 07,3451           63505        MIN+               AD       -GYROMIN                              #  SMALL POSITIVE COMMAND. SEE IF AT LEAST
057066,000557: 07,3452           00006                           EXTEND                                         #  16 GYRO PULSES.
057067,000558: 07,3453           63376                           BZMF     STRTGYR2                              
057068,000559: 
057069,000560: 07,3454           00006        MAJ+               EXTEND                                         #  DEFINITE POSITIVE OUTPUT.
057070,000561: 07,3455           33632                           DCA      GYROFRAC                              
057071,000562: 07,3456           20071                           DAS      RUPTREG1                              
057072,000563: 
057073,000564: 07,3457           30064                           CA       ITEMP4                                #  SELECT POSITIVE TORQUING FOR THIS GYRO.
057074,000565: 07,3460           00006                           EXTEND                                         
057075,000566: 07,3461           05014                           WOR      CHAN14                                
057076,000567: 
057077,000568: 07,3462           36115                           CAF      LOW7                                  #  LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS
057078,000569: 07,3463           70071                           MASK     RUPTREG2                              #  TO INITIAL COMMAND IN MAJOR PART OF LONG
057079,000570: 07,3464           56071                           XCH      RUPTREG2                              #  TERM STORAGE AND TRUNCATED FRACTION
057080,000571: 07,3465           00006        GMERGE             EXTEND                                         #  IN MINOR PART. THE MAJOR PART WILL BE
057081,000572: 07,3466           74735                           MP       BIT8                                  #  COUNTED DOWN TO ZERO IN THE COURSE OF
057082,000573: 07,3467           54062                           TS       ITEMP2                                #  PUTTING OUT THE ENTIRE COMMAND.
057083,000574: 07,3470           30070                           CA       RUPTREG1                              
057084,000575: 07,3471           00006                           EXTEND                                         
057085,000576: 07,3472           74734                           MP       BIT9                                  
057086,000577: 07,3473           54070                           TS       RUPTREG1                              
057087,000578: 07,3474           30001                           CA       L                                     
057088,000579: 07,3475           00006                           EXTEND                                         
057089,000580: 07,3476           74727                           MP       BIT14                                 
057090,000581: 07,3477           26062                           ADS      ITEMP2                                #  INITIAL COMMAND.
057091,000582: 
057092,000583: 07,3500           00006                           EXTEND                                         #  SEE IF MORE THAN ONE PULSE TRAIN NEEDED
057093,000584: 07,3501           30071                           DCA      RUPTREG1                              #  (MORE THAN 16383 PULSES).
057094,000585: 07,3502           67770                           AD       MINUS1                                
057095,000586: 07,3503           10000                           CCS      A                                     
057096,000587: 07,3504           13552                           TCF      LONGGYRO                              
057097,000588: 07,3505           77601        -GYROMIN           OCT      -176                                  #  MAY BE ADJUSTED TO SPECIFY MINIMUM CMD
057098,000589: 07,3506           13512                           TCF      +4                                    
057099,000590: 
057100,000591: 07,3507           34727                           CAF      BIT14                                 
057101,000592: 07,3510           26062                           ADS      ITEMP2                                
057102,000593: 07,3511           34746                           CAF      ZERO                                  
057103,000594: 
057104,000595: 07,3512           50061                 +4        INDEX    ITEMP1                                
057105,000596: 07,3513           53401                           DXCH     1400                                  

Page 1321

057107,000598: 07,3514           30062                           CA       ITEMP2                                #  ENTIRE COMMAND.
057108,000599: 07,3515           54047        LASTSEG            TS       GYROCMD                               
057109,000600: 07,3516           03641                           TC       COARSTST                              
057110,000601: 
057111,000602: 07,3517           30047                           CA       GYROCMD                               
057112,000603: 07,3520           00006                           EXTEND                                         
057113,000604: 07,3521           74733                           MP       BIT10                                 #  WAITLIST DT
057114,000605: 07,3522           66266                           AD       THREE                                 #  TRUNCATION AND PHASE UNCERTAINTIES.
057115,000606: 07,3523           05205                           TC       WAITLIST                              
057116,000607: 07,3524  E3,1474                                  EBANK=   CDUIND                                
057117,000608: 07,3524           03536 16103                     2CADR    TWOPULSE                              
057118,000609: 
057119,000610: 07,3526           03532        EXITGYRO           TC       GYROEXIT                              
057120,000611: 07,3527           15263                           TCF      TASKOVER                              
057121,000612: 07,3530           34743        OUTPULSE           CA       BIT2                                  
057122,000613: 07,3531           54047                           TS       GYROCMD                               
057123,000614: 07,3532           34733        GYROEXIT           CAF      BIT10                                 
057124,000615: 07,3533           00006                           EXTEND                                         
057125,000616: 07,3534           05014                           WOR      CHAN14                                
057126,000617: 07,3535           00002                           TC       Q                                     
057127,000618: 07,3536           44734        TWOPULSE           CS       BIT9                                  
057128,000619: 07,3537           00006                           EXTEND                                         
057129,000620: 07,3540           03014                           WAND     CHAN14                                
057130,000621: 07,3541           03530                           TC       OUTPULSE                              
057131,000622: 07,3542           34744                           CA       BIT1                                  
057132,000623: 07,3543           05175                           TC       TWIDDLE                               
057133,000624: 07,3544           03372                           ADRES    STRTGYRO                              
057134,000625: 07,3545           34734                           CA       BIT9                                  
057135,000626: 07,3546           00006                           EXTEND                                         
057136,000627: 07,3547           05014                           WOR      CHAN14                                
057137,000628: 07,3550           03530                           TC       OUTPULSE                              
057138,000629: 07,3551           15263                           TCF      TASKOVER                              
057139,000630: 07,3552           50061        LONGGYRO           INDEX    ITEMP1                                
057140,000631: 07,3553           53401                           DXCH     1400                                  
057141,000632: 07,3554           34727                           CAF      BIT14                                 #  8192. INITIAL COMMAND IS AT LEAST 8192.
057142,000633: 07,3555           60062                           AD       ITEMP2                                
057143,000634: 07,3556           54047                           TS       GYROCMD                               
057144,000635: 
057145,000636: 07,3557           00006        AUG3               EXTEND                                         #  GET WAITLIST DT TO TIME WHEN TRAIN IS
057146,000637: 07,3560           74733                           MP       BIT10                                 #  ALMOST OUT.
057147,000638: 07,3561           67766                           AD       NEG3                                  
057148,000639: 07,3562           05205                           TC       WAITLIST                              
057149,000640: 07,3563  E3,1474                                  EBANK=   CDUIND                                
057150,000641: 07,3563           03566 16103                     2CADR    8192AUG                               
057151,000642: 
057152,000643: 07,3565           13526                           TCF      EXITGYRO                              
057153,000644: 07,3566           03641        8192AUG            TC       COARSTST                              
057154,000645: 
057155,000646: 07,3567           31311                           CA       LGYRO                                 #  ADD 8192 PULSES TO GYROCMD
057156,000647: 07,3570           54003                           TS       EBANK                                 

Page 1322

057158,000649: 07,3571           74350                           MASK     LOW8                                  
057159,000650: 07,3572           54061                           TS       ITEMP1                                
057160,000651: 
057161,000652: 07,3573           50061                           INDEX    ITEMP1                                #  SEE IF THIS IS THE LAST AUG.
057162,000653: 07,3574           11400                           CCS      1400                                  
057163,000654: 07,3575           13601                           TCF      AUG2                                  #  MORE TO COME.
057164,000655: 
057165,000656: 07,3576           34727                           CAF      BIT14                                 
057166,000657: 07,3577           26047                           ADS      GYROCMD                               
057167,000658: 07,3600           13516                           TCF      LASTSEG    +1                         
057168,000659: 
057169,000660: 07,3601           50061        AUG2               INDEX    ITEMP1                                
057170,000661: 07,3602           55400                           TS       1400                                  
057171,000662: 07,3603           34727                           CAF      BIT14                                 
057172,000663: 07,3604           26047                           ADS      GYROCMD                               
057173,000664: 07,3605           13557                           TCF      AUG3                                  #  COMPUTE DT.
057174,000665: 

Page 1323

057176,000667: 07,3606           63505        MIN-               AD       -GYROMIN                              #  POSSIBLE NEGATIVE OUTPUT.
057177,000668: 07,3607           00006                           EXTEND                                         
057178,000669: 07,3610           63376                           BZMF     STRTGYR2                              
057179,000670: 
057180,000671: 07,3611           00006        MAJ-               EXTEND                                         #  DEFINITE NEGATIVE OUTPUT.
057181,000672: 07,3612           43632                           DCS      GYROFRAC                              
057182,000673: 07,3613           20071                           DAS      RUPTREG1                              
057183,000674: 
057184,000675: 07,3614           30064                           CA       ITEMP4                                #  SELECT NEGATIVE TORQUING FOR THIS GYRO.
057185,000676: 07,3615           64734                           AD       BIT9                                  
057186,000677: 07,3616           00006                           EXTEND                                         
057187,000678: 07,3617           05014                           WOR      CHAN14                                
057188,000679: 
057189,000680: 07,3620           40070                           CS       RUPTREG1                              #  SET UP RUPTREGS TO FALL INTO GMERGE.
057190,000681: 07,3621           54070                           TS       RUPTREG1                              #  ALL NUMBERS PUT INTO GYROCMD ARE
057191,000682: 07,3622           40071                           CS       RUPTREG2                              #  POSITIVE - BIT9 OF CHAN 14 DETERMINES
057192,000683: 07,3623           76115                           MASK     LOW7                                  #  THE SIGN OF THE COMMAND.
057193,000684: 07,3624           40000                           COM                                            
057194,000685: 07,3625           56071                           XCH      RUPTREG2                              
057195,000686: 07,3626           40000                           COM                                            
057196,000687: 07,3627           13465                           TCF      GMERGE                                
057197,000688: 
057198,000689: 07,3630           01700        GDESELCT           OCT      1700                                  #  TURN OFF SELECT AND ACTIVITY BITS.
057199,000690: 
057200,000691: 07,3631           00000 00034  GYROFRAC           2DEC     .215       B-21                       
057201,000692: 

Page 1324

057203,000694:                                                                                                  #           IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
057204,000695: 
057205,000696: 07,3633           00006        ENDIMU             EXTEND                                         #  MODE IS BAD IF CAGE HAS OCCURED OR IF
057206,000697: 07,3634           00011                           READ     DSALMOUT                              #  ISS WARNING IS ON.
057207,000698: 07,3635           74744                           MASK     BIT1                                  
057208,000699: 07,3636           10000                           CCS      A                                     
057209,000700: 07,3637           13656                           TCF      IMUBAD                                
057210,000701: 
057211,000702: 07,3640           13704        IMUGOOD            TCF      GOODEND                               #  WITH C(A) = 0.
057212,000703: 
057213,000704: 07,3641           34741        COARSTST           CAF      BIT4                                  
057214,000705: 07,3642           00006                           EXTEND                                         
057215,000706: 07,3643           02012                           RAND     CHAN12                                
057216,000707: 07,3644           10000                           CCS      A                                     
057217,000708: 07,3645           13652                           TCF      DONTPULS                              
057218,000709: 
057219,000710: 07,3646           41277        CAGETSTG           CS       IMODES30                              
057220,000711: 07,3647           74737                           MASK     BIT6                                  
057221,000712: 07,3650           10000                           CCS      A                                     
057222,000713: 07,3651           00002                           TC       Q                                     
057223,000714: 
057224,000715: 07,3652           34746        DONTPULS           CAF      ZERO                                  
057225,000716: 07,3653           55311                           TS       LGYRO                                 
057226,000717: 
057227,000718: 07,3654           33371                           CAF      LGWAKE                                
057228,000719: 07,3655           05130                           TC       JOBWAKE                               
057229,000720: 
057230,000721: 07,3656           34746        IMUBAD             CAF      ZERO                                  
057231,000722: 07,3657           13701                           TCF      BADEND                                
057232,000723: 
057233,000724: 07,3660           34737        CAGETEST           CAF      BIT6                                  #  SUBROUTINE TO TERMINATE IMU MODE
057234,000725: 07,3661           71277                           MASK     IMODES30                              #  SWITCH IF IMU HAS BEEN CAGED.
057235,000726: 07,3662           10000                           CCS      A                                     
057236,000727: 07,3663           13656                           TCF      IMUBAD                                #  DIRECTLY.
057237,000728: 07,3664           00002                           TC       Q                                     #  WITH C(A) = +0.
057238,000729: 
057239,000730: 07,3665           41277        CAGETSTQ           CS       IMODES30                              #  SKIP IF IMU NOT BEING CAGED.
057240,000731: 07,3666           74737                           MASK     BIT6                                  
057241,000732: 07,3667           10000                           CCS      A                                     
057242,000733: 07,3670           24002                           INCR     Q                                     
057243,000734: 07,3671           00002                           TC       Q                                     
057244,000735: 
057245,000736: 07,3672           41277        CAGETSTJ           CS       IMODES30                              #  IF DURING MODE SWITCH INITIALIZATION
057246,000737: 07,3673           74737                           MASK     BIT6                                  #  IT IS FOUND THAT THE IMU IS BEING CAGED,
057247,000738: 07,3674           10000                           CCS      A                                     #  SET IMUCADR TO -0 TO INDICATE OPERATION
057248,000739: 07,3675           00002                           TC       Q                                     #  COMPLETE BUT FAILED. RETURN IMMEDIATELY
057249,000740: 
057250,000741: 07,3676           44746                           CS       ZERO                                  #  TO SWRETURN.
057251,000742: 07,3677           55301                           TS       IMUCADR                               
057252,000743: 07,3700           12742                           TCF      MODEEXIT                              
057253,000744: 

Page 1325

057255,000746:                                                                                                  #           GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION
057256,000747:                                                                                                  #  OR AT BADEND FOR A N UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
057257,000748: 
057258,000749: 07,3701           54071        BADEND             TS       RUPTREG2                              #  DEVICE INDEX.
057259,000750: 07,3702           44746                           CS       ZERO                                  #  FOR FAILURE.
057260,000751: 07,3703           13706                           TCF      GOODEND    +2                         
057261,000752: 
057262,000753: 07,3704           54071        GOODEND            TS       RUPTREG2                              
057263,000754: 07,3705           44744                           CS       ONE                                   #  FOR SUCCESS.
057264,000755: 
057265,000756: 07,3706           54072                           TS       RUPTREG3                              
057266,000757: 07,3707           50071                           INDEX    RUPTREG2                              #  SEE IF USING PROGRAM ASLEEP.
057267,000758: 07,3710           11301                           CCS      MODECADR                              
057268,000759: 07,3711           13715                           TCF      +4                                    #  YES - WAKE IT UP.
057269,000760: 07,3712           13725                           TCF      ENDMODE                               #  IF 0, PROGRAM NOT IN YET.
057270,000761: 
057271,000762: 07,3713           00006                           EXTEND                                         
057272,000763: 07,3714           13726                           BZF      ENDMODE    +1                         #  BZF = TCF IF MODECADR = -0.
057273,000764: 
057274,000765: 07,3715           34746                           CAF      ZERO                                  #  WAKE SLEEPING PROGRAM.
057275,000766: 07,3716           50071                           INDEX    RUPTREG2                              
057276,000767: 07,3717           57301                           XCH      MODECADR                              
057277,000768: 07,3720           05130                           TC       JOBWAKE                               
057278,000769: 
057279,000770: 07,3721           40072                           CS       RUPTREG3                              #  ADVANCE LOC IF SUCCESSFUL.
057280,000771: 07,3722           50064                           INDEX    LOCCTR                                
057281,000772: 07,3723           26164                           ADS      LOC                                   
057282,000773: 
057283,000774: 07,3724           15263                           TCF      TASKOVER                              
057284,000775: 
057285,000776: 07,3725           30072        ENDMODE            CA       RUPTREG3                              #  -0 INDICATES OPERATION COMPLETE BUT
057286,000777: 07,3726           50071                 +1        INDEX    RUPTREG2                              #  UNSUCCESSFUL: -1 INDICATES COMPLETE AND
057287,000778: 07,3727           55301                           TS       MODECADR                              #  SUCCESSFUL.
057288,000779: 07,3730           15263                           TCF      TASKOVER                              
057289,000780: 

Page 1326

057291,000782:                                                                                                  #           GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
057292,000783: 
057293,000784:                                                                                                  #  PROGRAM DESCRIPTION                                    DATE- 21 FEB 1967
057294,000785:                                                                                                  #                                            LOG SECTION IMU MODE SWITCHING
057295,000786:                                                                                                  #  MOD BY- R.MELANSON TO ADD DOCUMENTATION       ASSEMBLY SUNDISK  REV.  82
057296,000787: 
057297,000788:                                                                                                  #  FUNCTIONAL DESCRIPTION-
057298,000789:                                                                                                  #    TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED
057299,000790:                                                                                                  #    I/O FUNCTION IS COMPLETE.THE FOLLOWING CHECKS ON THE CALLING ROUTINE:S
057300,000791:                                                                                                  #    MODECADR ARE MADE AND ACTED UPON.
057301,000792:                                                                                                  #      1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO
057302,000793:                                                                                                  #         SLEEP.
057303,000794:                                                                                                  #      2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP
057304,000795:                                                                                                  #         CALL AND RETURNS TO CALLING ROUTINE AT L+3
057305,000796:                                                                                                  #      3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR
057306,000797:                                                                                                  #         AND RETURNS TO CALLING ROUTINE AT L+2.
057307,000798:                                                                                                  #      4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF
057308,000799:                                                                                                  #         SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM
057309,000800:                                                                                                  #         RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
057310,000801: 
057311,000802:                                                                                                  #   CALLING SEQUENCE-
057312,000803:                                                                                                  #    L   TC   BANKCALL
057313,000804:                                                                                                  #    L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL,OPTSTALL,RADSTALL,
057314,000805:                                                                                                  #              AOTSTALL,OR ATTSTALL)
057315,000806: 
057316,000807:                                                                                                  #   NORMAL-EXIT MODE-
057317,000808:                                                                                                  #    TCF   JOBSLEEP OR TCF  MODEXIT
057318,000809: 
057319,000810:                                                                                                  #  ALARM OR ABORT EXIT MODE-
057320,000811:                                                                                                  #    TC   ABORT
057321,000812: 
057322,000813:                                                                                                  #  OUTPUT-
057323,000814:                                                                                                  #     MODECADR= CADR IF JOBSLEEP
057324,000815:                                                                                                  #     MODECADR=+0    IF I/O COMPLETE
057325,000816:                                                                                                  #     BUF2=L+3       IF I/O COMPLETE AND GOOD.
057326,000817:                                                                                                  #     BUF2=L+2 IF I/O COMPLETE BUT FAILED.
057327,000818: 
057328,000819:                                                                                                  #  ERASABLE INITIALIZATION-
057329,000820:                                                                                                  #    BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2)
057330,000821:                                                                                                  #    BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE.
057331,000822:                                                                                                  #    MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR  CADR RETURN ADDRESS.
057332,000823: 
057333,000824:                                                                                                  #  DEBRIS-
057334,000825:                                                                                                  #    RUPTREG2 AND CALLING ROUTINE MODECADR.
057335,000826: 
057336,000827: 07,3731           34744        AOTSTALL           CAF      ONE                                   #  AOT.
057337,000828: 07,3732           03736                           TC       STALL                                 
057338,000829: 
057339,000830: 07,3733           34743        RADSTALL           CAF      TWO                                   
057340,000831: 07,3734           13736                           TCF      STALL                                 
057341,000832: 

Page 1327

057343,000834: 07,3735  07,3731               OPTSTALL           EQUALS   AOTSTALL                              
057344,000835: 
057345,000836: 07,3735           34746        IMUSTALL           CAF      ZERO                                  #  IMU.
057346,000837: 
057347,000838: 07,3736           00004        STALL              INHINT                                         
057348,000839: 07,3737           54071                           TS       RUPTREG2                              #  SAVE DEVICE INDEX.
057349,000840: 07,3740           50000                           INDEX    A                                     #  SEE IF OPERATION COMPLETE.
057350,000841: 07,3741           11301                           CCS      MODECADR                              
057351,000842: 07,3742           13760                           TCF      MODABORT                              #  ALLOWABLE STATES ARE +0, -1, AND -0.
057352,000843: 07,3743           13754                           TCF      MODESLP                               #  OPERATION INCOMPLETE.
057353,000844: 07,3744           13750                           TCF      MODEGOOD                              #  COMPLETE AND GOOD IF = -1.
057354,000845: 
057355,000846: 07,3745           50071        MG2                INDEX    RUPTREG2                              #  COMPLETE AND FAILED IF -0. RESET TO +0.
057356,000847: 07,3746           55301                           TS       MODECADR                              #  RETURN TO CALLER.
057357,000848: 07,3747           12742                           TCF      MODEEXIT                              
057358,000849: 
057359,000850: 07,3750           10000        MODEGOOD           CCS      A                                     #  MAKE SURE INITIAL STATE -1.
057360,000851: 07,3751           13760                           TCF      MODABORT                              
057361,000852: 
057362,000853: 07,3752           24133                           INCR     BUF2                                  #  IF SO, INCREMENT RETURN ADDRESS AND
057363,000854: 07,3753           13745                           TCF      MG2                                   #  RETURN IMMEDIATELY, SETTING CADR = +0.
057364,000855: 
057365,000856: 07,3754           04636        MODESLP            TC       MAKECADR                              #  CALL FROM SWITCHABLE FIXED ONLY.
057366,000857: 07,3755           50071                           INDEX    RUPTREG2                              
057367,000858: 07,3756           55301                           TS       MODECADR                              
057368,000859: 07,3757           15124                           TCF      JOBSLEEP                              
057369,000860: 
057370,000861: 07,3760           52134        MODABORT           DXCH     BUF2                                  
057371,000862: 07,3761           05712                           TC       BAILOUT1                              #  TWO PROGRAMS USING THE SAME DEVICE.
057372,000863: 07,3762           31210                           OCT      31210                                 
057373,000864: 

Page 1328

057375,000866:                                                                                                  #           CONSTANTS FOR MODE SWITCHING ROUTINES
057376,000867: 
057377,000868: 07,3763     5745               BITS3&4            =        OCT14                                 
057378,000869: 07,3763     4762               BITS4&6            =        OCT50                                 
057379,000870: 07,3763           00030        BITS4-5            OCT      00030                                 
057380,000871: 07,3764     4735               IMUSEFLG           EQUALS   BIT8                                  #  INTERPRETER SWITCH 7.
057381,000872: 07,3764           77500        -COMMAX            DEC      -191       B-14                       
057382,000873: 07,3765           77477        -COMMAX-           DEC      -192       B-14                       
057383,000874: 07,3766           00074        600MS              DEC      60         B-14                       
057384,000875: 07,3767  07,3175               IMUFIN20           =        IMUFINE                               
057385,000876: 21,2000                                           SETLOC   MANUR                                 
057386,000877: 21,2000                                           BANK                                           
057387,000878: 
057388,000879: 21,2764           31304        GOMANUR            CA       ATTCADR                               #  IS KALCMANU FREE
057389,000880: 21,2765           00006                           EXTEND                                         
057390,000881: 21,2766           12771                           BZF      OKMANUR                               
057391,000882: 21,2767           04626                           TC       POSTJUMP                              
057392,000883: 21,2770           17760                           CADR     MODABORT                              
057393,000884: 21,2771           00006        OKMANUR            EXTEND                                         
057394,000885: 21,2772           30134                           DCA      BUF2                                  
057395,000886: 21,2773           53305                           DXCH     ATTCADR                               #  SAVE FINAL RETURN FOR KALCMAN3
057396,000887: 
057397,000888: 21,2774           30006                           CA       BBANK                                 
057398,000889: 21,2775           74750                           MASK     SEVEN                                 
057399,000890: 21,2776           27305                           ADS      ATTCADR    +1                         
057400,000891: 
057401,000892: 21,2777           30167                           CA       PRIORITY                              
057402,000893: 21,3000           77746                           MASK     PRIO37                                
057403,000894: 21,3001           55306                           TS       ATTPRIO                               #  SAVE USERS PRIO
057404,000895: 
057405,000896: 21,3002           33006                           CAF      KALEBCON                              #  SET EBANK FOR KALCMAN3
057406,000897: 21,3003           54003                           TS       EBANK                                 
057407,000898: 21,3004           04626                           TC       POSTJUMP                              
057408,000899: 21,3005           44004                           CADR     KALCMAN3                              
057409,000900: 21,3006           03275        KALEBCON           ECADR    BCDU                                  
057410,000901: 

Page 1329

057412,000903:                                                                                                  #  PROGRAM DESCRIPTION
057413,000904:                                                                                                  #  IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY)
057414,000905:                                                                                                  #  MOD NO - 1
057415,000906:                                                                                                  #  MOD BY - N.BRODEUR
057416,000907:                                                                                                  #  FUNCTIONAL DESCRIPTION
057417,000908: 
057418,000909:                                                                                                  #  TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN
057419,000910:                                                                                                  #  ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE
057420,000911:                                                                                                  #  PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE
057421,000912:                                                                                                  #  CMC. CALLED THROUGH BANKCALL
057422,000913:                                                                                                  #  CALLING SEQUENCE-
057423,000914: 
057424,000915:                                                                                                  #  L        TC     BANKCALL
057425,000916:                                                                                                  #  L+1      CADR   R02BOTH
057426,000917:                                                                                                  #  SUBROUTINES CALLED
057427,000918: 
057428,000919:                                                                                                  #        VARALARM
057429,000920:                                                                                                  #        FLAGUP
057430,000921:                                                                                                  #  NORMAL EXIT MODES
057431,000922: 
057432,000923:                                                                                                  #  AT L+2 OF CALLING SEQUENCE
057433,000924:                                                                                                  #  ALARM OR ABORT EXIT MODES
057434,000925:                                                                                                  #        GOTOPOOH, WITH ALARM
057435,000926:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
057436,000927: 
057437,000928:                                                                                                  #  NONE
057438,000929:                                                                                                  #  DEBRIS
057439,000930: 
057440,000931:                                                                                                  #  CENTRALS-A,Q,L
057441,000932: 04,2000                                           SETLOC   R02                                   
057442,000933: 04,2000                                           BANK                                           
057443,000934: 04,3256                                           COUNT*   $$/R02                                
057444,000935: 04,3256           00063        DEC51              DEC      51         B-14                       
057445,000936: 
057446,000937: 
057447,000938: 15,2000                                           SETLOC   R02BNK15                              
057448,000939: 15,2000                                           BANK                                           
057449,000940: 
057450,000941: 15,3757           34730        R02BOTH            CAF      REFSMBIT                              
057451,000942: 15,3760           70077                           MASK     FLAGWRD3                              
057452,000943: 15,3761           10000                           CCS      A                                     
057453,000944: 15,3762           03773                           TC       R02ZERO                               #  ZERO IMUS
057454,000945: 
057455,000946: 15,3763           31277                           CA       IMODES30                              
057456,000947: 15,3764           74734                           MASK     BIT9                                  #  IS ISS INITIALIZED
057457,000948: 15,3765           00006                           EXTEND                                         
057458,000949: 15,3766           13770                           BZF      +2                                    
057459,000950: 15,3767           44741                           CS       BIT4                                  #  SEND IMU ALARM CODE 210
057460,000951: 15,3770           63776                           AD       OCT220                                #  SEND REFSMM ALARM
057461,000952: 15,3771           05740                           TC       VARALARM                              
057462,000953: 

Page 1330

057464,000955: 15,3772           06001                           TC       GOTOPOOH                              
057465,000956: 
057466,000957: 15,3773           05506        R02ZERO            TC       UPFLAG                                
057467,000958: 15,3774           00007                           ADRES    IMUSE                                 
057468,000959: 15,3775           14622                           TCF      SWRETURN                              
057469,000960: 15,3776           00220        OCT220             OCT      220                                   
057470,000961: 

Page 1331

057472,000963:                                                                                                  #  PROGRAM DESCRIPTION   P06   10FEB67
057473,000964: 
057474,000965:                                                                                                  #  TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
057475,000966: 
057476,000967:                                                                                                  #  THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU
057477,000968:                                                                                                  #  HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF. THE
057478,000969:                                                                                                  #  CMC  STANDBY ON THE MAIN AND LEB DISKYS IS ON.
057479,000970: 
057480,000971:                                                                                                  #  CALLING SEQUENCE:
057481,000972:                                                                                                  #           ASTRONAUT REQUEST THROUGH DSKY     V37E 06E.
057482,000973: 
057483,000974:                                                                                                  #  SUBROUTINES CALLED:
057484,000975:                                                                                                  #           GOPERF1
057485,000976:                                                                                                  #           BANKCALL
057486,000977:                                                                                                  #           FLAGDOWN
057487,000978: 

Page 1332

057489,000980:                                                                                                  #  PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2
057490,000981:                                                                                                  #  THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY
057491,000982:                                                                                                  #  BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
057492,000983: 
057493,000984: 37,2000                                           SETLOC   P05P06                                
057494,000985: 37,2000                                           BANK                                           
057495,000986: 
057496,000987: 37,3654     0314                                  EBANK=   TIME2SAV                              
057497,000988: 37,3654                                           COUNT*   $$/P06                                
057498,000989: 
057499,000990: 37,3654           05506        P06                TC       UPFLAG                                #  SET NODOV37 BIT
057500,000991: 37,3655           00054                           ADRES    NODOFLAG                              
057501,000992: 
057502,000993: 37,3656           00004        PRESTAND           INHINT                                         
057503,000994: 37,3657           00006                           EXTEND                                         
057504,000995: 37,3660           30025                           DCA      TIME2                                 #  SNAPSHOT TIME1TIME2
057505,000996: 37,3661           52315                           DXCH     TIME2SAV                              
057506,000997: 37,3662           03713                           TC       SCALPREP                              
057507,000998: 37,3663           03656                           TC       PRESTAND                              #  T1,T2,SCALER NOT COMPATIBLE
057508,000999: 37,3664           52155                           DXCH     MPAC                                  #  T1,T2 AND SCALER OK
057509,001000: 37,3665           52317                           DXCH     SCALSAVE                              #  STORE SCALER
057510,001001: 37,3666           00004                           INHINT                                         
057511,001002: 37,3667           04607                           TC       BANKCALL                              
057512,001003: 37,3670           17162                           CADR     RNDREFDR                              #  REFSMM, DRIFT, TRACK FLAGS DOWN
057513,001004: 
057514,001005: 37,3671           05520                           TC       DOWNFLAG                              
057515,001006: 37,3672           00007                           ADRES    IMUSE                                 #  IMUSE DOWN
057516,001007: 37,3673           05520                           TC       DOWNFLAG                              
057517,001008: 37,3674           00010                           ADRES    RNDVZFLG                              #  RNDVZFLG DOWN
057518,001009: 
057519,001010: 37,3675           34732                           CAF      BIT11                                 
057520,001011: 37,3676           00006                           EXTEND                                         
057521,001012: 37,3677           05013                           WOR      CHAN13                                #  SET STANDBY ENABLE BIT
057522,001013: 
057523,001014: 37,3700           05355                           TC       PHASCHNG                              #  SET RESTART TO POSTAND WHEN STANDBY
057524,001015: 37,3701           07024                           OCT      07024                                 #    RECOVERS
057525,001016: 37,3702           20000                           OCT      20000                                 
057526,001017: 37,3703     0316                                  EBANK=   SCALSAVE                              
057527,001018: 37,3703           03733 76060                     2CADR    POSTAND                               
057528,001019: 
057529,001020: 37,3705           34765                           CAF      OCT62                                 
057530,001021: 37,3706           04607                           TC       BANKCALL                              
057531,001022: 37,3707           20635                           CADR     GOPERF1                               
057532,001023: 37,3710           13705                           TCF      -3                                    
057533,001024: 37,3711           13705                           TCF      -4                                    
057534,001025: 37,3712           13705                           TCF      -5                                    
057535,001026: 
057536,001027: 37,3713     4765               OCT62              EQUALS   .5SEC                                 #  DEC 50 = OCT 62
057537,001028: 
057538,001029:                                                                                                  #  THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A

Page 1333

057540,001031:                                                                                                  #  T1 INCREMENT. IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER
057541,001032:                                                                                                  #  DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE
057542,001033:                                                                                                  #  DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES
057543,001034:                                                                                                  #  THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE
057544,001035:                                                                                                  #  10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM
057545,001036:                                                                                                  #  T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF
057546,001037:                                                                                                  #  ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1. THE LOW 5
057547,001038:                                                                                                  #  BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER
057548,001039:                                                                                                  #  DATA TO 10 MS. RESULTS ARE STORED IN MPAC, +1.
057549,001040: 
057550,001041: 37,3713           00006        SCALPREP           EXTEND                                         
057551,001042: 37,3714           22156                           QXCH     MPAC       +2                         
057552,001043: 37,3715           04103                           TC       FINETIME   +1                         
057553,001044: 37,3716           00003                           RELINT                                         
057554,001045: 37,3717           52155                           DXCH     MPAC                                  
057555,001046: 37,3720           34740                           CA       BIT5                                  #  ADD 5 MS TO THE SCALER READING.
057556,001047: 37,3721           54001                           TS       L                                     
057557,001048: 37,3722           34746                           CA       ZERO                                  
057558,001049: 37,3723           20155                           DAS      MPAC                                  
057559,001050: 37,3724           44337                           CS       LOW5                                  #  SET LOW 5 BITS OF (SCALER+5MS) TO ZERO
057560,001051: 37,3725           70155                           MASK     MPAC       +1                         #  AND STORE RESULTS IN MPAC,+1.
057561,001052: 37,3726           56155                           XCH      MPAC       +1                         
057562,001053: 37,3727           74337                           MASK     LOW5                                  #  TEST LOW 5 BITS OF SCALER FOR THE FIRST
057563,001054:                                                                                                  #  INTERVAL AFTER THE T1 INCREMENT
057564,001055:                                                                                                  #  (NOW = 00000, SINCE BIT 5 ADDED).
057565,001056: 37,3730           10000                           CCS      A                                     #  IS IT 1ST INTERVAL AFTER T1 INCREMENT
057566,001057: 37,3731           24156                           INCR     MPAC       +2                         #  NO
057567,001058: 37,3732           00156                           TC       MPAC       +2                         #  YES
057568,001059: 
057569,001060:                                                                                                  #  POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE
057570,001061:                                                                                                  #  TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE
057571,001062:                                                                                                  #  INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE
057572,001063:                                                                                                  #  CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER
057573,001064:                                                                                                  #  VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF
057574,001065:                                                                                                  #  TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
057575,001066: 
057576,001067: 37,3733                                           COUNT*   $$/P05                                
057577,001068: 
057578,001069: 37,3733           44732        POSTAND            CS       BIT11                                 #  RECOVER TIME AFTER STANDBY.
057579,001070: 37,3734           00006                           EXTEND                                         
057580,001071: 37,3735           03013                           WAND     CHAN13                                #  CLEAR STANDBY ENABLE BIT
057581,001072: 37,3736           00004                           INHINT                                         
057582,001073: 37,3737           34746                           CA       ZERO                                  
057583,001074: 37,3740           54001                           TS       L                                     
057584,001075: 37,3741           52025                           DXCH     TIME2                                 #  CLEAR TIME1TIME2
057585,001076: 37,3742           03713                           TC       SCALPREP                              #  STORE SCALER IN MPAC, MPAC+1
057586,001077: 37,3743           03736                           TC       POSTAND    +3                         #  T1,T2,SCALER NOT COMPATIBLE
057587,001078: 37,3744           00006                           EXTEND                                         #  T1,T2 AND SCALER OK
057588,001079: 37,3745           40317                           DCS      SCALSAVE                              
057589,001080: 37,3746           20155                           DAS      MPAC                                  #  FORM DP DIFFERENCE OF POSTSTANDBY SCALER

Page 1334

057591,001082: 37,3747           34733                           CAF      BIT10                                 #  MINUS PRESTANDBY SCALER AND SHIFT RIGHT
057592,001083: 37,3750           07330                           TC       SHORTMP                               #  5 TO ALIGN BITS WITH TIME1TIME2.
057593,001084: 37,3751           34746                           CAF      ZERO                                  
057594,001085: 37,3752           54156                           TS       MPAC       +2                         #  NEEDED FOR TP AGREE
057595,001086: 37,3753           07300                           TC       TPAGREE                               #  MAKE DP DIFF AGREE
057596,001087: 37,3754           10154                           CCS      MPAC                                  
057597,001088: 37,3755           03762                           TC       POSTCOM                               #  IF DP DIFF NET +, NO SCALER OVERFLOW
057598,001089: 37,3756           03762                           TC       POSTCOM                               #  BETWEEN PRE AND POST STANDBY.
057599,001090: 37,3757           03760                           TC       +1                                    #  IF DP DIFF NET -, SCALER OVERFLOWED. ADD
057600,001091: 37,3760           34733                           CAF      BIT10                                 #  BIT 10 TO HIGH DIFF TO CORRECT.
057601,001092: 37,3761           26154                           ADS      MPAC                                  
057602,001093: 37,3762           00006        POSTCOM            EXTEND                                         #  C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER.
057603,001094: 37,3763           30315                           DCA      TIME2SAV                              #  PRESTANDBY TIME1TIME2
057604,001095: 37,3764           20155                           DAS      MPAC                                  
057605,001096: 37,3765           07300                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT
057606,001097: 37,3766           52155                           DXCH     MPAC                                  #  UPDATED VALUE FOR T1,T2.
057607,001098: 37,3767           20025                           DAS      TIME2                                 #  LOAD UPDATED VALUE INTO T1,T2, WITH
057608,001099: 37,3770           05520                           TC       DOWNFLAG                              #  CLEAR NODOFLAG
057609,001100: 37,3771           00054                           ADRES    NODOFLAG                              
057610,001101: 
057611,001102: 37,3772           06001                           TC       GOTOPOOH                              
057612,001103: 

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