Source Code
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the third release
of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 96 and 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
037541,000002: ## Copyright: Public domain.
037542,000003: ## Filename: ASCENT_GUIDANCE.agc
037543,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
037544,000005: ## otherwise known as Luminary Rev 99, the third release
037545,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
037546,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
037547,000008: ## placement of a single label. The corrections shown here have
037548,000009: ## been verified to have the same bank checksums as AGC developer
037549,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
037550,000011: ## to be accurate. This file is intended to be a faithful
037551,000012: ## recreation, except that the code format has been changed to
037552,000013: ## conform to the requirements of the yaYUL assembler rather than
037553,000014: ## the original YUL assembler.
037554,000015: ##
037555,000016: ## Assembler: yaYUL
037556,000017: ## Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
037557,000018: ## Website: www.ibiblio.org/apollo.
037558,000019: ## Pages: 843-856
037559,000020: ## Mod history: 2009-05-23 HG Transcribed from page images.
037560,000021: ## 2009-06-05 RSB Fixed a couple of typos.
037561,000022: ## 2009-06-07 RSB Corrected a typo.
037562,000023: ## 2010-12-31 JL Fixed page number comment.
037563,000024: ## 2016-12-13 RSB GOTOP00H -> GOTOPOOH
037564,000025: ## 2016-12-17 RSB Proofed text comments with octopus/ProoferComments
037565,000026: ## and corrected the errors found.
037566,000027: ## 2017-03-14 RSB Comment-text fixes identified in 5-way
037567,000028: ## side-by-side diff of Luminary 69/99/116/131/210.
037568,000029: ## 2017-08-01 MAS Created from LMY99 Rev 1.
037569,000030:
037570,000031: ## This source code has been transcribed or otherwise adapted from
037571,000032: ## digitized images of a hardcopy from the MIT Museum. The digitization
037572,000033: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
037573,000034: ## the Museum. Many thanks to both. The images (with suitable reduction
037574,000035: ## in storage size and consequent reduction in image quality as well) are
037575,000036: ## available online at www.ibiblio.org/apollo. If for some reason you
037576,000037: ## find that the images are illegible, contact me at info@sandroid.org
037577,000038: ## about getting access to the (much) higher-quality images which Paul
037578,000039: ## actually created.
037579,000040: ##
037580,000041: ## The code has been modified to match LMY99 Revision 0, otherwise
037581,000042: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
037582,000043: ## the listing from which it was transcribed. It has been verified to
037583,000044: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
037584,000045: ## of Luminary Revision 99 (for which we do not have scans).
037585,000046: ##
037586,000047: ## Notations on Allan Klumpp's listing read, in part:
037587,000048: ##
037588,000049: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
037589,000050:
Page 843 |
037591,000052: 34,3642 BANK 34
037592,000053: 34,2000 SETLOC ASCFILT
037593,000054: 34,2000 BANK
037594,000055:
037595,000056: 34,3642 E7,1515 EBANK= DVCNTR
037596,000057:
037597,000058: 34,3642 COUNT* $$/ASENT
037598,000059:
037599,000060: 34,3642 05353 ATMAG TC PHASCHNG
037600,000061: 34,3643 00035 OCT 00035
037601,000062: 34,3644 06037 TC INTPRET
037602,000063: 34,3645 77614 BON
037603,000064: 34,3646 04705 FLRCS
037604,000065: 34,3647 60321 ASCENT
037605,000066: 34,3650 45345 DLOAD DSU
037606,000067: 34,3651 03514 ABDVCONV
037607,000068: 34,3652 26205 MINABDV
037608,000069: 34,3653 43040 BMN CLEAR
037609,000070: 34,3654 60750 ASCTERM4
037610,000071: 34,3655 04267 SURFFLAG
037611,000072: 34,3656 67214 CLEAR SLOAD
037612,000073: 34,3657 02676 RENDWFLG
037613,000074: 34,3660 31716 BIT3H
037614,000075: 34,3661 77471 DDV EXIT
037615,000076: 34,3662 03514 ABDVCONV
037616,000077: 34,3663 52155 DXCH MPAC
037617,000078: 34,3664 53641 DXCH 1/DV3
037618,000079: 34,3665 53637 DXCH 1/DV2
037619,000080: 34,3666 53635 DXCH 1/DV1
037620,000081: 34,3667 53571 DXCH 1/DV0
037621,000082: 34,3670 06037 TC INTPRET
037622,000083: 34,3671 43345 DLOAD DAD
037623,000084: 34,3672 03571 1/DV0
037624,000085: 34,3673 03635 1/DV1
037625,000086: 34,3674 43215 DAD DAD
037626,000087: 34,3675 03637 1/DV2
037627,000088: 34,3676 03641 1/DV3
037628,000089: 34,3677 41205 DMP DMP
037629,000090: 34,3700 02265 VE
037630,000091: 34,3701 21032 2SEC(9)
037631,000092: 34,3702 65252 SL3 PDDL
037632,000093: 34,3703 02271 TBUP
037633,000094: 34,3704 43342 SR1 DAD
037634,000095: 34,3705 77625 DSU
037635,000096: 34,3706 21027 6SEC(18)
037636,000097: 34,3707 16271 STODL TBUP
037637,000098: 34,3710 02265 VE
037638,000099: 34,3711 56342 SR1 DDV
037639,000100: 34,3712 02271 TBUP
037640,000101: 34,3713 36263 STCALL AT
Page 844 |
037642,000103: 34,3714 60321 ASCENT
037643,000104: 34,3715 00004 BIT3H OCT 4
037644,000105:
Page 845 |
037646,000107: 30,2321 BANK 30
037647,000108: 30,2000 SETLOC ASENT
037648,000109: 30,2000 BANK
037649,000110: 30,2321 COUNT* $$/ASENT
037650,000111:
037651,000112: 30,2321 51575 ASCENT VLOAD ABVAL
037652,000113: 30,2322 03521 R
037653,000114: 30,2323 26301 STOVL /R/MAG
037654,000115: 30,2324 03726 ZAXIS1
037655,000116: 30,2325 72441 DOT SL1
037656,000117: 30,2326 03527 V # Z.V = ZDOT*2(-8).
037657,000118: 30,2327 26313 STOVL ZDOT # ZDOT*2(-7)
037658,000119: 30,2330 03726 ZAXIS1
037659,000120: 30,2331 76435 VXV VSL1
037660,000121: 30,2332 03537 UNIT/R/ # Z X UR = LAXIS*2(-2)
037661,000122: 30,2333 02303 STORE LAXIS # LAXIS*2(-1)
037662,000123: 30,2334 72441 DOT SL1
037663,000124: 30,2335 03527 V # L.V = YDOT*2(-8).
037664,000125: 30,2336 36311 STCALL YDOT # YDOT * 2(-7)
037665,000126: 30,2337 57312 YCOMP
037666,000127: 30,2340 77775 VLOAD
037667,000128: 30,2341 03563 GDT1/2 # LOAD GDT1/2*2(-7) M/CS.
037668,000129: 30,2342 50341 V/SC DOT
037669,000130: 30,2343 27147 2SEC(18)
037670,000131: 30,2344 03537 UNIT/R/ # G.UR*2(9) = GR*2(9).
037671,000132: 30,2345 47315 PDVL VXV # STORE IN PDL(0) (2)
037672,000133: 30,2346 03537 UNIT/R/ # LOAD UNIT/R/ *2(-1).
037673,000134: 30,2347 03527 V # UR*2(-1) X V*2(-7) = H/R*2(-8).
037674,000135: 30,2350 56236 VSQ DDV # H(2)/R(2)*2(-16).
037675,000136: 30,2351 02301 /R/MAG # H(2)/R(3)*2(9).
037676,000137: 30,2352 43352 SL1 DAD
037677,000138: 30,2353 77626 STADR
037678,000139: 30,2354 61462 STODL GEFF # GEFF*2(10)M/CS/CS.
037679,000140: 30,2355 02277 ZDOTD
037680,000141: 30,2356 77625 DSU
037681,000142: 30,2357 02313 ZDOT
037682,000143: 30,2360 02343 STORE DZDOT # DZDOT = (ZDOTD - ZDOT) * 2(7) M/CS.
037683,000144: 30,2361 65361 VXSC PDDL
037684,000145: 30,2362 03726 ZAXIS1
037685,000146: 30,2363 02275 YDOTD
037686,000147: 30,2364 77625 DSU
037687,000148: 30,2365 02311 YDOT
037688,000149: 30,2366 02341 STORE DYDOT # DYDOT = (YDOTD - YDOT) *2(7) M/CS.
037689,000150: 30,2367 65361 VXSC PDDL
037690,000151: 30,2370 02303 LAXIS
037691,000152: 30,2371 02273 RDOTD
Page 846 |
037693,000154: 30,2372 77625 DSU
037694,000155: 30,2373 03474 RDOT
037695,000156: 30,2374 02337 STORE DRDOT # DRDOT = (RDOTD - RDOT) * 2(7) M/CS.
037696,000157: 30,2375 53361 VXSC VAD
037697,000158: 30,2376 03537 UNIT/R/
037698,000159: 30,2377 76455 VAD VSL1
037699,000160: 30,2400 77626 STADR
037700,000161: 30,2401 74131 STORE VGVECT # VG = (DRDOT)R + (DYDOT)L + (DZDOT)Z.
037701,000162: 30,2402 41345 DLOAD DMP # LOAD TGO
037702,000163: 30,2403 03517 TGO # TGO GEFF
037703,000164: 30,2404 02315 GEFF
037704,000165: 30,2405 76561 VXSC VSL1
037705,000166: 30,2406 03537 UNIT/R/ # TGO GEFF UR
037706,000167: 30,2407 77645 BVSU
037707,000168: 30,2410 03646 VGVECT # COMPENSATED FOR GEFF
037708,000169: 30,2411 03646 STORE VGVECT # STORE FOR DOWNLINK
037709,000170: 30,2412 76521 MXV VSL1 # GET VGBODY FOR N85 DISPLAY
037710,000171: 30,2413 02146 XNBPIP
037711,000172: 30,2414 27502 STOVL VGBODY
037712,000173: 30,2415 03646 VGVECT
037713,000174: 30,2416 43046 ABVAL BOFF # MAGNITUDE OF VGVECT
037714,000175: 30,2417 04745 FLRCS # IF FLRCS=0,DO NORMAL GUIDANCE
037715,000176: 30,2420 60425 MAINENG
037716,000177: 30,2421 77671 DDV # USE TGO=VG/AT WITH RCS
037717,000178: 30,2422 20001 AT/RCS
037718,000179: 30,2423 37517 STCALL TGO # THIS WILL BE USED ON NEXT CYCLE
037719,000180: 30,2424 60746 ASCTERM2
037720,000181: 30,2425 41471 MAINENG DDV PUSH # VG/VE IN PDL(0) (2)
037721,000182: 30,2426 02265 VE
037722,000183: 30,2427 44205 DMP BDSU # 1 - KT VG/VE
037723,000184: 30,2430 26201 KT1
037724,000185: 30,2431 17771 NEARONE
037725,000186: 30,2432 41205 DMP DMP # TBUP VG(1-KT VG/VE)/VE (0)
037726,000187: 30,2433 02271 TBUP # = TGO
037727,000188: 30,2434 77625 DSU # COMPENSATE FOR TAILOFF
037728,000189: 30,2435 02267 TTO
037729,000190: 30,2436 03517 STORE TGO
037730,000191: 30,2437 57461 SR DCOMP
037731,000192: 30,2440 20614 11D
037732,000193: 30,2441 17454 STODL TTOGO # TGO *2(-28) CS
037733,000194: 30,2442 03517 TGO
037734,000195: 30,2443 45214 BON DSU
037735,000196: 30,2444 03710 IDLEFLAG
037736,000197: 30,2445 60451 T2TEST
037737,000198: 30,2446 21021 4SEC(17) # ( TGO - 4 )*2(-17) CS.
037738,000199: 30,2447 77640 BMN
037739,000200: 30,2450 30355 ENGOFF
037740,000201: 30,2451 77745 T2TEST DLOAD
037741,000202: 30,2452 03517 TGO
037742,000203: 30,2453 50025 DSU BMN # IF TGO - T2 NEG., GO TO CMPONENT
Page 847 |
037744,000205: 30,2454 21023 T2A
037745,000206: 30,2455 60612 CMPONENT
037746,000207: 30,2456 45345 DLOAD DSU
037747,000208: 30,2457 02271 TBUP
037748,000209: 30,2460 03517 TGO
037749,000210: 30,2461 45071 DDV CALL # 1- TGO/TBUP
037750,000211: 30,2462 02271 TBUP
037751,000212: 30,2463 61036 LOGSUB
037752,000213: 30,2464 41461 SL PUSH # -L IN PDL(0) (2)
037753,000214: 30,2465 20206 5
037754,000215: 30,2466 44265 BDDV BDSU # -TGO/L*2(-17)
037755,000216: 30,2467 03517 TGO
037756,000217: 30,2470 02271 TBUP # TBUP + TGO/L = D12*2(-17)
037757,000218: 30,2471 43006 PUSH BON # STORE IN PDL(2) (4)
037758,000219: 30,2472 04703 FLPC # IF FLPC = 1, GO TO CONST
037759,000220: 30,2473 60502 NORATES
037760,000221: 30,2474 45345 DLOAD DSU
037761,000222: 30,2475 03517 TGO
037762,000223: 30,2476 21025 T3
037763,000224: 30,2477 43044 BPL SET # FLPC=1
037764,000225: 30,2500 60510 RATES
037765,000226: 30,2501 04463 FLPC
037766,000227: 30,2502 77745 NORATES DLOAD
037767,000228: 30,2503 06522 HI6ZEROS
037768,000229: 30,2504 02351 STORE PRATE # B = 0
037769,000230: 30,2505 02353 STORE YRATE # D = 0
037770,000231: 30,2506 77650 GOTO
037771,000232: 30,2507 60572 CONST # GO TO CONST
037772,000233: 30,2510 45345 RATES DLOAD DSU
037773,000234: 30,2511 03517 TGO
037774,000235: 30,2512 00003 02D # TGO - D12 = D21*2(-17)
037775,000236: 30,2513 72406 PUSH SL1 # IN PDL(4) (6)
037776,000237: 30,2514 52421 BDSU SL3 # (1/2TGO - D21)*2(-13) = E * 2(-13)
037777,000238: 30,2515 03517 TGO # (8)
037778,000239: 30,2516 41325 PDDL DMP # IN PDL(6)
037779,000240: 30,2517 03517 TGO
037780,000241: 30,2520 03474 RDOT # RDOT TGO * 2(-24)
037781,000242: 30,2521 45215 DAD DSU # R + RDOT TGO
037782,000243: 30,2522 02301 /R/MAG # R + RDOT TGO - RCO
037783,000244: 30,2523 03631 RCO # MPAC = -DR *2(-24).
037784,000245: 30,2524 41325 PDDL DMP # -DR IN PDL(8) (10)
037785,000246: 30,2525 02337 DRDOT
037786,000247: 30,2526 00005 04D # D21 DRDOT*2(-24)
037787,000248: 30,2527 62415 DAD SL2 # (D21 DRDOT-DR)*2(-22) (8)
037788,000249: 30,2530 56271 DDV DDV
037789,000250: 30,2531 00007 06D # (D21 DRDOT-DR)/E*2(-9)
037790,000251: 30,2532 03517 TGO
037791,000252: 30,2533 02351 STORE PRATE # B * 2(8)
037792,000253: 30,2534 71240 BMN DLOAD # B>0 NOT PERMITTED
037793,000254: 30,2535 60541 CHKBMAG
Page 848 |
037795,000256: 30,2536 06522 HI6ZEROS
037796,000257: 30,2537 36351 STCALL PRATE
037797,000258: 30,2540 60553 PROK
037798,000259: 30,2541 56202 CHKBMAG SR4 DDV # B*2(4)
037799,000260: 30,2542 02271 TBUP # (B / TAU) * 2(21)
037800,000261: 30,2543 51025 DSU BPL
037801,000262: 30,2544 26203 PRLIMIT # ( B / TAU ) * 2(21) MAX.
037802,000263: 30,2545 60553 PROK
037803,000264: 30,2546 41345 DLOAD DMP
037804,000265: 30,2547 26203 PRLIMIT
037805,000266: 30,2550 02271 TBUP # B MAX. * 2(4)
037806,000267: 30,2551 77612 SL4 # BMAX*2(8)
037807,000268: 30,2552 02351 STORE PRATE
037808,000269: 30,2553 77745 PROK DLOAD
037809,000270: 30,2554 03517 TGO
037810,000271: 30,2555 43205 DMP DAD # YDOT TGO
037811,000272: 30,2556 02311 YDOT
037812,000273: 30,2557 02335 Y # Y + YDOT TGO
037813,000274: 30,2560 65225 DSU PDDL # Y + YDOT TGO - YCO
037814,000275: 30,2561 03633 YCO # MPAC = - DY*2(-24.) IN PDL(8) (10)
037815,000276: 30,2562 02341 DYDOT
037816,000277: 30,2563 43205 DMP DAD # D21 DYDOT - DY (8)
037817,000278: 30,2564 00005 04D
037818,000279: 30,2565 56312 SL2 DDV # (D21 DYDOT - DY)/E*2(-9)
037819,000280: 30,2566 40271 DDV SETPD # (D21 DYDOT - DY)/E TGO*2(8)
037820,000281: 30,2567 03517 TGO # = D*2(8)
037821,000282: 30,2570 00005 04
037822,000283: 30,2571 02353 STORE YRATE
037823,000284: 30,2572 41345 CONST DLOAD DMP # LOAD B*2(8)
037824,000285: 30,2573 02351 PRATE # B D12*2(-9)
037825,000286: 30,2574 00003 02D
037826,000287: 30,2575 56325 PDDL DDV # D12 B IN PDL(4) (6)
037827,000288: 30,2576 02337 DRDOT # LOAD DRDOT*2(-7)
037828,000289: 30,2577 00001 00D # -DRDOT/L*2(-7)
037829,000290: 30,2600 45302 SR2 DSU # (-DRDOT/L-D12 B)=A*2(-9) (4)
037830,000291: 30,2601 77626 STADR
037831,000292: 30,2602 61432 STODL PCONS
037832,000293: 30,2603 02353 YRATE # D*2(8)
037833,000294: 30,2604 65205 DMP PDDL # D12 D,EXCH WITH -L IN PDL(0) (2,2)
037834,000295: 30,2605 60465 BDDV SR2 # -DYDOT/L*2(-9)
037835,000296: 30,2606 02341 DYDOT
037836,000297: 30,2607 77625 DSU # (-DYDOT/L-D12 D)=C*2(-9)
037837,000298: 30,2610 00001 00D
037838,000299: 30,2611 02347 STORE YCONS
037839,000300: 30,2612 71201 CMPONENT SETPD DLOAD
037840,000301: 30,2613 00001 00D
037841,000302: 30,2614 27147 100CS
037842,000303: 30,2615 77605 DMP
037843,000304: 30,2616 02351 PRATE # B(T-T0)*2(-9)
037844,000305: 30,2617 56215 DAD DDV # (A+B(T-T0))*2(-9)
Page 849 |
037846,000307: 30,2620 02345 PCONS # (A+B(T-T0))/TBUP*2(8)
037847,000308: 30,2621 02271 TBUP
037848,000309: 30,2622 45352 SL1 DSU
037849,000310: 30,2623 02315 GEFF # ATR*2(9)
037850,000311: 30,2624 16357 STODL ATR
037851,000312: 30,2625 27147 100CS
037852,000313: 30,2626 43205 DMP DAD
037853,000314: 30,2627 02353 YRATE
037854,000315: 30,2630 02347 YCONS # (C+D(T-T0))*2(-9)
037855,000316: 30,2631 72471 DDV SL1
037856,000317: 30,2632 02271 TBUP
037857,000318: 30,2633 02355 STORE ATY # ATY*2(9)
037858,000319: 30,2634 65361 VXSC PDDL # ATY UY*2(8) (6)
037859,000320: 30,2635 02303 LAXIS
037860,000321: 30,2636 02357 ATR
037861,000322: 30,2637 53361 VXSC VAD # (0)
037862,000323: 30,2640 03537 UNIT/R/
037863,000324: 30,2641 41572 VSL1 PUSH # AH*2(9) IN PDL(0) (6)
037864,000325: 30,2642 65246 ABVAL PDDL # AH(2) IN PDL(34)
037865,000326: 30,2643 02263 AT # AHMAG IN PDL(6) (8)
037866,000327: 30,2644 45316 DSQ DSU # (AT(2)-AH(2))*2(18)
037867,000328: 30,2645 00043 34D # =ATP2*2(18)
037868,000329: 30,2646 41525 PDDL PUSH # (12)
037869,000330: 30,2647 02263 AT
037870,000331: 30,2650 45316 DSQ DSU # (AT(2)KR(2)-AH(2))*2(18) (10)
037871,000332: 30,2651 00043 34D # =ATP3*2(18)
037872,000333: 30,2652 71240 BMN DLOAD # IF ATP3 NEG,GO TO NO-ATP
037873,000334: 30,2653 60657 NO-ATP # LOAD ATP2, IF ATP3 POS
037874,000335: 30,2654 00011 8D
037875,000336: 30,2655 52166 SQRT GOTO # ATP*2(9)
037876,000337: 30,2656 60665 AIMER
037877,000338: 30,2657 55345 NO-ATP DLOAD BDDV # KR AT/AH = KH (8)
037878,000339: 30,2660 00007 6D
037879,000340: 30,2661 77761 VXSC # KH AH*2(9)
037880,000341: 30,2662 00001 00D
037881,000342: 30,2663 14001 STODL 00D # STORE NEW AH IN PDL(0)
037882,000343: 30,2664 06522 HI6ZEROS
037883,000344: 30,2665 77765 AIMER SIGN
037884,000345: 30,2666 02343 DZDOT
037885,000346: 30,2667 02361 STORE ATP
037886,000347: 30,2670 77761 VXSC
037887,000348: 30,2671 03726 ZAXIS1 # ATP ZAXIS *2(8).
037888,000349: 30,2672 53372 VSL1 VAD # AT*2(9)
037889,000350: 30,2673 00001 00D
037890,000351: 30,2674 03254 STORE UNFC/2 # WILL BE OVERWRITTEN IF IN VERT. RISE.
037891,000352: 30,2675 43001 SETPD BON
037892,000353: 30,2676 00001 00D
037893,000354: 30,2677 04704 FLPI
037894,000355: 30,2700 60220 P12RET
037895,000356: 30,2701 77614 BON
Page 850 |
037897,000358: 30,2702 04701 FLVR
037898,000359: 30,2703 60755 CHECKALT
037899,000360: 30,2704 57575 MAINLINE VLOAD VCOMP
037900,000361: 30,2705 03537 UNIT/R/
037901,000362: 30,2706 17262 STODL UNWC/2
037902,000363: 30,2707 03654 TXO
037903,000364: 30,2710 51025 DSU BPL
037904,000365: 30,2711 01235 PIPTIME
037905,000366: 30,2712 60721 ASCTERM
037906,000367: 30,2713 77614 BON
037907,000368: 30,2714 04711 ROTFLAG
037908,000369: 30,2715 57273 ANG1CHEK
037909,000370: 30,2716 43014 CLRXFLAG CLEAR CLEAR
037910,000371: 30,2717 01664 NOR29FLG # START R29 IN ASCENT PHASE.
037911,000372: 30,2720 06666 XOVINFLG # ALLOW X-AXIS OVERRIDE
037912,000373: 30,2721 77776 ASCTERM EXIT
037913,000374: 30,2722 30105 CA FLAGWRD9
037914,000375: 30,2723 74742 MASK FLRCSBIT
037915,000376: 30,2724 10000 CCS A
037916,000377: 30,2725 12747 TCF ASCTERM3
037917,000378: 30,2726 06037 TC INTPRET
037918,000379: 30,2727 77624 CALL
037919,000380: 30,2730 61111 FINDCDUW -2
037920,000381: 30,2731 77776 ASCTERM1 EXIT
037921,000382: 30,2732 30105 +1 CA FLAGWRD9 # INSURE THAT THE NOUN 63 DISPLAY IS
037922,000383: 30,2733 74742 MASK FLRCSBIT # BYPASSED IF WE ARE IN THE RCS TRIMMING
037923,000384: 30,2734 10000 CCS A # MODE OF OPERATION
037924,000385: 30,2735 12747 TCF ASCTERM3
037925,000386: 30,2736 30104 CA FLAGWRD8 # BYPASS DISPLAYS IF ENGINE FAILURE IS
037926,000387: 30,2737 74742 MASK FLUNDBIT # INDICATED.
037927,000388: 30,2740 10000 CCS A
037928,000389: 30,2741 12747 TCF ASCTERM3
037929,000390: 30,2742 33033 CAF V06N63*
037930,000391: 30,2743 04616 TC BANKCALL
037931,000392: 30,2744 20451 CADR GODSPR
037932,000393: 30,2745 12747 TCF ASCTERM3
037933,000394: 30,2746 77776 ASCTERM2 EXIT
037934,000395: 30,2747 15155 ASCTERM3 TCF ENDOFJOB
037935,000396: 30,2750 77776 ASCTERM4 EXIT
037936,000397: 30,2751 00004 INHINT
037937,000398: 30,2752 04674 TC IBNKCALL # NO GUIDANCE THIS CYCLE -- HENCE ZERO
037938,000399: 30,2753 40153 CADR ZATTEROR # THE DAP ATTITUDE ERRORS.
037939,000400: 30,2754 12732 TCF ASCTERM1 +1
037940,000401:
037941,000402: 30,2755 45345 CHECKALT DLOAD DSU
037942,000403: 30,2756 02301 /R/MAG
037943,000404: 30,2757 02333 /LAND/
037944,000405: 30,2760 50025 DSU BMN # IF H LT 25K CHECK Z AXIS ORIENTATION.
037945,000406: 30,2761 26700 25KFT
037946,000407: 30,2762 16667 CHECKYAW
Page 851 |
037948,000409: 30,2763 43014 EXITVR CLEAR BON
037949,000410: 30,2764 04661 FLVR
037950,000411: 30,2765 04711 ROTFLAG
037951,000412: 30,2766 60704 MAINLINE
037952,000413: 30,2767 43345 DLOAD DAD
037953,000414: 30,2770 01235 PIPTIME
037954,000415: 30,2771 25755 10SECS
037955,000416: 30,2772 37654 STCALL TXO
037956,000417: 30,2773 60704 MAINLINE
037957,000418: 30,2774 77614 EXITVR1 CLRGO
037958,000419: 30,2775 04631 ROTFLAG
037959,000420: 30,2776 60763 EXITVR
037960,000421:
037961,000422: 27,2000 SETLOC ASENT1
037962,000423: 27,2000 BANK
037963,000424: 27,3273 COUNT* $$/ASENT
037964,000425:
037965,000426: 27,3273 50375 ANG1CHEK VLOAD DOT
037966,000427: 27,3274 03254 UNFC/2
037967,000428: 27,3275 02146 XNBPIP
037968,000429: 27,3276 51025 DSU BPL
037969,000430: 27,3277 02577 COSTHET1
037970,000431: 27,3300 57307 OFFROT
037971,000432: 27,3301 50375 VLOAD DOT
037972,000433: 27,3302 02146 XNBPIP
037973,000434: 27,3303 03537 UNIT/R/
037974,000435: 27,3304 50025 DSU BMN
037975,000436: 27,3305 02601 COSTHET2
037976,000437: 27,3306 30351 KEEPVR1
037977,000438: 27,3307 77614 OFFROT CLRGO
037978,000439: 27,3310 04631 ROTFLAG
037979,000440: 27,3311 60716 CLRXFLAG
037980,000441:
037981,000442: 07,2667 BANK 7
037982,000443: 07,2000 SETLOC ASENT2
037983,000444: 07,2000 BANK
037984,000445: 07,2667 COUNT* $$/ASENT
037985,000446:
037986,000447: 07,2667 07,2667 SETXFLAG = CHECKYAW
037987,000448:
037988,000449: 07,2667 77614 CHECKYAW SET
037989,000450: 07,2670 06466 XOVINFLG # PROHIBIT X-AXIS OVERRIDE
037990,000451: 07,2671 74345 DLOAD VXSC
037991,000452: 07,2672 02355 ATY
037992,000453: 07,2673 02303 LAXIS
037993,000454: 07,2674 74325 PDDL VXSC
037994,000455: 07,2675 02361 ATP
037995,000456: 07,2676 03726 ZAXIS1
037996,000457: 07,2677 53455 VAD UNIT
037997,000458: 07,2700 50206 PUSH DOT
Page 852 |
037999,000460: 07,2701 02154 YNBPIP
038000,000461: 07,2702 45246 ABS DSU
038001,000462: 07,2703 13503 SIN5DEG
038002,000463: 07,2704 71244 BPL DLOAD
038003,000464: 07,2705 30347 KEEPVR
038004,000465: 07,2706 03474 RDOT
038005,000466: 07,2707 51025 DSU BPL
038006,000467: 07,2710 13505 40FPS
038007,000468: 07,2711 60774 EXITVR1
038008,000469: 07,2712 77650 GOTO
038009,000470: 07,2713 30347 KEEPVR
038010,000471:
038011,000472: 05,3502 BANK 5
038012,000473: 05,2000 SETLOC ASENT3
038013,000474: 05,2000 BANK
038014,000475: 05,3502 COUNT* $$/ASENT
038015,000476:
038016,000477: 05,3502 00545 00171 SIN5DEG 2DEC 0.08716 B-2
038017,000478: 05,3504 00017 23305 40FPS 2DEC 0.12192 B-7
038018,000479:
038019,000480: 14,2347 BANK 14
038020,000481: 14,2000 SETLOC ASENT4
038021,000482: 14,2000 BANK
038022,000483: 14,2347 COUNT* $$/ASENT
038023,000484:
038024,000485: 14,2347 45575 KEEPVR VLOAD STADR # RECALL LOSVEC FROM PUSHLIST
038025,000486: 14,2350 74515 STORE UNWC/2
038026,000487: 14,2351 77775 KEEPVR1 VLOAD
038027,000488: 14,2352 03537 UNIT/R/
038028,000489: 14,2353 37254 STCALL UNFC/2
038029,000490: 14,2354 60721 ASCTERM
038030,000491:
038031,000492: 14,2355 77634 ENGOFF RTB
038032,000493: 14,2356 21573 LOADTIME
038033,000494: 14,2357 43225 DSU DAD
038034,000495: 14,2360 01235 PIPTIME
038035,000496: 14,2361 03454 TTOGO
038036,000497: 14,2362 77476 DCOMP EXIT
038037,000498: 14,2363 07257 TC TPAGREE # FORCE SIGN AGREEMENT ON MPAC, MPAC +1.
038038,000499: 14,2364 35016 CAF EBANK7
038039,000500: 14,2365 54003 TS EBANK
038040,000501: 14,2366 E7,1516 EBANK= TGO
038041,000502: 14,2366 00004 INHINT
038042,000503: 14,2367 10155 CCS MPAC +1
038043,000504: 14,2370 12373 TCF +3 # C(A) = DT - 1 BIT
038044,000505: 14,2371 12373 TCF +2 # C(A) = 0
038045,000506: 14,2372 34755 CAF ZERO # C(A) = 0
038046,000507: 14,2373 64753 AD BIT1 # C(A) = 1 BIT OR DT.
Page 853 |
038048,000509: 14,2374 55644 TS ENGOFFDT
038049,000510: 14,2375 05173 TC TWIDDLE
038050,000511: 14,2376 02410 ADRES ENGOFF1
038051,000512: 14,2377 05353 TC PHASCHNG
038052,000513: 14,2400 47014 OCT 47014
038053,000514: 14,2401 76133 -GENADR ENGOFFDT
038054,000515: 14,2402 E7,1516 EBANK= TGO
038055,000516: 14,2402 02410 30067 2CADR ENGOFF1
038056,000517:
038057,000518: 14,2404 06037 TC INTPRET
038058,000519: 14,2405 52014 SET GOTO
038059,000520: 14,2406 03470 IDLEFLAG # DISABLE DELTA-V MONITOR
038060,000521: 14,2407 60451 T2TEST
038061,000522:
038062,000523: 14,2410 04674 ENGOFF1 TC IBNKCALL # SHUT OFF THE ENGINE.
038063,000524: 14,2411 75551 CADR ENGINOF2
038064,000525:
038065,000526: 14,2412 35027 CAF PRIO17 # SET UP A JOB FOR THE ASCENT GUIDANCE
038066,000527: 14,2413 05105 TC FINDVAC # POSTBURN LOGIC.
038067,000528: 14,2414 E7,1455 EBANK= WHICH
038068,000529: 14,2414 02424 30067 2CADR CUTOFF
038069,000530:
038070,000531: 14,2416 05353 TC PHASCHNG
038071,000532: 14,2417 07024 OCT 07024
038072,000533: 14,2420 17000 OCT 17000
038073,000534: 14,2421 E7,1516 EBANK= TGO
038074,000535: 14,2421 02424 30067 2CADR CUTOFF
038075,000536:
038076,000537: 14,2423 15261 TCF TASKOVER
038077,000538:
038078,000539: 14,2424 05504 CUTOFF TC UPFLAG # SET FLRCS FLAG.
038079,000540: 14,2425 00214 ADRES FLRCS
038080,000541:
038081,000542: 14,2426 32445 -5 CAF V16N63
038082,000543: 14,2427 04616 TC BANKCALL
038083,000544: 14,2430 20476 CADR GOFLASH
038084,000545: 14,2431 12434 TCF +3
038085,000546: 14,2432 12436 TCF CUTOFF1
038086,000547: 14,2433 12426 TCF -5
038087,000548:
038088,000549: 14,2434 04635 +3 TC POSTJUMP
038089,000550: 14,2435 61007 CADR TERMASC
038090,000551:
038091,000552: 14,2436 00004 CUTOFF1 INHINT
038092,000553: 14,2437 04674 TC IBNKCALL # ZERO ATTITUDE ERRORS BEFORE REDUCING DB.
038093,000554: 14,2440 40153 CADR ZATTEROR
038094,000555: 14,2441 04674 TC IBNKCALL
038095,000556: 14,2442 40140 CADR SETMINDB
038096,000557: 14,2443 04635 TC POSTJUMP
038097,000558: 14,2444 60777 CADR CUTOFF2
Page 854 |
038099,000560:
038100,000561: 14,2445 04077 V16N63 VN 1663
038101,000562: 30,2777 BANK 30
038102,000563: 30,2000 SETLOC ASENT5
038103,000564: 30,2000 BANK
038104,000565: 30,2777 COUNT* $$/ASENT
038105,000566:
038106,000567: 30,2777 05353 CUTOFF2 TC PHASCHNG
038107,000568: 30,3000 04024 OCT 04024
038108,000569:
038109,000570: 30,3001 33017 CAF V16N85C
038110,000571: 30,3002 04616 TC BANKCALL
038111,000572: 30,3003 20476 CADR GOFLASH
038112,000573: 30,3004 13007 TCF TERMASC
038113,000574: 30,3005 13007 TCF +2 # PROCEED
038114,000575: 30,3006 12777 TCF CUTOFF2
038115,000576:
038116,000577: 30,3007 05353 TERMASC TC PHASCHNG
038117,000578: 30,3010 04024 OCT 04024
038118,000579:
038119,000580: 30,3011 00004 INHINT # RESTORE DEADBAND DESIRED BY ASTRONAUT.
038120,000581: 30,3012 04674 TC IBNKCALL
038121,000582: 30,3013 40123 CADR RESTORDB
038122,000583: 30,3014 05516 TC DOWNFLAG # DISALLOW ABORTS AT THIS TIME.
038123,000584: 30,3015 00215 ADRES LETABORT
038124,000585: 30,3016 16001 TCF GOTOPOOH
038125,000586:
038126,000587: 30,3017 04125 V16N85C VN 1685
038127,000588:
038128,000589: 27,3312 BANK 27
038129,000590: 27,2000 SETLOC ASENT1
038130,000591: 27,2000 BANK
038131,000592: 27,3312 COUNT* $$/ASENT
038132,000593:
038133,000594: 27,3312 50375 YCOMP VLOAD DOT
038134,000595: 27,3313 03537 UNIT/R/
038135,000596: 27,3314 03720 QAXIS
038136,000597: 27,3315 41312 SL2 DMP
038137,000598: 27,3316 03631 RCO
038138,000599: 27,3317 02335 STORE Y
038139,000600: 27,3320 77616 RVQ
038140,000601:
038141,000602: 30,3020 BANK 30
038142,000603: 30,2000 SETLOC ASENT
038143,000604: 30,2000 BANK
038144,000605:
Page 855 |
038146,000607: # ASCENT GUIDANCE CONSTANTS
038147,000608:
038148,000609: 30,3020 33,3146 100CS EQUALS 2SEC(18)
038149,000610: 30,3020 30,3022 T2A EQUALS 2SEC(17)
038150,000611: 30,3020 00062 00000 4SEC(17) 2DEC 400 B-17
038151,000612: 30,3022 00031 00000 2SEC(17) 2DEC 200 B-17
038152,000613: 30,3024 00175 00000 T3 2DEC 1000 B-17
038153,000614: 30,3026 00045 20000 6SEC(18) 2DEC 600 B-18
038154,000615: 30,3030 00010 BIT4H OCT 10
038155,000616: 30,3031 14400 00000 2SEC(9) 2DEC 200 B-9
038156,000617: 30,3033 01477 V06N63* VN 0663
038157,000618: 30,3034 01514 V06N76 VN 0676
038158,000619: 30,3035 01441 V06N33A VN 0633
038159,000620:
038160,000621: 33,2200 BANK 33
038161,000622: 33,2000 SETLOC ASENT6
038162,000623: 33,2000 BANK
038163,000624: 33,2200 COUNT* $$/ASENT
038164,000625:
038165,000626: 33,2200 20000 00000 KT1 2DEC 0.5000
038166,000627: 33,2202 75751 41775 PRLIMIT 2DEC -.0639 # (B/TBUP)MIN=-.1FT.SEC(-3)
038167,000628: 33,2204 00022 07212 MINABDV 2DEC .0356 B-5 # 10 PERCENT BIGGER THAN GRAVITY
038168,000629: 33,2206 E7,1570 1/DV0 = MASS1
038169,000630:
Page 856 |
038171,000632: # THE LOGARITHM SUBROUTINE
038172,000633:
038173,000634: 24,3670 BANK 24
038174,000635: 30,2000 SETLOC FLOGSUB
038175,000636: 30,2000 BANK
038176,000637:
038177,000638: # INPUT ..... X IN MPAC
038178,000639: # OUTPUT ..... -LOG(X) IN MPAC
038179,000640:
038180,000641: 30,3036 44301 LOGSUB NORM BDSU
038181,000642: 30,3037 00163 MPAC +6
038182,000643: 30,3040 17771 NEARONE
038183,000644: 30,3041 77776 EXIT
038184,000645: 30,3042 07222 TC POLY
038185,000646: 30,3043 00006 DEC 6 B-14
038186,000647: 30,3044 00000 00002 2DEC .0000000060
038187,000648: 30,3046 76777 77175 2DEC -.0312514377
038188,000649: 30,3050 77400 75416 2DEC -.0155686771
038189,000650: 30,3052 77507 65515 2DEC -.0112502068
038190,000651: 30,3054 77741 63547 2DEC -.0018545108
038191,000652: 30,3056 77052 55373 2DEC -.0286607906
038192,000653: 30,3060 01167 30361 2DEC .0385598563
038193,000654: 30,3062 76520 75267 2DEC -.0419361902
038194,000655:
038195,000656: 30,3064 34755 CAF ZERO
038196,000657: 30,3065 54156 TS MPAC +2
038197,000658: 30,3066 00006 EXTEND
038198,000659: 30,3067 33103 DCA CLOG2/32
038199,000660: 30,3070 52155 DXCH MPAC
038200,000661: 30,3071 52132 DXCH BUF +1
038201,000662: 30,3072 30162 CA MPAC +6
038202,000663: 30,3073 07307 TC SHORTMP
038203,000664: 30,3074 52156 DXCH MPAC +1
038204,000665: 30,3075 52155 DXCH MPAC
038205,000666: 30,3076 52132 DXCH BUF +1
038206,000667: 30,3077 20155 DAS MPAC
038207,000668: 30,3100 06037 TC INTPRET
038208,000669: 30,3101 43476 DCOMP RVQ
038209,000670:
038210,000671: 30,3102 00542 34414 CLOG2/32 2DEC .0216608494
038211,000672:
End of include-file ASCENT_GUIDANCE.agc. Parent file is MAIN.agc