Source Code
These source-code files are part of a reconstructed copy of Luminary 173, the
second (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with reconstructed source code for Luminary 178. Changes between revision 173 and 178 were backed out, as described by Luminary memo 167 (revision 1). The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 173 listing would be different. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
036448,000002: ## Copyright: Public domain.
036449,000003: ## Filename: ASCENT_GUIDANCE.agc
036450,000004: ## Purpose: A section of Luminary revision 173.
036451,000005: ## It is part of the reconstructed source code for the second
036452,000006: ## (unflown) release of the flight software for the Lunar
036453,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
036454,000008: ## The code has been recreated from a reconstructed copy of
036455,000009: ## Luminary 178, as well as Luminary memo 167 (revision 1).
036456,000010: ## It has been adapted such that the resulting bugger words
036457,000011: ## exactly match those specified for Luminary 173 in NASA
036458,000012: ## drawing 2021152N, which gives relatively high confidence
036459,000013: ## that the reconstruction is correct.
036460,000014: ## Reference: pp. 834-849
036461,000015: ## Assembler: yaYUL
036462,000016: ## Contact: Ron Burkey <info@sandroid.org>.
036463,000017: ## Website: www.ibiblio.org/apollo/index.html
036464,000018: ## Mod history: 2019-09-18 MAS Created from Luminary 178.
036465,000019: ## 2019-09-21 MAS Moved initialization of ZAXIS1 back to P12.
036466,000020: ## Changed ASCSAVE to share with CG.
036467,000021:
Page 834 |
036469,000023: 34,3375 BANK 34
036470,000024: 34,2000 SETLOC ASCFILT
036471,000025: 34,2000 BANK
036472,000026:
036473,000027: 34,3375 E7,1515 EBANK= DVCNTR
036474,000028:
036475,000029: 34,3375 COUNT* $$/ASENT
036476,000030:
036477,000031: 34,3375 05364 ATMAG TC PHASCHNG
036478,000032: 34,3376 00035 OCT 00035
036479,000033: 34,3377 06042 TC INTPRET
036480,000034: 34,3400 77614 BON
036481,000035: 34,3401 04705 FLRCS
036482,000036: 34,3402 60312 ASCENT
036483,000037: 34,3403 45345 DLOAD DSU
036484,000038: 34,3404 03514 ABDVCONV
036485,000039: 34,3405 26122 MINABDV
036486,000040: 34,3406 43040 BMN CLEAR
036487,000041: 34,3407 60750 ASCTERM4
036488,000042: 34,3410 04267 SURFFLAG
036489,000043: 34,3411 67214 CLEAR SLOAD
036490,000044: 34,3412 02676 RENDWFLG
036491,000045: 34,3413 31451 BIT3H
036492,000046: 34,3414 77471 DDV EXIT
036493,000047: 34,3415 03514 ABDVCONV
036494,000048: 34,3416 52155 DXCH MPAC
036495,000049: 34,3417 53641 DXCH 1/DV3
036496,000050: 34,3420 53637 DXCH 1/DV2
036497,000051: 34,3421 53635 DXCH 1/DV1
036498,000052: 34,3422 53571 DXCH 1/DV0
036499,000053: 34,3423 06042 TC INTPRET
036500,000054: 34,3424 43345 DLOAD DAD
036501,000055: 34,3425 03571 1/DV0
036502,000056: 34,3426 03635 1/DV1
036503,000057: 34,3427 43215 DAD DAD
036504,000058: 34,3430 03637 1/DV2
036505,000059: 34,3431 03641 1/DV3
036506,000060: 34,3432 41205 DMP DMP
036507,000061: 34,3433 02265 VE
036508,000062: 34,3434 21011 2SEC(9)
036509,000063: 34,3435 65252 SL3 PDDL
036510,000064: 34,3436 02271 TBUP
036511,000065: 34,3437 43342 SR1 DAD
Page 835 |
036513,000067: 34,3440 77625 DSU
036514,000068: 34,3441 21006 6SEC(18)
036515,000069: 34,3442 16271 STODL TBUP
036516,000070: 34,3443 02265 VE
036517,000071: 34,3444 56342 SR1 DDV
036518,000072: 34,3445 02271 TBUP
036519,000073: 34,3446 36263 STCALL AT
036520,000074: 34,3447 60312 ASCENT
036521,000075:
036522,000076: 34,3450 00004 BIT3H OCT 4
036523,000077:
Page 836 |
036525,000079: 30,2312 BANK 30
036526,000080: 30,2000 SETLOC ASENT
036527,000081: 30,2000 BANK
036528,000082: 30,2312 COUNT* $$/ASENT
036529,000083:
036530,000084:
036531,000085: 30,2312 51575 ASCENT VLOAD ABVAL
036532,000086: 30,2313 03521 R
036533,000087: 30,2314 26301 STOVL /R/MAG
036534,000088: 30,2315 03726 ZAXIS1
036535,000089: 30,2316 72441 DOT SL1
036536,000090: 30,2317 03527 V # Z.V = ZDOT*2(-8).
036537,000091: 30,2320 26313 STOVL ZDOT # ZDOT*2(-7)
036538,000092: 30,2321 03726 ZAXIS1
036539,000093: 30,2322 76435 VXV VSL1
036540,000094: 30,2323 03537 UNIT/R/ # Z X UR = LAXIS*2(-2)
036541,000095: 30,2324 02303 STORE LAXIS # LAXIS*2(-1)
036542,000096: 30,2325 72441 DOT SL1
036543,000097: 30,2326 03527 V # L.V = YDOT*2(-8).
036544,000098: 30,2327 36311 STCALL YDOT # YDOT * 2(-7)
036545,000099: 30,2330 57311 YCOMP
036546,000100: 30,2331 77775 VLOAD
036547,000101: 30,2332 03563 GDT1/2 # LOAD GDT1/2*2(-7)M/CS.
036548,000102: 30,2333 50341 V/SC DOT
036549,000103: 30,2334 27014 2SEC(18)
036550,000104: 30,2335 03537 UNIT/R/ # G.UR*2(9) = GR*2(9).
036551,000105: 30,2336 47315 PDVL VXV # STORE IN PDL(0) (2)
036552,000106: 30,2337 03537 UNIT/R/ # LOAD UNIT/R/*2(-1).
036553,000107: 30,2340 03527 V # UR*2(-1) X V*2(-7) = H/R*2(-8).
036554,000108: 30,2341 56236 VSQ DDV # H(2)/R(2)*2(-16).
036555,000109: 30,2342 02301 /R/MAG # H(2)/R(3)*2(9).
036556,000110: 30,2343 43352 SL1 DAD
036557,000111: 30,2344 77626 STADR
036558,000112: 30,2345 75462 STORE GEFF # GEFF*2(10)M/CS/CS
036559,000113: 30,2346 45014 BOFF CALL # IF P7071FLG = 1 (I.E. P70 OR P71)
036560,000114: 30,2347 04742 P7071FLG # CALL ZDOTDCMP TO UPDATE ZDOTD
036561,000115: 30,2350 60352 +2 # ON THE BASIS OF THE LAST RP.
036562,000116: 30,2351 71527 ZDOTDCMP
036563,000117: 30,2352 45345 +2 DLOAD DSU
036564,000118: 30,2353 02277 ZDOTD
036565,000119: 30,2354 02313 ZDOT
036566,000120: 30,2355 02343 STORE DZDOT # DZDOT = (ZDOTD - ZDOT)*2(7)M/CS.
036567,000121: 30,2356 65361 VXSC PDDL
036568,000122: 30,2357 03726 ZAXIS1
036569,000123: 30,2360 02275 YDOTD
Page 837 |
036571,000125: 30,2361 77625 DSU
036572,000126: 30,2362 02311 YDOT
036573,000127: 30,2363 02341 STORE DYDOT # DYDOT = (YDOTD - YDOT)*2(7)M/CS.
036574,000128: 30,2364 65361 VXSC PDDL
036575,000129: 30,2365 02303 LAXIS
036576,000130: 30,2366 02273 RDOTD
036577,000131: 30,2367 77625 DSU
036578,000132: 30,2370 03474 RDOT
036579,000133: 30,2371 02337 STORE DRDOT # DRDOT = (RDOTD - RDOT)*2(7)M/CS.
036580,000134: 30,2372 53361 VXSC VAD
036581,000135: 30,2373 03537 UNIT/R/
036582,000136: 30,2374 76455 VAD VSL1
036583,000137: 30,2375 77626 STADR
036584,000138: 30,2376 74131 STORE VGVECT # VG = (DRDOT)R + (DYDOT)L + (DZDOT)Z.
036585,000139: 30,2377 41345 DLOAD DMP # LOAD TGO
036586,000140: 30,2400 03517 TGO # TGO GEFF
036587,000141: 30,2401 02315 GEFF
036588,000142: 30,2402 76561 VXSC VSL1
036589,000143: 30,2403 03537 UNIT/R/ # TGO GEFF UR
036590,000144: 30,2404 77645 BVSU
036591,000145: 30,2405 03646 VGVECT # COMPENSATED FOR GEFF
036592,000146: 30,2406 03646 STORE VGVECT # STORE FOR DOWNLINK
036593,000147: 30,2407 76521 MXV VSL1 # GET VGBODY FOR N85 DISPLAY
036594,000148: 30,2410 02146 XNBPIP
036595,000149: 30,2411 27502 STOVL VGBODY
036596,000150: 30,2412 03646 VGVECT
036597,000151: 30,2413 43046 ABVAL BOFF # MAGNITUDE OF VGVECT
036598,000152: 30,2414 04745 FLRCS # IF FLRCS=0,DO NORMAL GUIDANCE
036599,000153: 30,2415 60424 MAINENG
036600,000154: 30,2416 77671 DDV # USE TGO=VG/AT WITH RCS
036601,000155: 30,2417 20001 AT/RCS
036602,000156: 30,2420 37517 STCALL TGO # THIS WILL BE USED ON NEXT CYCLE
036603,000157: 30,2421 71500 RPCOMP1 # COMPUTE NEW RP FOR NEXT CYCLE.
036604,000158: 30,2422 77650 GOTO
036605,000159: 30,2423 60746 ASCTERM2
036606,000160: 30,2424 41471 MAINENG DDV PUSH # VG/VE IN PDL(0) (2)
036607,000161: 30,2425 02265 VE
036608,000162: 30,2426 44342 SR1 BDSU # 1 - VG / 2 VE
036609,000163: 30,2427 17770 NEARONE
036610,000164: 30,2430 41205 DMP DMP # TBUP VG(1-KT VG/VE)/VE (0)
036611,000165: 30,2431 02271 TBUP # = TGO
036612,000166: 30,2432 77625 DSU # COMPENSATE FOR TAILOFF
036613,000167: 30,2433 02267 TTO
036614,000168: 30,2434 03517 STORE TGO
036615,000169: 30,2435 57461 SR DCOMP
036616,000170: 30,2436 20614 11D
036617,000171: 30,2437 17454 STODL TTOGO # TGO*2(-28)CS
036618,000172: 30,2440 03517 TGO
036619,000173: 30,2441 45214 BON DSU
036620,000174: 30,2442 03710 IDLEFLAG
Page 838 |
036622,000176: 30,2443 60447 T2TEST
036623,000177: 30,2444 21000 4SEC(17) # ( TGO - 4 )*2(-17)CS.
036624,000178: 30,2445 77640 BMN
036625,000179: 30,2446 30347 ENGOFF
036626,000180: 30,2447 77745 T2TEST DLOAD
036627,000181: 30,2450 03517 TGO
036628,000182: 30,2451 50025 DSU BMN # IF TGO - T2 NEG., GO TO CMPONENT
036629,000183: 30,2452 21002 T2A
036630,000184: 30,2453 60607 CMPONENT
036631,000185: 30,2454 45345 DLOAD DSU
036632,000186: 30,2455 02271 TBUP
036633,000187: 30,2456 03517 TGO
036634,000188: 30,2457 45071 DDV CALL # 1-TGO/TBUP
036635,000189: 30,2460 02271 TBUP
036636,000190: 30,2461 61015 LOGSUB
036637,000191: 30,2462 41461 SL PUSH # -L IN PDL(0) (2)
036638,000192: 30,2463 20206 5
036639,000193: 30,2464 44265 BDDV BDSU # -TGO/L*2(-17)
036640,000194: 30,2465 03517 TGO
036641,000195: 30,2466 02271 TBUP # TBUP + TGO/L = D12*2(-17)
036642,000196: 30,2467 43006 PUSH BON # STORE IN PDL(2) (4)
036643,000197: 30,2470 04703 FLPC # IF FLPC = 1, GO TO CONST
036644,000198: 30,2471 60500 NORATES
036645,000199: 30,2472 45345 DLOAD DSU
036646,000200: 30,2473 03517 TGO
036647,000201: 30,2474 21004 T3
036648,000202: 30,2475 43044 BPL SET # FLPC=1
036649,000203: 30,2476 60505 RATES
036650,000204: 30,2477 04463 FLPC
036651,000205: 30,2500 77745 NORATES DLOAD
036652,000206: 30,2501 06520 HI6ZEROS
036653,000207: 30,2502 02351 STORE PRATE # B = 0
036654,000208: 30,2503 36353 STCALL YRATE # D = 0
036655,000209: 30,2504 60567 CONST # GO TO CONST
036656,000210: 30,2505 45345 RATES DLOAD DSU
036657,000211: 30,2506 03517 TGO
036658,000212: 30,2507 00003 02D # TGO - D12 = D21*2(-17)
036659,000213: 30,2510 72406 PUSH SL1 # IN PDL(4) (6)
036660,000214: 30,2511 52421 BDSU SL3 # (1/2TGO - D21)*2(-13) = E * 2(-13)
036661,000215: 30,2512 03517 TGO # (8)
036662,000216: 30,2513 41325 PDDL DMP # IN PDL(6)
036663,000217: 30,2514 03517 TGO
036664,000218: 30,2515 03474 RDOT # RDOT TGO * 2(-24)
036665,000219: 30,2516 45215 DAD DSU # R + RDOT TGO
036666,000220: 30,2517 02301 /R/MAG # R + RDOT TGO - RCO
036667,000221: 30,2520 03631 RCO # MPAC = - DR*2(-24).
036668,000222: 30,2521 41325 PDDL DMP # -DR IN PDL(8) (10)
036669,000223: 30,2522 02337 DRDOT
036670,000224: 30,2523 00005 04D # D21 DRDOT*2(-24)
036671,000225: 30,2524 62415 DAD SL2 # (D21 DRDOT-DR)*2(-22) (8)
Page 839 |
036673,000227: 30,2525 56271 DDV DDV
036674,000228: 30,2526 00007 06D # (D21 DRDOT-DR)/E*2(-9)
036675,000229: 30,2527 03517 TGO
036676,000230: 30,2530 02351 STORE PRATE # B * 2(8)
036677,000231: 30,2531 71240 BMN DLOAD # B>0 NOT PERMITTED
036678,000232: 30,2532 60536 CHKBMAG
036679,000233: 30,2533 06520 HI6ZEROS
036680,000234: 30,2534 36351 STCALL PRATE
036681,000235: 30,2535 60550 PROK
036682,000236: 30,2536 56202 CHKBMAG SR4 DDV # B*2(4)
036683,000237: 30,2537 02271 TBUP # (B / TAU) * 2(21)
036684,000238: 30,2540 51025 DSU BPL
036685,000239: 30,2541 26120 PRLIMIT # ( B/ TAU) * 2(21) MAX.
036686,000240: 30,2542 60550 PROK
036687,000241: 30,2543 41345 DLOAD DMP
036688,000242: 30,2544 26120 PRLIMIT
036689,000243: 30,2545 02271 TBUP # B MAX. * 2(4)
036690,000244: 30,2546 77612 SL4 # BMAX*2(8)
036691,000245: 30,2547 02351 STORE PRATE
036692,000246: 30,2550 77745 PROK DLOAD
036693,000247: 30,2551 03517 TGO
036694,000248: 30,2552 43205 DMP DAD # YDOT TGO
036695,000249: 30,2553 02311 YDOT
036696,000250: 30,2554 02335 Y # Y + YDOT TGO
036697,000251: 30,2555 65225 DSU PDDL # Y + YDOT TGO - YCO
036698,000252: 30,2556 03633 YCO # MPAC = - DY*2(-24.) IN PDL(8) (10)
036699,000253: 30,2557 02341 DYDOT
036700,000254: 30,2560 43205 DMP DAD # D21 DYDOT - DY (8)
036701,000255: 30,2561 00005 04D
036702,000256: 30,2562 56312 SL2 DDV # (D21 DYDOT - DY)/E*2(-9)
036703,000257: 30,2563 40271 DDV SETPD # (D21 DYDOT - DY)/E TGO*2(8)
036704,000258: 30,2564 03517 TGO # = D*2(8)
036705,000259: 30,2565 00005 04
036706,000260: 30,2566 02353 STORE YRATE
036707,000261: 30,2567 41345 CONST DLOAD DMP # LOAD B*2(8)
036708,000262: 30,2570 02351 PRATE # B D12*2(-9)
036709,000263: 30,2571 00003 02D
036710,000264: 30,2572 56325 PDDL DDV # D12 B IN PDL(4) (6)
036711,000265: 30,2573 02337 DRDOT # LOAD DRDOT*2(-7)
036712,000266: 30,2574 00001 00D # -DRDOT/L*2(-7)
036713,000267: 30,2575 45302 SR2 DSU # (-DRDOT/L-D12 B)=A*2(-9) (4)
036714,000268: 30,2576 77626 STADR
036715,000269: 30,2577 61432 STODL PCONS
036716,000270: 30,2600 02353 YRATE # D*2(8)
036717,000271: 30,2601 65205 DMP PDDL # D12 D,EXCH WITH -L IN PDL(0) (2,2)
036718,000272: 30,2602 60465 BDDV SR2 # -DYDOT/L*2(-9)
036719,000273: 30,2603 02341 DYDOT
036720,000274: 30,2604 77625 DSU # (-DYDOT/L-D12 D)=C*2(-9)
036721,000275: 30,2605 00001 00D
036722,000276: 30,2606 02347 STORE YCONS
Page 840 |
036724,000278: 30,2607 43001 CMPONENT SETPD BOFF
036725,000279: 30,2610 00001 00D
036726,000280: 30,2611 04742 P7071FLG
036727,000281: 30,2612 60615 +3 # IF P7071FLG = 1 (I.E. P70 OR P71)
036728,000282: 30,2613 77624 CALL # COMPUTE NEW RP FOR NEXT CYCLE.
036729,000283: 30,2614 71504 RPCOMP2
036730,000284: 30,2615 41345 +3 DLOAD DMP
036731,000285: 30,2616 27014 100CS
036732,000286: 30,2617 02351 PRATE # B(T-T0)*2(-9)
036733,000287: 30,2620 56215 DAD DDV # (A+B(T-T0))*2(-9)
036734,000288: 30,2621 02345 PCONS # (A+B(T-T0))/TBUP*2(8)
036735,000289: 30,2622 02271 TBUP
036736,000290: 30,2623 45352 SL1 DSU
036737,000291: 30,2624 02315 GEFF # ATR*2(9)
036738,000292: 30,2625 16357 STODL ATR
036739,000293: 30,2626 27014 100CS
036740,000294: 30,2627 43205 DMP DAD
036741,000295: 30,2630 02353 YRATE
036742,000296: 30,2631 02347 YCONS # (C+D(T-T0))*2(-9)
036743,000297: 30,2632 72471 DDV SL1
036744,000298: 30,2633 02271 TBUP
036745,000299: 30,2634 02355 STORE ATY # ATY*2(9)
036746,000300: 30,2635 65361 VXSC PDDL # ATY UY*2(8) (6)
036747,000301: 30,2636 02303 LAXIS
036748,000302: 30,2637 02357 ATR
036749,000303: 30,2640 53361 VXSC VAD # (0)
036750,000304: 30,2641 03537 UNIT/R/
036751,000305: 30,2642 41572 VSL1 PUSH # AH*2(9) IN PDL(0) (6)
036752,000306: 30,2643 65246 ABVAL PDDL # AH(2) IN PDL(34)
036753,000307: 30,2644 02263 AT # AHMAG IN PDL(6) (8)
036754,000308: 30,2645 45316 DSQ DSU # (AT(2)-AH(2))*2(18)
036755,000309: 30,2646 00043 34D # =ATP2*2(18)
036756,000310: 30,2647 41525 PDDL PUSH # (12)
036757,000311: 30,2650 02263 AT
036758,000312: 30,2651 45316 DSQ DSU # (AT(2)KR(2)-AH(2))*2(18) (10)
036759,000313: 30,2652 00043 34D # =ATP3*2(18)
036760,000314: 30,2653 71240 BMN DLOAD # IF ATP3 NEG,GO TO NO-ATP
036761,000315: 30,2654 60660 NO-ATP # LOAD ATP2,IF ATP3 POS
036762,000316: 30,2655 00011 8D
036763,000317: 30,2656 52166 SQRT GOTO # ATP*2(9)
036764,000318: 30,2657 60666 AIMER
036765,000319: 30,2660 55345 NO-ATP DLOAD BDDV # KR AT/AH = KH (8)
036766,000320: 30,2661 00007 6D
036767,000321: 30,2662 77761 VXSC # KH AH*2(9)
036768,000322: 30,2663 00001 00D
036769,000323: 30,2664 14001 STODL 00D # STORE NEW AH IN PDL(0)
036770,000324: 30,2665 06520 HI6ZEROS
036771,000325: 30,2666 77765 AIMER SIGN
036772,000326: 30,2667 02343 DZDOT
036773,000327: 30,2670 02361 STORE ATP
Page 841 |
036775,000329: 30,2671 77761 VXSC
036776,000330: 30,2672 03726 ZAXIS1 # ATP ZAXIS *2(8).
036777,000331: 30,2673 53372 VSL1 VAD # AT*2(9)
036778,000332: 30,2674 00001 00D
036779,000333: 30,2675 03253 STORE UNFC/2 # WILL BE OVERWRITTEN IF IN VERT. RISE.
036780,000334: 30,2676 43001 SETPD BON
036781,000335: 30,2677 00001 00D
036782,000336: 30,2700 04704 FLPI
036783,000337: 30,2701 60213 P12RET
036784,000338: 30,2702 77614 BON
036785,000339: 30,2703 04701 FLVR
036786,000340: 30,2704 60755 CHECKALT
036787,000341: 30,2705 57575 MAINLINE VLOAD VCOMP
036788,000342: 30,2706 03537 UNIT/R/
036789,000343: 30,2707 17261 STODL UNWC/2
036790,000344: 30,2710 03654 TXO
036791,000345: 30,2711 51025 DSU BPL
036792,000346: 30,2712 01234 PIPTIME
036793,000347: 30,2713 60721 ASCTERM
036794,000348: 30,2714 77614 BON
036795,000349: 30,2715 04711 ROTFLAG
036796,000350: 30,2716 57271 ANG1CHEK
036797,000351: 30,2717 77614 CLRXFLAG CLEAR
036798,000352: 30,2720 06666 XOVINFLG # (XOVINFLG)
036799,000353: 30,2721 77776 ASCTERM EXIT
036800,000354: 30,2722 30105 CA FLAGWRD9
036801,000355: 30,2723 74742 MASK FLRCSBIT
036802,000356: 30,2724 10000 CCS A
036803,000357: 30,2725 12747 TCF ASCTERM3
036804,000358: 30,2726 06042 TC INTPRET
036805,000359: 30,2727 77624 CALL
036806,000360: 30,2730 61072 FINDCDUW -2
036807,000361: 30,2731 77776 ASCTERM1 EXIT
036808,000362: 30,2732 30105 +1 CA FLAGWRD9 # INSURE THAT THE NOUN 63 DISPLAY IS
036809,000363: 30,2733 74742 MASK FLRCSBIT # BYPASSED IF WE ARE IN THE RCS TRIMMING
036810,000364: 30,2734 10000 CCS A # MODE OF OPERATION
036811,000365: 30,2735 12747 TCF ASCTERM3
036812,000366: 30,2736 30104 CA FLAGWRD8 # BYPASS DISPLAYS IF ENGINE FAILURE IS
036813,000367: 30,2737 74742 MASK FLUNDBIT # INDICATED.
036814,000368: 30,2740 10000 CCS A
036815,000369: 30,2741 12747 TCF ASCTERM3
036816,000370: 30,2742 05165 TC VACRLEAS
036817,000371: 30,2743 33012 CAF V06N63*
036818,000372: 30,2744 04616 TC BANKCALL
036819,000373: 30,2745 20444 CADR GODSP
036820,000374: 30,2746 77776 ASCTERM2 EXIT
036821,000375: 30,2747 15155 ASCTERM3 TCF ENDOFJOB
036822,000376: 30,2750 77776 ASCTERM4 EXIT
036823,000377: 30,2751 00004 INHINT
036824,000378: 30,2752 04674 TC IBNKCALL # NO GUIDANCE THIS CYCLE -- HENCE ZERO
036825,000379: 30,2753 40166 CADR STOPRATE # THE DAP COMMANDED RATES.
036826,000380: 30,2754 12732 TCF ASCTERM1 +1
036827,000381:
036828,000382: 30,2755 45345 CHECKALT DLOAD DSU
036829,000383: 30,2756 02301 /R/MAG
036830,000384: 30,2757 02333 /LAND/
036831,000385: 30,2760 50025 DSU BMN # IF H LT 25K CHECK Z AXIS ORIENTATION.
036832,000386: 30,2761 26124 25KFT
036833,000387: 30,2762 16661 CHECKYAW
036834,000388: 30,2763 43014 EXITVR CLEAR BON
036835,000389: 30,2764 04661 FLVR
036836,000390: 30,2765 04711 ROTFLAG
036837,000391: 30,2766 60705 MAINLINE
036838,000392: 30,2767 43345 DLOAD DAD
036839,000393: 30,2770 01234 PIPTIME
036840,000394: 30,2771 25635 10SECS
036841,000395: 30,2772 37654 STCALL TXO
036842,000396: 30,2773 60705 MAINLINE
036843,000397: 30,2774 77614 EXITVR1 CLRGO
036844,000398: 30,2775 04631 ROTFLAG
036845,000399: 30,2776 60763 EXITVR
036846,000400:
036847,000401: 27,2000 SETLOC ASENT1
036848,000402: 27,2000 BANK
036849,000403: 27,3271 COUNT* $$/ASENT
036850,000404:
036851,000405: 27,3271 53575 ANG1CHEK VLOAD UNIT
036852,000406: 27,3272 03253 UNFC/2
036853,000407: 27,3273 77641 DOT
036854,000408: 27,3274 02146 XNBPIP
036855,000409: 27,3275 51025 DSU BPL
036856,000410: 27,3276 02566 COSTHET1
036857,000411: 27,3277 57306 OFFROT
036858,000412: 27,3300 50375 VLOAD DOT
036859,000413: 27,3301 02146 XNBPIP
036860,000414: 27,3302 03537 UNIT/R/
036861,000415: 27,3303 50025 DSU BMN
036862,000416: 27,3304 02570 COSTHET2
036863,000417: 27,3305 71453 KEEPVR1
036864,000418: 27,3306 77614 OFFROT CLRGO
036865,000419: 27,3307 04631 ROTFLAG
036866,000420: 27,3310 60717 CLRXFLAG
036867,000421:
036868,000422: 07,2661 BANK 7
036869,000423: 07,2000 SETLOC ASENT2
036870,000424: 07,2000 BANK
036871,000425: 07,2661 COUNT* $$/ASENT
036872,000426:
Page 843 |
036874,000428: 07,2661 07,2661 SETXFLAG = CHECKYAW
036875,000429:
036876,000430: 07,2661 77614 CHECKYAW SET
036877,000431: 07,2662 06466 XOVINFLG # PROHIBIT X-AXIS OVERRIDE
036878,000432: 07,2663 74345 DLOAD VXSC
036879,000433: 07,2664 02355 ATY
036880,000434: 07,2665 02303 LAXIS
036881,000435: 07,2666 74325 PDDL VXSC
036882,000436: 07,2667 02361 ATP
036883,000437: 07,2670 03726 ZAXIS1
036884,000438: 07,2671 53455 VAD UNIT
036885,000439: 07,2672 45325 PDDL DSU
036886,000440: 07,2673 03474 RDOT
036887,000441: 07,2674 13507 40FPS
036888,000442: 07,2675 52044 BPL GOTO
036889,000443: 07,2676 60774 EXITVR1
036890,000444: 07,2677 71451 KEEPVR
036891,000445:
036892,000446: 05,3506 BANK 5
036893,000447: 05,2000 SETLOC ASENT3
036894,000448: 05,2000 BANK
036895,000449: 05,3506 COUNT* $$/ASENT
036896,000450:
036897,000451: 05,3506 00017 23305 40FPS 2DEC 0.12192 B-7
036898,000452:
036899,000453: 34,3451 BANK 34
036900,000454: 34,2000 SETLOC ASENT8
036901,000455: 34,2000 BANK
036902,000456: 34,3451 COUNT* $$/ASENT
036903,000457:
036904,000458: 34,3451 45575 KEEPVR VLOAD STADR # RECALL LOSVEC FROM PUSHLIST
036905,000459: 34,3452 74516 STORE UNWC/2
036906,000460: 34,3453 77775 KEEPVR1 VLOAD
036907,000461: 34,3454 03537 UNIT/R/
036908,000462: 34,3455 37253 STCALL UNFC/2
036909,000463: 34,3456 60721 ASCTERM
036910,000464:
036911,000465:
036912,000466: 14,2347 BANK 14
036913,000467: 14,2000 SETLOC ASENT4
036914,000468: 14,2000 BANK
036915,000469: 14,2347 COUNT* $$/ASENT
036916,000470:
036917,000471: 14,2347 77634 ENGOFF RTB
036918,000472: 14,2350 21574 LOADTIME
036919,000473: 14,2351 43225 DSU DAD
036920,000474: 14,2352 01234 PIPTIME
036921,000475: 14,2353 03454 TTOGO
036922,000476: 14,2354 77476 DCOMP EXIT
036923,000477: 14,2355 07262 TC TPAGREE # FORCE SIGN AGREEMENT ON MPAC, MPAC +1.
036924,000478: 14,2356 35016 CAF EBANK7
036925,000479: 14,2357 54003 TS EBANK
036926,000480: 14,2360 E7,1516 EBANK= TGO
036927,000481: 14,2360 00004 INHINT
036928,000482: 14,2361 10155 CCS MPAC +1
Page 844 |
036930,000484: 14,2362 12365 TCF +3 # C(A) = DT - 1 BIT
036931,000485: 14,2363 12365 TCF +2 # C(A) = 0
036932,000486: 14,2364 34755 CAF ZERO # C(A) = 0
036933,000487: 14,2365 64753 AD BIT1 # C(A) = 1 BIT OR DT.
036934,000488: 14,2366 55644 TS ENGOFFDT
036935,000489: 14,2367 05204 TC TWIDDLE
036936,000490: 14,2370 02402 ADRES ENGOFF1
036937,000491: 14,2371 05364 TC PHASCHNG
036938,000492: 14,2372 47014 OCT 47014
036939,000493: 14,2373 76133 -GENADR ENGOFFDT
036940,000494: 14,2374 E7,1516 EBANK= TGO
036941,000495: 14,2374 02402 30067 2CADR ENGOFF1
036942,000496:
036943,000497: 14,2376 06042 TC INTPRET
036944,000498: 14,2377 52014 SET GOTO
036945,000499: 14,2400 03470 IDLEFLAG # DISABLE DELTA-V MONITOR
036946,000500: 14,2401 60447 T2TEST
036947,000501:
036948,000502: 14,2402 04674 ENGOFF1 TC IBNKCALL # SHUT OFF THE ENGINE.
036949,000503: 14,2403 75560 CADR ENGINOF2
036950,000504:
036951,000505: 14,2404 35027 CAF PRIO17 # SET UP A JOB FOR THE ASCENT GUIDANCE
036952,000506: 14,2405 05072 TC NOVAC
036953,000507: 14,2406 E7,1455 EBANK= WHICH
036954,000508: 14,2406 02416 30067 2CADR CUTOFF
036955,000509:
036956,000510: 14,2410 05364 TC PHASCHNG
036957,000511: 14,2411 07024 OCT 07024
036958,000512: 14,2412 17000 OCT 17000
036959,000513: 14,2413 E7,1516 EBANK= TGO
036960,000514: 14,2413 02416 30067 2CADR CUTOFF
036961,000515:
036962,000516: 14,2415 15272 TCF TASKOVER
036963,000517:
036964,000518: 14,2416 05515 CUTOFF TC UPFLAG # SET FLRCS FLAG.
036965,000519: 14,2417 00214 ADRES FLRCS
036966,000520:
036967,000521: 14,2420 32437 -5 CAF V16N63
036968,000522: 14,2421 04616 TC BANKCALL
036969,000523: 14,2422 20477 CADR GOFLASH
036970,000524: 14,2423 12426 TCF +3
036971,000525: 14,2424 12430 TCF CUTOFF1
036972,000526: 14,2425 12420 TCF -5
036973,000527:
036974,000528: 14,2426 04635 +3 TC POSTJUMP
036975,000529: 14,2427 71467 CADR TERMASC
036976,000530:
036977,000531: 14,2430 00004 CUTOFF1 INHINT
036978,000532: 14,2431 04674 TC IBNKCALL # ZERO ATTITUDE ERRORS BEFORE REDUCING DB.
036979,000533: 14,2432 40154 CADR ZATTEROR
Page 845 |
036981,000535: 14,2433 04674 TC IBNKCALL
036982,000536: 14,2434 40141 CADR SETMINDB
036983,000537: 14,2435 04635 TC POSTJUMP
036984,000538: 14,2436 71457 CADR CUTOFF2
036985,000539:
036986,000540: 14,2437 04077 V16N63 VN 1663
036987,000541: 34,3457 BANK 34
036988,000542: 34,2000 SETLOC ASENT8
036989,000543: 34,2000 BANK
036990,000544: 34,3457 COUNT* $$/ASENT
036991,000545:
036992,000546: 34,3457 05364 CUTOFF2 TC PHASCHNG
036993,000547: 34,3460 04024 OCT 04024
036994,000548:
036995,000549: 34,3461 33477 CAF V16N85C
036996,000550: 34,3462 04616 TC BANKCALL
036997,000551: 34,3463 20477 CADR GOFLASH
036998,000552: 34,3464 13467 TCF TERMASC
036999,000553: 34,3465 13467 TCF +2 # PROCEED
037000,000554: 34,3466 13457 TCF CUTOFF2
037001,000555:
037002,000556: 34,3467 05364 TERMASC TC PHASCHNG
037003,000557: 34,3470 04024 OCT 04024
037004,000558:
037005,000559: 34,3471 00004 INHINT # RESTORE DEADBAND DESIRED BY ASTRONAUT.
037006,000560: 34,3472 04674 TC IBNKCALL
037007,000561: 34,3473 40115 CADR RESTORDB
037008,000562: 34,3474 05527 TC DOWNFLAG # DISALLOW ABORTS AT THIS TIME.
037009,000563: 34,3475 00215 ADRES LETABORT
037010,000564: 34,3476 16001 TCF GOTOPOOH
037011,000565:
037012,000566: 34,3477 04125 V16N85C VN 1685
037013,000567:
037014,000568: 34,3500 77745 RPCOMP1 DLOAD # FLRCS = 1 (TRIM MODE)
037015,000569: 34,3501 06520 HI6ZEROS
037016,000570: 34,3502 02345 STORE PCONS # SET PCONS = PRATE = 0 SO THAT
037017,000571: 34,3503 02351 STORE PRATE # RP = R + RDOT TGO
037018,000572: 34,3504 41345 RPCOMP2 DLOAD DMP # FLRCS = 0 (GUIDANCE MODE)
037019,000573: 34,3505 02351 PRATE # LEAVE PCONS AND PRATE ALONE SO THAT
037020,000574: 34,3506 03517 TGO # RP = R + RDOT TGO + (PCONS*TGO**2)/
037021,000575: 34,3507 43205 DMP DAD # (2 TBUP) + (PRATE*TGO**3)/(6 TBUP)
037022,000576: 34,3510 33653 THIRD
037023,000577: 34,3511 02345 PCONS
037024,000578: 34,3512 41205 DMP DMP
037025,000579: 34,3513 03517 TGO
037026,000580: 34,3514 03517 TGO
037027,000581: 34,3515 72471 DDV SL1
037028,000582: 34,3516 02271 TBUP
037029,000583: 34,3517 65215 DAD PDDL
037030,000584: 34,3520 02301 /R/MAG
Page 846 |
037032,000586: 34,3521 03474 RDOT
037033,000587: 34,3522 43205 DMP DAD
037034,000588: 34,3523 03517 TGO
037035,000589: 34,3524 77626 STADR
037036,000590: 34,3525 75155 STORE RP
037037,000591: 34,3526 77616 RVQ
037038,000592:
037039,000593: 34,3527 45020 ZDOTDCMP STQ CALL # COMPUTE CENTRAL ANGLE (0)
037040,000594: 34,3530 02571 ASCSAVE
037041,000595: 34,3531 71557 THETCOMP
037042,000596: 34,3532 43205 DMP DAD # CENTRAL ANGLE IN MPAC
037043,000597: 34,3533 02620 KPARM
037044,000598: 34,3534 02616 JPARM
037045,000599: 34,3535 41425 DSU PUSH # RA IN MPAC AND IN PUSHLIST (2)
037046,000600: 34,3536 02622 RP
037047,000601: 34,3537 51025 DSU BPL
037048,000602: 34,3540 02560 RAMIN
037049,000603: 34,3541 71544 +3
037050,000604: 34,3542 65345 DLOAD PDDL # RA < RAMIN. SET RA = RAMIN. (2)
037051,000605: 34,3543 02560 RAMIN
037052,000606: 34,3544 41345 +3 DLOAD DMP
037053,000607: 34,3545 00001 0D
037054,000608: 34,3546 16025 MUM(-37)
037055,000609: 34,3547 77725 PDDL
037056,000610: 34,3550 41215 DAD DMP
037057,000611: 34,3551 02622 RP
037058,000612: 34,3552 02622 RP
037059,000613: 34,3553 75465 BDDV SQRT # (0)
037060,000614: 34,3554 77626 STADR
037061,000615: 34,3555 41500 STCALL ZDOTD # UPDATE ZDOTD FOR GUIDANCE AND DOWNLINK.
037062,000616: 34,3556 02571 ASCSAVE
037063,000617:
037064,000618: 34,3557 53575 THETCOMP VLOAD UNIT
037065,000619: 34,3560 03521 R
037066,000620: 34,3561 53515 PDVL UNIT # (6)
037067,000621: 34,3562 01716 R(CSM)
037068,000622: 34,3563 47206 PUSH VXV # (12)
037069,000623: 34,3564 00001 0D
037070,000624: 34,3565 77641 DOT
037071,000625: 34,3566 02325 WM
037072,000626: 34,3567 24037 STOVL 30D # (6)
037073,000627: 34,3570 72441 DOT SL1 # (0)
037074,000628: 34,3571 75326 ARCCOS SIGN
037075,000629: 34,3572 00037 30D
037076,000630: 34,3573 77616 RVQ
037077,000631:
037078,000632: 34,3574 E5,1571 ASCSAVE = CG
037079,000633:
037080,000634: 27,3311 BANK 27
037081,000635: 27,2000 SETLOC ASENT1
037082,000636: 27,2000 BANK
037083,000637: 27,3311 COUNT* $$/ASENT
037084,000638:
Page 847 |
037086,000640: 27,3311 50375 YCOMP VLOAD DOT
037087,000641: 27,3312 03537 UNIT/R/
037088,000642: 27,3313 03720 QAXIS
037089,000643: 27,3314 41312 SL2 DMP
037090,000644: 27,3315 03631 RCO
037091,000645: 27,3316 02335 STORE Y
037092,000646: 27,3317 77616 RVQ
037093,000647:
037094,000648:
037095,000649: 30,2777 BANK 30
037096,000650: 30,2000 SETLOC ASENT
037097,000651: 30,2000 BANK
037098,000652:
Page 848 |
037100,000654: # ASCENT GUIDANCE CONSTANTS
037101,000655:
037102,000656: 30,2777 33,3013 100CS EQUALS 2SEC(18)
037103,000657: 30,2777 30,3001 T2A EQUALS 2SEC(17)
037104,000658: 30,2777 00062 00000 4SEC(17) 2DEC 400 B-17
037105,000659:
037106,000660: 30,3001 00031 00000 2SEC(17) 2DEC 200 B-17
037107,000661:
037108,000662: 30,3003 00175 00000 T3 2DEC 1000 B-17
037109,000663:
037110,000664: 30,3005 00045 20000 6SEC(18) 2DEC 600 B-18
037111,000665:
037112,000666: 30,3007 00010 BIT4H OCT 10
037113,000667:
037114,000668: 30,3010 14400 00000 2SEC(9) 2DEC 200 B-9
037115,000669:
037116,000670: 30,3012 01477 V06N63* VN 0663
037117,000671: 30,3013 01514 V06N76 VN 0676
037118,000672: 30,3014 01441 V06N33A VN 0633
037119,000673:
037120,000674: 33,2117 BANK 33
037121,000675: 33,2000 SETLOC ASENT6
037122,000676: 33,2000 BANK
037123,000677: 33,2117 COUNT* $$/ASENT
037124,000678:
037125,000679: 33,2117 75751 41775 PRLIMIT 2DEC -.0639 # (B/TBUP)MIN=-.1FT.SEC(-3)
037126,000680:
037127,000681: 33,2121 00022 07212 MINABDV 2DEC .0356 B-5 # 10 PERCENT BIGGER THAN GRAVITY
037128,000682:
037129,000683: 33,2123 00007 16100 25KFT 2DEC 7620 B-24
037130,000684:
037131,000685: 33,2125 E7,1570 1/DV0 = MASS1
037132,000686:
Page 849 |
037134,000688: # THE LOGARITHM SUBROUTINE
037135,000689:
037136,000690: 24,3642 BANK 24
037137,000691: 30,2000 SETLOC FLOGSUB
037138,000692: 30,2000 BANK
037139,000693:
037140,000694: # INPUT ..... X IN MPAC
037141,000695: # OUTPUT ..... -LOG(X) IN MPAC
037142,000696:
037143,000697: 30,3015 44301 LOGSUB NORM BDSU
037144,000698: 30,3016 00163 MPAC +6
037145,000699: 30,3017 17770 NEARONE
037146,000700: 30,3020 77776 EXIT
037147,000701: 30,3021 07225 TC POLY
037148,000702: 30,3022 00006 DEC 6 B-14
037149,000703: 30,3023 00000 00002 2DEC .0000000060
037150,000704:
037151,000705: 30,3025 76777 77175 2DEC -.0312514377
037152,000706:
037153,000707: 30,3027 77400 75416 2DEC -.0155686771
037154,000708:
037155,000709: 30,3031 77507 65515 2DEC -.0112502068
037156,000710:
037157,000711: 30,3033 77741 63547 2DEC -.0018545108
037158,000712:
037159,000713: 30,3035 77052 55373 2DEC -.0286607906
037160,000714:
037161,000715: 30,3037 01167 30361 2DEC .0385598563
037162,000716:
037163,000717: 30,3041 76520 75267 2DEC -.0419361902
037164,000718:
037165,000719: 30,3043 34755 CAF ZERO
037166,000720: 30,3044 54156 TS MPAC +2
037167,000721: 30,3045 00006 EXTEND
037168,000722: 30,3046 33062 DCA CLOG2/32
037169,000723: 30,3047 52155 DXCH MPAC
037170,000724: 30,3050 52132 DXCH BUF +1
037171,000725: 30,3051 30162 CA MPAC +6
037172,000726: 30,3052 07312 TC SHORTMP
037173,000727: 30,3053 52156 DXCH MPAC +1
037174,000728: 30,3054 52155 DXCH MPAC
037175,000729: 30,3055 52132 DXCH BUF +1
037176,000730: 30,3056 20155 DAS MPAC
037177,000731: 30,3057 06042 TC INTPRET
037178,000732: 30,3060 43476 DCOMP RVQ
037179,000733:
037180,000734: 30,3061 00542 34414 CLOG2/32 2DEC .0216608494
037181,000735:
End of include-file ASCENT_GUIDANCE.agc. Parent file is MAIN.agc