Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
038603,000002: ## Copyright: Public domain.
038604,000003: ## Filename: ASCENT_STEERING.agc
038605,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
038606,000005: ## It is part of an early development version of the software
038607,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
038608,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
038609,000008: ## upon which Don Eyles's offline development program Shepatin
038610,000009: ## was based; the listing herein transcribed was actually for
038611,000010: ## the equivalent revision 0 of Shepatin.
038612,000011: ## This file is intended to be a faithful transcription, except
038613,000012: ## that the code format has been changed to conform to the
038614,000013: ## requirements of the yaYUL assembler rather than the
038615,000014: ## original YUL assembler.
038616,000015: ## Reference: pp. 853-861
038617,000016: ## Assembler: yaYUL
038618,000017: ## Contact: Ron Burkey <info@sandroid.org>.
038619,000018: ## Website: www.ibiblio.org/apollo/index.html
038620,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
038621,000020: ## 2017-06-11 HG Transcribed
038622,000021: ## 2017-06-15 HG Fix value T2 2DEC 200 B-17 -> 2DEC 200
038623,000022: ## 2017-06-23 RSB Proofed comment text with
038624,000023: ## octopus/ProoferComments.
038625,000024:
Page 853 |
038627,000026: # PROGRAM NAME--ASCENT BY--BERMAN
038628,000027: # ASCENT IS AN E-GUIDANCE SCHEME WHICH PRODUCES A DESIRED UNIT THRUST VECTOR DURING ASCENT BURNS, WITH THE
038629,000028: # CURRENT STATE AND ESTIMATED TGO,AND ESTIMATED VCO (VELOCITIES IN ASCENT ARE DEFINED IN LOCAL VERTICAL SYSTEMS),
038630,000029: # RCO IS ESTIMATED. THIS ENABLES THE LAMBERT SUBROUTINE TO SOLVE FOR A BETTER VCO. THIS AND V ALLOW US TO IMPROVE
038631,000030: # THE ESTIMATE OF TGO. FINALLY, TGO AND THE DESIRED CHANGES IN R AND V ARE USED TO COMPUTE UT.
038632,000031: # MODING SWITCHES
038633,000032: # HC--IF 0, ABVAL(RCO) IS CONSTRAINED TO A SPECIFIED VALUE-- IF 1, ABVAL(RCO) IS NOT CONSTRAINED, BUT IS
038634,000033: # ESTIMATED.
038635,000034:
038636,000035: # PASS-- IF 0, USE LAMBERT TO UPDATE VCO-- IF 1, SKIP LAMBERT. PASS IS INVERTED EVERY ENTRY TO ASCENT, THUS
038637,000036: # LAMBERT IS USED EVERY OTHER ENTRY.
038638,000037: # DIRECT-- IF 0, SPECIFIED INJECTION CONDITIONS ARE USED AND PASS IS SET PERMANENTLY TO 1 AFTER THE FIRST
038639,000038: # ENTRY-- IF 1, LAMBERT IS USED FOR TARGETING UNDER CONTROL OF PASS.
038640,000039:
038641,000040: # CALLING SEQUENCE
038642,000041: # ASCENT IS ENTERED IN INTERPRETIVE BY
038643,000042: # GOTO
038644,000043: # ASCENT
038645,000044:
038646,000045: # NORMAL EXIT
038647,000046: # NORMAL EXIT FROM ASCENT IS BY
038648,000047: # GOTO
038649,000048: # ASCRET
038650,000049:
038651,000050: # WHERE THE PREAPS PROGRAM PUTS A RETURN ADDRESS IN ASCRET FOR THE FIRST (PRE-IGNITION) ENTRY, AND THEN STORES
038652,000051: # FINDCDUD IN ASCRET SO THAT SUBSEQUENT EXITS WILL BE TO FINDCDUD.
038653,000052:
038654,000053: # DEBRIS
038655,000054: # USES 118 ERASABLE LOCATIONS CURRENTLY ASSIGNED TO AMEMORY THRU AMEMORY +117. (SEE PG. 32 OF SUNBURST FOR
038656,000055: # VARIABLE NAMES.
038657,000056:
038658,000057: # RESERVED LOCATIONS
038659,000058:
038660,000059: # THE FOLLOWING 44 LOCATIONS MUST NOT BE DISTURBED DURING MP13 OR MP4 -- PAXIS1,QAXIS,SAXIS,ATMEAS,RDOTD,YDOTD,
038661,000060: # ZDOTD,RCO,TGO,PCONS,PRATE,TINT,TREF,YCONS,ASCRET. THE REMAINING 74 LOCATIONS MAY BE USED BETWEEN EXIT FROM
038662,000061: # ASCENT AND RE-ENTRY INTO THE THRUST MAGNITUDE FILTER, ATMAG.
038663,000062: 32,2120 BANK 32
038664,000063: 32,2120 E4,1452 EBANK= TCO
038665,000064: 32,2120 70375 ASCENT VLOAD V/SC # FORM GRAVITY SCALED 2(10)M/CS/CS FROM
038666,000065: 32,2121 01065 GDT1/2 # GDT1/2 SCALED 2(-7)M/CS
038667,000066: 32,2122 24653 2SEC(18)
038668,000067: 32,2123 50360 AXC,1 DOT # LOAD X1 WITH -5 (OLD NSHIFT CONTENTS)
038669,000068: 32,2124 00005 5
038670,000069:
038671,000070: 32,2125 01033 UNITR # G,URX2(9)=GRX2(9)
038672,000071: 32,2126 47315 PDVL VXV # STORE IN PDL(0) 2
038673,000072: 32,2127 01033 UNITR # LOAD UNITR*2(-1)
038674,000073: 32,2130 01017 VN # UR*2(-1) X VN*2(-7)=H/R*2(-8)
038675,000074: 32,2131 53406 PUSH UNIT # STORE H/R IN PDL (2), GET UH*2(-1) 8
038676,000075: 32,2132 25725 STOVL UNNORM # STORE UH IN UNNORM, LOAD H/R 2
038677,000076: 32,2133 56236 VSQ DDV # H(2)/R(2)*2(-16)
038678,000077: 32,2134 01047 RMAG # H(2)/R(3)*2(9)
038679,000078: 32,2135 43352 SL1 DAD
038680,000079:
Page 854 |
038682,000081: 32,2136 77626 STADR
038683,000082:
038684,000083: 32,2137 51666 STOVL GEFF # STORE GEFFX2(9) (POS UP)
038685,000084: 32,2140 01033 UNITR # LOAD URX2(-1)
038686,000085: 32,2141 53435 VXV UNIT # URX2(-1)XQX2(-1)=ZAXISXSIN
038687,000086: 32,2142 02007 QAXIS # ZAXISX2(-1)
038688,000087: 32,2143 02077 STORE ZAXIS # STORE ZAXIS
038689,000088: 32,2144 57435 VXV VCOMP # ZAXISX2(-1)XQAXISX2(-1)=-MAXISX2(-2)
038690,000089: 32,2145 02007 QAXIS # MAXISX2(-2)
038691,000090: 32,2146 63372 VSL1 PDVL # MAXISX2(-1) IN PDL(0) 6
038692,000091: 32,2147 01033 UNITR # LOAD URX2(-1)
038693,000092: 32,2150 72441 DOT SL1 # URX2(-1).VX2(-7)=VRX2(-8)
038694,000093: 32,2151 01017 VN # SHIFT TO VRX2(-7)
038695,000094: 32,2152 26147 STOVL RDOT # STORE IN RDOT
038696,000095:
038697,000096: 32,2153 02077 ZAXIS # LOAD ZAXISX2(-1)
038698,000097: 32,2154 72441 DOT SL1 # ZAXISX2(-1).VX2(-7)=ZDOTX2(-8) (6
038699,000098: 32,2155 01017 VN # SHIFT TO ZDOTX2(-7)
038700,000099: 32,2156 26105 STOVL ZDOT # STORE IN ZDOT
038701,000100: 32,2157 02077 ZAXIS # LOAD ZAXISX2(-1)
038702,000101: 32,2160 76435 VXV VSL1 # Z*2(-1)XUR*2(-1)=LAXIS*2(-2)
038703,000102: 32,2161 01033 UNITR # SHIFT TO LAXIS*2(-1)
038704,000103: 32,2162 02071 STORE LAXIS # STORE
038705,000104: 32,2163 72441 DOT SL1 # LAXIS.VN=YDOT*2(-8)
038706,000105: 32,2164 01017 VN # SHIFT TO YDOT*2(-7)
038707,000106:
038708,000107: 32,2165 26067 STOVL YDOT # STORE IN YDOT
038709,000108: 32,2166 00001 00D # LOAD MAXISX2(-1)
038710,000109: 32,2167 62441 DOT SL2 # MAXISX2(-1).SX2(-1)=RZX2(-2)
038711,000110: 32,2170 02015 SAXIS # SHIFT TO RZ
038712,000111: 32,2171 63406 PUSH DSQ # STORE RZ IN PDL(6) 8
038713,000112: 32,2172 41206 PUSH DMP # STORE RZ(2) IN PDL(8) 10
038714,000113: 32,2173 24651 DP3/80 # 3/8ORZ(2)
038715,000114: 32,2174 41215 DAD DMP # 1/12+3/8ORZ(2)
038716,000115: 32,2175 24661 1/12TH # RZ(2)/12+3/8ORZ(4) 8
038717,000116: 32,2176 41215 DAD DMP # 1/2+RZ(2)/12+3/8ORZ(4)
038718,000117: 32,2177 26515 DP.5 # RZ(...) 6
038719,000118: 32,2200 72405 DMP SL1 # ZX2(N-31)
038720,000119:
038721,000120: 32,2201 02375 RCO # SHIFT TO ZX2(N-30)
038722,000121: 32,2202 50315 PDVL DOT # STORE Z IN PDL(6) 8
038723,000122: 32,2203 01033 UNITR # LOAD URX2(-1)
038724,000123: 32,2204 02007 QAXIS # URX2(-1).QX2(-1)=RYX2(-2)
038725,000124: 32,2205 02151 STORE RY # STORE IN RY
038726,000125: 32,2206 41316 DSQ DMP # RY(2)X2(-4) (8
038727,000126: 32,2207 24665 DP2/3H # RY(2)/24
038728,000127: 32,2210 41215 DAD DMP
038729,000128: 32,2211 24663 DP.25 # 1/4+RY(2)/24
038730,000129: 32,2212 02151 RY # RY(1+RY(2)/6)/16
038731,000130:
038732,000131: 32,2213 42405 DMP SL4 # RCORY(1+RY(2)/6)X2(N-34)=YX2(N-34)
038733,000132: 32,2214 02375 RCO # YX2(N-30)
038734,000133: 32,2215 45325 PDDL DSU # STORE IN PDL(8) 10
038735,000134: 32,2216 02350 TGO # LOAD TGO*2(-17)
038736,000135: 32,2217 24667 DTASC # (TGO-DT)*2(-17)
038737,000136:
Page 855 |
038739,000138: 32,2220 02350 STORE TGO # REPLACE IN TGO
038740,000139: 32,2221 71214 BOFF DLOAD # IF HC=0, GO TO HOLDR
038741,000140: 32,2222 01756 HC
038742,000141: 32,2223 64233 HOLDR
038743,000142: 32,2224 02147 RDOT # LOAD RDOT*2(-7)
038744,000143: 32,2225 41215 DAD DMP # (RDOT+RDOTD)*2(-7)
038745,000144:
038746,000145: 32,2226 02041 RDOTD
038747,000146: 32,2227 02350 TGO # TGO(RDOT+RDOTD)*2(-24)
038748,000147: 32,2230 43342 SR1 DAD # SHIFT TO RGO*2(-24)
038749,000148: 32,2231 01047 RMAG # FORM RCO*2(-24)
038750,000149: 32,2232 02375 STORE RCO # STORE IN RCO
038751,000150:
038752,000151: 32,2233 43014 HOLDR BON BON # IF DIRECT=1, GO TO LAMPREP
038753,000152: 32,2234 01714 DIRECT
038754,000153: 32,2235 64250 LAMPREP
038755,000154: 32,2236 01715 PASS # IF PASS=1, GO TO GAIN+1
038756,000155: 32,2237 64367 GAIN +1
038757,000156: 32,2240 71214 SET DLOAD # IF PASS=0, SET TO 1
038758,000157:
038759,000158: 32,2241 01475 PASS
038760,000159: 32,2242 24645 VINJ # LOAD VINJ
038761,000160: 32,2243 16045 STODL ZDOTD # ZDOTD=VINJ
038762,000161: 32,2244 26517 DP0 # CLEAR MPAC
038763,000162: 32,2245 02041 STORE RDOTD # RDOTD=0
038764,000163: 32,2246 77650 GOTO # GO TO GAIN WITH YDOTD=0 IN MPAC
038765,000164: 32,2247 64366 GAIN
038766,000165: 32,2250 71214 LAMPREP BOFF DLOAD # IF LAMB NOT DONE, GO TO GAIN+1
038767,000166: 32,2251 02341 DONESW
038768,000167: 32,2252 64367 GAIN +1
038769,000168:
038770,000169: 32,2253 02067 YDOT # LOAD YDOT*2(-7)
038771,000170: 32,2254 65205 DMP PDDL # YDOT TGO*2(-24)
038772,000171: 32,2255 02350 TGO # PUSH DOWN 12
038773,000172: 32,2256 02043 YDOTD # LOAD YDOTD*2(-7)
038774,000173: 32,2257 43205 DMP DAD # YDOTD TGO*2(-24)
038775,000174: 32,2260 02350 TGO # TGO(YDOT+YDOTD)*2(-24) 10
038776,000175: 32,2261 43257 SL* DAD # YGO/2*2(N-30)
038777,000176: 32,2262 20172 0 -7,1 # 8
038778,000177: 32,2263 77626 STADR # YCO*2(N-30)
038779,000178: 32,2264 63736 STODL 32D # STORE IN PDL(32)
038780,000179: 32,2265 02105 ZDOT # LOAD ZDOTX2(-7)
038781,000180: 32,2266 41215 DAD DMP # (ZDOT+ZDOTD)X2(-7)
038782,000181:
038783,000182: 32,2267 02045 ZDOTD # TGO(ZDOT+ZDOTD)X2(-24)
038784,000183: 32,2270 02350 TGO
038785,000184: 32,2271 43257 SL* DAD # SHIFT TO TGO(ZDOT+ZDOTD)X2(N-34)
038786,000185: 32,2272 20167 0 -10D,1 # ZCOX2(N-33) 6
038787,000186: 32,2273 56271 DDV DDV # ZRADCO/8
038788,000187: 32,2274 02375 RCO
038789,000188: 32,2275 05600 PI/4 # ZRADCO/2PI
038790,000189: 32,2276 71406 PUSH COS # STORE IN PDL(6),TAKE 1/2COS 8
038791,000190: 32,2277 73525 PDDL SIN # EXCH.ZRADCO/2PI WITH .5COS,TAKE .5SIN 8
038792,000191: 32,2300 74206 PUSH VXSC # STORE 1/2SIN IN PDL(8) 10
038793,000192:
Page 856 |
038795,000194: 32,2301 02015 SAXIS # S/4SIN
038796,000195: 32,2302 74325 PDDL VXSC # STORE IN PDL(10),LOAD1/2COS 16
038797,000196:
038798,000197: 32,2303 00007 06D # P/4COS
038799,000198: 32,2304 02001 PAXIS1
038800,000199: 32,2305 77655 VAD # S/4SIN+P/4COS, 10
038801,000200: 32,2306 77725 PDDL # STORE IN PDL(10) 16
038802,000201: 32,2307 00041 32D # LOAD YCOX2(N-30)
038803,000202: 32,2310 65316 DSQ PDDL # YCO(2)X2(2N-60),STORE IN PDL(16) 18
038804,000203: 32,2311 02375 RCO # LOAD RCOX2(N-30)
038805,000204: 32,2312 45316 DSQ DSU # (RCO(2)-YCO(2))X2(2N-60) 16
038806,000205: 32,2313 74366 SQRT VXSC # (RCO(2)-YCO(2))(1/2)X2(N-30)XPDL(10) 10
038807,000206: 32,2314 65372 VSL1 PDDL # SHIFT TO ROOT*(SSIN+PCOS)*2(N-31)
038808,000207:
038809,000208: 32,2315 00041 32D # STORE PS TERMS IN PDL(10),LOAD YCO 16
038810,000209: 32,2316 53361 VXSC VAD # QYCOX2(N-31)
038811,000210: 32,2317 02007 QAXIS # ADD PS TERMS,GET RCOX2(N-31) 10
038812,000211: 32,2320 77772 VSL1 # SHIFT TO RCOV*2(N-30)
038813,000212: 32,2321 02141 STORE RCOV # STORE CUTOFF POSITION
038814,000213: 32,2322 77656 UNIT # GET URCO*2(-1)
038815,000214: 32,2323 26153 STOVL URCO # STORE URCO*2(-1)
038816,000215: 32,2324 02001 PAXIS1
038817,000216: 32,2325 77761 VXSC # PSINX2(-2) 8
038818,000217: 32,2326 77715 PDVL # STORE IN PDL(8) 10
038819,000218: 32,2327 02015 SAXIS # LOAD SX2(-1)
038820,000219: 32,2330 52361 VXSC VSU # SCOS*2(-2)
038821,000220:
038822,000221: 32,2331 00007 06D # (SCOS-PSIN)*2(-2)=H1*2(-2)
038823,000222: 32,2332 40372 VSL1 SETPD # SHIFT TO H1X2(-1)
038824,000223: 32,2333 00001 00D # RESET PDC TO 0 0
038825,000224: 32,2334 16133 STODL H1 # STORE H1
038826,000225: 32,2335 02373 TINT # LOAD TINT*2(-28)
038827,000226: 32,2336 77625 DSU
038828,000227: 32,2337 02053 TCO
038829,000228: 32,2340 02167 STORE TFL # TIME (+28) FOR LAMBERT
038830,000229: 32,2341 77776 EXIT
038831,000230: 32,2342 31451 CA LAMPRIO # SET PRIORITY FOR LAMBERT
038832,000231:
038833,000232: 32,2343 00004 INHINT
038834,000233: 32,2344 05534 TC FINDVAC # SET UP LAMBERT LOB
038835,000234: 32,2345 E3,1677 EBANK= SPLOC
038836,000235: 32,2345 02672 64063 2CADR LAMBSET
038837,000236:
038838,000237: 32,2347 00003 RELINT
038839,000238: 32,2350 06103 TC INTPRET # DURING PREBURN PASS,HIGH PRIO FOR LAMB
038840,000239: 32,2351 41575 VLOAD PUSH # WILL CAUSE INTERRUPT HERE.
038841,000240: 32,2352 01717 V0VEC # LOAD V0VEC, RESCALE FOR ASCENT
038842,000241: 32,2353 72441 DOT SL1 # V1*2(-7) IN PDL(0)
038843,000242: 32,2354 02153 URCO # V1.URCO=RDOTD*2(-8)
038844,000243: 32,2355 26041 STOVL RDOTD # STORE IN RDOTD
038845,000244:
038846,000245: 32,2356 00001 00D # LOAD V1*2(-7)
038847,000246: 32,2357 72441 DOT SL1 # V1.H1*2(-8)=ZDOTD*2(-8)
038848,000247: 32,2360 02133 H1 # SHIFT TO 2(-7)
038849,000248: 32,2361 26045 STOVL ZDOTD # STORE IN ZDOTD,LOAD URCO*2(-1)
038850,000249:
Page 857 |
038852,000251: 32,2362 02153 URCO
038853,000252: 32,2363 50235 VXV DOT # URCOXH1*2(-2)=-UYCO*2(-2)
038854,000253: 32,2364 02133 H1 # -UYCO.V1*2(-9)=-YDOTD*2(-9) 0
038855,000254: 32,2365 57512 SL2 DCOMP # +YDOTD*2(-7)
038856,000255: 32,2366 02043 GAIN STORE YDOTD # STORE YDOTDX2(-7)
038857,000256: 32,2367 40345 DLOAD SETPD # LOAD YDOTD
038858,000257: 32,2370 02043 YDOTD
038859,000258: 32,2371 00001 00D
038860,000259:
038861,000260: 32,2372 41425 DSU PUSH # (YDOTD-YDOT)X2(-7)=DYDOTX2(-7)
038862,000261: 32,2373 02067 YDOT # STORE DYDOT IN PDL(0) 2
038863,000262: 32,2374 14041 STODL 32D # STORE DYDOT IN 32 (2
038864,000263: 32,2375 02045 ZDOTD # LOAD ZDOT
038865,000264: 32,2376 41425 DSU PUSH # ZDOTD-ZDOT=DZDOT*2(-7)
038866,000265: 32,2377 02105 ZDOT # STORE IN PDL(2) 4
038867,000266: 32,2400 14037 STODL 30D # ALSO IN 30
038868,000267: 32,2401 02111 GEFF # LOAD GEFF
038869,000268: 32,2402 72405 DMP SL1 # GEFF TGOX2(-8)
038870,000269: 32,2403 02350 TGO # SHIFT TO 2(-7)
038871,000270:
038872,000271: 32,2404 45325 PDDL DSU # STORE IN PDL(4) 6
038873,000272: 32,2405 02041 RDOTD # LOAD RDOTD
038874,000273: 32,2406 02147 RDOT # DRDOTX2(-7)
038875,000274: 32,2407 00035 STORE 28D # STORE IN 28
038876,000275: 32,2410 55425 DSU VDEF # DRDOT-TGOGEFF,DEFINE VGX2(-7) 0,4
038877,000276: 32,2411 45246 ABVAL DSU # GET VG(SCALAR)
038878,000277: 32,2412 24647 VTO # SUBTRACT TAILOFF
038879,000278: 32,2413 52405 DMP SL3 # VG*2(-7)*1/VE*2(4)=VG/VE*2(-3)
038880,000279: 32,2414 02025 1/VE # SHIFT TO VG/VE
038881,000280: 32,2415 77606 PUSH # STORE INPDL(0) 2
038882,000281: 32,2416 44205 DMP BDSU # KTVG/VE
038883,000282: 32,2417 24643 KT # 1/2-KTVG/VE
038884,000283:
038885,000284: 32,2420 26515 DP.5
038886,000285: 32,2421 41215 DAD DMP # 1-KTVG/VE
038887,000286: 32,2422 26515 DP.5 # VG/VE(1-KTVG/VE)=TGO/TBUP 0
038888,000287: 32,2423 41206 PUSH DMP # STORE TGO/TBUP IN PDL(0) 2
038889,000288: 32,2424 02027 TBUP # TGOX2(-17)
038890,000289: 32,2425 02350 STORE TGO # STORE
038891,000290: 32,2426 50025 DSU BMN # IF TGO SMTHAN 4SEC,GO TO SET UP ENGOFF
038892,000291: 32,2427 24655 2SEC(16) # 2*2(-16)=4*2(-17)
038893,000292: 32,2430 64675 ENGOFF
038894,000293: 32,2431 47014 KEEPGOIN BONCLR RTB # DURING PRECOI, GO BACK TO MP4
038895,000294:
038896,000295: 32,2432 01613 56D
038897,000296: 32,2433 66232 TKNOWN
038898,000297: 32,2434 33521 LOADTIME
038899,000298: 32,2435 02107 STORE TIME
038900,000299: 32,2436 54345 DLOAD SR
038901,000300: 32,2437 02350 TGO # TGO*2(-17)
038902,000301: 32,2440 20614 11D # TGO*2(-28)
038903,000302: 32,2441 77615 DAD
038904,000303: 32,2442 02107 TIME # T+TGO=TCO*2(-28)
038905,000304: 32,2443 16053 STODL TCO # STORE TCO (2
038906,000305:
Page 858 |
038908,000307: 32,2444 24671 T2 # LOAD T2X2(-17)
038909,000308:
038910,000309: 32,2445 51025 DSU BPL # T2-TGO
038911,000310: 32,2446 02350 TGO
038912,000311: 32,2447 64547 AIMER # IF T2-TGO POS,GO TO AIMER
038913,000312:
038914,000313: 32,2450 45345 DLOAD DSU # LOAD T*2(-28)
038915,000314: 32,2451 02107 TIME # SUBTRACT 100 CS, 1/2DT
038916,000315: 32,2452 24641 100CS # (T-.5DT)*2(-28)
038917,000316: 32,2453 16055 STODL TREF # *2(-28)
038918,000317: 32,2454 02350 TGO # LOAD TGOX2(-17)
038919,000318: 32,2455 43205 DMP DAD # RDOT TGO*2(-24)
038920,000319: 32,2456 02147 RDOT # (R+RDOT TGO)*2(-24)
038921,000320: 32,2457 01047 RMAG
038922,000321:
038923,000322: 32,2460 44342 SR1 BDSU # *2(-25)
038924,000323: 32,2461 02375 RCO # RCO-R-RDOT TGO=DR*2(-25)
038925,000324: 32,2462 14033 STODL 26D # STORE DR IN 26,LOAD TGO/TBUP
038926,000325: 32,2463 43221 BDSU DAD # 1/2-TGO/TBUP
038927,000326: 32,2464 26515 DP.5
038928,000327: 32,2465 26515 DP.5 # 1-TGO/TBUP
038929,000328: 32,2466 77624 CALL
038930,000329: 32,2467 64771 LOGSUB # CALL LOG SUBROUTINE
038931,000330:
038932,000331: 32,2470 41461 SL PUSH # SHIFT TO -L,STORE IN PDL(0) 2
038933,000332:
038934,000333: 32,2471 20206 5
038935,000334: 32,2472 44265 BDDV BDSU # -TGO/L*2(-17)
038936,000335: 32,2473 02350 TGO
038937,000336: 32,2474 02027 TBUP # (TBUP+TGO/L)*2(-17)=D12*2(-17)
038938,000337: 32,2475 45325 PDDL DSU # D12 IN PDL(2) 4
038939,000338: 32,2476 02350 TGO
038940,000339: 32,2477 24657 T3 # TGO-T3
038941,000340: 32,2500 71244 BPL DLOAD # IF TGO-T3 POS,GO TO RATE
038942,000341: 32,2501 64507 RATER
038943,000342: 32,2502 26517 DP0 # SET B=0
038944,000343: 32,2503 02131 STORE PRATE
038945,000344: 32,2504 77614 SETGO # SET HC=1,GO TO CONST
038946,000345: 32,2505 01436 HC
038947,000346: 32,2506 64531 CONST
038948,000347:
038949,000348: 32,2507 45345 RATER DLOAD DSU # TGO
038950,000349: 32,2510 02350 TGO
038951,000350: 32,2511 00003 02D # TGO-D12=D21X2(-17)
038952,000351: 32,2512 70525 PDDL SR1 # D21 IN PDL(4) 6
038953,000352: 32,2513 02350 TGO # LOAD TGOX2(-17),SHIFT TO 1/2
038954,000353: 32,2514 65225 DSU PDDL # 1/2TGO-D21=DX2(-17)
038955,000354: 32,2515 00005 04D # STORE D IN PDL(6) 8
038956,000355:
038957,000356: 32,2516 00035 28D # LOAD DRDOT*2(-7)
038958,000357: 32,2517 53605 DMP SL* # DRDOT D21*2(-24)
038959,000358: 32,2520 00005 04D
038960,000359: 32,2521 20173 0 -6,1 # SHIFT TO 2(N-30)
038961,000360: 32,2522 56225 DSU DDV # D21 DRDOT-DR
038962,000361:
Page 859 |
038964,000363: 32,2523 00033 26D
038965,000364: 32,2524 02350 TGO # DIVIDE BY TGO
038966,000365: 32,2525 40271 DDV SETPD # DIVIDE BY D,GET B*2(N+4)
038967,000366: 32,2526 00007 06D
038968,000367: 32,2527 00005 04D # SET PD TO 4 4
038969,000368: 32,2530 02131 STORE PRATE # STORE B IN PRATE
038970,000369:
038971,000370: 32,2531 56345 CONST DLOAD DDV # LOAD DRDOTX2(-7)
038972,000371: 32,2532 00035 28D # DRDOT/-LX2(-7)
038973,000372: 32,2533 00001 00D
038974,000373: 32,2534 77725 PDDL # STORE IN PDL(2),PULL D12 4
038975,000374: 32,2535 77605 DMP
038976,000375: 32,2536 02131 PRATE # D12PX2(N-13)
038977,000376: 32,2537 44257 SR* BDSU # SHIFT TO 2(-7)
038978,000377: 32,2540 20573 0 -6,1 # PULL DRDOT/-L, GET A*2(-7)
038979,000378: 32,2541 77626 STADR
038980,000379: 32,2542 61664 STODL PCONS # STORE A
038981,000380: 32,2543 00041 32D # LOAD DYDOTX2(-7)
038982,000381: 32,2544 77671 DDV # DYDOT/-LX2(-7)=CX2(-7)
038983,000382:
038984,000383: 32,2545 00001 00D
038985,000384: 32,2546 02065 STORE YCONS # STORE CX2(-7)
038986,000385:
038987,000386: 32,2547 77601 AIMER SETPD
038988,000387: 32,2550 00001 00D
038989,000388: 32,2551 45345 DLOAD DSU
038990,000389: 32,2552 02107 TIME
038991,000390: 32,2553 02055 TREF # (T-TO)X2(-28)
038992,000391: 32,2554 53605 DMP SR* # B(T-TO)X2(N-24)
038993,000392: 32,2555 02131 PRATE
038994,000393:
038995,000394: 32,2556 20560 0 -17D,1
038996,000395: 32,2557 70415 DAD SR1 # (A+B(T-TO))*2(-7)
038997,000396: 32,2560 02113 PCONS # 2(-8)
038998,000397: 32,2561 45271 DDV DSU # (A+B(T-T0))/TBUP*2(9)
038999,000398: 32,2562 02027 TBUP # ADD GEFFX2(9)
039000,000399: 32,2563 02111 GEFF # GET ATRX2(9)
039001,000400: 32,2564 65361 VXSC PDDL # ATR UR*2(8)
039002,000401: 32,2565 01033 UNITR # STORE IN PDL(0) 6
039003,000402: 32,2566 02065 YCONS # LOAD C*2(-7)
039004,000403: 32,2567 56342 SR1 DDV # SHIFT TO 2(-8)
039005,000404: 32,2570 02027 TBUP # C/TBUP*2(9)=ATY*2(9)
039006,000405: 32,2571 53361 VXSC VAD # ATY LAXIS*2(8)
039007,000406:
039008,000407: 32,2572 02071 LAXIS # (ATY LAXIS+ATR UR)*2(8)=AH*2(8) 0
039009,000408: 32,2573 41572 VSL1 PUSH # SHIFT TO AH*2(9),STORE IN PDL(0) 6
039010,000409: 32,2574 65246 ABVAL PDDL # AH2X2(18) IN PDL(34),AHMAG IN MPAC
039011,000410: 32,2575 02023 AT # STORE AHMAG IN PDL( 6),LOAD AT 8
039012,000411: 32,2576 45316 DSQ DSU # AT(2)X2(18)
039013,000412: 32,2577 00043 34D # (AT(2)-AH2)X2(18)=ATP2X2(18)
039014,000413: 32,2600 41325 PDDL DMP # STORE IN PDL( 8) 10
039015,000414: 32,2601 02023 AT # LOAD AT X2(9)
039016,000415: 32,2602 02035 KR # AT KRX2(8)
039017,000416:
Page 860 |
039019,000418: 32,2603 41552 SL1 PUSH # 2(9),STORE IN PDL(10) 12
039020,000419: 32,2604 45316 DSQ DSU # AT(2)KR(2)X2(18)
039021,000420:
039022,000421: 32,2605 00043 34D # -AH2X2(18) =ATP3X2(18)
039023,000422: 32,2606 71240 BMN DLOAD # IF ATP3 NEG,GO TO AIMING
039024,000423: 32,2607 64614 AIMING
039025,000424: 32,2610 00011 8D # LOAD ATP2X2(18)
039026,000425: 32,2611 77766 SQRT # ATPX2(9)
039027,000426: 32,2612 77650 GOTO
039028,000427: 32,2613 64624 AIMED
039029,000428:
039030,000429: 32,2614 55345 AIMING DLOAD BDDV # KR AT/AHX2(-1)=KH/2 FROM PDL(10,6) 8
039031,000430: 32,2615 00007 06D
039032,000431:
039033,000432: 32,2616 76561 VXSC VSL1 # KH AH*2(8),X2(9)
039034,000433: 32,2617 00001 00D
039035,000434: 32,2620 14001 STODL 00D # STORE NEW AH IN PDL(0)
039036,000435: 32,2621 02023 AT # LOAD ATX2(9)
039037,000436: 32,2622 77605 DMP # AT(1-KR(2))(1/2)X2(9)=ATPX2(9)
039038,000437: 32,2623 02037 KR1
039039,000438:
039040,000439: 32,2624 74365 AIMED SIGN VXSC # GIVE SIGN TO ATP
039041,000440: 32,2625 00037 30D
039042,000441: 32,2626 02077 ZAXIS # ATP ZAXISX2(8)
039043,000442: 32,2627 53372 VSL1 VAD # ATP ZAXISX2(9)
039044,000443: 32,2630 00001 00D # (ATPZAXIS+AH)X2(9)
039045,000444:
039046,000445: 32,2631 77656 UNIT # GET UT*2(-1)
039047,000446: 32,2632 02057 STORE UT
039048,000447: 32,2633 45001 SETPD CALL
039049,000448: 32,2634 00001 0
039050,000449: 32,2635 02050 ASCRET
039051,000450: 32,2636 77776 EXIT
039052,000451: 32,2637 15605 TCF ENDOFJOB
039053,000452: 32,2640 00000 00144 100CS 2DEC 100 B-28
039054,000453:
Remark: the label 'KT' is actually indented by 2 characters in the original listing but is referenced as operand. The current yaYul considers indented labels as false labels i.e. doesn't pick up the label 'KT' properly |
039057,000456: 32,2642 12702 21727 KT 2DEC 0.34
039058,000457:
039059,000458:
039060,000459: 32,2644 23123 36273 VINJ 2DEC 76.655851 B-7
039061,000460:
039062,000461: 32,2646 00100 00000 VTO 2DEC 0.5 B-7
039063,000462:
039064,000463: 32,2650 01146 14632 DP3/80 2DEC 0.0375
039065,000464:
039066,000465: 32,2652 00014 20000 2SEC(18) 2DEC 200 B-18
039067,000466:
039068,000467: 32,2654 00062 00000 2SEC(16) 2DEC 200 B-16
039069,000468:
039070,000469: 32,2656 00000 00000 T3 2DEC 0 B-28
039071,000470:
039072,000471:
039073,000472: 32,2660 02525 12525 1/12TH 2DEC 0.083333333
039074,000473:
039075,000474: 32,2662 10000 00000 DP.25 2DEC 0.25
039076,000475:
039077,000476:
Page 861 |
039079,000478: 32,2664 25252 25253 DP2/3H 2DEC .666666667
039080,000479:
039081,000480: 32,2666 00031 00000 DTASC 2DEC 200 B-17
039082,000481:
039083,000482: 32,2670 00000 00310 T2 2DEC 200 B-28
039084,000483:
039085,000484: 32,2672 06103 LAMBSET TC INTPRET # CALL FOR LAMBERT SUBR.
039086,000485: 32,2673 77624 CALL
039087,000486:
039088,000487: 32,2674 74430 LAMBERT
039089,000488: 32,2675 52545 ENGOFF DLOAD SL3 # PUT LOW ORDER BIT OF T IN BIT1 OF MPAC
039090,000489: 32,2676 02350 TGO
039091,000490: 32,2677 77776 EXIT
039092,000491: 32,2700 00004 INHINT
039093,000492: 32,2701 30144 CA MPAC # PUT TGO INA
039094,000493: 32,2702 05701 TC WAITLIST # SET UP CALL TO APSOFF
039095,000494: 32,2703 E4,1747 EBANK= TGO
039096,000495: 32,2703 02711 64064 2CADR APSOFF
039097,000496:
039098,000497: 32,2705 00003 RELINT
039099,000498: 32,2706 06103 TC INTPRET
039100,000499: 32,2707 77650 GOTO
039101,000500: 32,2710 64431 KEEPGOIN # RETURN TO STEERING
039102,000501: 32,2711 06071 APSOFF TC ENGINOFF
039103,000502: 32,2712 05745 TC TASKOVER
End of include-file ASCENT_STEERING.agc. Parent file is MAIN.agc