Source Code
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
039153,000002: ## Copyright: Public domain.
039154,000003: ## Filename: ASCENT_STEERING.agc
039155,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
039156,000005: ## is part of the source code for the Lunar Module's
039157,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
039158,000007: ## Assembler: yaYUL
039159,000008: ## Contact: Ron Burkey <info@sandroid.org>.
039160,000009: ## Website: www.ibiblio.org/apollo/index.html
039161,000010: ## Mod history: 2016-09-30 RSB Created draft version.
039162,000011: ## 2016-10-24 RSB Transcribed.
039163,000012: ## 2016-10-31 RSB Typos.
039164,000013: ## 2016-11-01 RSB More typos.
039165,000014: ## 2016-12-06 RSB Comment proofing via octopus/ProoferComments
039166,000015: ## performed, and changes made.
039167,000016:
Page 913 |
039169,000018: # PROGRAM NAME--ASCENT BY--BERMAN
039170,000019: # ASCENT IS AN E-GUIDANCE SCHEME WHICH PRODUCES A DESIRED UNIT THRUST VECTOR DURING ASCENT BURNS, WITH THE
039171,000020: # CURRENT STATE AND ESTIMATED TGO,AND ESTIMATED VCO (VELOCITIES IN ASCENT ARE DEFINED IN LOCAL VERTICAL SYSTEMS),
039172,000021: # RCO IS ESTIMATED. THIS ENABLES THE LAMBERT SUBROUTINE TO SOLVE FOR A BETTER VCO. THIS AND V ALLOW US TO IMPROVE
039173,000022: # THE ESTIMATE OF TGO. FINALLY, TGO AND THE DESIRED CHANGES IN R AND V ARE USED TO COMPUTE UT.
039174,000023: # MODING SWITCHES
039175,000024: # HC--IF 0, ABVAL(RCO) IS CONSTRAINED TO A SPECIFIED VALUE-- IF 1, ABVAL(RCO) IS NOT CONSTRAINED, BUT IS
039176,000025: # ESTIMATED.
039177,000026: # PASS-- IF 0, USE LAMBERT TO UPDATE VCO-- IF 1, SKIP LAMBERT. PASS IS INVERTED EVERY ENTRY TO ASCENT, THUS
039178,000027: # LAMBERT IS USED EVERY OTHER ENTRY.
039179,000028: # DIRECT-- IF 0, SPECIFIED INJECTION CONDITIONS ARE USED AND PASS IS SET PERMANENTLY TO 1 AFTER THE FIRST
039180,000029: # ENTRY-- IF 1, LAMBERT IS USED FOR TARGETING UNDER CONTROL OF PASS.
039181,000030:
039182,000031: # CALLING SEQUENCE
039183,000032: # ASCENT IS ENTERED IN INTERPRETIVE BY
039184,000033: # GOTO
039185,000034: # ASCENT
039186,000035:
039187,000036: # NORMAL EXIT
039188,000037: # NORMAL EXIT FROM ASCENT IS BY
039189,000038: # GOTO
039190,000039: # ASCRET
039191,000040:
039192,000041: # WHERE THE PREAPS PROGRAM PUTS A RETURN ADDRESS IN ASCRET FOR THE FIRST (PRE-IGNITION) ENTRY, AND THEN STORES
039193,000042: # FINDCDUD IN ASCRET SO THAT SUBSEQUENT EXITS WILL BE TO FINDCDUD.
039194,000043:
039195,000044: # DEBRIS
039196,000045: # USES 118 ERASABLE LOCATIONS CURRENTLY ASSIGNES TO AMEMORY THRU AMEMORY +117. (SEE PG. 32 OF SUNBURST FOR
039197,000046: # VARIABLE NAMES.
039198,000047:
039199,000048: # RESERVED LOCATIONS
039200,000049: # THE FOLLOWING 44 LOCATIONS MUST NOT BE DISTURBED DURING MP13 OR MP4 -- PAXIS1,QAXIS,SAXIS,ATMEAS,RDOTD,YDOTD,
039201,000050: # ZDOTD,RCO,TGO,PCONS,PRATE,TINT,TREF,YCONS,ASCRET. THE REMAINING 74 LOCATIONS MAY BE USED BETWEEN EXIT FROM
039202,000051: # ASCENT AND RE-ENTRY INTO THE THRUST MAGNITUDE FILTER, ATMAG.
039203,000052: 32,2125 BANK 32
039204,000053: 32,2125 E4,1452 EBANK= TCO
039205,000054: 32,2125 70375 ASCENT VLOAD V/SC # FORM GRAVITY SCALED 2(10)M/CS/CS FROM
039206,000055: 32,2126 01065 GDT1/2 # GDT1/2 SCALED 2(-7)M/CS
039207,000056: 32,2127 24672 2SEC(18)
039208,000057: 32,2130 50360 AXC,1 DOT # LOAD X1 WITH -5 (OLD NSHIFT CONTENTS)
039209,000058: 32,2131 00005 5
039210,000059: 32,2132 01033 UNITR # G,URX2(9)=GRX2(9)
039211,000060: 32,2133 47315 PDVL VXV # STORE IN PDL(0) 2
039212,000061: 32,2134 01033 UNITR # LOAD UNITR*2(-1)
039213,000062: 32,2135 01017 VN # UR*2(-1) X VN*2(-7)=H/R*2(-8)
039214,000063: 32,2136 56236 VSQ DDV # H(2)/R(2)*2(-16)
039215,000064: 32,2137 01047 RMAG # H(2)/R(3)*2(9)
039216,000065: 32,2140 43352 SL1 DAD
039217,000066: 32,2141 77614 BON
039218,000067: 32,2142 02306 BAKTO4
Page 914 |
039220,000069: 32,2143 66307 GFKNOWN # DURING PROCO1, GO BACK TO MP4
039221,000070: 32,2144 26111 STOVL GEFF # STORE GEFFX2(9) (POS UP)
039222,000071: 32,2145 01033 UNITR # LOAD URX2(-1)
039223,000072: 32,2146 53435 VXV UNIT # URX2(-1)XQX2(-1)=ZAXISXSIN
039224,000073: 32,2147 02007 QAXIS # ZAXISX2(-1)
039225,000074: 32,2150 02077 STORE ZAXIS # STORE ZAXIS
039226,000075: 32,2151 57435 VXV VCOMP # ZAXISX2(-1)XQAXISX2(-1)=-MAXISX2(-2)
039227,000076: 32,2152 02007 QAXIS # MAXISX2(-2)
039228,000077: 32,2153 63372 VSL1 PDVL # MAXISX2(-1) IN PDL(0) 6
039229,000078: 32,2154 01033 UNITR # LOAD URX2(-1)
039230,000079: 32,2155 72441 DOT SL1 # URX2(-1).VX2(-7)=VRX2(-8)
039231,000080: 32,2156 01017 VN # SHIFT TO VRX2(-7)
039232,000081: 32,2157 26147 STOVL RDOT # STORE IN RDOT
039233,000082: 32,2160 02077 ZAXIS # LOAD ZAXISX2(-1)
039234,000083: 32,2161 72441 DOT SL1 # ZAXISX2(-1).VX2(-7)=ZDOTX2(-8) (6
039235,000084: 32,2162 01017 VN # SHIFT TO ZDOTX2(-7)
039236,000085: 32,2163 26105 STOVL ZDOT # STORE IN ZDOT
039237,000086: 32,2164 02077 ZAXIS # LOAD ZAXISX2(-1)
039238,000087: 32,2165 76435 VXV VSL1 # Z*2(-1)XUR*2(-1)=LAXIS*2(-2)
039239,000088: 32,2166 01033 UNITR # SHIFT TO LAXIS*2(-1)
039240,000089: 32,2167 02071 STORE LAXIS # STORE
039241,000090: 32,2170 72441 DOT SL1 # LAXIS.VN=YDOT*2(-8)
039242,000091: 32,2171 01017 VN # SHIFT TO YDOT*2(-7)
039243,000092: 32,2172 26067 STOVL YDOT # STORE IN YDOT
039244,000093: 32,2173 00001 00D # LOAD MAXISX2(-1)
039245,000094: 32,2174 62441 DOT SL2 # MAXISX2(-1).SX2(-1)=RZX2(-2)
039246,000095: 32,2175 02015 SAXIS # SHIFT TO RZ
039247,000096: 32,2176 63406 PUSH DSQ # STORE RZ IN PDL(6) 8
039248,000097: 32,2177 41206 PUSH DMP # STORE RZ(2) IN PDL(8) 10
039249,000098: 32,2200 24670 DP3/80 # 3/8ORZ(2)
039250,000099: 32,2201 41215 DAD DMP # 1/12+3/8ORZ(2)
039251,000100: 32,2202 24700 1/12TH # RZ(2)/12+3/8ORZ(4) 8
039252,000101: 32,2203 41215 DAD DMP # 1/2+RZ(2)/12+3/8ORZ(4)
039253,000102: 32,2204 26641 DP.5 # RZ(...) 6
039254,000103: 32,2205 60405 DMP SR2 # Z*2(-26)
039255,000104: 32,2206 02375 RCO # SHIFT TO Z*2(-28)
039256,000105: 32,2207 50315 PDVL DOT # STORE Z IN PDL(6) 8
039257,000106: 32,2210 01033 UNITR # LOAD URX2(-1)
039258,000107: 32,2211 02007 QAXIS # URX2(-1).QX2(-1)=RYX2(-2)
039259,000108: 32,2212 02151 STORE RY # STORE IN RY
039260,000109: 32,2213 41316 DSQ DMP # RY(2)X2(-4) (8
039261,000110: 32,2214 24704 DP2/3H # RY(2)/24
039262,000111: 32,2215 41215 DAD DMP
039263,000112: 32,2216 24702 DP.25 # 1/4+RY(2)/24
039264,000113: 32,2217 02151 RY # RY(1+RY(2)/6)/16
039265,000114: 32,2220 42405 DMP SL4 # RCORY(1+RY(2)/6)X2(N-34)=YX2(N-34)
039266,000115: 32,2221 02375 RCO # YX2(N-30)
039267,000116: 32,2222 45325 PDDL DSU # STORE IN PDL(8) (10
039268,000117: 32,2223 02141 TGO # LOAD TGO*2(-17)
039269,000118: 32,2224 24706 DTASC # (TGO-DT)*2(-17)
Page 915 |
039271,000120: 32,2225 02141 STORE TGO # REPLACE IN TGO
039272,000121: 32,2226 71214 BOFF DLOAD # IF HC=0, GO TO HOLDR
039273,000122: 32,2227 02351 HC
039274,000123: 32,2230 64241 HOLDR
039275,000124: 32,2231 02147 RDOT # LOAD RDOT*2(-7)
039276,000125: 32,2232 41215 DAD DMP # (RDOT+RDOTD)*2(-7)
039277,000126: 32,2233 02041 RDOTD
039278,000127: 32,2234 02141 TGO # TGO(RDOT+RDOTD)*2(-24)
039279,000128: 32,2235 43342 SR1 DAD # SHIFT TO RGO*2(-24)
039280,000129: 32,2236 01047 RMAG # FORM RCO*2(-24)
039281,000130: 32,2237 77742 SR1 # SHIFT TO RCO*2(-24)
039282,000131: 32,2240 02375 STORE RCO # STORE IN RCO
039283,000132:
039284,000133: 32,2241 77614 HOLDR BOFF
039285,000134: 32,2242 02347 DIRECT
039286,000135: 32,2243 64404 GAIN
039287,000136: 32,2244 71214 LAMPREP BOFF DLOAD # IF LAMB NOT DONE, GO TO GAIN+1
039288,000137: 32,2245 02341 DONESW
039289,000138: 32,2246 64404 GAIN
039290,000139: 32,2247 02067 YDOT # LOAD YDOT*2(-7)
039291,000140: 32,2250 65205 DMP PDDL # YDOT TGO*2(-24)
039292,000141: 32,2251 02141 TGO # PUSH DOWN 12
039293,000142: 32,2252 02043 YDOTD # LOAD YDOTD*2(-7)
039294,000143: 32,2253 43205 DMP DAD # YDOTD TGO*2(-24)
039295,000144: 32,2254 02141 TGO # TGO(YDOT+YDOTD)*2(-24) 10
039296,000145: 32,2255 43257 SL* DAD # YGO/2*2(N-30)
039297,000146: 32,2256 20172 0 -7,1 # 8
039298,000147: 32,2257 77626 STADR # YCO*2(N-30)
039299,000148: 32,2260 63736 STODL 32D # STORE IN PDL(32)
039300,000149: 32,2261 02105 ZDOT # LOAD ZDOTX2(-7)
039301,000150: 32,2262 41215 DAD DMP # (ZDOT+ZDOTD)X2(-7)
039302,000151: 32,2263 02045 ZDOTD # TGO(ZDOT+ZDOTD)X2(-24)
039303,000152: 32,2264 02141 TGO
039304,000153: 32,2265 43257 SL* DAD # SHIFT TO TGO(ZDOT+ZDOTD)X2(N-34)
039305,000154: 32,2266 20167 0 -10D,1 # ZCOX2(N-33) 6
039306,000155: 32,2267 56271 DDV DDV # ZRADCO/8
039307,000156: 32,2270 02375 RCO
039308,000157: 32,2271 05740 PI/4 # ZRADCO/2PI
039309,000158: 32,2272 71406 PUSH COS # STORE IN PDL(6),TAKE 1/2COS 8
039310,000159: 32,2273 73525 PDDL SIN # EXCH.ZRADCO/2PI WITH .5COS,TAKE .5SIN 8
039311,000160: 32,2274 74206 PUSH VXSC # STORE 1/2SIN IN PDL(8) 10
039312,000161: 32,2275 02015 SAXIS # S/4SIN
039313,000162: 32,2276 74325 PDDL VXSC # STORE IN PDL(10),LOAD1/2COS 16
039314,000163: 32,2277 00007 06D # P/4COS
039315,000164: 32,2300 02001 PAXIS1
039316,000165: 32,2301 77655 VAD # S/4SIN+P/4COS, 10
039317,000166: 32,2302 77725 PDDL # STORE IN PDL(10) 16
039318,000167: 32,2303 00041 32D # LOAD YCOX2(N-30)
039319,000168: 32,2304 65316 DSQ PDDL # YCO(2)X2(2N-60),STORE IN PDL(16) 18
039320,000169: 32,2305 02375 RCO # LOAD RCOX2(N-30)
Page 916 |
039322,000171: 32,2306 45316 DSQ DSU # (RCO(2)-YCO(2))X2(2N-60) 16
039323,000172: 32,2307 74366 SQRT VXSC # (RCO(2)-YCO(2))(1/2)X2(N-30)XPDL(10) 10
039324,000173: 32,2310 65372 VSL1 PDDL # SHIFT TO ROOT*(SSIN+PCOS)*2(N-31)
039325,000174: 32,2311 00041 32D # STORE PS TERMS IN PDL(10),LOAD YCO 16
039326,000175: 32,2312 53361 VXSC VAD # QYCOX2(N-31)
039327,000176: 32,2313 02007 QAXIS # ADD PS TERMS,GET RCOX2(N-31) 10
039328,000177: 32,2314 77772 VSL1 # SHIFT TO RCOV*2(N-30)
039329,000178: 32,2315 77614 BOFF
039330,000179: 32,2316 02350 PASS
039331,000180: 32,2317 64321 OLDRCO
039332,000181: 32,2320 02340 STORE RCOV # STORE CUTOFF POSITION
039333,000182: 32,2321 03614 OLDRCO STORE RCOTEMPV
039334,000183: 32,2322 53435 VXV UNIT
039335,000184: 32,2323 02365 R1VEC
039336,000185: 32,2324 52165 SIGN GOTO
039337,000186: 32,2325 03622 TAG5 # PATCH IN THRUST MAGNITUDE FILTER LOG
039338,000187: 32,2326 65054 ASCPATCH # SECTION SO IT IS AT END OF BANK.
039339,000188:
039340,000189: 32,2327 02153 ENDPATCH STORE URCO
039341,000190: 32,2330 53435 VXV UNIT # GET LOCAL Z-AXIS
039342,000191: 32,2331 02007 QAXIS
039343,000192: 32,2332 77601 SETPD # CLEAR PDC
039344,000193: 32,2333 00001 00D # RESET PDC TO 0 0
039345,000194: 32,2334 16133 STODL H1 # STORE H1
039346,000195: 32,2335 02373 TINT # LOAD TINT*2(-28)
039347,000196: 32,2336 43025 DSU BON
039348,000197: 32,2337 02053 TCO # IF PASS=1, USE RAW TFL
039349,000198: 32,2340 02310 PASS
039350,000199: 32,2341 64344 USEIT # IF PASS=0, AVERAGE TFL
039351,000200: 32,2342 70415 DAD SR1
039352,000201: 32,2343 02143 TFL
039353,000202: 32,2344 02143 USEIT STORE TFL
039354,000203: 32,2345 77614 CLEAR
039355,000204: 32,2346 02261 DONESW
039356,000205: 32,2347 77614 BONCLR
039357,000206: 32,2350 02200 CONVSW # LAMBERT'S ITERATING PROCESS IS NOT
039358,000207: 32,2351 65001 ASCALARM # CONVERGING WELL TO VOVEC - HENCE ALARM
039359,000208: 32,2352 77776 EXIT
039360,000209: 32,2353 31451 ALARMRET CA LAMPRIO
039361,000210: 32,2354 00004 INHINT
039362,000211: 32,2355 05516 TC FINDVAC # SET UP LAMBERT JOB
039363,000212: 32,2356 E3,1675 EBANK= SPLOC
039364,000213: 32,2356 02711 64063 2CADR LAMBSET
039365,000214:
039366,000215: 32,2360 00003 RELINT
039367,000216: 32,2361 10067 CCS NEWJOB # CHECK FOR LAMBERT INTERRUPT
039368,000217: 32,2362 05532 TC CHANG1
039369,000218: 32,2363 06112 DUMPLOC TC INTPRET # HIGH PRIO FOR LAMB DURING PREBURN PASS
039370,000219: 32,2364 41575 VLOAD PUSH # WILL CAUSE INTERRUPT HERE.
039371,000220: 32,2365 02324 V0VEC # LOAD V0VEC, RESCALE FOR ASCENT
Page 917 |
039373,000222: 32,2366 72441 DOT SL1 # V1*2(-7) IN PDL(0)
039374,000223: 32,2367 02153 URCO # V1.URCO=RDOTD*2(-8)
039375,000224: 32,2370 26041 STOVL RDOTD # STORE IN RDOTD
039376,000225: 32,2371 00001 00D # LOAD V1*2(-7)
039377,000226: 32,2372 72441 DOT SL1 # V1.N1*2(-8)=ZDOTD*2(-8)
039378,000227: 32,2373 02133 H1 # SHIFT TO 2(-7)
039379,000228: 32,2374 26045 STOVL ZDOTD # STORE IN ZDOTD,LOAD URCO*2(-1)
039380,000229: 32,2375 02153 URCO
039381,000230: 32,2376 50235 VXV DOT # URCOXH1*2(-2)=-UYCO*2(-2)
039382,000231: 32,2377 02133 H1 # -UYCO.V1*2(-9)=-YDOTD*2(-9) 0
039383,000232: 32,2400 57512 SL2 DCOMP # +YDOTD*2(-7)
039384,000233: 32,2401 26043 STOVL YDOTD
039385,000234: 32,2402 03614 RCOTEMPV
039386,000235: 32,2403 02340 STORE RCOV
039387,000236: 32,2404 40345 GAIN DLOAD SETPD # LOAD YDOTD
039388,000237: 32,2405 02043 YDOTD
039389,000238: 32,2406 00003 02D # SET PDC AT 2 2
039390,000239: 32,2407 41425 DSU PUSH # (YDOTD-YDOT)X2(-7)=DYDOTX2(-7)
039391,000240: 32,2410 02067 YDOT # STORE IN PDL(2) 4
039392,000241: 32,2411 14041 STODL 32D # STORE DYDOT IN 32 (2
039393,000242: 32,2412 02045 ZDOTD # LOAD ZDOT
039394,000243: 32,2413 77625 DSU
039395,000244: 32,2414 02105 ZDOT
039396,000245: 32,2415 00001 STORE 00D # STORE IN PDL(0)
039397,000246: 32,2416 14037 STODL 30D # ALSO IN 30
039398,000247: 32,2417 02111 GEFF # LOAD GEFF
039399,000248: 32,2420 72405 DMP SL1 # GEFF TGOX2(-8)
039400,000249: 32,2421 02141 TGO # SHIFT TO 2(-7)
039401,000250: 32,2422 45325 PDDL DSU # STORE IN PDL(4) 6
039402,000251: 32,2423 02041 RDOTD # LOAD RDOTD
039403,000252: 32,2424 02147 RDOT # DRDOTX2(-7)
039404,000253: 32,2425 00035 STORE 28D # STORE IN 28
039405,000254: 32,2426 55425 DSU VDEF # DRDOT-TGOGEFF,DEFINE VGX2(-7) 0,4
039406,000255: 32,2427 77626 STADR
039407,000256: 32,2430 75445 STORE VGVECT # FOR DOWNLINK
039408,000257: 32,2431 45246 ABVAL DSU # GET VG(SCALAR)
039409,000258: 32,2432 02057 VTO # SUBTRACT TAILOFF
039410,000259: 32,2433 41471 DDV PUSH # VG*2(-7)/V3*2(-7)=VG/VE
039411,000260: 32,2434 02025 VE # STORE IN PDL(0)7)=VG/VE 2
039412,000261: 32,2435 44205 DMP BDSU # KTVG/VE
039413,000262: 32,2436 03627 KT # 1/2-KTVG/VE
039414,000263: 32,2437 26641 DP.5
039415,000264: 32,2440 41215 DAD DMP # 1-KTVG/VE
039416,000265: 32,2441 26641 DP.5 # VG/VE(1-KTVG/VE)=TGO/TBUP 0
039417,000266: 32,2442 41206 PUSH DMP # STORE TGO/TBUP IN PDL(0) 2
039418,000267: 32,2443 02027 TBUP # TGOX2(-17)
039419,000268: 32,2444 02141 STORE TGO # STORE
039420,000269: 32,2445 50025 DSU BMN # IF TGO SMTHAN 4SEC,GO TO SET UP ENGOFF
039421,000270: 32,2446 24674 2SEC(16) # 2*2(-16)=4*2(-17)
039422,000271: 32,2447 64714 ENGOFF
039423,000272:
Page 918 |
039425,000274: 32,2450 47014 KEEPGOIN BONCLR RTB # DURING PRECOI, GO BACK TO MP4
039426,000275: 32,2451 02206 BAKTO4
039427,000276: 32,2452 66313 TKNOWN
039428,000277: 32,2453 33454 LOADTIME
039429,000278: 32,2454 02107 STORE TIME
039430,000279: 32,2455 54345 DLOAD SR
039431,000280: 32,2456 02141 TGO # TGO*2(-17)
039432,000281: 32,2457 20614 11D # TGO*2(-28)
039433,000282: 32,2460 02346 STORE TTGO # FOR DOWNLINK
039434,000283: 32,2461 43214 BONCLR DAD # IF PASS ON, DO NOT COMPUTE TCO.
039435,000284: 32,2462 02210 PASS # CLEAR PASS ,GO TO AFTTCO
039436,000285: 32,2463 64472 AFTTCO
039437,000286: 32,2464 02107 TIME # T+TGO=TCO*2(-28)
039438,000287: 32,2465 16053 STODL TCO # STORE TCO (2
039439,000288: 32,2466 24710 T2 # LOAD T2X2(-17)
039440,000289: 32,2467 51025 DSU BPL # T2-TGO
039441,000290: 32,2470 02141 TGO
039442,000291: 32,2471 64571 AIMER # IF T2-TGO POS,GO TO AIMER
039443,000292:
039444,000293: 32,2472 45345 AFTTCO DLOAD DSU # LOAD TGO*2(-28)
039445,000294: 32,2473 02107 TIME # SUBTRACT 100 CS, 1/2DT
039446,000295: 32,2474 24664 100CS # (T-.5DT)*2(-28)
039447,000296: 32,2475 16055 STODL TREF # *2(-28)
039448,000297: 32,2476 02141 TGO # LOAD TGOX2(-17)
039449,000298: 32,2477 43205 DMP DAD # RDOT TGO*2(-24)
039450,000299: 32,2500 02147 RDOT # (R+RDOT TGO)*2(-24)
039451,000300: 32,2501 01047 RMAG
039452,000301: 32,2502 44342 SR1 BDSU # *2(-25)
039453,000302: 32,2503 02375 RCO # RCO-R-RDOT TGO=DR*2(-25)
039454,000303: 32,2504 14033 STODL 26D # STORE DR IN 26,LOAD TGO/TBUP
039455,000304: 32,2505 43221 BDSU DAD # 1/2-TGO/TBUP
039456,000305: 32,2506 26641 DP.5
039457,000306: 32,2507 26641 DP.5 # 1-TGO/TBUP
039458,000307: 32,2510 77624 CALL
039459,000308: 32,2511 65060 LOGSUB # CALL LOG SUBROUTINE
039460,000309:
039461,000310: 32,2512 41461 SL PUSH # SHIFT TO -L,STORE IN PDL(0) 2
039462,000311: 32,2513 20206 5
039463,000312: 32,2514 44265 BDDV BDSU # -TGO/L*2(-17)
039464,000313: 32,2515 02141 TGO
039465,000314: 32,2516 02027 TBUP # (TBUP+TGO/L)*2(-17)=D12*2(-17)
039466,000315: 32,2517 45325 PDDL DSU # D12 IN PDL(2) 4
039467,000316: 32,2520 02141 TGO
039468,000317: 32,2521 24676 T3 # TGO-T3
039469,000318: 32,2522 71244 BPL DLOAD # IF TGO-T3 POS,GO TO RATE
039470,000319: 32,2523 64531 RATER
039471,000320: 32,2524 26643 DP0 # SET B=0
039472,000321: 32,2525 02131 STORE PRATE
039473,000322: 32,2526 77614 SETGO # SET HC=1,GO TO CONST
039474,000323: 32,2527 02031 HC
Page 919 |
039476,000325: 32,2530 64553 CONST
039477,000326:
039478,000327: 32,2531 45345 RATER DLOAD DSU # TGO
039479,000328: 32,2532 02141 TGO
039480,000329: 32,2533 00003 02D # TGO-D12=D21X2(-17)
039481,000330: 32,2534 70525 PDDL SR1 # D21 IN PDL(4) 6
039482,000331: 32,2535 02141 TGO # LOAD TGOX2(-17),SHIFT TO 1/2
039483,000332: 32,2536 54225 DSU SL # .5TGO-D21=D*2(-17)
039484,000333: 32,2537 00005 04D # SHIFT TO D*2(-12)
039485,000334: 32,2540 20206 05D
039486,000335: 32,2541 41325 PDDL DMP # STORE D IN PDL(6),LOADDRDOT*2(-7) 8
039487,000336: 32,2542 00035 28D # D21 DRDOT*2(-24)
039488,000337: 32,2543 00005 04D
039489,000338: 32,2544 45342 SR1 DSU # SHIFT TO 2(-25)
039490,000339: 32,2545 00033 26D # (D21 DRDOT-DR)*2(-25)
039491,000340: 32,2546 56271 DDV DDV # DIVIDE BY TGO*2(-17)
039492,000341: 32,2547 02141 TGO # DIVIDE BY D*2(-12),GET B*2(4) 6
039493,000342: 32,2550 77601 SETPD # REDUCE PDC TO 4 4
039494,000343: 32,2551 00005 04D
039495,000344: 32,2552 02131 STORE PRATE # STORE B*2(4)
039496,000345: 32,2553 56345 CONST DLOAD DDV # LOAD DRDOTX2(-7)
039497,000346: 32,2554 00035 28D # DRDOT/-LX2(-7)
039498,000347: 32,2555 00001 00D
039499,000348: 32,2556 65342 SR1 PDDL # EXCH DRDOT/-L*2(-8) WITH D12 IN PDL(2) 4
039500,000349: 32,2557 54205 DMP SL # D12 PRATE*2(-16)
039501,000350: 32,2560 02131 PRATE # SHIFT TO 2(-8)
039502,000351: 32,2561 20206 5
039503,000352: 32,2562 77621 BDSU # PULL DRDOT/-L,GET A*2(-8) 2
039504,000353: 32,2563 77626 STADR
039505,000354: 32,2564 61664 STODL PCONS # STORE A*2(-8) IN PCONS
039506,000355: 32,2565 00041 32D # LOAD DYDOTX2(-7)
039507,000356: 32,2566 70471 DDV SR1 # DYDOT/-L*2(-7)=C*2(-7)
039508,000357: 32,2567 00001 00D # SHIFT TO 2(-8)
039509,000358: 32,2570 02065 STORE YCONS # STORE C*2(-8) IN YCONS
039510,000359:
039511,000360: 32,2571 77601 AIMER SETPD
039512,000361: 32,2572 00001 00D # 0
039513,000362: 32,2573 45345 DLOAD DSU
039514,000363: 32,2574 02107 TIME
039515,000364: 32,2575 02055 TREF # (T-TO)X2(-28)
039516,000365: 32,2576 54205 DMP SL # B(T-TO)*2(-24)
039517,000366: 32,2577 02131 PRATE # SHIFT TO 2(-8)
039518,000367: 32,2600 20221 16D
039519,000368: 32,2601 56215 DAD DDV # (A+B(T-TO))*2(-8)
039520,000369: 32,2602 02113 PCONS # DIVIDE BY TBUP*2(-17)
039521,000370: 32,2603 02027 TBUP
039522,000371: 32,2604 74225 DSU VXSC # SUBTRACT GEFF, GET ATR*2(9)
039523,000372: 32,2605 02111 GEFF
039524,000373: 32,2606 01033 UNITR # ATR UR*2(8)
039525,000374: 32,2607 56325 PDDL DDV # STORE IN PDL(0),LOAD C*2(-8) 6
Page 920 |
039527,000376: 32,2610 02065 YCONS
039528,000377: 32,2611 02027 TBUP # C/TBUP*2(9)=ATY*2(9)
039529,000378: 32,2612 53361 VXSC VAD # ATY LAXIS*2(8)
039530,000379: 32,2613 02071 LAXIS # (ATY LAXIS+ATR UR)*2(8)=AH*2(8) 0
039531,000380: 32,2614 41572 VSL1 PUSH # SHIFT TO AH*2(9),STORE IN PDL(0) 6
039532,000381: 32,2615 65246 ABVAL PDDL # AH2X2(18) IN PDL(34),AHMAG IN MPAC
039533,000382: 32,2616 02023 AT # STORE AHMAG IN PDL( 6),LOAD AT 8
039534,000383: 32,2617 45316 DSQ DSU # AT(2)X2(18)
039535,000384: 32,2620 00043 34D # (AT(2)-AH2)X2(18)=ATP2X2(18)
039536,000385: 32,2621 41325 PDDL DMP # STORE IN PDL( 8) 10
039537,000386: 32,2622 02023 AT # LOAD AT X2(9)
039538,000387: 32,2623 02061 KR # AT KRX2(8)
039539,000388: 32,2624 41552 SL1 PUSH # 2(9),STORE IN PDL(10) 12
039540,000389: 32,2625 45316 DSQ DSU # AT(2)KR(2)X2(18)
039541,000390: 32,2626 00043 34D # -AH2X2(18) =ATP3X2(18)
039542,000391: 32,2627 71240 BMN DLOAD # IF ATP3 NEG,GO TO AIMING
039543,000392: 32,2630 64635 AIMING
039544,000393: 32,2631 00011 8D # LOAD ATP2X2(18)
039545,000394: 32,2632 77766 SQRT # ATPX2(9)
039546,000395: 32,2633 77650 GOTO
039547,000396: 32,2634 64645 AIMED
039548,000397:
039549,000398: 32,2635 55345 AIMING DLOAD BDDV # KR AT/AH=KH FROMPDL(10,6) 8
039550,000399: 32,2636 00007 06D
039551,000400: 32,2637 77761 VXSC # KH AH*2(9)
039552,000401: 32,2640 00001 00D
039553,000402: 32,2641 14001 STODL 00D # STORE NEW AH IN PDL(0)
039554,000403: 32,2642 02023 AT # LOAD ATX2(9)
039555,000404: 32,2643 77605 DMP # AT(1-KR(2))(1/2)X2(9)=ATPX2(9)
039556,000405: 32,2644 02037 KR1
039557,000406:
039558,000407: 32,2645 74365 AIMED SIGN VXSC # GIVE SIGN TO ATP
039559,000408: 32,2646 00037 30D
039560,000409: 32,2647 02077 ZAXIS # ATP ZAXISX2(8)
039561,000410: 32,2650 53372 VSL1 VAD # ATP ZAXISX2(9)
039562,000411: 32,2651 00001 00D # (ATPZAXIS+AH)X2(9)
039563,000412: 32,2652 77656 UNIT # GET UT*2(-1)
039564,000413: 32,2653 02233 STORE AXISD
039565,000414: 32,2654 45001 SETPD CALL
039566,000415: 32,2655 00001 0
039567,000416: 32,2656 02050 ASCRET
039568,000417: 32,2657 77776 EXIT
039569,000418: 32,2660 04161 ASCTERM TC PHASCHNG # THE SERVEXIT PHASE CHANGE
039570,000419: 32,2661 00035 OCT 00035
039571,000420: 32,2662 15567 TCF ENDOFJOB
039572,000421:
039573,000422: 32,2663 00000 00144 100CS 2DEC 100 B-28
039574,000423:
039575,000424: 32,2665 12702 21727 2DEC 0.34 # KT WAS HERE, BUT NOW IS IN ERASABLE.
Page 921 |
039577,000426: 32,2667 01146 14632 DP3/80 2DEC 0.0375
039578,000427:
039579,000428: 32,2671 00014 20000 2SEC(18) 2DEC 200 B-18
039580,000429:
039581,000430: 32,2673 00062 00000 2SEC(16) 2DEC 200 B-16
039582,000431:
039583,000432: 32,2675 00175 00000 T3 2DEC 1000 B-17
039584,000433:
039585,000434: 32,2677 02525 12525 1/12TH 2DEC 0.083333333
039586,000435:
039587,000436: 32,2701 10000 00000 DP.25 2DEC 0.25
039588,000437:
039589,000438: 32,2703 25252 25253 DP2/3H 2DEC .666666667
039590,000439:
039591,000440: 32,2705 00031 00000 DTASC 2DEC 200 B-17
039592,000441:
039593,000442: 32,2707 00031 00000 T2 2DEC 200 B-17
039594,000443:
039595,000444: 32,2711 06112 LAMBSET TC INTPRET # CALL FOR LAMBERT SUBR.
039596,000445: 32,2712 77624 CALL
039597,000446: 32,2713 74625 LAMBERT
039598,000447: 32,2714 71214 ENGOFF BON DLOAD
039599,000448: 32,2715 02313 ENGOFFSW
039600,000449: 32,2716 64450 KEEPGOIN
039601,000450: 32,2717 02141 TGO
039602,000451: 32,2720 77452 SL3 EXIT
039603,000452: 32,2721 00004 INHINT
039604,000453: 32,2722 37751 CAF EBANK4 # INSURE THAT THE EBANK IS SET PROPERLY
039605,000454: 32,2723 54003 TS EBANK
039606,000455: 32,2724 E4,1540 EBANK= TGO
039607,000456: 32,2724 30144 CA MPAC
039608,000457: 32,2725 55566 TS ENGOFFDT
039609,000458: 32,2726 00006 EXTEND
039610,000459: 32,2727 62751 BZMF ENGOFF2
039611,000460: 32,2730 05663 TC WAITLIST
039612,000461: 32,2731 E4,1540 EBANK= TGO
039613,000462: 32,2731 02757 64064 2CADR ENGOFF3
039614,000463:
039615,000464: 32,2733 40100 CS FLAGWRD4 # BYPASS PHASCHNG WHEN IN MP 13.
039616,000465: 32,2734 77754 MASK BIT8
039617,000466: 32,2735 00006 EXTEND
039618,000467: 32,2736 12744 BZF ENGOFF1
039619,000468:
039620,000469: 32,2737 04161 TC PHASCHNG # RESTART PROTECTION FOR ENGINOFF CALL
039621,000470: 32,2740 47012 OCT 47012
039622,000471: 32,2741 76211 -GENADR ENGOFFDT
039623,000472: 32,2742 E4,1540 EBANK= TGO
039624,000473: 32,2742 02757 64064 2CADR ENGOFF3
039625,000474:
039626,000475: 32,2744 00003 ENGOFF1 RELINT
Page 922 |
039628,000477: 32,2745 06112 TC INTPRET
039629,000478: 32,2746 52014 SET GOTO
039630,000479: 32,2747 02073 ENGOFFSW
039631,000480: 32,2750 64450 KEEPGOIN
039632,000481: 32,2751 02773 ENGOFF2 TC EXEUNT
039633,000482: 32,2752 05206 TC BANKCALL
039634,000483: 32,2753 40263 CADR ENGINOFF
039635,000484: 32,2754 05206 TC BANKCALL
039636,000485: 32,2755 40114 CADR STOPRATE
039637,000486: 32,2756 12660 TCF ASCTERM
039638,000487: 32,2757 02773 ENGOFF3 TC EXEUNT
039639,000488: 32,2760 05270 TC IBNKCALL
039640,000489: 32,2761 40263 CADR ENGINOFF
039641,000490: 32,2762 05270 TC IBNKCALL
039642,000491: 32,2763 40114 CADR STOPRATE
039643,000492: 32,2764 40100 CS FLAGWRD4 # BYPASS PHASCHNG WHEN IN MP 13.
039644,000493: 32,2765 77754 MASK BIT8
039645,000494: 32,2766 00006 EXTEND
039646,000495: 32,2767 15727 BZF TASKOVER
039647,000496:
039648,000497: 32,2770 04161 TC PHASCHNG # DEACTIVATE GROUP 2 AFTER SUCCESSFUL CALL
039649,000498: 32,2771 00002 OCT 00002
039650,000499:
039651,000500: 32,2772 05727 TC TASKOVER
039652,000501: 32,2773 00006 EXEUNT EXTEND # DISENGAGE THE GUIDANCE EQUATIONS
039653,000502: 32,2774 33000 DCA SERVEXAD
039654,000503: 32,2775 53073 DXCH AVGEXIT
039655,000504: 32,2776 00002 TC Q
039656,000505:
039657,000506: 32,2777 E5,1511 EBANK= DVCNTR
039658,000507: 32,2777 02324 60065 SERVEXAD 2CADR SERVEXIT
039659,000508:
039660,000509: 32,3001 77776 ASCALARM EXIT
039661,000510: 32,3002 04755 TC ALARM
039662,000511: 32,3003 00405 OCT 00405 # LAMBERT ITERATIONS NOT CONVERGING
039663,000512: 32,3004 12353 TCF ALARMRET
039664,000513:
039665,000514: # ************************************************************************
End of include-file ASCENT_STEERING.agc. Parent file is MAIN.agc