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