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