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