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