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,1968Note that the date is the date of the printout, not the date of the program revision. |
054258,000002: ## Copyright: Public domain.
054259,000003: ## Filename: POWERED_FLIGHT_SUBROUTINES.agc
054260,000004: ## Purpose: The main source file for Luminary revision 069.
054261,000005: ## It is part of the source code for the original release
054262,000006: ## of the flight software for the Lunar Module's (LM) Apollo
054263,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
054264,000008: ## version was Luminary 69 revision 2, which included a
054265,000009: ## newer lunar gravity model and only affected module 2.
054266,000010: ## This file is intended to be a faithful transcription, except
054267,000011: ## that the code format has been changed to conform to the
054268,000012: ## requirements of the yaYUL assembler rather than the
054269,000013: ## original YUL assembler.
054270,000014: ## Reference: pp. 1254-1261
054271,000015: ## Assembler: yaYUL
054272,000016: ## Contact: Ron Burkey <info@sandroid.org>.
054273,000017: ## Website: www.ibiblio.org/apollo/index.html
054274,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
054275,000019: ## 2016-12-18 MAS Updated from comment-proofed Luminary 99 version.
054276,000020: ## 2017-01-13 RRB Updated for Luminary 69.
054277,000021: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
054278,000022: ## but no errors found.
054279,000023: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
054280,000024: ## side-by-side diff of Luminary 69/99/116/131/210.
054281,000025: ## 2017-03-17 RSB Comment-text fixes identified in diff'ing
054282,000026: ## Luminary 99 vs Comanche 55.
054283,000027:
![]() |
Page 1254 |
054285,000029: 14,3711 BANK 14 # SAME FBANK AS THE FINDCDUD SUB-PROGRAM
054286,000030: 23,2000 SETLOC POWFLITE
054287,000031: 23,2000 BANK
054288,000032:
054289,000033: 23,3443 0142 EBANK= DEXDEX
054290,000034: 23,3443 COUNT* $$/POWFL
054291,000035:
054292,000036: # CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
054293,000037: # COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
054294,000038: # PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN
054295,000039: # ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT. THESE
054296,000040: # ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
054297,000041: # EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN
054298,000042: # WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
054299,000043:
054300,000044: # CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
054301,000045: # SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
054302,000046: # THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
054303,000047: # CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
054304,000048:
054305,000049: # CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
054306,000050:
054307,000051: # CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
054308,000052: # ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
054309,000053: # ANGLES IN AN ORDER OTHER THAN X Y Z. A CALL TO THIS ROUTINE IS
054310,000054: # NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
054311,000055: # MODES (SMNB OR NBSM). SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
054312,000056: # COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
054313,000057: # IN THIS ORDER. CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
054314,000058: # MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED. NOTE THAT SINCE
054315,000059: # IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
054316,000060: # CALLED USING BANKCALL. SORRY.
054317,000061:
054318,000062: # CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
054319,000063: # INTERPRETIVE.
054320,000064:
054321,000065: 23,3443 77776 CDUTRIG EXIT
054322,000066: 23,3444 03453 TC CDUTRIGS
054323,000067: 23,3445 06036 TC INTPRET
054324,000068: 23,3446 77616 RVQ
054325,000069:
054326,000070: 23,3447 77776 CD*TR*G EXIT
054327,000071: 23,3450 03461 TC CD*TR*GS
054328,000072: 23,3451 06036 TC INTPRET
054329,000073: 23,3452 77616 RVQ
054330,000074:
054331,000075: 23,3453 30032 CDUTRIGS CA CDUX
054332,000076: 23,3454 54772 TS CDUSPOT +4
054333,000077: 23,3455 30033 CA CDUY
054334,000078: 23,3456 54766 TS CDUSPOT
![]() |
Page 1255 |
054336,000080: 23,3457 30034 CA CDUZ
054337,000081: 23,3460 54770 TS CDUSPOT +2
054338,000082:
054339,000083: 23,3461 00006 CD*TR*GS EXTEND
054340,000084: 23,3462 22142 QXCH TEM2
054341,000085: 23,3463 34751 CAF FOUR
054342,000086: 23,3464 76241 TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
054343,000087: 23,3465 54143 TS TEM3
054344,000088: 23,3466 50143 INDEX TEM3
054345,000089: 23,3467 30766 CA CDUSPOT
054346,000090: 23,3470 52155 DXCH MPAC # STORING 2'S COMP ANGLE, LOADING MPAC
054347,000091: 23,3471 52127 DXCH VBUF +4 # STORING MPAC FOR LATER RESTORATION
054348,000092: 23,3472 04713 TC USPRCADR
054349,000093: 23,3473 21465 CADR CDULOGIC
054350,000094: 23,3474 00006 EXTEND
054351,000095: 23,3475 30155 DCA MPAC
054352,000096: 23,3476 50143 INDEX TEM3
054353,000097: 23,3477 52767 DXCH CDUSPOT # STORING 1'S COMPLEMENT ANGLE
054354,000098: 23,3500 04713 TC USPRCADR
054355,000099: 23,3501 01517 CADR COSINE
054356,000100: 23,3502 52155 DXCH MPAC
054357,000101: 23,3503 50143 INDEX TEM3
054358,000102: 23,3504 52745 DXCH COSCDU # STORING COSINE
054359,000103: 23,3505 00006 EXTEND
054360,000104: 23,3506 50143 INDEX TEM3
054361,000105: 23,3507 30767 DCA CDUSPOT # LOADING 1'S COMPLEMENT ANGLE
054362,000106: 23,3510 04713 TC USPRCADR
054363,000107: 23,3511 01531 CADR SINE +1 # SINE +1 EXPECTS ARGUMENT IN A AND L
054364,000108: 23,3512 52127 DXCH VBUF +4 # BRINGING UP PRIOR MPAC TO BE RESTORED
054365,000109: 23,3513 52155 DXCH MPAC
054366,000110: 23,3514 50143 INDEX TEM3
054367,000111: 23,3515 52737 DXCH SINCDU
054368,000112: 23,3516 10143 CCS TEM3
054369,000113: 23,3517 13464 TCF TR*GL**P
054370,000114: 23,3520 00142 TC TEM2
![]() |
Page 1256 |
054372,000116: # ****************************************************************************************************************
054373,000117: # QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
054374,000118: # QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
054375,000119: # AND CDUSPOT +4. UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
054376,000120: # CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE
054377,000121: # CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
054378,000122:
054379,000123: 23,3521 00004 QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
054380,000124: 23,3522 00006 EXTEND
054381,000125: 23,3523 22061 QXCH ITEMP1
054382,000126: 23,3524 34751 CAF FOUR
054383,000127: 23,3525 76241 +4 MASK SIX
054384,000128: 23,3526 54062 TS ITEMP2
054385,000129: 23,3527 50062 INDEX ITEMP2
054386,000130: 23,3530 30766 CA CDUSPOT
054387,000131: 23,3531 05033 TC SPSIN
054388,000132: 23,3532 00006 EXTEND
054389,000133: 23,3533 74736 MP BIT14 # SCALE DOWN TO MATCH INTERPRETER OUTPUTS
054390,000134: 23,3534 50062 INDEX ITEMP2
054391,000135: 23,3535 52737 DXCH SINCDU
054392,000136: 23,3536 50062 INDEX ITEMP2
054393,000137: 23,3537 30766 CA CDUSPOT
054394,000138: 23,3540 05032 TC SPCOS
054395,000139: 23,3541 00006 EXTEND
054396,000140: 23,3542 74736 MP BIT14
054397,000141: 23,3543 50062 INDEX ITEMP2
054398,000142: 23,3544 52745 DXCH COSCDU
054399,000143: 23,3545 10062 CCS ITEMP2
054400,000144: 23,3546 13525 TCF QUICTRIG +4
054401,000145: 23,3547 30061 CA ITEMP1
054402,000146: 23,3550 00003 RELINT
054403,000147: 23,3551 00000 TC A
054404,000148:
![]() |
Page 1257 |
054406,000150: # ****************************************************************************************************************
054407,000151: # THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
054408,000152: # INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
054409,000153:
054410,000154: # THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
054411,000155: # SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
054412,000156: # RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
054413,000157: # MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
054414,000158:
054415,000159: # TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
054416,000160: # AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
054417,000161: # LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFOR-
054418,000162: # MATION; TRG*SMNB, VICE VERSA.
054419,000163:
054420,000164: # CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
054421,000165: # THE CDU COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM.
054422,000166:
054423,000167: # CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
054424,000168:
054425,000169: 23,3552 77776 CDU*SMNB EXIT
054426,000170: 23,3553 03453 TC CDUTRIGS
054427,000171: 23,3554 13557 TCF C*MM*N1
054428,000172:
054429,000173: 23,3555 77776 TRG*SMNB EXIT
054430,000174: 23,3556 03461 TC CD*TR*GS
054431,000175: 23,3557 07531 C*MM*N1 TC MPACVBUF # AX*SR*T EXPECTS VECTOR IN VBUF
054432,000176: 23,3560 46244 CS THREE # SIGNAL FOR SM TO NB TRANSFORMATION
054433,000177: 23,3561 03601 C*MM*N2 TC AX*SR*T
054434,000178: 23,3562 06036 TC INTPRET
054435,000179: 23,3563 43575 VLOAD RVQ
054436,000180: 23,3564 00123 VBUF
054437,000181:
054438,000182: 23,3565 77776 CDU*NBSM EXIT
054439,000183: 23,3566 03453 TC CDUTRIGS
054440,000184: 23,3567 13572 TCF C*MM*N3
054441,000185:
054442,000186: 23,3570 77776 TRG*NBSM EXIT
054443,000187: 23,3571 03461 TC CD*TR*GS
054444,000188: 23,3572 07531 C*MM*N3 TC MPACVBUF # FOR AX*SR*T
054445,000189: 23,3573 36244 CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION
054446,000190: 23,3574 13561 TCF C*MM*N2
054447,000191:
054448,000192: # *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
054449,000193: # AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE
054450,000194: # LIKE TRG*NBSM AND TRG*SMNB.
054451,000195:
054452,000196: # NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
054453,000197: # OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
![]() |
Page 1258 |
054455,000199: # AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANSFOR-
054456,000200: # MATIONS USE *NBSM* AND *SMNB*.
054457,000201:
054458,000202: 23,3575 77776 *SMNB* EXIT
054459,000203: 23,3576 13557 TCF C*MM*N1
054460,000204:
054461,000205: 23,3577 77776 *NBSM* EXIT
054462,000206: 23,3600 13572 TCF C*MM*N3
054463,000207:
054464,000208: # AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM
054465,000209: # TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3.
054466,000210: # THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
054467,000211: # AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
054468,000212: # AT SINCDU AND COSCDU, IN THE ORDER Y Z X. A CALL TO CD*TR*GS, WITH
054469,000213: # THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
054470,000214: # THIS. HERE IS A SAMPLE CALLING SEQUENCE:-
054471,000215: # TC CDUTRIGS
054472,000216: # CS THREE ("CA THREE" FOR NBSM)
054473,000217: # TC AX*SR*T
054474,000218: # THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
054475,000219: # THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
054476,000220:
054477,000221: # AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
054478,000222: # UNITY. A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
054479,000223: # HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
054480,000224: # FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
054481,000225:
054482,000226: 23,3601 54142 AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES
054483,000227: 23,3602 00006 EXTEND
054484,000228: 23,3603 22145 QXCH RTNSAVER
054485,000229:
054486,000230: 23,3604 10142 R*TL**P CCS DEXDEX # +3 --> 0 -3 --> 2
054487,000231: 23,3605 40142 CS DEXDEX # THUS: +2 --> 1 -2 --> 1
054488,000232: 23,3606 66244 AD THREE # +1 --> 2 -1 --> 0
054489,000233: 23,3607 00006 EXTEND
054490,000234: 23,3610 50000 INDEX A
054491,000235: 23,3611 33670 DCA INDEXI
054492,000236: 23,3612 52144 DXCH DEXI
054493,000237:
054494,000238: 23,3613 34753 CA ONE
054495,000239: 23,3614 54130 TS BUF
054496,000240: 23,3615 00006 EXTEND
054497,000241: 23,3616 50143 INDEX DEX1
054498,000242: 23,3617 40123 DCS VBUF
054499,000243: 23,3620 13622 TCF LOOP1 # REALLY BE A SUBTRACT, AND VICE VERSA
054500,000244:
054501,000245: 23,3621 52131 LOOP2 DXCH BUF # LOADING VECTOR COMPONENT, STORING INDEX
![]() |
Page 1259 |
054503,000247: 23,3622 52155 LOOP1 DXCH MPAC
054504,000248: 23,3623 33666 CA SINSLOC
054505,000249: 23,3624 60143 AD DEX1
054506,000250: 23,3625 54116 TS ADDRWD
054507,000251:
054508,000252: 23,3626 07106 TC DMPSUB # MULTIPLY BY SIN(CDUANGLE)
054509,000253: 23,3627 10142 CCS DEXDEX
054510,000254: 23,3630 52155 DXCH MPAC # NBSM CASE
054511,000255: 23,3631 13634 TCF +3
054512,000256: 23,3632 00006 EXTEND # SMNB CASE
054513,000257: 23,3633 40155 DCS MPAC
054514,000258: 23,3634 52160 DXCH TERM1TMP
054515,000259:
054516,000260: 23,3635 36241 CA SIX # SINCDU AND COSCDU (EACH 6 WORDS) MUST
054517,000261: 23,3636 26116 ADS ADDRWD # BE CONSECUTIVE AND IN THAT ORDER
054518,000262:
054519,000263: 23,3637 00006 EXTEND
054520,000264: 23,3640 50130 INDEX BUF
054521,000265: 23,3641 50143 INDEX DEX1
054522,000266: 23,3642 30123 DCA VBUF
054523,000267: 23,3643 52155 DXCH MPAC
054524,000268: 23,3644 07106 TC DMPSUB # MULTIPLY BY COS(CDUANGLE)
054525,000269: 23,3645 52155 DXCH MPAC
054526,000270: 23,3646 20160 DAS TERM1TMP
054527,000271: 23,3647 52160 DXCH TERM1TMP
054528,000272: 23,3650 20001 DDOUBL
054529,000273: 23,3651 50130 INDEX BUF
054530,000274: 23,3652 50143 INDEX DEX1
054531,000275: 23,3653 52123 DXCH VBUF
054532,000276: 23,3654 52131 DXCH BUF # LOADING INDEX, STORING VECTOR COMPONENT
054533,000277:
054534,000278: 23,3655 10000 CCS A # 'CAUSE THAT'S WHERE THE INDEX NOW IS
054535,000279: 23,3656 13621 TCF LOOP2
054536,000280:
054537,000281: 23,3657 00006 EXTEND
054538,000282: 23,3660 26142 DIM DEXDEX # DECREMENT MAGNITUDE PRESERVING SIGN
054539,000283:
054540,000284: 23,3661 10142 TSTPOINT CCS DEXDEX # ONLY THE BRANCHING FUNCTION IS USED
054541,000285: 23,3662 13604 TCF R*TL**P
054542,000286: 23,3663 00145 TC RTNSAVER
054543,000287: 23,3664 13604 TCF R*TL**P
054544,000288: 23,3665 00145 TC RTNSAVER
054545,000289:
054546,000290: 23,3666 00736 SINSLOC ADRES SINCDU # FOR USE IN SETTING ADDRWD
054547,000291:
054548,000292: 23,3667 00004 INDEXI DEC 4 B-14 # ********** DON'T **********
054549,000293: 23,3670 00002 DEC 2 B-14 # ********** TOUCH **********
054550,000294: 23,3671 00000 DEC 0 B-14 # ********** THESE **********
![]() |
Page 1260 |
054552,000296: 23,3672 00004 DEC 4 B-14 # ********** CONSTANTS **********
054553,000297:
054554,000298: # ****************************************************************************************************************
![]() |
Page 1261 |
054556,000300: # THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
054557,000301: # REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4). SIN,COS(CDUY,Z,X) ARE IN
054558,000302: # SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY,SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
054559,000303: # ONE REVOLUTION.
054560,000304:
054561,000305: # * COS(IGA)SEC(MGA) 0 -SIN(IGA)SEC(MGA) *
054562,000306: # * *
054563,000307: # * -COS(IGA)TAN(MGA) 1 SIN(IGA)TAN(MGA) *
054564,000308: # * *
054565,000309: # * SIN(IGA) 0 COS(IGA) *
054566,000310:
054567,000311: 14,3711 BANK 14
054568,000312: 23,2000 SETLOC POWFLIT1
054569,000313: 23,2000 BANK
054570,000314: 23,3673 41345 SMCDURES DLOAD DMP
054571,000315: 23,3674 01265 DTHETASM
054572,000316: 23,3675 00745 COSCDUY
054573,000317:
054574,000318: 23,3676 41325 PDDL DMP
054575,000319: 23,3677 01271 DTHETASM +4
054576,000320: 23,3700 00737 SINCDUY
054577,000321:
054578,000322: 23,3701 77621 BDSU
054579,000323: 23,3702 77671 DDV
054580,000324: 23,3703 00747 COSCDUZ
054581,000325: 23,3704 03234 STORE DCDU
054582,000326:
054583,000327: 23,3705 72405 DMP SL1 # SCALE
054584,000328: 23,3706 00741 SINCDUZ
054585,000329: 23,3707 77621 BDSU
054586,000330:
054587,000331: 23,3710 01267 DTHETASM +2
054588,000332: 23,3711 17236 STODL DCDU +2
054589,000333: 23,3712 01265 DTHETASM
054590,000334:
054591,000335: 23,3713 65205 DMP PDDL
054592,000336: 23,3714 00737 SINCDUY
054593,000337: 23,3715 01271 DTHETASM +4
054594,000338:
054595,000339: 23,3716 43205 DMP DAD
054596,000340: 23,3717 00745 COSCDUY
054597,000341: 23,3720 77752 SL1
054598,000342: 23,3721 03240 STORE DCDU +4
054599,000343: 23,3722 77616 RVQ
054600,000344:
End of include-file POWERED_FLIGHT_SUBROUTINES.agc. Parent file is MAIN.agc