Source Code

063134,000001: # Copyright: Public domain. 063135,000002: # Filename: TRIM_GIMBAL_CNTROL_SYSTEM.agc 063136,000003: # Purpose: Part of the source code for Luminary 1A build 099. 063137,000004: # It is part of the source code for the Lunar Module's (LM) 063138,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 063139,000006: # Assembler: yaYUL 063140,000007: # Contact: Ron Burkey <info@sandroid.org>. 063141,000008: # Website: www.ibiblio.org/apollo. 063142,000009: # Pages: 1472-1485 063143,000010: # Mod history: 2009-05-27 RSB Adapted from the corresponding 063144,000011: # Luminary131 file, using page 063145,000012: # images from Luminary 1A. 063146,000013: # 2011-01-06 JL Fixed pseudo-label indentation. 063147,000014: 063148,000015: # This source code has been transcribed or otherwise adapted from 063149,000016: # digitized images of a hardcopy from the MIT Museum. The digitization 063150,000017: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 063151,000018: # the Museum. Many thanks to both. The images (with suitable reduction 063152,000019: # in storage size and consequent reduction in image quality as well) are 063153,000020: # available online at www.ibiblio.org/apollo. If for some reason you 063154,000021: # find that the images are illegible, contact me at info@sandroid.org 063155,000022: # about getting access to the (much) higher-quality images which Paul 063156,000023: # actually created. 063157,000024: 063158,000025: # Notations on the hardcopy document read, in part: 063159,000026: 063160,000027: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 063161,000028: # 16:27 JULY 14, 1969 063162,000029: 063163,000030: # Page 1472 063164,000031: 21,3077 BANK 21 063165,000032: 21,3077 E6,1450 EBANK= QDIFF 063166,000033: 21,2000 SETLOC DAPS4 063167,000034: 21,2000 BANK 063168,000035: 063169,000036: 21,3077 COUNT* $$/DAPGT 063170,000037: 063171,000038: # CONTROL REACHES THIS POINT UNDER EITHER OF THE FOLLOWING TWO CONDITIONS ONCE THE DESCENT ENGINE AND THE DIGITAL 063172,000039: # AUTOPILOT ARE BOTH ON: 063173,000040: # A) THE TRIM GIMBAL CONTROL LAW WAS ON DURING THE PREVIOUS Q,R-AXIS TIME5 INTERRUPT (OR THE DAPIDLER 063174,000041: # INITIALIZATION WAS SET FOR TRIM GIMBAL CONTROL AND THIS IS THE FIRST PASS), OR 063175,000042: # B) THE Q,R-AXES RCS AUTOPILOT DETERMINED THAT THE VEHICLE WAS ENTERING (OR HAD JUST ENTERED) A COAST 063176,000043: # ZONE WITH A SMALL OFFSET ANGULAR ACCELERATION. 063177,000044: # GTS IS THE ENTRY TO THE GIMBAL TRIM SYSTEM FOR CONTROLLING ATTITUDE ERRORS AND RATES AS WELL AS ACCELERATIONS. 063178,000045: 063179,000046: 21,3077 37747 GTS CAF NEGONE # MAKE THE NEXT PASS THROUGH THE DAP BE 063180,000047: 21,3100 55631 TS COTROLER # THROUGH RCS CONTROL, 063181,000048: 21,3101 34751 CAF FOUR # AND ENSURE THAT IT IS NOT A SKIP. 063182,000049: 21,3102 55535 TS SKIPU 063183,000050: 21,3103 55536 TS SKIPV 063184,000051: 063185,000052: 21,3104 34752 CAF TWO 063186,000053: 21,3105 55633 TS INGTS # SET INDICATOR OF GTS CONTROL POSITIVE. 063187,000054: 21,3106 55632 TS QGIMTIMR # SET TIMERS TO 200 MSEC TO AVOID BOTH 063188,000055: 21,3107 55634 TS RGIMTIMR # RUNAWAY AND INTERFERENCE BY NULLING. 063189,000056: 063190,000057: # THE DRIVE SETTING ALGORITHM 063191,000058: 063192,000059: # DEL = SGN(OMEGA + ALPHA*ABS(ALPHA)/(2*K)) 063193,000060: # 2 1/2 2 3/2 063194,000061: # NEGUSUM = ERROR*K + ALPHA*(DEL*OMEGA + ALPHA /(3*K)) + DEL*K (DEL*OMEGA + ALPHA /(2*K)) 063195,000062: 063196,000063: # DRIVE = -SGN(NEGUSUM) 063197,000064: 063198,000065: 21,3110 30021 CA SR # SAVE THE SR. SHIFT IT LEFT TO CORRECT 063199,000066: 21,3111 60000 AD A # FOR THE RIGHT SHIFT DUE TO EDITING. 063200,000067: 21,3112 55505 TS SAVESR 063201,000068: 063202,000069: 21,3113 34752 GTSGO+DN CAF TWO # SET INDEXER FOR R-AXIS CALCULATIONS. 063203,000070: 21,3114 13116 TCF GOQTRIMG +1 063204,000071: 063205,000072: 21,3115 34755 GOQTRIMG CAF ZERO # SET INDEXER FOR Q-AXIS CALCULATIONS 063206,000073: 21,3116 55750 TS QRCNTR 063207,000074: # Page 1473

[WORKAROUND] RSB 2009 ------------------------------------------------------ Everything between this line and the similar line below was simply filled-in as-is from Luminary 131, and then verified to assemble to the proper binary values. This area is blank on the Luminary 099 print-out, as if the printer ribbon had run out.

063213,000080: 21,3117           51750                          INDEX    QRCNTR                                #  AOS SCALED AT PI/2
063214,000081: 21,3120           31537                          CA       AOSQ                                  
063215,000082: 21,3121           00006                          EXTEND                                         
063216,000083: 21,3122           74752                          MP       BIT2                                  #  RESCALE AOS TO PI/4
063217,000084: 21,3123           00006                          EXTEND                                         
063218,000085: 21,3124           13130                          BZF      GTSQAXIS   -3                         #  USE FULL SCALE FOR LARGER AOS ESTIMATES.
063219,000086: 
063220,000087: 21,3125           50000                          INDEX    A                                     
063221,000088: 21,3126           44734                          CS       LIMITS                                #  LIMITS +1 CONTAINS NEGMAX.
063222,000089: 21,3127           56001                          XCH      L                                     #  LIMITS -1 CONTAINS POSMAX.
063223,000090: 
063224,000091: 21,3130           11750                          CCS      QRCNTR                                #  PICK UP RATE FOR THIS AXIS.  RATE CELLS
063225,000092: 21,3131           50000                          INDEX    A                                     #  USE ADJACENT, NOT SEPARATED.  AT PI/4
063226,000093: 21,3132           31436                          CA       EDOTQ                                 
063227,000094: 21,3133           53744        GTSQAXIS          DXCH     WCENTRAL                              
063228,000095: 
063229,000096: 21,3134           51750                          INDEX    QRCNTR                                #  COLLECT K FOR THIS AXIS
063230,000097: 21,3135           31504                          CA       KQ                                    
063231,000098: 21,3136           55741                          TS       KCENTRAL                              
063232,000099: 
063233,000100: 21,3137           00006                          EXTEND                                         #  CONTROL AUTHORITY ZERO.  AVOID DRIVING
063234,000101: 21,3140           13576                          BZF      POSDRIVE   +1                         #  ENGINE BELL TO THE STOPS.
063235,000102: 
063236,000103: 21,3141           51750                          INDEX    QRCNTR                                #  QDIFF, RDIFF ARE STORED IN D.P.
063237,000104: 21,3142           31450                          CAE      QDIFF                                 
063238,000105: 
063239,000106: 21,3143           00006        ALGORTHM          EXTEND                                         #  Q(R)DIFF IS THETA (ERROR) SCALED AT PI.
063240,000107: 21,3144           71741                          MP       KCENTRAL                              #  FORM K*ERROR AT PI(2)/2(8), IN D.P.
063241,000108: 21,3145           23737                          LXCH     K2THETA                               
063242,000109: 21,3146           00006                          EXTEND                                         
063243,000110: 21,3147           74747                          MP       BIT5                                  #  RESCALE TO 4*PI(2)
063244,000111: 21,3150           53740                          DXCH     K2THETA                               
063245,000112: 21,3151           00006                          EXTEND                                         
063246,000113: 21,3152           74747                          MP       BIT5                                  #  FIRST TERM OF NEGUSUM IN K2THETA.
063247,000114: 21,3153           27740                          ADS      K2THETA    +1                         #  NO CARRY NEEDED        D.P. AT 4*PI(2)
063248,000115: 
063249,000116: 21,3154           41744                          CS       ACENTRAL                              #  FORM ALPHA(2)/(2*K) AT 16*PI, IN D.P.,
063250,000117: 21,3155           00006                          EXTEND                                         #  LIMITING QUOTIENT TO AVOID OVERFLOW.
063251,000118: 21,3156           74736                          MP       BIT14                                 #  -ALPHA/2 IN A, SCALED AT PI/4
063252,000119: 21,3157           00006                          EXTEND                                         
063253,000120: 21,3160           71744                          MP       ACENTRAL                              #  -ALPHA(2)/2 IN A,L, SCALED AT PI(2)/16)
063254,000121: 21,3161           61741                          AD       KCENTRAL                              
063255,000122: 21,3162           00006                          EXTEND                                         
063256,000123: 21,3163           63200                          BZMF     HUGEQUOT                              #  K-ALPHA(2)/2 SHOULD BE PNZ FO DIVISION
063257,000124: 
063258,000125: 21,3164           00006                          EXTEND                                         
063259,000126: 21,3165           40001                          DCS      A                                     #  ALPHA(2)/2 - K
063260,000127: 21,3166           61741                          AD       KCENTRAL                              

[WORKAROUND] RSB 2009 ------------------------------------------------------

063262,000129: 21,3167           00006                          EXTEND                                         
063263,000130: 21,3170           11741                          DV       KCENTRAL                              #  HIGH ORDER OF QUOTIENT.
063264,000131: 21,3171           57746                          XCH      A2CNTRAL                              
063265,000132: 21,3172           30001                          CA       L                                     #  SHIFT UP THE REMAINDER.
063266,000133: 21,3173           22007                          LXCH     7                                     #  ZERO LOW-ORDER DIVIDEND.
063267,000134: 21,3174           00006                          EXTEND                                         
063268,000135:                                                                                                 #  Page 1474
063269,000136: 21,3175           11741                          DV       KCENTRAL                              
063270,000137: 21,3176           57747                          XCH      A2CNTRAL   +1                         #  QUOTIENT STORED AT 16*PI, D.P.
063271,000138: 21,3177           13203                          TCF      HAVEQUOT                              
063272,000139: 
063273,000140: 21,3200           34733        HUGEQUOT          CA       POSMAX                                
063274,000141: 21,3201           54001                          TS       L                                     
063275,000142: 21,3202           53747                          DXCH     A2CNTRAL                              #  LIMITED QUOTIENT STORED AT 16*PI, D.P.
063276,000143: 
063277,000144: 21,3203           31743        HAVEQUOT          CA       WCENTRAL                              
063278,000145: 21,3204           00006                          EXTEND                                         
063279,000146: 21,3205           74743                          MP       BIT9                                  #  RESCALE OMEGA AT 16*PI IN D.P.
063280,000147: 21,3206           53743                          DXCH     K2CNTRAL                              #  LOWER WORD OVERLAYS OMEGA IN WCENTRAL
063281,000148: 
063282,000149: 21,3207           00006                          EXTEND                                         
063283,000150: 21,3210           31743                          DCA      K2CNTRAL                              
063284,000151: 21,3211           53752                          DXCH     FUNCTION                              
063285,000152: 
063286,000153: 21,3212           31744                          CA       ACENTRAL                              #  GET ALPHA*ABS(ALPHA)/(2*K)
063287,000154: 21,3213           00006                          EXTEND                                         
063288,000155: 21,3214           63220                          BZMF     +4                                    
063289,000156: 
063290,000157: 21,3215           00006                          EXTEND                                         
063291,000158: 21,3216           31747                          DCA      A2CNTRAL                              
063292,000159: 21,3217           13222                          TCF      +3                                    
063293,000160: 
063294,000161: 21,3220           00006                          EXTEND                                         
063295,000162: 21,3221           41747                          DCS      A2CNTRAL                              
063296,000163: 
063297,000164: 21,3222           21752                          DAS      FUNCTION                              #  OMEGA + ALPHA*ABS(ALPHA)/(2*K) AT 16*PI
063298,000165: 
063299,000166: 21,3223           11751                          CCS      FUNCTION                              #  DEL = +1 FOR FUNCT1 GREATER THAN ZERO.
063300,000167: 21,3224           13230                          TCF      POSFNCT1                              #  OTHERWISE DEL = -1
063301,000168: 21,3225           13227                          TCF      +2                                    
063302,000169: 21,3226           13232                          TCF      NEGFNCT1                              
063303,000170: 
063304,000171: 21,3227           11752                          CCS      FUNCTION   +1                         #  USE LOW ORDER WORD SINCE HIGH IS ZERO
063305,000172: 21,3230           34753        POSFNCT1          CAF      BIT1                                  
063306,000173: 21,3231           13233                          TCF      +2                                    
063307,000174: 21,3232           44753        NEGFNCT1          CS       BIT1                                  
063308,000175: 21,3233           55745                          TS       DEL                                   
063309,000176: 
063310,000177: 21,3234           11745                          CCS      DEL                                   #  REPLACE OMEGA BY DEL*OMEGA
063311,000178: 21,3235           13247                          TCF      FUNCT2                                #  POSITIVE DEL VALUE.  PROCEED.
063312,000179: 21,3236           13240                          TCF      DEFUNCT                               
063313,000180: 21,3237           13244                          TCF      NEGFNCT2                              
063314,000181: 
063315,000182: 21,3240           55742        DEFUNCT           TS       K2CNTRAL                              
063316,000183: 21,3241           55743                          TS       K2CNTRAL   +1                         
063317,000184: 21,3242           13247                          TCF      FUNCT2                                
063318,000185: 
063319,000186:                                                                                                 #  Page 1475
063320,000187: 21,3243           65252        NEG1/3            DEC      -.33333                               
063321,000188: 
063322,000189: 21,3244           00006        NEGFNCT2          EXTEND                                         
063323,000190: 21,3245           41743                          DCS      K2CNTRAL                              
063324,000191: 21,3246           53743                          DXCH     K2CNTRAL                              
063325,000192: 
063326,000193: 21,3247           00006        FUNCT2            EXTEND                                         
063327,000194: 21,3250           31747                          DCA      A2CNTRAL                              
063328,000195: 21,3251           21743                          DAS      K2CNTRAL                              #  DEL*OMEGA + ALPHA(2)/(2*K) AT 16*PI, D.P.
063329,000196: 
063330,000197: 21,3252           31746        FUNCT3            CA       A2CNTRAL                              
063331,000198: 21,3253           00006                          EXTEND                                         
063332,000199: 21,3254           73243                          MP       NEG1/3                                
063333,000200: 21,3255           53747                          DXCH     A2CNTRAL                              
063334,000201: 21,3256           30001                          CA       L                                     
063335,000202: 21,3257           00006                          EXTEND                                         
063336,000203: 21,3260           73243                          MP       NEG1/3                                
063337,000204: 21,3261           27747                          ADS      A2CNTRAL   +1                         
063338,000205: 21,3262           54001                          TS       L                                     
063339,000206: 21,3263           13265                          TCF      +2                                    #  A2CNTRAL NOW CONTAINS -ALPHA(2)/(6*K),
063340,000207: 21,3264           27746                          ADS      A2CNTRAL                              #  SCALED AT 16*PI, IN D.P.
063341,000208: 
063342,000209: 21,3265           00006                          EXTEND                                         
063343,000210: 21,3266           31743                          DCA      K2CNTRAL                              #  DEL*OMEGA + ALPHA(2)/(3*K) IN A2CNTRAL,
063344,000211: 21,3267           21747                          DAS      A2CNTRAL                              #  SCALED AT 16*PI, D.P.
063345,000212: 
063346,000213: 21,3270           31746                          CA       A2CNTRAL                              
063347,000214: 21,3271           00006                          EXTEND                                         
063348,000215: 21,3272           71744                          MP       ACENTRAL                              
063349,000216: 21,3273           21740                          DAS      K2THETA                               
063350,000217: 21,3274           31747                          CA       A2CNTRAL   +1                         
063351,000218: 21,3275           00006                          EXTEND                                         
063352,000219: 21,3276           71744                          MP       ACENTRAL                              #  ACENTRAL MAY NOW BE OVERLAID.
063353,000220: 21,3277           27740                          ADS      K2THETA    +1                         
063354,000221: 21,3300           54001                          TS       L                                     
063355,000222: 21,3301           13303                          TCF      +2                                    #  TWO TERMS OF NEGUSUM ACCUMULATED, SO FAR
063356,000223: 21,3302           27737                          ADS      K2THETA                               #  SCALED AT 4*PI(2), IN D.P.
063357,000224: 
063358,000225: 21,3303           31742        GETROOT           CA       K2CNTRAL                              #  K*(DEL*OMEGA + ALPHA(2)/(2*K)) IS THE
063359,000226: 21,3304           00006                          EXTEND                                         #  TERM FOR WHICH A SQUARE ROOT IS NEEDED.
063360,000227: 21,3305           71741                          MP       KCENTRAL                              #  K AT PI/2(8)
063361,000228: 21,3306           53752                          DXCH     FUNCTION                              
063362,000229: 21,3307           31743                          CA       K2CNTRAL   +1                         
063363,000230: 21,3310           00006                          EXTEND                                         
063364,000231: 21,3311           71741                          MP       KCENTRAL                              
063365,000232: 21,3312           27752                          ADS      FUNCTION   +1                         
063366,000233: 21,3313           54001                          TS       L                                     
063367,000234: 21,3314           13316                          TCF      +2                                    
063368,000235: 21,3315           27751                          ADS      FUNCTION                              #  DESIRED TERM IN FUNCTION, AT PI(2)/16
063369,000236:                                                                                                 #  Page 1476
063370,000237: 21,3316           11745                          CCS      DEL                                   
063371,000238: 21,3317           13524                          TCF      RSTOFGTS                              
063372,000239: 21,3320           13566                          TCF      NEGUSUM                               
063373,000240: 21,3321           13323                          TCF      NEGATE                                
063374,000241: 21,3322           13566                          TCF      NEGUSUM                               
063375,000242: 
063376,000243: 21,3323           00006        NEGATE            EXTEND                                         
063377,000244: 21,3324           41743                          DCS      K2CNTRAL                              
063378,000245: 21,3325           53743                          DXCH     K2CNTRAL                              
063379,000246: 21,3326           13524                          TCF      RSTOFGTS                              
063380,000247: 
063381,000248: 16,3735                                          BANK     16                                    
063382,000249: 16,3735  E6,1501                                 EBANK=   NEGUQ                                 
063383,000250: 16,2000                                          SETLOC   DAPS1                                 
063384,000251: 16,2000                                          BANK                                           
063385,000252: 
063386,000253:                                                                                                 #  THE WRCHN12 SUBROUTINE SETS BITS 9,10,11,12 OF CHANNEL 12 ON THE BASIS OF THE CONTENTS OF NEGUQ,NEGUR WHICH ARE
063387,000254:                                                                                                 #  THE NEGATIVES OF THE DESIRED ACCELERATION CHANGES.  ACDT+C12 SETS Q(R)ACCDOT TO REFLECT THE NEW DRIVES.
063388,000255: 
063389,000256:                                                                                                 #  WARNING:  ACDT+C12 AND WRCHN12 MUST BE CALLED WITH INTERRUPT INHIBITED.
063390,000257: 
063391,000258: 16,3735           07400        BGIM              OCTAL    07400                                 
063392,000259: 16,3736     0066               CHNL12            EQUALS   ITEMP6                                
063393,000260: 16,3736           41501        ACDT+C12          CS       NEGUQ                                 
063394,000261: 16,3737           00006                          EXTEND                                         #  GIMBAL DRIVE REQUESTS.
063395,000262: 16,3740           71507                          MP       ACCDOTQ                               
063396,000263: 16,3741           23510                          LXCH     QACCDOT                               
063397,000264: 16,3742           41503                          CS       NEGUR                                 
063398,000265: 16,3743           00006                          EXTEND                                         
063399,000266: 16,3744           71511                          MP       ACCDOTR                               
063400,000267: 16,3745           23512                          LXCH     RACCDOT                               
063401,000268: 
063402,000269: 16,3746           11501                          CCS      NEGUQ                                 
063403,000270: 16,3747           34742                          CAF      BIT10                                 
063404,000271: 16,3750           13752                          TCF      +2                                    
063405,000272: 16,3751           34743                          CAF      BIT9                                  
063406,000273: 16,3752           54066                          TS       CHNL12                                
063407,000274: 
063408,000275: 16,3753           11503                          CCS      NEGUR                                 
063409,000276: 16,3754           34740                          CAF      BIT12                                 
063410,000277: 16,3755           13757                          TCF      +2                                    
063411,000278: 16,3756           34741                          CAF      BIT11                                 
063412,000279: 16,3757           26066                          ADS      CHNL12                                #  (STORED RESULT NOT USED AT PRESENT)
063413,000280: 
063414,000281: 16,3760           43735                          CS       BGIM                                  
063415,000282: 16,3761           00006                          EXTEND                                         
063416,000283: 16,3762           02012                          RAND     CHAN12                                
063417,000284: 16,3763           60066                          AD       CHNL12                                
063418,000285: 16,3764           00006                          EXTEND                                         
063419,000286: 16,3765           01012                          WRITE    CHAN12                                
063420,000287:                                                                                                 #  Page 1477
063421,000288: 16,3766           44747                          CS       CALLGMBL                              #  TURN OFF REQUEST FOR ACDT+C12 EXECUTION.
063422,000289: 16,3767           71273                          MASK     RCSFLAGS                              
063423,000290: 16,3770           55273                          TS       RCSFLAGS                              
063424,000291: 
063425,000292: 16,3771           00002                          TC       Q                                     #  RETURN TO CALLER.
063426,000293: 
063427,000294: 21,3327                                          BANK     21                                    
063428,000295: 21,3327  E6,1450                                 EBANK=   QDIFF                                 
063429,000296: 21,2000                                          SETLOC   DAPS4                                 
063430,000297: 21,2000                                          BANK                                           
063431,000298: 
063432,000299:                                                                                                 #  Page 1478
063433,000300:                                                                                                 #  SUBROUTINE TIMEGMBL:   MOD 0, OCTOBER 1967, CRAIG WORK
063434,000301: 
063435,000302:                                                                                                 #  TIMEGMBL COMPUTES THE DRIVE TIME NEEDED FOR THE TRIM GIMBAL TO POSITION THE DESCENT ENGINE NOZZLE SO AS TO NULL
063436,000303:                                                                                                 #  THE OFFSET ANGULAR ACCELERATION ABOUT THE Q (OR R) AXIS.  INSTEAD OF USING AOSQ(R), TIMEGMBL USES .4*AOSQ(R),
063437,000304:                                                                                                 #  SCALED AT PI/8.  FOR EACH AXIS, THE DRIVE TIME IS COMPUTED AS ABS(ALPHA/ACCDOT).  A ZERO
063438,000305:                                                                                                 #  ALPHA OR ACCDOT OR A ZERO QUOTIENT TURNS OFF THE GIMBAL DRIVE IMMEDIATELY.  OTHERWISE, THE GIMBAL IS TURNED ON
063439,000306:                                                                                                 #  DRIVING IN THE CORRECT DIRECTION.  THE Q(R)GIMTIMR IS SET TO TERMINATE THE DRIVE AND Q(R)ACCDOT
063440,000307:                                                                                                 #  IS STORED TO REFLECT THE NEW ACCELERATION DERIVATIVE.  NEGUQ(R) WILL CONTAIN +1,+0,-1 FOR A Q(R)ACCDOT VALUE
063441,000308:                                                                                                 #  WHICH IS NEGATIVE, ZERO, OR POSITIVE.
063442,000309: 
063443,000310:                                                                                                 #  INPUTS:        AOSQ,AOSR, SCALED AT P1/2, AND ACCDOTQ, ACCDOTR AT PI/2(7).     PI/2(7).
063444,000311: 
063445,000312:                                                                                                 #  OUTPUTS:       NEW GIMBAL DRIVE BITS IN CHANNEL 12, NEGUQ, NEGUR, QACCDOT, AND RACCDOT, THE LAST SCALED AT PI/2(7).
063446,000313:                                                                                                 #                 Q(R)GIMTIMR WILL BE SET TO TIME AND TERMINATE GIMBAL DRIVE(S).
063447,000314: 
063448,000315:                                                                                                 #  DEBRIS:        A, L, Q, ITEMPS 2, 3, 6, AND RUPTREG2 AND ACDT+C12 DEBRIS.
063449,000316: 
063450,000317:                                                                                                 #  EXITS: VIA TC Q.
063451,000318: 
063452,000319:                                                                                                 #  ALARMS, ABORTS:  NONE.
063453,000320: 
063454,000321:                                                                                                 #  SUBROUTINES:   ACDT+C12, IBNKCALL
063455,000322: 
063456,000323:                                                                                                 #  WARNING:       THIS SUBROUTINE WRITES INTO CHANNEL 12 AND USES THE ITEMPS.  THEREFORE IT MAY ONLY BE CALLED WITH
063457,000324:                                                                                                 #                 INTERRUPT INHIBITED.
063458,000325: 
063459,000326:                                                                                                 #  ERASABLE STORAGE CONFIGURATION (NEEDED BY THE INDEXING METHODS):
063460,000327:                                                                                                 #         NEGUQ           ERASE   +2              # NEGATIVE OF Q-AXIS GIMBAL DRIVE
063461,000328:                                                                                                 #         (SPWORD)        EQUALS  NEGUQ +1        # ANY S.P. ERASABLE NUMBER, NOW THRSTCMD
063462,000329:                                                                                                 #         NEGUR           EQUALS  NEGUQ +2        # NEGATIVE OF R-AXIS GIMBAL DRIVE
063463,000330:                                                                                                 #         ACCDOTQ         ERASE   +2              # Q-JERK TERM SCALED AT PI/2(7) RAD/SEC(3)
063464,000331:                                                                                                 #         (SPWORD)        EQUALS  ACCDOTQ +1      # ANY S.P. ERASABLE NUMBER NOW QACCDOT
063465,000332:                                                                                                 #         ACCDOTR         EQUALS  ACCDOTQ +2      # R-JERK TERM SCALED AT PI/2(7) RAD/SEC(3)
063466,000333:                                                                                                 #                                                 # ACCDOTQ, ACCDOTR ARE MAGNITUDES.
063467,000334:                                                                                                 #         AOSQ            ERASE   +4              # Q-AXIS ACC., D.P. AT PI/2 R/SEC(2)
063468,000335:                                                                                                 #         AOSR            EQUALS  AOSQ +2         # R-AXIS ACCELERATION SCALED AT PI/2 R/S2
063469,000336: 
063470,000337: 21,3327     0066               QRNDXER           EQUALS   ITEMP6                                
063471,000338: 21,3327           23146        OCT23146          OCTAL    23146                                 #  DECIMAL .6
063472,000339: 21,3330     0063               NZACCDOT          EQUALS   ITEMP3                                
063473,000340: 
063474,000341: 21,3330           34753        TIMEGMBL          CAF      ONE                                   #  INITIALZE ALLOWGTS.
063475,000342: 21,3331           55502                          TS       ALLOWGTS                              
063476,000343: 
063477,000344: 21,3332           34752                          CAF      TWO                                   #  SET UP LOOP FOR R AXIS.
063478,000345: 21,3333           22002                          LXCH     Q                                     #  SAVE RETURN ADDRESS.
063479,000346: 21,3334           22071                          LXCH     RUPTREG2                              
063480,000347:                                                                                                 #  Page 1479
063481,000348: 21,3335           13337                          TCF      +2                                    
063482,000349: 21,3336           34755        TIMQGMBL          CAF      ZERO                                  #  NOW DO THE Q-AXIS
063483,000350: 21,3337           54066                          TS       QRNDXER                               
063484,000351: 21,3340           50066                          INDEX    QRNDXER                               
063485,000352: 21,3341           31507                          CA       ACCDOTQ                               #  ACCDOT IS PRESUMED TO BE AT PI/2(7).
063486,000353: 21,3342           00006                          EXTEND                                         
063487,000354: 21,3343           63413                          BZMF     TGOFFNOW                              #  IS ACCDOT LESS THAN OR EQUAL TO 0?
063488,000355: 21,3344           54063                          TS       NZACCDOT                              #  NO.  STORE NON-ZERO, POSITIVE ACCDOT.
063489,000356: 
063490,000357: 21,3345           50066        ALPHATRY          INDEX    QRNDXER                               
063491,000358: 21,3346           41537                          CS       AOSQ                                  
063492,000359: 21,3347           00006                          EXTEND                                         
063493,000360: 21,3350           13413                          BZF      TGOFFNOW                              #  IS ALPHA ZERO?
063494,000361: 
063495,000362: 21,3351           54002                          TS       Q                                     #  SAVE A COPY OF -AOS.
063496,000363: 21,3352           00006                          EXTEND                                         #  NO.  RESCALE FOR TIMEGMBL USE.
063497,000364: 21,3353           73327                          MP       OCT23146                              #  OCTAL 23146 IS DECIMAL .6
063498,000365: 21,3354           60002                          AD       Q                                     #  -1.6*AOS AT PI/2 = -.4*AOS AT PI/8
063499,000366: 21,3355           54001                          TS       L                                     #  WAS THERE OVERFLOW?
063500,000367: 21,3356           13363                          TCF      SETNEGU                               #  NO.  COMPUTE DRIVE TIME.
063501,000368: 
063502,000369: 21,3357           40000                          CS       A                                     #  RECOVER -SGN(AOS) IN THE A REGISTER.
063503,000370: 21,3360           50066                          INDEX    QRNDXER                               #  YES.  START DRIVE WITHOUT WAITLIST.
063504,000371: 21,3361           57501                          XCH      NEGUQ                                 
063505,000372: 21,3362           13417                          TCF      NOTALLOW                              #  KNOCK DOWN THE ALLOWGTS FLAG.
063506,000373: 
063507,000374: 21,3363           00006        SETNEGU           EXTEND                                         
063508,000375: 21,3364           63371                          BZMF     POSALPH                               
063509,000376: 
063510,000377: 21,3365           40000                          COM                                            
063511,000378: 21,3366           54062                          TS       ITEMP2                                #  STORE -ABS(.4*AOS) SCALED AT PI/8.
063512,000379: 21,3367           44753                          CS       BIT1                                  
063513,000380: 21,3370           13373                          TCF      POSALPH    +2                         
063514,000381: 21,3371           54062        POSALPH           TS       ITEMP2                                #  STORE -ABS(.4*AOS) SCALED AT PI/8.
063515,000382: 21,3372           34753                          CA       BIT1                                  
063516,000383: 21,3373           50066                 +2       INDEX    QRNDXER                               #  SGN(AOS) INTO NEGU
063517,000384: 21,3374           55501                          TS       NEGUQ                                 #  STORE SGN(ALPHA) AS NEGU
063518,000385: 
063519,000386: 21,3375           30063                          CA       NZACCDOT                              
063520,000387: 21,3376           00006                          EXTEND                                         
063521,000388: 21,3377           74740                          MP       BIT12                                 #  2*ACCDOT, SCALED AT PI/8.
063522,000389: 21,3400           60062                          AD       ITEMP2                                #  -ABS(ALPHS) + 2*ACCDOT, AT PI/8.
063523,000390: 21,3401           00006                          EXTEND                                         
063524,000391: 21,3402           63417                          BZMF     NOTALLOW                              #  IS DRIVE TIME MORE THAN TWO SECONDS?
063525,000392: 21,3403           40062                          CS       ITEMP2                                #  NO.  COMPUTE DRIVE TIME.
063526,000393: 21,3404           00006                          EXTEND                                         #  ABS(ALPHA) AT PI/8.
063527,000394: 21,3405           73440                          MP       OCT00240                              #  DECIMAL 10/1024
063528,000395: 21,3406           00006                          EXTEND                                         #  QUOTIENT IS DRIVE TIME AT WAITLIST.
063529,000396: 21,3407           10063                          DV       NZACCDOT                              #  ABS(ALPHA)/ACCDOT AT 2(14)/100
063530,000397:                                                                                                 #  Page 1480
063531,000398: 21,3410           00006                          EXTEND                                         
063532,000399: 21,3411           13413                          BZF      TGOFFNOW                              #  DRIVE TIME MUST BE GREATER THAN ZERO.
063533,000400: 
063534,000401: 21,3412           13425                          TCF      DRIVEON                               
063535,000402: 
063536,000403: 21,3413           34755        TGOFFNOW          CAF      ZERO                                  #  TURN OFF GIMBAL NOW.
063537,000404: 21,3414           50066                          INDEX    QRNDXER                               
063538,000405: 21,3415           55501                          TS       NEGUQ                                 
063539,000406: 
063540,000407: 21,3416           13427                          TCF      DONEYET                               
063541,000408: 
063542,000409: 21,3417           36010        NOTALLOW          CAF      OCT31                                 
063543,000410: 21,3420           50066                          INDEX    QRNDXER                               
063544,000411: 21,3421           55632                          TS       QGIMTIMR                              
063545,000412: 21,3422           34755                          CAF      ZERO                                  #  DRIVE TIME IS MORE THAN 2 SECONDS, SO
063546,000413: 21,3423           55502                          TS       ALLOWGTS                              #  DO NOT PERMIT FURTHER GTS ATTITUDE-RATE
063547,000414:                                                                                                 #  CONTROL UNTIL AOSTASK APPROVES.
063548,000415: 21,3424           13427                          TCF      DONEYET                               #  NO WAITLIST CALL IS MADE.
063549,000416: 
063550,000417: 21,3425           50066        DRIVEON           INDEX    QRNDXER                               
063551,000418: 21,3426           55632                          TS       QGIMTIMR                              #  CHOOSE Q OR R AXIS.
063552,000419: 
063553,000420: 21,3427           10066        DONEYET           CCS      QRNDXER                               
063554,000421: 21,3430           13336                          TCF      TIMQGMBL                              
063555,000422: 
063556,000423: 21,3431           52073                          DXCH     RUPTREG3                              #  PROTECT IBNKCALL ERASABLES.  ACDT+C12
063557,000424: 21,3432           52063                          DXCH     ITEMP2                                #  LEAVES ITEMPS2,3 ALONE.
063558,000425: 
063559,000426: 21,3433           04674                          TC       IBNKCALL                              #  TURN OFF CHANNEL BITS, SET Q(R)ACCDOTS.
063560,000427: 21,3434           35736                          CADR     ACDT+C12                              
063561,000428: 
063562,000429: 21,3435           52063                          DXCH     ITEMP2                                #  RESTORE ERASABLES FOR IBNKCALL.
063563,000430: 21,3436           52073                          DXCH     RUPTREG3                              
063564,000431: 
063565,000432: 21,3437           00071                          TC       RUPTREG2                              #  RETURN TO CALLER.
063566,000433: 
063567,000434: 21,3440           00240        OCT00240          OCTAL    00240                                 #  DECIMAL 10/1024
063568,000435: 
063569,000436:                                                                                                 #  Page 1481
063570,000437:                                                                                                 #  THE FOLLOWING SECTION IS A CONTINUATION OF THE TRIM GIMBAL CONTROL FROM THE LAST GTS ENTRY.  THE QUANTITY NEGUSUM
063571,000438:                                                                                                 #  IS COMPUTED FOR EACH AXIS (Q,R), .707*DEL*FUNCTION(3/2) + K2THETA = NEGUSUM.  NEW DRIVES ARE ENTERED TO CH 12.
063572,000439: 
063573,000440:                                                                                                 #  THE SUBROUTINE GTSQRT ACCEPTS A DOUBLE PRECISION VALUE IN FUNCTION, FUNCTION +1 AND RETURNS A SINGLE-PRECISION
063574,000441:                                                                                                 #  SQUARE ROOT OF THE FOURTEEN MOST SIGNIFICANT BITS OF THE ARGUMENT.  ALSO, THE CELL SHFTFLAG CONTAINS A BINARY
063575,000442:                                                                                                 #  EXPONENT S, SUCH THAT THE SQUARE ROOT (RETURNED IN THE A REGISTER) MUST BE SHIFTED RIGHT (MULTIPLIED BY 2 TO THE
063576,000443:                                                                                                 #  POWER (-S)) IN ORDER TO BE THE TRUE SQUARE ROOT OF THE FOURTEEN MOST SIGNIFICANT BITS OF FUNCTION, FUNCTION +1.
063577,000444:                                                                                                 #  SQUARE ROOT ERROR IS NOT MORE THAN 2 IN THE 14TH SIGNIFICANT BIT.  CELLS CLOBBERED ARE A, L, SHFTFLAG, ININDEX,
063578,000445:                                                                                                 #  HALFARG, SCRATCH, SR, FUNCTION, FUNCTION +1.  GTSQRT IS CALLED BY TC GTSQRT AND RETURNS VIA TC Q OR TC FUNCTION +1.
063579,000446:                                                                                                 #  ZERO OR NEGATIVE ARGUMENTS YIELD ZERO FOR SQUARE ROOTS.
063580,000447: 
063581,000448: 21,3441           11751        GTSQRT            CCS      FUNCTION                              
063582,000449: 21,3442           13460                          TCF      GOODARG                               #  FUNCTION IS POSITIVE.  TAKE SQUARE ROOT.
063583,000450: 21,3443           13445                          TCF      +2                                    #  HIGH ORDER WORD IS ZERO.  TRY THE LOWER.
063584,000451: 21,3444           13451                          TCF      ZEROOT                                #  NEGATIVE.  USE ZERO FOR 1/2 POWER.
063585,000452: 
063586,000453: 21,3445           31752                          CA       FUNCTION   +1                         
063587,000454: 21,3446           00006                          EXTEND                                         
063588,000455: 21,3447           63451                          BZMF     ZEROOT                                
063589,000456: 
063590,000457: 21,3450           13454                          TCF      ZEROHIGH                              #  PROCEED.
063591,000458: 21,3451           34755        ZEROOT            CA       ZERO                                  
063592,000459: 21,3452           55741                          TS       SHFTFLAG                              
063593,000460: 21,3453           00002                          TC       Q                                     
063594,000461: 
063595,000462: 21,3454           57751        ZEROHIGH          XCH      FUNCTION                              #  14 MOST SIGNIFICANT BITS ARE IN THE
063596,000463: 21,3455           57752                          XCH      FUNCTION   +1                         #  LOWER WORD.  EXCHANGE THEM.
063597,000464: 21,3456           34757                          CA       SEVEN                                 
063598,000465: 21,3457           13461                          TCF      GOODARG    +1                         
063599,000466: 
063600,000467: 21,3460           34755        GOODARG           CA       ZERO                                  
063601,000468: 21,3461           55741                          TS       SHFTFLAG                              
063602,000469: 21,3462           35751                          CA       TWELVE                                #  INITIALIZE THE SCALING LOOP.
063603,000470: 21,3463           55744                          TS       ININDEX                               
063604,000471: 21,3464           13473                          TCF      SCALLOOP                              
063605,000472: 
063606,000473: 21,3465           31751        SCALSTRT          CA       FUNCTION                              
063607,000474: 21,3466           13507                          TCF      SCALDONE                              
063608,000475: 
063609,000476: 21,3467           37746        MULBUSH           CA       NEG2                                  #  IF ARG IS NOT LESS THAN 1/4, INDEX IS
063610,000477: 21,3470           27744                          ADS      ININDEX                               #  ZERO, INDICATING NO SHIFT NEEDED.
063611,000478: 21,3471           00006                          EXTEND                                         #  BRANCH IF ARG IS NOT LESS THAN 1/4.
063612,000479: 21,3472           63465                          BZMF     SCALSTRT                              #  OTHERWISE COMPARE ARG WITH A REFERENCE
063613,000480:                                                                                                 #  WHICH IS 4 TIMES LARGER THAN THE LAST.
063614,000481: 21,3473           41751        SCALLOOP          CS       FUNCTION                              
063615,000482: 21,3474           51744                          INDEX    ININDEX                               
063616,000483: 21,3475           64735                          AD       BIT15                                 #  REFERENCE MAGNITUDE LESS OR EQUAL TO 1/4
063617,000484: 21,3476           00006                          EXTEND                                         
063618,000485: 21,3477           63467                          BZMF     MULBUSH                               #  IF ARG IS NOT LESS THAN REFERENCE, GO
063619,000486:                                                                                                 #  AROUND THE MULBERRY BUSH ONCE MORE.
063620,000487:                                                                                                 #  Page 1482
063621,000488: 21,3500           51744                          INDEX    ININDEX                               
063622,000489: 21,3501           34735                          CA       BIT15                                 #  THIS IS THE SCALE MAGNITUDE
063623,000490: 21,3502           57747                          XCH      HALFARG                               #  2**(-ININDEX) IS THE SHIFT DIVISOR.
063624,000491: 21,3503           00006                          EXTEND                                         #  RESCALE ARGUMENT.
063625,000492: 21,3504           31752                          DCA      FUNCTION                              
063626,000493: 21,3505           00006                          EXTEND                                         
063627,000494: 21,3506           11747                          DV       HALFARG                               
063628,000495:                                                                                                 #  ININDEX AND SHFTFLAG PRESERVE INFO FOR
063629,000496:                                                                                                 #  RESCALING AFTER ROOT PROCESS.
063630,000497: 21,3507           00006        SCALDONE          EXTEND                                         
063631,000498: 21,3510           23752                          QXCH     FUNCTION   +1                         #  SAVE Q FOR RETURN
063632,000499: 21,3511           00006                          EXTEND                                         
063633,000500: 21,3512           74736                          MP       BIT14                                 
063634,000501: 21,3513           55747                          TS       HALFARG                               
063635,000502: 21,3514           74737                          MASK     BIT13                                 
063636,000503: 21,3515           10000                          CCS      A                                     
063637,000504: 21,3516           33634                          CA       OCT11276                              
063638,000505: 21,3517           63632                          AD       ROOTHALF                              #  INITIAL GUESS IS ROOT 1/2 OR POSMAX
063639,000506: 21,3520           03636                          TC       ROOTCYCL                              
063640,000507: 21,3521           03636                          TC       ROOTCYCL                              
063641,000508: 21,3522           03636                          TC       ROOTCYCL                              
063642,000509: 21,3523           01752                          TC       FUNCTION   +1                         
063643,000510: 
063644,000511:                                                                                                 #  ***************************************************************************
063645,000512: 
063646,000513: 21,3524           03441        RSTOFGTS          TC       GTSQRT                                
063647,000514: 21,3525           57742        PRODUCT           XCH      K2CNTRAL                              
063648,000515: 21,3526           00006                          EXTEND                                         
063649,000516: 21,3527           71742                          MP       K2CNTRAL                              
063650,000517: 21,3530           53743                          DXCH     K2CNTRAL                              
063651,000518: 21,3531           00006                          EXTEND                                         #                 THE PRODUCT OF
063652,000519: 21,3532           70001                          MP       L                                     #   1/2                   2       1/2
063653,000520: 21,3533           27743                          ADS      K2CNTRAL   +1                         #  K   *(DEL*OMEGA + ALPHA /(2*K))
063654,000521: 21,3534           54001                          TS       L                                     #                       AND
063655,000522: 21,3535           13537                          TCF      +2                                    #                        2
063656,000523: 21,3536           27742                          ADS      K2CNTRAL                              #  DEL*(DEL*OMEGA + ALPHA /(2*K)) NOW IN 
063657,000524:                                                                                                 #  K2CNTRAL
063658,000525: 
063659,000526: 21,3537           31744        DOSHIFT           CA       ININDEX                               
063660,000527: 21,3540           00006                          EXTEND                                         #  MULTIPLY IN THE FACTOR 2(-S), RETURNED
063661,000528: 21,3541           74736                          MP       BIT14                                 #  BY THE GTSQRT SUBROUTINE
063662,000529: 21,3542           27741                          ADS      SHFTFLAG                              
063663,000530: 21,3543           00006                          EXTEND                                         
063664,000531: 21,3544           13563                          BZF      ADDITIN                               
063665,000532: 21,3545           51741                          INDEX    SHFTFLAG                              
063666,000533: 21,3546           34735                          CA       BIT15                                 
063667,000534:                                                                                                 #  Page 1483
063668,000535: 21,3547           57742                          XCH      K2CNTRAL                              
063669,000536: 21,3550           00006                          EXTEND                                         
063670,000537: 21,3551           71742                          MP       K2CNTRAL                              
063671,000538: 21,3552           21740                          DAS      K2THETA                               
063672,000539: 21,3553           57742                          XCH      K2CNTRAL                              
063673,000540: 21,3554           00006                          EXTEND                                         
063674,000541: 21,3555           71743                          MP       K2CNTRAL   +1                         
063675,000542: 21,3556           27740                          ADS      K2THETA    +1                         
063676,000543: 21,3557           54001                          TS       L                                     
063677,000544: 21,3560           13562                          TCF      +2                                    
063678,000545: 21,3561           27737                          ADS      K2THETA                               
063679,000546: 
063680,000547: 21,3562           13566                          TCF      NEGUSUM                               
063681,000548: 
063682,000549: 21,3563           00006        ADDITIN           EXTEND                                         
063683,000550: 21,3564           31743                          DCA      K2CNTRAL                              
063684,000551: 21,3565           21740                          DAS      K2THETA                               #  NO ADD IN THE K2THETA TERM.
063685,000552: 21,3566           11737        NEGUSUM           CCS      K2THETA                               #  TEST SIGN OF HIGH ORDER PART.
063686,000553: 21,3567           13573                          TCF      NEGDRIVE                              
063687,000554: 21,3570           13572                          TCF      +2                                    
063688,000555: 21,3571           13575                          TCF      POSDRIVE                              
063689,000556: 
063690,000557: 21,3572           11740                          CCS      K2THETA    +1                         #  SIGN TEST FOR LOW ORDER PART.
063691,000558: 21,3573           34753        NEGDRIVE          CA       BIT1                                  
063692,000559: 21,3574           13576                          TCF      +2                                    #  STOP GIMBAL DRIVE FOR A ZERO NEGUSUM.
063693,000560: 21,3575           44753        POSDRIVE          CS       BIT1                                  
063694,000561: 21,3576           54001                          TS       L                                     #  SAVE FOR DRIVE REVERSAL TEST.
063695,000562: 21,3577           51750                          INDEX    QRCNTR                                
063696,000563: 21,3600           57501                          XCH      NEGUQ                                 
063697,000564: 
063698,000565: 21,3601           00006                          EXTEND                                         
063699,000566: 21,3602           70001                          MP       L                                     #  MULTIPLY OLD NEGU AND NEW NEGU.
063700,000567: 21,3603           10001                          CCS      L                                     
063701,000568: 21,3604           13621                          TCF      LOUPE                                 #  NON-ZERO GIMBAL DRIVE BEING CONTINUED.
063702,000569: 
063703,000570: 21,3605           13616                          TCF      ZEROLOUP                              #  NO REVERSAL PROBLEM HERE.
063704,000571: 
063705,000572: 21,3606           13610                          TCF      REVERSAL                              #  NON-ZERO GIMBAL DRIVE BEING REVERSED.
063706,000573: 21,3607           13616                          TCF      ZEROLOUP                              #  NO REVERSAL PROBLEM HERE.
063707,000574: 
063708,000575: 21,3610           51750        REVERSAL          INDEX    QRCNTR                                #  A ZERO-DRIVE PAUSE IS NEEDED HERE.  ZERO
063709,000576: 21,3611           55510                          TS       QACCDOT                               #  IS IN A REGISTER FROM CCS ON (-1).
063710,000577: 21,3612           51750                          INDEX    QRCNTR                                
063711,000578: 21,3613           43633                          CS       GMBLBITA                              
063712,000579: 21,3614           00006                          EXTEND                                         
063713,000580: 21,3615           03012                          WAND     CHAN12                                
063714,000581: 
063715,000582: 21,3616           41273        ZEROLOUP          CS       RCSFLAGS                              #  SET UP REQUEST FOR ACDT+C12 CALL.
063716,000583: 21,3617           74747                          MASK     CALLGMBL                              
063717,000584: 21,3620           27273                          ADS      RCSFLAGS                              
063718,000585:                                                                                                 #  Page 1484
063719,000586: 21,3621           11750        LOUPE             CCS      QRCNTR                                #  HAVE BOTH AXES BEEN PROCESSED?
063720,000587: 21,3622           13115                          TCF      GOQTRIMG                              #  NO.  DO Q AXIS NEXT.
063721,000588: 
063722,000589: 21,3623           31505                          CA       SAVESR                                #  RESTORE THE SR
063723,000590: 21,3624           54021                          TS       SR                                    
063724,000591: 
063725,000592: 21,3625           00006        GOCLOSE           EXTEND                                         #  TERMINATE THE JASK.
063726,000593: 21,3626           33631                          DCA      CLOSEADR                              
063727,000594: 21,3627           52006                          DTCB                                           
063728,000595: 
063729,000596: 21,3630  E6,1537                                 EBANK=   AOSQ                                  
063730,000597: 21,3630           03236 36106  CLOSEADR          2CADR    CLOSEOUT                              #  TERMINATE THE JASK.
063731,000598: 
063732,000599: 21,3632     5751               TWELVE            EQUALS   OCT14                                 
063733,000600: 21,3632           26501        ROOTHALF          OCTAL    26501                                 #  SQUARE ROOT OF 1/2
063734,000601: 21,3633           01400        GMBLBITA          OCTAL    01400                                 #  INDEXED WRT GMBLBITB   DO NOT MOVE *******
063735,000602: 21,3634           11276        OCT11276          OCTAL    11276                                 #  POSMAX -- ROOTHALF
063736,000603: 21,3635           06000        GMBLBITB          OCTAL    06000                                 #  INDEXED WRT GMBLBITA   DO NOT MOVE *******
063737,000604: 
063738,000605:                                                                                                 #  SUBROUTINE ROOTCYCL:   BY CRAIG WORK, 3 APRIL 68
063739,000606: 
063740,000607:                                                                                                 #  ROOTCYCL IS A SUBROUTINE WHICH EXECUTS ONE NEWTON SQUARE ALGORITHM ITERATION.  THE INITIAL GUESS AT THE
063741,000608:                                                                                                 #  SQUARE ROOT IS PRESUMED TO BE IN THE A REGISTER AND ONE-HALF THE SQUARE IS TAKEN FROM HALFARG.  THE NEW APPROXIMATION
063742,000609:                                                                                                 #  TO THE SQUARE ROOT IS RETURNED IN THE A REGISTER.  DEBRIS:  A, L, SR, SCRATCH.  ROOTCYCL IS CALLED FROM
063743,000610:                                                                                                 #  LOCATION (LOC) BY A TC ROOTCYCL, AND RETURNS (TC Q) TO LOC +1.
063744,000611: 
063745,000612:                                                                                                 #  WARNING:  IF THE INITIAL GUESS IS NOT GREATER THAN THE SQUARE, DIVIDE OR ADD OVERFLOW IS A REAL POSSIBILITY.
063746,000613: 
063747,000614: 21,3636           55746        ROOTCYCL          TS       SCRATCH                               #  STORE X
063748,000615: 21,3637           54021                          TS       SR                                    #  X/2 NOW IN SR
063749,000616: 21,3640           31747                          CA       HALFARG                               #  ARG/2 IN THE A REG
063750,000617: 21,3641           22007                          ZL                                             #  PREPARE FOR DIVISION
063751,000618: 21,3642           00006                          EXTEND                                         
063752,000619: 21,3643           11746                          DV       SCRATCH                               #  (ARG/X)/2
063753,000620: 21,3644           60021                          AD       SR                                    #  (X + ARG/X)/2 IN THE A REG
063754,000621: 21,3645           00002                          TC       Q                                     
063755,000622: 
063756,000623: 

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