Source Code

These source-code files were transcribed from scans made from Don Eyles's personal copy of Luminary 069. They were scanned at archive.org's Boston facility, and the scanning was sponsored by Onno Hommes. The code was transcribed from these scans by a team of volunteers who are referenced in the program comments. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". In some cases, where similar code blocks exist in previously-transcribed AGC programs (primarily Luminary 99, from Apollo 11) those code blocks were used as a starting point and then corrected to agree with the Luminary 69 scans. The full scans are available at the Virtual AGC project's collection at archive.org, while more-convenient reduced-size (but reduced-quality) images are available at the main Virtual AGC website. Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011
	19:02 NOV. 25,1968
Note that the date is the date of the printout, not the date of the program revision.

054292,000002:                                                                                                  ## Copyright:   Public domain.
054293,000003:                                                                                                  ## Filename:    POWERED_FLIGHT_SUBROUTINES.agc
054294,000004:                                                                                                  ## Purpose:     The main source file for Luminary revision 069.
054295,000005:                                                                                                  ##              It is part of the source code for the original release
054296,000006:                                                                                                  ##              of the flight software for the Lunar Module's (LM) Apollo
054297,000007:                                                                                                  ##              Guidance Computer (AGC) for Apollo 10. The actual flown
054298,000008:                                                                                                  ##              version was Luminary 69 revision 2, which included a
054299,000009:                                                                                                  ##              newer lunar gravity model and only affected module 2.
054300,000010:                                                                                                  ##              This file is intended to be a faithful transcription, except
054301,000011:                                                                                                  ##              that the code format has been changed to conform to the
054302,000012:                                                                                                  ##              requirements of the yaYUL assembler rather than the
054303,000013:                                                                                                  ##              original YUL assembler.
054304,000014:                                                                                                  ## Reference:   pp. 1254-1261
054305,000015:                                                                                                  ## Assembler:   yaYUL
054306,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
054307,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
054308,000018:                                                                                                  ## Mod history: 2016-12-13 MAS  Created from Luminary 99.
054309,000019:                                                                                                  ##              2016-12-18 MAS  Updated from comment-proofed Luminary 99 version.
054310,000020:                                                                                                  ##              2017-01-13 RRB  Updated for Luminary 69.
054311,000021:                                                                                                  ##              2017-01-28 RSB  Proofed comment text using octopus/prooferComments
054312,000022:                                                                                                  ##                              but no errors found.
054313,000023:                                                                                                  ##              2017-03-16 RSB  Comment-text fixes identified in 5-way
054314,000024:                                                                                                  ##                              side-by-side diff of Luminary 69/99/116/131/210.
054315,000025:                                                                                                  ##              2017-03-17 RSB  Comment-text fixes identified in diff'ing
054316,000026:                                                                                                  ##                              Luminary 99 vs Comanche 55.
054317,000027:                                                                                                  ##              2021-05-30 ABS  SINSLOC -> SINESLOC
054318,000028: 

Page 1254

054320,000030: 14,3711                                           BANK     14                                    #  SAME FBANK AS THE FINDCDUD SUB-PROGRAM
054321,000031: 23,2000                                           SETLOC   POWFLITE                              
054322,000032: 23,2000                                           BANK                                           
054323,000033: 
054324,000034: 23,3443     0142                                  EBANK=   DEXDEX                                
054325,000035: 23,3443                                           COUNT*   $$/POWFL                              
054326,000036: 
054327,000037:                                                                                                  #      CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
054328,000038:                                                                                                  #  COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
054329,000039:                                                                                                  #  PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU.   AN
054330,000040:                                                                                                  #  ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT.   THESE
054331,000041:                                                                                                  #  ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
054332,000042:                                                                                                  #  EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2.  THEY DIFFER ONLY IN
054333,000043:                                                                                                  #  WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
054334,000044: 
054335,000045:                                                                                                  #      CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
054336,000046:                                                                                                  #  SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
054337,000047:                                                                                                  #  THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
054338,000048:                                                                                                  #  CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
054339,000049: 
054340,000050:                                                                                                  #      CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
054341,000051: 
054342,000052:                                                                                                  #      CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP.   THIS
054343,000053:                                                                                                  #  ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
054344,000054:                                                                                                  #  ANGLES IN AN ORDER OTHER THAN X Y Z.   A CALL TO THIS ROUTINE IS
054345,000055:                                                                                                  #  NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
054346,000056:                                                                                                  #  MODES (SMNB OR NBSM).   SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
054347,000057:                                                                                                  #  COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
054348,000058:                                                                                                  #  IN THIS ORDER.   CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
054349,000059:                                                                                                  #  MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED.   NOTE THAT SINCE
054350,000060:                                                                                                  #  IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
054351,000061:                                                                                                  #  CALLED USING BANKCALL.   SORRY.
054352,000062: 
054353,000063:                                                                                                  #      CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
054354,000064:                                                                                                  #  INTERPRETIVE.
054355,000065: 
054356,000066: 23,3443           77776        CDUTRIG            EXIT                                           
054357,000067: 23,3444           03453                           TC       CDUTRIGS                              
054358,000068: 23,3445           06036                           TC       INTPRET                               
054359,000069: 23,3446           77616                           RVQ                                            
054360,000070: 
054361,000071: 23,3447           77776        CD*TR*G            EXIT                                           
054362,000072: 23,3450           03461                           TC       CD*TR*GS                              
054363,000073: 23,3451           06036                           TC       INTPRET                               
054364,000074: 23,3452           77616                           RVQ                                            
054365,000075: 
054366,000076: 23,3453           30032        CDUTRIGS           CA       CDUX                                  
054367,000077: 23,3454           54772                           TS       CDUSPOT    +4                         
054368,000078: 23,3455           30033                           CA       CDUY                                  
054369,000079: 23,3456           54766                           TS       CDUSPOT                               

Page 1255

054371,000081: 23,3457           30034                           CA       CDUZ                                  
054372,000082: 23,3460           54770                           TS       CDUSPOT    +2                         
054373,000083: 
054374,000084: 23,3461           00006        CD*TR*GS           EXTEND                                         
054375,000085: 23,3462           22142                           QXCH     TEM2                                  
054376,000086: 23,3463           34751                           CAF      FOUR                                  
054377,000087: 23,3464           76241        TR*GL**P           MASK     SIX                                   #  MAKE IT EVEN AND SMALLER
054378,000088: 23,3465           54143                           TS       TEM3                                  
054379,000089: 23,3466           50143                           INDEX    TEM3                                  
054380,000090: 23,3467           30766                           CA       CDUSPOT                               
054381,000091: 23,3470           52155                           DXCH     MPAC                                  #  STORING 2'S COMP ANGLE, LOADING MPAC
054382,000092: 23,3471           52127                           DXCH     VBUF       +4                         #  STORING MPAC FOR LATER RESTORATION
054383,000093: 23,3472           04713                           TC       USPRCADR                              
054384,000094: 23,3473           21465                           CADR     CDULOGIC                              
054385,000095: 23,3474           00006                           EXTEND                                         
054386,000096: 23,3475           30155                           DCA      MPAC                                  
054387,000097: 23,3476           50143                           INDEX    TEM3                                  
054388,000098: 23,3477           52767                           DXCH     CDUSPOT                               #  STORING 1'S COMPLEMENT ANGLE
054389,000099: 23,3500           04713                           TC       USPRCADR                              
054390,000100: 23,3501           01517                           CADR     COSINE                                
054391,000101: 23,3502           52155                           DXCH     MPAC                                  
054392,000102: 23,3503           50143                           INDEX    TEM3                                  
054393,000103: 23,3504           52745                           DXCH     COSCDU                                #  STORING COSINE
054394,000104: 23,3505           00006                           EXTEND                                         
054395,000105: 23,3506           50143                           INDEX    TEM3                                  
054396,000106: 23,3507           30767                           DCA      CDUSPOT                               #  LOADING 1'S COMPLEMENT ANGLE
054397,000107: 23,3510           04713                           TC       USPRCADR                              
054398,000108: 23,3511           01531                           CADR     SINE       +1                         #  SINE +1 EXPECTS ARGUMENT IN A AND L
054399,000109: 23,3512           52127                           DXCH     VBUF       +4                         #  BRINGING UP PRIOR MPAC TO BE RESTORED
054400,000110: 23,3513           52155                           DXCH     MPAC                                  
054401,000111: 23,3514           50143                           INDEX    TEM3                                  
054402,000112: 23,3515           52737                           DXCH     SINCDU                                
054403,000113: 23,3516           10143                           CCS      TEM3                                  
054404,000114: 23,3517           13464                           TCF      TR*GL**P                              
054405,000115: 23,3520           00142                           TC       TEM2                                  

Page 1256

054407,000117:                                                                                                  #  ****************************************************************************************************************
054408,000118:                                                                                                  #      QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
054409,000119:                                                                                                  #  QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
054410,000120:                                                                                                  #  AND CDUSPOT +4.   UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
054411,000121:                                                                                                  #  CDUSPOT.   QUICTRIG'S EXECUTION TIME IS 4.1 MS;  THIS IS 10 TIMES AS FAST AS CD*TR*GS.    QUICTRIG MAY BE
054412,000122:                                                                                                  #  CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
054413,000123: 
054414,000124: 23,3521           00004        QUICTRIG           INHINT                                         #  INHINT SINCE DAP USES THE SAME TEMPS
054415,000125: 23,3522           00006                           EXTEND                                         
054416,000126: 23,3523           22061                           QXCH     ITEMP1                                
054417,000127: 23,3524           34751                           CAF      FOUR                                  
054418,000128: 23,3525           76241                 +4        MASK     SIX                                   
054419,000129: 23,3526           54062                           TS       ITEMP2                                
054420,000130: 23,3527           50062                           INDEX    ITEMP2                                
054421,000131: 23,3530           30766                           CA       CDUSPOT                               
054422,000132: 23,3531           05033                           TC       SPSIN                                 
054423,000133: 23,3532           00006                           EXTEND                                         
054424,000134: 23,3533           74736                           MP       BIT14                                 #  SCALE DOWN TO MATCH INTERPRETER OUTPUTS
054425,000135: 23,3534           50062                           INDEX    ITEMP2                                
054426,000136: 23,3535           52737                           DXCH     SINCDU                                
054427,000137: 23,3536           50062                           INDEX    ITEMP2                                
054428,000138: 23,3537           30766                           CA       CDUSPOT                               
054429,000139: 23,3540           05032                           TC       SPCOS                                 
054430,000140: 23,3541           00006                           EXTEND                                         
054431,000141: 23,3542           74736                           MP       BIT14                                 
054432,000142: 23,3543           50062                           INDEX    ITEMP2                                
054433,000143: 23,3544           52745                           DXCH     COSCDU                                
054434,000144: 23,3545           10062                           CCS      ITEMP2                                
054435,000145: 23,3546           13525                           TCF      QUICTRIG   +4                         
054436,000146: 23,3547           30061                           CA       ITEMP1                                
054437,000147: 23,3550           00003                           RELINT                                         
054438,000148: 23,3551           00000                           TC       A                                     
054439,000149: 

Page 1257

054441,000151:                                                                                                  #  ****************************************************************************************************************
054442,000152:                                                                                                  #      THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
054443,000153:                                                                                                  #  INTERPRETIVE.  LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
054444,000154: 
054445,000155:                                                                                                  #      THESE INTERFACE ROUTINES ARE PERMANENT.   ALL RESTORE USER'S EBANK
054446,000156:                                                                                                  #  SETTING.   ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
054447,000157:                                                                                                  #  RETURNING VIA QPRET.   ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
054448,000158:                                                                                                  #  MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
054449,000159: 
054450,000160:                                                                                                  #       TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
054451,000161:                                                                                                  #  AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
054452,000162:                                                                                                  #  LOCATIONS NEED NOT BE ZEROED).   TRG*NBSM DOES THE NB TO SM TRANSFOR-
054453,000163:                                                                                                  #  MATION;  TRG*SMNB, VICE VERSA.
054454,000164: 
054455,000165:                                                                                                  #      CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
054456,000166:                                                                                                  #  THE CDU COUNTERS.   OTHERWISE IT IS LIKE TRG*NBSM.
054457,000167: 
054458,000168:                                                                                                  #      CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
054459,000169: 
054460,000170: 23,3552           77776        CDU*SMNB           EXIT                                           
054461,000171: 23,3553           03453                           TC       CDUTRIGS                              
054462,000172: 23,3554           13557                           TCF      C*MM*N1                               
054463,000173: 
054464,000174: 23,3555           77776        TRG*SMNB           EXIT                                           
054465,000175: 23,3556           03461                           TC       CD*TR*GS                              
054466,000176: 23,3557           07531        C*MM*N1            TC       MPACVBUF                              #  AX*SR*T EXPECTS VECTOR IN VBUF
054467,000177: 23,3560           46244                           CS       THREE                                 #  SIGNAL FOR SM TO NB TRANSFORMATION
054468,000178: 23,3561           03601        C*MM*N2            TC       AX*SR*T                               
054469,000179: 23,3562           06036                           TC       INTPRET                               
054470,000180: 23,3563           43575                           VLOAD    RVQ                                   
054471,000181: 23,3564           00123                                    VBUF                                  
054472,000182: 
054473,000183: 23,3565           77776        CDU*NBSM           EXIT                                           
054474,000184: 23,3566           03453                           TC       CDUTRIGS                              
054475,000185: 23,3567           13572                           TCF      C*MM*N3                               
054476,000186: 
054477,000187: 23,3570           77776        TRG*NBSM           EXIT                                           
054478,000188: 23,3571           03461                           TC       CD*TR*GS                              
054479,000189: 23,3572           07531        C*MM*N3            TC       MPACVBUF                              #  FOR AX*SR*T
054480,000190: 23,3573           36244                           CA       THREE                                 #  SIGNAL FOR NB TO SM TRANSFORMATION
054481,000191: 23,3574           13561                           TCF      C*MM*N2                               
054482,000192: 
054483,000193:                                                                                                  #      *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
054484,000194:                                                                                                  #  AND COSCDU) RATHER THAN THE ANGLES THEMSELVES.   OTHERWISE THEY ARE
054485,000195:                                                                                                  #  LIKE TRG*NBSM AND TRG*SMNB.
054486,000196: 
054487,000197:                                                                                                  #       NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
054488,000198:                                                                                                  #  OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM

Page 1258

054490,000200:                                                                                                  #  AND TRG*SMNB NEED BE CALLED FOR EACH SERIES.   FOR SUBSEQUENT TRANSFOR-
054491,000201:                                                                                                  #  MATIONS USE *NBSM* AND *SMNB*.
054492,000202: 
054493,000203: 23,3575           77776        *SMNB*             EXIT                                           
054494,000204: 23,3576           13557                           TCF      C*MM*N1                               
054495,000205: 
054496,000206: 23,3577           77776        *NBSM*             EXIT                                           
054497,000207: 23,3600           13572                           TCF      C*MM*N3                               
054498,000208: 
054499,000209:                                                                                                  #        AX*SR*T COMBINES THE OLD SMNB AND NBSM.   FOR THE NB TO SM
054500,000210:                                                                                                  #  TRANSFORMATION, ENTER WITH +3 IN A.   FOR SM TO NB, ENTER WITH -3.
054501,000211:                                                                                                  #  THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
054502,000212:                                                                                                  #  AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
054503,000213:                                                                                                  #  AT SINCDU AND COSCDU, IN THE ORDER Y Z X.  A CALL TO CD*TR*GS, WITH
054504,000214:                                                                                                  #  THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
054505,000215:                                                                                                  #  THIS.  HERE IS A SAMPLE CALLING SEQUENCE:-
054506,000216:                                                                                                  #                TC      CDUTRIGS
054507,000217:                                                                                                  #                CS      THREE           ("CA THREE" FOR NBSM)
054508,000218:                                                                                                  #                TC      AX*SR*T
054509,000219:                                                                                                  #  THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
054510,000220:                                                                                                  #  THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
054511,000221: 
054512,000222:                                                                                                  #      AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
054513,000223:                                                                                                  #  UNITY.   A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
054514,000224:                                                                                                  #  HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
054515,000225:                                                                                                  #  FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
054516,000226: 
054517,000227: 23,3601           54142        AX*SR*T            TS       DEXDEX                                #  WHERE IT BECOMES THE INDEX OF INDEXES
054518,000228: 23,3602           00006                           EXTEND                                         
054519,000229: 23,3603           22145                           QXCH     RTNSAVER                              
054520,000230: 
054521,000231: 23,3604           10142        R*TL**P            CCS      DEXDEX                                #                +3 --> 0        -3 --> 2
054522,000232: 23,3605           40142                           CS       DEXDEX                                #  THUS:         +2 --> 1        -2 --> 1
054523,000233: 23,3606           66244                           AD       THREE                                 #                +1 --> 2        -1 --> 0
054524,000234: 23,3607           00006                           EXTEND                                         
054525,000235: 23,3610           50000                           INDEX    A                                     
054526,000236: 23,3611           33670                           DCA      INDEXI                                
054527,000237: 23,3612           52144                           DXCH     DEXI                                  
054528,000238: 
054529,000239: 23,3613           34753                           CA       ONE                                   
054530,000240: 23,3614           54130                           TS       BUF                                   
054531,000241: 23,3615           00006                           EXTEND                                         
054532,000242: 23,3616           50143                           INDEX    DEX1                                  
054533,000243: 23,3617           40123                           DCS      VBUF                                  
054534,000244: 23,3620           13622                           TCF      LOOP1                                 #  REALLY BE A SUBTRACT, AND VICE VERSA
054535,000245: 
054536,000246: 23,3621           52131        LOOP2              DXCH     BUF                                   #  LOADING VECTOR COMPONENT, STORING INDEX

Page 1259

054538,000248: 23,3622           52155        LOOP1              DXCH     MPAC                                  
054539,000249: 23,3623           33666                           CA       SINESLOC                              
054540,000250: 23,3624           60143                           AD       DEX1                                  
054541,000251: 23,3625           54116                           TS       ADDRWD                                
054542,000252: 
054543,000253: 23,3626           07106                           TC       DMPSUB                                #  MULTIPLY BY SIN(CDUANGLE)
054544,000254: 23,3627           10142                           CCS      DEXDEX                                
054545,000255: 23,3630           52155                           DXCH     MPAC                                  #  NBSM CASE
054546,000256: 23,3631           13634                           TCF      +3                                    
054547,000257: 23,3632           00006                           EXTEND                                         #  SMNB CASE
054548,000258: 23,3633           40155                           DCS      MPAC                                  
054549,000259: 23,3634           52160                           DXCH     TERM1TMP                              
054550,000260: 
054551,000261: 23,3635           36241                           CA       SIX                                   #  SINCDU AND COSCDU (EACH 6 WORDS) MUST
054552,000262: 23,3636           26116                           ADS      ADDRWD                                #    BE CONSECUTIVE AND IN THAT ORDER
054553,000263: 
054554,000264: 23,3637           00006                           EXTEND                                         
054555,000265: 23,3640           50130                           INDEX    BUF                                   
054556,000266: 23,3641           50143                           INDEX    DEX1                                  
054557,000267: 23,3642           30123                           DCA      VBUF                                  
054558,000268: 23,3643           52155                           DXCH     MPAC                                  
054559,000269: 23,3644           07106                           TC       DMPSUB                                #  MULTIPLY BY COS(CDUANGLE)
054560,000270: 23,3645           52155                           DXCH     MPAC                                  
054561,000271: 23,3646           20160                           DAS      TERM1TMP                              
054562,000272: 23,3647           52160                           DXCH     TERM1TMP                              
054563,000273: 23,3650           20001                           DDOUBL                                         
054564,000274: 23,3651           50130                           INDEX    BUF                                   
054565,000275: 23,3652           50143                           INDEX    DEX1                                  
054566,000276: 23,3653           52123                           DXCH     VBUF                                  
054567,000277: 23,3654           52131                           DXCH     BUF                                   #  LOADING INDEX, STORING VECTOR COMPONENT
054568,000278: 
054569,000279: 23,3655           10000                           CCS      A                                     #  'CAUSE THAT'S WHERE THE INDEX NOW IS
054570,000280: 23,3656           13621                           TCF      LOOP2                                 
054571,000281: 
054572,000282: 23,3657           00006                           EXTEND                                         
054573,000283: 23,3660           26142                           DIM      DEXDEX                                #  DECREMENT MAGNITUDE PRESERVING SIGN
054574,000284: 
054575,000285: 23,3661           10142        TSTPOINT           CCS      DEXDEX                                #  ONLY THE BRANCHING FUNCTION IS USED
054576,000286: 23,3662           13604                           TCF      R*TL**P                               
054577,000287: 23,3663           00145                           TC       RTNSAVER                              
054578,000288: 23,3664           13604                           TCF      R*TL**P                               
054579,000289: 23,3665           00145                           TC       RTNSAVER                              
054580,000290: 
054581,000291: 23,3666           00736        SINESLOC           ADRES    SINCDU                                #  FOR USE IN SETTING ADDRWD
054582,000292: 
054583,000293: 23,3667           00004        INDEXI             DEC      4          B-14                       #  **********   DON'T   **********
054584,000294: 23,3670           00002                           DEC      2          B-14                       #  **********   TOUCH   **********
054585,000295: 23,3671           00000                           DEC      0          B-14                       #  **********   THESE   **********

Page 1260

054587,000297: 23,3672           00004                           DEC      4          B-14                       #  ********** CONSTANTS **********
054588,000298: 
054589,000299:                                                                                                  #  ****************************************************************************************************************

Page 1261

054591,000301:                                                                                                  #  THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
054592,000302:                                                                                                  #  REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4).  SIN,COS(CDUY,Z,X) ARE IN
054593,000303:                                                                                                  #  SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY,SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
054594,000304:                                                                                                  #  ONE REVOLUTION.
054595,000305: 
054596,000306:                                                                                                  #         *  COS(IGA)SEC(MGA)          0           -SIN(IGA)SEC(MGA) *
054597,000307:                                                                                                  #         *                                                          *
054598,000308:                                                                                                  #         * -COS(IGA)TAN(MGA)          1            SIN(IGA)TAN(MGA) *
054599,000309:                                                                                                  #         *                                                          *
054600,000310:                                                                                                  #         *      SIN(IGA)              0                COS(IGA)     *
054601,000311: 
054602,000312: 14,3711                                           BANK     14                                    
054603,000313: 23,2000                                           SETLOC   POWFLIT1                              
054604,000314: 23,2000                                           BANK                                           
054605,000315: 23,3673           41345        SMCDURES           DLOAD    DMP                                   
054606,000316: 23,3674           01265                                    DTHETASM                              
054607,000317: 23,3675           00745                                    COSCDUY                               
054608,000318: 
054609,000319: 23,3676           41325                           PDDL     DMP                                   
054610,000320: 23,3677           01271                                    DTHETASM   +4                         
054611,000321: 23,3700           00737                                    SINCDUY                               
054612,000322: 
054613,000323: 23,3701           77621                           BDSU                                           
054614,000324: 23,3702           77671                           DDV                                            
054615,000325: 23,3703           00747                                    COSCDUZ                               
054616,000326: 23,3704           03234                           STORE    DCDU                                  
054617,000327: 
054618,000328: 23,3705           72405                           DMP      SL1                                   #  SCALE
054619,000329: 23,3706           00741                                    SINCDUZ                               
054620,000330: 23,3707           77621                           BDSU                                           
054621,000331: 
054622,000332: 23,3710           01267                                    DTHETASM   +2                         
054623,000333: 23,3711           17236                           STODL    DCDU       +2                         
054624,000334: 23,3712           01265                                    DTHETASM                              
054625,000335: 
054626,000336: 23,3713           65205                           DMP      PDDL                                  
054627,000337: 23,3714           00737                                    SINCDUY                               
054628,000338: 23,3715           01271                                    DTHETASM   +4                         
054629,000339: 
054630,000340: 23,3716           43205                           DMP      DAD                                   
054631,000341: 23,3717           00745                                    COSCDUY                               
054632,000342: 23,3720           77752                           SL1                                            
054633,000343: 23,3721           03240                           STORE    DCDU       +4                         
054634,000344: 23,3722           77616                           RVQ                                            
054635,000345: 

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