Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  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

R-TO-RP  STQ BHIZ
   RPREXIT
   RTORPA
  CALL
   MOONMX
  VLOAD VXM
   504LM  # LP=LM
   MMATRIX
  VSL1   #  L=MT(T)*LP  RADIANS B0
RTORPB  VXV BVSU
   504RPR
   504RPR
  MXV   # M(T)*(R-LXR) B-2
   MMATRIX
RPRPXXXX VSL1 SETPD
   0D
  GOTO
   RPREXIT
RTORPA  CALL   # EARTH COMPUTATIONS
   EARTHMX
  CALL
   EARTHL
  GOTO   # MPAC=L=(-AX,-AY,0) RAD B-0
   RTORPB

# 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
  PUSH CALL  # 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,1 CALL  # 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,1 CALL  # 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
  STODL 504F
  DMP SL1R
   COB
  GOTO
   MOONMXA

  BANK 25
  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
  PUSH SLOAD  # 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)

  BANK 26
  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
  PUSH CALL
   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

  BANK 06
  SETLOC EARTHLOC
  BANK
  COUNT* $$/LUROT

EARTHL  DLOAD DCOMP
   AXO
  STODL 504LPL
   -AYO
  STODL 504LPL +2
   LO6ZEROS
  STOVL 504LPL +4
   504LPL
  RVQ

# 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
C=37 H=100 G=75

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-10-12) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

schauen Sie vor die Tür
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912