Source Code

035400,000001: # Copyright: Public domain. 035401,000002: # Filename: ASCENT_GUIDANCE.agc 035402,000003: # Purpose: A section of Luminary 1C, revision 131. 035403,000004: # It is part of the source code for the Lunar Module's (LM) 035404,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 035405,000006: # This file is intended to be a faithful transcription, except 035406,000007: # that the code format has been changed to conform to the 035407,000008: # requirements of the yaYUL assembler rather than the 035408,000009: # original YUL assembler. 035409,000010: # Reference: pp. 841-856 of 1729.pdf. 035410,000011: # Contact: Ron Burkey <info@sandroid.org>. 035411,000012: # Website: www.ibiblio.org/apollo/index.html 035412,000013: # Mod history: 05/26/03 RSB. Began transcribing. 035413,000014: # 05/14/05 RSB Corrected website reference above. 035414,000015: # 2010-10-25 JL Added missing # in comments. 035415,000016: 035416,000017: # Page 841 035417,000018: 34,3372 BANK 34 035418,000019: 34,2000 SETLOC ASCFILT 035419,000020: 34,2000 BANK 035420,000021: 035421,000022: 34,3372 E7,1515 EBANK= DVCNTR 035422,000023: 035423,000024: 34,3372 COUNT* $$/ASENT 035424,000025: 035425,000026: 34,3372 05353 ATMAG TC PHASCHNG 035426,000027: 34,3373 00035 OCT 00035 035427,000028: 34,3374 06042 TC INTPRET 035428,000029: 34,3375 77614 BON 035429,000030: 34,3376 04705 FLRCS 035430,000031: 34,3377 60315 ASCENT 035431,000032: 34,3400 45345 DLOAD DSU 035432,000033: 34,3401 03514 ABDVCONV 035433,000034: 34,3402 26203 MINABDV 035434,000035: 34,3403 43040 BMN CLEAR 035435,000036: 34,3404 60756 ASCTERM4 035436,000037: 34,3405 04267 SURFFLAG 035437,000038: 34,3406 67214 CLEAR SLOAD 035438,000039: 34,3407 02676 RENDWFLG 035439,000040: 34,3410 31446 BIT3H 035440,000041: 34,3411 77471 DDV EXIT 035441,000042: 34,3412 03514 ABDVCONV 035442,000043: 34,3413 52155 DXCH MPAC 035443,000044: 34,3414 53641 DXCH 1/DV3 035444,000045: 34,3415 53637 DXCH 1/DV2 035445,000046: 34,3416 53635 DXCH 1/DV1 035446,000047: 34,3417 53571 DXCH 1/DV0 035447,000048: 34,3420 06042 TC INTPRET 035448,000049: 34,3421 43345 DLOAD DAD 035449,000050: 34,3422 03571 1/DV0 035450,000051: 34,3423 03635 1/DV1 035451,000052: 34,3424 43215 DAD DAD 035452,000053: 34,3425 03637 1/DV2 035453,000054: 34,3426 03641 1/DV3 035454,000055: 34,3427 41205 DMP DMP 035455,000056: 34,3430 02265 VE 035456,000057: 34,3431 21017 2SEC(9) 035457,000058: 34,3432 65252 SL3 PDDL 035458,000059: 34,3433 02271 TBUP 035459,000060: 34,3434 43342 SR1 DAD 035460,000061: 34,3435 77625 DSU 035461,000062: 34,3436 21014 6SEC(18) 035462,000063: 34,3437 16271 STODL TBUP 035463,000064: 34,3440 02265 VE 035464,000065: 34,3441 56342 SR1 DDV 035465,000066: 34,3442 02271 TBUP 035466,000067: 34,3443 36263 STCALL AT 035467,000068: # Page 842 035468,000069: 34,3444 60315 ASCENT 035469,000070: 34,3445 00004 BIT3H OCT 4 035470,000071: 035471,000072: # Page 843 035472,000073: 30,2315 BANK 30 035473,000074: 30,2000 SETLOC ASENT 035474,000075: 30,2000 BANK 035475,000076: 30,2315 COUNT* $$/ASENT 035476,000077: 035477,000078: 30,2315 51575 ASCENT VLOAD ABVAL 035478,000079: 30,2316 03521 R 035479,000080: 30,2317 26301 STOVL /R/MAG 035480,000081: 30,2320 03726 ZAXIS1 035481,000082: 30,2321 72441 DOT SL1 035482,000083: 30,2322 03527 V # Z.V = ZDOT*2(-8). 035483,000084: 30,2323 26313 STOVL ZDOT # ZDOT*2(-7) 035484,000085: 30,2324 03726 ZAXIS1 035485,000086: 30,2325 76435 VXV VSL1 035486,000087: 30,2326 03537 UNIT/R/ # Z X UR = LAXIS*2(-2) 035487,000088: 30,2327 02303 STORE LAXIS # LAXIS*2(-1) 035488,000089: 30,2330 72441 DOT SL1 035489,000090: 30,2331 03527 V # L.V = YDOT*2(-8). 035490,000091: 30,2332 36311 STCALL YDOT # YDOT * 2(-7) 035491,000092: 30,2333 57313 YCOMP 035492,000093: 30,2334 77775 VLOAD 035493,000094: 30,2335 03563 GDT1/2 # LOAD GDT1/2*2(-7) M/CS. 035494,000095: 30,2336 50341 V/SC DOT 035495,000096: 30,2337 27104 2SEC(18) 035496,000097: 30,2340 03537 UNIT/R/ # G.UR*2(0) = GR*2(9). 035497,000098: 30,2341 47315 PDVL VXV # STORE IN PDL(0) 035498,000099: 30,2342 03537 UNIT/R/ # LOAD UNIT/R/ *2(-1) 035499,000100: 30,2343 03527 V # UR*2(-1) X V*2(-7) = H/R*2(-8). 035500,000101: 30,2344 56236 VSQ DDV # H(2)/R(2)*2(-16). 035501,000102: 30,2345 02301 /R/MAG # H(2)/R(3)*2(9). 035502,000103: 30,2346 43352 SL1 DAD 035503,000104: 30,2347 77626 STADR 035504,000105: 30,2350 75462 STORE GEFF # GEFF*2(10) M/CS/CS 035505,000106: 30,2351 45014 BOFF CALL # IF P7071FLG = 1 (I.E. P70 OR P71) 035506,000107: 30,2352 04742 P7071FLG # CALL ZDOTDCMP TO UPDATE ZDOTD 035507,000108: 30,2353 60355 +2 # ON THE BASIS OF THE LAST RP. 035508,000109: 30,2354 71524 ZDOTDCMP 035509,000110: 30,2355 45345 +2 DLOAD DSU 035510,000111: 30,2356 02277 ZDOTD 035511,000112: 30,2357 02313 ZDOT 035512,000113: 30,2360 02343 STORE DZDOT # DZDOT = (ZDOTD - ZDOT) * 2(7) M/CS. 035513,000114: 30,2361 65361 VXSC PDDL 035514,000115: 30,2362 03726 ZAXIS1 035515,000116: 30,2363 02275 YDOTD 035516,000117: 30,2364 77625 DSU 035517,000118: 30,2365 02311 YDOT 035518,000119: # Page 844 035519,000120: 30,2366 02341 STORE DYDOT # DYDOT = (YDOTD - YDOT) *2(7) M/CS. 035520,000121: 30,2367 65361 VXSC PDDL 035521,000122: 30,2370 02303 LAXIS 035522,000123: 30,2371 02273 RDOTD 035523,000124: 30,2372 77625 DSU 035524,000125: 30,2373 03474 RDOT 035525,000126: 30,2374 02337 STORE DRDOT # DRDOT = (RDOTD - RDOT) * 2(7) M/CS. 035526,000127: 30,2375 53361 VXSC VAD 035527,000128: 30,2376 03537 UNIT/R/ 035528,000129: 30,2377 76455 VAD VSL1 035529,000130: 30,2400 77626 STADR 035530,000131: 30,2401 74131 STORE VGVECT # VG = (DRDOT)R + (DVDOT)L + (DZDOT)Z. 035531,000132: 30,2402 41345 DLOAD DMP # LOAD TGO 035532,000133: 30,2403 03517 TGO # TGO GEFF 035533,000134: 30,2404 02315 GEFF 035534,000135: 30,2405 76561 VXSC VSL1 035535,000136: 30,2406 03537 UNIT/R/ # TGO GEFF UR 035536,000137: 30,2407 77645 BVSU 035537,000138: 30,2410 03646 VGVECT # COMPENSATED FOR GEFF 035538,000139: 30,2411 03646 STORE VGVECT # STORE FOR DOWNLINK 035539,000140: 30,2412 76521 MXV VSL1 # GET VGBODY FOR N85 DISPLAY 035540,000141: 30,2413 02146 XNBPIP 035541,000142: 30,2414 27502 STOVL VGBODY 035542,000143: 30,2415 03646 VGVECT 035543,000144: 30,2416 43046 ABVAL BOFF # MAGNITUDE OF VGVECT 035544,000145: 30,2417 04745 FLRCS # IF FLRCS=0,D0 NORMAL GUIDANCE 035545,000146: 30,2420 60427 MAINENG 035546,000147: 30,2421 77671 DDV # USE TGO=VG/AT WITH RCS 035547,000148: 30,2422 20001 AT/RCS 035548,000149: 30,2423 37517 STCALL TGO # THIS WILL BE USED ON TEXT CYCLE 035549,000150: 30,2424 71475 RPCOMP1 # COMPUTE NEW RP FOR NEXT CYCLE. 035550,000151: 30,2425 77650 GOTO 035551,000152: 30,2426 60754 ASCTERM2 035552,000153: 30,2427 41471 MAINENG DDV PUSH # VG/VE IN PDL(0) (2) 035553,000154: 30,2430 02265 VE 035554,000155: 30,2431 44342 SR1 BDSU # 1 - VG / 2 VE 035555,000156: 30,2432 17772 NEARONE 035556,000157: 30,2433 41205 DMP DMP # TBUP VG(1-KT VG/VE)/VE (0) 035557,000158: 30,2434 02271 TBUP # = TGO 035558,000159: 30,2435 77625 DSU # COMPENSATE FOR TAILOFF 035559,000160: 30,2436 02267 TTO 035560,000161: 30,2437 03517 STORE TGO 035561,000162: 30,2440 57461 SR DCOMP 035562,000163: 30,2441 20614 11D 035563,000164: 30,2442 17454 STODL TTOGO # TGO *2(-28) CS 035564,000165: 30,2443 03517 TGO 035565,000166: 30,2444 45214 BON DSU 035566,000167: 30,2445 03710 IDLEFLAG 035567,000168: 30,2446 60452 T2TEST 035568,000169: 30,2447 21006 4SEC(17) # ( TGO - 4 )*2(-17) CS. 035569,000170: 035570,000171: # Page 845 035571,000172: 30,2450 77640 BMN 035572,000173: 30,2451 30347 ENGOFF 035573,000174: 30,2452 77745 T2TEST DLOAD 035574,000175: 30,2453 03517 TGO 035575,000176: 30,2454 50025 DSU BMN # IF TGO - T2 NEG., GO TO CMPONENT 035576,000177: 30,2455 21010 T2A 035577,000178: 30,2456 60612 CMPONENT 035578,000179: 30,2457 45345 DLOAD DSU 035579,000180: 30,2460 02271 TBUP 035580,000181: 30,2461 03517 TGO 035581,000182: 30,2462 45071 DDV CALL # 1- TGO/TBUP 035582,000183: 30,2463 02271 TBUP 035583,000184: 30,2464 61023 LOGSUB 035584,000185: 30,2465 41461 SL PUSH # -L IN PDL(0) (2) 035585,000186: 30,2466 20206 5 035586,000187: 30,2467 44265 BDDV BDSU # -TGO/L*2(-17) 035587,000188: 30,2470 03517 TGO 035588,000189: 30,2471 02271 TBUP # TBUP + TGO/L = D12*2(-17) 035589,000190: 30,2472 43006 PUSH BON # STORE IN PDL(2) (4) 035590,000191: 30,2473 04703 FLPC # IF FLPC = 1, GO TO CONST 035591,000192: 30,2474 60503 NORATES 035592,000193: 30,2475 45345 DLOAD DSU 035593,000194: 30,2476 03517 TGO 035594,000195: 30,2477 21012 T3 035595,000196: 30,2500 43044 BPL SET # FLPC=1 035596,000197: 30,2501 60510 RATES 035597,000198: 30,2502 04463 FLPC 035598,000199: 30,2503 77745 NORATES DLOAD 035599,000200: 30,2504 06524 HI6ZEROS 035600,000201: 30,2505 02351 STORE PRATE # B = 0 035601,000202: 30,2506 36353 STCALL YRATE # D = 0 035602,000203: 30,2507 60572 CONST # GO TO CONST 035603,000204: 30,2510 45345 RATES DLOAD DSU 035604,000205: 30,2511 03517 TGO 035605,000206: 30,2512 00003 02D # TGO - D12 = D21*2(-17) 035606,000207: 30,2513 72406 PUSH SL1 # IN PDL(4) (6) 035607,000208: 30,2514 52421 BDSU SL3 # (1/2TGO - D21)*2(-13) = E * 2(-13) 035608,000209: 30,2515 03517 TGO # (8) 035609,000210: 30,2516 41325 PDDL DMP # IN PDL(6) 035610,000211: 30,2517 03517 TGO 035611,000212: 30,2520 03474 RDOT # RDOT TGO * 2(-24) 035612,000213: 30,2521 45215 DAD DSU # R + RDOT TGO 035613,000214: 30,2522 02301 /R/MAG # R + RDOT TGO - RCO 035614,000215: 30,2523 03631 RCO # MPAC = -DR *2(-24). 035615,000216: 30,2524 41325 PDDL DMP # -DR IN PDL(8) (10) 035616,000217: 30,2525 02337 DRDOT 035617,000218: 30,2526 00005 04D # D21 DRDOT*2(-24) 035618,000219: 30,2527 62415 DAD SL2 # (D21 DRDOT-DR)*2(-22) (8) 035619,000220: 30,2530 56271 DDV DDV 035620,000221: 30,2531 00007 06D # (D21 DRDOT-DR)/E*2(-9) 035621,000222: # Page 846 035622,000223: 30,2532 03517 TGO 035623,000224: 30,2533 02351 STORE PRATE # B * 2(8) 035624,000225: 30,2534 71240 BMN DLOAD # B>0 NOT PERMITTED 035625,000226: 30,2535 60541 CHKBMAG 035626,000227: 30,2536 06524 HI6ZEROS 035627,000228: 30,2537 36351 STCALL PRATE 035628,000229: 30,2540 60553 PROK 035629,000230: 30,2541 56202 CHKBMAG SR4 DDV # B*2(4) 035630,000231: 30,2542 02271 TBUP # (B / TAU) * 2(21) 035631,000232: 30,2543 51025 DSU BPL 035632,000233: 30,2544 26201 PRLIMIT # ( B / TAU ) = 2(21) MAX. 035633,000234: 30,2545 60553 PROK 035634,000235: 30,2546 41345 DLOAD DMP 035635,000236: 30,2547 26201 PRLIMIT 035636,000237: 30,2550 02271 TBUP # B MAS. * 2(4) 035637,000238: 30,2551 77612 SL4 # BMAX*2(8) 035638,000239: 30,2552 02351 STORE PRATE 035639,000240: 30,2553 77745 PROK DLOAD 035640,000241: 30,2554 03517 TGO 035641,000242: 30,2555 43205 DMP DAD # YDOT TGO 035642,000243: 30,2556 02311 YDOT 035643,000244: 30,2557 02335 Y # Y + YDOT TGO 035644,000245: 30,2560 65225 DSU PDDL # Y + YDOT TGO - YCO 035645,000246: 30,2561 03633 YCO # MPAC = - DY*(-24.) IN PDL(10) (10) 035646,000247: 30,2562 02341 DYDOT 035647,000248: 30,2563 43205 DMP DAD # D21 DYDOT - DY (8) 035648,000249: 30,2564 00005 04D 035649,000250: 30,2565 56312 SL2 DDV # (D21 DYDOT - DY)/E*2(-9) 035650,000251: 30,2566 40271 DDV SETPD # (D21 DYDOT - DY)/E TGO*2(8) 035651,000252: 30,2567 03517 TGO # = D*2(8) 035652,000253: 30,2570 00005 04 035653,000254: 30,2571 02353 STORE YRATE 035654,000255: 30,2572 41345 CONST DLOAD DMP # LOAD B*2(8) 035655,000256: 30,2573 02351 PRATE # B D12*2(-9) 035656,000257: 30,2574 00003 02D 035657,000258: 30,2575 56325 PDDL DDV # D12 B IN PDL(4) (6) 035658,000259: 30,2576 02337 DRDOT # LOAD DRDOT*2(-7) 035659,000260: 30,2577 00001 00D # -DRDOT/L*2(-7) 035660,000261: 30,2600 45302 SR2 DSU # (-DRDOT/L-D12 B)=A*2(-9) (4) 035661,000262: 30,2601 77626 STADR 035662,000263: 30,2602 61432 STODL PCONS 035663,000264: 30,2603 02353 YRATE # D*2(8) 035664,000265: 30,2604 65205 DMP PDDL # D12 D,EXCH WITH -L IN PDL(0) (2,2) 035665,000266: 30,2605 60465 BDDV SR2 # -DYDOT/L*2(-9) 035666,000267: 30,2606 02341 DYDOT 035667,000268: 30,2607 77625 DSU # (-DYDOT/L-D12 D)=C*2(-9) 035668,000269: 30,2610 00001 00D 035669,000270: 30,2611 02347 STORE YCONS 035670,000271: 30,2612 43001 CMPONENT SETPD BOFF 035671,000272: 30,2613 00001 00D 035672,000273: # Page 847 035673,000274: 30,2614 04742 P7071FLG 035674,000275: 30,2615 60620 +3 # IF P7071FLG = 1 (I.E., P70 OR P71) 035675,000276: 30,2616 77624 CALL # COMPUTE NEW RP FOR NEXT CYCLE. 035676,000277: 30,2617 71501 RPCOMP2 035677,000278: 30,2620 41345 +3 DLOAD DMP 035678,000279: 30,2621 27104 100CS 035679,000280: 30,2622 02351 PRATE # B(T-TD)*2(-9) 035680,000281: 30,2623 56215 DAD DDV # (A+B(T-T0))*2(-9) 035681,000282: 30,2624 02345 PCONS # (A+B(T-T0))/TBUP*2(8) 035682,000283: 30,2625 02271 TBUP 035683,000284: 30,2626 45352 SL1 DSU 035684,000285: 30,2627 02315 GEFF # ATR*2(9) 035685,000286: 30,2630 16357 STODL ATR 035686,000287: 30,2631 27104 100CS 035687,000288: 30,2632 43205 DMP DAD 035688,000289: 30,2633 02353 YRATE 035689,000290: 30,2634 02347 YCONS # (C+D(T-T0))*2(-9) 035690,000291: 30,2635 72471 DDV SL1 035691,000292: 30,2636 02271 TBUP 035692,000293: 30,2637 02355 STORE ATY # ATY*2(9) 035693,000294: 30,2640 65361 VXSC PDDL # ATY UY*2(8) (6) 035694,000295: 30,2641 02303 LAXIS 035695,000296: 30,2642 02357 ATR 035696,000297: 30,2643 53361 VXSC VAD 035697,000298: 30,2644 03537 UNIT/R/ 035698,000299: 30,2645 41572 VSL1 PUSH # AH*2(9) IN PDL(0) (6) 035699,000300: 30,2646 65246 ABVAL PDDL # AH(2) IN PDL(34) 035700,000301: 30,2647 02263 AT # AHMAG IN PDL(6) (8) 035701,000302: 30,2650 45316 DSQ DSU # (AT(2)-AH(2))*2(18) 035702,000303: 30,2651 00043 34D # =ATP2*2(18) 035703,000304: 30,2652 41525 PDDL PUSH # (12) 035704,000305: 30,2653 02263 AT 035705,000306: 30,2654 45316 DSQ DSU # (AT(2)KR(2)-AH(2))*2(18) (10) 035706,000307: 30,2655 00043 34D # =ATP3*2(18) 035707,000308: 30,2656 71240 BMN DLOAD # IF ATP3 NEG,GO TO NO-ATP 035708,000309: 30,2657 60663 NO-ATP # LOAD ATP2, IF ATP3 POS 035709,000310: 30,2660 00011 8D 035710,000311: 30,2661 52166 SQRT GOTO # ATP*2(9) 035711,000312: 30,2662 60671 AIMER 035712,000313: 30,2663 55345 NO-ATP DLOAD BDDV # KR AT/AH = KH (8) 035713,000314: 30,2664 00007 6D 035714,000315: 30,2665 77761 VXSC # KH AG*2(9) 035715,000316: 30,2666 00001 00D 035716,000317: 30,2667 14001 STODL 00D # STORE NEW AH IN PDL(0) 035717,000318: 30,2670 06524 HI6ZEROS 035718,000319: 30,2671 77765 AIMER SIGN 035719,000320: 30,2672 02343 DZDOT 035720,000321: 30,2673 02361 STORE ATP 035721,000322: 30,2674 77761 VXSC 035722,000323: 30,2675 03726 ZAXIS1 # ATP ZAXIS *2(8) 035723,000324: # Page 848 035724,000325: 30,2676 53372 VSL1 VAD # AT*2(0) 035725,000326: 30,2677 00001 00D 035726,000327: 30,2700 03253 STORE UNFC/2 # WILL BE OVERWRITTEN IF IN VERT. RISE. 035727,000328: 30,2701 43001 SETPD BON 035728,000329: 30,2702 00001 00D 035729,000330: 30,2703 04704 FLPI 035730,000331: 30,2704 60216 P12RET 035731,000332: 30,2705 77614 BON 035732,000333: 30,2706 04701 FLVR 035733,000334: 30,2707 60763 CHECKALT 035734,000335: 30,2710 57575 MAINLINE VLOAD VCOMP 035735,000336: 30,2711 03537 UNIT/R/ 035736,000337: 30,2712 17261 STODL UNWC/2 035737,000338: 30,2713 03654 TXO 035738,000339: 30,2714 51025 DSU BPL 035739,000340: 30,2715 01234 PIPTIME 035740,000341: 30,2716 60730 ASCTERM 035741,000342: 30,2717 77614 BON 035742,000343: 30,2720 04711 ROTFLAG 035743,000344: 30,2721 57273 ANG1CHEK 035744,000345: 30,2722 43014 CLRXFLAG CLEAR BON # ALLOW X-AXIS OVERRIDE 035745,000346: 30,2723 06666 XOVINFLG 035746,000347: 30,2724 04702 P7071FLG # ONLY ACTIVATE R29 IF IN P12. 035747,000348: 30,2725 60730 ASCTERM 035748,000349: 30,2726 77614 CLEAR 035749,000350: 30,2727 01664 NOR29FLG 035750,000351: 30,2730 77776 ASCTERM EXIT 035751,000352: 30,2731 30105 CA FLAGWRD9 035752,000353: 30,2732 74742 MASK FLRCSBIT 035753,000354: 30,2733 10000 CCS A 035754,000355: 30,2734 12755 TCF ASCTERM3 035755,000356: 30,2735 06042 TC INTPRET 035756,000357: 30,2736 77624 CALL 035757,000358: 30,2737 61100 FINDCDUW -2 035758,000359: 30,2740 77776 ASCTERM1 EXIT 035759,000360: 30,2741 30105 +1 CA FLAGWRD9 # INSURE THAT THE NOUN 63 DISPLAY IS 035760,000361: 30,2742 74742 MASK FLRCSBIT # BYPASSED IF WE ARE IN THE RCS TRIMMING 035761,000362: 30,2743 10000 CCS A # MODE OF OPERATION 035762,000363: 30,2744 12755 TCF ASCTERM3 035763,000364: 30,2745 30104 CA FLAGWRD8 # BYPASS DISPLAYS IF ENGINE FAILURE IS 035764,000365: 30,2746 74742 MASK FLUNDBIT # INDICATED. 035765,000366: 30,2747 10000 CCS A 035766,000367: 30,2750 12755 TCF ASCTERM3 035767,000368: 30,2751 33020 CAF V06N63* 035768,000369: 30,2752 04616 TC BANKCALL 035769,000370: 30,2753 20444 CADR GODSP 035770,000371: 30,2754 77776 ASCTERM2 EXIT 035771,000372: 30,2755 15155 ASCTERM3 TCF ENDOFJOB 035772,000373: 30,2756 77776 ASCTERM4 EXIT 035773,000374: 30,2757 00004 INHINT 035774,000375: # Page 849 035775,000376: 30,2760 04674 TC IBNKCALL # NO GUIDANCE THIS CYCLE -- HENCE ZERO 035776,000377: 30,2761 40166 CADR STOPRATE # THE DAP COMMANDED RATES. 035777,000378: 30,2762 12741 TCF ASCTERM1 +1 035778,000379: 035779,000380: 30,2763 45345 CHECKALT DLOAD DSU 035780,000381: 30,2764 02301 /R/MAG 035781,000382: 30,2765 02333 /LAND/ 035782,000383: 30,2766 50025 DSU BMN # IF H LT 25K CHECK Z AXIS ORIENTATION 035783,000384: 30,2767 26205 25KFT 035784,000385: 30,2770 16666 CHECKYAW 035785,000386: 30,2771 43014 EXITVR CLEAR BON 035786,000387: 30,2772 04661 FLVR 035787,000388: 30,2773 04711 ROTFLAG 035788,000389: 30,2774 60710 MAINLINE 035789,000390: 30,2775 43345 DLOAD DAD 035790,000391: 30,2776 01234 PIPTIME 035791,000392: 30,2777 25734 10SECS 035792,000393: 30,3000 37654 STCALL TXO 035793,000394: 30,3001 60710 MAINLINE 035794,000395: 30,3002 77614 EXITVR1 CLRGO 035795,000396: 30,3003 04631 ROTFLAG 035796,000397: 30,3004 60771 EXITVR 035797,000398: 035798,000399: 27,2000 SETLOC ASENT1 035799,000400: 27,2000 BANK 035800,000401: 27,3273 COUNT* $$/ASENT 035801,000402: 035802,000403: 27,3273 53575 ANG1CHEK VLOAD UNIT 035803,000404: 27,3274 03253 UNFC/2 035804,000405: 27,3275 77641 DOT 035805,000406: 27,3276 02146 XNBPIP 035806,000407: 27,3277 51025 DSU BPL 035807,000408: 27,3300 02571 COSTHET1 035808,000409: 27,3301 57310 OFFROT 035809,000410: 27,3302 50375 VLOAD DOT 035810,000411: 27,3303 02146 XNBPIP 035811,000412: 27,3304 03537 UNIT/R/ 035812,000413: 27,3305 50025 DSU BMN 035813,000414: 27,3306 02573 COSTHET2 035814,000415: 27,3307 71450 KEEPVR1 035815,000416: 27,3310 77614 OFFROT CLRGO 035816,000417: 27,3311 04631 ROTFLAG 035817,000418: 27,3312 60722 CLRXFLAG 035818,000419: 035819,000420: 07,2666 BANK 7 035820,000421: 07,2000 SETLOC ASENT2 035821,000422: 07,2000 BANK 035822,000423: 07,2666 COUNT* $$/ASENT 035823,000424: 035824,000425: 07,2666 07,2666 SETXFLAG = CHECKYAW 035825,000426: 035826,000427: # Page 850 035827,000428: 07,2666 77614 CHECKYAW SET 035828,000429: 07,2667 06466 XOVINFLG # PROHIBIT X-AXIS OVERRRIDE 035829,000430: 07,2670 74345 DLOAD VXSC 035830,000431: 07,2671 02355 ATY 035831,000432: 07,2672 02303 LAXIS 035832,000433: 07,2673 74325 PDDL VXSC 035833,000434: 07,2674 02361 ATP 035834,000435: 07,2675 03726 ZAXIS1 035835,000436: 07,2676 53455 VAD UNIT 035836,000437: 07,2677 45325 PDDL DSU 035837,000438: 07,2700 03474 RDOT 035838,000439: 07,2701 13504 40FPS 035839,000440: 07,2702 52044 BPL GOTO 035840,000441: 07,2703 61002 EXITVR1 035841,000442: 07,2704 71446 KEEPVR 035842,000443: 035843,000444: 05,3503 BANK 5 035844,000445: 05,2000 SETLOC ASENT3 035845,000446: 05,2000 BANK 035846,000447: 05,3503 COUNT* $$/ASENT 035847,000448: 035848,000449: 05,3503 00017 23305 40FPS 2DEC 0.12192 B-7 035849,000450: 035850,000451: 34,3446 BANK 34 035851,000452: 34,2000 SETLOC ASENT8 035852,000453: 34,2000 BANK 035853,000454: 34,3446 COUNT* $$/ASENT 035854,000455: 035855,000456: 34,3446 45575 KEEPVR VLOAD STADR # RECALL LOSVEC FROM PUSHLIST 035856,000457: 34,3447 74516 STORE UNWC/2 035857,000458: 34,3450 77775 KEEPVR1 VLOAD 035858,000459: 34,3451 03537 UNIT/R/ 035859,000460: 34,3452 37253 STCALL UNFC/2 035860,000461: 34,3453 60730 ASCTERM 035861,000462: 035862,000463: 14,2347 BANK 14 035863,000464: 14,2000 SETLOC ASENT4 035864,000465: 14,2000 BANK 035865,000466: 14,2347 COUNT* $$/ASENT 035866,000467: 035867,000468: 14,2347 77634 ENGOFF RTB 035868,000469: 14,2350 21574 LOADTIME 035869,000470: 14,2351 43225 DSU DAD 035870,000471: 14,2352 01234 PIPTIME 035871,000472: 14,2353 03454 TTOGO 035872,000473: 14,2354 77476 DCOMP EXIT 035873,000474: 14,2355 07262 TC TPAGREE # FORCH SIGN AGREEMENT ON MPAC, MPAC +1. 035874,000475: 14,2356 35016 CAF EBANK7 035875,000476: 14,2357 54003 TS EBANK 035876,000477: # Page 851 035877,000478: 14,2360 E7,1516 EBANK= TGO 035878,000479: 14,2360 00004 INHINT 035879,000480: 14,2361 10155 CCS MPAC +1 035880,000481: 14,2362 12365 TCF +3 # C(A) = DT - 1 BIT 035881,000482: 14,2363 12365 TCF +2 # C(A) = 0 035882,000483: 14,2364 34755 CAF ZERO # C(A) = 0 035883,000484: 14,2365 64753 AD BIT1 # C(A) = 1 BIT OR DT. 035884,000485: 14,2366 55644 TS ENGOFFDT 035885,000486: 14,2367 05173 TC TWIDDLE 035886,000487: 14,2370 02402 ADRES ENGOFF1 035887,000488: 14,2371 05353 TC PHASCHNG 035888,000489: 14,2372 47014 OCT 47014 035889,000490: 14,2373 76133 -GENADR ENGOFFDT 035890,000491: 14,2374 E7,1516 EBANK= TGO 035891,000492: 14,2374 02402 30067 2CADR ENGOFF1 035892,000493: 035893,000494: 14,2376 06042 TC INTPRET 035894,000495: 14,2377 52014 SET GOTO 035895,000496: 14,2400 03470 IDLEFLAG # DISABLE DELTA-V MONITOR 035896,000497: 14,2401 60452 T2TEST 035897,000498: 035898,000499: 14,2402 04674 ENGOFF1 TC IBNKCALL # SHUT OFF THE ENGINE. 035899,000500: 14,2403 75555 CADR ENGINOF2 035900,000501: 035901,000502: 14,2404 35027 CAF PRIO17 # SET UP A JOB FOR THE ASCENT GUIDANCE 035902,000503: 14,2405 05105 TC FINDVAC # POSTBURN LOGIC. 035903,000504: 14,2406 E7,1455 EBANK= WHICH 035904,000505: 14,2406 02416 30067 2CADR CUTOFF 035905,000506: 035906,000507: 14,2410 05353 TC PHASCHNG 035907,000508: 14,2411 07024 OCT 07024 035908,000509: 14,2412 17000 OCT 17000 035909,000510: 14,2413 E7,1516 EBANK= TGO 035910,000511: 14,2413 02416 30067 2CADR CUTOFF 035911,000512: 035912,000513: 14,2415 15261 TCF TASKOVER 035913,000514: 035914,000515: 14,2416 05504 CUTOFF TC UPFLAG # SET FLRCS FLAG. 035915,000516: 14,2417 00214 ADRES FLRCS 035916,000517: 035917,000518: 14,2420 32437 -5 CAF V16N63 035918,000519: 14,2421 04616 TC BANKCALL 035919,000520: 14,2422 20477 CADR GOFLASH 035920,000521: 14,2423 12426 TCF +3 035921,000522: 14,2424 12430 TCF CUTOFF1 035922,000523: 14,2425 12420 TCF -5 035923,000524: 035924,000525: 14,2426 04635 +3 TC POSTJUMP 035925,000526: 14,2427 71464 CADR TERMASC 035926,000527: # Page 852 035927,000528: 035928,000529: 14,2430 00004 CUTOFF1 INHINT 035929,000530: 14,2431 04674 TC IBNKCALL # ZERO ATTITUDE ERRORS BEFORE REDUCINT DB. 035930,000531: 14,2432 40154 CADR ZATTEROR 035931,000532: 14,2433 04674 TC IBNKCALL 035932,000533: 14,2434 40141 CADR SETMINDB 035933,000534: 14,2435 04635 TC POSTJUMP 035934,000535: 14,2436 71454 CADR CUTOFF2 035935,000536: 035936,000537: 14,2437 04077 V16N63 VN 1663 035937,000538: 34,3454 BANK 34 035938,000539: 34,2000 SETLOC ASENT8 035939,000540: 34,2000 BANK 035940,000541: 34,3454 COUNT* $$/ASENT 035941,000542: 035942,000543: 34,3454 05353 CUTOFF2 TC PHASCHNG 035943,000544: 34,3455 04024 OCT 04024 035944,000545: 035945,000546: 34,3456 33474 CAF V16N85C 035946,000547: 34,3457 04616 TC BANKCALL 035947,000548: 34,3460 20477 CADR GOFLASH 035948,000549: 34,3461 13464 TCF TERMASC 035949,000550: 34,3462 13464 TCF +2 # PROCEED 035950,000551: 34,3463 13454 TCF CUTOFF2 035951,000552: 035952,000553: 34,3464 05353 TERMASC TC PHASCHNG 035953,000554: 34,3465 04024 OCT 04024 035954,000555: 035955,000556: 34,3466 00004 INHINT # RESTORE DEADBAND DESIRED BY ASTRONAUT 035956,000557: 34,3467 04674 TC IBNKCALL 035957,000558: 34,3470 40115 CADR RESTORDB 035958,000559: 34,3471 05516 TC DOWNFLAG # DISALLOW ABORTS AT THIS TIME. 035959,000560: 34,3472 00215 ADRES LETABORT 035960,000561: 34,3473 16001 TCF GOTOP00H 035961,000562: 035962,000563: 34,3474 04125 V16N85C VN 1685 035963,000564: 035964,000565: 34,3475 77745 RPCOMP1 DLOAD # FLRCS = 1 (TRIM MODE) 035965,000566: 34,3476 06524 HI6ZEROS 035966,000567: 34,3477 02345 STORE PCONS # SET PCONS = PRATE = 0 SO THAT 035967,000568: 34,3500 02351 STORE PRATE # RP = R + RDOT TGO 035968,000569: 34,3501 41345 RPCOMP2 DLOAD DMP # FLRCS = 0 (GUIDANCE MODE) 035969,000570: 34,3502 02351 PRATE # LEAVE PCONS AND PRATE ALONE SO THAT 035970,000571: 34,3503 03517 TGO # RP = R + RDOT TGO + (PCONS*TGO**2)/ 035971,000572: 34,3504 43205 DMP DAD # (2 TBUP) + (PRATE*T*GO**3)/(T TBUP) 035972,000573: 34,3505 33645 THIRD 035973,000574: 34,3506 02345 PCONS 035974,000575: 34,3507 41205 DMP DMP 035975,000576: 34,3510 03517 TGO 035976,000577: 34,3511 03517 TGO 035977,000578: 34,3512 72471 DDV SL1 035978,000579: # Page 853 035979,000580: 34,3513 02271 TBUP 035980,000581: 34,3514 65215 DAD PDDL 035981,000582: 34,3515 02301 /R/MAG 035982,000583: 34,3516 03474 RDOT 035983,000584: 34,3517 43205 DMP DAD 035984,000585: 34,3520 03517 TGO 035985,000586: 34,3521 77626 STADR 035986,000587: 34,3522 75152 STORE RP 035987,000588: 34,3523 77616 RVQ 035988,000589: 035989,000590: 34,3524 45020 ZDOTDCMP STQ CALL # COMPUTE CENTRAL ANGLE (0) 035990,000591: 34,3525 02574 ASCSAVE 035991,000592: 34,3526 71554 THETCOMP 035992,000593: 34,3527 43205 DMP DAD # CENTRAL ANGLE IN MPAC 035993,000594: 34,3530 02623 KPARM 035994,000595: 34,3531 02621 JPARM 035995,000596: 34,3532 41425 DSU PUSH # RA IN MPAC AND IN PUSHLIST (2) 035996,000597: 34,3533 02625 RP 035997,000598: 34,3534 51025 DSU BPL 035998,000599: 34,3535 02563 RAMIN 035999,000600: 34,3536 71541 +3 036000,000601: 34,3537 65345 DLOAD PDDL # RA < RAMIN. SET RA = RAMIN (2) 036001,000602: 34,3540 02563 RAMIN 036002,000603: 34,3541 41345 +3 DLOAD DMP 036003,000604: 34,3542 00001 0D 036004,000605: 34,3543 16025 MUM(-37) 036005,000606: 34,3544 77725 PDDL 036006,000607: 34,3545 41215 DAD DMP 036007,000608: 34,3546 02625 RP 036008,000609: 34,3547 02625 RP 036009,000610: 34,3550 75465 BDDV SQRT # (0) 036010,000611: 34,3551 77626 STADR 036011,000612: 34,3552 41500 STCALL ZDOTD # UPDATE ZDOTD FOR GUIDANCE AND DOWNLINK. 036012,000613: 34,3553 02574 ASCSAVE 036013,000614: 036014,000615: 34,3554 53575 THETCOMP VLOAD UNIT 036015,000616: 34,3555 03521 R 036016,000617: 34,3556 53515 PDVL UNIT # (6) 036017,000618: 34,3557 01720 R(CSM) 036018,000619: 34,3560 47206 PUSH VXV # (12) 036019,000620: 34,3561 00001 0D 036020,000621: 34,3562 77641 DOT 036021,000622: 34,3563 02325 WM 036022,000623: 34,3564 24037 STOVL 30D # (6) 036023,000624: 34,3565 72441 DOT SL1 # (0) 036024,000625: 34,3566 75326 ARCCOS SIGN 036025,000626: 34,3567 00037 30D 036026,000627: 34,3570 77616 RVQ 036027,000628: 036028,000629: 34,3571 E5,1574 ASCSAVE = CG 036029,000630: 036030,000631: # Page 854 036031,000632: 27,3313 BANK 27 036032,000633: 27,2000 SETLOC ASENT1 036033,000634: 27,2000 BANK 036034,000635: 27,3313 COUNT* $$/ASENT 036035,000636: 036036,000637: 27,3313 50375 YCOMP VLOAD DOT 036037,000638: 27,3314 03537 UNIT/R/ 036038,000639: 27,3315 03720 QAXIS 036039,000640: 27,3316 41312 SL2 DMP 036040,000641: 27,3317 03631 RCO 036041,000642: 27,3320 02335 STORE Y 036042,000643: 27,3321 77616 RVQ 036043,000644: 036044,000645: 30,3005 BANK 30 036045,000646: 30,2000 SETLOC ASENT 036046,000647: 30,2000 BANK 036047,000648: 036048,000649: # Page 855 036049,000650: 30,3005 33,3103 100CS EQUALS 2SEC(18) 036050,000651: 30,3005 30,3007 T2A EQUALS 2SEC(17) 036051,000652: 30,3005 00062 00000 4SEC(17) 2DEC 400 B-17 036052,000653: 30,3007 00031 00000 2SEC(17) 2DEC 200 B-17 036053,000654: 30,3011 00175 00000 T3 2DEC 1000 B-17 036054,000655: 30,3013 00045 20000 6SEC(18) 2DEC 600 B-18 036055,000656: 30,3015 00010 BIT4H OCT 10 036056,000657: 30,3016 14400 00000 2SEC(9) 2DEC 200 B-9 036057,000658: 30,3020 01477 V06N63* VN 0663 036058,000659: 30,3021 01514 V06N76 VN 0676 036059,000660: 30,3022 01441 V06N33A VN 0633 036060,000661: 036061,000662: 33,2200 BANK 33 036062,000663: 33,2000 SETLOC ASENT6 036063,000664: 33,2000 BANK 036064,000665: 33,2200 COUNT* $$/ASENT 036065,000666: 036066,000667: 33,2200 75751 41775 PRLIMIT 2DEC -.0639 # (B/TBUP)MIN=-.1FT.SEC(-3) 036067,000668: 33,2202 00022 07212 MINABDV 2DEC .0356 B-5 # 10 PERCENT BIGGER THAN GRAVITY 036068,000669: 33,2204 00007 16100 25KFT 2DEC 7620 B-24 036069,000670: 33,2206 E7,1570 1/DV0 = MASS1 036070,000671: 036071,000672: # Page 856 036072,000673: # THE LOGARITHM SUBROUTINE 036073,000674: 036074,000675: 24,3700 BANK 24 036075,000676: 30,2000 SETLOC FLOGSUB 036076,000677: 30,2000 BANK 036077,000678: 036078,000679: # INPUT ..... X IN MPAC 036079,000680: # OUTPUT ..... -LOG(X) IN MPAC 036080,000681: 036081,000682: 30,3023 44301 LOGSUB NORM BDSU 036082,000683: 30,3024 00163 MPAC +6 036083,000684: 30,3025 17772 NEARONE 036084,000685: 30,3026 77776 EXIT 036085,000686: 30,3027 07225 TC POLY 036086,000687: 30,3030 00006 DEC 6 B-14 036087,000688: 30,3031 00000 00002 2DEC .0000000060 036088,000689: 30,3033 76777 77175 2DEC -.0312514377 036089,000690: 30,3035 77400 75416 2DEC -.0155686771 036090,000691: 30,3037 77507 65515 2DEC -.0112502068 036091,000692: 30,3041 77741 63547 2DEC -.0018545108 036092,000693: 30,3043 77052 55373 2DEC -.0286607906 036093,000694: 30,3045 01167 30361 2DEC .0385598563 036094,000695: 30,3047 76520 75267 2DEC -.0419361902 036095,000696: 036096,000697: 30,3051 34755 CAF ZERO 036097,000698: 30,3052 54156 TS MPAC +2 036098,000699: 30,3053 00006 EXTEND 036099,000700: 30,3054 33070 DCA CLOG2/32 036100,000701: 30,3055 52155 DXCH MPAC 036101,000702: 30,3056 52132 DXCH BUF +1 036102,000703: 30,3057 30162 CA MPAC +6 036103,000704: 30,3060 07312 TC SHORTMP 036104,000705: 30,3061 52156 DXCH MPAC +1 036105,000706: 30,3062 52155 DXCH MPAC 036106,000707: 30,3063 52132 DXCH BUF +1 036107,000708: 30,3064 20155 DAS MPAC 036108,000709: 30,3065 06042 TC INTPRET 036109,000710: 30,3066 43476 DCOMP RVQ 036110,000711: 036111,000712: 30,3067 00542 34414 CLOG2/32 2DEC .0216608494 036112,000713: End of include-file ASCENT_GUIDANCE.agc. Parent file is MAIN.agc