Source Code
![]() |
These source-code files derive from a printout of Luminary 116 (the Apollo 12
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Ron Burkey, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071 19:09 AUG. 11,1969Note that the date is the date of the printout, not the date of the program revision. |
050546,000002: ## Copyright: Public domain.
050547,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
050548,000004: ## Purpose: A section of Luminary revision 116.
050549,000005: ## It is part of the source code for the Lunar Module's (LM)
050550,000006: ## Apollo Guidance Computer (AGC) for Apollo 12.
050551,000007: ## This file is intended to be a faithful transcription, except
050552,000008: ## that the code format has been changed to conform to the
050553,000009: ## requirements of the yaYUL assembler rather than the
050554,000010: ## original YUL assembler.
050555,000011: ## Reference: pp. 1196-1217
050556,000012: ## Assembler: yaYUL
050557,000013: ## Contact: Ron Burkey <info@sandroid.org>.
050558,000014: ## Website: www.ibiblio.org/apollo/index.html
050559,000015: ## Mod history: 2017-01-22 MAS Created from Luminary 99.
050560,000016: ## 2017-03-01 RRB Updated for Luminary 116.
050561,000017: ## 2017-03-09 HG Fix interpretive opcode BCN --> BON
050562,000018: ## operand POOFLAG --> POOHFLAG
050563,000019: ## 2017-03-13 RSB Proofed comment text via 3-way diff vs
050564,000020: ## Luminary 99 and 131.
050565,000021: ## 2017-03-15 RSB Comment-text fixes identified in 5-way
050566,000022: ## side-by-side diff of Luminary 69/99/116/131/210.
050567,000023: ## 2017-03-19 HG Fix missing operator and operand SET POOHFLAG
050568,000024: ## 2017-08-19 MAS Fixed comment errors found transcribing Zerlina 56.
050569,000025:
![]() |
Page 1196 |
050571,000027: # 1.0 INTRODUCTION
050572,000028: # ----------------
050573,000029:
050574,000030: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
050575,000031: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
050576,000032: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
050577,000033: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
050578,000034: # SIDE THE LUNAR SPHERE OF INFLUENCE.
050579,000035:
050580,000036: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
050581,000037: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
050582,000038: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
050583,000039: # CALL TC INTSTALL.
050584,000040:
050585,000041: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
050586,000042: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
050587,000043: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
050588,000044: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
050589,000045: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
050590,000046:
050591,000047: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
050592,000048: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
050593,000049: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
050594,000050: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
050595,000051:
050596,000052: # 2.0 GENERAL DESCRIPTION
050597,000053: # -----------------------
050598,000054:
050599,000055: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS---
050600,000056: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
050601,000057: # 2) INTEGRATES THE W-MATRIX
050602,000058: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
050603,000059:
050604,000060: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
050605,000061: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
050606,000062: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
050607,000063: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
050608,000064: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
050609,000065: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
050610,000066: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
050611,000067: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
050612,000068: # AND/OR STATE VECTOR.
050613,000069:
050614,000070: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
050615,000071: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
050616,000072: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
050617,000073:
050618,000074: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
050619,000075: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
050620,000076: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
050621,000077:
![]() |
Page 1197 |
050623,000079: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
050624,000080:
050625,000081: # 2.1 RESTARTS
050626,000082:
050627,000083: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
050628,000084: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
050629,000085: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
050630,000086: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
050631,000087: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
050632,000088: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
050633,000089: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
050634,000090:
050635,000091: # 2.2 SCALING
050636,000092:
050637,000093: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
050638,000094: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
050639,000095: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
050640,000096: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
050641,000097: # DIFFERENT SCALING.
050642,000098: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
050643,000099:
050644,000100: # 3.0 INPUT/OUTPUT
050645,000101: # ----------------
050646,000102:
050647,000103: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
050648,000104: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
050649,000105: # FOR INTEGRVS, THE RCV,VCV, TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
050650,000106:
050651,000107: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
050652,000108: # EARTH MOON
050653,000109: # 29 27
050654,000110: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
050655,000111:
050656,000112: # 7 5
050657,000113: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
050658,000114:
050659,000115: # 28 28
050660,000116: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
050661,000117: # CUSTOMARILY 0, BUT NOTE LUNAR
050662,000118: # ORBIT DEPENDENCE ON REAL TIME.
050663,000119:
050664,000120: # 22 18
050665,000121: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
050666,000122: # 0 IF TCCSM(LEM) = 0
050667,000123:
050668,000124: # 3 -1
050669,000125: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
050670,000126: # 0 IF TCCSM(LEM) = 0
![]() |
Page 1198 |
050672,000128: # 29 27
050673,000129: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
050674,000130: # EQUALS RRECTCSM(LEM) IF
050675,000131: # TCCSM(LEM) = 0
050676,000132:
050677,000133: # 7 5
050678,000134: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
050679,000135: # EQUALS VRECTCSM(LEM) IF
050680,000136: # TCCSM(LEM) = 0
050681,000137:
050682,000138: # 28 28
050683,000139: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
050684,000140: # CUSTOMARILY 0
050685,000141:
050686,000142: # 1/2 17 16
050687,000143: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
050688,000144: # 0 IF TCCSM(LEM) = 0
050689,000145:
050690,000146: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
050691,000147: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
050692,000148: # LMOONFLG C = CSM, L = LM 0 0
050693,000149: # LMIDFLG 0,1 0,1
050694,000150:
050695,000151: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
050696,000152:
050697,000153: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
050698,000154: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
050699,000155: # ROUTINE MUST BE PRESET.
050700,000156:
050701,000157: # OUTPUT
050702,000158: # AFTER EVERY CALL TO INTEGRATION
050703,000159: # EARTH MOON
050704,000160: # 29 29
050705,000161: # 0D RATT POSITION METERS 2 2
050706,000162:
050707,000163: # 7 7
050708,000164: # 6D VATT VELOCITY M/CSEC 2 2
050709,000165:
050710,000166: # 28 28
050711,000167: # 12D TAT TIME 2 2
050712,000168:
050713,000169: # 29 27
050714,000170: # 14D RATT1 POSITION METERS 2 2
050715,000171:
050716,000172: # 7 5
050717,000173: # 20D VATT1 VELOCITY M/CSEC 2 2
050718,000174:
050719,000175: # 3 2 36 30
050720,000176: # 26D MU(P) MU M /CS 2 2
050721,000177:
050722,000178: # X1 MUTABLE ENTRY -2 -10D
050723,000179:
050724,000180: # X2 COORDINT
050725,000181: # X2 COORDINATE SYSTEM ORIGEN 0 2
050726,000182: # (THIS, NOT MOONFLAG, SHOULD BE
![]() |
Page 1199 |
050728,000184: # USED TO DETERMINE ORIGIN.)
050729,000185:
050730,000186: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
050731,000187: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
050732,000188: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
050733,000189: # CALLING PROGRAM.
050734,000190:
050735,000191: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
050736,000192: # -------------------------------------
050737,000193:
050738,000194: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES
050739,000195: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
050740,000196: # L CALL
050741,000197: # L+1 CSMPREC (OR LEMPREC)
050742,000198: # L+2 RETURN
050743,000199: # INPUT 28
050744,000200: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
050745,000201: # OUTPUT
050746,000202: # THE DATA LISTED IN SECTION 3.0 PLUS
050747,000203: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
050748,000204: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
050749,000205: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
050750,000206: # L-X STORE TIME IN PUSH LIST (TDEC1)
050751,000207: # L CALL
050752,000208: # L+1 CSMCONIC (OR LEMCONIC)
050753,000209: # INPUT/OUTPUT
050754,000210: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
050755,000211: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
050756,000212: # CALL
050757,000213: # INTSTALL
050758,000214: # VLOAD
050759,000215: # POSITION VECTOR
050760,000216: # STOVL RCV
050761,000217: # VELOCITY VECTOR
050762,000218: # STODL VCV
050763,000219: # TIME STATE VECTOR VALID
050764,000220: # STODL TET
050765,000221: # FINAL RADIUS
050766,000222: # STORE RFINAL
050767,000223: # SET(CLEAR) SET(CLEAR)
050768,000224: # INTYPFLAG
050769,000225: # MOONFLAG
050770,000226: # SET(CLEAR) DLOAD
050771,000227: # DESIRED TIME
050772,000228: # STCALL TDEC1
050773,000229: # INTEGRVS
050774,000230: # INPUT
050775,000231: # RCV POSITION VECTOR METERS
050776,000232: # VCV VELOCITY VECTOR M/CSEC
050777,000233: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
![]() |
Page 1200 |
050779,000235: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
050780,000236: # (MAY BE INCREMENT IF TET=0)
050781,000237: # OUTPUT
050782,000238: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
050783,000239: # DEPENDING ON INTYPFLG.
050784,000240: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
050785,000241: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
050786,000242: # L-8 CALL
050787,000243: # L-7
050788,000244: # L-6 SET(CLEAR) SET(CLEAR)
050789,000245: # L-5 VINTFLAG 1=CSM, 0=LM
050790,000246: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
050791,000247: # L-3 SET(CLEAR) SET(CLEAR)
050792,000248: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
050793,000249: # L-1 D6OR9FLG 1=9X9, 0=6X6
050794,000250: # L SET DLOAD
050795,000251: # L+1 STATEFLG DESIRE PERMANENT UPDATE
050796,000252: # L+2 FINAL RAD. OF STATE VECTOR
050797,000253: # L+3 STCALL RFINAL
050798,000254: # L+4 INTEGRV
050799,000255: # L CALL NORMAL USE-- WILL UPDATE STATE
050800,000256: # L+1 INTEGRV VECTOR IF DIMOFLAG=1.(STATEFLG IS
050801,000257: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
050802,000258: # IT IS USED.)
050803,000259: # INPUT
050804,000260: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
050805,000261: # OUTPUT
050806,000262: # SAME AS FOR PRECISION OR CONIC INTEGRATION
050807,000263: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
050808,000264: # THE PERMANENT STATE VECTOR REPRESENTATION.
050809,000265:
050810,000266: 11,2404 BANK 11
050811,000267: 13,2000 SETLOC INTINIT
050812,000268: 13,2000 BANK
050813,000269: 13,2604 E3,1554 EBANK= RRECTCSM
050814,000270: 13,2604 COUNT* $$/INTIN
050815,000271: 13,2604 05353 STATEINT TC PHASCHNG
050816,000272: 13,2605 00052 OCT 00052
050817,000273: 13,2606 35017 CAF PRIO5
050818,000274: 13,2607 05105 TC FINDVAC
050819,000275: 13,2610 E3,1554 EBANK= RRECTCSM
050820,000276: 13,2610 02613 26063 2CADR STATINT1
050821,000277:
050822,000278: 13,2612 05261 TC TASKOVER
050823,000279: 13,2613 06042 STATINT1 TC INTPRET
050824,000280: 13,2614 47014 BON RTB
050825,000281: 13,2615 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
050826,000282: 13,2616 26654 NOINT
050827,000283: 13,2617 21574 LOADTIME
050828,000284: 13,2620 00041 STORE TDEC1
![]() |
Page 1201 |
050830,000286: 13,2621 77624 CALL
050831,000287: 13,2622 27412 INTSTALL
050832,000288: 13,2623 45014 SET CALL
050833,000289: 13,2624 01076 NODOFLAG
050834,000290: 13,2625 26645 SETIFLGS
050835,000291: 13,2626 52014 SET GOTO
050836,000292: 13,2627 01460 POOHFLAG
050837,000293: 13,2630 26026 STATEUP
050838,000294: 13,2631 00003 25140 600SECS 2DEC 60000 B-28
050839,000295:
050840,000296: 13,2633 77414 ENDINT CLEAR EXIT
050841,000297: 13,2634 01672 STATEFLG
050842,000298: 13,2635 05353 TC PHASCHNG
050843,000299: 13,2636 20032 OCT 20032
050844,000300: 13,2637 00006 EXTEND
050845,000301: 13,2640 32632 DCA 600SECS
050846,000302: 13,2641 05277 TC LONGCALL
050847,000303: 13,2642 E3,1626 EBANK= RRECTHIS
050848,000304: 13,2642 02604 26063 2CADR STATEINT
050849,000305:
050850,000306: 13,2644 05155 TC ENDOFJOB
050851,000307: 13,2645 43014 SETIFLGS SET CLEAR
050852,000308: 13,2646 01472 STATEFLG
050853,000309: 13,2647 01673 INTYPFLG
050854,000310: 13,2650 43014 CLEAR CLEAR
050855,000311: 13,2651 01676 DIM0FLAG
050856,000312: 13,2652 01675 D6OR9FLG
050857,000313: 13,2653 77616 RVQ
050858,000314: 13,2654 77776 NOINT EXIT
050859,000315: 13,2655 05353 TC PHASCHNG
050860,000316: 13,2656 00002 OCT 00002
050861,000317:
050862,000318: 13,2657 05516 TC DOWNFLAG
050863,000319: 13,2660 00221 ADRES QUITFLAG
050864,000320: 13,2661 05155 TC ENDOFJOB
050865,000321:
050866,000322: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
050867,000323:
050868,000324: # CALLING SEQUENCE
050869,000325: # L CALL
050870,000326: # L+1 ATOPCSM
050871,000327:
050872,000328: # NORMAL EXIT AT L+2
050873,000329:
050874,000330: 13,2662 47020 ATOPCSM STQ RTB
050875,000331: 13,2663 00051 S2
050876,000332: 13,2664 26675 MOVEACSM
050877,000333: 13,2665 45014 SET CALL
050878,000334: 13,2666 04063 CMOONFLG
050879,000335: 13,2667 26114 SVDWN1
![]() |
Page 1202 |
050881,000337: 13,2670 43014 BON CLRGO
050882,000338: 13,2671 00303 MOONFLAG
050883,000339: 13,2672 00051 S2
050884,000340: 13,2673 04223 CMOONFLG
050885,000341: 13,2674 00051 S2
050886,000342: 13,2675 03037 MOVEACSM TC SETBANK
050887,000343: 13,2676 55500 TS DIFEQCNT # INITIALIZE INDEX
050888,000344: 13,2677 51500 INDEX DIFEQCNT
050889,000345: 13,2700 31502 CA RRECT
050890,000346: 13,2701 51500 INDEX DIFEQCNT
050891,000347: 13,2702 55554 TS RRECTCSM
050892,000348: 13,2703 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
050893,000349: 13,2704 12676 TCF MOVEACSM +1 # NO-LOOP
050894,000350: 13,2705 06064 TC DANZIG # COMPLETE - RETURN
050895,000351:
050896,000352: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
050897,000353:
050898,000354: # CALLING SEQUENCE
050899,000355: # L CALL
050900,000356: # PTOACSM
050901,000357:
050902,000358: # NORMAL EXIT AT L+2
050903,000359:
050904,000360: 13,2706 43034 PTOACSM RTB BON
050905,000361: 13,2707 26724 MOVEPCSM
050906,000362: 13,2710 04303 CMOONFLG
050907,000363: 13,2711 26717 SETMOON
050908,000364: 13,2712 66214 CLRMOON CLEAR SSP
050909,000365: 13,2713 00263 MOONFLAG
050910,000366: 13,2714 02031 PBODY
050911,000367: 13,2715 00000 0
050912,000368: 13,2716 77616 RVQ
050913,000369: 13,2717 66214 SETMOON SET SSP
050914,000370: 13,2720 00063 MOONFLAG
050915,000371: 13,2721 02031 PBODY
050916,000372: 13,2722 00002 2
050917,000373: 13,2723 77616 RVQ
050918,000374: 13,2724 03037 MOVEPCSM TC SETBANK
050919,000375: 13,2725 55500 TS DIFEQCNT
050920,000376: 13,2726 51500 INDEX DIFEQCNT
050921,000377: 13,2727 31554 CA RRECTCSM
050922,000378: 13,2730 51500 INDEX DIFEQCNT
050923,000379: 13,2731 55502 TS RRECT
050924,000380: 13,2732 11500 CCS DIFEQCNT
050925,000381: 13,2733 12725 TCF MOVEPCSM +1
050926,000382: 13,2734 06064 TC DANZIG
050927,000383:
050928,000384: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
![]() |
Page 1203 |
050930,000386: 13,2735 47020 ATOPLEM STQ RTB
050931,000387: 13,2736 00051 S2
050932,000388: 13,2737 26750 MOVEALEM
050933,000389: 13,2740 45014 SET CALL
050934,000390: 13,2741 04064 LMOONFLG
050935,000391: 13,2742 26070 SVDWN2
050936,000392: 13,2743 43014 BON CLRGO
050937,000393: 13,2744 00303 MOONFLAG
050938,000394: 13,2745 00051 S2
050939,000395: 13,2746 04224 LMOONFLG
050940,000396: 13,2747 00051 S2
050941,000397: 13,2750 03037 MOVEALEM TC SETBANK
050942,000398: 13,2751 55500 TS DIFEQCNT
050943,000399: 13,2752 51500 INDEX DIFEQCNT
050944,000400: 13,2753 31502 CA RRECT
050945,000401: 13,2754 51500 INDEX DIFEQCNT
050946,000402: 13,2755 55626 TS RRECTLEM
050947,000403: 13,2756 11500 CCS DIFEQCNT
050948,000404: 13,2757 12751 TCF MOVEALEM +1
050949,000405: 13,2760 06064 TC DANZIG
050950,000406:
050951,000407: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
050952,000408:
050953,000409: 13,2761 47014 PTOALEM BON RTB
050954,000410: 13,2762 04307 SURFFLAG
050955,000411: 13,2763 27002 USEPIOS
050956,000412: 13,2764 26771 MOVEPLEM
050957,000413: 13,2765 52014 BON GOTO
050958,000414: 13,2766 04304 LMOONFLG
050959,000415: 13,2767 26717 SETMOON
050960,000416: 13,2770 26712 CLRMOON
050961,000417: 13,2771 03037 MOVEPLEM TC SETBANK
050962,000418: 13,2772 55500 TS DIFEQCNT
050963,000419: 13,2773 51500 INDEX DIFEQCNT
050964,000420: 13,2774 31626 CA RRECTLEM
050965,000421: 13,2775 51500 INDEX DIFEQCNT
050966,000422: 13,2776 55502 TS RRECT
050967,000423: 13,2777 11500 CCS DIFEQCNT
050968,000424: 13,3000 12772 TCF MOVEPLEM +1
050969,000425: 13,3001 06064 TC DANZIG
050970,000426:
050971,000427: 13,3002 77201 USEPIOS SETPD VLOAD
050972,000428: 13,3003 00001 0
050973,000429: 13,3004 02023 RLS
050974,000430: 13,3005 41525 PDDL PUSH
050975,000431: 13,3006 00041 TDEC1
050976,000432: 13,3007 15517 STODL TET
050977,000433: 13,3010 27735 5/8
![]() |
Page 1204 |
050979,000435: 13,3011 77624 CALL
050980,000436: 13,3012 55716 RP-TO-R
050981,000437: 13,3013 25535 STOVL RCV
050982,000438: 13,3014 24001 ZUNIT
050983,000439: 13,3015 14001 STODL 0D
050984,000440: 13,3016 01517 TET
050985,000441: 13,3017 14007 STODL 6D
050986,000442: 13,3020 27735 5/8
050987,000443: 13,3021 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
050988,000444: 13,3022 00063 MOONFLAG
050989,000445: 13,3023 55716 RP-TO-R
050990,000446: 13,3024 74235 VXV VXSC
050991,000447: 13,3025 01535 RCV
050992,000448: 13,3026 26001 OMEGMOON
050993,000449: 13,3027 25543 STOVL VCV
050994,000450: 13,3030 24007 ZEROVEC
050995,000451: 13,3031 01521 STORE TDELTAV
050996,000452: 13,3032 67174 AXT,2 SXA,2
050997,000453: 13,3033 00002 2
050998,000454: 13,3034 02030 PBODY
050999,000455: 13,3035 35527 STCALL TNUV
051000,000456: 13,3036 27160 A-PCHK
051001,000457: 13,3037 33043 SETBANK CAF INTBANK
051002,000458: 13,3040 54006 TS BBANK
051003,000459: 13,3041 33450 CAF FORTYONE
051004,000460: 13,3042 00002 TC Q
051005,000461: 13,3043 E3,1554 EBANK= RRECTCSM
051006,000462: 13,3043 26063 INTBANK BBCON INTEGRV
051007,000463:
051008,000464: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
051009,000465: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
051010,000466:
051011,000467: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
051012,000468: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
051013,000469: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
051014,000470: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
051015,000471: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
051016,000472: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
051017,000473:
051018,000474: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
051019,000475: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
051020,000476: # CSMPREC CSMCONIC LEMPREC LEMCONIC
051021,000477: # VINTFLAG SET SET CLEAR CLEAR
051022,000478: # INTYPFLG CLEAR SET CLEAR SET
051023,000479: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
051024,000480:
051025,000481: # CALLING SEQUENCE
051026,000482: # L-X STORE TDEC1
![]() |
Page 1205 |
051028,000484: # L CALL (STCALL TDEC1)
051029,000485: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
051030,000486:
051031,000487: # NORMAL EXIT TO L+2
051032,000488:
051033,000489: # SUBROUTINES CALLED
051034,000490: # INTEGRV1
051035,000491: # PRECOUT FOR CSMPREC AND LEMPREC
051036,000492: # CONICOUT FOR CSMCONIC AND LEMCONIC
051037,000493:
051038,000494: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
051039,000495: # INPUT
051040,000496: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28
051041,000497:
051042,000498: 13,3044 45020 CSMPREC STQ CALL
051043,000499: 13,3045 00046 X1
051044,000500: 13,3046 27412 INTSTALL
051045,000501: 13,3047 43130 SXA,1 SET
051046,000502: 13,3050 02102 IRETURN
051047,000503: 13,3051 01474 VINTFLAG
051048,000504:
051049,000505: 13,3052 43014 IFLAGP SET CLEAR
051050,000506: 13,3053 01467 PRECIFLG
051051,000507: 13,3054 01676 DIM0FLAG
051052,000508: 13,3055 77614 CLRGO
051053,000509: 13,3056 01633 INTYPFLG
051054,000510: 13,3057 27137 INTEGRV1
051055,000511: 13,3060 45020 LEMPREC STQ CALL
051056,000512: 13,3061 00046 X1
051057,000513: 13,3062 27412 INTSTALL
051058,000514: 13,3063 43130 SXA,1 CLRGO
051059,000515: 13,3064 02102 IRETURN
051060,000516: 13,3065 01634 VINTFLAG
051061,000517: 13,3066 27052 IFLAGP
051062,000518:
051063,000519: 13,3067 45020 CSMCONIC STQ CALL
051064,000520: 13,3070 00046 X1
051065,000521: 13,3071 27412 INTSTALL
051066,000522: 13,3072 43130 SXA,1 SET
051067,000523: 13,3073 02102 IRETURN
051068,000524: 13,3074 01474 VINTFLAG
051069,000525: 13,3075 43014 IFLAGC CLEAR SETGO
051070,000526: 13,3076 01676 DIM0FLAG
051071,000527: 13,3077 01433 INTYPFLG
051072,000528: 13,3100 27137 INTEGRV1
051073,000529: 13,3101 45020 LEMCONIC STQ CALL
051074,000530: 13,3102 00046 X1
051075,000531: 13,3103 27412 INTSTALL
051076,000532: 13,3104 43130 SXA,1 CLRGO
![]() |
Page 1215 |
051078,000534: 13,3105 02102 IRETURN
051079,000535: 13,3106 01634 VINTFLAG
051080,000536: 13,3107 27075 IFLAGC
051081,000537:
051082,000538: 13,3110 66214 INTEGRVS SET SSP
051083,000539: 13,3111 01467 PRECIFLG
051084,000540: 13,3112 02031 PBODY
051085,000541: 13,3113 00000 0
051086,000542: 13,3114 66214 BOF SSP
051087,000543: 13,3115 00343 MOONFLAG
051088,000544: 13,3116 27121 +3
051089,000545: 13,3117 02031 PBODY
051090,000546: 13,3120 00002 2
051091,000547: 13,3121 77220 STQ VLOAD
051092,000548: 13,3122 02102 IRETURN
051093,000549: 13,3123 24007 ZEROVEC
051094,000550: 13,3124 01521 STORE TDELTAV
051095,000551: 13,3125 35527 STCALL TNUV
051096,000552: 13,3126 27673 RECTIFY
051097,000553: 13,3127 43014 CLEAR SET
051098,000554: 13,3130 01676 DIM0FLAG
051099,000555: 13,3131 04062 NEWIFLG
051100,000556: 13,3132 77614 SETGO
051101,000557: 13,3133 04020 RPQFLAG
051102,000558: 13,3134 27151 ALOADED
051103,000559:
051104,000560: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
051105,000561: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
051106,000562: # IS ENTERED AT INTEGRV1 BY CSMPREC ET.AL. AND AT ALOADED BY INTEGRVS.
051107,000563: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
051108,000564: # PROGRAM FOR PRECISION OR CONIC
051109,000565:
051110,000566: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
051111,000567: # SETTING ANY FLAGS.
051112,000568: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
051113,000569: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
051114,000570: # INTYPFLG
051115,000571: # DIM0FLAG
051116,000572: # D6OR9FLG
051117,000573:
051118,000574: # CALLING SEQUENCE
051119,000575: # L-X CALL
051120,000576: # L-Y INTSTALL
051121,000577: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
051122,000578: # AND DIM0FLAG IS CLEAR.
051123,000579: # L CALL
051124,000580: # L+1 INTEGRV
051125,000581:
051126,000582: # INITIALIZATION
051127,000583: # FLAGS AS ABOVE
051128,000584: # STORE TIME TO INTEGRATE TO IN TDEC1
051129,000585:
051130,000586: # OUTPUT
051131,000587: # RATT AS
![]() |
Page 1216 |
051133,000589: # VATT DEFINED
051134,000590: # TAT BEFORE
051135,000591:
051136,000592: 13,3135 77620 INTEGRV STQ
051137,000593: 13,3136 02102 IRETURN
051138,000594: 13,3137 43014 INTEGRV1 SET SET
051139,000595: 13,3140 04060 RPQFLAG
051140,000596: 13,3141 04062 NEWIFLG
051141,000597: 13,3142 77731 INTEGRV2 SSP
051142,000598: 13,3143 00053 QPRET
051143,000599: 13,3144 27151 ALOADED
051144,000600: 13,3145 52014 BON GOTO
051145,000601: 13,3146 01714 VINTFLAG
051146,000602: 13,3147 26706 PTOACSM
051147,000603: 13,3150 26761 PTOALEM
051148,000604: 13,3151 77745 ALOADED DLOAD
051149,000605: 13,3152 00041 TDEC1
051150,000606: 13,3153 01115 STORE TDEC
051151,000607: 13,3154 52014 BOFF GOTO
051152,000608: 13,3155 01753 INTYPFLG
051153,000609: 13,3156 27260 TESTLOOP
051154,000610: 13,3157 27244 RVCON
051155,000611: 13,3160 77414 A-PCHK BOF EXIT
051156,000612: 13,3161 01752 STATEFLG
051157,000613: 13,3162 27201 RECTOUT
051158,000614: 13,3163 05353 TC PHASCHNG
051159,000615: 13,3164 04022 OCT 04022
051160,000616: 13,3165 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
051161,000617: 13,3166 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
051162,000618: 13,3167 06042 TC INTPRET
051163,000619: 13,3170 77731 SSP
051164,000620: 13,3171 00053 QPRET
051165,000621: 13,3172 27177 PHEXIT
051166,000622: 13,3173 52014 BON GOTO
051167,000623: 13,3174 01714 VINTFLAG
051168,000624: 13,3175 26662 ATOPCSM
051169,000625: 13,3176 26735 ATOPLEM
051170,000626: 13,3177 77624 PHEXIT CALL
051171,000627: 13,3200 11226 GRP2PC
051172,000628: 13,3201 45001 RECTOUT SETPD CALL
051173,000629: 13,3202 00001 0
051174,000630: 13,3203 27673 RECTIFY
051175,000631: 13,3204 53775 VLOAD VSL*
051176,000632: 13,3205 01503 RRECT
051177,000633: 13,3206 57576 0,2
051178,000634: 13,3207 53715 PDVL VSL* # RATT TO PD0
051179,000635: 13,3210 01511 VRECT
051180,000636: 13,3211 57576 0,2
051181,000637: 13,3212 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
![]() |
Page 1208 |
051183,000639: 13,3213 01517 TET
051184,000640: 13,3214 01503 RRECT
051185,000641: 13,3215 64715 PDVL PDDL*
051186,000642: 13,3216 01511 VRECT
051187,000643: 13,3217 51770 MUEARTH,2
051188,000644: 13,3220 76006 PUSH AXT,1
051189,000645: 13,3221 77765 DEC -10 B-14
051190,000646: 13,3222 76014 BON AXT,1
051191,000647: 13,3223 00303 MOONFLAG
051192,000648: 13,3224 27226 +2
051193,000649: 13,3225 77775 DEC -2 B-14
051194,000650: 13,3226 40001 INTEXIT SETPD BOV
051195,000651: 13,3227 00001 0
051196,000652: 13,3230 27231 +1
051197,000653: 13,3231 43014 CLEAR CLEAR
051198,000654: 13,3232 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
051199,000655: 13,3233 01667 PRECIFLG
051200,000656: 13,3234 77614 CLEAR
051201,000657: 13,3235 01672 STATEFLG
051202,000658: 13,3236 77535 SLOAD EXIT
051203,000659: 13,3237 02103 IRETURN
051204,000660: 13,3240 30154 CA MPAC
051205,000661: 13,3241 50120 INDEX FIXLOC
051206,000662: 13,3242 54052 TS QPRET
051207,000663: 13,3243 03423 TC INTWAKE
051208,000664:
051209,000665: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
051210,000666: # VELOCITY FOR THE INTERVAL (TET-TDEC)
051211,000667:
051212,000668: 13,3244 45345 RVCON DLOAD DSU
051213,000669: 13,3245 01115 TDEC
051214,000670: 13,3246 01517 TET
051215,000671: 13,3247 36074 STCALL TAU.
051216,000672: 13,3250 27673 RECTIFY
051217,000673: 13,3251 77624 CALL
051218,000674: 13,3252 22404 KEPPREP
051219,000675: 13,3253 43345 DLOAD DAD
051220,000676: 13,3254 01551 TC
051221,000677: 13,3255 01517 TET
051222,000678: 13,3256 35517 STCALL TET
051223,000679: 13,3257 27201 RECTOUT
051224,000680:
![]() |
Page 1209 |
051226,000682: # TESTLOOP
051227,000683:
051228,000684: 13,3260 43014 TESTLOOP BOF CLRGO
051229,000685: 13,3261 04752 QUITFLAG
051230,000686: 13,3262 27265 +3
051231,000687: 13,3263 01632 STATEFLG
051232,000688: 13,3264 27226 INTEXIT # STOP INTEGRATION
051233,000689: 13,3265 73001 +3 SETPD LXA,2
051234,000690: 13,3266 00013 10D
051235,000691: 13,3267 02030 PBODY
051236,000692: 13,3270 51575 VLOAD ABVAL
051237,000693: 13,3271 01535 RCV
051238,000694: 13,3272 43006 PUSH CLEAR # RC TO 10D
051239,000695: 13,3273 00262 MIDFLAG
051240,000696: 13,3274 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
051241,000697: 13,3275 53755 RME,2
051242,000698: 13,3276 27301 +3
051243,000699: 13,3277 77614 SET
051244,000700: 13,3300 00062 MIDFLAG
051245,000701: 13,3301 41345 NORFINAL DLOAD DMP
051246,000702: 13,3302 00013 10D
051247,000703: 13,3303 00043 34D
051248,000704: 13,3304 55762 SR1R DDV*
051249,000705: 13,3305 51770 MUEARTH,2
051250,000706: 13,3306 41366 SQRT DMP
051251,000707: 13,3307 25762 .3D
051252,000708: 13,3310 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
051253,000709: 13,3311 54345 DLOAD SL
051254,000710: 13,3312 00155 MPAC
051255,000711: 13,3313 20220 15D # OF 128 CSECS.
051256,000712: 13,3314 40006 PUSH BOV
051257,000713: 13,3315 27342 MAXDT
051258,000714: 13,3316 50021 BDSU BMN
051259,000715: 13,3317 27411 DT/2MAX
051260,000716: 13,3320 27342 MAXDT
051261,000717: 13,3321 45345 DT/2COMP DLOAD DSU
051262,000718: 13,3322 01115 TDEC
051263,000719: 13,3323 01517 TET
051264,000720: 13,3324 54234 RTB SL
051265,000721: 13,3325 21613 SGNAGREE
051266,000722: 13,3326 20211 8D
051267,000723: 13,3327 02076 STORE DT/2 # B-19
051268,000724: 13,3330 51400 BOV ABS
051269,000725: 13,3331 27346 GETMAXDT
051270,000726: 13,3332 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
051271,000727: 13,3333 00015 12D
051272,000728: 13,3334 27352 P00HCHK
051273,000729: 13,3335 75345 USEMAXDT DLOAD SIGN
051274,000730: 13,3336 00015 12D
051275,000731: 13,3337 02076 DT/2
![]() |
Page 1210 |
051277,000733: 13,3340 36076 STCALL DT/2
051278,000734: 13,3341 27352 P00HCHK
051279,000735: 13,3342 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
051280,000736: 13,3343 27411 DT/2MAX
051281,000737: 13,3344 77650 GOTO
051282,000738: 13,3345 27321 DT/2COMP
051283,000739: 13,3346 77634 GETMAXDT RTB
051284,000740: 13,3347 21713 SIGNMPAC
051285,000741: 13,3350 36076 STCALL DT/2
051286,000742: 13,3351 27335 USEMAXDT
051287,000743: 13,3352 51545 P00HCHK DLOAD ABS
051288,000744: 13,3353 02076 DT/2
051289,000745: 13,3354 50025 DSU BMN
051290,000746: 13,3355 27407 DT/2MIN
051291,000747: 13,3356 27160 A-PCHK
051292,000748: 13,3357 43014 BOFF BON # NO BACKWARDS INTEGRATION
051293,000749: 13,3360 01740 POOHFLAG # WHEN IN POO
051294,000750: 13,3361 23311 TIMESTEP
051295,000751: 13,3362 01707 PRECIFLG
051296,000752: 13,3363 23311 TIMESTEP
051297,000753: 13,3364 45345 DLOAD DSU
051298,000754: 13,3365 02076 DT/2
051299,000755: 13,3366 00015 12D
051300,000756: 13,3367 43040 BMN BOFCLR
051301,000757: 13,3370 27160 A-PCHK
051302,000758: 13,3371 04242 NEWIFLG
051303,000759: 13,3372 23311 TIMESTEP
051304,000760: 13,3373 45345 DLOAD DSU
051305,000761: 13,3374 01115 TDEC
051306,000762: 13,3375 01517 TET
051307,000763: 13,3376 77640 BMN # NO BACKWARD INTEGRATION
051308,000764: 13,3377 27226 INTEXIT
051309,000765: 13,3400 40525 PDDL SR4
051310,000766: 13,3401 02076 DT/2 # IS 4(DT) LS (TDEC - TET)
051311,000767: 13,3402 44322 SR2R BDSU # NO
051312,000768: 13,3403 52040 BMN GOTO
051313,000769: 13,3404 27226 INTEXIT
051314,000770: 13,3405 23311 TIMESTEP
051315,000771: 13,3406 00000 01400 DT/2MIN 2DEC 3 B-20
051316,000772:
051317,000773: 13,3410 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
051318,000774:
051319,000775: 13,3412 77776 INTSTALL EXIT
051320,000776: 13,3413 30106 CA RASFLAG
051321,000777: 13,3414 73464 MASK INTBITAB # IS THIS STALL AREA FREE
051322,000778: 13,3415 00006 EXTEND
051323,000779: 13,3416 13456 BZF OKTOGRAB # YES
051324,000780: 13,3417 33463 CAF WAKESTAL
051325,000781: 13,3420 05133 TC JOBSLEEP
051326,000782: 13,3421 77776 INTWAKE0 EXIT
![]() |
Page 1211 |
051328,000784: 13,3422 13443 TCF INTWAKE1
051329,000785:
051330,000786: 13,3423 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
051331,000787: 13,3424 74745 MASK REINTBIT # RESTARTED
051332,000788: 13,3425 10000 CCS A
051333,000789: 13,3426 03443 TC INTWAKE1 # NO
051334,000790:
051335,000791: 13,3427 50120 INDEX FIXLOC
051336,000792: 13,3430 30052 CA QPRET
051337,000793: 13,3431 55054 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
051338,000794:
051339,000795: 13,3432 05353 TC PHASCHNG
051340,000796: 13,3433 04022 OCT 04022
051341,000797:
051342,000798: 13,3434 31054 CA TBASE2
051343,000799: 13,3435 50120 INDEX FIXLOC
051344,000800: 13,3436 54052 TS QPRET
051345,000801:
051346,000802: 13,3437 34745 CAF REINTBIT
051347,000803: 13,3440 70106 MASK RASFLAG
051348,000804: 13,3441 00006 EXTEND
051349,000805: 13,3442 13461 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
051350,000806:
051351,000807: 13,3443 33463 INTWAKE1 CAF WAKESTAL
051352,000808: 13,3444 00004 INHINT
051353,000809: 13,3445 05137 TC JOBWAKE
051354,000810: 13,3446 10064 CCS LOCCTR
051355,000811: 13,3447 13443 TCF INTWAKE1
051356,000812: 13,3450 00051 FORTYONE DEC 41 B-14
051357,000813: 13,3451 43464 CS INTBITAB
051358,000814: 13,3452 70106 MASK RASFLAG
051359,000815: 13,3453 54106 TS RASFLAG # RELEASE STALL AREA
051360,000816: 13,3454 00003 RELINT
051361,000817: 13,3455 13461 TCF GOBAC
051362,000818: 13,3456 34736 OKTOGRAB CAF INTFLBIT
051363,000819: 13,3457 00004 INHINT
051364,000820: 13,3460 26106 ADS RASFLAG
051365,000821: 13,3461 06042 GOBAC TC INTPRET
051366,000822: 13,3462 77616 RVQ
051367,000823: 13,3463 27413 WAKESTAL CADR INTSTALL +1
051368,000824: 13,3464 20100 INTBITAB OCT 20100
051369,000825:
![]() |
Page 1212 |
051371,000827: # AVETOMID
051372,000828:
051373,000829: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
051374,000830: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
051375,000831: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
051376,000832:
051377,000833: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLG IS
051378,000834: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
051379,000835:
051380,000836: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
051381,000837:
051382,000838: # FINALLY TRKMKCNT IS ZEROED
051383,000839:
051384,000840: 13,2000 SETLOC INTINIT
051385,000841: 13,2000 BANK
051386,000842:
051387,000843: 13,3465 COUNT* $$/INTIN
051388,000844: 13,3465 43020 AVETOMID STQ BON
051389,000845: 13,3466 02772 EGRESS
051390,000846: 13,3467 02716 RENDWFLG
051391,000847: 13,3470 27534 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051392,000848: 13,3471 77614 BON
051393,000849: 13,3472 01711 ORBWFLAG
051394,000850: 13,3473 27534 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051395,000851:
051396,000852: 13,3474 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
051397,000853: 13,3475 01234 PIPTIME # DESIRED TIME
051398,000854: 13,3476 27412 INTSTALL
051399,000855: 13,3477 45014 SET CALL
051400,000856: 13,3500 01474 VINTFLAG # CM
051401,000857: 13,3501 26645 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
051402,000858: 13,3502 34041 STCALL TDEC1
051403,000859: 13,3503 27135 INTEGRV
051404,000860:
051405,000861: 13,3504 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
051406,000862: 13,3505 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
051407,000863: 13,3506 27412 INTSTALL
051408,000864: 13,3507 77014 BON AXT,2
051409,000865: 13,3510 04304 MOONTHIS
051410,000866: 13,3511 27513 +2
051411,000867: 13,3512 00000 0
051412,000868: 13,3513 53775 VLOAD VSR*
051413,000869: 13,3514 01220 RN
051414,000870: 13,3515 57176 0,2
051415,000871: 13,3516 01503 STORE RRECT
051416,000872: 13,3517 15535 STODL RCV
051417,000873: 13,3520 01234 PIPTIME
051418,000874: 13,3521 25517 STOVL TET
051419,000875: 13,3522 01226 VN
![]() |
Page 1213 |
051421,000877: 13,3523 45057 VSR* CALL
051422,000878: 13,3524 57176 0,2
051423,000879: 13,3525 27707 MINIRECT # FINISH SETTING UP STATE VECTOR
051424,000880: 13,3526 66234 RTB SSP
051425,000881: 13,3527 26750 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
051426,000882: 13,3530 03463 TRKMKCNT
051427,000883: 13,3531 00000 0
051428,000884: 13,3532 77650 GOTO
051429,000885: 13,3533 47230 FAZAB5
051430,000886:
051431,000887: 13,3534 45145 INT/W DLOAD CALL
051432,000888: 13,3535 01234 PIPTIME # INTEGRATE W THRU BURN
051433,000889: 13,3536 27412 INTSTALL
051434,000890: 13,3537 43014 SET SET
051435,000891: 13,3540 01476 DIM0FLAG # DO W-MATRIX
051436,000892: 13,3541 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
051437,000893: 13,3542 43014 SET CLEAR
051438,000894: 13,3543 01475 D6OR9FLG # 9X9 FOR LM
051439,000895: 13,3544 01674 VINTFLAG # LM
051440,000896: 13,3545 34041 STCALL TDEC1
051441,000897: 13,3546 27135 INTEGRV
051442,000898: 13,3547 77650 GOTO
051443,000899: 13,3550 27474 OTHERS # NOW GO DO THE OTHER VEHICLE
051444,000900:
![]() |
Page 1214 |
051446,000902: # MIDTOAV1
051447,000903:
051448,000904: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
051449,000905: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
051450,000906: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
051451,000907: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
051452,000908: # IS DONE TO THE CURRENT TIME.
051453,000909: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
051454,000910:
051455,000911: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
051456,000912: # TO THE RETURN ADDRESS
051457,000913:
051458,000914: # IN EITHER CASE , BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
051459,000915: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
051460,000916: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
051461,000917: # TAT MINUS CURRENT TIME.
051462,000918:
051463,000919: # MIDTOAV2
051464,000920:
051465,000921: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
051466,000922: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
051467,000923: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
051468,000924:
051469,000925: 13,3551 E7,1744 EBANK= IRETURN1
051470,000926: 13,3551 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
051471,000927: 13,3552 03744 IRETURN1
051472,000928: 13,3553 04634 MID1FLAG
051473,000929: 13,3554 27570 ENTMID2
051474,000930:
051475,000931: 13,3555 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
051476,000932: 13,3556 03744 IRETURN1
051477,000933: 13,3557 04474 MID1FLAG
051478,000934: 13,3560 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
051479,000935: 13,3561 21574 LOADTIME
051480,000936: 13,3562 27672 TIMEDELT
051481,000937: 13,3563 51021 BDSU BPL
051482,000938: 13,3564 00041 TDEC1
051483,000939: 13,3565 27574 ENTMID1 # Y5S
051484,000940: 13,3566 77624 CALL
051485,000941: 13,3567 27660 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
051486,000942:
051487,000943: 13,3570 43234 ENTMID2 RTB DAD
051488,000944: 13,3571 21574 LOADTIME
051489,000945: 13,3572 27672 TIMEDELT
051490,000946: 13,3573 00041 STORE TDEC1
051491,000947:
051492,000948: 13,3574 77624 ENTMID1 CALL
051493,000949: 13,3575 27412 INTSTALL
051494,000950: 13,3576 45014 CLEAR CALL
![]() |
Page 1215 |
051496,000952: 13,3577 01676 DIM0FLAG # NO W-MATRIX
051497,000953: 13,3600 26066 THISVINT
051498,000954: 13,3601 43014 CLEAR SET
051499,000955: 13,3602 01673 INTYPFLG
051500,000956: 13,3603 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
051501,000957: 13,3604 77624 CALL
051502,000958: 13,3605 27135 INTEGRV # GO INTEGRATE
051503,000959: 13,3606 77214 CLEAR VLOAD
051504,000960: 13,3607 04675 MIDAVFLG
051505,000961: 13,3610 00001 RATT
051506,000962: 13,3611 27545 STOVL RN1
051507,000963: 13,3612 00007 VATT
051508,000964: 13,3613 17553 STODL VN1
051509,000965: 13,3614 00015 TAT
051510,000966: 13,3615 03561 STORE PIPTIME1
051511,000967: 13,3616 66134 SXA,2 SXA,1
051512,000968: 13,3617 02777 RTX2
051513,000969: 13,3620 02776 RTX1
051514,000970: 13,3621 77776 EXIT
051515,000971:
051516,000972: 13,3622 00004 INHINT
051517,000973: 13,3623 00006 EXTEND
051518,000974: 13,3624 40025 DCS TIME2
051519,000975: 13,3625 20155 DAS MPAC
051520,000976: 13,3626 07262 TC TPAGREE
051521,000977:
051522,000978: 13,3627 31744 CA IRETURN1
051523,000979: 13,3630 04640 TC BANKJUMP
051524,000980: 13,3631 47014 CKMID2 BOF RTB
051525,000981: 13,3632 04754 MID1FLAG
051526,000982: 13,3633 27650 MID2
051527,000983: 13,3634 21574 LOADTIME
051528,000984: 13,3635 44215 DAD BDSU
051529,000985: 13,3636 27672 TIMEDELT
051530,000986: 13,3637 01115 TDEC
051531,000987: 13,3640 45044 BPL CALL
051532,000988: 13,3641 27260 TESTLOOP # YES
051533,000989: 13,3642 27660 NOTIME
051534,000990:
051535,000991: 13,3643 43234 TIMEINC RTB DAD
051536,000992: 13,3644 21574 LOADTIME
051537,000993: 13,3645 27672 TIMEDELT
051538,000994: 13,3646 35115 STCALL TDEC
051539,000995: 13,3647 27260 TESTLOOP
051540,000996:
051541,000997: 13,3650 45345 MID2 DLOAD DSU
051542,000998: 13,3651 01115 TDEC
051543,000999: 13,3652 01517 TET
051544,001000: 13,3653 45246 ABS DSU
051545,001001: 13,3654 27670 3CSECS
051546,001002:
![]() |
Page 1216 |
051548,001004: 13,3655 52040 BMN GOTO
051549,001005: 13,3656 27160 A-PCHK
051550,001006: 13,3657 27643 TIMEINC
051551,001007:
051552,001008: 13,3660 77414 NOTIME CLEAR EXIT # TOO LATE
051553,001009: 13,3661 04674 MID1FLAG
051554,001010: 13,3662 25744 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
051555,001011: 13,3663 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
051556,001012: 13,3664 01703 OCT 1703 # TIG WILL BE SLIPPED...
051557,001013: 13,3665 06042 TC INTPRET
051558,001014: 13,3666 77616 RVQ
051559,001015:
051560,001016: 13,3667 00000 00003 3CSECS 2DEC 3 B-28
051561,001017:
051562,001018: 13,3671 00000 03720 TIMEDELT 2DEC 2000 B-28
051563,001019:
051564,001020: 27,3360 BANK 27
051565,001021: 04,2000 SETLOC UPDATE2
051566,001022: 04,2000 BANK
051567,001023: 04,3147 1166 EBANK= INTWAKUQ
051568,001024:
051569,001025: 04,3147 COUNT* $$/INTIN
051570,001026:
051571,001027: 04,3147 1166 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
051572,001028:
051573,001029: 04,3147 00003 INTWAKEU RELINT
051574,001030: 04,3150 00006 EXTEND
051575,001031: 04,3151 23166 QXCH INTWAKUQ # SAVE Q FOR RETURN
051576,001032:
051577,001033: 04,3152 06042 TC INTPRET
051578,001034:
051579,001035: 04,3153 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
051580,001036: 04,3154 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
051581,001037: 04,3155 11214 INTWAKUP
051582,001038:
051583,001039: 04,3156 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
051584,001040: 04,3157 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
051585,001041: 04,3160 25535 STOVL RCV
051586,001042: 04,3161 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
051587,001043: 04,3162 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
051588,001044: 04,3163 27710 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
051589,001045: 04,3164 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
051590,001046: 04,3165 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
051591,001047: 04,3166 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
051592,001048: 04,3167 11225 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
051593,001049: 04,3170 11175 INTWAKEM # SPHERE OF INFLUENCE.........
051594,001050: 04,3171 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
051595,001051: 04,3172 00000 DEC 0 B-14
051596,001052: 04,3173 00223 MOONFLAG
![]() |
Page 1217 |
051598,001054: 04,3174 11200 INTWAKEC
051599,001055: 04,3175 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
051600,001056: 04,3176 00002 DEC 2 B-14
051601,001057: 04,3177 00063 MOONFLAG
051602,001058: 04,3200 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
051603,001059: # MOONFLAG SET (OR CLEARED).
051604,001060: 04,3201 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
051605,001061: 04,3202 11210 INTWAKLM # STATE VECTOR UPDATE......
051606,001062: 04,3203 77624 CALL # UPDATE CSM STATE VECTOR
051607,001063: 04,3204 26662 ATOPCSM
051608,001064:
051609,001065: 04,3205 52014 CLEAR GOTO
051610,001066: 04,3206 01671 ORBWFLAG
051611,001067: 04,3207 11212 INTWAKEX
051612,001068:
051613,001069: 04,3210 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
051614,001070: 04,3211 26735 ATOPLEM
051615,001071:
051616,001072: 04,3212 77614 INTWAKEX CLEAR
051617,001073: 04,3213 02676 RENDWFLG
051618,001074:
051619,001075: 04,3214 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
051620,001076: 04,3215 01502 UPSVFLAG
051621,001077: 04,3216 00000 0
051622,001078: 04,3217 27421 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
051623,001079: 04,3220 77776 EXIT
051624,001080:
051625,001081: 04,3221 05353 TC PHASCHNG
051626,001082: 04,3222 04026 OCT 04026
051627,001083: 04,3223 01166 TC INTWAKUQ
051628,001084:
051629,001085: 04,3224 00002 UPMNSVCD OCT 2
051630,001086: 04,3225 00000 OCT 0
051631,001087:
051632,001088: 04,3226 77420 GRP2PC STQ EXIT
051633,001089: 04,3227 02711 GRP2SVQ
051634,001090: 04,3230 05353 TC PHASCHNG
051635,001091: 04,3231 04022 OCT 04022
051636,001092: 04,3232 06042 TC INTPRET
051637,001093: 04,3233 77650 GOTO
051638,001094: 04,3234 02711 GRP2SVQ
051639,001095:
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc