Source Code

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