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. |
036734,000002: ## Copyright: Public domain.
036735,000003: ## Filename: SECOND_DPS_GUIDANCE.agc
036736,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
036737,000005: ## It is part of an early development version of the software
036738,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
036739,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
036740,000008: ## upon which Don Eyles's offline development program Shepatin
036741,000009: ## was based; the listing herein transcribed was actually for
036742,000010: ## the equivalent revision 0 of Shepatin.
036743,000011: ## This file is intended to be a faithful transcription, except
036744,000012: ## that the code format has been changed to conform to the
036745,000013: ## requirements of the yaYUL assembler rather than the
036746,000014: ## original YUL assembler.
036747,000015: ## Reference: pp. 814-850
036748,000016: ## Assembler: yaYUL
036749,000017: ## Contact: Ron Burkey <info@sandroid.org>.
036750,000018: ## Website: www.ibiblio.org/apollo/index.html
036751,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
036752,000020: ## 2017-06-13 HG Transcribed
036753,000021: ## 2017-06-15 HG Fix interpretive operand /AFC/ -> /ACF/
036754,000022: ## 2017-06-17 MAS Added a workaround for yaYUL calculating a
036755,000023: ## fractional number off by one.
036756,000024: ## 2017-06-23 RSB Proofed comment text with
036757,000025: ## octopus/ProoferComments.
036758,000026: ## 2021-05-30 ABS 2DEC* -> DEC for non extended address fields.
036759,000027:
Page 814 |
036761,000029:
036762,000030: # PROGRAM NAME - SECOND DPS GUIDANCE
036763,000031:
036764,000032: # MOD NO. - 0
036765,000033:
036766,000034: # MODIFICATION BY - KLUMPP AND EYLES
036767,000035:
036768,000036: # FUNCTIONAL DESCRIPTION -
036769,000037:
036770,000038: # THERE ARE TWO MODES OF OPERATION OF THE SECOND DPS GUIDANCE PROGRAM (2DPS). PRIOR TO THE IGNITION
036771,000039: # SEQUENCE 2DPS IS OPERATED IN THE PRE-IGNITION MODE FOR THE PURPOSE OF PROVIDING, FOR THE IGNITION
036772,000040: # SEQUENCE, THE TIME OF INITIATION AND THE DIRECTION OF THRUST. IMMEDIATELY AFTER THE IGNITION SEQUENCE
036773,000041: # IS COMPLETED, INCLUDING THE COMMAND OF MAXIMUM THRUST, 2DPS IS ENGAGED IN THE THRUSTING MODE FOR THE
036774,000042:
036775,000043: # PURPOSE OF PROVIDING THRUST ACCELERATION MAGNITUDE AND DIRECTION COMMANDS NECESSARY TO CONDUCT THE
036776,000044: # SIMULATED POWERED LANDING MANEUVER.
036777,000045:
036778,000046: # PRIOR TO LAUNCH, ERASABLE MEMORY MUST BE LOADED WITH THE SEMI-UNIT NORMAL TO THE PLANE OF THE
036779,000047: # REQUIRED ORBIT CPT6/2, AND DATA WHICH INDIRECTLY SPECIFICIES THE NOMINAL IGNITION TIME TIGNOM. THESE
036780,000048: # DATA MAY BE ADJUSTED, AS A GROUP, VIA THE UPLINK, UNTIL 200 SECONDS PRIOR TO THE TIGNOM IMPLIED BY THE
036781,000049: # PRE-LAUNCH LOAD OR IMPLIED BY THE UPLINK DATA, WHICHEVER IS EARLIER. A DESCRIPTION OF THE METHOD OF
036782,000050: # UPDATING TIGNOM IS IN THE PROVINCE OF THE MISSION CONTROL PROGRAM (MCP) MISSION PHASE 11 -
036783,000051: # DPS2/FITH/APS1. THE TARGETING IS CONTROLLED BY THE SEMI-UNIT VECTOR CPT6/2 AS DESCRIBED IN THE 206 GSOP.
036784,000052:
036785,000053:
036786,000054: # AT APPROXIMATELY 180 SECONDS PRIOR TO TIGNOM, THE MCP ENGAGES 2DPS IN THE PRE-IGNITION MODE BY
036787,000055: # PROVIDING AN EXTRAPOLATED TIME AND STATE IN THE REGISTERS TET, RIGNTION, VIGNTION, AND TRANSFERRING
036788,000056: # CONTROL TO LOCATION PREBURN IN 2DPS. THIS TIME AND STATE ARE AT APPROXIMATELY 50 SECONDS PRIOR TO
036789,000057: # TIGNOM. (THE NAMES RIGNTION, VIGNTION, CHOSEN TO INDICATE USAGE WITH OTHER GUIDANCE PROGRAMS, ARE
036790,000058: # MISLEADING WITH 2DPS IN THAT THE EXTRAPOLATED STATE PROVIDED IN THESE REGISTERS IS NOT THAT EXPECTED AT
036791,000059: # IGNITION BUT RATHER AT 50 SECONDS PRIOR TO IGNITION.) 2DPS TRANSFERS THE CONTENTS OF TET TO PIPTIME
036792,000060: # AND CALLS SUBROUTINE VPATCHER WHICH TRANSFERS THE STATE TO RN, VN AND INITIALIZES FOR CALCRVG.
036793,000061: # USING CALCRVG AS A SUBROUTINE, AND INTERNAL SUBROUTINES IGNITN1 AND IGNITN2, 2DPS MOVES THE TIME AND
036794,000062: # STATE FORWARD TO A TIME GREATER THAN OR EQUAL TO TULLG-6 SECONDS AND LESS THAN OR EQUAL TO TULLG-3.8 SECONDS,
036795,000063: # LEAVING THIS CONSISTENT SET IN PIPTIME, RN, VN, WHERE TULLG IS THE PRECISE TIME FOR ULLAGE TO BE INITIATED
036796,000064: # AND IS LEFT IN THE REGISTER OF THAT NAME. 2DPS LEAVES A SEMI-UNIT VECTOR IN THE DIRECTION IN WHICH
036797,000065: # THRUST IS TO BE COMMANDED DURING THE IGNITION SEQUENCE IN THE REGISTER POINTVSM AND BRANCHES TO
036798,000066:
036799,000067: # LOCATION RETPREB IN THE MISSION CONTROL PROGRAM.
036800,000068:
036801,000069: # USING THE DATA LEFT BY THE PRE-IGNITION MODE OF 2DPS, THE MCP ENGAGES KALCMANU TO PROPERLY
036802,000070: # ORIENT THE SPACECRAFT FOR THE IGNITION SEQUENCE, AND ISSUES THE WAITLIST CALLS WHICH CAUSE THE
036803,000071: # READACCS, SERVICER, PGNCSMON LOOP TO BE ESTABLISHED (WITH 2DPS NOT IN THE LOOP) AND PRODUCE ULLAGE,
036804,000072: # ENGINE IGNITION, AND FINALLY MAXIMUM THRUST. IMMEDIATELY AFTER MAXIMUM THRUST IS COMMANDED, THE MCP
036805,000073: # PLACES THE 2BCADR OF BURN (EBANK= E2DPS) IN THE AVGEXIT WHICH CAUSES 2DPS TO BE ADDED TO THE READACCS,
036806,000074: # SERVICER, PGNCSMON LOOP IMMEDIATELY FOLLOWING CALCRVG.
036807,000075:
036808,000076: # WHEN CONTROL IS GIVEN TO 2DPS WITH THE 2BCADR OF BURN IN AVGEXIT, 2DPS OPERATES IN THE THRUSTING
036809,000077:
036810,000078: # MODE. IT GENERATES THE SEQUENCING REQUIRED TO CONDUCT THE SIMULATED POWERED LANDING MANEUVER AND ISSUES
036811,000079: # THE THRUST ACCELERATION MAGNITUDE AND DIRECTION COMMANDS.
036812,000080:
036813,000081: # 2DPS GENERATES THE SEQUENCING BY INCREMENTING THE HIGH ORDER PART OF AVGEXIT, BY AN APPROPRIATE
036814,000082: # INTEGER, TO ACCOMPLISH EACH CHANGE OF 2DPS PHASE. THE INCREMENTING OF AVGEXIT CAUSES, ON THE SUBSEQUENT
036815,000083:
Page 815 |
036817,000085: # PASS THROUGH 2DPS, CONTROL TO BEGIN AT A NEW POINT IN THE SECOND DPS FLITE SEQUENCE TABLE, AND
036818,000086: # CONSEQUENTLY THE CORRESPONDING 2DPS MODING TO BE ESTABLISHED.
036819,000087:
036820,000088: # 2DPS GENERATES THE THRUST ACCELERATION MAGNITUDE AND DIRECTION COMMANDS ON THE BASIS OF THE
036821,000089: # CONTENTS OF PIPTIME, RN, VN, AT THE BEGINNING OF THE PASS. TO ISSUE THE THRUST ACCELERATION DIRECTION
036822,000090: # COMMAND, 2DPS PLACES A SEMI-UNIT VECTOR IN THE REQUIRED DIRECTION IN THE REGISTER AXISD AND CALLS
036823,000091:
036824,000092: # FINDCDUD AS A SUBROUTINE. TO ISSUE THE MAGNITUDE COMMAND, 2DPS PLACES THE REQUIRED MAGNITUDE IN THE
036825,000093: # REGISTER /ACF/ AND CALLS THROTCON AS A SUBROUTINE.
036826,000094:
036827,000095: # BEFORE BUT NOT INCLUDING THE LAST PASS, 2DPS TERMINATES THE JOB PERIODICALLY STARTED BY READACCS
036828,000096: # BY BRANCHING TO ENDOFJOB.
036829,000097:
036830,000098: # ON THE LAST PASS 2DPS PLACES THE SEMI-UNIT VECTOR ALONG THE NORMAL TO THE DESIRED ORBITAL PLANE,
036831,000099: # CPT6/2, IN THE REGISTER AXISD, CALLS FINDCDUD, AND BRANCHES TO LOCATION RETBURN IN THE MCP. THE MCP
036832,000100: # REMOVES 2DPS FROM THE READACCS, SERVICER, PGNCSMON LOOP AND ISSUES THE WAITLIST CALLS WHICH PRODUCE THE
036833,000101: # RANDOM THROTTLING. THE MCP DOES NOT CHANGE THE CONTENTS OF AXISD SUPPLIED BY 2DPS. CONSEQUENTLY THE
036834,000102: # THRUST ACCELERATION DURING RANDOM THROTTLING IS NORMAL TO THE ORBITAL PLANE.
036835,000103:
Page 816 |
036837,000105: # INTERFACE SPECIFICATIONS -
036838,000106:
036839,000107: # SPECIFICATION PRE-IGNITION MODE THRUSTING MODE
036840,000108:
036841,000109: # CALLING SEQUENCE - DTCB TO PREBURN DTCB TO BURN
036842,000110: # (EBANK= E2DPS) (EBANK= E2DPS)
036843,000111:
036844,000112: # NORMAL EXITS - DTCB TO LOCATION PRIOR TO LAST PASS -
036845,000113: # RETPREB (EBANK= TC TO ENDOFJOB
036846,000114: # EMP11JOB) IN MISSION
036847,000115: # CONTROL PROGRAM. LAST PASS -
036848,000116: # DTCB TO LOCATION
036849,000117:
036850,000118: # RETBURN (EBANK=
036851,000119: # EMP11JOB) IN MISSION
036852,000120: # CONTROL PROGRAM
036853,000121:
036854,000122: # ALARM OR ABORT EXITS - NONE NONE
036855,000123:
036856,000124: # ERASABLE
036857,000125: # INITIALIZATION - CPT6/2 (IMU COORDS) 2BCADR OF BURN
036858,000126: # OTHER INITIALIZATION (EBANK= E2DPS) MUST
036859,000127: # DONE INTERNALLY BE IN AVGEXIT. OTHER
036860,000128: # INITIALIZATION DONE IN
036861,000129: # N PRE-
036862,000130:
036863,000131: # IGNITION MODE.
036864,000132:
036865,000133: # INPUTS - TET PIPTIME
036866,000134: # RIGNTION RN
036867,000135: # VIGNTION VN
036868,000136:
036869,000137: # OUTPUTS - PIPTIME AXISD
036870,000138: # RN /ACF/
036871,000139: # VN
036872,000140: # TULLG
036873,000141:
036874,000142: # POINTVSM
036875,000143:
036876,000144: # ERASABLES - AMEMORY THROUGH SAME
036877,000145: # AMEMORY +217 OCT
036878,000146: # PLUS 6 FOR CPT6/2 (NOT
036879,000147: # YET ASSIGNED)
036880,000148:
036881,000149: # SUBROUTINES CALLED - ROOTPSRS ROOTPSRS
036882,000150: # VPATCHER FINDCDUD
036883,000151: # CALCRVG THROTCON
036884,000152:
Page 817 |
036886,000154: 22,2000 BANK 22
036887,000155: 22,2000 E4,1400 EBANK= E2DPS
036888,000156: # ************************************************************************
036889,000157: # INITIALIZATION OF SECOND DPS GUIDANCE - PREBURN
036890,000158: # ************************************************************************
036891,000159:
036892,000160: 22,2000 22,2000 PREBURN = INIT2DPS
036893,000161: 22,2000 03373 INIT2DPS TC PRETINIT # INITIALIZES INTERPRETER
036894,000162:
036895,000163:
036896,000164: # CLEAR ORBITAL INTEGRATION VARIABLES FROM REGISTERS IN COMMON WITH 2DPS
036897,000165:
036898,000166: 22,2001 06103 TC INTPRET
036899,000167: 22,2002 77745 DLOAD
036900,000168: 22,2003 02047 TET # EXTRAPOLATED TIME FROM ORBITAL INTEGRATN
036901,000169: 22,2004 35321 STCALL PIPTIME # TIME REGISTER OF PIPASR
036902,000170: 22,2005 60347 VPATCHER # TRANSFERS RIGNTION, VIGNTION TO RN, VN,
036903,000171: 22,2006 77776 EXIT # AND DUPLICATES FUNCTIONS OF NORMLIZE
036904,000172: 22,2007 04147 TC PHASCHNG # PREVENTS REREADING ORBITAL INTEGRATION
036905,000173:
036906,000174: 22,2010 04022 +402 OCT 04022 # VARIABLES AFTER WRITING OVER THEM
036907,000175:
036908,000176: # COMMON REGISTERS ARE CLEARED
036909,000177:
036910,000178: 22,2011 06103 TC INTPRET
036911,000179: 22,2012 77745 DLOAD
036912,000180: 22,2013 05547 IGNALGL
036913,000181: 22,2014 25073 STOVL AVGEXIT # SET UP RETURN ADDRESS IN AVGEXIT
036914,000182: 22,2015 05562 ZEROPOS
036915,000183: 22,2016 02213 STORE GDOTM1 # DERIVATIVE OF G FOR USE BY IGNITN1
036916,000184: 22,2017 16171 STODL UNAFC/2
036917,000185: 22,2020 05562 ZEROPOS
036918,000186:
036919,000187: 22,2021 02055 STORE TTF/4TMP # ZERO AS IF COMING FROM PREVIOUS PHASE
036920,000188: 22,2022 77776 EXIT
036921,000189: 22,2023 33561 CA ZEROPOS
036922,000190: 22,2024 55402 TS FLPASS0 # SHOWS THIS IS INITIAL PASS THIS PHASE
036923,000191: 22,2025 03205 TC XTRTPIP # SETS TPIP EXTRAPOLATED
036924,000192: 22,2026 37735 CA POSMAX
036925,000193: 22,2027 55564 TS /AFC/ # FORCES INITIALIZATION OF COUNTFC
036926,000194: 22,2030 55565 TS /AFC/ +1 # ONLY REASON: TO ASSURE GOOD PARITY
036927,000195: 22,2031 55404 TS COUNTFCT # ONLY REASON: TO ASSURE GOOD PARITY
036928,000196: 22,2032 01072 TC AVGEXIT # RETURNS TO APPROPRIATE LOCATION IN 2DPS
036929,000197:
Page 818 |
036931,000199: # ************************************************************************
036932,000200: # SECOND DPS FLITE SEQUENCE TABLE
036933,000201: # ************************************************************************
036934,000202:
036935,000203: # INDIRECT ADDRESSES
036936,000204:
036937,000205: 22,2033 22,2041 BURN = QUAD0X
036938,000206: 22,2033 BRTTFNU = 1
036939,000207: 22,2033 PARL = 2
036940,000208: 22,2033 TBRL = 3
036941,000209: 22,2033 TTF/4CR = 4
036942,000210: 22,2033 BRXEND = 5
036943,000211:
036944,000212: 22,2033 12210 IGNALG TCF TTFINCR
036945,000213: 22,2034 12172 TCF ADTTFNU # AS IF COMING FROM PREVIOUS PHASE
036946,000214: 22,2035 00000 OCT 00000
036947,000215: 22,2036 02113 ADRES TBRIGAL
036948,000216: 22,2037 77664 DEC -1.5 E2 B-15 # -1.5 SECONDS, TTF UNITS, COMPARES TTF/4
036949,000217: 22,2040 12645 TCF EXIGEND
036950,000218:
036951,000219: 22,2041 12210 QUAD0X TCF TTFINCR
036952,000220: 22,2042 12207 TCF RETTTFNU # AS IF CONTINUING PREBURN PHASE
036953,000221: 22,2043 00000 OCT 00000
036954,000222:
036955,000223: 22,2044 02117 ADRES TBRQUAD
036956,000224: 22,2045 73465 DEC -045 E2 B-15 # -045 SECONDS, TTF UNITS, COMPARES TTF/4
036957,000225: 22,2046 12721 TCF EXQDLIN
036958,000226:
036959,000227: 22,2047 12210 QUAD0F TCF TTFINCR
036960,000228: 22,2050 12172 TCF ADTTFNU
036961,000229: 22,2051 00027 OCT 00027
036962,000230: 22,2052 02117 ADRES TBRQUAD
036963,000231: 22,2053 77551 DEC -3.0 E2 B-15 # -3.0 SECONDS, TTF UNITS, COMPARES TTF/4
036964,000232: 22,2054 12721 TCF EXQDLIN
036965,000233:
036966,000234: 22,2055 13140 LING0F TCF LSETEVN
036967,000235:
036968,000236: 22,2056 12207 TCF RETTTFNU
036969,000237: 22,2057 00027 OCT 00027
036970,000238: 22,2060 02123 ADRES TBRLING
036971,000239: 22,2061 77746 DEC -.50 E2 B-15 # -.50 SECONDS, TTF UNITS, COMPARES TTF/4
036972,000240: 22,2062 12721 TCF EXQDLIN
036973,000241:
036974,000242: 22,2063 13155 LING1F TCF LSETODD
036975,000243: 22,2064 12172 TCF ADTTFNU
036976,000244: 22,2065 00056 OCT 00056
036977,000245: 22,2066 02123 ADRES TBRLING
036978,000246:
036979,000247: 22,2067 77746 DEC -.50 E2 B-15 # -.50 SECONDS, TTF UNITS, COMPARES TTF/4
036980,000248: 22,2070 12721 TCF EXQDLIN
036981,000249:
036982,000250: 22,2071 12210 QUAD2F TCF TTFINCR
036983,000251: 22,2072 12172 TCF ADTTFNU
036984,000252:
Page 819 |
036986,000254: 22,2073 00065 OCT 00065
036987,000255: 22,2074 02117 ADRES TBRQUAD
036988,000256: 22,2075 77551 DEC -3.0 E2 B-15 # -3.0 SECONDS, TTF UNITS, COMPARES TTF/4
036989,000257: 22,2076 12721 TCF EXQDLIN
036990,000258:
036991,000259: 22,2077 13140 LING2F TCF LSETEVN
036992,000260:
036993,000261: 22,2100 12207 TCF RETTTFNU
036994,000262: 22,2101 00065 OCT 00065
036995,000263: 22,2102 02123 ADRES TBRLING
036996,000264: 22,2103 77746 DEC -.50 E2 B-15 # -.50 SECONDS, TTF UNITS, COMPARES TTF/4
036997,000265: 22,2104 12721 TCF EXQDLIN
036998,000266:
036999,000267: 22,2105 13155 LING3F TCF LSETODD
037000,000268: 22,2106 12172 TCF ADTTFNU
037001,000269: 22,2107 00114 OCT 00114
037002,000270: 22,2110 02123 ADRES TBRLING
The following line is supposed to read "DEC -.25 E2 B-15", which is supposed to assemble to the octal 77763 ... but actually assembles to 77762. For the present, it is being hard-coded as "OCT 77763" as a workaround. |
037006,000274: 22,2111 77763 OCT 77763 # -.25 SECONDS, TTF UNITS, COMPARES TTF/4
037007,000275: 22,2112 12733 TCF EXFINAL
037008,000276:
037009,000277:
037010,000278:
037011,000279:
037012,000280: # ************************************************************************
037013,000281: # SECOND DPS ROAD MAPS (BRANCH TABLES)
037014,000282: # ************************************************************************
037015,000283:
037016,000284: # INDIRECT ADDRESSES
037017,000285:
037018,000286: 22,2113 BRIGN1 = 0
037019,000287:
037020,000288: 22,2113 BRLING = 1
037021,000289: 22,2113 BRIGN2 = 2
037022,000290: 22,2113 BRXMID = 3
037023,000291:
037024,000292: 22,2113 12750 TBRIGAL TCF IGNITN1
037025,000293: 22,2114 12413 TCF TTF/4CL
037026,000294: 22,2115 13041 TCF IGNITN2
037027,000295: 22,2116 12615 TCF EXIGMID
037028,000296:
037029,000297: 22,2117 12164 TBRQUAD TCF RETIGN1
037030,000298: 22,2120 12413 TCF TTF/4CL
037031,000299: 22,2121 12571 TCF RETIGN2
037032,000300:
037033,000301: 22,2122 12721 TCF EXQDLIN
037034,000302:
037035,000303: 22,2123 12164 TBRLING TCF RETIGN1
037036,000304: 22,2124 13171 TCF LINGUID
037037,000305: 22,2125 12571 TCF RETIGN2
037038,000306: 22,2126 12721 TCF EXQDLIN
037039,000307:
Page 820 |
037041,000309: # ************************************************************************
037042,000310: # INITIALIZATION FOR EACH PASS
037043,000311: # ************************************************************************
037044,000312:
037045,000313: # NTLZPASS SETS INDICES, FILLS TPIPOLD, TPIP, R, V EVERY PASS; BRANCHES TO IGNITN1, ADTTFNU WHEN APPROPRIATE.
037046,000314:
037047,000315: 22,2127 00006 NTLZPASS EXTEND
037048,000316: 22,2130 23406 QXCH RETNTLZ
037049,000317:
037050,000318: 22,2131 03373 TC PRETINIT # INITIALIZES INTERPRETER
037051,000319: # SET INDICES
037052,000320:
037053,000321: 22,2132 00006 EXTEND
037054,000322: 22,2133 51072 INDEX AVGEXIT
037055,000323: 22,2134 30003 DCA PARL # LOADS ADRESES OF PARMTR AND BRANCH TABLS
037056,000324: 22,2135 53401 DXCH NDX2DPS
037057,000325: 22,2136 00006 EXTEND
037058,000326: 22,2137 41401 DCS NDX2DPS
037059,000327: 22,2140 50110 INDEX FIXLOC
037060,000328: 22,2141 52047 DXCH X1 # LOADS BOTH INTRP NDX REGS, NEEDED OR NOT
037061,000329:
037062,000330: # FILL TPIPOLD AND TPIP
037063,000331:
037064,000332: 22,2142 00006 EXTEND
037065,000333: 22,2143 31447 DCA TPIP
037066,000334:
037067,000335: 22,2144 53451 DXCH TPIPOLD
037068,000336: 22,2145 04147 TC PHASCHNG # PROTECT TPIPOLD AND
037069,000337: 22,2146 04022 +402 OCT 04022 # PREVENT RETURNING TO PREVIOUS PROGRAM
037070,000338: 22,2147 00006 EXTEND
037071,000339: 22,2150 31321 DCA PIPTIME
037072,000340: 22,2151 53447 DXCH TPIP
037073,000341:
037074,000342: # FILL R AND V
037075,000343:
037076,000344: 22,2152 06103 TC INTPRET
037077,000345:
037078,000346: 22,2153 77775 VLOAD
037079,000347: 22,2154 01011 RN
037080,000348: 22,2155 26061 STOVL R # RN TO R WITHOUT RESCALING
037081,000349: 22,2156 01017 VN
037082,000350: 22,2157 77742 VSR2
037083,000351: 22,2160 02071 STORE V # VN TO V WITH SCALING ADJUSTMENT
037084,000352: 22,2161 77776 EXIT
037085,000353:
037086,000354: # IGNITN1 AND ADTTFNU BRANCH DECISIONS
037087,000355:
037088,000356: 22,2162 51401 INDEX NDXBR
037089,000357: 22,2163 10000 TCF BRIGN1 # TO IGNITN1 WHEN APPROPRIATE
037090,000358:
037091,000359: 22,2164 04147 RETIGN1 TC PHASCHNG # RETURN HERE WHETHER OR NOT DO IGNITN1.
037092,000360: 22,2165 04022 +402 OCT 04022 # PROTECT TTF/4TMP AS USED BY IGNITN1 FROM
037093,000361:
Page 821 |
037095,000363: # WIPEOUT BY ADTTFNU AND TTFINCR. ALSO
037096,000364: # PROTECT RTEMP, VTEMP FROM RS, VS (SHARE)
037097,000365:
037098,000366: 22,2166 11402 CCS FLPASS0
037099,000367: 22,2167 12211 TCF TTFINCR +1 # ON OTHER THAN FIRST PASS IN ANY PHASE.
037100,000368: 22,2170 51072 INDEX AVGEXIT
037101,000369: 22,2171 10001 TCF BRTTFNU # TO ADTTFNU WHEN APPROPRIATE
037102,000370:
037103,000371:
037104,000372: # ADD TTF/4NU TO TTF/4 FROM LAST PASS
037105,000373:
037106,000374: 22,2172 00006 ADTTFNU EXTEND
037107,000375: 22,2173 31453 DCA TTF/4
037108,000376: 22,2174 53455 DXCH TTF/4TMP
037109,000377: 22,2175 51400 INDEX NDX2DPS
037110,000378: 22,2176 33422 CA TTF/4NU
037111,000379: 22,2177 27454 ADS TTF/4TMP
037112,000380: 22,2200 04147 TC PHASCHNG # PROTECT TTF/4
037113,000381: 22,2201 04022 +402 OCT 04022
037114,000382:
037115,000383: 22,2202 00006 EXTEND
037116,000384: 22,2203 31455 DCA TTF/4TMP
037117,000385: 22,2204 53453 DXCH TTF/4 # RENEWED TTF/4
037118,000386:
037119,000387: 22,2205 04147 TC PHASCHNG # PROTECT TTF/4TMP FROM WIPEOUT BY TTFINCR
037120,000388: 22,2206 04022 +402 OCT 04022
037121,000389: 22,2207 01406 RETTTFNU TC RETNTLZ
037122,000390:
037123,000391:
037124,000392:
037125,000393: # ************************************************************************
037126,000394: # INCREMENT TTF/4
037127,000395:
037128,000396: # ************************************************************************
037129,000397:
037130,000398: 22,2210 02127 TTFINCR TC NTLZPASS
037131,000399: 22,2211 00006 +1 EXTEND
037132,000400: 22,2212 41451 DCS TPIPOLD
037133,000401: 22,2213 52145 DXCH MPAC
037134,000402: 22,2214 00006 EXTEND
037135,000403: 22,2215 31447 DCA TPIP
037136,000404: 22,2216 20145 DAS MPAC
037137,000405: 22,2217 37742 CA TSCALE
037138,000406:
037139,000407: 22,2220 07367 TC DMPNSUB # (TPIP-TPIPOLD)/4 TO MPAC, TTF UNITS
037140,000408:
037141,000409: 22,2221 00006 EXTEND
037142,000410: 22,2222 31453 DCA TTF/4
037143,000411: 22,2223 20145 DAS MPAC # YIELDS INCREMENTED TTF/4 IN MPAC
037144,000412: 22,2224 52145 DXCH MPAC
037145,000413: 22,2225 53455 DXCH TTF/4TMP
037146,000414: 22,2226 04147 TC PHASCHNG # PROTECT TTF/4
037147,000415: 22,2227 04022 +402 OCT 04022
037148,000416: 22,2230 00006 EXTEND
037149,000417:
Page 822 |
037151,000419: 22,2231 31455 DCA TTF/4TMP
037152,000420:
037153,000421: 22,2232 53453 DXCH TTF/4 # INCREMENTED TTF/4
037154,000422:
037155,000423:
037156,000424:
037157,000425: # ************************************************************************
037158,000426: # SET UP STATE IN LOCAL, PLANE, SPHERICAL COORDINATES
037159,000427: # ************************************************************************
037160,000428:
037161,000429: 22,2233 06103 STUP2DPS TC INTPRET
037162,000430: 22,2234 53575 VLOAD UNIT
037163,000431: 22,2235 02061 R
037164,000432: 22,2236 26012 STOVL CLT/2 # DEFINITION OF MATRIX CLT/2
037165,000433:
037166,000434: 22,2237 02357 CPT6/2
037167,000435: 22,2240 53435 VXV UNIT
037168,000436: 22,2241 02012 CLT/2
037169,000437: 22,2242 26020 STOVL CLT/2 +6
037170,000438: 22,2243 02012 CLT/2
037171,000439: 22,2244 76435 VXV VSL1
037172,000440: 22,2245 02020 CLT/2 +6
037173,000441: 22,2246 26026 STOVL CLT/2 +14
037174,000442: 22,2247 02071 V
037175,000443: 22,2250 76521 MXV VSL1
037176,000444:
037177,000445: 22,2251 02012 CLT/2 # - * -
037178,000446: 22,2252 26077 STOVL VL # VL = 2 CLT/2 V
037179,000447: 22,2253 02061 R
037180,000448: 22,2254 72441 DOT SL1
037181,000449: 22,2255 02357 CPT6/2 # - -
037182,000450: 22,2256 26105 STOVL RP2 # RP2 = 2 R.CPT6/2
037183,000451: 22,2257 02061 R
037184,000452: 22,2260 50235 VXV DOT
037185,000453: 22,2261 02071 V
037186,000454: 22,2262 02357 CPT6/2
037187,000455: 22,2263 77752 SL1 # - - -
037188,000456: 22,2264 26107 STOVL MAP2 # MAP2 = 2 R*V.CPT6/2
037189,000457:
037190,000458: 22,2265 02061 R
037191,000459: 22,2266 77646 ABVAL # -
037192,000460: 22,2267 16067 STODL RLENGTH # RLENGTH = ABVAL(R)
037193,000461: 22,2270 02105 RP2
037194,000462: 22,2271 65316 DSQ PDDL
037195,000463: 22,2272 02067 RLENGTH
037196,000464: 22,2273 45316 DSQ DSU
037197,000465: 22,2274 77766 SQRT # 2 2
037198,000466: 22,2275 16111 STODL RC # RC = SQRT(RLENGTH -RP2 )
037199,000467: 22,2276 02067 RLENGTH # -
037200,000468:
037201,000469: 22,2277 16113 STODL RS # DEFINITION OF RS, FIRST COMPONENT
037202,000470: 22,2300 02111 RC
037203,000471: 22,2301 77671 DDV
037204,000472: 22,2302 02067 RLENGTH
037205,000473: 22,2303 16127 STODL CRS2 # COSINE (RS2) = RC/RLENGTH
037206,000474:
Page 823 |
037208,000476: 22,2304 02105 RP2
037209,000477: 22,2305 77671 DDV
037210,000478: 22,2306 02067 RLENGTH
037211,000479: 22,2307 16131 STODL SRS2 # SINE (RS2) = RP2/RLENGTH
037212,000480: 22,2310 02105 RP2
037213,000481: 22,2311 77671 DDV
037214,000482:
037215,000483: 22,2312 02111 RC
037216,000484: 22,2313 16133 STODL TRS2 # TANGENT (RS2) = RP2/RC
037217,000485: 22,2314 02131 SRS2
037218,000486: 22,2315 67542 SR1 ARCSIN
037219,000487: 22,2316 52405 DMP SL3
037220,000488: 22,2317 05600 PI/4 # -
037221,000489: 22,2320 16117 STODL RS +4 # DEFINITION OF RS, THIRD COMPONENT
037222,000490: 22,2321 02103 VL +4
037223,000491: 22,2322 65271 DDV PDDL # THIS PUSH DOWN IS FOR 3RD COMP OF VS.
037224,000492: 22,2323 02067 RLENGTH
037225,000493: 22,2324 02101 VL +2
037226,000494: 22,2325 65271 DDV PDDL # THIS PUSH DOWN IS FOR 2ND COMP OF VS.
037227,000495:
037228,000496: 22,2326 02111 RC
037229,000497: 22,2327 02077 VL
037230,000498: 22,2330 77666 VDEF # DEFINITION OF SPHERICAL VELOCITY VECTOR
037231,000499: 22,2331 16121 STODL VS
037232,000500: 22,2332 02123 VS +2
037233,000501: 22,2333 77716 DSQ
037234,000502: 22,2334 41205 DMP DMP
037235,000503: 22,2335 02131 SRS2
037236,000504: 22,2336 02127 CRS2
037237,000505: 22,2337 41325 PDDL DMP
037238,000506:
037239,000507: 22,2340 02125 VS +4
037240,000508: 22,2341 02121 VS
037241,000509: 22,2342 72471 DDV SL1
037242,000510: 22,2343 02067 RLENGTH
037243,000511: 22,2344 57415 DAD DCOMP
037244,000512: 22,2345 41325 PDDL DMP # THIS PUSH DOWN IS FOR 3RD COMP OF ASPRT.
037245,000513: 22,2346 02123 VS +2
037246,000514: 22,2347 02121 VS
037247,000515: 22,2350 77671 DDV
037248,000516: 22,2351 02067 RLENGTH
037249,000517: 22,2352 41325 PDDL DMP
037250,000518: 22,2353 02133 TRS2
037251,000519:
037252,000520: 22,2354 02125 VS +4
037253,000521: 22,2355 77605 DMP
037254,000522: 22,2356 02123 VS +2
037255,000523: 22,2357 72425 DSU SL1
037256,000524: 22,2360 63525 PDDL DSQ # THIS PUSH DOWN IS FOR 2ND COMP OF ASPRT.
037257,000525: 22,2361 02067 RLENGTH
037258,000526: 22,2362 77665 BDDV
037259,000527: 22,2363 21143 MUEARTH
037260,000528: 22,2364 63525 PDDL DSQ
037261,000529: 22,2365 02125 VS +4
037262,000530:
Page 824 |
037264,000532: 22,2366 77605 DMP # -
037265,000533: 22,2367 02067 RLENGTH # THIS MONSTER ASPRT REPRESENTS
037266,000534:
037267,000535: 22,2370 63525 PDDL DSQ # INCIDENTAL ACCELERATIONS; DUE
037268,000536: 22,2371 02127 CRS2 # TO GRAVITY, CORIOLIS FORCES,
037269,000537: 22,2372 63525 PDDL DSQ # AND SO FORTH.
037270,000538: 22,2373 02123 VS +2
037271,000539: 22,2374 41205 DMP DMP
037272,000540: 22,2375 02067 RLENGTH
037273,000541: 22,2376 45215 DAD DSU
037274,000542: 22,2377 77666 VDEF # DEFINITION OF ASPRT
037275,000543: 22,2400 02135 STORE ASPRT
037276,000544: 22,2401 77776 EXIT
037277,000545:
037278,000546: 22,2402 37761 CA ZERO # SECOND COMPONENTS
037279,000547: 22,2403 55514 TS RS +2 # OF RS AND VS ARE
037280,000548: 22,2404 55515 TS RS +3 # ZEROED HERE TO PREVENT
037281,000549: 22,2405 55522 TS VS +2 # OVERFLOW TROUBLE IN
037282,000550: 22,2406 55523 TS VS +3 # THE ACS EQUATION.
037283,000551: 22,2407 04147 TC PHASCHNG # TIME ONLY?
037284,000552: 22,2410 04022 +402 OCT 04022
037285,000553: 22,2411 51401 INDEX NDXBR
037286,000554: 22,2412 10001 TCF BRLING # POSSIBLE BRANCH TO LINEAR GUIDANCE
037287,000555:
Page 825 |
037289,000557: # ************************************************************************
037290,000558: # TTF/4 COMPUTATION
037291,000559: # ************************************************************************
037292,000560:
037293,000561: 22,2413 00006 TTF/4CL EXTEND
037294,000562: 22,2414 51400 INDEX NDX2DPS
037295,000563: 22,2415 33446 DCA JDS2
037296,000564: 22,2416 53442 DXCH TABLTTF +6 # A(3) = JDS2 TO TABLTTF
037297,000565:
037298,000566: 22,2417 00006 EXTEND
037299,000567: 22,2420 51400 INDEX NDX2DPS
037300,000568: 22,2421 33430 DCA ADS +4
037301,000569: 22,2422 20001 DDOUBL
037302,000570: 22,2423 52145 DXCH MPAC
037303,000571: 22,2424 33576 CA SP3/4
037304,000572: 22,2425 07351 TC SHORTMP # LEAVING A(2) IN MPAC
037305,000573: 22,2426 52145 DXCH MPAC
037306,000574: 22,2427 53440 DXCH TABLTTF +4 # A(2) = (6 ADS2)/4 TO TABLTTF
037307,000575: 22,2430 37746 CA BIT8
037308,000576:
037309,000577: 22,2431 55443 TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE
037310,000578: 22,2432 00006 EXTEND
037311,000579: 22,2433 31525 DCA VS +4
037312,000580: 22,2434 52145 DXCH MPAC
037313,000581: 22,2435 33572 CA SP3/8
037314,000582: 22,2436 07351 TC SHORTMP # YIELDS 6/16 VS2 IN MPAC
037315,000583: 22,2437 00006 EXTEND
037316,000584: 22,2440 51400 INDEX NDX2DPS
037317,000585: 22,2441 33444 DCA VDS +4
037318,000586: 22,2442 20001 DDOUBL
037319,000587: 22,2443 52145 DXCH MPAC
037320,000588: 22,2444 53436 DXCH TABLTTF +2 # STORE 6/16 VS2 IN TABLTTF
037321,000589:
037322,000590: 22,2445 33573 CA SP9/16
037323,000591: 22,2446 07351 TC SHORTMP # YIELDS 18/16 VDS2 IN MPAC
037324,000592: 22,2447 00006 EXTEND
037325,000593: 22,2450 41517 DCS RS +4
037326,000594: 22,2451 52145 DXCH MPAC # -RS2 TO MPAC, FETCHING 18/16 VDS2
037327,000595: 22,2452 21436 DAS TABLTTF +2 # A(1) = (6 VS2+18 VDS2)/16
037328,000596:
037329,000597: 22,2453 00006 EXTEND
037330,000598: 22,2454 51400 INDEX NDX2DPS
037331,000599: 22,2455 33436 DCA RDS +4
037332,000600:
037333,000601: 22,2456 20145 DAS MPAC # YIELDS -RS2+RDS2 IN MPAC
037334,000602: 22,2457 33572 CA SP3/8
037335,000603: 22,2460 07351 TC SHORTMP
037336,000604: 22,2461 00006 EXTEND
037337,000605: 22,2462 30145 DCA MPAC
037338,000606: 22,2463 53434 DXCH TABLTTF # A(0) =-24(RS2-RDS2)/64
037339,000607:
037340,000608: 22,2464 00004 INHINT # SET INHIBITED LOOP TO STORE FOR DWNLINK
037341,000609: 22,2465 37756 CAF ELEVEN # INITIALIZE INDEX TO DEC 11
037342,000610: 22,2466 54070 RVSTOR TS RUPTREG1
037343,000611:
Page 826 |
037345,000613: 22,2467 50070 INDEX RUPTREG1
037346,000614:
037347,000615: 22,2470 31050 CA RN1
037348,000616: 22,2471 50070 INDEX RUPTREG1
037349,000617: 22,2472 55010 TS RN # STORE UPDATED RN, VN
037350,000618: 22,2473 10070 CCS RUPTREG1
037351,000619: 22,2474 12466 TCF RVSTOR
037352,000620: 22,2475 00006 EXTEND
037353,000621: 22,2476 31445 DCA PIPTIMET
037354,000622: 22,2477 53321 DXCH PIPTIME # UPDATED PIPTIME
037355,000623: 22,2500 00006 EXTEND
037356,000624: 22,2501 31321 DCA PIPTIME
037357,000625: 22,2502 53341 DXCH STATIME # STATE TIME FOR DWNLINK
037358,000626: 22,2503 00003 RELINT
037359,000627:
037360,000628: 22,2504 04147 TC PHASCHNG # TIME ONLY?
037361,000629: 22,2505 04022 +402 OCT 04022
037362,000630:
037363,000631:
037364,000632:
037365,000633: # ************************************************************************
037366,000634: # QUADRATIC GUIDANCE - SPHERICAL ACCELERATION AS QUADRATIC TIME FUNCTION
037367,000635: # ************************************************************************
037368,000636:
037369,000637: # -
037370,000638: # ACS EQUATION IS PROGRAMMED LIKE THIS:
037371,000639: # - -
037372,000640: # - - 1/2(RS-RDS)
037373,000641: # (VS+VDS) - -----------
037374,000642: # - TTF/4 -
037375,000643: # ACS = ---------------------- + ADS
037376,000644: # 2/3(TTF/4)
037377,000645:
037378,000646: 22,2506 06103 TC INTPRET
037379,000647: 22,2507 41345 DLOAD DMP
037380,000648: 22,2510 02053 TTF/4
037381,000649: 22,2511 05575 2DPS2/3
037382,000650:
037383,000651: 22,2512 51715 PDVL VSU*
037384,000652: 22,2513 02113 RS
037385,000653: 22,2514 05432 RDS,1
037386,000654: 22,2515 70362 VSR1 V/SC
037387,000655: 22,2516 02053 TTF/4
037388,000656: 22,2517 52715 PDVL VAD*
037389,000657: 22,2520 02121 VS
037390,000658: 22,2521 05440 VDS,1
037391,000659: 22,2522 70251 VSU V/SC
037392,000660: 22,2523 77653 VAD*
037393,000661: 22,2524 05424 ADS,1
037394,000662: 22,2525 02143 STORE ACS # BEHOLD, UNWORTHY MORTAL
037395,000663: 22,2526 77651 VSU
037396,000664: 22,2527 02135 ASPRT # - - -
037397,000665: 22,2530 16151 STODL AFCS # AFCS = ACS - ASPRT
037398,000666:
Page 827 |
037400,000668: 22,2531 02111 RC
037401,000669: 22,2532 41316 DSQ DMP
037402,000670: 22,2533 02053 TTF/4
037403,000671: 22,2534 45325 PDDL DSU
037404,000672: 22,2535 02107 MAP2
037405,000673: 22,2536 05450 MADP2
037406,000674:
037407,000675: 22,2537 77702 SR2
037408,000676: 22,2540 45471 DDV STADR # 2
037409,000677: 22,2541 61624 STODL AFCS +2 # AFCS = 1/4(MAP -MADP )/RC (TTF/4)
037410,000678: 22,2542 02155 AFCS +4 # 1 2 2
037411,000679:
037412,000680:
037413,000681:
037414,000682: # ************************************************************************
037415,000683: # THRUST ACCEL POINTING AND MAGNITUDE COMMANDS - DUE TO QUAD OR LINR GUID
037416,000684: # ************************************************************************
037417,000685:
037418,000686: 22,2543 65205 AFCCALC DMP PDDL # COMES HERE FROM LINGUID.
037419,000687:
037420,000688: 22,2544 02067 RLENGTH
037421,000689: 22,2545 02153 AFCS +2
037422,000690: 22,2546 65205 DMP PDDL
037423,000691: 22,2547 02111 RC
037424,000692: 22,2550 02151 AFCS
037425,000693: 22,2551 61266 VDEF VXM
037426,000694: 22,2552 02012 CLT/2
037427,000695: 22,2553 77772 VSL1 # - *
037428,000696: 22,2554 02157 STORE AFC # AFC = 2(AFCS , RC AFCS ,RLENGTH AFCS )CLT/2
037429,000697: 22,2555 77656 UNIT # 0 1 2
037430,000698:
037431,000699: 22,2556 16171 STODL UNAFC/2
037432,000700: 22,2557 00045 36D # MAGNITUDE OF AFC, /AFC/
037433,000701: 22,2560 02165 STORE /AFC/ # FOR IGNITION ALGORITHM
037434,000702: 22,2561 77762 SR1R # CONVERTS /AFC/ TO THROTCON UNITS, /ACF/
037435,000703: 22,2562 01335 STORE /ACF/ # FOR THROTTLE CONTROL SUBR THROTCON
037436,000704: 22,2563 77776 EXIT
037437,000705: 22,2564 51401 INDEX NDXBR
037438,000706: 22,2565 10002 TCF BRIGN2
037439,000707:
037440,000708: 22,2566 54111 -3 TS OVFIND # RETURN FROM TTF/4 OVERFLOW
037441,000709: 22,2567 37760 -2 CA FIVE # RETURN RESETTING COUNTFC
037442,000710: 22,2570 55404 -1 TS COUNTFCT # RETURN DECREMENTING COUNTFC
037443,000711:
037444,000712: 22,2571 04147 RETIGN2 TC PHASCHNG # RETURN (NORMAL) FROM IGNITN2
037445,000713: 22,2572 04022 +402 OCT 04022 # PREVENT GOING FAR BACK IN 2DPS AFTR EXIT
037446,000714:
037447,000715:
037448,000716:
037449,000717: # ************************************************************************
037450,000718: # PREPARE TO EXIT
037451,000719: # ************************************************************************
037452,000720:
037453,000721: 22,2573 25402 INCR FLPASS0 # INCR FIRST PASS FLAG. REPEATS ARE OK.
037454,000722:
Page 828 |
037456,000724: 22,2574 51072 INDEX AVGEXIT
037457,000725: 22,2575 40004 CS TTF/4CR
037458,000726:
037459,000727: 22,2576 61452 AD TTF/4
037460,000728: 22,2577 00006 EXTEND
037461,000729: 22,2600 51401 INDEX NDXBR
037462,000730: 22,2601 60003 BZMF BRXMID # CONTINUE PRESENT PHASE
037463,000731:
037464,000732: 22,2602 31072 CA AVGEXIT # PREPARE FOR NEW PHASE
037465,000733: 22,2603 55405 TS AVGXTEMP # TEMPORARY PROTECTION FOR AVGEXIT
037466,000734: 22,2604 04147 TC PHASCHNG # PROTECT AVGEXIT
037467,000735: 22,2605 04022 +402 OCT 04022
037468,000736: 22,2606 31405 CA AVGXTEMP
037469,000737:
037470,000738: 22,2607 66276 AD SIX
037471,000739: 22,2610 55072 TS AVGEXIT
037472,000740: 22,2611 37761 CA ZERO
037473,000741: 22,2612 55402 TS FLPASS0 # RESET FLAG INDICATING PASS ZERO (FIRST)
037474,000742: 22,2613 51405 INDEX AVGXTEMP
037475,000743: 22,2614 10005 TCF BRXEND
037476,000744:
Page 829 |
037478,000746: # ************************************************************************
037479,000747: # ROUTINES FOR EXITING FROM SECOND DPS GUIDANCE. THESE ARE:
037480,000748: # ************************************************************************
037481,000749:
037482,000750: # 1. EXIGMID CALLS CALCRVG AS AN INTERPRETIVE SUBROUTINE UP UNTIL BUT NOT INCLUDING THE LAST PASS DURING
037483,000751: # THE PREBURN PHASE. UPON RETURN EXIGMID RESTARTS 2DPS.
037484,000752:
037485,000753: # 2. EXIGEND IS USED ON THE LAST PASS DURING PREBURN. IT SETS UP FOR KALCMANU, FOR THE SUBSEQUENT 2DPS
037486,000754:
037487,000755: # BURN, AND EXITS TO THE MISSION CONTROL PROGRAM.
037488,000756:
037489,000757: # 3. EXQDLIN IS USED TO TERMINATE EACH PASS UP UNTIL BUT NOT INCLUDING THE LAST PASS ON ALL 2DPS BURN
037490,000758: # PHASES. EXQDLIN OBTAINS ATTITUDE AND THROTTLE CONTROL AND TERMINATES THE JOB.
037491,000759:
037492,000760: # 4. EXFINAL IS THE FINAL 2DPS EXIT. IT SETS UP THE ATTITUDE COMMAND FOR RANDOM THROTTLING, OBTAINS
037493,000761: # ATTITUDE AND THROTTLE CONTROL, AND EXITS TO THE MISSION CONTROL PROGRAM.
037494,000762:
037495,000763:
037496,000764:
037497,000765: # EXIGMID SETS UP FOR CALCRVG TO MOVE STATE FORWARD A SPECIFIED TIME, INITIALIZES THE INTERPRETER, CALLS CALCRVG
037498,000766: # AS AN INTERPRETIVE SUBROUTINE, AND UPON RETURN SETS UP FOR IGNALG AND BRANCHES INDIRECTLY THERETO.
037499,000767:
037500,000768: 22,2615 03373 EXIGMID TC PRETINIT # INITIALIZES INTERPRETER FOR CALCRVG
037501,000769: # SUCCEEDING CODING MUST NOT UNDO
037502,000770:
037503,000771: 22,2616 06103 TC INTPRET
037504,000772: 22,2617 43345 DLOAD DAD
037505,000773: 22,2620 05567 PIGNALG
037506,000774: 22,2621 01321 PIPTIME
037507,000775: 22,2622 26045 STOVL PIPTIMET # UPDATED PIPTIME TEMPORARY STORAGE
037508,000776: 22,2623 05562 ZEROPOS
037509,000777: 22,2624 34404 STCALL DELV # DELV = 0
037510,000778:
037511,000779: 22,2625 61077 CALCRVG # STEPS FORWARD IN TIME LEAVING RN1, VN1
037512,000780: 22,2626 77776 EXIT
037513,000781:
037514,000782: 22,2627 33545 CA E2DPSL # ASSURE CORRECT EBANK BEFORE
037515,000783: 22,2630 54003 TS EBANK # DOING PHASCHNG
037516,000784: 22,2631 04147 TC PHASCHNG # PROTECT PIPTIME. PREVENT REDOING CALCRVG
037517,000785: 22,2632 04022 +402 OCT 04022
037518,000786: 22,2633 06103 TC INTPRET
037519,000787: 22,2634 77745 DLOAD
037520,000788: 22,2635 02045 PIPTIMET
037521,000789:
037522,000790: 22,2636 25321 STOVL PIPTIME # UPDATED PIPTIME
037523,000791: 22,2637 01051 RN1
037524,000792: 22,2640 25011 STOVL RN # UPDATED POSITION
037525,000793: 22,2641 01057 VN1
037526,000794: 22,2642 01017 STORE VN # UPDATED VELOCITY
037527,000795: 22,2643 77776 EXIT
037528,000796: 22,2644 01072 TC AVGEXIT # RETURNS TO APPROPRIATE LOCATION IN 2DPS.
037529,000797:
Page 830 |
037531,000799:
037532,000800: # EXIGEND EXTRAPOLATES UNAFC/2 TO TTF/4 = 0, SETS UP FOR MISSION CONTROL PROGRAM, SETS UP FOR THE SUCCEEDING
037533,000801:
037534,000802: # BRAKING PHASE, AND EXITS TO THE MISSION CONTROL PROGRAM.
037535,000803:
037536,000804: # EXTRAPOLATE UNAFC/2
037537,000805:
037538,000806: # UNAFC/2 = UNAFC/2+(UNAFC/2-UNAFC/2O)(TTF)/(TPIPOLD-TPIP)
037539,000807:
037540,000808: 22,2645 00006 EXIGEND EXTEND
037541,000809: 22,2646 31451 DCA TPIPOLD
037542,000810: 22,2647 52145 DXCH MPAC
037543,000811: 22,2650 00006 EXTEND
037544,000812: 22,2651 41447 DCS TPIP
037545,000813: 22,2652 20145 DAS MPAC
037546,000814:
037547,000815: 22,2653 37742 CA TSCALE
037548,000816: 22,2654 00006 EXTEND
037549,000817: 22,2655 77753 MP BIT3 # MULTIPLIES BY N = 4 LEAVING RESULT IN L
037550,000818: 22,2656 30001 CA L # ASSUMES N(TPIPOLD-TPIP)/4>TTF/4 IN MAGN.
037551,000819: 22,2657 07367 TC DMPNSUB # N(TPIPOLD-TPIP)/4 TO MPAC, TTF UNITS
037552,000820: 22,2660 00006 EXTEND
037553,000821: 22,2661 31453 DCA TTF/4
037554,000822: 22,2662 52145 DXCH MPAC # DIVIDEND TO MPAC
037555,000823: 22,2663 52121 DXCH BUF # DIVISOR TO BUF
037556,000824: 22,2664 05336 TC USPRCADR
037557,000825:
037558,000826: 22,2665 00352 CADR DDV/BDDV # (TTF/4)/(N(TPIPOLD-TPIP)/4) TO MPAC
037559,000827:
037560,000828: 22,2666 37761 CA ZERO
037561,000829: 22,2667 54153 TS MODE # TO INDICATE DP IN MPAC
037562,000830:
037563,000831: 22,2670 06103 TC INTPRET
037564,000832: 22,2671 52315 PDVL VSU
037565,000833: 22,2672 02171 UNAFC/2
037566,000834: 22,2673 02177 UNAFC/20
037567,000835: 22,2674 74352 VSL2 VXSC # VSL2 UNDOES MP BIT3 PRECEDING
037568,000836: 22,2675 02171 UNAFC/2
037569,000837: 22,2676 77655 VAD
037570,000838:
037571,000839: 22,2677 02171 UNAFC/2 # YIELDS EXTRAPOLATED UNAFC/2
037572,000840:
037573,000841: # SET UP FOR MISSION CONTROL PROGRAM
037574,000842:
037575,000843: 22,2700 15656 STODL POINTVSM # STORE FOR KALCMANU
037576,000844: 22,2701 02053 TTF/4
037577,000845: 22,2702 41276 DCOMP DMP
037578,000846: 22,2703 05561 TSCALINV
037579,000847: 22,2704 77615 DAD
037580,000848: 22,2705 01321 PIPTIME
037581,000849:
037582,000850: 22,2706 02057 STORE TULLG # TIME AT WHICH ULLAGE IS TO START
037583,000851:
037584,000852: # SET UP FOR BRAKING PHASE
037585,000853:
037586,000854: 22,2707 77776 EXIT
037587,000855:
Page 831 |
037589,000857: 22,2710 04147 TC PHASCHNG # PROTECT TTF/4 AND PREVENT REREADING REG-
037590,000858: 22,2711 04022 +402 OCT 04022 # ISTERS REWRITTEN BY MISN CONT PROGRAM
037591,000859: 22,2712 00006 EXTEND
037592,000860: 22,2713 31455 DCA TTF/4TMP
037593,000861: 22,2714 53453 DXCH TTF/4
037594,000862:
037595,000863: # RETURN TO MISSION CONTROL PROGRAM
037596,000864:
037597,000865: 22,2715 03373 TC PRETINIT # INITIALIZES INTERPRETER
037598,000866: 22,2716 00006 EXTEND
037599,000867: 22,2717 33553 DCA RETPREBL
037600,000868: 22,2720 52006 DTCB
037601,000869:
Page 832 |
037603,000871: # EXQDLIN STORES THE SEMI-UNIT VECTOR DEFINING THE DIRECTION OF COMMANDED THRUST ACCELERATION (UNAFC/2) IN THE
037604,000872: # APPROPRIATE REGISTERS OF FINDCDUD (AXISD) AND CALLS FINDCDUD AS A SUBROUTINE.
037605,000873:
037606,000874: # THEN EXQDLIN TRANSFERS THE COMMANDED THRUST ACCELERATION MAGNITUDE (/AFC/) TO THE APPROPRIATE REGISTERS OF
037607,000875: # THROTCON, (/ACF/), CHANGING SCALING, AND CALLS THROTCON AS A SUBROUTINE.
037608,000876: # FINALLY EXQDLIN TERMINATES THE JOB.
037609,000877:
037610,000878: 22,2721 06103 EXQDLIN TC INTPRET
037611,000879: 22,2722 77775 VLOAD
037612,000880: 22,2723 02171 UNAFC/2
037613,000881: 22,2724 36233 STCALL AXISD
037614,000882: 22,2725 60643 FINDCDUD # ATTITUDE CONTROL
037615,000883: 22,2726 77776 EXIT
037616,000884:
037617,000885:
037618,000886: 22,2727 00006 EXTEND
037619,000887: 22,2730 33557 DCA THROTCOL
037620,000888: 22,2731 52006 DTCB # THROTTLE CONTROL
037621,000889: 22,2732 05605 TC ENDOFJOB # TERMINATES THE JOB PERIODICALLY STARTED
037622,000890: # BY A WAITLIST CALL FROM READACCS
037623,000891:
037624,000892:
037625,000893:
037626,000894: # EXFINAL IS THE FINAL EXIT FROM 2DPS. FIRST EXFINAL PLACES THE SEMI-UNIT NORMAL TO THE ORBITAL PLANE (CPT6/2)
037627,000895: # IN AXISD AND CALLS FINDCDUD AS A SUBROUTINE. THIS CAUSES FURTHER THRUSTING TO BE NORMAL TO THE ORBITAL PLANE.
037628,000896: # THEN EXFINAL TRANSFERS THE COMMANDED THRUST ACCELERATION MAGNITUDE (/AFC/) TO THE APPROPRIATE REGISTERS OF
037629,000897:
037630,000898: # THROTCON, (/ACF/), CHANGING SCALING, AND CALLS THROTCON AS A SUBROUTINE.
037631,000899: # FINALLY EXFINAL RETURNS TO THE MISSION CONTROL PROGRAM WHICH EXECUTES THE RANDOM THROTTLING.
037632,000900:
037633,000901: 22,2733 06103 EXFINAL TC INTPRET
037634,000902: 22,2734 77775 VLOAD
037635,000903: 22,2735 02357 CPT6/2
037636,000904: 22,2736 36233 STCALL AXISD
037637,000905: 22,2737 60643 FINDCDUD # ATTITUDE CONTROL
037638,000906: 22,2740 77776 EXIT
037639,000907:
037640,000908: 22,2741 00006 EXTEND
037641,000909: 22,2742 33557 DCA THROTCOL
037642,000910: 22,2743 52006 DTCB # THROTTLE CONTROL
037643,000911: 22,2744 03373 TC PRETINIT # INITIALIZES INTERPRETER
037644,000912: 22,2745 00006 EXTEND
037645,000913: 22,2746 33555 DCA RETBURNL
037646,000914: 22,2747 52006 DTCB
037647,000915:
Page 833 |
037649,000917: # ************************************************************************
037650,000918: # SPECIAL PURPOSE SUBROUTINES OF SECOND DPS GUIDANCE
037651,000919: # ************************************************************************
037652,000920:
037653,000921: # ************************************************************************
037654,000922: # IGNITION ALGORITHM
037655,000923: # ************************************************************************
037656,000924:
037657,000925:
037658,000926: # IGNITN1 EXTRAPOLATES THE GIVEN STATE FORWARD THROUGH THE TIME INTERVAL REQUIRED TO ACCOMPLISH ULLAGE AND TO
037659,000927: # LITE AT LOW THRUST AND TRIM THE ENGINE. THE EXTRAPOLATION ENDS AT THE TIME MAXIMUM THRUST WOULD BE COMMANDED
037660,000928: # IF THE LITEUP PROCEDURE WERE INITIATED AT THE CURRENT GIVEN TIME. (THE GIVEN TIME IS NOT TRUE. ALL GIVEN
037661,000929: # CONDITIONS INCLUDE A FREE-FALL EXTRAPOLATION OF THE ACTUAL ORBIT.) THE EXTRAPOLATION PERFORMED BY IGNITN1
037662,000930: # INCLUDES ALL EFFECTS OF ENGINE THRUST DURING THE LITEUP PROCEDURE, AND IT USES THE
037663,000931: # THRUST POINTING DIRECTION WHICH WILL BE COMMANDED AT THE INITIATION OF MAXIMUM THRUST.
037664,000932: # THIS EXTRAPOLATED STATE IS THEN FED TO THE GUIDANCE EQUATIONS, WHICH COMPUTE THE THRUST POINTING
037665,000933: # DIRECTION (UNAFC/2) AND THE THRUST ACCELERATION MAGNITUDE COMMAND (/AFC/).
037666,000934:
037667,000935: # IGNITN2 THEN RECEIVES THIS OUTPUT DATA FROM THE GUIDANCE EQUATIONS AND DETERMINES WHETHER THE THRUST
037668,000936:
037669,000937: # ACCELERATION MAGNITUDE COMMAND IS MONOTONICALLY INCREASING. WHEN IT IS, IGNITN2 USES THE PRESENT AND PREVIOUS
037670,000938: # VALUES TO COMPUTE ONE QUARTER OF THE PRESENT TIME (TTF/4) RELATIVE TO THE TIME AT WHICH THE THRUST
037671,000939: # ACCELERATION MAGNITUDE COMMAND WILL REACH THE CRITERION VALUE (/AFC/CR) WHICH CORRESPONDS TO MAXIMUM THROTTLE.
037672,000940: # WHEN TTF/4 SO COMPUTED REACHES THE TIME CRITERION FOR TERMINATING THE PREBURN PHASE (TTF/4CR),
037673,000941: # EXIGEND IS PROCESSED, TERMINATING THE PHASE AND RETURNING CONTROL TO THE MISSION CONTROL PROGRAM.
037674,000942: # THE MISSION CONTROL PROGRAM EXECUTES THE COMPUTED IGNITION SEQUENCE. IGNITN2 MUST ALSO, ON EACH PASS,
037675,000943: # REESTABLISH CERTAIN DATA REQUIRED FOR THE SUBSEQUENT PASS.
037676,000944:
037677,000945: # IGNITION ALGORITHM PART 1
037678,000946: # ************************************************************************
037679,000947:
037680,000948: # DO TEMPORARY STORAGE
037681,000949:
037682,000950: 22,2750 06103 IGNITN1 TC INTPRET
037683,000951: 22,2751 77745 DLOAD
037684,000952: 22,2752 02165 /AFC/
037685,000953: 22,2753 26167 STOVL /AFC/OLD # OLD VALUE OF /AFC/ FOR USE BY IGNITN2
037686,000954:
037687,000955: 22,2754 02171 UNAFC/2
037688,000956: 22,2755 26177 STOVL UNAFC/20 # OLD VALUE OF UNAFC/2
037689,000957:
037690,000958: # EXTRAPOLATE STATE
037691,000959:
037692,000960:
037693,000961: 22,2756 02061 R
037694,000962: 22,2757 24011 STOVL RDUM
037695,000963: 22,2760 02071 V
037696,000964: 22,2761 24017 STOVL VDUM
037697,000965: 22,2762 02213 GDOTM1
037698,000966: 22,2763 14025 STODL JDUM
037699,000967: 22,2764 05407 PFCULLG # ULLAGE PERIOD
037700,000968: 22,2765 14007 STODL PDUM # DUMMY PERIOD
037701,000969: 22,2766 05411 AFULLG # LEAVE AFULLG IN MPAC
037702,000970:
Page 834 |
037704,000972: 22,2767 77624 CALL # EXTRAPOLATES DUMMY STATE AND
037705,000973:
037706,000974: 22,2770 45124 XTRIGN1 # LEAVES INITIAL GRAVITY IN GDUM
037707,000975:
037708,000976: 22,2771 77775 VLOAD
037709,000977: 22,2772 00033 GDUM
037710,000978: 22,2773 16205 STODL GDUMPRES # SAVE INITL GRAVITY FOR COMPUTING GDOTM1
037711,000979:
037712,000980: 22,2774 05413 PFCLITE # LITEUP PERIOD
037713,000981: 22,2775 14007 STODL PDUM
037714,000982: 22,2776 05415 AFLITE # LEAVE AFLITE IN MPAC
037715,000983: 22,2777 77624 CALL
037716,000984: 22,3000 45124 XTRIGN1 # EXTRAPOLATE
037717,000985:
037718,000986:
037719,000987: 22,3001 77745 DLOAD
037720,000988: 22,3002 05417 PFCTRIM # TRIM PERIOD
037721,000989: 22,3003 14007 STODL PDUM
037722,000990: 22,3004 05421 AFTRIM # LEAVE AFTRIM IN MPAC
037723,000991: 22,3005 77624 CALL
037724,000992: 22,3006 45124 XTRIGN1 # YIELDS FINAL EXTRAPOLATED STATE
037725,000993:
037726,000994: 22,3007 77775 VLOAD
037727,000995: 22,3010 00011 RDUM
037728,000996: 22,3011 26113 STOVL RTEMP # RESTART PROTECTION FOR EXTRAPOLATED R
037729,000997:
037730,000998: 22,3012 00017 VDUM
037731,000999: 22,3013 36121 STCALL VTEMP # RESTART PROTECTION FOR EXTRAPOLATED V
037732,001000:
037733,001001: # COMPUTE DERIVATIVE OF GRAVITY
037734,001002:
037735,001003: 22,3014 45363 GDUMCL # YIELDS FINAL GRAVITY IN MPAC AND GDUM
037736,001004: 22,3015 70251 VSU V/SC
037737,001005: 22,3016 02205 GDUMPRES
037738,001006: 22,3017 05401 PPHM1 # COMPLETES COMPUTATION OF DERIV OF G
037739,001007: 22,3020 02213 STORE GDOTM1 # FOR USE NEXT PASS. PROTECTION NOT RQD.
037740,001008: 22,3021 77776 EXIT
037741,001009:
037742,001010:
037743,001011: # GENERATION OF EXTRAPOLATED DATA COMPLETE. PROTECT AND TRANSFER TO STORAGE.
037744,001012:
037745,001013: 22,3022 04147 TC PHASCHNG # PROTECT R, V
037746,001014: 22,3023 04022 +402 OCT 04022
037747,001015: 22,3024 06103 TC INTPRET
037748,001016: 22,3025 77745 DLOAD
037749,001017: 22,3026 02055 TTF/4TMP
037750,001018: 22,3027 26053 STOVL TTF/4 # RESTORES TTF/4 TO LAST VALUE BY GUIDANCE
037751,001019: 22,3030 02113 RTEMP
037752,001020: 22,3031 26061 STOVL R # EXTRAPOLATED R
037753,001021:
037754,001022: 22,3032 02121 VTEMP
037755,001023: 22,3033 02071 STORE V # EXTRAPOLATED V
037756,001024: 22,3034 77776 EXIT
037757,001025: 22,3035 31404 CA COUNTFCT
037758,001026: 22,3036 55403 TS COUNTFC # FOR IGNITN2
037759,001027:
Page 835 |
037761,001029: 22,3037 03205 TC XTRTPIP # YIELDS TPIP EXTRAPOLATED
037762,001030: 22,3040 12164 TCF RETIGN1
037763,001031:
037764,001032:
037765,001033:
037766,001034: # IGNITION ALGORITHM PART 2
037767,001035:
037768,001036: # ************************************************************************
037769,001037:
037770,001038: 22,3041 00006 IGNITN2 EXTEND
037771,001039: 22,3042 31453 DCA TTF/4
037772,001040: 22,3043 53455 DXCH TTF/4TMP # SAVE TTF/4 FOR NEXT PASS
037773,001041: 22,3044 04147 TC PHASCHNG # PROTECT TTF/4
037774,001042: 22,3045 04022 +402 OCT 04022
037775,001043: 22,3046 47735 CS POSMAX
037776,001044: 22,3047 55452 TS TTF/4 # PREVENT PREMATURE TERMINATION OF PREBURN
037777,001045:
037778,001046: # TEST WHETHER /AFC/ > /AFC/OLD, IF SO TEST WHETHER COUNTFC = 0.
037779,001047:
037780,001048: 22,3050 00006 EXTEND
037781,001049: 22,3051 31565 DCA /AFC/
037782,001050: 22,3052 52145 DXCH MPAC
037783,001051: 22,3053 00006 EXTEND
037784,001052: 22,3054 41567 DCS /AFC/OLD
037785,001053: 22,3055 20145 DAS MPAC # /AFC/-/AFC/OLD IN MPAC
037786,001054:
037787,001055: 22,3056 10144 CCS MPAC # TEST HI ORDER
037788,001056: 22,3057 13065 TCF TCOUNTFC
037789,001057: 22,3060 13062 TCF TSTLOAFC
037790,001058:
037791,001059: 22,3061 12567 TCF RETIGN2 -2 # RESET COUNTFC
037792,001060: 22,3062 30145 TSTLOAFC CA MPAC +1 # TEST LO ORDER
037793,001061: 22,3063 00006 EXTEND
037794,001062: 22,3064 62567 BZMF RETIGN2 -2 # RESET COUNTFC
037795,001063: 22,3065 11403 TCOUNTFC CCS COUNTFC
037796,001064: 22,3066 12570 TCF RETIGN2 -1 # DECREMENT COUNTFC
037797,001065:
037798,001066: # RESET TTF/4 BY EXTRAPOLATING /AFC/
037799,001067:
037800,001068: # TTF/4 = (1/4)(TPIPOLD-TPIP)(/AFC/-/AFC/CR)/(/AFC/OLD-/AFC/)
037801,001069:
037802,001070: 22,3067 00006 EXTEND
037803,001071:
037804,001072: 22,3070 31451 DCA TPIPOLD
037805,001073: 22,3071 52145 DXCH MPAC
037806,001074: 22,3072 00006 EXTEND
037807,001075: 22,3073 41447 DCS TPIP
037808,001076: 22,3074 20145 DAS MPAC
037809,001077: 22,3075 37742 CA TSCALE
037810,001078: 22,3076 07367 TC DMPNSUB # (1/4)(TPIPOLD-TPIP) TO MPAC, TTF UNITS
037811,001079:
037812,001080: 22,3077 00006 EXTEND
037813,001081: 22,3100 31565 DCA /AFC/
037814,001082:
Page 836 |
037816,001084: 22,3101 52150 DXCH MPAC +3
037817,001085: 22,3102 00006 EXTEND
037818,001086:
037819,001087: 22,3103 43405 DCS /AFC/CR
037820,001088: 22,3104 20150 DAS MPAC +3
037821,001089: 22,3105 07146 TC DMP
037822,001090: 22,3106 00147 GENADR MPAC +3
037823,001091:
037824,001092: 22,3107 00006 EXTEND
037825,001093: 22,3110 31567 DCA /AFC/OLD
037826,001094: 22,3111 52121 DXCH BUF
037827,001095: 22,3112 00006 EXTEND
037828,001096: 22,3113 41565 DCS /AFC/
037829,001097:
037830,001098: 22,3114 20121 DAS BUF
037831,001099: 22,3115 05336 TC USPRCADR
037832,001100: 22,3116 00352 CADR DDV/BDDV # YIELDS TTF/4 IN MPAC
037833,001101:
037834,001102: 22,3117 10111 CCS OVFIND
037835,001103: 22,3120 12566 TCF RETIGN2 -3 # IF TTF/4 OVFL. RESETS OVFIND, COUNTFC.
037836,001104:
037837,001105: 22,3121 52145 DXCH MPAC
037838,001106: 22,3122 53453 DXCH TTF/4
037839,001107: 22,3123 12571 TCF RETIGN2
037840,001108:
037841,001109:
037842,001110:
037843,001111: # ************************************************************************
037844,001112: # SPECIAL PURPOSE STATE EXTRAPOLATION SUBROUTINE FOR IGNITN1
037845,001113: # ************************************************************************
037846,001114:
037847,001115: # XTRIGN1 RECEIVES THE EXTRAPOLATION PERIOD IN PDUM; THE INITIAL STATE IN RDUM, VDUM; THE THRUST ACCELERATION
037848,001116: # MAGNITUDE IN MPAC, DIRECTION IN UNAFC/2; AND JERK IN JDUM.
037849,001117:
037850,001118: # IT LEAVES GRAVITY IN GDUM, THE TOTAL INITIAL ACCELERATION IN ADUM, AND THE EXTRAPOLATED STATE IN RDUM, VDUM.
037851,001119:
037852,001120: # PRESENTLY THE DUM REGISTERS OCCUPY LOCATIONS FIXLOC +6 THRU FIXLOC +45 OCTAL.
037853,001121:
037854,001122: 22,3124 77620 XTRIGN1 STQ
037855,001123: 22,3125 02007 RETXIGN1 # SAVE QPRET
037856,001124: 22,3126 74352 SL1 VXSC
037857,001125: 22,3127 02171 UNAFC/2
037858,001126: 22,3130 45006 PUSH CALL # PUSHES AF UNAFC
037859,001127: 22,3131 45363 GDUMCL # YIELDS GRAVITY IN MPAC AND GDUM
037860,001128: 22,3132 45455 VAD STADR
037861,001129: 22,3133 77736 STORE ADUM # ADUM = AF UNAFC+G
037862,001130: 22,3134 77624 CALL
037863,001131: 22,3135 45333 XTRDUMST # EXTRAPOLATES RDUM, VDUM
037864,001132: 22,3136 77650 GOTO
037865,001133: 22,3137 02007 RETXIGN1
037866,001134:
Page 837 |
037868,001136: # ************************************************************************
037869,001137: # LINEAR GUIDANCE - SPHERICAL ACCELERATION AS LINEAR TIME FUNCTION
037870,001138: # ************************************************************************
037871,001139:
037872,001140: # SET LINEAR GUIDANCE COEFFICIENTS IN EVEN NUMBERED PHASES
037873,001141: # ************************************************************************
037874,001142:
037875,001143: 22,3140 02127 LSETEVN TC NTLZPASS
037876,001144:
037877,001145: 22,3141 06103 TC INTPRET
037878,001146: 22,3142 77773 VLOAD*
037879,001147: 22,3143 05424 ADS,1 # - -
037880,001148: 22,3144 16205 STODL ALINS # ALINS = ADS
037881,001149: 22,3145 02153 AFCS +2
037882,001150: 22,3146 77615 DAD
037883,001151: 22,3147 02137 ASPRT +2
037884,001152: 22,3150 02145 STORE ACS +2
037885,001153: 22,3151 26207 STOVL ALINS +2 # ALINS = ACS = AFCS + ASPRT
037886,001154: 22,3152 02205 ALINS # 2 2 2 2
037887,001155: 22,3153 77650 GOTO
037888,001156: 22,3154 45162 LINSET
037889,001157:
037890,001158: # SET LINEAR GUIDANCE COEFFICIENTS IN ODD NUMBERED PHASES
037891,001159: # ************************************************************************
037892,001160:
037893,001161: 22,3155 02127 LSETODD TC NTLZPASS
037894,001162: 22,3156 06103 TC INTPRET
037895,001163: 22,3157 77773 VLOAD*
037896,001164: 22,3160 05424 ADS,1 # - -
037897,001165: 22,3161 02205 STORE ALINS # ADINS = ADS
037898,001166:
037899,001167:
037900,001168: # COMMON PARTS OF LSETEVN AND LSETODD
037901,001169: # ************************************************************************
037902,001170:
037903,001171: 22,3162 77645 LINSET BVSU
037904,001172: 22,3163 02143 ACS
037905,001173: 22,3164 70342 VSR2 V/SC
037906,001174: 22,3165 02053 TTF/4 # - - -
037907,001175: 22,3166 02213 STORE JLINS # JLINS = 1/4 (ACS - ALINS)/(TTF/4)
037908,001176: 22,3167 77776 EXIT
037909,001177: 22,3170 12211 TCF TTFINCR +1
037910,001178:
037911,001179: # LINEAR GUIDANCE EQUATIONS
037912,001180: # ************************************************************************
037913,001181:
037914,001182: 22,3171 06103 LINGUID TC INTPRET
037915,001183: 22,3172 74375 VLOAD VXSC
037916,001184: 22,3173 02213 JLINS
037917,001185: 22,3174 02053 TTF/4
037918,001186: 22,3175 77752 VSL2
037919,001187: 22,3176 52255 VAD VSU
037920,001188:
Page 838 |
037922,001190: 22,3177 02205 ALINS
037923,001191:
037924,001192: 22,3200 02135 ASPRT # - - - -
037925,001193: 22,3201 16151 STODL AFCS # AFCS = 4 JLINS/(TTF/4) + ALINS - ASPRT
037926,001194: 22,3202 02155 AFCS +4
037927,001195: 22,3203 77650 GOTO
037928,001196: 22,3204 44543 AFCCALC
037929,001197:
037930,001198:
037931,001199:
037932,001200: # ************************************************************************
037933,001201: # SUBROUTINE TO SET TPIP EXTRAPOLATED
037934,001202: # ************************************************************************
037935,001203:
037936,001204: 22,3205 00006 XTRTPIP EXTEND
037937,001205: 22,3206 31321 DCA PIPTIME
037938,001206: 22,3207 53447 DXCH TPIP
037939,001207: 22,3210 00006 EXTEND
037940,001208: 22,3211 33403 DCA PPHM1CS
037941,001209: 22,3212 21447 DAS TPIP
037942,001210: 22,3213 00002 TC Q
037943,001211:
Page 839 |
037945,001213: # ************************************************************************
037946,001214: # GENERAL PURPOSE SUBROUTINES CONTRIBUTED BY SECOND DPS GUIDANCE
037947,001215: # ************************************************************************
037948,001216:
037949,001217: # ************************************************************************
037950,001218: # DOUBLE PRECISION ROOT FINDER SUBROUTINE
037951,001219: # ************************************************************************
037952,001220:
037953,001221: # N N-1
037954,001222: # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A
037955,001223: # N N-1 1 0
037956,001224:
037957,001225: # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS:
037958,001226:
037959,001227: # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL
037960,001228: # L SP N-1 N IS THE DEGREE OF THE POWER SERIES
037961,001229: # MPAC DP X INITIAL GUESS FOR ROOT
037962,001230:
037963,001231: # LOC-2N DP A(0)
037964,001232: # ...
037965,001233: # LOC DP A(N)
037966,001234: # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS)
037967,001235:
037968,001236: # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2.
037969,001237: # RETURN IS TO LOC(TC POWRSERS)+1.
037970,001238:
037971,001239: # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD
037972,001240: # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE
037973,001241:
037974,001242: # COEFFICIENT TABLE BY MULTIPLYING EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE
037975,001243: # COEFFICIENT TABLE = 1 OR > 1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE CORRECT
037976,001244: # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE:
037977,001245:
037978,001246: # 1. USER'S RESPONSIBILITY TO ASSURE THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I.
037979,001247:
037980,001248: # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUATING EITHER THE RESIDUAL OR THE DERIVATIVE
037981,001249: # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT
037982,001250: # PRECLUDE EVENTUAL CONVERGENCE.
037983,001251:
037984,001252: # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS.
037985,001253: # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7.
037986,001254:
037987,001255: # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE.
037988,001256:
037989,001257: # STORE ENTERING DATA, INITLIZE ERASABLES
037990,001258:
037991,001259: 22,3214 00006 ROOTPSRS EXTEND
037992,001260: 22,3215 22122 QXCH RETROOT # RETURN ADRES
037993,001261: 22,3216 54107 TS PWRPTR # PWR TABL POINTER
037994,001262: 22,3217 52150 DXCH MPAC +3 # PWR TABL ADRES, N-1
037995,001263: 22,3220 33332 CA DERTABLL
037996,001264:
Page 840 |
037998,001266: 22,3221 54131 TS DERPTR # DER TABL POINTER
037999,001267: 22,3222 54151 TS MPAC +5 # DER TABL ADRES
038000,001268:
038001,001269: 22,3223 10150 CCS MPAC +4 # NO POWER SERIES OF DEGREE 1 OR LESS
038002,001270: 22,3224 54152 TS MPAC +6 # N-2
038003,001271: 22,3225 37761 CA ZERO # MODE USED AS ITERATION COUNTER. MODE
038004,001272: 22,3226 54153 TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC
038005,001273:
038006,001274: # COMPUTE CRITERION TO STOP ITERATING
038007,001275:
038008,001276: 22,3227 00006 EXTEND
038009,001277: 22,3230 30145 DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC
038010,001278: 22,3231 52117 DXCH ROOTPS # AND IN ROOTPS
038011,001279:
038012,001280: 22,3232 50147 INDEX MPAC +3 # PWR TABL ADRES
038013,001281: 22,3233 30005 CA 5 # PRECROOT TO A
038014,001282: 22,3234 07351 TC SHORTMP # YIELDS DP PRODUCT IN MPAC
038015,001283: 22,3235 05336 TC USPRCADR
038016,001284: 22,3236 01174 CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC
038017,001285: 22,3237 52145 DXCH MPAC
038018,001286: 22,3240 52115 DXCH DXCRIT # CRITERION
038019,001287:
038020,001288: # SET UP DER COF TABL
038021,001289:
038022,001290: 22,3241 00006 EXTEND
038023,001291: 22,3242 50107 INDEX PWRPTR
038024,001292:
038025,001293: 22,3243 30004 DCA 3
038026,001294: 22,3244 52145 DXCH MPAC # A(N) TO MPAC
038027,001295:
038028,001296: 22,3245 30150 CA MPAC +4 # N-1 TO A
038029,001297:
038030,001298: 22,3246 54130 DERCLOOP TS PWRCNT # LOOP COUNTER
038031,001299: 22,3247 67755 AD ONE
038032,001300: 22,3250 07367 TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC
038033,001301: 22,3251 00006 EXTEND
038034,001302: 22,3252 50107 INDEX PWRPTR
038035,001303:
038036,001304: 22,3253 30002 DCA 1
038037,001305: 22,3254 52145 DXCH MPAC # A(I-1) TO MPAC, FETCHING DERCOF
038038,001306: 22,3255 50131 INDEX DERPTR
038039,001307: 22,3256 52004 DXCH 3 # DERCOF TO DER TABL
038040,001308: 22,3257 47754 CS TWO
038041,001309: 22,3260 26107 ADS PWRPTR # DECREMENT PWR POINTER
038042,001310: 22,3261 47754 CS TWO
038043,001311: 22,3262 26131 ADS DERPTR # DECREMENT DER POINTER
038044,001312: 22,3263 10130 CCS PWRCNT
038045,001313: 22,3264 13246 TCF DERCLOOP
038046,001314:
038047,001315: # CONVERGE ON ROOT
038048,001316:
038049,001317:
038050,001318: 22,3265 00006 ROOTLOOP EXTEND
038051,001319: 22,3266 30117 DCA ROOTPS # FETCH CURRENT ROOT
038052,001320: 22,3267 52145 DXCH MPAC # LEAVE IN MPAC
038053,001321:
Page 841 |
038055,001323: 22,3270 00006 EXTEND
038056,001324: 22,3271 30152 DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2
038057,001325: 22,3272 07260 TC POWRSERS # YIELDS DERIVATIVE IN MPAC
038058,001326:
038059,001327: 22,3273 00006 EXTEND
038060,001328: 22,3274 30117 DCA ROOTPS
038061,001329: 22,3275 52145 DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVTIVE
038062,001330: 22,3276 52121 DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR
038063,001331:
038064,001332: 22,3277 00006 EXTEND
038065,001333: 22,3300 30150 DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1
038066,001334: 22,3301 07260 TC POWRSERS # YIELDS RESIDUAL IN MPAC
038067,001335:
038068,001336: 22,3302 05336 TC USPRCADR
038069,001337: 22,3303 00352 CADR DDV/BDDV # YIELDS -DX IN MPAC
038070,001338:
038071,001339: 22,3304 00006 EXTEND
038072,001340: 22,3305 40145 DCS MPAC # FETCH DX, LEAVING -DX IN MPAC
038073,001341: 22,3306 20117 DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS
038074,001342:
038075,001343:
038076,001344: 22,3307 05336 TC USPRCADR
038077,001345: 22,3310 01174 CADR ABS # YIELDS ABS(DX) IN MPAC
038078,001346: 22,3311 00006 EXTEND
038079,001347: 22,3312 40115 DCS DXCRIT
038080,001348: 22,3313 20145 DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC
038081,001349:
038082,001350: 22,3314 24153 INCR MODE # INCREMENT ITERATION COUNTER
038083,001351:
038084,001352: 22,3315 10144 CCS MPAC # TEST HI ORDER DX
038085,001353: 22,3316 13265 TCF ROOTLOOP
038086,001354: 22,3317 13321 TCF TESTLODX
038087,001355:
038088,001356: 22,3320 13325 TCF ROOTSTOR
038089,001357: 22,3321 10145 TESTLODX CCS MPAC +1 # TEST LO ORDER DX
038090,001358: 22,3322 13265 TCF ROOTLOOP
038091,001359: 22,3323 13325 TCF ROOTSTOR
038092,001360: 22,3324 13325 TCF ROOTSTOR
038093,001361: 22,3325 52117 ROOTSTOR DXCH ROOTPS
038094,001362: 22,3326 52145 DXCH MPAC # STORE DP ROOT IN MPAC, MPAC+1
038095,001363: 22,3327 30153 CA MODE
038096,001364: 22,3330 54146 TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2
038097,001365: 22,3331 00122 TC RETROOT
038098,001366:
038099,001367: 22,3332 00137 DERTABLL ADRES DERCOFN -3
038100,001368:
Page 842 |
038102,001370: # ************************************************************************
038103,001371: # GENERAL PURPOSE SUBROUTINE FOR EXTRAPOLATING DUMMY STATE RDUM, VDUM
038104,001372: # ************************************************************************
038105,001373:
038106,001374: # XTRDUMST REQUIRES THE EXTRAPOLATION PERIOD, INITIAL POSITION, INITIAL VELOCITY, INITIAL ACCELERATION, JERK
038107,001375: # TO ARRIVE IN PDUM, RDUM, VDUM, ADUM, JDUM.
038108,001376:
038109,001377: # IT LEAVES THE EXTRAPOLATED STATE IN RDUM, VDUM.
038110,001378:
038111,001379: # PRESENTLY THE DUM REGISTERS ARE LOCATIONS FIXLOC +6 THRU FIXLOC +31 OCTAL, AND FIXLOC +40 OCTAL THRU
038112,001380: # FIXLOC +45 OCTAL.
038113,001381:
038114,001382: # 2 3
038115,001383: # THE EQNS ARE RDUM = RDUM+VDUM PDUM+ADUM PDUM /2+JDUM PDUM /6,
038116,001384:
038117,001385: # 2
038118,001386: # VDUM = VDUM+ADUM PDUM+JDUM PDUM /2.
038119,001387:
038120,001388: # THEY ARE PROGRAMMED AS RDUM = ((JDUM PDUM/3+ADUM)PDUM/2+VDUM)PDUM+RDUM
038121,001389:
038122,001390: # VDUM = (JDUM PDUM/2+ADUM)PDUM+VDUM
038123,001391:
038124,001392: 22,3333 77745 XTRDUMST DLOAD
038125,001393: 22,3334 00007 PDUM
038126,001394: 22,3335 74205 DMP VXSC
038127,001395:
038128,001396: 22,3336 05571 1/3DP
038129,001397: 22,3337 00025 JDUM
038130,001398: 22,3340 74255 VAD VXSC
038131,001399: 22,3341 00041 ADUM
038132,001400: 22,3342 00007 PDUM
038133,001401: 22,3343 53362 VSR1 VAD
038134,001402: 22,3344 00017 VDUM
038135,001403: 22,3345 53361 VXSC VAD
038136,001404: 22,3346 00007 PDUM
038137,001405: 22,3347 00011 RDUM
038138,001406: 22,3350 14011 STODL RDUM # EXTRAPOLATED RDUM. NO RESTART PROTECTION
038139,001407:
038140,001408:
038141,001409: 22,3351 00007 PDUM
038142,001410: 22,3352 74362 SR1R VXSC
038143,001411: 22,3353 00025 JDUM
038144,001412: 22,3354 74255 VAD VXSC
038145,001413: 22,3355 00041 ADUM
038146,001414: 22,3356 00007 PDUM
038147,001415: 22,3357 77655 VAD
038148,001416: 22,3360 00017 VDUM
038149,001417: 22,3361 00017 STORE VDUM # EXTRAPOLATED VDUM. NO RESTART PROTECTION
038150,001418: 22,3362 77616 RVQ
038151,001419:
Page 843 |
038153,001421: # ************************************************************************
038154,001422: # DUMMY GRAVITY SUBROUTINE
038155,001423: # ************************************************************************
038156,001424:
038157,001425: # GDUMCL COMPUTES GRAVITY GIVEN POSITION IN RDUM, LEAVING RESULT IN MPAC AND GDUM.
038158,001426:
038159,001427: # 2
038160,001428: # GDUM =-MUEARTH UNIT(RDUM)/((ABVAL(RDUM)) )
038161,001429:
038162,001430: 22,3363 57575 GDUMCL VLOAD VCOMP
038163,001431: 22,3364 00011 RDUM
038164,001432: 22,3365 74256 UNIT VXSC
038165,001433: 22,3366 21143 MUEARTH
038166,001434: 22,3367 76541 V/SC VSL1 # SHIFT COMPENSATES FOR SEMI-UNIT
038167,001435: 22,3370 00043 42
038168,001436: 22,3371 00033 STORE GDUM
038169,001437: 22,3372 77616 RVQ
038170,001438:
038171,001439:
038172,001440:
038173,001441: # ************************************************************************
038174,001442: # INTERPRETER INITIALIZATION SUBROUTINE
038175,001443: # ************************************************************************
038176,001444:
038177,001445: 22,3373 30110 PRETINIT CA FIXLOC
038178,001446: 22,3374 54156 TS PUSHLOC
038179,001447: 22,3375 37761 CA ZERO
038180,001448: 22,3376 54111 TS OVFIND
038181,001449: 22,3377 00002 TC Q
038182,001450:
Page 844 |
038184,001452: # ************************************************************************
038185,001453: # SECOND DPS TARGET PARAMETERS
038186,001454:
038187,001455: # ************************************************************************
038188,001456:
038189,001457: # PARAMETER TABLE INDIRECT ADDRESSES
038190,001458:
038191,001459: 22,3400 22,3422 TTF/4NU = TTF/4N0X
038192,001460: 22,3400 22,3423 ADS = A0XS
038193,001461: 22,3400 22,3431 RDS = R0XS
038194,001462: 22,3400 22,3437 VDS = V0XS
038195,001463: 22,3400 22,3445 JDS2 = J0XS2
038196,001464: 22,3400 22,3447 MADP2 = MA0XP2
038197,001465:
038198,001466:
038199,001467: # A CONSISTENT SET OF UNITS IS USED THRUOUT THE SECOND DPS GUIDANCE. THESE UNITS ARE:
038200,001468: # TIME 2( 15)CS; LENGTH 2( 24)M; ANGLE 2( 0)RAD.
038201,001469:
038202,001470: # IGNITION ALGORITHM - PREBURN PARAMETERS
038203,001471: # ************************************************************************
038204,001472:
038205,001473: 22,3400 03213 00000 PPHM1 2DEC* +3.350000000 E+3 B-15*
038206,001474:
038207,001475: 22,3402 00000 06426 PPHM1CS 2DEC* +3.350000000 E+3 B-28*
038208,001476:
038209,001477: 22,3404 00466 37617 /AFC/CR 2DEC* +2.965861098 E-4 B+6*
038210,001478:
038211,001479:
038212,001480: 22,3406 00567 00000 PFCULLG 2DEC* +7.500000000 E+2 B-15*
038213,001481:
038214,001482: 22,3410 00006 13657 AFULLG 2DEC* +6.074952094 E-6 B+6*
038215,001483:
038216,001484: 22,3412 00226 00000 PFCLITE 2DEC* +3.000000000 E+2 B-15*
038217,001485:
038218,001486: 22,3414 00041 21100 AFLITE 2DEC* +3.198162867 E-5 B+6*
038219,001487:
038220,001488: 22,3416 02176 00000 PFCTRIM 2DEC* +2.300000000 E+3 B-15*
038221,001489:
038222,001490:
038223,001491: 22,3420 00041 22563 AFTRIM 2DEC* +3.202931538 E-5 B+6*
038224,001492:
Page 845 |
038226,001494: # PARAMETER TABLE FOR BURN PHASES
038227,001495: # ************************************************************************
038228,001496:
038229,001497: 22,3422 65006 TTF/4N0X DEC* -1.125000000 E+4 B-15*
038230,001498:
038231,001499: 22,3423 77646 43535 A0XS 2DEC* -8.572092116 E-5 B+6*
038232,001500:
038233,001501: 22,3425 00000 00000 2DEC 0 B-28
038234,001502:
038235,001503:
038236,001504: 22,3427 02376 35641 2DEC* +7.269884947 E-11 B+30*
038237,001505:
038238,001506: 22,3431 14634 00651 R0XS 2DEC* +6.713370537 E+6 B-24*
038239,001507:
038240,001508: 22,3433 00000 00000 2DEC 0 B-28
038241,001509:
038242,001510: 22,3435 00255 00717 2DEC* +1.056080555 E-2 B-0*
038243,001511:
038244,001512: 22,3437 77735 66716 V0XS 2DEC* -1.071382748 E+0 B-9*
038245,001513:
038246,001514:
038247,001515: 22,3441 00000 00000 2DEC 0 B-28
038248,001516:
038249,001517: 22,3443 77024 46232 2DEC* -9.160545259 E-7 B+15*
038250,001518:
038251,001519: 22,3445 01260 30176 J0XS2 2DEC* +1.194804087 E-15 B+45*
038252,001520:
038253,001521: 22,3447 01727 22763 MA0XP2 2DEC* +5.156859816 E+8 B-33*
038254,001522:
Page 846 |
038256,001524: 22,3451 75435 TTF/4N0F DEC* -2.500000000 E+3 B-15*
038257,001525:
038258,001526:
038259,001527: 22,3452 77713 45300 A0FS 2DEC* -5.038447857 E-5 B+6*
038260,001528:
038261,001529: 22,3454 00000 00000 2DEC 0 B-28
038262,001530:
038263,001531: 22,3456 01357 27066 2DEC* +4.273045103 E-11 B+30*
038264,001532:
038265,001533: 22,3460 14617 11361 R0FS 2DEC* +6.700335070 E+6 B-24*
038266,001534:
038267,001535: 22,3462 00000 00000 2DEC 0 B-28
038268,001536:
038269,001537: 22,3464 00067 06341 2DEC* +3.369214099 E-3 B-0*
038270,001538:
038271,001539:
038272,001540: 22,3466 77716 61241 V0FS 2DEC* -1.545589897 E+0 B-9*
038273,001541:
038274,001542: 22,3470 00000 00000 2DEC 0 B-28
038275,001543:
038276,001544: 22,3472 77354 43410 2DEC* -5.138853270 E-7 B+15*
038277,001545:
038278,001546: 22,3474 00441 31226 J0FS2 2DEC* +5.027062289 E-16 B+45*
038279,001547:
038280,001548: 22,3476 01727 22763 MA0FP2 2DEC* +5.156859816 E+8 B-33*
038281,001549:
038282,001550:
038283,001551:
038284,001552: 22,3500 77715 TTF/4NU1 DEC* -1.000000000 E+2 B-15*
038285,001553:
038286,001554: 22,3501 00064 34377 A1FS 2DEC* +5.044035031 E-5 B+6*
038287,001555:
038288,001556: 22,3503 00000 00000 2DEC 0 B-28
038289,001557:
038290,001558: 22,3505 01360 21617 2DEC* +4.277783493 E-11 B+30*
038291,001559:
Page 847 Workaround: the following line has been changed to OCT because yaYUL produces slightly different numerical results. The original was as follows: TTF/4NU2 DEC* -3.375000000 E+3 B-15* |
038296,001564: 22,3507 74550 TTF/4NU2 OCT 74550
038297,001565:
038298,001566: 22,3510 00213 25223 A2FS 2DEC* +1.331951587 E-4 B+6*
038299,001567:
038300,001568: 22,3512 00000 00000 2DEC 0 B-28
038301,001569:
038302,001570:
038303,001571: 22,3514 00536 14712 2DEC* +1.991810043 E-11 B+30*
038304,001572:
038305,001573: 22,3516 14602 17421 R2FS 2DEC* +6.687217073 E+6 B-24*
038306,001574:
038307,001575: 22,3520 00000 00000 2DEC 0 B-28
038308,001576:
038309,001577: 22,3522 00000 06001 2DEC* +1.144811884 E-5 B-0*
038310,001578:
038311,001579: 22,3524 77774 45220 V2FS 2DEC* -1.198407174 E-1 B-9*
038312,001580:
038313,001581: 22,3526 00000 00000 2DEC 0 B-28
038314,001582:
038315,001583: 22,3530 77764 43337 2DEC* -2.215170344 E-8 B+15*
038316,001584:
038317,001585: 22,3532 74137 67600 J2FS2 2DEC* -3.386627333 E-15 B+45*
038318,001586:
038319,001587: 22,3534 01727 22763 MA2FP2 2DEC* +5.156859816 E+8 B-33*
038320,001588:
038321,001589:
038322,001590:
038323,001591: 22,3536 77602 TTF/4NU3 DEC* -2.500000000 E+2 B-15*
038324,001592:
038325,001593: 22,3537 00000 00000 A3FS 2DEC* +1.536879692 E-13 B+6*
038326,001594:
038327,001595: 22,3541 00000 00000 2DEC 0 B-28
038328,001596:
038329,001597: 22,3543 00654 37552 2DEC* +2.438530673 E-11 B+30*
038330,001598:
Page 848 |
038332,001600: # ************************************************************************
038333,001601: # SECOND DPS CONSTANTS
038334,001602:
038335,001603: # ************************************************************************
038336,001604:
038337,001605: # ADDRESS CONSTANTS
038338,001606:
038339,001607: 22,3545 02000 E2DPSL ECADR E2DPS # FOR ACCESSING EBANK OF 2DPS
038340,001608: 22,3546 E4,1400 EBANK= E2DPS
038341,001609: 22,3546 02033 44004 IGNALGL 2BCADR IGNALG
038342,001610:
038343,001611:
038344,001612: # THE NEXT TWO CONSTANTS MUST BE KEPT
038345,001613: # IN ORDER AND ADJACENT
038346,001614: 22,3550 01436 TABLTTFL ADRES TABLTTF +3 # ADRES TO REF TTF TABL
038347,001615: 22,3551 00002 DEGTTF-1 OCT 2 # DEGREE-1 OF TTF POWER SERIES
038348,001616:
038349,001617: 22,3552 E4,1662 EBANK= EMP11JOB
038350,001618: 22,3552 02025 74064 RETPREBL 2BCADR RETPREB
038351,001619:
038352,001620: 22,3554 E4,1662 EBANK= EMP11JOB
038353,001621: 22,3554 02172 74064 RETBURNL 2BCADR RETBURN
038354,001622:
038355,001623: 22,3556 E5,1557 EBANK= ETHROT
038356,001624: 22,3556 03377 60065 THROTCOL 2BCADR THROTCON
038357,001625:
038358,001626:
038359,001627: # ARITHMETIC FRACTIONS AND INTEGERS
038360,001628:
038361,001629: 22,3560 7742 TSCALE = BIT12
038362,001630:
038363,001631: 22,3560 00010 TSCALINV OCT 00010
038364,001632: 22,3561 00000 ZEROPOS OCT 00000 # LO ORDER PART OF TSCALINV, AND
038365,001633: 22,3562 00000 OCT 00000 # FIRST COMPONENT OF ZERO VECTOR
038366,001634: 22,3563 77777 ZERONEG OCT 77777
038367,001635:
038368,001636: 22,3564 77777 OCT 77777
038369,001637: 22,3565 00000 OCT 00000 # LAST COMPONENT OF ZERO VECTOR, AND
038370,001638: 22,3566 00000 PIGNALG OCT 00000 # HI ORDER PART OF PIGNALG, TPIP UNITS
038371,001639: 22,3567 00310 DEC +2 E+2B-14 # LO ORDER PART OF PIGNALG, TPIP UNITS
038372,001640:
038373,001641: 22,3570 12525 12525 1/3DP 2DEC .3333333333
038374,001642:
The following line is "SP3/8 OCT .3 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038378,001646: 22,3572 14000 SP3/8 DEC .375 B14
The following line is "SP9/16 OCT .44 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038382,001650: 22,3573 22000 SP9/16 DEC .5625 B14
038383,001651: 22,3574 25252 25253 2/3DP 2DEC .6666666667
038384,001652:
038385,001653: 22,3576 22,3574 2DPS2/3 = 2/3DP
The following line is "SP3/4 OCT .6 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038389,001657: 22,3576 30000 SP3/4 DEC .75 B14
038390,001658: 22,3577 31103 36652 PI/4 2DEC +3.14159265 B-2
038391,001659:
038392,001660:
Page 849 |
038394,001662:
038395,001663: # ************************************************************************
038396,001664: # VARIOUS TEMPORARY TEST ROUTINES FOR SUBROUTINES CONTRIBUTED BY 2DPS
038397,001665: # ************************************************************************
038398,001666:
038399,001667: # TEST ROOTPSRS ON 5TH DEGREE POWER SERIES
038400,001668:
038401,001669: 22,3601 00006 RUTTEST EXTEND
038402,001670: 22,3602 33627 DCA RUTINIT
038403,001671:
038404,001672: 22,3603 52145 DXCH MPAC
038405,001673:
038406,001674: 22,3604 00006 EXTEND
038407,001675: 22,3605 33646 DCA RUTTABLL
038408,001676: 22,3606 03214 TC ROOTPSRS
038409,001677:
038410,001678: # TEST POLY ON SIN 30 DEGREES
038411,001679:
038412,001680: 22,3607 06103 POLYTEST TC INTPRET
038413,001681: 22,3610 73545 DLOAD SIN
038414,001682:
038415,001683: 22,3611 05650 QTSTPOLY
038416,001684:
038417,001685: # TEST USEPRET ON V/SC
038418,001686:
038419,001687: 22,3612 26111 STOVL RC
038420,001688: 22,3613 05511 A2FS
038421,001689: 22,3614 02113 STORE RS
038422,001690: 22,3615 77776 EXIT
038423,001691: 22,3616 33653 CA OCT1/2L
038424,001692: 22,3617 54106 TS ADDRWD
038425,001693: 22,3620 05326 TC USEPRET
038426,001694: 22,3621 07650 TC V/SC
038427,001695:
038428,001696: 22,3622 06103 TC INTPRET
038429,001697: 22,3623 02121 STORE VS
038430,001698: 22,3624 77776 EXIT
038431,001699: 22,3625 37755 END2DPST CA ONE
038432,001700:
038433,001701: # TEMP CONSTANTS FOR TESTS
The following line is "RTUNIT OCT .6 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038437,001705: 22,3626 30000 RUTINIT DEC .75 B14
038438,001706: 22,3627 00000 OCT 0
038439,001707:
038440,001708: 22,3630 00000 OCT 0
038441,001709: 22,3631 00000 OCT 0
038442,001710:
The following line is "OCT +.001 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038446,001714: 22,3632 00040 DEC 1.953125 E-3 B14
038447,001715: 22,3633 00000 OCT 0
038448,001716:
038449,001717: 22,3634 00000 OCT 0
038450,001718: 22,3635 00000 OCT 0
038451,001719:
The following line is "OCT -.024 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038455,001723: 22,3636 76577 DEC -3.90625 E-2 B14
038456,001724:
Page 850 |
038458,001726: 22,3637 00000 OCT 0
038459,001727:
038460,001728: 22,3640 00000 OCT 0
038461,001729: 22,3641 00000 OCT 0
038462,001730:
The following line is "RUTTABL OCT +.100 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038466,001734: 22,3642 04000 RUTTABL DEC +.125 B14
038467,001735: 22,3643 00000 OCT 0
038468,001736:
038469,001737: 22,3644 00001 RUTPREC OCT 1
038470,001738:
038471,001739: 22,3645 03637 RUTTABLL ADRES RUTTABL -3
038472,001740: 22,3646 00004 OCT 4
038473,001741:
038474,001742: 22,3647 02525 12525 QTSTPOLY 2DEC .083333333
038475,001743:
The following line is "OCT1/2 OCT .4 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
038479,001747: 22,3651 20000 OCT1/2 DEC .5 B14
038480,001748: 22,3652 00000 OCT 0
038481,001749: 22,3653 03651 OCT1/2L ADRES OCT1/2
End of include-file SECOND_DPS_GUIDANCE.agc. Parent file is MAIN.agc