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. |
037397,000002: ## Copyright: Public domain.
037398,000003: ## Filename: ASCENT_GUIDANCE.agc
037399,000004: ## Purpose: The main source file for Luminary revision 069.
037400,000005: ## It is part of the source code for the original release
037401,000006: ## of the flight software for the Lunar Module's (LM) Apollo
037402,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
037403,000008: ## version was Luminary 69 revision 2, which included a
037404,000009: ## newer lunar gravity model and only affected module 2.
037405,000010: ## This file is intended to be a faithful transcription, except
037406,000011: ## that the code format has been changed to conform to the
037407,000012: ## requirements of the yaYUL assembler rather than the
037408,000013: ## original YUL assembler.
037409,000014: ## Reference: pp. 844-857
037410,000015: ## Assembler: yaYUL
037411,000016: ## Contact: Ron Burkey <info@sandroid.org>.
037412,000017: ## Website: www.ibiblio.org/apollo/index.html
037413,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
037414,000019: ## 2016-12-18 MAS Updated from comment-proofed Luminary 99 version.
037415,000020: ## 2017-01-20 HG Transcribed
037416,000021: ## 2017-01-23 HG Fix value of SIN5DEG .008716 -> 0.08716
037417,000022: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
037418,000023: ## and fixed errors found.
037419,000024: ## 2017-03-14 RSB Comment-text fixes identified in 5-way
037420,000025: ## side-by-side diff of Luminary 69/99/116/131/210.
037421,000026:
![]() |
Page 844 |
037423,000028: 34,3637 BANK 34
037424,000029: 34,2000 SETLOC ASCFILT
037425,000030: 34,2000 BANK
037426,000031:
037427,000032: 34,3637 E7,1513 EBANK= DVCNTR
037428,000033:
037429,000034: 34,3637 COUNT* $$/ASENT
037430,000035:
037431,000036: 34,3637 05353 ATMAG TC PHASCHNG
037432,000037: 34,3640 00035 OCT 00035
037433,000038: 34,3641 05353 TC PHASCHNG
037434,000039: 34,3642 05023 OCT 05023
037435,000040: 34,3643 21000 OCT 21000
037436,000041: 34,3644 06036 TC INTPRET
037437,000042: 34,3645 77614 BON
037438,000043: 34,3646 04705 FLRCS
037439,000044: 34,3647 60313 ASCENT
037440,000045: 34,3650 45345 DLOAD DSU
037441,000046: 34,3651 03512 ABDVCONV
037442,000047: 34,3652 21054 MINABDV
037443,000048: 34,3653 43040 BMN CLEAR
037444,000049: 34,3654 60767 ASCTERM4
037445,000050: 34,3655 04267 SURFFLAG
037446,000051: 34,3656 67214 CLEAR SLOAD
037447,000052: 34,3657 02676 RENDWFLG
037448,000053: 34,3660 17224 BIT3H
037449,000054: 34,3661 77471 DDV EXIT
037450,000055: 34,3662 03512 ABDVCONV
037451,000056: 34,3663 52155 DXCH MPAC
037452,000057: 34,3664 53637 DXCH 1/DV3
037453,000058: 34,3665 53635 DXCH 1/DV2
037454,000059: 34,3666 53633 DXCH 1/DV1
037455,000060: 34,3667 53567 DXCH 1/DV0
037456,000061: 34,3670 05353 TC PHASCHNG
037457,000062: 34,3671 04023 OCT 04023
037458,000063: 34,3672 06036 TC INTPRET
037459,000064: 34,3673 43345 DLOAD DAD
037460,000065: 34,3674 03567 1/DV0
037461,000066: 34,3675 03633 1/DV1
037462,000067: 34,3676 43215 DAD DAD
037463,000068: 34,3677 03635 1/DV2
037464,000069: 34,3700 03637 1/DV3
037465,000070: 34,3701 41205 DMP DMP
037466,000071: 34,3702 02261 VE
037467,000072: 34,3703 21041 2SEC(9)
037468,000073: 34,3704 65252 SL3 PDDL
037469,000074: 34,3705 02265 TBUP
037470,000075: 34,3706 43342 SR1 DAD
037471,000076: 34,3707 77625 DSU
037472,000077: 34,3710 21036 6SEC(18)
037473,000078:
![]() |
Page 845 |
037475,000080: 34,3711 16265 STODL TBUP
037476,000081: 34,3712 02261 VE
037477,000082: 34,3713 56342 SR1 DDV
037478,000083: 34,3714 02265 TBUP
037479,000084: 34,3715 36257 STCALL AT
037480,000085: 34,3716 60313 ASCENT
037481,000086:
![]() |
Page 846 |
037483,000088: 30,2313 BANK 30
037484,000089: 30,2000 SETLOC ASENT
037485,000090: 30,2000 BANK
037486,000091: 30,2313 COUNT* $$/ASENT
037487,000092:
037488,000093:
037489,000094: 30,2313 51575 ASCENT VLOAD ABVAL
037490,000095: 30,2314 03517 R
037491,000096: 30,2315 26275 STOVL /R/MAG
037492,000097: 30,2316 03535 UNIT/R/ # UR*2(-1)
037493,000098: 30,2317 53435 VXV UNIT
037494,000099: 30,2320 03716 QAXIS
037495,000100: 30,2321 02305 STORE ZAXIS1
037496,000101: 30,2322 72441 DOT SL1
037497,000102: 30,2323 03525 V # Z.V = ZDOT*2(-8).
037498,000103: 30,2324 26317 STOVL ZDOT # ZDOT*2(-7)
037499,000104: 30,2325 02305 ZAXIS1
037500,000105: 30,2326 76435 VXV VSL1
037501,000106: 30,2327 03535 UNIT/R/ # Z X UR = LAXIS*2(-2)
037502,000107: 30,2330 02277 STORE LAXIS # LAXIS*2(-1)
037503,000108: 30,2331 72441 DOT SL1
037504,000109: 30,2332 03525 V # L.V = YDOT*2(-8).
037505,000110: 30,2333 26315 STOVL YDOT # YDOT * 2(-7)
037506,000111: 30,2334 03535 UNIT/R/
037507,000112: 30,2335 72441 DOT SL1
037508,000113: 30,2336 03525 V
037509,000114: 30,2337 36313 STCALL RDOT # RDOT*2(-7)
037510,000115: 30,2340 57316 YCOMP
037511,000116: 30,2341 77775 VLOAD
037512,000117: 30,2342 03561 GDT1/2 # LOAD GDT1/2*2(-7) M/CS.
037513,000118: 30,2343 50341 V/SC DOT
037514,000119: 30,2344 27201 2SEC(18)
037515,000120: 30,2345 03535 UNIT/R/ # G.UR*2(9) = GR*2(9).
037516,000121: 30,2346 47315 PDVL VXV # STORE IN PDL(0) (2)
037517,000122: 30,2347 03535 UNIT/R/ # LOAD UNIT/R/ *2(-1).
037518,000123: 30,2350 03525 V # UR*2(-1) X V*2(-7) = H/R*2(-8).
037519,000124: 30,2351 56236 VSQ DDV # H(2)/R(2)*2(-16).
037520,000125: 30,2352 02275 /R/MAG # H(2)/R(3)*2(9).
037521,000126: 30,2353 43352 SL1 DAD
037522,000127: 30,2354 77626 STADR
037523,000128: 30,2355 61456 STODL GEFF # GEFF*2(10)M/CS/CS.
037524,000129: 30,2356 02273 ZDOTD
037525,000130: 30,2357 77625 DSU
037526,000131: 30,2360 02317 ZDOT
037527,000132: 30,2361 02347 STORE DZDOT # DZDOT = (ZDOTD - ZDOT) * 2(7)M/CS.
037528,000133: 30,2362 65361 VXSC PDDL
037529,000134: 30,2363 02305 ZAXIS1
037530,000135:
![]() |
Page 847 |
037532,000137: 30,2364 02271 YDOTD
037533,000138: 30,2365 77625 DSU
037534,000139: 30,2366 02315 YDOT
037535,000140: 30,2367 02345 STORE DYDOT # DYDOT = (YDOTD - YDOT)*2(7)M/CS.
037536,000141: 30,2370 65361 VXSC PDDL
037537,000142: 30,2371 02277 LAXIS
037538,000143: 30,2372 02267 RDOTD
037539,000144: 30,2373 77625 DSU
037540,000145: 30,2374 02313 RDOT
037541,000146: 30,2375 02343 STORE DRDOT # DRDOT = (RDOTD - RDOT)*2(7)M/CS.
037542,000147: 30,2376 53361 VXSC VAD
037543,000148: 30,2377 03535 UNIT/R/
037544,000149: 30,2400 76455 VAD VSL1
037545,000150: 30,2401 77626 STADR
037546,000151: 30,2402 74131 STORE VGVECT # VG = (DRDOT)R + (DYDOT)L + (DZDOT)Z.
037547,000152: 30,2403 77614 BON
037548,000153: 30,2404 04711 FLZONE0
037549,000154: 30,2405 65442 PREBRET1
037550,000155: 30,2406 77624 CALL
037551,000156: 30,2407 61011 ASCRSTRT
037552,000157: 30,2410 41345 DLOAD DMP # LOAD TGO
037553,000158: 30,2411 03515 TGO # TGO GEFF
037554,000159: 30,2412 02321 GEFF
037555,000160: 30,2413 76561 VXSC VSL1
037556,000161: 30,2414 03535 UNIT/R/ # TGO GEFF UR
037557,000162: 30,2415 77645 BVSU
037558,000163: 30,2416 03646 VGVECT # COMPENSATED FOR GEFF
037559,000164: 30,2417 03646 STORE VGVECT # STORE FOR DOWNLINK
037560,000165: 30,2420 76521 MXV VSL1 # GET VGBODY FOR N85 DISPLAY
037561,000166: 30,2421 02146 XNBPIP
037562,000167: 30,2422 27500 STOVL VGBODY
037563,000168: 30,2423 03646 VGVECT
037564,000169: 30,2424 43046 ABVAL BOFF # MAGNITUDE OF VGVECT
037565,000170: 30,2425 04745 FLRCS # IF FLRCS=0,DO NORMAL GUIDANCE
037566,000171: 30,2426 60433 MAINENG
037567,000172: 30,2427 77671 DDV # USE TGO=VG/AT WITH RCS
037568,000173: 30,2430 20001 AT/RCS
037569,000174: 30,2431 37515 STCALL TGO # THIS WILL BE USED ON NEXT CYCLE
037570,000175: 30,2432 60763 ASCTERM2
037571,000176: 30,2433 41471 MAINENG DDV PUSH # VG/VE IN PDL(0) (2)
037572,000177: 30,2434 02261 VE
037573,000178: 30,2435 44205 DMP BDSU # 1-KT VG/VE
037574,000179: 30,2436 21046 KT1
037575,000180: 30,2437 17743 NEARONE
037576,000181: 30,2440 41205 DMP DMP # TBUP VG(1-KT VG/VE)/VE (0)
037577,000182: 30,2441 02265 TBUP # = TGO
037578,000183: 30,2442 77625 DSU # COMPENSATE FOR TAILOFF
037579,000184: 30,2443 02263 TTO
037580,000185: 30,2444 03515 STORE TGO
037581,000186: 30,2445 57461 SR DCOMP
037582,000187:
![]() |
Page 848 |
037584,000189: 30,2446 20614 11D
037585,000190: 30,2447 17452 STODL TTOGO # TGO*2(-28)CS
037586,000191: 30,2450 03515 TGO
037587,000192: 30,2451 45214 BON DSU
037588,000193: 30,2452 03710 IDLEFLAG
037589,000194: 30,2453 60457 T2TEST
037590,000195: 30,2454 21026 4SEC(17) # ( TGO - 4 )*2(-17)CS.
037591,000196: 30,2455 77640 BMN
037592,000197: 30,2456 57212 ENGOFF
037593,000198: 30,2457 77745 T2TEST DLOAD
037594,000199: 30,2460 03515 TGO
037595,000200: 30,2461 50025 DSU BMN # IF TGO - T2 NEG., GO TO CMPONENT
037596,000201: 30,2462 21030 T2A
037597,000202: 30,2463 60620 CMPONENT
037598,000203: 30,2464 45345 DLOAD DSU
037599,000204: 30,2465 02265 TBUP
037600,000205: 30,2466 03515 TGO
037601,000206: 30,2467 45071 DDV CALL # 1-TGO/TBUP
037602,000207: 30,2470 02265 TBUP
037603,000208: 30,2471 65613 LOGSUB
037604,000209: 30,2472 41461 SL PUSH # -L IN PDL(0) (2)
037605,000210: 30,2473 20206 5
037606,000211: 30,2474 44265 BDDV BDSU # -TGO/L*2(-17)
037607,000212: 30,2475 03515 TGO
037608,000213: 30,2476 02265 TBUP # TBUP + TGO/L = D12*2(-17)
037609,000214: 30,2477 43006 PUSH BON # STORE IN PDL(2) (4)
037610,000215: 30,2500 04703 FLPC # IF FLPC = 1, GO TO CONST
037611,000216: 30,2501 60510 NORATES
037612,000217: 30,2502 45345 DLOAD DSU
037613,000218: 30,2503 03515 TGO
037614,000219: 30,2504 21032 T3
037615,000220: 30,2505 43044 BPL SET # FLPC=1
037616,000221: 30,2506 60516 RATES
037617,000222: 30,2507 04463 FLPC
037618,000223: 30,2510 77745 NORATES DLOAD
037619,000224: 30,2511 06424 HI6ZEROS
037620,000225: 30,2512 02355 STORE PRATE # B = 0
037621,000226: 30,2513 02357 STORE YRATE # D = 0
037622,000227: 30,2514 77650 GOTO
037623,000228: 30,2515 60600 CONST # GO TO CONST
037624,000229: 30,2516 45345 RATES DLOAD DSU
037625,000230: 30,2517 03515 TGO
037626,000231: 30,2520 00003 02D # TGO - D12 = D21*2(-17)
037627,000232: 30,2521 72406 PUSH SL1 # IN PDL(4) (6)
037628,000233: 30,2522 52421 BDSU SL3 # (1/2TGO - D21)*2(-13) = E * 2(-13)
037629,000234: 30,2523 03515 TGO # (8)
037630,000235: 30,2524 41325 PDDL DMP # IN PDL(6)
037631,000236: 30,2525 03515 TGO
037632,000237: 30,2526 02313 RDOT # RDOT TGO * 2(-24)
037633,000238: 30,2527 45215 DAD DSU # R + RDOT TGO
037634,000239:
![]() |
Page 849 |
037636,000241: 30,2530 02275 /R/MAG # R + RDOT TGO - RCO
037637,000242: 30,2531 03627 RCO # MPAC = -DR*2(-24).
037638,000243: 30,2532 41325 PDDL DMP # -DR IN PDL(8) (10)
037639,000244: 30,2533 02343 DRDOT
037640,000245: 30,2534 00005 04D # D21 DRDOT*2(-24)
037641,000246: 30,2535 62415 DAD SL2 # (D21 DRDOT-DR)*2(-22) (8)
037642,000247: 30,2536 56271 DDV DDV
037643,000248: 30,2537 00007 06D # (D21 DRDOT-DR)/E*2(-9)
037644,000249: 30,2540 03515 TGO
037645,000250: 30,2541 02355 STORE PRATE # B * 2(8)
037646,000251: 30,2542 71240 BMN DLOAD # B>0 NOT PERMITTED
037647,000252: 30,2543 60547 CHKBMAG
037648,000253: 30,2544 06424 HI6ZEROS
037649,000254: 30,2545 36355 STCALL PRATE
037650,000255: 30,2546 60561 PROK
037651,000256: 30,2547 56202 CHKBMAG SR4 DDV # B*2(4)
037652,000257: 30,2550 02265 TBUP # (B / TAU) * 2(21)
037653,000258: 30,2551 51025 DSU BPL
037654,000259: 30,2552 21050 PRLIMIT # ( B/ TAU) * 2(21) MAX.
037655,000260: 30,2553 60561 PROK
037656,000261: 30,2554 41345 DLOAD DMP
037657,000262: 30,2555 21050 PRLIMIT
037658,000263: 30,2556 02265 TBUP # B MAX. * 2(4)
037659,000264: 30,2557 77612 SL4 # BMAX*2(8)
037660,000265: 30,2560 02355 STORE PRATE
037661,000266: 30,2561 77745 PROK DLOAD
037662,000267: 30,2562 03515 TGO
037663,000268: 30,2563 43205 DMP DAD # YDOT TGO
037664,000269: 30,2564 02315 YDOT
037665,000270: 30,2565 02341 Y # Y + YDOT TGO
037666,000271: 30,2566 65225 DSU PDDL # Y + YDOT TGO - YCO
037667,000272: 30,2567 03631 YCO # MPAC = - DY*2(-24.) IN PDL(8) (10)
037668,000273: 30,2570 02345 DYDOT
037669,000274: 30,2571 43205 DMP DAD # D21 DYDOT - DY (8)
037670,000275: 30,2572 00005 04D
037671,000276: 30,2573 56271 DDV DDV
037672,000277: 30,2574 03515 TGO # (D21 DYDOT - DY)/ E TGO*2(6) (6)
037673,000278: 30,2575 40312 SL2 SETPD # MPAC = D*2(8)
037674,000279: 30,2576 00005 04D # (4)
037675,000280: 30,2577 02357 STORE YRATE
037676,000281: 30,2600 41345 CONST DLOAD DMP # LOAD B*2(8)
037677,000282: 30,2601 02355 PRATE # B D12*2(-9)
037678,000283: 30,2602 00003 02D
037679,000284: 30,2603 56325 PDDL DDV # D12 B IN PDL(4) (6)
037680,000285: 30,2604 02343 DRDOT # LOAD DRDOT*2(-7)
037681,000286: 30,2605 00001 00D # -DRDOT/L*2(-7)
037682,000287: 30,2606 45302 SR2 DSU # (-DRDOT/L-D12 B)=A*2(-9) (4)
037683,000288: 30,2607 77626 STADR
037684,000289: 30,2610 61426 STODL PCONS
037685,000290: 30,2611 02357 YRATE # D*2(8)
037686,000291:
![]() |
Page 850 |
037688,000293: 30,2612 65205 DMP PDDL # D12 D,EXCH WITH -L IN PDL(0) (2,2)
037689,000294: 30,2613 60465 BDDV SR2 # -DYDOT/L*2(-9)
037690,000295: 30,2614 02345 DYDOT
037691,000296: 30,2615 77625 DSU # (-DYDOT/L-D12 D)=C*2(-9)
037692,000297: 30,2616 00001 00D
037693,000298: 30,2617 02353 STORE YCONS
037694,000299: 30,2620 77624 CMPONENT CALL
037695,000300: 30,2621 61011 ASCRSTRT
037696,000301: 30,2622 71201 SETPD DLOAD
037697,000302: 30,2623 00001 00D
037698,000303: 30,2624 27201 100CS
037699,000304: 30,2625 77605 DMP
037700,000305: 30,2626 02355 PRATE # B(T-T0)*2(-9)
037701,000306: 30,2627 56215 DAD DDV # (A+B(T-T0))*2(-9)
037702,000307: 30,2630 02351 PCONS # (A+B(T-T0))/TBUP*2(8)
037703,000308: 30,2631 02265 TBUP
037704,000309: 30,2632 45352 SL1 DSU
037705,000310: 30,2633 02321 GEFF # ATR*2(9)
037706,000311: 30,2634 16363 STODL ATR
037707,000312: 30,2635 27201 100CS
037708,000313: 30,2636 43205 DMP DAD
037709,000314: 30,2637 02357 YRATE
037710,000315: 30,2640 02353 YCONS # (C+D(T-T0))*2(-9)
037711,000316: 30,2641 72471 DDV SL1
037712,000317: 30,2642 02265 TBUP
037713,000318: 30,2643 02361 STORE ATY # ATY*2(9)
037714,000319: 30,2644 65361 VXSC PDDL # ATY UY*2(8) (6)
037715,000320: 30,2645 02277 LAXIS
037716,000321: 30,2646 02363 ATR
037717,000322: 30,2647 53361 VXSC VAD # (0)
037718,000323: 30,2650 03535 UNIT/R/
037719,000324: 30,2651 41572 VSL1 PUSH # AH*2(9) IN PDL(0) (6)
037720,000325: 30,2652 65246 ABVAL PDDL # AH(2) IN PDL(34)
037721,000326: 30,2653 02257 AT # AHMAG IN PDL(6) (8)
037722,000327: 30,2654 45316 DSQ DSU # (AT(2)-AH(2))*2(18)
037723,000328: 30,2655 00043 34D # =ATP2*2(18)
037724,000329: 30,2656 41525 PDDL PUSH # (12)
037725,000330: 30,2657 02257 AT
037726,000331: 30,2660 45316 DSQ DSU # (AT(2)KR(2)-AH(2))*2(18) (10)
037727,000332: 30,2661 00043 34D # =ATP3*2(18)
037728,000333: 30,2662 71240 BMN DLOAD # IF ATP3 NEG,GO TO NO-ATP
037729,000334: 30,2663 60667 NO-ATP # LOAD ATP2, IF ATP3 POS
037730,000335: 30,2664 00011 8D
037731,000336: 30,2665 52166 SQRT GOTO # ATP*2(9)
037732,000337: 30,2666 60675 AIMER
037733,000338: 30,2667 55345 NO-ATP DLOAD BDDV # KR AT/AH = KH (8)
037734,000339: 30,2670 00007 6D
037735,000340: 30,2671 77761 VXSC # KH AH*2(9)
037736,000341: 30,2672 00001 00D
037737,000342: 30,2673 14001 STODL 00D # STORE NEW AH IN PDL(0)
037738,000343:
![]() |
Page 851 |
037740,000345: 30,2674 06424 HI6ZEROS
037741,000346: 30,2675 77765 AIMER SIGN
037742,000347: 30,2676 02347 DZDOT
037743,000348: 30,2677 02365 STORE ATP
037744,000349: 30,2700 77761 VXSC
037745,000350: 30,2701 02305 ZAXIS1 # ATP ZAXIS *2(8).
037746,000351: 30,2702 53372 VSL1 VAD # AT*2(9)
037747,000352: 30,2703 00001 00D
037748,000353: 30,2704 03252 STORE UNFC/2 # WILL BE OVERWRITTEN IF IN VERT. RISE.
037749,000354: 30,2705 43001 SETPD BON
037750,000355: 30,2706 00001 00D
037751,000356: 30,2707 04704 FLPI
037752,000357: 30,2710 60150 P12RET
037753,000358: 30,2711 77624 CALL
037754,000359: 30,2712 61011 ASCRSTRT
037755,000360: 30,2713 77614 BON
037756,000361: 30,2714 04701 FLVR
037757,000362: 30,2715 60774 CHECKALT
037758,000363: 30,2716 57575 MAINLINE VLOAD VCOMP
037759,000364: 30,2717 03535 UNIT/R/
037760,000365: 30,2720 17260 STODL UNWC/2
037761,000366: 30,2721 03654 TXO
037762,000367: 30,2722 51025 DSU BPL
037763,000368: 30,2723 01235 PIPTIME
037764,000369: 30,2724 60730 ASCTERM
037765,000370: 30,2725 43014 CLRXFLAG CLEAR CLEAR
037766,000371: 30,2726 01664 NOR29FLG # START R29 IN ASCENT PHASE.
037767,000372: 30,2727 06666 XOVINFLG # ALLOW X-AXIS OVERRIDE
037768,000373: 30,2730 77776 ASCTERM EXIT
037769,000374: 30,2731 00006 EXTEND
037770,000375: 30,2732 34755 DCA NEG0
037771,000376: 30,2733 52757 DXCH -PHASE3
037772,000377: 30,2734 30105 CA FLAGWRD9
037773,000378: 30,2735 74742 MASK FLRCSBIT
037774,000379: 30,2736 10000 CCS A
037775,000380: 30,2737 12766 TCF ASCTERM3
037776,000381: 30,2740 06036 TC INTPRET
037777,000382: 30,2741 77624 CALL
037778,000383: 30,2742 61062 FINDCDUW -2
037779,000384: 30,2743 77776 ASCTERM1 EXIT
037780,000385: 30,2744 00006 +1 EXTEND
037781,000386: 30,2745 34755 DCA NEG0
037782,000387: 30,2746 52757 DXCH -PHASE3
037783,000388: 30,2747 30105 ABRTDISP CA FLAGWRD9 # INSURE THAT THE NOUN 63 DISPLAY IS
037784,000389: 30,2750 74742 MASK FLRCSBIT # BYPASSED IF WE ARE IN THE RCS TRIMMING
037785,000390: 30,2751 10000 CCS A # MODE OF OPERATION
037786,000391: 30,2752 12766 TCF ASCTERM3
037787,000392: 30,2753 30104 CA FLAGWRD8 # BYPASS DISPLAYS IF ENGINE FAILURE IS
037788,000393: 30,2754 74742 MASK FLUNDBIT # INDICATED.
037789,000394: 30,2755 10000 CCS A
037790,000395:
![]() |
Page 852 |
037792,000397: 30,2756 12766 TCF ASCTERM3
037793,000398: 30,2757 33042 CAF V06N63*
037794,000399: 30,2760 04616 TC BANKCALL
037795,000400: 30,2761 20327 CADR GODSPR
037796,000401: 30,2762 12766 TCF ASCTERM3
037797,000402: 30,2763 77776 ASCTERM2 EXIT
037798,000403: 30,2764 05353 TC PHASCHNG
037799,000404: 30,2765 00003 OCT 00003
037800,000405: 30,2766 15155 ASCTERM3 TCF ENDOFJOB
037801,000406: 30,2767 77776 ASCTERM4 EXIT
037802,000407: 30,2770 00004 INHINT
037803,000408: 30,2771 04674 TC IBNKCALL # NO GUIDANCE THIS CYCLE -- HENCE ZERO
037804,000409: 30,2772 40153 CADR ZATTEROR # THE DAP ATTITUDE ERRORS.
037805,000410: 30,2773 12744 TCF ASCTERM1 +1
037806,000411:
037807,000412: 30,2774 45345 CHECKALT DLOAD DSU
037808,000413: 30,2775 02275 /R/MAG
037809,000414: 30,2776 02337 /LAND/
037810,000415: 30,2777 50025 DSU BMN # IF H LT 25K CHECK Z AXIS ORIENTATION.
037811,000416: 30,3000 26732 25KFT
037812,000417: 30,3001 57162 CHECKYAW
037813,000418: 30,3002 43345 EXITVR DLOAD DAD
037814,000419: 30,3003 01235 PIPTIME
037815,000420: 30,3004 25574 10SECS
037816,000421: 30,3005 03654 STORE TXO
037817,000422: 30,3006 77614 CLRGO
037818,000423: 30,3007 04621 FLVR
037819,000424: 30,3010 60716 MAINLINE
037820,000425:
037821,000426: 30,3011 77420 ASCRSTRT STQ EXIT
037822,000427: 30,3012 01164 TEMPR60
037823,000428: 30,3013 34741 CA FLPIBIT
037824,000429: 30,3014 64746 AD FLZONBIT
037825,000430: 30,3015 70105 MASK FLAGWRD9
037826,000431: 30,3016 10000 CCS A
037827,000432: 30,3017 13022 TCF +3
037828,000433: 30,3020 05353 TC PHASCHNG
037829,000434: 30,3021 04023 OCT 04023
037830,000435: 30,3022 06036 +3 TC INTPRET
037831,000436: 30,3023 77650 GOTO
037832,000437: 30,3024 01164 TEMPR60
037833,000438:
037834,000439: 27,3162 BANK 27
037835,000440: 27,2000 SETLOC ASENT1
037836,000441: 27,2000 BANK
037837,000442:
037838,000443: 27,3162 27,3162 SETXFLAG = CHECKYAW
037839,000444:
037840,000445: 27,3162 77614 CHECKYAW SET
037841,000446: 27,3163 06466 XOVINFLG # PROHIBIT X-AXIS OVERRIDE
037842,000447:
![]() |
Page 853 |
037844,000449: 27,3164 74345 DLOAD VXSC
037845,000450: 27,3165 02361 ATY
037846,000451: 27,3166 02277 LAXIS
037847,000452: 27,3167 74325 PDDL VXSC
037848,000453: 27,3170 02365 ATP
037849,000454: 27,3171 02305 ZAXIS1
037850,000455: 27,3172 53455 VAD UNIT
037851,000456: 27,3173 50206 PUSH DOT
037852,000457: 27,3174 02154 YNBPIP
037853,000458: 27,3175 45246 ABS DSU
037854,000459: 27,3176 21052 SIN5DEG
037855,000460: 27,3177 71244 BPL DLOAD
037856,000461: 27,3200 57205 KEEPVR
037857,000462: 27,3201 02313 RDOT
037858,000463: 27,3202 51025 DSU BPL
037859,000464: 27,3203 21034 40FPS
037860,000465: 27,3204 61002 EXITVR
037861,000466:
037862,000467: 27,3205 45575 KEEPVR VLOAD STADR # RECALL LOSVEC FROM PUSHLIST
037863,000468: 27,3206 50517 STOVL UNWC/2
037864,000469: 27,3207 03535 UNIT/R/
037865,000470: 27,3210 37252 STCALL UNFC/2
037866,000471: 27,3211 60730 ASCTERM
037867,000472:
037868,000473: 27,3212 77634 ENGOFF RTB
037869,000474: 27,3213 21462 LOADTIME
037870,000475: 27,3214 43225 DSU DAD
037871,000476: 27,3215 01235 PIPTIME
037872,000477: 27,3216 03452 TTOGO
037873,000478: 27,3217 77476 DCOMP EXIT
037874,000479: 27,3220 07256 TC TPAGREE # FORCE SIGN AGREEMENT ON MPAC, MPAC +1.
037875,000480: 27,3221 35016 CAF EBANK7
037876,000481: 27,3222 54003 TS EBANK
037877,000482: 27,3223 E7,1514 EBANK= TGO
037878,000483: 27,3223 00004 BIT3H INHINT # USED AS A CONSTANT
037879,000484: 27,3224 10155 CCS MPAC +1
037880,000485: 27,3225 13230 TCF +3 # C(A) = DT - 1 BIT
037881,000486: 27,3226 13230 TCF +2 # C(A) = 0
037882,000487: 27,3227 34755 CAF ZERO # C(A) = 0
037883,000488: 27,3230 64753 AD BIT1 # C(A) = 1 BIT OR DT.
037884,000489: 27,3231 55644 TS ENGOFFDT
037885,000490: 27,3232 05173 TC TWIDDLE
037886,000491: 27,3233 03245 ADRES ENGOFF1
037887,000492: 27,3234 05353 TC PHASCHNG
037888,000493: 27,3235 47014 OCT 47014
037889,000494: 27,3236 76133 -GENADR ENGOFFDT
037890,000495: 27,3237 E7,1514 EBANK= TGO
037891,000496: 27,3237 03245 56067 2CADR ENGOFF1
037892,000497:
![]() |
Page 854 |
037894,000499: 27,3241 06036 TC INTPRET
037895,000500: 27,3242 52014 SET GOTO
037896,000501: 27,3243 03470 IDLEFLAG # DISABLE DELTA-V MONITOR
037897,000502: 27,3244 60457 T2TEST
037898,000503:
037899,000504: 27,3245 04674 ENGOFF1 TC IBNKCALL # SHUT OFF THE ENGINE.
037900,000505: 27,3246 75551 CADR ENGINOF2
037901,000506:
037902,000507: 27,3247 35027 CAF PRIO17 # SET UP A JOB FOR THE ASCENT GUIDANCE
037903,000508: 27,3250 05105 TC FINDVAC # POSTBURN LOGIC.
037904,000509: 27,3251 E7,1453 EBANK= WHICH
037905,000510: 27,3251 03261 56067 2CADR CUTOFF
037906,000511: 27,3253 05353 TC PHASCHNG
037907,000512: 27,3254 07024 OCT 07024
037908,000513: 27,3255 17000 OCT 17000
037909,000514: 27,3256 E7,1514 EBANK= TGO
037910,000515: 27,3256 03261 56067 2CADR CUTOFF
037911,000516: 27,3260 15261 TCF TASKOVER
037912,000517:
037913,000518: 27,3261 05504 CUTOFF TC UPFLAG # SET FLRCS FLAG.
037914,000519: 27,3262 00214 ADRES FLRCS
037915,000520:
037916,000521: 27,3263 33330 -5 CAF V16N63
037917,000522: 27,3264 04616 TC BANKCALL
037918,000523: 27,3265 20351 CADR GOFLASH
037919,000524: 27,3266 13306 TCF TERMASC
037920,000525: 27,3267 13271 TCF CUTOFF1
037921,000526: 27,3270 13263 TCF -5
037922,000527:
037923,000528: 27,3271 00004 CUTOFF1 INHINT
037924,000529: 27,3272 04674 TC IBNKCALL # ZERO ATTITUDE ERRORS BEFORE REDUCING DB.
037925,000530: 27,3273 40153 CADR ZATTEROR
037926,000531: 27,3274 04674 TC IBNKCALL
037927,000532: 27,3275 40140 CADR SETMINDB
037928,000533: 27,3276 05353 TC PHASCHNG
037929,000534: 27,3277 04024 OCT 04024
037930,000535:
037931,000536: 27,3300 33331 -5 CAF V16N85C
037932,000537: 27,3301 04616 TC BANKCALL
037933,000538: 27,3302 20351 CADR GOFLASH
037934,000539: 27,3303 13306 TCF TERMASC
037935,000540: 27,3304 13306 TCF +2 # PROCEED
037936,000541: 27,3305 13300 TCF -5
037937,000542:
037938,000543: 27,3306 05353 TERMASC TC PHASCHNG
037939,000544: 27,3307 04024 OCT 04024
037940,000545:
037941,000546: 27,3310 00004 INHINT # RESTORE DEADBAND DESIRED BY ASTRONAUT.
037942,000547:
![]() |
Page 855 |
037944,000549: 27,3311 04674 TC IBNKCALL
037945,000550: 27,3312 40123 CADR RESTORDB
037946,000551: 27,3313 05516 TC DOWNFLAG # DISALLOW ABORTS AT THIS TIME.
037947,000552: 27,3314 00215 ADRES LETABORT
037948,000553: 27,3315 16001 TCF GOTOPOOH
037949,000554:
037950,000555: 27,3316 50375 YCOMP VLOAD DOT
037951,000556: 27,3317 03535 UNIT/R/
037952,000557: 27,3320 03716 QAXIS
037953,000558: 27,3321 67552 SL1 ARCSIN
037954,000559: 27,3322 41205 DMP DMP
037955,000560: 27,3323 03627 RCO
037956,000561: 27,3324 15404 2PI/8
037957,000562: 27,3325 77652 SL3
037958,000563: 27,3326 02341 STORE Y
037959,000564: 27,3327 77616 RVQ
037960,000565:
037961,000566: 27,3330 04077 V16N63 VN 1663
037962,000567: 27,3331 04125 V16N85C VN 1685
037963,000568:
037964,000569: 30,3025 BANK 30
037965,000570: 30,2000 SETLOC ASENT
037966,000571: 30,2000 BANK
037967,000572:
![]() |
Page 856 |
037969,000574: # ASCENT GUIDANCE CONSTANTS
037970,000575:
037971,000576: 30,3025 33,3200 100CS EQUALS 2SEC(18)
037972,000577: 30,3025 30,3027 T2A EQUALS 2SEC(17)
037973,000578: 30,3025 00062 00000 4SEC(17) 2DEC 400 B-17
037974,000579: 30,3027 00031 00000 2SEC(17) 2DEC 200 B-17
037975,000580: 30,3031 00175 00000 T3 2DEC 1000 B-17
037976,000581: 30,3033 00017 23305 40FPS 2DEC .12192 B-7 # 40 FT/SEC EXPRESSED IN M/CS.
037977,000582: 30,3035 00045 20000 6SEC(18) 2DEC 600 B-18
037978,000583: 30,3037 00010 BIT4H OCT 10
037979,000584: 30,3040 14400 00000 2SEC(9) 2DEC 200 B-9
037980,000585: 30,3042 01477 V06N63* VN 0663
037981,000586: 30,3043 01514 V06N76 VN 0676
037982,000587: 30,3044 01441 V06N33A VN 0633
037983,000588:
037984,000589: 30,3045 20000 00000 KT1 2DEC 0.5000
037985,000590: 30,3047 75751 41775 PRLIMIT 2DEC -.0639 # (B/TBUP)MIN=-.1FT.SEC(-3)
037986,000591: 30,3051 00545 00171 SIN5DEG 2DEC .08716 B-2
037987,000592: 30,3053 00022 07212 MINABDV 2DEC .0356 B-5 # 10 PERCENT BIGGER THAN GRAVITY
037988,000593: 30,3055 E7,1566 1/DV0 = MASS1
037989,000594:
![]() |
Page 857 |
037991,000596: # THE LOGARITHM SUBROUTINE
037992,000597:
037993,000598: 24,3504 BANK 24
037994,000599: 32,2000 SETLOC FLOGSUB
037995,000600: 32,2000 BANK
037996,000601:
037997,000602: # INPUT ..... X IN MPAC
037998,000603: # OUTPUT ..... -LOG(X) IN MPAC
037999,000604:
038000,000605: 32,3613 44301 LOGSUB NORM BDSU
038001,000606: 32,3614 00163 MPAC +6
038002,000607: 32,3615 17743 NEARONE
038003,000608: 32,3616 77776 EXIT
038004,000609: 32,3617 07221 TC POLY
038005,000610: 32,3620 00006 DEC 6 B-14
038006,000611: 32,3621 00000 00002 2DEC .0000000060
038007,000612: 32,3623 76777 77175 2DEC -.0312514377
038008,000613: 32,3625 77400 75416 2DEC -.0155686771
038009,000614: 32,3627 77507 65515 2DEC -.0112502068
038010,000615: 32,3631 77741 63547 2DEC -.0018545108
038011,000616: 32,3633 77052 55373 2DEC -.0286607906
038012,000617: 32,3635 01167 30361 2DEC .0385598563
038013,000618: 32,3637 76520 75267 2DEC -.0419361902
038014,000619:
038015,000620: 32,3641 34755 CAF ZERO
038016,000621: 32,3642 54156 TS MPAC +2
038017,000622: 32,3643 00006 EXTEND
038018,000623: 32,3644 33660 DCA CLOG2/32
038019,000624: 32,3645 52155 DXCH MPAC
038020,000625: 32,3646 52132 DXCH BUF +1
038021,000626: 32,3647 30162 CA MPAC +6
038022,000627: 32,3650 07306 TC SHORTMP
038023,000628: 32,3651 52156 DXCH MPAC +1
038024,000629: 32,3652 52155 DXCH MPAC
038025,000630: 32,3653 52132 DXCH BUF +1
038026,000631: 32,3654 20155 DAS MPAC
038027,000632: 32,3655 06036 TC INTPRET
038028,000633: 32,3656 43476 DCOMP RVQ
038029,000634:
038030,000635: 32,3657 00542 34414 CLOG2/32 2DEC .0216608494
End of include-file ASCENT_GUIDANCE.agc. Parent file is MAIN.agc