Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Peter McDermott. A team of volunteers performed the transcription and proof-reading. The scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES
	DEC 13, 1966

	THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 
        OF PROGRAM SUNBURST BY LEM GROUP
Note that the date is the date of the printout, not the date of the program revision.

025348,000002:                                                                                                  ## Copyright:   Public domain.
025349,000003:                                                                                                  ## Filename:    AOSTASK_AND_AOSJOB.agc
025350,000004:                                                                                                  ## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
025351,000005:                                                                                                  ##              It is part of an early development version of the software
025352,000006:                                                                                                  ##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
025353,000007:                                                                                                  ##              Module (LM) flight Apollo 5. Sunburst 37 was the program
025354,000008:                                                                                                  ##              upon which Don Eyles's offline development program Shepatin
025355,000009:                                                                                                  ##              was based; the listing herein transcribed was actually for
025356,000010:                                                                                                  ##              the equivalent revision 0 of Shepatin.
025357,000011:                                                                                                  ##              This file is intended to be a faithful transcription, except
025358,000012:                                                                                                  ##              that the code format has been changed to conform to the
025359,000013:                                                                                                  ##              requirements of the yaYUL assembler rather than the
025360,000014:                                                                                                  ##              original YUL assembler.
025361,000015:                                                                                                  ## Reference:   pp. 569-590
025362,000016:                                                                                                  ## Assembler:   yaYUL
025363,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
025364,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
025365,000019:                                                                                                  ## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
025366,000020:                                                                                                  ##              2017-06-09 RSB  Transcribed.
025367,000021:                                                                                                  ##              2017-06-14 HG   Add missing label STCTR1
025368,000022:                                                                                                  ##              2017-06-22 RSB  Proofed comment text with
025369,000023:                                                                                                  ##                              octopus/ProoferComments.
025370,000024: 

Page 569

025372,000026:                                                                                                  #  PROGRAM NAME: AOSTASK           MOD. NO. 1  DATE: NOVEMBER 20, 1966
025373,000027: 
025374,000028:                                                                                                  #  AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
025375,000029: 
025376,000030:                                                                                                  #  THIS "WAITLIST TASK" IS EXECUTED EVERY 2 SECONDS DURING ASCENT (APS) BURNS.  IT ESTIMATES THE ACCELERATION DUE
025377,000031:                                                                                                  #  TO THE ENGINE OFF-SET.  TO USE THESE ESTIMATES, IT ALSO CALCULATES TERMS TO ADD INTO THE LM DAP RATE DERIVATION
025378,000032:                                                                                                  #  AND WEIGHTING FACTORS FOR THE ESTIMATE OF AOS AND FOR THE RATE DERIVATION.  FINALLY, IT ALSO SETS UP "AOSJOB"
025379,000033:                                                                                                  #  THROUGH THE EXECUTIVE TO CALCULATE FUMCTIONS OF THE AOS.
025380,000034: 
025381,000035:                                                                                                  #  CALLING SEQUENCE:
025382,000036: 
025383,000037:                                                                                                  #                                          L -1     CAF    2SECSDAP
025384,000038:                                                                                                  #                                          L        TC     WAITLIST
025385,000039:                                                                                                  #                                                   EBANK= AOSQ
025386,000040:                                                                                                  #                                          L +1, +2 2CADR  AOSTASK
025387,000041:                                                                                                  #                                          L +3    (RETURN)
025388,000042: 
025389,000043:                                                                                                  #  NORMAL EXIT MODE: "TASKOVER"    ALARM/ABORT MODE: NONE.
025390,000044: 
025391,000045:                                                                                                  #  INPUT  APSGOING/DAPBOOLS
025392,000046:                                                                                                  #         AOSQ,AOSR
025393,000047:                                                                                                  #         COEFCTR
025394,000048:                                                                                                  #         OLDWFORQ,OLDWFORR
025395,000049:                                                                                                  #         SUMRATEQ,SUMRATER
025396,000050:                                                                                                  #         OMEGAQ,OMEGAR
025397,000051: 
025398,000052:                                                                                                  #  OUTPUT AOSQ,AOSR,AOSU,AOSV
025399,000053:                                                                                                  #         AOSQTERM,AOSRTERM
025400,000054:                                                                                                  #         SUMRATEQ,SUMRATER
025401,000055:                                                                                                  #         KCOEFCTR
025402,000056: 
025403,000057:                                                                                                  #  DEBRIS: A,L,ITEMP1,ITEMP2.
025404,000058: 
025405,000059:                                                                                                  #  THE FOLLOWING LM DAP ERASABLES ARE ZEROED IN THE STARTDAP SECTION OF THE DAPIDLER PROGRAM AND THE COASTASC
025406,000060:                                                                                                  #  SECTION OF THE AOSTASK.  THE ORDER MUST BE PRESERVED FOR THE INDEXING METHODS WHICH ARE EMPLOYED IN THOSE
025407,000061:                                                                                                  #  SECTIONS AND ELSEWHERE.
025408,000062: 
025409,000063:                                                                                                  #                                          AOSQ     ERASE   +3             ASCENT OFFSET ACCELERATION ESTIMATES:
025410,000064:                                                                                                  #                                          AOSR     EQUALS AOSQ +1         ESTIMATED EVERY 2 SECONDS BY AOSTASK.
025411,000065:                                                                                                  #                                          AOSU     EQUALS AOSQ +2         U,V-AXES ACCS FORMED BY VECTOR ADDITION.
025412,000066:                                                                                                  #                                          AOSV     EQUALS AOSQ +3         SCALED AT PI/2 RADIANS/SECOND(2).
025413,000067: 
025414,000068:                                                                                                  #                                          AOSQTERM ERASE   +1             (.1-.05K)AOS
025415,000069:                                                                                                  #                                          AOSRTERM EQUALS AOSQTERM +1     SCALED AT PI/4 RADIANS/SECOND.
025416,000070: 
025417,000071:                                                                                                  #                                          NJ+Q     ERASE   +7             2 JET OVER-RIDE FLAGS:
025418,000072:                                                                                                  #                                          NJ-Q     EQUALS NJ+Q +1         WHENEVER THE OFFSET ACCELERATION ABOUT
025419,000073:                                                                                                  #                                          NJ+R     EQUALS NJ+Q +2         AN AXIS IS SO HIGH THAT 2 JETS COULD NOT
025420,000074:                                                                                                  #                                          NJ-R     EQUALS NJ+Q +3         CONTROL ATTITUDE SUCCESSFULLY, THEN NJ
025421,000075:                                                                                                  #                                          NJ+U     EQUALS NJ+Q +4         FOR THAT AXIS (IN THE DIRECTION OPPOSING

Page 570

025423,000077:                                                                                                  #                                          NJ-U     EQUALS NJ+Q +5         AOS) IS SET TO 1.  OTHERWISE, THE VALUE
025424,000078:                                                                                                  #                                          NJ+V     EQUALS NJ+Q +6         IS ZERO.  THESE FLAGS PREVENT TWO JETS
025425,000079:                                                                                                  #                                          NJ-V     EQUALS NJ+Q +7         FROM BEING REQUESTED TO FIGHT THE AOS.
025426,000080: 

Page 571

025428,000082: 
025429,000083:                                                                                                  #  AOSTASK IS EXECUTED ONLY DURING POWERED ASCENT.  IF NO LONGER IN POWERED ASCENT, STOP THE CYCLING OF AOSTASK AND
025430,000084:                                                                                                  #  SET UP VARIABLES FOR COASTING ASCENT.
025431,000085: 
025432,000086: 20,3112                                           BANK     20                                    
025433,000087: 20,3112  E6,1652                                  EBANK=   AOSQ                                  
025434,000088: 
025435,000089: 20,3112           37746        AOSTASK            CAF      APSGOING                              #  TEST POWERED ASCENT FLAG:
025436,000090: 20,3113           70077                           MASK     DAPBOOLS                              #  0: NOT POWERED ASCENT (ASCENT COAST)
025437,000091: 20,3114           00006                           EXTEND                                         #  1: POWERED ASCENT
025438,000092: 20,3115           13275                           BZF      COASTASC                              #  (END CYCLE OF TASKS DURING ASCENT COAST)
025439,000093: 
025440,000094:                                                                                                  #  KEEP TRACK OF LENGTH OF BURN FOR DETERMINATION OF WEIGHTING FACTOR K:
025441,000095: 
025442,000096: 20,3116           31644                           CAE      KCOEFCTR                              #  TEST KCOEFCTR FOR INITIAL PASS.
025443,000097: 20,3117           00006                           EXTEND                                         
025444,000098: 20,3120           13255                           BZF      ZEROCOEF                              #  GO TO DISCONTINUITY SECTION FOR COEFFA.
025445,000099: 
025446,000100: 20,3121           63313                           AD       DEC-399                               #  TEST KCOEFCTR FOR CONSTANT RANGE WHICH
025447,000101: 20,3122           00006                           EXTEND                                         #  OCCURS WHEN DURATION OF BURN IS EQUAL TO
025448,000102: 
025449,000103: 20,3123           63125                           BZMF     +2                                    #  OR GREATER THAN 400 SECONDS.  (SINCE
025450,000104: 20,3124           13261                           TCF      KONENOW                               #  KCOEFCTR IS EVEN, 399 IS THE BREAK PT.)
025451,000105: 
025452,000106:                                                                                                  #  FORM WEIGHTING FACTOR FOR ASCENT OFFSET ACCELERATION FILTER:  COEFFA = 0.00125(T) + 0.25
025453,000107: 
025454,000108: 20,3125           33302                           CAF      0.00125                               #  COEFFA = 0.00125(T) + 0.25
025455,000109: 20,3126           00006                           EXTEND                                         
025456,000110: 20,3127           71644                           MP       KCOEFCTR                              #  KCOEFCTR = T SCALED AT 2(+14)
025457,000111: 20,3130           37741                           CAF      BIT13                                 #  (BIT13 = 1/4 = 0.25 SCALED AT 1.)
025458,000112: 20,3131           60001                           AD       L                                     
025459,000113: 20,3132           54062        COEFFAST           TS       COEFFA                                #  (VOLATILE STORAGE.)                  
025460,000114: 
025461,000115:                                                                                                  #  FORM WEIGHTING FACTOR FOR RATE DERIVATION: K = 0.0014(T) + 0.44
025462,000116: 
025463,000117: 20,3133           33303                           CAF      0.0014                                #  K = 0.0014(T) + 0.44
025464,000118: 20,3134           00006                           EXTEND                                         
025465,000119: 20,3135           71644                           MP       KCOEFCTR                              #  KCOEFCTR = T SCALED AT 2(+14)
025466,000120: 20,3136           33310                           CAF      0.44                                  
025467,000121: 20,3137           60001                           AD       L                                     
025468,000122: 20,3140           54061                           TS       K                                     #  (VOLATILE STORAGE.)
025469,000123: 20,3141           40000                           COM                                            
025470,000124: 20,3142           67735                           AD       POSMAX                                #  (1 BIT ERROR DOES DOES NOT COMPOUND.)
025471,000125: 20,3143           55636                           TS       (1-K)                                 #  (1-K) SCALED AT 1.
025472,000126: 
025473,000127: 20,3144           00006                           EXTEND                                         
025474,000128: 20,3145           77742                           MP       BIT12                                 
025475,000129: 20,3146           55637                           TS       (1-K)/8                               #  (1-K)/8 IS (1-K) SCALED AT 8.
025476,000130: 
025477,000131: 20,3147           30061                           CAE      K                                     #  WFORP = WFORQR = K/DT = K/.1 = 10K
025478,000132: 20,3150           00006                           EXTEND                                         #  SCALED AT 16/SECOND.
025479,000133: 20,3151           73311                           MP       0.625                                 #  (CHANGES SCALE FACTOR FROM 1 TO 16/SEC.)

Page 572

025481,000135: 20,3152           55634                           TS       WFORP                                 #  WFORP IS IDENTICAL WFORQR EXCEPT FOR THE
025482,000136: 20,3153           55635                           TS       WFORQR                                #  INITIALIZATION IN STARTDAP OF DAPIDLER.
025483,000137: 
025484,000138: 20,3154           40061                           CS       K                                     #  FORM (.1-.05K) FROM K SCALED AT 1 FOR
025485,000139: 20,3155           00006                           EXTEND                                         #  THE TORQUE VECTOR RECONSTRUCTION AND
025486,000140: 20,3156           73305                           MP       0.05                                  #  ALSO FORM (.1-.05K) SCALED AT 1/2 FOR
025487,000141: 20,3157           63306                           AD       0.1                                   #  THE OFFSET ACCELERATION TERM IN THE RATE
025488,000142: 20,3160           60000                           DOUBLE                                         #  EBANK6 FOR USE IN T5RUPT WHILE THE
025489,000143: 20,3161           54061                           TS       .1-.05K                               #  LATTER IS VOLATILE AND USED IN THIS TASK
025490,000144: 
025491,000145:                                                                                                  #  BEGIN ESTIMATE OF OFFSET ACCELERATION FOR Q,R-AXES:
025492,000146: 
025493,000147: 20,3162           30062        COEFFA1            CAE      COEFFA                                #  FORM COEFFA(AOSQ):
025494,000148: 20,3163           00006                           EXTEND                                         
025495,000149: 20,3164           71652                           MP       AOSQ                                  #  FIRST TERM OF NEW AOSQ ESTIMATE:
025496,000150: 20,3165           55652                           TS       AOSQ                                  #  SCALED AT PI/2 RADIANS/SECOND(2).
025497,000151: 
025498,000152: 20,3166           30062                           CAE      COEFFA                                #  FORM COEFFA(AOSR):
025499,000153: 20,3167           00006                           EXTEND                                         
025500,000154: 20,3170           71653                           MP       AOSR                                  #  FIRST TERM OF NEW AOSR ESTIMATE:
025501,000155: 20,3171           55653                           TS       AOSR                                  #  SCALED AT PI/2 RADIANS/SECOMD(2).
025502,000156: 
025503,000157: 20,3172           40062                           CS       COEFFA                                #  FORM .5(1-COEFFA) SCALED AT 2 FROM THE
025504,000158: 20,3173           00006                           EXTEND                                         #  COEFFA SCALED AT 1.  COEFFA IS NOW THE
025505,000159: 20,3174           77741                           MP       BIT13                                 #  SAME AS 2(COEFFA) SCALED AT 2, SO MUST
025506,000160: 20,3175           67741                           AD       BIT13                                 #  MULTIPLY BY 1/4 TO GET .5(COEFFA). THEN,
025507,000161: 
025508,000162: 20,3176           54062                           TS       .5-.5COF                              #  ADD 1/4 AS 1/2 SCALED AT 2 FOR RESULT.
025509,000163: 
025510,000164:                                                                                                  #  FINISH OFFSET ACCELERATION ESTIMATES:
025511,000165: 
025512,000166:                                                                                                  #  AOS  = COEFFA (AOS   ) + .5(1-COEFFA )(OMEGA -OMEGA   -SUMRATE )
025513,000167:                                                                                                  #     T        T     T-2               T       T      T-2        T
025514,000168: 
025515,000169: 20,3177           41417                           CS       OMEGAQ                                #  SAVE PRESENT -OMEGAQ FOR NEXT PASS AND
025516,000170: 20,3200           57623                           XCH      OLDWFORQ                              #  PICK UP -(LAST OMEGAQ) FROM OLDWFORQ.
025517,000171: 20,3201           00006                           EXTEND                                         
025518,000172: 20,3202           61621                           SU       SUMRATEQ                              #  FORM: W - OLDW - SUMRATE = SUM (Q-AXIS).
025519,000173: 20,3203           61417                           AD       OMEGAQ                                #  SCALED AT PI/4 RADIANS/SECOND.
025520,000174: 20,3204           00006                           EXTEND                                         
025521,000175: 20,3205           70062                           MP       .5-.5COF                              #  AOSQ = COEFFA(AOSQ)+.5(1-COEFFA)(SUMQ)
025522,000176: 20,3206           27652                           ADS      AOSQ                                  #  SCALED AT PI/2 RADIANS/SECOND(2).
025523,000177: 
025524,000178: 20,3207           41421                           CS       OMEGAR                                #  SAVE PRESENT -OMEGAQ FOR NEXT PASS AND
025525,000179: 20,3210           57624                           XCH      OLDWFORR                              #  PICK UP -(LAST OMEGAR) FROM OLDWFORR.
025526,000180: 20,3211           00006                           EXTEND                                         
025527,000181: 20,3212           61622                           SU       SUMRATER                              #  FORM: W - OLDW - SUMRATE = SUM (R-AXIS).
025528,000182: 20,3213           61421                           AD       OMEGAR                                #  SCALED AT PI/4 RADIANS/SECOND.
025529,000183: 20,3214           00006                           EXTEND                                         
025530,000184: 20,3215           70062                           MP       .5-.5COF                              #  AOSR = COEFFA(AOSR)+.5(1-COEFFA)(SUMR)
025531,000185: 
025532,000186: 20,3216           27653                           ADS      AOSR                                  #  SCALED AT PI/2 RADIANS/SECOND(2).
025533,000187: 

Page 573

025535,000189:                                                                                                  #  CALCULATE THE OFFSET ACCELERATIONS FOR THE U,V-AXES:
025536,000190: 
025537,000191: 20,3217           31652                           CAE      AOSQ                                  #  FIRST, CALCULATE AOSU:
025538,000192: 20,3220           61653                           AD       AOSR                                  
025539,000193: 20,3221           00006                           EXTEND                                         
025540,000194: 20,3222           73312                           MP       0.70711                               
025541,000195: 20,3223           55654                           TS       AOSU                                  #  SCALED AT PI/2 RADIANS/SECOND(2).
025542,000196: 
025543,000197: 20,3224           41652                           CS       AOSQ                                  #  THEN, CALCULATE AOSV:
025544,000198: 20,3225           61653                           AD       AOSR                                  
025545,000199: 20,3226           00006                           EXTEND                                         
025546,000200: 20,3227           73312                           MP       0.70711                               
025547,000201: 20,3230           55655                           TS       AOSV                                  #  SCALED AT PI/2 RADIANS/SECOND(2).
025548,000202: 
025549,000203:                                                                                                  #  FORM TERMS FOR RATE DERIVATION:
025550,000204: 
025551,000205: 20,3231           30061                           CAE      .1-.05K                               #  FORM Q-AXIS RATE DERIVATION TERM:
025552,000206: 20,3232           00006                           EXTEND                                         
025553,000207: 20,3233           71652                           MP       AOSQ                                  #  AOSQTERM = (.1-.05K)AOSQ
025554,000208: 20,3234           55656                           TS       AOSQTERM                              #  SCALED AT PI/4 RADIANS/SECOND.
025555,000209: 
025556,000210: 20,3235           30061                           CAE      .1-.05K                               #  FORM R-AXIS RATE DERIVATION TERM:
025557,000211: 20,3236           00006                           EXTEND                                         
025558,000212: 20,3237           71653                           MP       AOSR                                  #  AOSRTERM = (.1-.05K)AOSR
025559,000213: 20,3240           55657                           TS       AOSRTERM                              #  SCALED AT PI/4 RADIANS/SECOND.
025560,000214: 
025561,000215:                                                                                                  #  SET UP AOS JOB FOR THE NEWEST OFFSET ACCELERATION ESTIMATES:
025562,000216: 
025563,000217: 20,3241           34260                           CAF      PRIO24                                #  *** VERIFY PRIORITY. ***
025564,000218: 20,3242           05523                           TC       NOVAC                                 #  SET UP AOSJOB.
025565,000219: 20,3243  E6,1652                                  EBANK=   AOSQ                                  
025566,000220: 20,3243           03327 40006                     2CADR    AOSJOB                                
025567,000221: 
025568,000222:                                                                                                  #  SET ERASABLES FOR NEXT 2 SECOND INTERVAL:
025569,000223: 
025570,000224: 20,3245           37754                           CAF      TWO                                   #  INCREMENT BURN DURATION TIMER BY 2 SECS.
025571,000225: 20,3246           27644                           ADS      KCOEFCTR                              
025572,000226: 
025573,000227: 20,3247           37761                           CAF      ZERO                                  #  INITIALIZE SUMS OF JETRATES.
025574,000228: 20,3250           55621                           TS       SUMRATEQ                              
025575,000229: 20,3251           55622                           TS       SUMRATER                              
025576,000230: 
025577,000231:                                                                                                  #  SET UP NEXT WAITLIST AOSTASK FOR 2 SECONDS FROM NOW:
025578,000232: 
025579,000233: 20,3252           33316                           CAF      2SECSDAP                              
025580,000234: 20,3253           05722                           TC       VARDELAY                              #  (STORAGE-SAVING WAITLIST CALL.)
025581,000235: 20,3254           13112                           TCF      AOSTASK                               #  RETURNS HERE IN TWO SECONDS.
025582,000236: 

Page 574

025584,000238:                                                                                                  #  SPECIAL DISCONTINUITY SECTION FOR COEFFA ON FIRST PASS:
025585,000239: 
025586,000240: 20,3255           37754        ZEROCOEF           CAF      TWO                                   #  INITIALIZE BURN DURATION TIMER TO TWO
025587,000241: 20,3256           55644                           TS       KCOEFCTR                              #  SECONDS FOR THE DERIVATION OF K.
025588,000242: 
025589,000243: 20,3257           37761                           CAF      ZERO                                  #  FOR THE FIRST PASS, SET COEFFA TO ZERO
025590,000244: 20,3260           13132                           TCF      COEFFAST                              #  SINCE AOS ESTIMATES ARE NOW USELESS.
025591,000245: 
025592,000246:                                                                                                  #  SPECIAL K AND COEFFA SETTINGS FOR BURNS LASTING 400 SECONDS OR MORE:
025593,000247: 
025594,000248: 20,3261           00006        KONENOW            EXTEND                                         #  K=1, SO 1-K AT EITHER SCALING IS ZERO.
025595,000249: 20,3262           33315                           DCA      DPZEROX                               #  (1-K)   SCALED AT 1.
025596,000250: 20,3263           53637                           DXCH     (1-K)                                 #  (1-K)/8 SCALED AT 8.
025597,000251: 
025598,000252: 20,3264           33311                           CAF      0.625                                 #  WFORP = WFORQR = K/DT = K/.1 = 10K = 10
025599,000253: 20,3265           55634                           TS       WFORP                                 #  SCALED AT 16/SECOND.
025600,000254: 20,3266           55635                           TS       WFORQR                                
025601,000255: 
025602,000256: 20,3267           33305                           CAF      0.05                                  #  (.1-.05K) = 0.05
025603,000257: 20,3270           60000                           DOUBLE                                         #  (DOUBLING SAVES CONSTANT STORAGE.)
025604,000258: 20,3271           54061                           TS       .1-.05K                               #  SCALED AT 1/2. (VOLATILE STORAGE.)
025605,000259: 
025606,000260: 20,3272           35226                           CAF      BIT13-14                              #  COEFFA = 0.75
025607,000261: 20,3273           54062                           TS       COEFFA                                #  SCALED AT 1.   (VOLATILE STORAGE.)
025608,000262: 
025609,000263: 20,3274           13162                           TCF      COEFFA1                               #  GO BEGIN OFFSET ACCELERATION ESTIMATE.
025610,000264: 
025611,000265:                                                                                                  #  SHUT-DOWN PROCEDURE AFTER ASCENT COAST DETECTION:
025612,000266: 
025613,000267: 20,3275           34260        COASTASC           CAF      PRIO24                                #  *** VERIFY PRIORITY. ***
025614,000268: 20,3276           05523                           TC       NOVAC                                 #  SET UP FINAL AOSJOB FOR THIS APS BURN.
025615,000269: 20,3277  E6,1652                                  EBANK=   AOSQ                                  
025616,000270: 20,3277           03327 40006                     2CADR    AOSJOB                                
025617,000271: 
025618,000272: 20,3301           15745                           TCF      TASKOVER                              #  END AOSTASK CYCLING FOR THIS APS BURN.
025619,000273: 

Page 575

025621,000275:                                                                                                  #  CONSTANTS FOR AOSTASK:
025622,000276: 
025623,000277: 20,3302           00024        0.00125            DEC      0.00125                               
025624,000278: 20,3303           00027        0.0014             DEC      0.0014                                
025625,000279: 20,3304           00111        0.00444            DEC      0.00444                               
025626,000280: 20,3305           01463        0.05               DEC      0.05                                  
025627,000281: 20,3306           03146        0.1                DEC      0.1                                   
025628,000282: 20,3307           12000        0.3125             DEC      0.3125                                
025629,000283: 20,3310           16051        0.44               DEC      0.44                                  
025630,000284: 20,3311           24000        0.625              DEC      0.625                                 
025631,000285: 20,3312           26501        0.70711            DEC      0.70711                               
025632,000286: 20,3313           77160        DEC-399            DEC      -399       B-14                       
025633,000287: 20,3314           00000 00000  DPZEROX            2DEC     0          B-28                       
025634,000288: 
025635,000289: 20,3316           00310        2SECSDAP           DEC      200        B-14                       
025636,000290: 20,3317           20000        (1-K)S             DEC      0.5                                   
025637,000291: 20,3320           02000                           DEC      0.0625                                
025638,000292: 

Page 576

025640,000294:                                                                                                  #  PROGRAM NAME: WCHANGER          MOD. NO. 0  DATE: DECEMBER 9, 1966
025641,000295: 
025642,000296: 20,3321           15745                           TCF      TASKOVER                              
025643,000297: 
025644,000298:                                                                                                  #  THIS PROGRAM IS A WAITLIST TASK WHICH IS INITIATED FROM THE STARTDAP SECTION OF DAPIDLER.  IT IS EXECUTED
025645,000299:                                                                                                  #  BETWEEN THE FIRST Q,R-AXES T5RUPT AND THE SECOND P-AXIS T5RUPT (I.E. 180 MS AFTER STARTDAP).  THE PURPOSE OF
025646,000300:                                                                                                  #  WCHANGER IS TO RESET THE VARIABLE K (IN ALL ITS FORMS) FOR THE RATE DERIVATION FROM 1 TO 0.5.  (IT ALSO SETS THE
025647,000301:                                                                                                  #  NOMINAL LM DAP DT TO 100 MS.)
025648,000302: 
025649,000303:                                                                                                  #  CALLING SEQUENCE (FROM STARTDAP):
025650,000304: 
025651,000305:                                                                                                  #                                          L -1     CAF    180MS
025652,000306:                                                                                                  #                                          L        TC     WAITLIST
025653,000307:                                                                                                  #                                                   EBANK= WFORQR
025654,000308:                                                                                                  #                                          L +1     2CADR  WCHANGER
025655,000309:                                                                                                  #                                          L +2    (BBCON)
025656,000310:                                                                                                  #                                          L +3    (RETURN)
025657,000311: 
025658,000312:                                                                                                  #  SUBROUTINES CALLED: WCHANGE.    NORMAL EXIT: TASKOVER.
025659,000313: 
025660,000314:                                                                                                  #  INPUT: NONE.                    ALARM/ABORT EXITS: NONE.
025661,000315: 
025662,000316:                                                                                                  #  OUTPUT: WFORP,WFORQR,(1-K),(1-K)/8.
025663,000317: 
025664,000318: 20,3322           05307        WCHANGER           TC       IBNKCALL                              #  (WAITLIST TASK IS IN T3RUPT.)
025665,000319: 20,3323           40106                           FCADR    WCHANGE                               #  SUBROUTINE DOES SETTING TO SAVE SPACE.
025666,000320: 
025667,000321: 20,3324           15745                           TCF      TASKOVER                              #  END THIS TASK.
025668,000322: 

Page 577

025670,000324:                                                                                                  #  INERPOLY COMPUTES IXX, IYY, IZZ, AND, IN DESCENT, L,PVT-CG.
025671,000325:                                                                                                  #  AFTER THE INERTIAS ARE COMPUTED, THEY ARE USED TO COMPUTE NEW VALUES OF
025672,000326:                                                                                                  #  1JACC, 1JACCQ, 1JACCR, 1JACCU, 1JACCV AND 1/2JTSP.
025673,000327:                                                                                                  #  INERPOLY EXITS BY .... TCF ENDOFJOB
025674,000328: 
025675,000329: 
025676,000330: 26,2611                                           BANK     26                                    
025677,000331: 
025678,000332: 26,2611  E6,1452                                  EBANK=   IXX                                   
025679,000333: 26,2611           37754        INERPOLY           CA       BIT2                                  
025680,000334: 26,2612           00006                           EXTEND                                         
025681,000335: 26,2613           02030                           RAND     30                                    
025682,000336: 26,2614           10000                           CCS      A                                     #  CHOOSES ASCENT OR DESCENT COEF
025683,000337: 26,2615           46301                           CS       THREE                                 
025684,000338: 26,2616           66276                           AD       SIX                                   
025685,000339: 26,2617           55620                           TS       INERCTRX                              
025686,000340: 
025687,000341: 26,2620           37754                           CAF      TWO                                   
025688,000342: 26,2621           55617        STCTR              TS       INERCTR                               #  J=2,1,0 FOR IZZ,IYY,IXX
025689,000343: 
025690,000344: 26,2622           00006                           EXTEND                                         
025691,000345: 26,2623           27620                           DIM      INERCTRX                              #  JX=5,4,3 OR 2,1,0 FOR Z,Y,X COEF
025692,000346: 
025693,000347: 26,2624           31332        STCTR1             CA       MASS                                  #  IN KGS (+15)
025694,000348: 26,2625           00006                           EXTEND                                         
025695,000349: 26,2626           51620                           INDEX    INERCTRX                              
025696,000350: 26,2627           72720                           MP       INERCONC                              
025697,000351: 26,2630           51620                           INDEX    INERCTRX                              
025698,000352: 26,2631           62727                           AD       INERCONB                              
025699,000353: 26,2632           00006                           EXTEND                                         
025700,000354: 26,2633           71332                           MP       MASS                                  
025701,000355: 
025702,000356: 26,2634           51620                           INDEX    INERCTRX                              
025703,000357: 26,2635           62736                           AD       INERCONA                              
025704,000358: 26,2636           51617                           INDEX    INERCTR                               
025705,000359: 26,2637           55452                           TS       IXX                                   #  I(J)=(C(JX)MASS+B(JX))MASS+A(JX)  (+18)
025706,000360:                                                                                                  #  I(-1)=L,PVT-CG  (+6)
025707,000361: 
025708,000362: 26,2640           11617                           CCS      INERCTR                               #  COUNTER 2,1,0,-1
025709,000363: 26,2641           12621                           TCF      STCTR                                 
025710,000364: 26,2642           12644                           TCF      COMMEQS                               
025711,000365: 26,2643           12711                           TCF      LRESC                                 
025712,000366: 
025713,000367: 26,2644           00006        COMMEQS            EXTEND                                         
025714,000368: 26,2645           32745                           DCA      TORKJET                               #  500 FT-LBS. (+16) PI
025715,000369: 26,2646           00006                           EXTEND                                         
025716,000370: 26,2647           11452                           DV       IXX                                   
025717,000371: 26,2650           55612                           TS       1JACC                                 #  SCALED BY PI/4
025718,000372: 
025719,000373: 26,2651           00006                           EXTEND                                         
025720,000374: 26,2652           32747                           DCA      TORKJET1                              #  550 FT-LBS. (+16) PI
025721,000375: 

Page 578

025723,000377: 26,2653           00006                           EXTEND                                         
025724,000378: 26,2654           11453                           DV       IYY                                   
025725,000379: 26,2655           55613                           TS       1JACCQ                                #  SCALED BY PI/4
025726,000380: 
025727,000381: 26,2656           00006                           EXTEND                                         
025728,000382: 26,2657           32747                           DCA      TORKJET1                              #  550 FT-LBS. (+16) PI
025729,000383: 26,2660           00006                           EXTEND                                         
025730,000384: 26,2661           11454                           DV       IZZ                                   
025731,000385: 26,2662           55614                           TS       1JACCR                                #  SCALED BY PI/4
025732,000386: 
025733,000387: 26,2663           61613                           AD       1JACCQ                                
025734,000388: 26,2664           00006                           EXTEND                                         
025735,000389: 26,2665           72610                           MP       0.35356                               #  .70711 SCALED BY (+1)
025736,000390: 26,2666           55615                           TS       1JACCU                                
025737,000391: 
025738,000392: 26,2667           55616                           TS       1JACCV                                #  SCALED BY PI/4
025739,000393: 
025740,000394: 26,2670           32750                           CAF      4JTORK                                
025741,000395: 26,2671           55441                           TS       1/2JTSP                               
025742,000396: 26,2672           31452                           CAE      IXX                                   
025743,000397: 26,2673           00006                           EXTEND                                         
025744,000398: 26,2674           11441                           DV       1/2JTSP                               
025745,000399: 26,2675           60000                           DOUBLE                                         
025746,000400: 26,2676           55441                           TS       1/2JTSP                               #  SCALED BY 1/PI (+8)
025747,000401: 
025748,000402: 26,2677           37754                           CAF      BIT2                                  
025749,000403: 26,2700           00006                           EXTEND                                         
025750,000404: 26,2701           02030                           RAND     30                                    
025751,000405: 26,2702           10000                           CCS      A                                     #  COMPUTE L,PVT-CG IF IN DESCENT
025752,000406: 26,2703           12705                           TCF      DES                                   
025753,000407: 26,2704           15605                           TCF      ENDOFJOB                              
025754,000408: 
025755,000409: 26,2705           47755        DES                CS       ONE                                   
025756,000410: 26,2706           55617                           TS       INERCTR                               
025757,000411: 26,2707           55620                           TS       INERCTRX                              
025758,000412: 26,2710           12624                           TCF      STCTR1                                
025759,000413: 
025760,000414: 26,2711           31451        LRESC              CA       L,PVT-CG                              #  SCALED BY (+6)
025761,000415: 
025762,000416: 26,2712           60000                           DOUBLE                                         
025763,000417: 26,2713           60000                           DOUBLE                                         
025764,000418: 26,2714           60000                           DOUBLE                                         
025765,000419: 26,2715           55451                           TS       L,PVT-CG                              #  SCALED BY (+3)
025766,000420: 26,2716           15605                           TCF      ENDOFJOB                              
025767,000421: 
025768,000422: 
025769,000423: 26,2717           30126                           DEC      0.75524                               #  L
025770,000424: 26,2720           00353        INERCONC           DEC      0.01432                               #  XD
025771,000425: 26,2721           52653                           DEC      -0.66136                              #  YD
025772,000426: 26,2722           52136                           DEC      -0.68173                              #  ZD
025773,000427: 26,2723           01502                           DEC      0.05092                               #  XA

Page 579

025775,000429: 26,2724           53060                           DEC      -0.65325                              #  YA                       
025776,000430: 26,2725           54667                           DEC      -0.59815                              #  ZA                       
025777,000431: 26,2726           52265                           DEC      -0.67640                              #  L
025778,000432: 26,2727           05346        INERCONB           DEC      0.17030                               #  XD
025779,000433: 26,2730           25066                           DEC      0.65955                               #  YD                       
025780,000434: 26,2731           24131                           DEC      0.63041                               #  ZD                      
025781,000435: 26,2732           05613                           DEC      0.18033                               #  XA                        
025782,000436: 26,2733           06433                           DEC      0.20478                               #  YA                         
025783,000437: 26,2734           13626                           DEC      0.36855                               #  ZA                        
025784,000438: 26,2735           06324                           DEC      0.20044                               #  L                         
025785,000439: 26,2736           00157        INERCONA           DEC      0.00676                               #  XD                        
025786,000440: 26,2737           76031                           DEC      -0.06090                              #  YD                       
025787,000441: 26,2740           76456                           DEC      -0.04403                              #  ZD                         
025788,000442: 26,2741           77670                           DEC      -0.00435                              #  XA                        
025789,000443: 26,2742           77743                           DEC      -0.00170                              #  YA                        
025790,000444: 26,2743           77242                           DEC      -0.02132                              #  ZA
025791,000445: 
025792,000446: 26,2744           00047 31173  TORKJET            2DEC     0.002428512                            
025793,000447: 
025794,000448: 26,2746           00053 30441  TORKJET1           2DEC     0.002671365                            
025795,000449: 
025796,000450: 26,2750           23712        4JTORK             DEC      .62170                                
025797,000451: 

Page 580

025799,000453:                                                                                                  #  PROGRAM NAME: AOSJOB            MOD. NO. 0   DATE: DECEMBER 2, 1966
025800,000454:                                                                                                  #  PROGRAM DESIGN BY: RICHARD D. GOSS (MIT/IL)
025801,000455: 
025802,000456:                                                                                                  #  IMPLEMENTATION BY: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
025803,000457: 
025804,000458:                                                                                                  #  THE PROGRAM IS AN EXECUTIVE JOB WHICH CALCULATES THE FOLLOWING QUANTITIES FOR THE LM DAP T5RUPT PROGRAMS:
025805,000459:                                                                                                  #           1. THE INVERSES OF THE NET ACCELERATIONS ABOUT ALL AXES (Q,R,U,V), IN ALL DIRECTIONS (+/-), AND ALL
025806,000460:                                                                                                  #              COMBINATIONS OF JETS (2/4 FOR Q,R AND 1/2 FOR U,V).
025807,000461:                                                                                                  #           2. THE INVERSES OF THE MINIMUM ACCELERATIONS FOR THE URGENCY AND TJETLAW COMPUTATION, DURING APS BURNS.
025808,000462:                                                                                                  #           3. THE INITIAL INVERSE NET ACCELERATIONS USED FOR THE URGENCY COMPUTATION, DURING APS BURNS.
025809,000463:                                                                                                  #           4. THE NJ FLAGS TO REQUIRE MANDATORY JET ACCELERATION DURING APS BURNS.
025810,000464: 
025811,000465:                                                                                                  #  CALLING SEQUENCE:               SUBROUTINES CALLED: INVACC.
025812,000466: 
025813,000467:                                                                                                  #                                          L -1     CAF    PRIO24
025814,000468:                                                                                                  #                                          L        TC     NOVAC
025815,000469:                                                                                                  #                                                   EBANK= AOSQ
025816,000470:                                                                                                  #                                          L +1     2CADR  AOSJOB
025817,000471:                                                                                                  #                                          L +2    (BBCON)
025818,000472:                                                                                                  #                                          L +3    (RETURN)
025819,000473: 
025820,000474:                                                                                                  #  NORMAL EXIT: ENDOFJOB.          ALARM/ABORT EXITS: NONE.
025821,000475: 
025822,000476:                                                                                                  #  INPUT: AOSQ,AOSR,AOSU,AOSV,1JACCQ,1JACCR,1JACCU,1JACCV,APSGOING/DAPBOOLS.
025823,000477: 
025824,000478:                                                                                                  #  DEBRIS: NONE.
025825,000479: 

Page 581

025827,000481: 20,3325                                           BANK     20                                    
025828,000482: 20,3325  E6,1652                                  EBANK=   AOSQ                                  
025829,000483: 
025830,000484: 20,3325           73731        -.02R/S2           DEC      -.12732                               #  -.02 RADIANS/SECOND(2) SCALED AT PI/2
025831,000485: 20,3326           11642        ACCFIFTY           DEC      0.30679                               #  .5(50) SEC(2)/RAD SCALED AT 2(+8)/PI.                         
025832,000486: 
025833,000487:                                                                                                  #  SET UP LOOP FOR FOUR AXES (IN THE ORDER: V,U,R,Q):
025834,000488: 
025835,000489: 20,3327           37753        AOSJOB             CAF      FOUR                                  #  "JOBAXES" IS USED TO PICK UP ONE OF FOUR
025836,000490: 20,3330           54144        INVLOOP            TS       JOBAXES                               #  ADJACENT REGISTERS, ALSO TO COUNT LOOP.
025837,000491: 
025838,000492:                                                                                                  #  SET UP "TABPLACE" TO STORE 1/NETACC TABLE:
025839,000493: 
025840,000494: 20,3331           00006                           EXTEND                                         #  TABPLACE = 4(JOBAXES)
025841,000495: 20,3332           77753                           MP       FOUR                                  #  SINCE THERE ARE FOUR ENTRIES PER AXIS.
025842,000496: 20,3333           22146                           LXCH     TABPLACE                              
025843,000497: 
025844,000498:                                                                                                  #                                                       2
025845,000499:                                                                                                  #             2(1JACC   ) + AOS    - 0.02 RADIANS/SECOND  GREATER THAN ZERO
025846,000500:                                                                                                  #                    Q,R       Q,R
025847,000501:                                                                                                  #          OR                                           2
025848,000502:                                                                                                  #                1JACC    + AOS    - 0.02 RADIANS/SECOND  GREATER THAN ZERO
025849,000503:                                                                                                  #                     U,V      U,V
025850,000504: 
025851,000505: 20,3334           50144                           INDEX    JOBAXES                               #  THE INDEXED PICK-UP OF JET ACCELERATIONS
025852,000506: 20,3335           31613                           CAE      1JACCQ                                #  USES THE FOLLOWING HAPPY COINCIDENCE:
025853,000507: 20,3336           54150                           TS       TEMPACC                               #  1JACCU AND 1JACCV ARE SCALED AT PI/2 AS
025854,000508: 20,3337           50144                           INDEX    JOBAXES                               #  ARE AOSU AND AOSV.  1JACCQ AND 1JACCR
025855,000509: 20,3340           61652                           AD       AOSQ                                  #  ARE SCALED AT PI/4 AND THEREFORE ARE
025856,000510: 20,3341           54151                           TS       TEMPNET                               #  EQUIVALENT TO 2(1JACCQ) AND 2(1JACCR)
025857,000511: 20,3342           63325                           AD       -.02R/S2                              #  SCALED AT PI/2 AS ARE AOSQ AND AOSR.
025858,000512: 20,3343           00006                           EXTEND                                         #  -.02R/S2 IS -0.02 RADIANS/SECOND(2),PI/2 
025859,000513: 
025860,000514: 20,3344           63634                           BZMF     FIFTY1                                #  (BRANCH FOR CONSTANT VALUE OF INVERSE.)
025861,000515: 
025862,000516:                                                                                                  #             1/NET+2    = 1/( 2(1JACC   ) + AOS   )
025863,000517:                                                                                                  #                    Q,R              Q,R       Q,R
025864,000518:                                                                                                  #         OR
025865,000519:                                                                                                  #             1/NET+1    = 1/(   1JACC    + AOS   )
025866,000520:                                                                                                  #                    U,V              U,V      U,V
025867,000521: 
025868,000522: 20,3345           03644                           TC       INVACC                                
025869,000523: 20,3346           50146        FIFTY1R            INDEX    TABPLACE                              
025870,000524: 20,3347           55670                           TS       1/NET+2Q                              #  SCALED AT 2(+8)/PI SECONDS(2)/RADIAN.
025871,000525: 
025872,000526:                                                                                                  #                                                       2
025873,000527:                                                                                                  #             2(1JACC   ) - AOS    - 0.02 RADIANS/SECOND  GREATER THAN ZERO
025874,000528:                                                                                                  #                    Q,R       Q,R
025875,000529:                                                                                                  #         OR                                            2
025876,000530:                                                                                                  #               1JACC     - AOS    - 0.02 RADIANS/SECOND  GREATER THAN ZERO
025877,000531:                                                                                                  #                    U,V       U,V
025878,000532: 

Page 582

025880,000534: 20,3350           50144                           INDEX    JOBAXES                               #  THIS SECTION USES THE INDEXING TRICKS OF
025881,000535: 20,3351           41652                           CS       AOSQ                                  #  THE FIRST PART (ABOVE), BUT USES THE
025882,000536: 20,3352           54147                           TS       TEMPAOS                               #  TEMPORARY LOCATIONS AS FOLLOWS:
025883,000537: 20,3353           60150                           AD       TEMPACC                               #  "TEMPAOS" SAVES -AOS FOR THIS AXIS.
025884,000538: 20,3354           54151                           TS       TEMPNET                               #  "TEMPACC" HAS THE JET ACCELERATION.
025885,000539: 20,3355           63325                           AD       -.02R/S2                              #  "TEMPNET" SAVES (JETACC-AOS) FOR DENOM.
025886,000540: 20,3356           00006                           EXTEND                                         #  -.02R/S2 IS -0.02 RADIANS/SECOND(2),PI/2
025887,000541: 20,3357           63636                           BZMF     FIFTY2                                #  (BRANCH FOR CONSTANT VALUE OF INVERSE.)
025888,000542: 
025889,000543:                                                                                                  #             1/NET-2    = 1/( 2(1JACC  ) - AOS   )
025890,000544:                                                                                                  #                    Q,R             Q,R       Q,R
025891,000545:                                                                                                  #         OR
025892,000546:                                                                                                  #             1/NET-1    = 1/( 1JACC    - AOS   )
025893,000547:                                                                                                  #                    U,V            U,V      U,V
025894,000548: 
025895,000549: 20,3360           03644                           TC       INVACC                                
025896,000550: 20,3361           50146        FIFTY2R            INDEX    TABPLACE                              
025897,000551: 20,3362           55672                           TS       1/NET-2Q                              #  SCALED AT 2(+8)/PI SECONDS(2)/RADIAN.
025898,000552: 
025899,000553:                                                                                                  #             1/NET-4    = 1/( 4(1ACC    - AOS   )
025900,000554:                                                                                                  #                    Q,R              Q,R       Q,R
025901,000555:                                                                                                  #         OR
025902,000556:                                                                                                  #             1/NET-2    = 1/( 2(1JACC   ) - AOS   )
025903,000557:                                                                                                  #                    U,V              U,V       U,V
025904,000558: 
025905,000559: 20,3363           30150                           CAE      TEMPACC                               #  FIRST, FROM 2(1JACCQ,R) FORM 4(1JACCQ,R)
025906,000560: 20,3364           60000                           DOUBLE                                         #  OR FROM 1JACCU,V FORM 2(1JACCU,V) AND
025907,000561: 20,3365           54150                           TS       TEMPACC                               #  SAVE FOR NEXT INVERSE CALCULATION.
025908,000562: 20,3366           60147                           AD       TEMPAOS                               #  THEN, COMPUTE EITHER 4(1JACCQ,R)-AOSQ,R
025909,000563: 20,3367           54151                           TS       TEMPNET                               #  OR 2(1JACCU,V)-AOSU,V SCALED AT PI/2.
025910,000564: 
025911,000565: 20,3370           03644                           TC       INVACC                                
025912,000566: 20,3371           50146                           INDEX    TABPLACE                              
025913,000567: 20,3372           55673                           TS       1/NET-4Q                              #  SCALED AT 2(+8)/PI SECONDS(2)/RADIAN.
025914,000568: 

Page 583

025916,000570:                                                                                                  #             1/NET+4    = 1/( 4(1ACC    + AOS   )
025917,000571:                                                                                                  #                    Q,R              Q,R       Q,R
025918,000572:                                                                                                  #         OR
025919,000573:                                                                                                  #             1/NET+2    = 1/( 2(1JACC   ) + AOS   )
025920,000574:                                                                                                  #                    U,V              U,V       U,V
025921,000575: 
025922,000576: 20,3373           40147                           CS       TEMPAOS                               #  FIRST, COMPUTE EITHER 4(1JACCQ,R)+AOSQ,R
025923,000577: 20,3374           60150                           AD       TEMPACC                               #  OR 2(1JACCU,V)+AOSU,V AND SAVE FOR THE
025924,000578: 20,3375           54151                           TS       TEMPNET                               #  DIVISION (SCALED AT PI/2 RADIANS/SECOND)
025925,000579: 
025926,000580: 20,3376           03644                           TC       INVACC                                
025927,000581: 20,3377           50146                           INDEX    TABPLACE                              
025928,000582: 20,3400           55671                           TS       1/NET+4Q                              #  SCALED AT 2(+8)/PI RADIANS(2)/SECOND.
025929,000583: 
025930,000584:                                                                                                  #  TEST FOR END OF LOOP:
025931,000585: 
025932,000586: 20,3401           10144                           CCS      JOBAXES                               #  IF "JOBAXES" PNZ, CONTINUE.
025933,000587: 20,3402           13330                           TCF      INVLOOP                               #  IF "JOBAXES" ZERO, STOP.
025934,000588: 
025935,000589:                                                                                                  #  TEST FOR ASCENT PROPULSION SYSTEM BURN:
025936,000590: 
025937,000591: 20,3403           37746                           CAF      APSGOING                              #  IF LM IS IN COAST OR IN A DESCENT BURN,
025938,000592: 20,3404           70077                           MASK     DAPBOOLS                              #  THEN THE AOSJOB IS TRIVIAL FROM HERE
025939,000593: 20,3405           10000                           CCS      A                                     #  AND THIS TEST REDUCES THE COMPUTATION
025940,000594: 20,3406           13414                           TCF      ASCJOB                                #  TIME IN THOSE CASES.
025941,000595: 
025942,000596:                                                                                                  #  FILL IN DESCENT BURN OR COAST VALUES QUICKLY:
025943,000597: 
025944,000598: 20,3407           31670                           CAE      1/NET+2Q                              #  FOR Q-AXIS URGENCY.
025945,000599: 20,3410           55711                           TS       1/ACCQ                                
025946,000600: 20,3411           31674                           CAE      1/NET+2R                              #  FOR R-AXIS URGENCY.
025947,000601: 20,3412           55712                           TS       1/ACCR                                
025948,000602: 
025949,000603: 20,3413           15605                           TCF      ENDOFJOB                              #  END THIS ITERATION OF AOSJOB.             
025950,000604: 

Page 584

025952,000606:                                                                                                  #  IN ASCENT BURN, SO SET UP Q,R-AXES LOOP:
025953,000607: 
025954,000608: 20,3414           37755        ASCJOB             CAF      ONE                                   #  SET UP THE TABLE INDICES:
025955,000609: 20,3415           54144        QRJOB              TS       JOBAXES                               
025956,000610: 20,3416           60000                           DOUBLE                                         #  AOS TABLE USES "JOBAXES"  (ADJACENT).
025957,000611: 20,3417           54145                           TS       NJPLACE                               #  NJ  TABLE USES "NJPLACE"  (ONE APART).
025958,000612: 20,3420           60000                           DOUBLE                                         #  NET TABLE USES "TABPLACE" (THREE APART).
025959,000613: 20,3421           54146                           TS       TABPLACE                              
025960,000614: 
025961,000615:                                                                                                  #  TEST ABVAL(AOS   ) - 0.02 RADIANS/SECOND(2) GREATER THAN ZERO:
025962,000616:                                                                                                  #                Q,R
025963,000617: 
025964,000618: 20,3422           50144                           INDEX    JOBAXES                               #  FORM ABVAL(AOS   ) AND SAVE FOR INVACC.
025965,000619: 20,3423           11652                           CCS      AOSQ                                  #                Q,R
025966,000620: 20,3424           67755                           AD       ONE                                   
025967,000621: 20,3425           13427                           TCF      +2                                    
025968,000622: 20,3426           67755                           AD       ONE                                   
025969,000623: 20,3427           54151                           TS       TEMPNET                               
025970,000624: 20,3430           63325                           AD       -.02R/S2                              #  -0.02 RADIANS/SECOND(2) AT PI/2.
025971,000625: 20,3431           00006                           EXTEND                                         
025972,000626: 20,3432           63640                           BZMF     FIFTY3                                #  (BRANCH FOR CONSTANT VALUE OF INVERSE.)
025973,000627: 
025974,000628:                                                                                                  #  CALCULATE 1/AMIN    = 1/ABVAL(AOS   ):
025975,000629:                                                                                                  #                  Q,R              Q,R
025976,000630: 
025977,000631: 20,3433           03644                           TC       INVACC                                #  (USE SUBROUTINE FOR INVERSE.)
025978,000632: 
025979,000633: 20,3434           50144        FIFTY3R            INDEX    JOBAXES                               
025980,000634: 20,3435           55713                           TS       1/AMINQ                               #  SAVE FOR USE BY URGENCY CALCULATIONS.
025981,000635: 
025982,000636:                                                                                                  #  TEST 2(1JACC   ) - ABVAL(AOS   ) - 0.02 RADIANS/SECOND(2) GREATER THAN ZERO:
025983,000637:                                                                                                  #              Q,R             Q,R
025984,000638: 
025985,000639: 20,3436           40151                           CS       TEMPNET                               #  "TEMPNET" IS ABVAL(AOSQ,R).
025986,000640: 20,3437           63325                           AD       -.02R/S2                              #  -0.02 RADIANS/SECOND(2).
025987,000641: 20,3440           50144                           INDEX    JOBAXES                               
025988,000642: 20,3441           61613                           AD       1JACCQ                                #  "1JACCQ,R" SCALED AT PI/4 RAD/SEC(2) ARE
025989,000643: 20,3442           00006                           EXTEND                                         #  2(1JACCQ,R) SCALED AT PI/2 RAD/SEC(2).
025990,000644: 20,3443           63503                           BZMF     OVERRIDE                              
025991,000645: 
025992,000646:                                                                                                  #  SET FLAG NOT TO REQUEST MANDATORY FOUR JET OPERATION FOR +Q,+R ROTATION DURING THIS APS BURN (FOR NOW):
025993,000647: 
025994,000648: 20,3444           37761                           CAF      ZERO                                  #  NJ = 0 ALLOWS THE URGENCY FUNCTIONS TO
025995,000649: 20,3445           50145                           INDEX    NJPLACE                               #  ACTUALLY SELECT 2 JET ROTATION AS THE
025996,000650: 20,3446           55660                           TS       NJ+Q                                  #  OPTIMAL POLICY.
025997,000651: 
025998,000652:                                                                                                  #  TEST SIGN(AOS   ):
025999,000653:                                                                                                  #               Q,R
026000,000654: 
026001,000655: 20,3447           50144                           INDEX    JOBAXES                               #  THE SIGN OF AOSQ,R DETERMINES THE RATIO
026002,000656: 
026003,000657: 20,3450           31652                           CAE      AOSQ                                  #  TO BE COMPUTED AS THE CORRECTION FACTOR

Page 585

026005,000659: 20,3451           00006                           EXTEND                                         #  IN THE URGENCY FUNCTION CALCULATION AND
026006,000660: 20,3452           63467                           BZMF     URGRAT2                               #  ALSO SPECIFIES THE CURRECT NJ VALUES.
026007,000661: 
026008,000662:                                                                                                  #  FIRST CASE FOR URGENCY RATIO:
026009,000663: 
026010,000664: 20,3453           50146        URGRAT1            INDEX    TABPLACE                              #  CHOOSE THE -2 JET NET ACCELERATION
026011,000665: 20,3454           31672                           CAE      1/NET-2Q                              #  INVERSE FOR USE IN URGENCY COMPUTATION.
026012,000666: 20,3455           50144                           INDEX    JOBAXES                               
026013,000667: 
026014,000668: 20,3456           55711                           TS       1/ACCQ                                
026015,000669: 
026016,000670: 20,3457           50146                           INDEX    TABPLACE                              
026017,000671: 20,3460           31670                           CAE      1/NET+2Q                              #          1/NET+2Q,R
026018,000672: 20,3461           00006                           EXTEND                                         #  RATIO = ----------
026019,000673: 20,3462           50146                           INDEX    TABPLACE                              #          1/NET-2Q,R
026020,000674: 20,3463           11672                           DV       1/NET-2Q                              
026021,000675: 20,3464           50144                           INDEX    JOBAXES                               
026022,000676: 20,3465           55717                           TS       URGRATQ                               
026023,000677: 
026024,000678: 20,3466           13526                           TCF      SWITNJS                               #  GO TO SET NJS.
026025,000679: 
026026,000680:                                                                                                  #  SECOND CASE FOR URGENCY RATIO:
026027,000681: 
026028,000682: 20,3467           50146        URGRAT2            INDEX    TABPLACE                              #  CHOOSE THE +2 JET NET ACCELERATION
026029,000683: 20,3470           31670                           CAE      1/NET+2Q                              #  INVERSE FOR USE IN URGENCY COMPUTATION.
026030,000684: 20,3471           50144                           INDEX    JOBAXES                               
026031,000685: 20,3472           55711                           TS       1/ACCQ                                
026032,000686: 
026033,000687: 20,3473           50146                           INDEX    TABPLACE                              
026034,000688: 20,3474           31672                           CAE      1/NET-2Q                              #          1/NET-2Q,R
026035,000689: 20,3475           00006                           EXTEND                                         #  RATIO = ----------
026036,000690: 20,3476           50146                           INDEX    TABPLACE                              #          1/NET+2Q,R
026037,000691: 
026038,000692: 20,3477           11670                           DV       1/NET+2Q                              
026039,000693: 20,3500           50144                           INDEX    JOBAXES                               
026040,000694: 20,3501           55717                           TS       URGRATQ                               
026041,000695: 
026042,000696: 20,3502           13551                           TCF      NXTNJZER                              #  GO TO SET NJS.
026043,000697: 
026044,000698:                                                                                                  #  SET FLAG TO INDICATE MANDATORY USE OF FOUR JETS TO FIGHT THE OFFSET ACCELERATION:
026045,000699: 
026046,000700: 20,3503           00004        OVERRIDE           INHINT                                         #  PREVENT POSSIBLY EPHEMERAL MANDATORY NJ
026047,000701:                                                                                                  #  SETTING FROM AFFECTING JET SELECTION.
026048,000702: 
026049,000703: 20,3504           37755                           CAF      ONE                                   #  NJ = 1 FORCES THE URGENCY FUNCTIONS TO
026050,000704: 20,3505           50145                           INDEX    NJPLACE                               #  ACTUALLY SELECT 4 JET ROTATION AS THE
026051,000705: 20,3506           55660                           TS       NJ+Q                                  #  OPTIMAL POLICY (TO FIGHT HIS AOS).
026052,000706: 
026053,000707:                                                                                                  #  TEST SIGN(AOS   ):
026054,000708:                                                                                                  #               Q,R
026055,000709: 
026056,000710: 20,3507           50144                           INDEX    JOBAXES                               #  THE SIGN OF AOSQ,R DETERMINES THE RATIO

Page 586

026058,000712: 20,3510           31652                           CAE      AOSQ                                  #  TO BE COMPUTED AS THE CORRECTION FACTOR
026059,000713: 20,3511           00006                           EXTEND                                         #  IN THE URGENCY FUNCTION CALCULATION AND
026060,000714: 20,3512           63535                           BZMF     URGRAT4                               #  ALSO SPECIFIES THE CORRECT NJ VALUES.
026061,000715: 
026062,000716:                                                                                                  #  THIRD CASE FOR URGENCY RATIO:
026063,000717: 
026064,000718: 20,3513           50146        URGRAT3            INDEX    TABPLACE                              #  CHOOSE THE -4 JET NET ACCELERATION
026065,000719: 20,3514           31673                           CAE      1/NET-4Q                              #  INVERSE FOR USE IN URGENCY COMPUTATION.
026066,000720: 20,3515           50144                           INDEX    JOBAXES                               
026067,000721: 20,3516           55711                           TS       1/ACCQ                                
026068,000722: 
026069,000723: 20,3517           50146                           INDEX    TABPLACE                              
026070,000724: 20,3520           31670                           CAE      1/NET+2Q                              #          1/NET+2Q,R
026071,000725: 20,3521           00006                           EXTEND                                         #  RATIO = ----------
026072,000726: 
026073,000727: 20,3522           50146                           INDEX    TABPLACE                              #          1/NET-4Q,R
026074,000728: 20,3523           11673                           DV       1/NET-4Q                              
026075,000729: 20,3524           50144                           INDEX    JOBAXES                               
026076,000730: 20,3525           55717                           TS       URGRATQ                               
026077,000731: 
026078,000732:                                                                                                  #  RESET VALUES OF NJS FOR Q,R-AXIS:
026079,000733: 
026080,000734: 20,3526           37761        SWITNJS            CAF      ZERO                                  #  SET NJ      = NJ      (FROM ABOVE)
026081,000735: 20,3527           50145                           INDEX    NJPLACE                               #        -Q,-R     +Q,+R
026082,000736: 20,3530           57660                           XCH      NJ+Q                                  #  AND
026083,000737: 20,3531           50145                           INDEX    NJPLACE                               #      NJ      = 0.
026084,000738: 20,3532           55661                           TS       NJ-Q                                  #        +Q,+R
026085,000739: 
026086,000740: 20,3533           00003                           RELINT                                         #  SINCE NJS NOW VALID, ALLOW INTERRUPTS.
026087,000741: 
026088,000742: 20,3534           13556                           TCF      UVJOB                                 #  GO PROCESS U- AND V-AXIS.
026089,000743: 
026090,000744:                                                                                                  #  FOURTH CASE FOR URGENCY RATIO:
026091,000745: 
026092,000746: 20,3535           00003        URGRAT4            RELINT                                         #  SINCE ALL NJS ALREADY SET ARE NOW KNOWN
026093,000747:                                                                                                  #  TO BE VALID, ALLOW INTERRUPTS.
026094,000748: 
026095,000749: 20,3536           50146                           INDEX    TABPLACE                              #  CHOOSE THE +4 JET NET ACCELERATION
026096,000750: 
026097,000751: 20,3537           31671                           CAE      1/NET+4Q                              #  INVERSE FOR USE IN URGENCY COMPUTATION.
026098,000752: 20,3540           50144                           INDEX    JOBAXES                               
026099,000753: 20,3541           55711                           TS       1/ACCQ                                
026100,000754: 
026101,000755: 20,3542           50146                           INDEX    TABPLACE                              
026102,000756: 20,3543           31672                           CAE      1/NET-2Q                              #          1/NET-2Q,R
026103,000757: 20,3544           00006                           EXTEND                                         #  RATIO = ----------
026104,000758: 20,3545           50146                           INDEX    TABPLACE                              #          1/NET+4Q,R
026105,000759: 20,3546           11671                           DV       1/NET+4Q                              
026106,000760: 20,3547           50144                           INDEX    JOBAXES                               
026107,000761: 20,3550           55717                           TS       URGRATQ                               
026108,000762: 
026109,000763:                                                                                                  #  SET NJ FOR NEGATIVE ROTATIONS:
026110,000764: 

Page 587

026112,000766: 20,3551           37761        NXTNJZER           CAF      ZERO                                  #  SET NJ      = 0  TO LET THE URGENCY
026113,000767: 20,3552           50145                           INDEX    NJPLACE                               #        -Q,-R      FUNCTIONS SELECT 2 JET
026114,000768: 20,3553           55661                           TS       NJ-Q                                  #                   -Q,-R ROTATION
026115,000769: 
026116,000770:                                                                                                  #  TEST FOR END OF Q,R-AXES LOOP:
026117,000771: 
026118,000772: 20,3554           10144                           CCS      JOBAXES                               #  JOBAXES = 1 MEANS GO DO Q-AXIS.
026119,000773: 20,3555           13415                           TCF      QRJOB                                 #  JOBAXES = 0 MEANS GO DO U,V-AXES.
026120,000774: 

Page 588

026122,000776:                                                                                                  #  AFTER Q,R-AXES COMPLETE, DO U,V-AXES LOOP:
026123,000777: 
026124,000778: 20,3556           37755        UVJOB              CAF      ONE                                   #  SET UP THE TABLE INDICES:
026125,000779: 20,3557           54144        UJOB               TS       JOBAXES                               
026126,000780: 20,3560           60000                           DOUBLE                                         #  AOS TABLE USES "JOBAXES" (ADJACENT).
026127,000781: 20,3561           54145                           TS       NJPLACE                               #  NJ  TABLE USES "NJPLACE" (ONE APART).
026128,000782: 
026129,000783:                                                                                                  #  TEST ON ABVAL(AOS   ) - 0.02 RADIANS/SECOND(2) GREATER THAN ZERO:
026130,000784:                                                                                                  #                   U,V
026131,000785: 
026132,000786:                                                                                                  #               U,V            U,V
026133,000787: 
026134,000788: 20,3562           50144                           INDEX    JOBAXES                               #  CALCULATE ABVAL(AOS   ) SCALED AT PI/2.
026135,000789: 20,3563           11654                           CCS      AOSU                                  #                     U,V
026136,000790: 20,3564           67755                           AD       ONE                                   
026137,000791: 20,3565           13567                           TCF      +2                                    
026138,000792: 20,3566           67755                           AD       ONE                                   
026139,000793: 20,3567           54151                           TS       TEMPNET                               #  SVAE ABVAL(AOSU,V) FOR USE BY INVACC.
026140,000794: 20,3570           63325                           AD       -.02R/S2                              #  -0.02 RADIANS/SECOND(2) SCALED AT PI/2
026141,000795: 20,3571           00006                           EXTEND                                         
026142,000796: 20,3572           63642                           BZMF     FIFTY4                                #  (BRANCH FOR CONSTANT VALUE OF INVERSE.)
026143,000797: 
026144,000798: 20,3573           03644                           TC       INVACC                                
026145,000799: 20,3574           50144        FIFTY4R            INDEX    JOBAXES                               
026146,000800: 20,3575           55715                           TS       1/AMINU                               #  SCALED AT 2(+8)/PI SECONDS(2)/RADIAN.
026147,000801: 
026148,000802:                                                                                                  #  TEST ON IJACC    - ABVAL(AOS   ) - 0.02 RADIANS/SECOND(2) GREATER THAN ZERO:
026149,000803:                                                                                                  #               U,V            U,V
026150,000804: 
026151,000805: 20,3576           40151                           CS       TEMPNET                               #  -ABVAL(AOSU,V) SCALED AT PI/2 RAD/SEC(2)
026152,000806: 20,3577           63325                           AD       -.02R/S2                              #  -0.02 RADIANS/SECOND(2) SCALED AT PI/2.
026153,000807: 20,3600           50144                           INDEX    JOBAXES                               
026154,000808: 20,3601           61615                           AD       1JACCU                                #  1 JET U,V-AXIS ACCELERATION AT PI/2.
026155,000809: 20,3602           00006                           EXTEND                                         
026156,000810: 20,3603           63606                           BZMF     RIDEOVER                              
026157,000811: 
026158,000812:                                                                                                  #  SET NJ      = 0.
026159,000813:                                                                                                  #        +U,+V
026160,000814: 
026161,000815: 20,3604           37761                           CAF      ZERO                                  #  ALLOW URGENCY FUNCTIONS TO ACTUALLY
026162,000816: 20,3605           13610                           TCF      +3                                    #  SELECT 2 JET OPTIONAL ROTATION.
026163,000817: 
026164,000818:                                                                                                  #  SET NJ      = 1.
026165,000819:                                                                                                  #        +U,+V
026166,000820: 
026167,000821: 20,3606           00004        RIDEOVER           INHINT                                         #  PREVENT POSSIBLE EPHEMERAL MANDATORY NJ
026168,000822:                                                                                                  #  SETTING FROM AFFECTING JET SELECTION.
026169,000823: 
026170,000824: 20,3607           37755                           CAF      ONE                                   #  NJ = 1 FORCES THE URGENCY FUNCTIONS TO
026171,000825: 20,3610           50145                           INDEX    NJPLACE                               #  ACTUALLY SELECT 2 JET MANDATORY ROTATION      

Page 589

026173,000827: 20,3611           55664                           TS       NJ+U                                  #  AS OPTIMAL POLICY (TO FIGHT HIGH AOS).
026174,000828: 
026175,000829:                                                                                                  #  TEST SIGN(AOS   ):
026176,000830:                                                                                                  #               U,V
026177,000831: 
026178,000832: 20,3612           50144                           INDEX    JOBAXES                               #  IF GREATER THAN ZERO, SWITCH NJS.
026179,000833: 20,3613           31654                           CAE      AOSU                                  
026180,000834: 20,3614           00006                           EXTEND                                         #  IF LESS THAN ZERO, SET NJ      = 0.
026181,000835: 
026182,000836: 20,3615           63625                           BZMF     ZERNJNXT                              #                           -U,-V
026183,000837: 
026184,000838: 20,3616           37761                           CAF      ZERO                                  #  SET NJ      = NJ      (FROM ABOVE)
026185,000839: 20,3617           50145                           INDEX    NJPLACE                               #        -U,-V     +U,+V
026186,000840: 20,3620           57664                           XCH      NJ+U                                  #  AND
026187,000841: 20,3621           50145                           INDEX    NJPLACE                               #      NJ      = 0.
026188,000842: 20,3622           55665                           TS       NJ-U                                  #        +U,+V
026189,000843: 
026190,000844: 20,3623           00003                           RELINT                                         #  ALLOW INTERRUPTS AS SOON AS NJS STABLE.
026191,000845: 
026192,000846: 20,3624           13631                           TCF      VJOBTEST                              #  GO TO TEST FOR END OF LOOP.
026193,000847: 
026194,000848: 20,3625           00003        ZERNJNXT           RELINT                                         #  ALLOW INTERRUPTS SINCE SETTINGS VALID.
026195,000849: 
026196,000850: 20,3626           37761                           CAF      ZERO                                  #  SET NJ     = 0.
026197,000851: 20,3627           50145                           INDEX    NJPLACE                               #        -U,-V
026198,000852: 20,3630           55665                           TS       NJ-U                                  
026199,000853: 
026200,000854:                                                                                                  #  TEST FOR END OF UV-AXES LOOP:
026201,000855: 
026202,000856: 20,3631           10144        VJOBTEST           CCS      JOBAXES                               #  JOBAXES = 1 MEANS GO DO U-AXIS.
026203,000857: 20,3632           13557                           TCF      UJOB                                  #  JOBAXES = 0 MEANS QUIT
026204,000858: 20,3633           15605                           TCF      ENDOFJOB                              
026205,000859: 
026206,000860: 
026207,000861:                                                                                                  #  THE FOLLOWING BRANCHES SUPPLY CONSTANT VALUES:
026208,000862: 
026209,000863: 20,3634           33326        FIFTY1             CAF      ACCFIFTY                              
026210,000864: 20,3635           13346                           TCF      FIFTY1R                               
026211,000865: 
026212,000866: 20,3636           33326        FIFTY2             CAF      ACCFIFTY                              
026213,000867: 20,3637           13361                           TCF      FIFTY2R                               
026214,000868: 
026215,000869: 20,3640           33326        FIFTY3             CAF      ACCFIFTY                              
026216,000870: 20,3641           13434                           TCF      FIFTY3R                               
026217,000871: 
026218,000872: 20,3642           33326        FIFTY4             CAF      ACCFIFTY                              
026219,000873: 20,3643           13574                           TCF      FIFTY4R                               

Page 590

026221,000875:                                                                                                  #  SUBROUTINE NAME: INVACC         MOD. NO. 0  DATE: DECEMBER 3, 1966
026222,000876: 
026223,000877:                                                                                                  #  AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
026224,000878: 
026225,000879:                                                                                                  #  THIS SUBROUTINE IS CALLED BY AOSJOB TO CALCULATE:
026226,000880: 
026227,000881:                                                                                                  #                 0.5    WHERE TEMPNET IS SCALED AT PI/2 RADIANS/SECOND(2)
026228,000882:                                                                                                  #      C(A) =   -------
026229,000883:                                                                                                  #                        AND THE FRACTION IS SCALED AT 2(+8)/PI SEC(2)/RAD.S(2)/RADIAN.
026230,000884: 
026231,000885:                                                                                                  #  THIS SIMPLE COMPUTATION WAS SUBROUTINIZED DUE TO ITS FREQUENT USE.
026232,000886: 
026233,000887:                                                                                                  #  CALLING SEQUENCE: TC  INVACC
026234,000888: 
026235,000889:                                                                                                  #  SUBROUTINES CALLED: NONE.       NORMAL EXIT MODE: ONE INSTRUCTION AFTER CALL.
026236,000890: 
026237,000891:                                                                                                  #  ALARM OR ABORT EXIT MODES: NONE.
026238,000892: 
026239,000893:                                                                                                  #  INPUT: TEMPNET SCALED AT PI/2 RADIANS/SECONDS(2).
026240,000894: 
026241,000895:                                                                                                  #  OUTPUT: C(A) SCALED AT 2(+8)/PI SECONDS(2)/RADIAN.
026242,000896: 
026243,000897:                                                                                                  #  DEBRIS: L,Q.
026244,000898: 
026245,000899: 20,3644           37747        INVACC             CAF      BIT7                                  #  BIT7 IS USED AS THE NUMERATOR 0.5 SINCE
026246,000900: 20,3645           22007                           ZL                                             
026247,000901: 20,3646           00006                           EXTEND                                         #  "TEMPNET" IS SCALED AT PI/2 AND THE
026248,000902: 20,3647           10151                           DV       TEMPNET                               
026249,000903: 20,3650           00002                           TC       Q                                     #  INVERSE IS SCALED AT 2(+8)/PI.

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