Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  P11.agc   Sprache: Apollo

 

# Copyright:    Public domain.
# Filename:     P11.agc
# Purpose:      Part of the source code for Colossus 2A, AKA Comanche 055.
#               It is part of the source code for the Command Module's (CM)
#               Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler:    yaYUL
# Contact:      Hartmuth Gutsche <hgutsche@xplornet.com>.
# Website:      www.ibiblio.org/apollo.
# Pages: 533-550
# Mod history:  2009-05-13 HG   Started adapting from the Colossus249/ file
#                 of the same name, using Comanche055 page
#                 images 0533.jpg - 0550.jpg.
# 2009-05-20 RSB Corrections: ERTHALT -> EARTHALT,
# STATSW -> SATSW.
# 2009-05-23 RSB At end of RESCALES, corrected TC 0 to TC Q.
# Added an SBANK= prior to a 2CADR.
# 2010-08-24 JL Fixed page numbers. Added missing comment character on p537.
#
# 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 055 of AGC program Comanche by NASA
#    2021113-051.  10:28 APR. 1, 1969
#
#    This AGC program shall also be referred to as
#            Colossus 2A
# Page 533
# EARTH ORBIT INSERTION MONITOR PROGRAM
# *************************************

# PROGRAM DESCRIPTION -P11-

# MOD NO. 1
# MOD BY ELIASSEN

# FUNCTIONAL DESCRIPTION

# P11 IS INITIATED BY

# A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR
# B) BACKUP THRU VERB 75 ENTER

# PROGRAM WILL
# 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP)
# 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED
# 3. INITIATE SERVICER AT PREREAD1
# 4. CHANGE MAJOR MODE TO 11
# 5. CLEAR DSKY IN CASE OF V 75
# 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY
# 7. TERMINATE GYROCOMPASSING -  -
# 8. COMPUTE INITIAL VECTORS RN, VN            -  -  -
# 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE
# -         -                                X  Y  Z
# U =(UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF
# Z
# - -   -
# U =UNIT(A), A=HOR VECTOR AT LAUNCH AZIMUTH
# X
# -  -   -
# U =U * U
#  U  Z   X

# 10. SET REFSMMAT KNOWN FLAG
# 11. SET AVGEXIT IN SERVICER TO VHHDOT TO
#     COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS

#     R1 V1  - INERTIAL VELOCITY MAGNITUDE IN FPS
#     R2 HDOT - RATE OF CHANGE OF VEHICLE VEL IN FPS
#     R3 H    - VEHICLE ALTITUDE ABOVE PAD IN NM

# 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES
#
#     A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.)
#        DESIRED ATTITUDE IS AS STORED AT L.O.
#     B) FROM RPSTART TO POLYSTOP(APPROX.+10 TO +133SECS AFTER LO)
#        DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL
#        POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER
# Page 534
# THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX.
# EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1

# SUBROUTINES CALLED

# 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG
# DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL
# INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG
# POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1
# SERVEXIT TASKOVER TCDANZIG V1STO2S WAITLIST

# ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT)
#
# DSKY -
#      MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS
# R2 MINUTES

# DSKY -
#      MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES
# R2 PERIGEE ALTITUDE IN NAUTICAL MILES
# R3 TFF IN MINUTES/SECS

# IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST
# HIT PROCEED TO RETURN TO NORMAL NOUN 62 DISPLAY.
# NORMAL EXIT MODE

# ASTRONAUT VERB 37 ENTER 00 ENTER

# ALARM MODES - NONE

# ABORT EXIT MODES -

# OUTPUT

# TLIFTOFF (DP) TEPHEM (TP)
# REFSMMAT
# DSKY DISPLAY
# FDAI DISPLAY

# ERASABLE INITIALIZATION

# AZO, AXO, -AYO
# LATITUDE
# PADLONG
# TEPHEM
# PGNCSALT
# POLYNUM THRU POLYNUM +14D)
# RPSTART
# POLYSTOP
# FLAGS SET OR RESET
# Page 535
# SET REFSMFLG
# SET DVMON IDLE FLAG
# CLEAR ERADFLAG

# DEBRIS

# LIFTTEMP
# POLYNUM THRU POLYNUM +7
# SPOLYARG
# BODY1, BODY2, BODY3
# VMAG2, ALTI, HDOT
# CENTRALS, CORE SET AND VAC AREAS
  COUNT 34/P11

BITS5-6  = SUPER011
  BANK 42
  SETLOC P11ONE
  BANK

  EBANK= TEPHEM
P11  CA EBANK3
  TS EBANK

  EXTEND
  DCA REP11S  # DIRECT RESTARTS TO REP11
  DXCH -PHASE3
  CS ZERO
  ZL
  TS LIFTTEMP
  DXCH -PHASE5  # INACTIVE GROUP 5, PRELAUNCH PROTECTION
P11+7  EXTEND
  DCA REP11SA
  DXCH TLIFTOFF

  EXTEND
  DCA TIME2
  DXCH LIFTTEMP # FOR RESTARTS

  CA ZERO
  ZL
  DXCH TIME2
REP11A-2 DXCH TLIFTOFF
REP11A-1 DXCH -PHASE3  # RESET PHASE


REP11A  INHINT
  EXTEND
  DCA TEPHEM +1
  DXCH TEPHEM1 +1
  CA TEPHEM
# Page 536
  XCH TEPHEM1

  EXTEND
  DCA TLIFTOFF
  DAS TEPHEM1 +1
  ADS TEPHEM1  # CORRECTFOR OVERFLOW

  TC PHASCHNG
  OCT 05023
  OCT 22000

  INHINT
  EXTEND
  DCA TEPHEM1
  DXCH TEPHEM
  CA TEPHEM1 +2
  XCH TEPHEM +2

  CAF EBDVCNT
  TS EBANK
  EBANK= DVCNTR
  TC IBNKCALL
  CADR PREREAD1 # ZERO PIPS AND INITIALIZE AVERAGEG

  TC PHASCHNG
  OCT 05023  # CONTINUE HERE ON RESTART
  OCT 22000

  CAF .5SEC  # START ATT ERROR DISPLAY
  TC WAITLIST # IN .5 SEC
  EBANK= BODY3
  2CADR ATERTASK

  TC NEWMODEX # DISPLAY MM 11
  MM 11

  TC UPFLAG
  ADRES   NODOP01

  CA      POWDNCOD        # SWITCH TO POWERED FLIGHT DOWNLIST
  TS      DNLSTCOD

  TC      BANKCALL
  CADR CLEANDSP # CLEAR DSKY IN CASE OF V75

  TC 2PHSCHNG
  OCT 40514  # PROTECT ATERTASK
  OCT 00073
  CAF EBQPLACE
# Page 537
  TS EBANK

  EBANK= QPLACES
  CA P11XIT  # SET EXIT FROM PROUT IN EARTHR
  TS QPLACES
  TC      INTPRET
  VLOAD MXV
   THETAN
   XSM
  VSL1 VAD
   ERCOMP
  STODL ERCOMP
   TLIFTOFF
  SSP GOTO
   S2
  CADR PROUT  # RETURN FROM EARTHR
   EARTHR +3
MATRXJOB ZL                 # STORE DP GIMBAL ANGLES FOR ATTITUDE
  CA      CDUX            #       ERROR DISPLAY AFTER LIFTOFF
  DXCH    OGC
  ZL
  CA      CDUY
  DXCH    IGC
  ZL
  CA      CDUZ
  DXCH    MGC
                TC      INTPRET         #       -
  VLOAD   VSR1            # SCALE OGC B-1
   OGC
  STORE   OGC
  SSP   # ZERO RTX2
   RTX2  # FOR
   0  # EARTH
  DLOAD PDDL
   PGNCSALT # ALTITUDE OF PGNCS
   PADLONG  # LONGITUDE
  PDDL VDEF
   LATITUDE # GEODETIC LATITUDE
  STODL LAT  # LAT,LONG,ALT ARE CONSECUTIVE
   HI6ZEROS # TIME = 0
  CLEAR CALL
   ERADFLAG
   LALOTORV # CONVERT TO POSITION VECTOR IN REF.COORDS

  STCALL RN1             #              -
   GETDOWN  # RETURN WITH VECTOR FOR DOWN DIRECTION
  VCOMP   UNIT
  STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV)
   RN1
  VXV VXSC
# Page 538
   UNITW  # SCALED AT 1
   -ERTHRAT # V = EARTHRATE X R
  VSL4   # SCALE TO 2(7) M/CS
  STOVL VN1
   REFSMMAT +12D
  VXV UNIT
   UNITW  # (REF3 X UNITW) = EAST
  PUSH VXV
   REFSMMAT +12D # (EAST X REF3) = -SOUTH
  UNIT PDDL
   LAUNCHAZ # COS(AZ)*SOUTH
  COS VXSC
  STADR
  STODL REFSMMAT # TEMPORARY STORAGE
   LAUNCHAZ
  SIN VXSC  # SIN(AZ)*EAST
  VAD UNIT  # SIN(AZ)*EAST - COS(AZ)*SOUTH = REF1
   REFSMMAT
  STORE REFSMMAT

  VXV UNIT  # (REF1 X REF3) = -REF3
   REFSMMAT +12D
  VCOMP
  STORE REFSMMAT +6
  DLOAD DSU
   DPHALF  # 1/2 REV
   LAUNCHAZ
  DAD PDDL
   AZIMUTH
   SATRLRT  # SET SATRLRT = -SATRLRT IF
  SIGN STADR  # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE
  STORE SATRLRT  # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY
  SET EXIT
   REFSMFLG # SET REFSMMAT KNOWN FLAG

  TC PHASCHNG
  OCT 04023

  EXTEND
  DCA P11SCADR
  DXCH AVGEXIT  # SET AVGEXIT

  CA PRIO31  # 2 SECONDS AT 2(+8)
  TS 1/PIPADT

  EBANK= RCSFLAGS
  CA EBANK6
  TS EBANK

  INHINT
# Page 539
  CS ZERO
  TS TBASE5  # RESTART READACCS 2 SECONDS AFTER LIFTOFF

  CS TIME1
  AD 2SECS  # DO READACCS 2 SECONDS AFTER LIFTOFF

  CCS A  # CHECK TO INSURE DT IS POSITIVE
  TCF +3  # TIME POSITIVE
  TCF +2  # CANNOT GET HERE
  CA ZERO  # TIME NEGATIVE - SET TO 1
  AD ONE  # RESTORE TIME  -  OR MAKE POSITIVE

  TC WAITLIST
  EBANK= AOG
  2CADR READACCS

  TC 2PHSCHNG
  OCT 00003  # TURN OFF GROUP 3
  OCT 00025  # PROTECT NORMLIZE AND READACCS

  TC POSTJUMP
  CADR NORMLIZE # DO NORMLIZE AND ENDOFJOB


  EBANK= TEPHEM
REP11  INHINT
  CCS PHASE5
  TC ENDOFJOB

  CCS LIFTTEMP
  TCF +4
  TCF +3
  TCF +2
  TCF P11+7

  CS TLIFTOFF
  EXTEND
  BZMF ENDREP11

  CCS TIME2  # **TIME2 MUST BE NON-ZERO AT LIFTOFF**
  TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT

  EXTEND   # T2,T1 ZEROED, SET TLIFTOFF
  DCA LIFTTEMP
  TCF REP11A-2

ENDREP11 EXTEND
  DCA REP11SA
  TCF REP11A-1
# Page 540
REP11S  2OCT 7776600011

REP11SA  2OCT 7776400013

P11XIT  GENADR P11OUT
-ERTHRAT 2DEC* -7.292115138 E-7 B18* # - EARTH RATE AT 2(18)

  EBANK= BODY3
P11SCADR 2CADR VHHDOT

POWDNCOD        EQUALS  THREE

  EBANK= BODY3
# VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY
# VI INERTIAL VELOCITY MAGNITUDE
# HDOT  RATE OF CHANGE OF ALT ABOVE L PAD RADIUS
# H  ALTITUDE ABOVE L PAD RADIUS

VHHDOT  TC INTPRET
  CALL   # LOAD VMAGI, ALTI,
   S11.1  # HDOT FOR DISPLAY
  EXIT
  TC      PHASCHNG
  OCT     00035

  CAF V06N62  # DISPLAY IN R1 R2 R3
  TC BANKCALL #            VI HDOT H
  CADR REGODSP

ATERTASK CAF PRIO1  # ESTABLISH JOB TO DISPLAY ATT ERRORS
  TC FINDVAC  # COMES HERE AT L.O. + .33 SEC
  EBANK= BODY3
  2CADR ATERJOB

  CS RCSFLAGS # SET BIT3 FOR
  MASK BIT3  # NEEDLER
  ADS RCSFLAGS # INITIALIZATION PASS
  TC IBNKCALL # AND GO
  CADR NEEDLER  # DO IT
  CA      BIT1            # SET SW
  TS      SATSW           # FOR DISPLAY
  TC TASKOVER
GETDOWN         STQ     SETPD
   INCORPEX
   0D
  DLOAD
   HI6ZEROS
# Page 541
  STODL   6D
          DPHALF
  STCALL  8D
          LALOTORV +5
# THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST

# COMPUTE DESIRED PITCH W.R.T. PAD LOCAL VERTICAL AT LIFTOFF
# 2    3    4    5    6
# PITCH = A0+A1T+A2T +A3T +A4T +A5T +A6T
# SCALED TO 32 REVS.                                   -14
# IF TL = TIME IN SECS FROM L.O., THEN T = 100(TL-RPSTART)2
# WHERE TL GE RPSTART
# TL LE (-POLYSTOP + RPSTART)
# COMPUTE DESIRED ROLL WHERE ROLL EQUALS ANGLE FROM
# LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
# ROLL = LAUNCHAZ-AZIMUTH-.5 +SATRLRT*T IN REV
# SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
# T,IN CENTI-SEC,IS DEFINED AS ABOVE,INCLUSIVE OF TIME RESTRICTIONS

# FOR SIMPLICITY, LET P = 2*PI*PITCH
# R = 2*PI*ROLL

# CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
# TERMS OF SM COORDINATES.  LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
# YDC,AND ZDC.

#  *     (    SIN(P)                 0               -COS(P)    )   (XDC)
# TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
#        (-COS(R)*COS(P)           SIN(R)         -COS(R)*SIN(P))   (ZDC)

# XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
# EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
# ORIENTATION.  THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
# AS THE DESIRED CDU ANGLES.

# (XDC) (OGC)
# (YDC) ---) CALCGTA ---) (IGC)
# (ZDC) (MGC)

#    -
# DEFINE THE VECTOR DELTACDU.

#  -         (OGC)   (CDUX)
# DELTACDU = (IGC) - (CDUY)
#            (MGC)   (CDUZ)

#  - -    *    -
# COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
#
#  *     (1       SIN(CDUZ)             0    )   THE GIMBAL ANGLES
# Page 542
# TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES
#        (0      -SIN(CDUX)*COS(CDUZ) COS(CDUX))   CONVERSION MATRIX

#      -
# THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN
# THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE
# ERROR DISPLAY ROUTINE.

ATERJOB  CAE FLAGWRD6 # CHECK FLAGWRD6
  MASK    OCT60000        # BITS 14, 15
  EXTEND
  BZF     +2              # OK - CONTINUE
  TC      ENDOFJOB # SATURN STICK ON - KILL JOB
  CAF     BIT10           # CHECK IF S/C CONTROL
  EXTEND                  # OF SATURN PANEL
  RAND    CHAN30          # SWITCH IS ON
  EXTEND
  BZF     STRSAT          # IT IS - GO STEER
  CCS     SATSW           # IT IS NOT - WAS IT ON LAST CYCLE
  TC      ATTDISP         # NO - CONTINUE
  TC      ATRESET         # YES - REINITIALIZE NEEDLER
  TC      ATRESET         # YES - REINITIALIZE NEEDLER
ATTDISP  CS RPSTART  # PITCH/ROLL START TIME
  AD TIME1
  EXTEND
  BZMF NOPOLY  # IF MINUS THEN ATTITUDE HOLD
  TS MPAC  # MPAC=TIME1-RPSTART
  TS SPOLYARG # SAVE FOR USE IN ROLL CALCULATION
  AD POLYSTOP # NEG PITCHOVER TIME IN CSECS
  EXTEND
  BZMF +2
  TC      NOPOLY          # GO TO ATTITUDE HOLD
  CA      TIME2
  EXTEND
  BZMF    +2
  TC      NOPOLY          # GO TO ATTITUDE HOLD
  CAE POLYNUM
  TS L
  CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL
  TC POWRSERS # SCALED TO 32 REVOLUTIONS

  CA      ZERO            # RETURN WITH PITCH(32REV)
  TS MODE  # STORED MPAC, MPAC +1
  TC INTPRET
  SETPD SL  # 32(PITCH(32REV))=PITCH(REV)
   0
   5
  PUSH   # LET P(RAD)=2*PI*PITCH(REV)
  GOTO
   ATTDISP1 # AROUND SETLOC
# Page 543
#      *
# CONSTRUCT SM TO S/C MATRIX, TSMV

  SETLOC P11TWO
  BANK   # 36 IN COL., 34 IN DISK

  COUNT 36/P11

ATTDISP1 COS DCOMP
  STODL 14D  # -.5*COS(P)
  SIN
  STODL 10D  # .5*SIN(P)
   ZEROVECS
  STORE 12D  # 0

# EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T
  SLOAD DMP
   SPOLYARG # TIME1 - RSPSTART ,CSECS B-14.
   SATRLRT
  SL DSU
   14D
   DPHALF
  DAD DSU  # ASSUMING X(SM) ALONG LAUNCH AZIMUTH,
   LAUNCHAZ # LAUNCHAZ = ANGLE FROM NORTH TO X(SM).
   AZIMUTH  # AZIMUTH = -ANGLE FROM NORTH TO Z(S/C)
  RTB   # DETERMINE IF ROLLOUT
   RLTST  # IS COMPLETED
ATTDISPR PUSH COS  # CONTINUE COMPUTING TSMV
  PUSH   # LET R(RAD) = 2*PI*ROLL(REV)
  DMP SL1
   14D
  STODL 22D  # -.5*COS(R)*COS(P)
  DCOMP
  STORE 18D  # -.5*COS(R)
  DMP SL1
   10D
  STODL 26D  # -.5*COS(R)*SIN(P)
  SIN PUSH
  STORE 24D  # .5*SIN(R)
  DMP SL1
   14D
  STODL 16D  # -.5*SIN(R)*COS(P)
  DCOMP
  DMP SL1
   10D
  STOVL 20D  # -.5*SIN(R)*SIN(P)
   10D

# FROM TSMV FIND THE HALF UNIT VECTORS XDC,YDC,ZDC = INPUT TO CALCGTA
# Page 544
  UNIT
  STOVL XDC  # XDC = .5*UNIT(SIN(P),0,-COS(P))
   16D
  UNIT
  STOVL YDC  # YDC = .5*UNIT(-SIN(R)*COS(P),-COS(R),
   22D  # -SIN(R)*SIN(P))
  UNIT
  STCALL ZDC  # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R),
   CALCGTA  # -COS(R)*SIN(P))

# CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC,AND MGC
#  -          -   -
# FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX

# ENTER HERE IF ATTITUDE HOLD

NOPOLYM  VLOAD PUSH  #        OGC      IGC
   OGC  # CHANGE IGC  TO  MGC FOR COMPATIBILITY
  PUSH CALL  #        MGC      OGC
   CDUTRIG  # WITH Y,Z,X ORDER OF CDUSPOT
  VLOAD RTB  #  -         DPHI     OGC-CDUX ,PD4
   2  # DELTACDU = DTHETA = IGC-CDUY ,   0
   V1STO2S  #            DPSI     MGC-CDUZ ,   2
  STOVL BOOSTEMP
   ZEROVECS
  STOVL 0
   CDUSPOT
  RTB RTB
   V1STO2S
   DELSTOR
  STODL 10D
   SINCDUZ
  DMP SL1
   0
  DAD SR2  # CHANGE SCALE OF AK TO 2REVS
   4
  GOTO
   ATTDISP2

  SETLOC P11ONE
  BANK
  COUNT 34/P11

ATTDISP2 STODL 16D  # 16D, .5(DPHI + DTHETA*SIN(CDUZ))
   COSCDUZ
  DMP PUSH
   0
  DMP SL1
   COSCDUX
  PDDL DMP
# Page 545
   SINCDUX
   2
  DAD SL1
  STADR
  STODL 17D  # 17D, .5(DTHETA*COS(CDUX)*COS(CDUZ)
  DMP SL1  # +DPSI*SIN(CDUX))
   SINCDUX
  PDDL DMP
   COSCDUX
   2
  DSU SL1
  STADR
  STORE 18D  # 18D, .5(-DTHETA*SIN(CDUX)*COS(CDUZ)
  TLOAD   # +DPSI*COS(CDUX))
   16D
  STORE AK  # STORE ATTITUDE ERRORS IN AK,AK1,AK2
  EXIT

  CA      SATSW
  CCS     A               # CHK TAKEOVER STATUS
  TC      SATOUT          # POS - DISPLAY ONLY
  TC      AKLOAD          # 0     STORE BIAS
STEERSAT        TC      INTPRET         # NEG   STEER L/V
  TLOAD   TAD
   BIASAK
   AK
  STORE   AK              # AKS = AKS - STORED BIAS
  EXIT
  CA      AK
  TC      RESCALES
  TS      AK
  CA      AK1
  TC      RESCALES
  TS      AK1
  CA      AK2
  TC      RESCALES
  TS      AK2
# DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER

SATOUT  TC BANKCALL
  CADR NEEDLER
ATERSET  CAF OCT31  # DELAY .25 SEC
  TC BANKCALL # EXECUTION + DELAY =.56SEC APPROX
  CADR DELAYJOB
  TC ATERJOB  # END OF ATT ERROR DISPLAY CYCLE

AKLOAD          CS      AK              # STORE AKS
  TS      BIASAK          # INTO BIAS
  CS      AK1             # COMPLEMENTED
  TS      BIASAK +1
# Page 546
  CS      AK2
  TS      BIASAK +2
  CS      BIT1            # SET SW
  TS      SATSW           # TO STEER
  TC      STEERSAT        # GO STEER
STRSAT  CA      SATSW           # CHECK IF NEEDLER
  EXTEND                  # HAS BEEN INITIALIZED
  BZMF    ATTDISP         # YES - CONTINUE
ATRESET  CS      RCSFLAGS        # NO - SET
  MASK    BIT3            # INITIALIZATION SW
  ADS     RCSFLAGS        # FOR NEEDLER
  TC      BANKCALL        # AND GO
  CADR    NEEDLER         # DO IT
  CAF     REVCNT          # OCT 6
  TC      BANKCALL        # DELAY JOB
  CADR    DELAYJOB        # 60 MS -WAIT TILL IMUERRCNTR ZEROED
  CCS     SATSW           # CHECK SW STATUS
  TC      TAKEON          # POS   STEER INIT.
  TC      +1              # 0     RETURN TO DISPLAY
  CA      BIT1            # NEG   RETURN TO DISPLAY
  TS      SATSW           # SW = DISPLAY ON
  CS      BIT9            # DISABLE
  EXTEND                  # SIVB
  WAND    CHAN12          # TAKEOVER
  TC      SATOUT          # DISPLAY
TAKEON          CAF     BIT9            # ENABLE
  EXTEND                  # SIVB
  WOR     CHAN12          # TAKEOVER
  CA      ZERO            # INDICATE NEEDLER
  TS      SATSW           # WAS INITIALIZED
  TC      SATOUT
S11.1  VLOAD ABVAL
   VN
  STOVL VMAGI  # VI SCALED 2(7) IN METERS/CSEC
   RN
  UNIT    DOT
          VN
  SL1
  STODL   HDOT
          RPAD
  BOF     VLOAD
          AMOONFLG
          EARTHALT
          RLS
  ABVAL SR2
EARTHALT         BDSU
          36D
  STORE   ALTI
  RVQ
DELSTOR  CA BOOSTEMP
# Page 547
  EXTEND   # STORE DELTACDU INTO PDL 0,2,4
  MSU MPAC
  INDEX FIXLOC
  TS 0
  CA BOOSTEMP +1
  EXTEND
  MSU MPAC +1
  INDEX FIXLOC
  TS 2
  CA BOOSTEMP +2
  EXTEND
  MSU MPAC +2
  INDEX FIXLOC
  TS 4
  TCF DANZIG
RLTST  CA MPAC  # DETERMINE IF ROLLOUT
  EXTEND   # IS COMPLETED
  MP SATRLRT +1
  EXTEND
  BZMF DANZIG  # UNLIKE SIGNS STILL ROLLING
  EXTEND   # ROLLOUT COMPLETED
  DCA MBDYTCTL +2 # ZERO OUT ROLL CONTRIBUTION
  DXCH MPAC
  TC DANZIG
NOPOLY  TC INTPRET  # COMES HERE IF
  SETPD GOTO  # ATTITUDE HOLD
   0
   NOPOLYM
COEFPOLY ADRES POLYLOC
V06N62  VN 0662
RESCALES        EXTEND                  # RESCALE AK S FOR
  MP      SATSCALE        # NEW HARDWARE
  DDOUBL                  # SCALING FOR
  DDOUBL                  # STEERING
  TC      Q               # SATURN
# SATURN TAKEOVER FUNCTION
# ************************

# PROGRAM DESCRIPTION

# MOD NUMBER 1
# MOD BY ELIASSEN

# FUNCTIONAL DESCRIPTION

# DURING THE COASTING PHASE OF SIVB ATTACHED, THE
# ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH
# EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET ).
# THE CMC REGARDS RHC COMMANDS AS BODY-AXES RATE
# COMMANDS AND IT TRANSMITS THESE TO SATURN AS DC
# Page 548
# VOLTAGES.  THE VALUE OF THE CONSTANT RATE COMMAND
# IS 0.5 DEG/SEC.  AN ABSENCE OF RHC ACTIVITY RE-
# SULTS IN A ZERO RATE COMMAND.

# THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE
# OF THE RATE COMMAND.

# CALLING SEQUENCE
#
# DAPFIG +9D TC POSTJUMP
# CADR SATSTKON

# SUBROUTINES CALLED

# ENDEXT
# IBNKCALL
# STICKCHK
# NEEDLER
# T5RUPT
# RESUME

# ASTRONAUT REQUESTS

# ENTRY - VERB 46 ENTER
#   (CONDITION - BITS 13, 14 OF DAPDATR1 SET)
#
# EXIT - VERB 48 ENTER (FLASH V06N46)
#   VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1
#   VERB 34 ENTER
#   VERB 46 ENTER

# NORMAL EXIT MODE

# VERB 46 ENTER (SEE ASTRONAUT ABOVE)

# ALARM OR ABORT EXIT MODES

# NONE

# OUTPUT

# SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD

# ERASABLE INITIALIZATION

# DAPDATR1 (BITS 13,14 MUST BE SET)

# DEBRIS

# CENTRALS
# Page 549
# CDUXCMD, CDUYCMD, CDUZCMD

  BANK 43
  SETLOC EXTVERBS
  BANK

  COUNT 23/STTKE
SATSTKON EXTEND
  DCA 2REDOSAT
  INHINT
  DXCH T5LOC
  CAF POSMAX
  TS TIME5
  CS FLAGWRD6 # TURN ON BITS 15,14 OF
  MASK RELTAB11 # FLAGWRD6
  ADS FLAGWRD6 # SATSTICK CONTROL OF T5
  TC IBNKCALL # ZERO JET CHANNELS IN 14 MS AND THEN
  CADR ZEROJET  # LEAVE THE T6 CLOCK DISABLED
  RELINT
  TC GOPIN  # EXIT THUS BECAUSE WE CAME VIA V46

  EBANK= BODY3
2REDOSAT 2CADR REDOSAT


  SBANK=  LOWSUPER
  BANK 32
  SETLOC P11FOUR
  BANK

REDOSAT  LXCH BANKRUPT # ALSO COMES HERE FOR RESTARTS
  EXTEND
  QXCH QRUPT
  CS RCSFLAGS # TURN ON BIT3 OF RCSFLAGX
  MASK BIT3  # FOR
  ADS RCSFLAGS # NEEDLER INITIALIZATION
  TC IBNKCALL
  CADR NEEDLER  # DISABLE IMU ERR COUNTERS ETC.
  CAF BIT9  # SIVB
  EXTEND   # TAKEOVER
  WOR CHAN12  # ENABLE
  EXTEND   # SET UP T5 CYCLE
  DCA 2SATSTCK
  DXCH T5LOC
  CAF 100MST5  # IN 100 MSECS
  TS TIME5
  TCF RESUME  # END OF SATURN STICK INITIALIZATION

# THIS SECTION IS EXECUTED EVERY 100 MSECS
# Page 550
SATSTICK LXCH BANKRUPT
  EXTEND
  QXCH QRUPT

  CAF 2SATSTCK # SET UP RUPT
  TS T5LOC  # LO ORDER LOC SET
  CAF 100MST5  # 100 MSECS
  TS TIME5
  CAF STIKBITS
  EXTEND
  RXOR CHAN31  # CHECK IF MAN ROT BITS SAME
  MASK STIKBITS
  TC IBNKCALL # SET RATE INDICES
  CADR STICKCHK # FOR PITCH YAW AND ROLL

  INDEX RMANNDX  # SET SATURN RATES
  CA SATRATE
  TS AK  # ROLL
  INDEX PMANNDX
  CA SATRATE
  TS AK1  # PITCH
  INDEX YMANNDX
  CA SATRATE
  TS AK2  # YAW

  TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY
  CADR NEEDLER
  TCF RESUME  # END OF SATURN STICK CONTROL

STIKBITS OCT 00077
100MST5  DEC 16374
  EBANK= BODY3
2SATSTCK 2CADR SATSTICK

Messung V0.5 in Prozent
C=50 H=100 G=79

¤ Dauer der Verarbeitung: 0.18 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

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912