Source Code

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