SSL PLANETARY_INERTIAL_ORIENTATION.agc
Sprache: Apollo
# Copyright: Public domain. # Filename: PLANETARY_INERTIAL_ORIENTATION.agc # Purpose: Part of the source code for Luminary 1A build 099. # It is part of the source code for the Lunar Module's (LM) # Apollo Guidance Computer (AGC), for Apollo 11. # # Assembler: yaYUL # Contact: Jim Lawton <jim.lawton@gmail.com> # Website: www.ibiblio.org/apollo. # Pages: 1140-1148 # Mod history: 2009-05-28 JVL Updated from page images. # # This source code has been transcribed or otherwise adapted from digitized # images of a hardcopy from the MIT Museum. The digitization was performed # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many # thanks to both. The images (with suitable reduction in storage size and # consequent reduction in image quality as well) are available online at # www.ibiblio.org/apollo. If for some reason you find that the images are # illegible, contact me at info@sandroid.org about getting access to the # (much) higher-quality images which Paul actually created. # # Notations on the hardcopy document read, in part: # # Assemble revision 001 of AGC program LMY99 by NASA 2021112-061 # 16:27 JULY 14, 1969
# Page 1140 # ..... RP-TO-R SUBROUTINE ..... # SUBROUTINE TO CONVERT RP (VECTOR IN PLANETARY COORDINATE SYSTEM,EITHER # EARTH-FIXED OR MOON-FIXED) TO R (SAME VECTOR IN THE BASIC REF. SYSTEM) # # R=MT(T)*(RP+LPXRP) MT= M MATRIX TRANSPOSE # # CALLING SEQUENCE # L CALL # L+1 RP-TO-R # # SUBROUTINES USED # EARTHMX,MOONMX,EARTHL # # ITEMS AVAILABLE FROM LAUNCH DATA # 504LM= THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL,EXPRESSED # IN THE MOON-FIXED COORD. SYSTEM RADIANS B0 # ITEMS NECESSARY FOR SUBR. USED (SEE DESCRIPTION OF SUBR.) # # INPUT # MPAC= 0 FOR EARTH,NON-ZERO FOR MOON # 0-5D= RP VECTOR # 6-7D= TIME # # OUTPUT # MPAC= R VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON
SETLOC PLANTIN1 BANK
COUNT* $$/LUROT
RP-TO-R STQ BHIZ
RPREXIT
RPTORA CALL# COMPUTE M MATRIX FOR MOON
MOONMX # LP=LM FOR MOON RADIANS B0
VLOAD 504LM
RPTORB VXV VAD 504RPR 504RPR
VXM GOTO
MMATRIX # MPAC=R=MT(T)*(RP+LPXRP)
RPRPXXXX # RESET PUSHLOC TO 0 BEFORE EXITING
RPTORA CALL# EARTH COMPUTATIONS
EARTHMX # M MATRIX B-1 CALL
EARTHL # L VECTOR RADIANS B0
MXV VSL1 # LP=M(T)*L RAD B-0
MMATRIX # Page 1141
GOTO
RPTORB SETLOC PLANTIN BANK COUNT* $$/LUROT
# Page 1142 # ..... R-TO-RP SUBROUTINE ..... # SUBROUTINE TO CONVERT R (VECTOR IN REFERENCE COORD. SYSTEM) TO RP # (VECTOR IN PLANETARY COORD SYSTEM) EITHER EARTH-FIXED OR MOON-FIXED # # RP=M(T)*(R-LXR) # # CALLING SEQUENCE # L CALL # L+1 R-TO-RP # # SUBROUTINES USED # EARTHMX,MOONMX,EARTHL # # INPUT # MPAC= 0 FOR EARTH, NON-ZERO FOR MOON # 0-5D= R VECTOR # 6-7D= TIME # # ITEMS AVAILABLE FROM LAUNCH DATA # 504LM= THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL,EXPRESSED # IN THE MOON-FIXED COORD. SYSTEM RADIANS B0 # ITEMS NECESSARY FOR SUBROUTINES USED (SEE DESCRIPTION OF SUBR.) # # OUTPUT # MPAC=RP VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON
# Page 1143 # ..... MOONMX SUBROUTINE ..... # SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE MOON # # CALLING SEQUENCE # L CALL # L+1 MOONMX # # SUBROUTINES USED # NEWANGLE # # INPUT # 6-7D= TIME # ITEMS AVAILABLE FROM LAUNCH DATA # BSUBO,BDOT # TIMSUBO,NODIO,NODDOT,FSUBO,FDOT # COSI= COS(I) B-1 # SINI= SIN(I) B-1 # I IS THE ANGLE BETWEEN THE MEAN LUNAR EQUATORIAL PLANE AND THE # PLANE OF THE ECLIPTIC (1 DEGREE 32.1 MINUTES) # # OUTPUT # MMATRIX= 3X3 M MATRIX B-1 (STORED IN VAC AREA)
MOONMX STQ SETPD
EARTHMXX 8D
AXT,1# B REQUIRES SL 0, SL 5 IN NEWANGLE 5 DLOAD PDDL # PD 10D 8-9D=BSUBO
BSUBO # 10-11D= BDOT
BDOT PUSHCALL# PD 12D
NEWANGLE # EXIT WITH PD 8D AND MPAC= B REVS B0 PUSH COS # PD 10D STODL COB # PD 8D COS(B) B-1
SIN # SIN(B) B-1 STODL SOB # SETUP INPUT FOR NEWANGLE
FSUBO # 8-9D=FSUBO
PDDL PUSH# PD 10D THEN 12D 10-11D=FDOT
FDOT
AXT,1CALL# F REQUIRES SL 1, SL 6 IN NEWANGLE 4
NEWANGLE # EXIT WITH PD 8D AND MPAC= F REVS B0 STODL AVECTR +2# SAVE F TEMP
NODIO # 8-9D=NODIO
PDDL PUSH# PD 10D THEN 12D 10-11D=NODDOT
NODDOT # MPAC=T
AXT,1CALL# NODE REQUIRES SL 0, SL 5 IN NEWANGLE 5
NEWANGLE # EXIT WITH PD 8D AND MPAC= NODI REVS B0 # Page 1144 PUSH COS # PD 10D 8-9D= NODI REVS B0 PUSH# PD 12D 10-11D= COS(NODI) B-1 STORE AVECTR
DMP SL1R
COB # COS(NODI) B-1 STODL BVECTR +2# PD 10D 20-25D=AVECTR= COB*SIN(NODI)
DMP SL1R # SOB*SIN(NODI)
SOB STODL BVECTR +4# PD 8D
SIN PUSH# PD 10D -SIN(NODI) B-1
DCOMP # 26-31D=BVECTR= COB*COS(NODI) STODL BVECTR # PD 8D SOB*COS(NODI)
AVECTR +2# MOVE F FROM TEMP LOC. TO 504F STODL504F
DMP SL1R
COB
GOTO
MOONMXA
BANK25 SETLOC PLANTIN3 BANK COUNT* $$/LUROT
MOONMXA STODL AVECTR +2
SINNODI # 8-9D=SIN(NODI) B-1
DMP SL1R
SOB STODL AVECTR +4# 0
HI6ZEROS # 8-13D= CVECTR= -SOB B-1
PDDL DCOMP # PD 10D COB
SOB
PDDL PDVL # PD 12D THEN PD 14D
COB
BVECTR VXSC PDVL # PD 20D BVECTR*SINI B-2
SINI
CVECTR VXSC VAD # PD 14D CVECTR*COSI B-2
COSI
VSL1 STOVL MMATRIX +12D # PD 8D M2=BVECTR*SINI+CVECTR*COSI B-1 VXSC PDVL # PD 14D
SINI # CVECTR*SINI B-2
BVECTR VXSC VSU # PD 8D BVECTR*COSI B-2
COSI
VSL1 PDDL # PD 14D 504F # 8-13D=DVECTR=BVECTR*COSI-CVECTR*SINI B-1
COS VXSC # Page 1145
DVECTR
PDDL SIN # PD 20D 14-19D= DVECTR*COSF B-2 504F VXSC VSU # PD 14D AVECTR*SINF B-2
AVECTR
VSL1 STODL MMATRIX +6# M1= AVECTR*SINF-DVECTR*COSF B-1 504F
SIN VXSC# PD 8D
PDDL COS # PD 14D 8-13D=DVECTR*SINF B-2 504F VXSC VAD # PD 8D AVECTR*COSF B-2
AVECTR
VSL1 VCOMP
STCALL MMATRIX # M0= -(AVECTR*COSF+DVECTR*SINF) B-1
EARTHMXX # COMPUTE X=X0+(XDOT)(T+T0) # 8-9D= X0 (REVS B-0),PUSHLOC SET AT 12D # 10-11D=XDOT (REVS/CSEC) SCALED B+23 FOR WEARTH,B+28 FOR NODDOT AND BDOT # AND B+27 FOR FDOT # X1=DIFFERENCE IN 23 AND SCALING OF XDOT,=0 FOR WEARTH,5 FOR NODDOT AND # BDOT AND 4 FOR FDOT # 6-7D=T (CSEC B-28), TIMSUBO= (CSEC B-42 TRIPLE PREC.)
NEWANGLE DLOAD SR # ENTER PD 12D 6D 14D
TAD TLOAD # CHANGE MODE TO TP
TIMSUBO
MPAC STODL TIMSUBM # T+T0 CSEC B-42
TIMSUBM +1
DMP # PD 10D MULT BY XDOT IN 10-11D
SL* DAD # PD 8D ADD X0 IN 8-9D AFTER SHIFTING 5,1# SUCH THAT SCALING IS B-0 PUSHSLOAD# PD 10D SAVE PARTIAL (X0+XDOT*T) IN 8-9D
TIMSUBM
SL DMP 9D 10D # XDOT
SL* DAD # PD 8D SHIFT SUCH THAT THIS PART OF X 10D,1# IS SCALED REVS/CSEC B-0
BOV # TURN OFF OVERFLOW IF SET BY SHIFT
+1# INSTRUCTION BEFORE EXITING
RVQ # MPAC=X= X0+(XDOT)(T+T0) REVS B0
# Page 1146 # ..... EARTHMX SUBROUTINE ..... # SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE EARTH # # CALLING SEQUENCE # L CALL # L+1 EARTHMX # # SUBROUTINE USED # NEWANGLE # # INPUT # INPUT AVAILABLE FROM LAUNCH DATA AZO REVS B-0 # TEPHEM CSEC B-42 # 6-7D= TIME CSEC B-28 # # OUTPUT # MMATRIX= 3X3 M MATRIX B-1 (STORED IN VAC AREA)
BANK26 SETLOC PLANTIN1 BANK COUNT* $$/LUROT
EARTHMX STQ SETPD # SET 8-9D=AZO
EARTHMXX 8D # 10-11D=WEARTH
AXT,1# FOR SL 5, AND SL 10 IN NEWANGLE 0 DLOAD PDDL # LEAVING PD SET AT 12D FOR NEWANGLE
AZO
WEARTH PUSHCALL
NEWANGLE
SETPD PUSH# 18-19D=504AZ 18D # COS(AZ) SIN(AZ) 0
COS PDDL # 20-37D= MMATRIX= -SIN(AZ) COS(AZ) 0 B-1 504AZ # 0 0 1
SIN PDDL
HI6ZEROS
PDDL SIN 504AZ
DCOMP PDDL 504AZ
COS PDVL
HI6ZEROS
PDDL PUSH
HIDPHALF
GOTO
EARTHMXX
# Page 1147 # ..... EARTHL SUBROUTINE ..... # SUBROUTINE TO COMPUTE L VECTOR FOR EARTH # # CALLING SEQUENCE # L CALL # L+1 EARTHL # # INPUT # AXO,AYO SET AT LAUNCH TIME WITH AYO IMMEDIATELY FOLLOWING AXO IN CORE # # OUTPUT # -AX # MPAC= -AY RADIANS B-0 # 0
# Page 1148 # CONSTANTS AND ERASABLE ASSIGNMENTS 1B1 = DP1/2# 1 SCALED B-1
RPREXIT = S1 # R-TO-RP AND RP-TO-R SUBR EXIT
EARTHMXX = S2 # EARTHMX,MOONMX SUBR. EXITS 504RPR = 0D # 6 REGS R OR RP VECTOR
SINNODI = 8D # 2 SIN(NODI)
DVECTR = 8D # 6 D VECTOR MOON
CVECTR = 8D # 6 C VECTR MOON 504AZ = 18D # 2 AZ
TIMSUBM = 14D # 3 TIME SUB M (MOON) T+T0 IN GETAZ 504LPL = 14D # 6 L OR LP VECTOR
AVECTR = 20D # 6 A VECTOR (MOON)
BVECTR = 26D # 6 B VECTOR (MOON)
MMATRIX = 20D # 18 M MATRIX
COB = 32D # 2 COS(B) B-1
SOB = 34D # 2 SIN(B) B-1 504F = 6D # 2 F (MOON)
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.1.790Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.