Source Code

These source-code files were obtained by digitally photographing the Colossus 237 program listing from the private collection of original AGC developer Fred Martin, and then modifying pre-existing Colossus 249 (Apollo 9) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images are available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS 
	BY NASA 2021111-031  1:17 AUG. 24, 1968

056170,000002:                                                                                                 #  Copyright:    Public domain.
056171,000003:                                                                                                 #  Filename:      POWERED_FLIGHT_SUBROUTINES.agc
056172,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
056173,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
056174,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
056175,000007:                                                                                                 #  Assembler:    yaYUL
056176,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
056177,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
056178,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
056179,000011:                                                                                                 #  Mod history:  2011-04-17 JL    Adapted from corresponding Colossus 249 file.
056180,000012: 
056181,000013:                                                                                                 # # Page 1329
056182,000014: 14,3412                                          BANK     14                                    #  SAME FBANK AS THE FINDCDUD SUB-PROGRAM
056183,000015: 23,2000                                          SETLOC   POWFLITE                              
056184,000016: 23,2000                                          BANK                                           
056185,000017: 
056186,000018: 23,3432     0142                                 EBANK=   DEXDEX                                
056187,000019: 23,3432                                          COUNT*   $$/POWFL                              
056188,000020: 
056189,000021:                                                                                                 #      CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
056190,000022:                                                                                                 #  COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
056191,000023:                                                                                                 #  PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU.   AN
056192,000024:                                                                                                 #  ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT.   THESE
056193,000025:                                                                                                 #  ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
056194,000026:                                                                                                 #  EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2.   THEY DIFFER ONLY IN
056195,000027:                                                                                                 #  WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
056196,000028: 
056197,000029:                                                                                                 #      CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
056198,000030:                                                                                                 #  SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
056199,000031:                                                                                                 #  THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
056200,000032:                                                                                                 #  CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
056201,000033: 
056202,000034:                                                                                                 #      CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
056203,000035: 
056204,000036:                                                                                                 #      CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP.   THIS
056205,000037:                                                                                                 #  ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
056206,000038:                                                                                                 #  ANGLES IN AN ORDER OTHER THAN X Y Z.   A CALL TO THIS ROUTINE IS
056207,000039:                                                                                                 #  NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
056208,000040:                                                                                                 #  MODES (SMNB OR NBSM).   SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
056209,000041:                                                                                                 #  COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
056210,000042:                                                                                                 #  IN THIS ORDER.   CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
056211,000043:                                                                                                 #  MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED.   NOTE THAT SINCE
056212,000044:                                                                                                 #  IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
056213,000045:                                                                                                 #  CALLED USING BANKCALL.   SORRY.
056214,000046: 
056215,000047:                                                                                                 #      CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
056216,000048:                                                                                                 #  INTERPRETIVE.
056217,000049: 
056218,000050: 23,3432           77776        CDUTRIG           EXIT                                           
056219,000051: 23,3433           03442                          TC       CDUTRIGS                              
056220,000052: 23,3434           06006                          TC       INTPRET                               
056221,000053: 23,3435           77616                          RVQ                                            
056222,000054: 
056223,000055: 23,3436           77776        CD*TR*G           EXIT                                           
056224,000056: 23,3437           03450                          TC       CD*TR*GS                              
056225,000057: 23,3440           06006                          TC       INTPRET                               
056226,000058: 23,3441           77616                          RVQ                                            
056227,000059: 
056228,000060: 23,3442           30032        CDUTRIGS          CA       CDUX                                  
056229,000061: 23,3443           54772                          TS       CDUSPOT    +4                         
056230,000062: 23,3444           30033                          CA       CDUY                                  
056231,000063: 23,3445           54766                          TS       CDUSPOT                               
056232,000064:                                                                                                 # # Page 1330
056233,000065: 23,3446           30034                          CA       CDUZ                                  
056234,000066: 23,3447           54770                          TS       CDUSPOT    +2                         
056235,000067: 
056236,000068: 23,3450           00006        CD*TR*GS          EXTEND                                         
056237,000069: 23,3451           22142                          QXCH     TEM2                                  
056238,000070: 23,3452           34710                          CAF      FOUR                                  
056239,000071: 23,3453           76211        TR*GL**P          MASK     SIX                                   #  MAKE IT EVEN AND SMALLER
056240,000072: 23,3454           54143                          TS       TEM3                                  
056241,000073: 23,3455           50143                          INDEX    TEM3                                  
056242,000074: 23,3456           30766                          CA       CDUSPOT                               
056243,000075: 23,3457           52155                          DXCH     MPAC                                  #  STORING 2'S COMP ANGLE, LOADING MPAC
056244,000076: 23,3460           52127                          DXCH     VBUF       +4                         #  STORING MPAC FOR LATER RESTORATION
056245,000077: 23,3461           04652                          TC       USPRCADR                              
056246,000078: 23,3462           45510                          CADR     CDULOGIC                              
056247,000079: 23,3463           00006                          EXTEND                                         
056248,000080: 23,3464           30155                          DCA      MPAC                                  
056249,000081: 23,3465           50143                          INDEX    TEM3                                  
056250,000082: 23,3466           52767                          DXCH     CDUSPOT                               #  STORING 1'S COMPLEMENT ANGLE
056251,000083: 23,3467           04652                          TC       USPRCADR                              
056252,000084: 23,3470           01516                          CADR     COSINE                                
056253,000085: 23,3471           52155                          DXCH     MPAC                                  
056254,000086: 23,3472           50143                          INDEX    TEM3                                  
056255,000087: 23,3473           52745                          DXCH     COSCDU                                #  STORING COSINE
056256,000088: 23,3474           00006                          EXTEND                                         
056257,000089: 23,3475           50143                          INDEX    TEM3                                  
056258,000090: 23,3476           30767                          DCA      CDUSPOT                               #  LOADING 1'S COMPLEMENT ANGLE
056259,000091: 23,3477           04652                          TC       USPRCADR                              
056260,000092: 23,3500           01530                          CADR     SINE       +1                         #  SINE +1 EXPECTS ARGUMENT IN A AND L
056261,000093: 23,3501           52127                          DXCH     VBUF       +4                         #  BRINGING UP PRIOR MPAC TO BE RESTORED
056262,000094: 23,3502           52155                          DXCH     MPAC                                  
056263,000095: 23,3503           50143                          INDEX    TEM3                                  
056264,000096: 23,3504           52737                          DXCH     SINCDU                                
056265,000097: 23,3505           10143                          CCS      TEM3                                  
056266,000098: 23,3506           13453                          TCF      TR*GL**P                              
056267,000099: 23,3507           00142                          TC       TEM2                                  
056268,000100: 
056269,000101:                                                                                                 # # Page 1331
056270,000102:                                                                                                 #  ****************************************************************************************************************
056271,000103: 
056272,000104:                                                                                                 #      QUICTRIG, INTENDED FOR QUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
056273,000105:                                                                                                 #  QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
056274,000106:                                                                                                 #  AND CDUSPOT +4.   UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
056275,000107:                                                                                                 #  CDUSPOT.   QUICTRIG'S EXECUTION TIME IS 4.1 MS;   THIS IS 10 TIMES AS FAST AS CD*TR*GS.   QUICTRIG MAY BE
056276,000108:                                                                                                 #  CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
056277,000109: 
056278,000110: 23,3510           00004        QUICTRIG          INHINT                                         #  INHINT SINCE DAP USES THE SAME TEMPS
056279,000111: 23,3511           00006                          EXTEND                                         
056280,000112: 23,3512           22061                          QXCH     ITEMP1                                
056281,000113: 23,3513           34710                          CAF      FOUR                                  
056282,000114: 23,3514           76211                 +4       MASK     SIX                                   
056283,000115: 23,3515           54062                          TS       ITEMP2                                
056284,000116: 23,3516           50062                          INDEX    ITEMP2                                
056285,000117: 23,3517           30766                          CA       CDUSPOT                               
056286,000118: 23,3520           04770                          TC       SPSIN                                 
056287,000119: 23,3521           00006                          EXTEND                                         
056288,000120: 23,3522           74675                          MP       BIT14                                 #  SCALE DOWN TO MATCH INTERPRETER OUTPUTS
056289,000121: 23,3523           50062                          INDEX    ITEMP2                                
056290,000122: 23,3524           52737                          DXCH     SINCDU                                
056291,000123: 23,3525           50062                          INDEX    ITEMP2                                
056292,000124: 23,3526           30766                          CA       CDUSPOT                               
056293,000125: 23,3527           04767                          TC       SPCOS                                 
056294,000126: 23,3530           00006                          EXTEND                                         
056295,000127: 23,3531           74675                          MP       BIT14                                 
056296,000128: 23,3532           50062                          INDEX    ITEMP2                                
056297,000129: 23,3533           52745                          DXCH     COSCDU                                
056298,000130: 23,3534           10062                          CCS      ITEMP2                                
056299,000131: 23,3535           13514                          TCF      QUICTRIG   +4                         
056300,000132: 23,3536           30061                          CA       ITEMP1                                
056301,000133: 23,3537           00003                          RELINT                                         
056302,000134: 23,3540           00000                          TC       A                                     
056303,000135: 
056304,000136:                                                                                                 # # Page 1332
056305,000137:                                                                                                 #  ****************************************************************************************************************
056306,000138: 
056307,000139: 
056308,000140:                                                                                                 #      THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
056309,000141:                                                                                                 #  INTERPRETIVE.   LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
056310,000142: 
056311,000143:                                                                                                 #      NBSM WILL BE THE FIRST TO GO.   IT SHOULD NOT BE USED.
056312,000144: 
056313,000145: 23,3541           77620        NBSM              STQ                                            
056314,000146: 23,3542           00047                                   X2                                    
056315,000147: 23,3543           76740                          LXC,1    VLOAD*                                
056316,000148: 23,3544           00050                                   S1                                    #  BASE ADDRESS OF THE CDU ANGLES IS IN S1
056317,000149: 23,3545           00001                                   0,1                                   
056318,000150: 23,3546           24767                          STOVL    CDUSPOT                               
056319,000151: 23,3547           00041                                   32D                                   #  VECTOR TO BE TRANSFORMED IS IN 32D
056320,000152: 23,3550           77624                          CALL                                           
056321,000153: 23,3551           47572                                   TRG*NBSM                              
056322,000154: 23,3552           34041                          STCALL   32D                                   #  SINCE THERE'S NO STGOTO
056323,000155: 23,3553           00047                                   X2                                    
056324,000156: 
056325,000157:                                                                                                 #      THESE INTERFACE ROUTINES ARE PERMANENT.   ALL RESTORE USER'S EBANK
056326,000158:                                                                                                 #  SETTING.   ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
056327,000159:                                                                                                 #  RETURNING VIA QPRET.   ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
056328,000160:                                                                                                 #  MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
056329,000161: 
056330,000162:                                                                                                 #      TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
056331,000163:                                                                                                 #  AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
056332,000164:                                                                                                 #  LOCATIONS NEED NOT BE ZEROED).   TRG*NBSM DOES THE NB TO SM TRANSFOR- 
056333,000165:                                                                                                 #  MATION;  TRG*SMNB, VICE VERSA.
056334,000166: 
056335,000167:                                                                                                 #      CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
056336,000168:                                                                                                 #  THE CDU COUNTERS.   OTHERWISE IT IS LIKE TRG*NBSM.
056337,000169: 
056338,000170:                                                                                                 #      CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
056339,000171: 
056340,000172: 23,3554           77776        CDU*SMNB          EXIT                                           
056341,000173: 23,3555           03442                          TC       CDUTRIGS                              
056342,000174: 23,3556           13561                          TCF      C*MM*N1                               
056343,000175: 
056344,000176: 23,3557           77776        TRG*SMNB          EXIT                                           
056345,000177: 23,3560           03450                          TC       CD*TR*GS                              
056346,000178: 23,3561           07501        C*MM*N1           TC       MPACVBUF                              #  AX*SR*T EXPECTS VECTOR IN VBUF
056347,000179: 23,3562           46214                          CS       THREE                                 #  SIGNAL FOR SM TO NB TRANSFORMATION
056348,000180: 23,3563           03603        C*MM*N2           TC       AX*SR*T                               
056349,000181: 23,3564           06006                          TC       INTPRET                               
056350,000182: 23,3565           43575                          VLOAD    RVQ                                   
056351,000183: 23,3566           00123                                   VBUF                                  
056352,000184: 
056353,000185: 23,3567           77776        CDU*NBSM          EXIT                                           
056354,000186: 23,3570           03442                          TC       CDUTRIGS                              
056355,000187:                                                                                                 # # Page 1333
056356,000188: 23,3571           13574                          TCF      C*MM*N3                               
056357,000189: 
056358,000190: 23,3572           77776        TRG*NBSM          EXIT                                           
056359,000191: 23,3573           03450                          TC       CD*TR*GS                              
056360,000192: 23,3574           07501        C*MM*N3           TC       MPACVBUF                              #  FOR AX*SR*T
056361,000193: 23,3575           36214                          CA       THREE                                 #  SIGNAL FOR NB TO SM TRANSFORMATION
056362,000194: 23,3576           13563                          TCF      C*MM*N2                               
056363,000195: 
056364,000196:                                                                                                 #      *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
056365,000197:                                                                                                 #  AND COSCDU) RATHER THAN THE ANGLES THEMSELVES.   OTHERWISE THEY ARE
056366,000198:                                                                                                 #  LIKE TRG*NBSM AND TRG*SMNB.
056367,000199: 
056368,000200:                                                                                                 #      NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
056369,000201:                                                                                                 #  OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
056370,000202:                                                                                                 #  AND TRG*SMNB NEED BE CALLED FOR EACH SERIES.   FOR SUBSEQUENT TRANSFOR-
056371,000203:                                                                                                 #  MATIONS USE *NBSM* AND *SMNB*.
056372,000204: 
056373,000205: 23,3577           77776        *SMNB*            EXIT                                           
056374,000206: 23,3600           13561                          TCF      C*MM*N1                               
056375,000207: 
056376,000208: 23,3601           77776        *NBSM*            EXIT                                           
056377,000209: 23,3602           13574                          TCF      C*MM*N3                               
056378,000210: 
056379,000211:                                                                                                 #        AX*SR*T COMBINES THE OLD SMNB AND NBSM.   FOR THE NB TO SM
056380,000212:                                                                                                 #  TRANSFORMATION, ENTER WITH +3 IN A.   FOR SM TO NB, ENTER WITH -3.
056381,000213:                                                                                                 #  THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
056382,000214:                                                                                                 #  AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
056383,000215:                                                                                                 #  AT SINCDU AND COSCDU, IN THE ORDER Y Z X.   A CALL TO CD*TR*GS, WITH
056384,000216:                                                                                                 #  THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
056385,000217:                                                                                                 #  THIS.   HERE IS A SAMPLE CALLING SEQUENCE:-
056386,000218: 
056387,000219:                                                                                                 #                             TC     CDUTRIGS
056388,000220:                                                                                                 #                             CS     THREE       ("CA  THREE" FOR NBSM)
056389,000221:                                                                                                 #                             TC     AX*SR*T
056390,000222: 
056391,000223:                                                                                                 #  THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
056392,000224:                                                                                                 #  THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
056393,000225: 
056394,000226:                                                                                                 #      AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
056395,000227:                                                                                                 #  UNITY.   A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
056396,000228:                                                                                                 #  HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
056397,000229:                                                                                                 #  FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
056398,000230: 
056399,000231: 23,3603           54142        AX*SR*T           TS       DEXDEX                                #  WHERE IT BECOMES THE INDEX OF INDEXES
056400,000232: 23,3604           00006                          EXTEND                                         
056401,000233: 23,3605           22145                          QXCH     RTNSAVER                              
056402,000234: 
056403,000235: 23,3606           10142        R*TL**P           CCS      DEXDEX                                #          +3 --> 0     -3 --> 2
056404,000236: 23,3607           40142                          CS       DEXDEX                                #  THUS:   +2 --> 1     -2 --> 1
056405,000237: 23,3610           66214                          AD       THREE                                 #          +1 --> 2     -1 --> 0
056406,000238:                                                                                                 # # Page 1334
056407,000239: 23,3611           00006                          EXTEND                                         
056408,000240: 23,3612           50000                          INDEX    A                                     
056409,000241: 23,3613           33672                          DCA      INDEXI                                
056410,000242: 23,3614           52144                          DXCH     DEXI                                  
056411,000243: 
056412,000244: 23,3615           34712                          CA       ONE                                   
056413,000245: 23,3616           54130                          TS       BUF                                   
056414,000246: 23,3617           00006                          EXTEND                                         
056415,000247: 23,3620           50143                          INDEX    DEX1                                  
056416,000248: 23,3621           40123                          DCS      VBUF                                  
056417,000249: 23,3622           13624                          TCF      LOOP1                                 #    REALLY BE A SUBTRACT, AND VICE VERSA
056418,000250: 
056419,000251: 23,3623           52131        LOOP2             DXCH     BUF                                   #  LOADING VECTOR COMPONENT, STORING INDEX
056420,000252: 
056421,000253: 23,3624           52155        LOOP1             DXCH     MPAC                                  
056422,000254: 23,3625           33670                          CA       SINSLOC                               
056423,000255: 23,3626           60143                          AD       DEX1                                  
056424,000256: 23,3627           54116                          TS       ADDRWD                                
056425,000257: 
056426,000258: 23,3630           07056                          TC       DMPSUB                                #  MULTIPLY AT SIN(CDUANGLE)
056427,000259: 23,3631           10142                          CCS      DEXDEX                                
056428,000260: 23,3632           52155                          DXCH     MPAC                                  #  NBSM CASE
056429,000261: 23,3633           13636                          TCF      +3                                    
056430,000262: 23,3634           00006                          EXTEND                                         #  SMNB CASE
056431,000263: 23,3635           40155                          DCS      MPAC                                  
056432,000264: 23,3636           52134                          DXCH     TERM1TMP                              
056433,000265: 
056434,000266: 23,3637           36211                          CA       SIX                                   #  SINCDU AND COSCDU (EACH 6 WORDS) MUST
056435,000267: 23,3640           26116                          ADS      ADDRWD                                #    BE CONSECUTIVE AND IN THAT ORDER
056436,000268: 
056437,000269: 23,3641           00006                          EXTEND                                         
056438,000270: 23,3642           50130                          INDEX    BUF                                   
056439,000271: 23,3643           50143                          INDEX    DEX1                                  
056440,000272: 23,3644           30123                          DCA      VBUF                                  
056441,000273: 23,3645           52155                          DXCH     MPAC                                  
056442,000274: 23,3646           07056                          TC       DMPSUB                                #  MULTIPLY BY COS(CDUANGLE)
056443,000275: 23,3647           52155                          DXCH     MPAC                                  
056444,000276: 23,3650           20134                          DAS      TERM1TMP                              
056445,000277: 23,3651           52134                          DXCH     TERM1TMP                              
056446,000278: 23,3652           20001                          DDOUBL                                         
056447,000279: 23,3653           50130                          INDEX    BUF                                   
056448,000280: 23,3654           50143                          INDEX    DEX1                                  
056449,000281: 23,3655           52123                          DXCH     VBUF                                  
056450,000282: 23,3656           52131                          DXCH     BUF                                   #  LOADING INDEX, STORING VECTOR COMPONENT
056451,000283: 
056452,000284: 23,3657           10000                          CCS      A                                     #  'CAUSE THAT'S WHERE THE INDEX NOW IS
056453,000285: 23,3660           13623                          TCF      LOOP2                                 
056454,000286: 
056455,000287: 23,3661           00006                          EXTEND                                         
056456,000288: 23,3662           26142                          DIM      DEXDEX                                #  DECREMENT MAGNITUDE PRESERVING SIGN
056457,000289:                                                                                                 # # Page 1335
056458,000290: 23,3663           10142        TSTPOINT          CCS      DEXDEX                                #  ONLY THE BRANCHING FUNCTION IS USED
056459,000291: 23,3664           13606                          TCF      R*TL**P                               
056460,000292: 23,3665           00145                          TC       RTNSAVER                              
056461,000293: 23,3666           13606                          TCF      R*TL**P                               
056462,000294: 23,3667           00145                          TC       RTNSAVER                              
056463,000295: 
056464,000296: 
056465,000297: 23,3670           00736        SINSLOC           ADRES    SINCDU                                #  FOR USE IN SETTING ADDRWD
056466,000298: 
056467,000299: 
056468,000300: 23,3671           00004        INDEXI            DEC      4          B-14                       #  **********    DON'T    **********
056469,000301: 23,3672           00002                          DEC      2          B-14                       #  **********    TOUCH    **********
056470,000302: 23,3673           00000                          DEC      0          B-14                       #  **********    THESE    **********
056471,000303: 23,3674           00004                          DEC      4          B-14                       #  **********  CONSTANTS  **********
056472,000304: 
056473,000305: 
056474,000306:                                                                                                 #  ****************************************************************************************************************
056475,000307: 
056476,000308:                                                                                                 # # Page 1336
056477,000309:                                                                                                 #  THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
056478,000310:                                                                                                 #  REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4).  SIN,COS(CDUY,Z,X) ARE IN
056479,000311:                                                                                                 #  SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY,SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
056480,000312:                                                                                                 #  ONE REVOLUTION.
056481,000313: 
056482,000314:                                                                                                 #         *  COS(IGA)SEC(MGA)          0          -SIN(IGA)SEC(MGA) *
056483,000315:                                                                                                 #         *                                                         *
056484,000316:                                                                                                 #         * -COS(IGA)TAN(MGA)          1           SIN(IGA)TAN(MGA) *
056485,000317:                                                                                                 #         *                                                         *
056486,000318:                                                                                                 #         *      SIN(IGA)              0               COS(IGA)     *
056487,000319: 
056488,000320: 14,3412                                          BANK     14                                    
056489,000321: 23,2000                                          SETLOC   POWFLIT1                              
056490,000322: 23,2000                                          BANK                                           
056491,000323: 23,3675           41345        SMCDURES          DLOAD    DMP                                   
056492,000324: 23,3676           03212                                   DTHETASM                              
056493,000325: 23,3677           00745                                   COSCDUY                               
056494,000326: 
056495,000327: 23,3700           41325                          PDDL     DMP                                   
056496,000328: 23,3701           03216                                   DTHETASM   +4                         
056497,000329: 23,3702           00737                                   SINCDUY                               
056498,000330: 
056499,000331: 23,3703           77621                          BDSU                                           
056500,000332: 23,3704           77671                          DDV                                            
056501,000333: 23,3705           00747                                   COSCDUZ                               
056502,000334: 23,3706           03204                          STORE    DCDU                                  
056503,000335: 
056504,000336: 23,3707           72405                          DMP      SL1                                   #  SCALE
056505,000337: 23,3710           00741                                   SINCDUZ                               
056506,000338: 23,3711           77621                          BDSU                                           
056507,000339: 
056508,000340: 23,3712           03214                                   DTHETASM   +2                         
056509,000341: 23,3713           17206                          STODL    DCDU       +2                         
056510,000342: 23,3714           03212                                   DTHETASM                              
056511,000343: 
056512,000344: 23,3715           65205                          DMP      PDDL                                  
056513,000345: 23,3716           00737                                   SINCDUY                               
056514,000346: 23,3717           03216                                   DTHETASM   +4                         
056515,000347: 
056516,000348: 23,3720           43205                          DMP      DAD                                   
056517,000349: 23,3721           00745                                   COSCDUY                               
056518,000350: 23,3722           77752                          SL1                                            
056519,000351: 23,3723           03210                          STORE    DCDU       +4                         
056520,000352: 23,3724           77616                          RVQ                                            

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