Source Code

051922,000001: # Copyright: Public domain. 051923,000002: # Filename: POWERED_FLIGHT_SUBROUTINES.agc 051924,000003: # Purpose: A section of Luminary 1C, revision 131. 051925,000004: # It is part of the source code for the Lunar Module's (LM) 051926,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 051927,000006: # This file is intended to be a faithful transcription, except 051928,000007: # that the code format has been changed to conform to the 051929,000008: # requirements of the yaYUL assembler rather than the 051930,000009: # original YUL assembler. 051931,000010: # Reference: pp. 1256-1264 of 1729.pdf. 051932,000011: # Contact: Ron Burkey <info@sandroid.org>. 051933,000012: # Website: www.ibiblio.org/apollo/index.html 051934,000013: # Mod history: 06/03/03 RSB. Began transcribing. 051935,000014: # 05/14/05 RSB Corrected website reference above. 051936,000015: # 2010-10-25 JL Indentation fixes. 051937,000016: 051938,000017: # Page 1256 051939,000018: 14,3775 BANK 14 # SAME FBANK AS THE FINDCDUD SUB-PROGRAM 051940,000019: 23,2000 SETLOC POWFLITE 051941,000020: 23,2000 BANK 051942,000021: 051943,000022: 23,3541 0142 EBANK= DEXDEX 051944,000023: 23,3541 COUNT* $$/POWFL 051945,000024: 051946,000025: # CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*GR*GS ALL COMPUTE THE SINES AND 051947,000026: # COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE 051948,000027: # PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN 051949,000028: # ADDITIONAL OUTPUT IS THE 1'S COMPLENT ANGLES AT CDUSPOT. THESE 051950,000029: # ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT. 051951,000030: # EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN 051952,000031: # WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING. 051953,000032: 051954,000033: # CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE 051955,000034: # SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS. 051956,000035: # THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY 051957,000036: # CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS. 051958,000037: 051959,000038: # CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC. 051960,000039: 051961,000040: # CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS 051962,000041: # ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL 051963,000042: # ANGLES IN AN ORDER OTHER THAN X Y Z. A CALL TO THIS ROUTINE IS 051964,000043: # NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO 051965,000044: # MODES (SMNB OR NBSM). SINCE AX*SR*T EXPECTS TO FIND THE SINES AND 051966,000045: # COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT 051967,000046: # IN THIS ORDER. CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED 051968,000047: # MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED. NOTE THAT SINCE 051969,000048: # IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTIENS) CD*TR*GS CANNOT BE 051970,000049: # CALLED USING BANKCALL. SORRY. 051971,000050: 051972,000051: # CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN 051973,000052: # INTERPRETIVE. 051974,000053: 051975,000054: 23,3541 77776 CDUTRIG EXIT 051976,000055: 23,3542 03551 TC CDUTRIGS 051977,000056: 23,3543 06042 TC INTPRET 051978,000057: 23,3544 77616 RVQ 051979,000058: 051980,000059: 23,3545 77776 CD*TR*G EXIT 051981,000060: 23,3546 03557 TC CD*TR*GS 051982,000061: 23,3547 06042 TC INTPRET 051983,000062: 23,3550 77616 RVQ 051984,000063: 051985,000064: 23,3551 30032 CDUTRIGS CA CDUX 051986,000065: 23,3552 54771 TS CDUSPOT +4 051987,000066: 23,3553 30033 CA CDUY 051988,000067: 23,3554 54765 TS CDUSPOT 051989,000068: # Page 1257 051990,000069: 23,3555 30034 CA CDUZ 051991,000070: 23,3556 54767 TS CDUSPOT +2 051992,000071: 051993,000072: 23,3557 00006 CD*TR*GS EXTEND 051994,000073: 23,3560 22142 QXCH TEM2 051995,000074: 23,3561 34751 CAF FOUR 051996,000075: 23,3562 76245 TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER 051997,000076: 23,3563 54143 TS TEM3 051998,000077: 23,3564 50143 INDEX TEM3 051999,000078: 23,3565 30765 CA CDUSPOT 052000,000079: 23,3566 52155 DXCH MPAC # STORING 2'S COMP ANGLE, LOADING MPAC 052001,000080: 23,3567 52127 DXCH VBUF +4 # STORING MPAC FOR LATER RESTORATION 052002,000081: 23,3570 04713 TC USPRCADR 052003,000082: 23,3571 21577 CADR CDULOGIC 052004,000083: 23,3572 00006 EXTEND 052005,000084: 23,3573 30155 DCA MPAC 052006,000085: 23,3574 50143 INDEX TEM3 052007,000086: 23,3575 52766 DXCH CDUSPOT # STORING 1'S COMPLEMENT ANGLE 052008,000087: 23,3576 04713 TC USPRCADR 052009,000088: 23,3577 01517 CADR COSINE 052010,000089: 23,3600 52155 DXCH MPAC 052011,000090: 23,3601 50143 INDEX TEM3 052012,000091: 23,3602 52744 DXCH COSCDU # STORING COSINE 052013,000092: 23,3603 00006 EXTEND 052014,000093: 23,3604 50143 INDEX TEM3 052015,000094: 23,3605 30766 DCA CDUSPOT # LOADING 1'S COMPLEMENT ANGLE 052016,000095: 23,3606 04713 TC USPRCADR 052017,000096: 23,3607 01531 CADR SINE +1 # SINE +1 EXPECTS ARGUMENT IN A AND L 052018,000097: 23,3610 52127 DXCH VBUF +4 # BRINGING UP PRIOR MPAC TO BE RESTORED 052019,000098: 23,3611 52155 DXCH MPAC 052020,000099: 23,3612 50143 INDEX TEM3 052021,000100: 23,3613 52736 DXCH SINCDU 052022,000101: 23,3614 10143 CCS TEM3 052023,000102: 23,3615 13562 TCF TR*GL**P 052024,000103: 23,3616 00142 TC TEM2 052025,000104: # Page 1258 052026,000105: # ******************************************************************************************************* 052027,000106: # QUICTRIG, INTENDED FOR QUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS. 052028,000107: # QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2, 052029,000108: # AND CDUSPOT +4. UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN 052030,000109: # CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE 052031,000110: # CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL. 052032,000111: 052033,000112: 23,3617 00004 QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS 052034,000113: 23,3620 00006 EXTEND 052035,000114: 23,3621 22061 QXCH ITEMP1 052036,000115: 23,3622 34751 CAF FOUR 052037,000116: 23,3623 76245 +4 MASK SIX 052038,000117: 23,3624 54062 TS ITEMP2 052039,000118: 23,3625 50062 INDEX ITEMP2 052040,000119: 23,3626 30765 CA CDUSPOT 052041,000120: 23,3627 05033 TC SPSIN 052042,000121: 23,3630 00006 EXTEND 052043,000122: 23,3631 74736 MP BIT14 # SCALE DOWN TO MATCH INTERPRETER OUTPUTS 052044,000123: 23,3632 50062 INDEX ITEMP2 052045,000124: 23,3633 52736 DXCH SINCDU 052046,000125: 23,3634 50062 INDEX ITEMP2 052047,000126: 23,3635 30765 CA CDUSPOT 052048,000127: 23,3636 05032 TC SPCOS 052049,000128: 23,3637 00006 EXTEND 052050,000129: 23,3640 74736 MP BIT14 052051,000130: 23,3641 50062 INDEX ITEMP2 052052,000131: 23,3642 52744 DXCH COSCDU 052053,000132: 23,3643 10062 CCS ITEMP2 052054,000133: 23,3644 13623 TCF QUICTRIG +4 052055,000134: 23,3645 30061 CA ITEMP1 052056,000135: 23,3646 00003 RELINT 052057,000136: 23,3647 00000 TC A 052058,000137: 052059,000138: # Page 1259 052060,000139: # **************************************************************************** 052061,000140: # THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN 052062,000141: # INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED. 052063,000142: 052064,000143: # THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK 052065,000144: # SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL", 052066,000145: # RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFORMED 052067,000146: # INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5. 052068,000147: 052069,000148: # TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES 052070,000149: # AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD 052071,000150: # LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFORMATION; 052072,000151: # TRG*SMNB, VICE VERSA. 052073,000152: 052074,000153: # CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENDS OF 052075,000154: # THE CDL COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM. 052076,000155: 052077,000156: # CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM. 052078,000157: 052079,000158: 23,3650 77776 CDU*SMNB EXIT 052080,000159: 23,3651 03551 TC CDUTRIGS 052081,000160: 23,3652 13655 TCF C*MM*N1 052082,000161: 052083,000162: 23,3653 77776 TRG*SMNB EXIT 052084,000163: 23,3654 03557 TC CD*TR*GS 052085,000164: 23,3655 07535 C*MM*N1 TC MPACVBUF # AX*SR*T EXPECTS VECTOR IN VBUF 052086,000165: 23,3656 46250 CS THREE # SIGNAL FOR SM TO NB TRANSFORMATION. 052087,000166: 23,3657 03677 C*MM*N2 TC AX*SR*T 052088,000167: 23,3660 06042 TC INTPRET 052089,000168: 23,3661 43575 VLOAD RVQ 052090,000169: 23,3662 00123 VBUF 052091,000170: 052092,000171: 23,3663 77776 CDU*NBSM EXIT 052093,000172: 23,3664 03551 TC CDUTRIGS 052094,000173: 23,3665 13670 TCF C*MM*N3 052095,000174: 052096,000175: 23,3666 77776 TRG*NBSM EXIT 052097,000176: 23,3667 03557 TC CD*TR*GS 052098,000177: 23,3670 07535 C*MM*N3 TC MPACVBUF # FOR AX*SR*T 052099,000178: 23,3671 36250 CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION 052100,000179: 23,3672 13657 TCF C*MM*N2 052101,000180: 052102,000181: # *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU 052103,000182: # AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE 052104,000183: # LIKE TRG*NBSM AND TRG*SMNB. 052105,000184: 052106,000185: # NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES 052107,000186: # OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM 052108,000187: # Page 1260 052109,000188: # AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR- 052110,000189: # MATIONS USE *NBSM* AND *SMNB*. 052111,000190: 052112,000191: 23,3673 77776 *SMNB* EXIT 052113,000192: 23,3674 13655 TCF C*MM*N1 052114,000193: 052115,000194: 23,3675 77776 *NBSM* EXIT 052116,000195: 23,3676 13670 TCF C*MM*N3 052117,000196: 052118,000197: # AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM 052119,000198: # TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3. 052120,000199: # THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF. 052121,000200: # AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION 052122,000201: # AT SINCDU AND COSCDU, IN THE ORDER Y Z X. A CALL TO CD*TR*GS, WITH 052123,000202: # THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF 052124,000203: # THIS. HERE IS A SAMPLE CALLING SEQUENCE:-- 052125,000204: # TC CDUTRIGS 052126,000205: # CS THREE # ("CA THREE" FOR NBSM) 052127,000206: # TC AX*SR*T 052128,000207: # THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE 052129,000208: # THAN ONCE, UNLESS THE ANGLES HAVE CHANGED. 052130,000209: 052131,000210: # AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN 052132,000211: # UNITY. A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE 052133,000212: # HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS- 052134,000213: # FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED. 052135,000214: 052136,000215: 23,3677 54142 AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES. 052137,000216: 23,3700 00006 EXTEND 052138,000217: 23,3701 22145 QXCH RTNSAVER 052139,000218: 052140,000219: 23,3702 10142 R*TL**P CCS DEXDEX # +3 --> 0 -3 --> 2 052141,000220: 23,3703 40142 CS DEXDEX # THUS: +2 --> 1 -2 --> 1 052142,000221: 23,3704 66250 AD THREE # +1 --> 2 -1 --> 0 052143,000222: 23,3705 00006 EXTEND 052144,000223: 23,3706 50000 INDEX A 052145,000224: 23,3707 33766 DCA INDEXI 052146,000225: 23,3710 52144 DXCH DEXI 052147,000226: 052148,000227: 23,3711 34753 CA ONE 052149,000228: 23,3712 54130 TS BUF 052150,000229: 23,3713 00006 EXTEND 052151,000230: 23,3714 50143 INDEX DEX1 052152,000231: 23,3715 40123 DCS VBUF 052153,000232: 23,3716 13720 TCF LOOP1 # REALLY BE A SUBTRACT, AND VICE VERSA 052154,000233: 052155,000234: 23,3717 52131 LOOP2 DXCH BUF # LOADING VECTOR COMPONENT, STORING INDEX 052156,000235: # Page 1261 052157,000236: 23,3720 52155 LOOP1 DXCH MPAC 052158,000237: 23,3721 33764 CA SINSLOC 052159,000238: 23,3722 60143 AD DEX1 052160,000239: 23,3723 54116 TS ADDRWD 052161,000240: 052162,000241: 23,3724 07112 TC DMPSUB # MULTIPLY AT SIN(CDUANGLE) 052163,000242: 23,3725 10142 CCS DEXDEX 052164,000243: 23,3726 52155 DXCH MPAC # NBSM CASE 052165,000244: 23,3727 13732 TCF +3 052166,000245: 23,3730 00006 EXTEND # SMNB CASE 052167,000246: 23,3731 40155 DCS MPAC 052168,000247: 23,3732 52160 DXCH TERM1TMP 052169,000248: 052170,000249: 23,3733 36245 CA SIX # SINCDU AND COSCDU (EACH 6 WORDS) MUST 052171,000250: 23,3734 26116 ADS ADDRWD # BE CONSECUTIVE AND IN THAT ORDER 052172,000251: 052173,000252: 23,3735 00006 EXTEND 052174,000253: 23,3736 50130 INDEX BUF 052175,000254: 23,3737 50143 INDEX DEX1 052176,000255: 23,3740 30123 DCA VBUF 052177,000256: 23,3741 52155 DXCH MPAC 052178,000257: 23,3742 07112 TC DMPSUB # MULTIPLY BY COS(CDUANGLE) 052179,000258: 23,3743 52155 DXCH MPAC 052180,000259: 23,3744 20160 DAS TERM1TMP 052181,000260: 23,3745 52160 DXCH TERM1TMP 052182,000261: 23,3746 20001 DDOUBL 052183,000262: 23,3747 50130 INDEX BUF 052184,000263: 23,3750 50143 INDEX DEX1 052185,000264: 23,3751 52123 DXCH VBUF 052186,000265: 23,3752 52131 DXCH BUF # LOADING INDEX, STORING VECTOR COMPONENT 052187,000266: 23,3753 10000 CCS A # 'CAUSE THAT'S WHERE THE INDEX NOW IS 052188,000267: 23,3754 13717 TCF LOOP2 052189,000268: 052190,000269: 23,3755 00006 EXTEND 052191,000270: 23,3756 26142 DIM DEXDEX # DECREMENT MAGNITUDE PRESERVING SIGN 052192,000271: 052193,000272: 23,3757 10142 TSTPOINT CCS DEXDEX # ONLY THE BRANCHING FUNCTION IS USED 052194,000273: 23,3760 13702 TCF R*TL**P 052195,000274: 23,3761 00145 TC RTNSAVER 052196,000275: 23,3762 13702 TCF R*TL**P 052197,000276: 23,3763 00145 TC RTNSAVER 052198,000277: 052199,000278: 23,3764 00735 SINSLOC ADRES SINCDU # FOR USE IN SETTING ADDRWD 052200,000279: 052201,000280: 23,3765 00004 INDEXI DEC 4 B-14 # ********** DON'T *********** 052202,000281: 23,3766 00002 DEC 2 B-14 # ********** TOUCH *********** 052203,000282: 23,3767 00000 DEC 0 B-14 # ********** THESE *********** 052204,000283: # Page 1262 052205,000284: 23,3770 00004 DEC 4 B-14 # ********** CONSTANTS *********** 052206,000285: 052207,000286: # ****************************************************************************** 052208,000287: 052209,000288: 10,2030 BANK 10 052210,000289: 10,2000 SETLOC FLESHLOC 052211,000290: 10,2000 BANK 052212,000291: 10,2030 COUNT* $$/POWFL 052213,000292: 052214,000293: # ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES 052215,000294: # IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A. 052216,000295: 052217,000296: 10,2030 77776 CALCSMSC EXIT 052218,000297: 10,2031 04616 TC BANKCALL 052219,000298: 10,2032 20036 CADR FLESHPOT -1 052220,000299: 10,2033 06042 TC INTPRET 052221,000300: 10,2034 77616 RVQ 052222,000301: 052223,000302: 10,2035 02664 XNBECADR ECADR XNB 052224,000303: 052225,000304: 10,2036 32035 -1 CAF XNBECADR 052226,000305: 052227,000306: 10,2037 54142 FLESHPOT TS TEM2 052228,000307: 10,2040 56003 XCH EBANK 052229,000308: 10,2041 56142 XCH TEM2 052230,000309: 10,2042 74357 MASK LOW8 052231,000310: 10,2043 65007 AD OCT1400 052232,000311: 10,2044 54141 TS TEM1 052233,000312: 052234,000313: 10,2045 00006 EXTEND 052235,000314: 10,2046 30744 DCA COSCDUY 052236,000315: 10,2047 52155 DXCH MPAC 052237,000316: 10,2050 07106 TC DMP 052238,000317: 10,2051 00745 ADRES COSCDUZ 052239,000318: 10,2052 52155 DXCH MPAC 052240,000319: 10,2053 20001 DDOUBL 052241,000320: 10,2054 50141 INDEX TEM1 052242,000321: 10,2055 52001 DXCH 0 # = COSY COSZ 052243,000322: 052244,000323: 10,2056 00006 EXTEND 052245,000324: 10,2057 30740 DCA SINCDUZ 052246,000325: 10,2060 50141 INDEX TEM1 052247,000326: 10,2061 52003 DXCH 2 # = SINZ 052248,000327: 052249,000328: 10,2062 00006 EXTEND 052250,000329: 10,2063 40736 DCS SINCDUY 052251,000330: 10,2064 52155 DXCH MPAC 052252,000331: 10,2065 07112 TC DMPSUB # ADDRWD SET TO COSCDUZ 052253,000332: # Page 1263 052254,000333: 10,2066 52155 DXCH MPAC 052255,000334: 10,2067 20001 DDOUBL 052256,000335: 10,2070 50141 INDEX TEM1 052257,000336: 10,2071 52005 DXCH 4 # = - SINY COSZ 052258,000337: 052259,000338: 10,2072 00006 EXTEND 052260,000339: 10,2073 40742 DCS SINCDUX 052261,000340: 10,2074 52155 DXCH MPAC 052262,000341: 10,2075 07112 TC DMPSUB # ADDRWD SET TO COSCDUZ STILL 052263,000342: 10,2076 52155 DXCH MPAC 052264,000343: 10,2077 20001 DDOUBL 052265,000344: 10,2100 52160 DXCH MPAC +3 052266,000345: 052267,000346: 10,2101 00006 EXTEND 052268,000347: 10,2102 40742 DCS SINCDUX 052269,000348: 10,2103 52155 DXCH MPAC 052270,000349: 10,2104 07106 TC DMP 052271,000350: 10,2105 00737 ADRES SINCDUZ 052272,000351: 10,2106 00006 EXTEND 052273,000352: 10,2107 40155 DCS MPAC 052274,000353: 10,2110 52162 DXCH MPAC +5 052275,000354: 10,2111 07106 TC DMP 052276,000355: 10,2112 00735 ADRES SINCDUY 052277,000356: 10,2113 52155 DXCH MPAC 052278,000357: 10,2114 20001 DDOUBL 052279,000358: 10,2115 20001 DDOUBL 052280,000359: 10,2116 52162 DXCH MPAC +5 052281,000360: 052282,000361: 10,2117 52155 DXCH MPAC 052283,000362: 10,2120 07106 TC DMP 052284,000363: 10,2121 00743 ADRES COSCDUY 052285,000364: 10,2122 52155 DXCH MPAC 052286,000365: 10,2123 20001 DDOUBL 052287,000366: 10,2124 20001 DDOUBL 052288,000367: 10,2125 52131 DXCH BUF 052289,000368: 052290,000369: 10,2126 00006 EXTEND 052291,000370: 10,2127 30744 DCA COSCDUY 052292,000371: 10,2130 52155 DXCH MPAC 052293,000372: 10,2131 07106 TC DMP 052294,000373: 10,2132 00747 ADRES COSCDUX 052295,000374: 10,2133 52155 DXCH MPAC 052296,000375: 10,2134 20001 DDOUBL 052297,000376: 10,2135 20162 DAS MPAC +5 052298,000377: 052299,000378: 10,2136 00006 EXTEND 052300,000379: 10,2137 30736 DCA SINCDUY 052301,000380: 10,2140 52155 DXCH MPAC 052302,000381: 10,2141 07112 TC DMPSUB # ADDRWD SET TO COSCDUX 052303,000382: 10,2142 52155 DXCH MPAC 052304,000383: 052305,000384: # Page 1264 052306,000385: 10,2143 20001 DDOUBL 052307,000386: 10,2144 20131 DAS BUF 052308,000387: 052309,000388: 10,2145 52131 DXCH BUF 052310,000389: 10,2146 52155 DXCH MPAC 052311,000390: 052312,000391: 10,2147 00006 EXTEND 052313,000392: 10,2150 30155 DCA MPAC 052314,000393: 10,2151 50141 INDEX TEM1 052315,000394: 10,2152 52015 DXCH 14 # = - SINY COSX + SINX SINZ COSY 052316,000395: 052317,000396: 10,2153 00006 EXTEND 052318,000397: 10,2154 30160 DCA MPAC +3 052319,000398: 10,2155 50141 INDEX TEM1 052320,000399: 10,2156 52017 DXCH 16 # = - SINX COSZ 052321,000400: 052322,000401: 10,2157 00006 EXTEND 052323,000402: 10,2160 30162 DCA MPAC +5 052324,000403: 10,2161 50141 INDEX TEM1 052325,000404: 10,2162 52021 DXCH 20 # = COSX COSY - SINX SINY SINZ 052326,000405: 052327,000406: 10,2163 30141 CA TEM1 052328,000407: 10,2164 54116 TS ADDRWD 052329,000408: 10,2165 00006 EXTEND 052330,000409: 10,2166 30006 DCA Z 052331,000410: 10,2167 64751 AD FOUR 052332,000411: 10,2170 52165 DXCH LOC 052333,000412: 10,2171 34744 CAF BIT8 052334,000413: 10,2172 54023 TS EDOP 052335,000414: 10,2173 17463 TCF VXV 052336,000415: 10,2174 52155 DXCH MPAC 052337,000416: 10,2175 20001 DDOUBL 052338,000417: 10,2176 50141 INDEX TEM1 052339,000418: 10,2177 52007 DXCH 6 052340,000419: 052341,000420: 10,2200 52160 DXCH MPAC +3 052342,000421: 10,2201 20001 DDOUBL 052343,000422: 10,2202 50141 INDEX TEM1 052344,000423: 10,2203 52011 DXCH 10 052345,000424: 052346,000425: 10,2204 52162 DXCH MPAC +5 052347,000426: 10,2205 20001 DDOUBL 052348,000427: 10,2206 50141 INDEX TEM1 052349,000428: 10,2207 52013 DXCH 12 052350,000429: 052351,000430: 10,2210 30142 CA TEM2 052352,000431: 10,2211 54003 TS EBANK 052353,000432: 10,2212 14631 TCF SWRETURN 052354,000433: End of include-file POWERED_FLIGHT_SUBROUTINES.agc. Parent file is MAIN.agc