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