Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  SERVICER207.agc   Sprache: Apollo

 

# Copyright:    Public domain.
# Filename:     SERVICER207.agc
# Purpose:      Part of the source code for Comanche, build 055. It
#               is part of the source code for the Command Module's
#               (CM) Apollo Guidance Computer (AGC), Apollo 11.
# Assembler:    yaYUL
# Reference:    pp. 819-836
# Contact:      Ron Burkey <info@sandroid.org>
# Website:      http://www.ibiblio.org/apollo.
# Mod history:  2009-05-12 RSB Adapted from Colossus249 file of the same
# name and Comanche 055 page images.
#
# The contents of the "Comanche055" files, in general, are transcribed
# from scanned documents.
#
#       Assemble revision 055 of AGC program Comanche by NASA
#       2021113-051.  April 1, 1969.
#
#       This AGC program shall also be referred to as Colossus 2A
#
#       Prepared by
#                       Massachusetts Institute of Technology
#                       75 Cambridge Parkway
#                       Cambridge, Massachusetts
#
#       under NASA contract NAS 9-4065.
#
# Refer directly to the online document mentioned above for further
# information.  Please report any errors to info@sandroid.org.

# Page 819
# SERVICER207

# PROGRAM NAME - PREREAD, READACCS, SERVICER, AVERAGE G.


# MOD NO. 00 BY M.HAMILTON DEC.12, 1966


# FUNCTIONAL DESCRIPTION

# THE ROUTINES DESCRIBED BELOW ARE USED TO CALCULATE VALUES OF RN, VN, AND GDT/2 DURING ACCELERATED FLIGHT.
# THE SEVERAL ROUTINES COMPRISE A PACKAGE AND ARE NOT MEANT TO BE USED AS SEPARATE SUBROUTINES.

# GENERAL REFERENCES TO SERVICER OR AVERAGE G ARE UNDERSTOOD TO REFER TO THE ENTIRE SET OF ROUTINES INCLUDING
# READACCS, SERVICER, AVERAGE G, INTEREAD, SMOOTHER, AND ANY ADDITIONAL ROUTINES ATTACHED AT AVGEXIT (SEE BELOW).

# PROGRAMS INITIATING SERVICER ARE REQUIRED TO MAKE A WAITLIST CALL FOR PREREAD (OR, IF LIFTOFF, FOR BIBIBIAS)
# AT 2 SECONDS BEFORE THE FIRST AVERAGE G UPDATE IN ORDER TO INITIALIZE THE SEQUENCE, WHICH WILL RECUR EVERY
# 2 SECONDS FROM THAT TIME ON AS LONG AS AVEGFLAG REMAINS SET.

# THE USE OF ERASABLE AVGEXIT ALLOWS VARIOUS ROUTINES TO BE PERFORMED AS PART OF THE NORMAL CYCLE (SEE
# EXPLANATION OF AVGEXIT BELOW).

# DESCRIPTIONS OF INDIVIDUAL ROUTINES FOLLOW.


# PREREAD

# PREVIOUSLY EXTRAPOLATED VALUES COPIED FROM RN1, VN1, AND PIPTIME1 INTO RN, VN, AND PIPTIME.
# LASTBIAS JOB SCHEDULED.
# PIPS READ AND CLEARED VIA PIPASR SUBROUTINE.
# AVERAGE G FLAG SET ON.
# DRIFT FLAG SET OFF.
# V37 FLAG SET ON.
# INITIALIZATION OF 1) THRUST MONITOR (DVMON) - DVCNTR SET TO ONE.
# 2) TOTAL ACCUMULATED DELV VALUE (DVTOTAL) - SET TO ZERO.
# 3) AXIS VECTOR (AXIS) - SET TO (.5,0,0).
# NORMLIZE JOB SCHEDULED.
# READACCS TASH CALLED IN 2 SECONDS.


# NORMLIZE
#
# GDT/2 INITIALIZED VIA CALCGRAV SUBROUTINE.


# READACCS

# IF ONMON FLAG SET QUIKREAD ROUTINE IS PERFORMED BEFORE PIPASR ZEROS THE PIPA REGISTERS, AND THE 1/2 SEC
# ONMONITOR LOOP IS INITIATED TO PROVIDE DOWNLINK INFORMATION DURING ENTRY.
# PIPS READ AND CLEARED BY PIPASR SUBROUTINE.
# IF CM/DSTBY IS ON, ENTRY VARIABLES INITIALIZED AND SETJTAG TASK CALLED.
# Page 820
# SERVICER207

# IF AVERAGEG FLAG ON READACCS CALLED TO RECYCLE IN 2 SECONDS.
# IF AVERAGEG FLAG OFF AVERAGE G EXIT (AVGEXIT) SET TO 2CADR AVGEND FOR FINAL PASS.
# SERVICER JOB SCHEDULED.


# TEST CONNECTOR OUTBIT TURNED ON.


# ONMNITOR

# A SEQUENCE OF THREE PASSES THROUGH QUICREAD FOLLOWING A CALL TO READACCS WITH ONMONFLG SET AT 1/2
# SEC INTERVALS.  INTERVALS ARE COUNTED OUT BY PIPCTR, INITIALISED AT 3 BY READACCS

# QUIKREAD

#       READS CURRENT PIPS INTO X,Y,ZPIPBUF.  READS OLD X,Y,ZPIPBUF INTO X,Y,ZOLDBUF.  VALUES ARE SENT TO
# DOWNLIST DURING ENTRY.
# SERVICER
# DELV VALUES CHECKED TO DETECT RUNAWAY PIP -
# IF BAD PIP 1) ALARM SENT.
# 2) COMPENSATION, DVTOTAL ACCUMULATION, AND DVMON BYPASSED.  CONTROL
#    TRANSFERRED TO AVERAGE G.
# PIPS COMPENSATED VIA 1/PIPA SUBROUTINE.
# DVTOTAL INCREMENTED BY ABSOLUTE VALUE OF DELV.
# THRUST MONITOR (DVMON) PERFORMED UNLESS IDLE FLAG IS ON.
# CONTROL TRANSFERRED TO AVERAGE Q.


# DVMON

# THRESHOLD VALUD (PLACED IN DVTHRUSH BY USER) CHECKED AGAINST ABSOLUTE VALUE OF DELV TO CHECK
# THRUST LEVEL.
# IF THRUST 1) ULLAGE OFF ROUTINE PERFORMED.
# 2) STEERING FLAG TURNED ON AT FIRST DETECTION OF THRUST.
# 3) CONTROL TRANSFERRED TO AVERAGE G.
# IF NO THRUST 1) ON FIRST PASS THROUGH MONITOR, CONTROL TRANSFERRED TO AVERAGE G.
# 2) ON SUBSEQUENT PASSES, CONTROL TRANSFERRED TO ENGINE FAIL ROUTINE IF THRUST
#    HAS FAILED FOR 3 CONSECUTIVE PASSES.


# ENGINE FAIL

# ENGFAIL1 TASK CALLED IN 2.5 SECONDS.  THIS WILL RETURN CONTROL TO TIG-5 SO THAT THE IGNITION
# SEQUENCE MAY BE REPEATED.
# ENGINOF3 PERFORMED.
# DAP SET UP FOR RCS.


# AVERAGE G
# Page 821
# RN1, VN1, GDT1/2 CALCULATED VIA CALCRVG ROUTINE BY UPDATING RN, VN WITH DELV AND AN AVERAGED VALUE
# OF GDT/2.
# RN1, VN1, GDT1/2, PIPTIME1 COPIED INTO RN, VN, GDT/2, PIPTIME FOR RESTART PROTECTION.
# CONTROL TRANSFERRED TO ADDRESS SPECIFIED BY USER (OR BY READACCS FOR LAST PASS) IN AVGEXIT.
# LAST PASS (AVGEND) 1) FREE FALL GYRO COMPENSATION SET UP.
# 2) DRIFT FLAG TURNED ON.
# 3) STATE VECTOR TRANSFERRED VIA AVETOMID ROUTINE.
# 4) ONMONITOR FLAG RESET.
# 5) V37 FLAG RESET.
# 6) TEST CONNECTOR OUTBIT RESET.
# 7) CONTROL TRANSFERRED TO CANV37 TO CONTINUE MM CHANGE ROUTINE (R00).


# CALLING SEQUENCE

# PREREAD ENTERED DIRECTLY FROM TIG-30 VIA POSTJUMP.
# READACCS CALLED AS WAITLIST TASK.


# SUBROUTINES CALLED

#  UTILITY ROUTINES - PHASCHNG FLAGUP FLAGDOWN NOVAC FINDVAC WAITLIST ALARM NEWPHASE 2PHSCHNG

# OTHER - PIPASR 1/PIPA CALCGRAV CALCRVG AVETOMID


# NORMAL EXIT MODES

# ENDOFJOB TASKOVER CANV37

# AVGEXIT - THIS IS A DOUBLE PRECISION ERASABLE LOCATION BY WHICH CONTROL IS TRANSFERRED AT THE END
# OF EACH CYCLE OF AVERAGE G.
# THE 2CADR OF A ROUTINE TO BE PERFORMED AT THAT TIME (E.G., STEERING EQUATIONS TO BE PERFORMED
# AT 2 SECOND INTERVALS) MAY BE SET BY THE USER INTO AVGEXIT.
# ALL SUCH ROUTINES SHOULD RETURN TO SERVEXIT, WHICH IS THE NORMAL EXIT FROM AVERAGE G.

# SERVEXIT - DOES A PHASE CHANGE FOR RESTART PROTECTION AND GOES TO ENDOFJOB.
# THE 2CADR OF SERVEXIT IS SET INTO AVGEXIT BY THE USER IF NO OTHER ROUTINE (SEE ABOVE).
#
# AVGEND - LAST PASS OF AVERAGE G EXITS HERE, BYPASSING SPECIAL ROUTINE (SEE ABOVE UNDER READACCS).
# FINAL EXIT IS TO CANV37. F AVERAGE G).


# OUTPUT

# DVTOTAL(2)  PIPTIME(2)  XPIPBUF(2)  YPIPBUF(2)  ZPIPBUF(2)
# RN(6) REFERENCE COORD.   SCALED AT 2(+29) M/CS
# VN(6) REFERENCE COORD.   SCALED AT 2(+7) M/CS
# GDT/2(6) REFERENCE COORD.   SCALED AT 2(+7) M/CS
# DELV(6) STABLE MEMB. COORD.SCALED AT 2(+14)*5.85*10(-4)M/CS (KPIP1 USED TO GET DV/2 AT 2(+7))
# Page 822
# DELVREF(6) REFERENCE COORD.   SCALED AT 2(+7) M/CS

# INITIALIZATION

# ONMONITOR FLAG SET BY ENTRY TO SHOW PIPBUF VALUES REQUIRED.
# IDLE FLAG ON IF DVMON TO BE BYPASSED.
# DVTHRUSH SET TO APPROPRIATE VALUE FOR DVMON.
# AVGEXIT SET TO 2CADR OF ROUTINE, IF ANY, TO BE PERFORMED AFTER EACH CYCLE OF AVERAGE G.  IF NO ROUTINE
# TO BE DONE, AVGEXIT SET TO SERVEXIT.
# VALUES NEEDED
# REFSMMAT
# UNITW - FULL UNIT VECTOR, IN REFERENCE COORD., OF EARTH S ROTATIONAL VECTOR
# RN1, VN1, PIPTIME1 - IN REFERENCE COORD., CONSISTENT WITH TIME OF EXECUTION OF PREREAD


# DEBRIS

# CENTRALS A, L, Q
# OTHER INTERNAL -  DVCNTR(1)  PIPAGE(1)  PIPCTR(1)  AVGEXIT(2)
# EXTERNAL -  ITEMP1(1)  ITEMP2(1)  RUPTREG1(1)  TEMX(1)  TEMY(1)  TEMZ(1)
# USEFUL DEBRIS
# RN1(6)  VN1(6)  GDT1/2  PIPTIME1(2)
# THESE LOCATIONS USED AS BUFFER STORAGE FOR NEWLY CALCULATED VALUES OF RN, VN, GDT/2,
# AND PIPTIME DURING PERFORMANCE OF SERVICER ROUTINES.
# UNITR - HALF UNIT VECTOR OF RN, REFERENCE COORD.
# RMAG SCALED AT 2(+58) IN 36D.
# RMAGSQ SCALED AT 2(+58) IN 34D.
# (RE/RMAG)SQ IN 32D.


  BANK 27
  SETLOC SERVICES
  BANK

  EBANK= DVCNTR
# ********************* PREREAD ***************************************
#

  COUNT 37/SERV

PREREAD  CAF PRIO21  # CALLER MUST PROTECT PREREAD
  TC NOVAC
  EBANK= NBDX
  2CADR LASTBIAS # DO LAST GYRO COMPENSATION IN FREE FALL

     # CALL-TO AND LASTBIAS ITSELF ARE NOT
     # PROTECTED. REREADAC SETS 1/PIPADT
     # TO 2.0 SECS IN CASE LASTBIAS LOST.
     # (REDUNDANT IF LASTBIAS IS AOK)
# Page 823
REDO5.31 TC PREREAD1

  CAF PRIO32
  TC FINDVAC  # SET UP NORMLIZE JOB REQUIRED PRIOR TO
  EBANK= DVCNTR  # FIRST AVERAGE G PASS
  2CADR NORMLIZE

  CAF 2SECS
  TC WAITLIST
  EBANK= AOG
  2CADR READACCS

  CS TWO
  TC NEWPHASE
  OCT 5

  TCF TASKOVER

PREREAD1 EXTEND
  QXCH RUPTREG1

  TC PIPASR  # CLEAR + READ PIPS LAST TIME IN FREE FALL

  CAF ONE  # SET UP PIPAGE FOR REREADAC IN CASE A
  TS PIPAGE  #  RESTART OCCURS BEFORE READACCS

  CS FLAGWRD1 # SET AVEG FLAG
  MASK BIT1
  ADS FLAGWRD1

  CA POSMAX
  MASK FLAGWRD2
  TS FLAGWRD2 # KNOCK DOWN DRIFT FLAG

  CS FLAGWRD7 # SET V37 FLAG
  MASK BIT6
  ADS FLAGWRD7

  CAF ZERO
  TS DVTOTAL  # CLEAR DVTOTAL
  TS DVTOTAL +1

  TC RUPTREG1

# Page 824
# ********************* READACCS ***************************************
  EBANK= AOG
READACCS TC PIPASR

PIPSDONE CAF FIVE
  TS L
  COM
  DXCH -PHASE5

REDO5.5  CAF ONE  # SHOW PIPS HAVE BEEN READ
  TS PIPAGE

  CA TWO  # SET PIPCTR FOR ONMINTOR
  TS PIPCTR  # AFTER ABOVE PHASCHNG

  CS CM/FLAGS
  MASK BIT2  # CM/DSTBY
  CCS A
  TC CHEKAVEG

  CS PIPTIME1 +1
  TS TBASE6  # FOR RESTARTS
  EXTEND   # CONTINUE FOR ENTRY DAP
  DCA AOG
  DXCH AOG/PIP
  CA AMG
  XCH AMG/PIP
  EXTEND
  DCA ROLL/180
  DXCH ROLL/PIP
  CA BETA/180
  XCH BETA/PIP
  CA CM/FLAGS
  MASK BIT12  # CM/DAPARM 93D BIT12
  EXTEND   # DURING ENTRY, WHEN RCS DAP IS INACTIVE,
  BZF NOSAVPIP # SAVE PIPAS EACH 0.5 SEC FOR TM.

  CA 0.5SEC
  TC WAITLIST
  EBANK= XPIPBUF
  2CADR QUIKREAD

     # NO NEED TO RESTART PROTECT THIS.
  CA DELVX  # SAVE PIPAS AS READ (BUT NOT COMPENSATED)
  XCH XPIPBUF
  TS XOLDBUF

  CA DELVY
  XCH YPIPBUF
  TS YOLDBUF
# Page 825
  CA DELVZ
  XCH ZPIPBUF
  TS ZOLDBUF

NOSAVPIP CA FIVE
  TS CM/GYMDT

  CA JTAGTIME # ACTIVATE CM/RCS AFTER PIPUP TO GO
     # IN JTAGTIME +5 CS.
  TC WAITLIST
  EBANK= AOG
  2CADR SETJTAG

  CS THREE  # 1.3SPOT FOR SETJTAG
  TC NEWPHASE
  OCT 1

  CAF OCT37
  TS L
  COM
  DXCH -PHASE5

CHEKAVEG CS FLAGWRD1
  MASK BIT1
  CCS A  # IF AVEG FLAG DOWN SET FINAL EXIT AVEG
  TC AVEGOUT

  CAF 2SECS
  TC WAITLIST
  EBANK= AOG
  2CADR READACCS

MAKESERV CAF PRIO20  # ESTABLISH SERVICER ROUTINE
  TC FINDVAC
  EBANK= DVCNTR
  2CADR SERVICER

  CS FOUR  # RESTART SERVICER AND READACCS
  TC NEWPHASE
  OCT 5

  CAF BIT9
  EXTEND
  WOR DSALMOUT # TURN TEST CONNECTOR OUTBIT ON

  TCF TASKOVER # END PREVIOUS READACCS WAITLIST TASK

# Page 826
AVEGOUT  EXTEND
  DCA AVOUTCAD
  DXCH AVGEXIT
  TCF MAKESERV

  EBANK= DVCNTR
AVOUTCAD 2CADR AVGEND

# Page 827
# ROUTINE NAME: ONMNITOR
# MOD 04 BY BAIRNSFATHER 30 APR 1968 REDO ONMNITOR TO SAVE PIPS EACH 0.5 SEC FOR TM,ENTRY.
# MOD 03 BY FISHER DECEMBER 1967
# MOD 02 BY RYE SEPT 1967
# MOD 01 BY KOSMALA 23 MAR 1967
# MOD 00 BY KOSMALA 27 FEB 1967

# FUNCTIONAL DESCRIPTION

# THE PURPOSE OF ONMONITOR IS TO PROVIDE 1/2 SEC.READING OF PIPAS FOR DOWNLIST DURING ENTRY.
# X,Y,ZPIPBUF CONTAIN PRESET VALUES X,Y,ZOLDBUF CONTAIN VALUES FROM PREVIOUS READING.

# CALLING SEQUENCE

# CALL AS WAITLIST TASK. TERMINATES ITSELF IN TASKOVER

# INITIALISATION

# PIPCTR = 2 (FOR DT = 0.5 SEC)
# X,Y,ZPIPBUF SET TO PREVIOUS PIPAX,Y,Z

# OUTPUT

# X,Y,ZPIPBUF, X,Y,ZOLDBUF
# DEBRIS

# X,Y,ZPIPBUF CONTAIN LAST PIPAX,Y,Z VALUES
# X,Y,ZOLDBUF CONTAIN LAST-BUT-ONE PIPAX,Y,Z VALUES
# RUPTREG1
# PIPCTR

ONMNITOR TS PIPCTR

  TC FIXDELAY # WAIT
0.5SEC  DEC 50

QUIKREAD CAF TWO
  TS RUPTREG1
  INDEX A
  CA PIPAX  # SAVE ACTUAL PIPAS FOR TM.
  INDEX RUPTREG1
  XCH XPIPBUF  # UPDATE X,Y,ZPIPBUF
  INDEX RUPTREG1
  TS XOLDBUF  # AND X,Y,ZOLDBUF
CHKCTR  CCS RUPTREG1
  TCF QUIKREAD +1 # LOOP AGAIN
  CCS PIPCTR
  TCF ONMNITOR
  TC TASKOVER

# Page 828
# ********************* SERVICER ***************************************
#

  EBANK= DVCNTR

SERVICER CAF TWO
  INHINT
PIPCHECK TS RUPTREG1

  DOUBLE
  INDEX A
  CCS DELVX
  TC +2
  TC PIPLOOP

  AD -MAXDELV # DO PIPA-SATURATION TEST BEFORE
  EXTEND
  BZMF PIPLOOP  # COMPENSATION.

  TC ALARM
  OCT 00205  # SATURATED-PIPA ALARM   ***CHANGE LATER
  TC AVERAGEG

PIPLOOP  CCS RUPTREG1
  TCF PIPCHECK

  TC PHASCHNG # RESTART REREADAC + SERVICER
  OCT 16035
  OCT 20000
  EBANK= DVCNTR
  2CADR DVTOTUP

  TC BANKCALL # PIPA COMPENSATION CALL
  CADR 1/PIPA

DVTOTUP  TC INTPRET
  VLOAD ABVAL  # GET ABS VALUE OF DELV
   DELV
  DMP EXIT
   KPIP1  # SCALE AT 2(+7)

  EXTEND
  DCA MPAC
  DAS DVTOTAL  # ACCUMULATE DVTOTAL
AVERAGEG TC PHASCHNG
  OCT 10035

  TC INTPRET
  CALL
# Page 829
   CALCRVG
  EXIT

  TC PHASCHNG
  OCT 10035

  CAF OCT31  # COPY RN1,VN1,GOT102,GOBL1/2,PIPTIME1
  TC GENTRAN  # INTO RN ,VN ,GDT/12 ,GOBL/2 ,PIPTIME
  ADRES RN1
  ADRES RN
  RELINT   # GENTRAN DOES AN INHINT
  TC PHASCHNG
  OCT 10035

  EXTEND
  DCA AVGEXIT
  DXCH Z  # AVERAGEG EXIT

AVGEND  CA PIPTIME +1 # FINAL AVERAGE G EXIT
  TS OLDBT1  # SET UP FREE FALL GYRO COMPENSATION

  TC UPFLAG  # SET DRIFTFLG
  ADRES DRIFTFLG # BIT 15 FLAG 2
  TC 2PHSCHNG
  OCT 5  # GROUP 5 OFF
  OCT 05022  # GROUP 2 ON FOR AVETOMID
  OCT 20000

  TC INTPRET
  CALL
   AVETOMID # CONVERT STATE VECTOR TO REFERENCE SCALE.
  EXIT

  CAF ZERO  # ZERO MARK COUNTERS.
  TS VHFCNT
  TS TRKMKCNT

  TC BANKCALL
  CADR PIPFREE

  CS BIT9
  TS MRKBUF2  # INVALIDATE MARK BUFFER
  EXTEND
  WAND DSALMOUT

  TC DOWNFLAG
  ADRES CM/DSTBY

  TC DOWNFLAG
  ADRES V37FLAG

# Page 830
  CAF BIT7  # RESTORE GROUP 1 + 2 IF P20 IS RUNNING.
  MASK FLAGWRD0
  EXTEND
  BZF +4

  TC 2PHSCHNG
  OCT 111  # 1.11SPOT
  OCT 132  # 2.13SPOT

  TC POSTJUMP
  CADR CANV37

SERVEXIT TC PHASCHNG
  OCT 00035  # A, 5.3 = REREADAC (ONLY)

  TCF ENDOFJOB

DVTHRUSH EQUALS ELEVEN  # 15 PERCENT OF 2SEC PIPA ACCUMULATION,
     # FOR 503-FULL CSM/LEM....DELV SC.AT
     # 5.85 CM/SEC.

-MAXDELV DEC -6398  # 3200 PPS FOR 2 SEC CCS TAKES 1

JTAGTIME DEC 120  # = 1 SEC + T CDU, T CDU = .1 SEC

2.5SEC  DEC 250
MDOTFAIL DEC 144.0 B-16 # 5 SEC MASS LOSS AT 28.8 KG/SEC
     # SHOULD BE 2-4 SECS FOR NO START
     #     6-8 SECS FOR FAILURE

# Page 831
# NORMLIZE PERFORMS THE INITIALIZATION REQUIRED PRIOR TO THE FIRST ENTRY TO AVERAGEG, AND SCALES RN SO THAT IT
# HAS 1 LEADING BINARY ZERO.  IN MOST MISSIONS, RN WILL BE SCALED AT 2(+29), BUT IN THE 206 MISSION, RN WILL BE
# SCALED AT 2(+24)M.

NORMLIZE CAF THIRTEEN # SET UP TO COPY 14 REGS- RN1,VN1,PIPTIME1
  TC GENTRAN  # INTO RN,VN, PIPTIME
  ADRES RN1  # FROM HERE
  ADRES RN  # TO HERE

  RELINT
  TC INTPRET
  VLOAD CALL  # LOAD RN FOR CALCGRAV
   RN
   CALCGRAV # INITIALISE UNITR RMAG GDT1

  STOVL GDT/2
   GOBL1/2
  STORE GOBL/2
  EXIT
  TCF ENDOFJOB

# Page 832
# *****  PIPA READER *****


#  MOD NO. 00 BY D. LICKLY DEC.9 1966


# FUNCTIONAL DESCRIPTION

#  SUBROUTINE TO READ PIPA COUNTERS, TRYING TO BE VERY CAREFUL SO THAT IT WILL BE RESTARTABLE.
#  PIPA READINGS ARE STORED IN THE VECTOR DELV.  THE HIGH ORDER PART OF EACH COMPONENT CONTAINS THE PIPA READING,
#  RESTARTS BEGIN AT REREADAC.


#  AT THE END OF THE PIPA READER THE CDUS ARE READ AND STORED AS A
# VECTOR IN CDUTEMP.  THE HIGH ORDER PART OF EACH COMPONENT CONTAINS
# THE CDU READING IN 2S COMP IN THE ORDER CDUX,Y,Z.  THE THRUST
# VECTOR ESTIMATOR IN FINDCDUD REQUIRES THE CDUS BE READ AT PIPTIME.

# CALLING SEQUENCE AND EXIT

# CALL VIA TC, ISWCALL, ETC.

# EXIT IS VIA Q.


# INPUT

# INPUT IS THROUGH THE COUNTERS PIPAX, PIPAY, PIPAZ, AND TIME2.


# OUTPUT

# HIGH ORDER COMPONENTS OF THE VECTOR DELV CONTAIN THE PIPA READINGS.
# PIPTIME CONTAINS TIME OF PIPA READING.


# DEBRIS (ERASABLE LOCATIONS DESTROYED BY THE PROGRAM)

# LOW ORDER DELV'S ARE ZEROED FOR TM INDICATION.
# TEMX TEMY TEMZ PIPAGE

PIPASR  EXTEND
  DCA TIME2
  DXCH PIPTIME1 # CURRENT TIME POSITIVE VALUE
  CS ZERO  # INITIALIZE THESE AT NEG ZERO.
  TS TEMX
  TS TEMY
  TS TEMZ
# Page 833
  CA ZERO
  TS DELVZ  # OTHER DELVS OK INCLUDING LOW ORDER
  TS DELVY

  TS DELVX +1 # LOW ORDER DELV'S ARE ZEROED FOR TM: THUS
  TS DELVY +1 # IF DNLNK'D LOW ORDER DELVS ARE NZ, THEY
  TS DELVZ +1 # CONTAIN PROPER COMPENSATION.  IF=0, THEN
     # THE TM VALUES ARE BEFORE COMPENSATION.

  TS PIPAGE  # SHOW PIPA READING IN PROGRESS

REPIP1  EXTEND
  DCS PIPAX  # X AND Y PIPS READ
  DXCH TEMX
  DXCH PIPAX  # PIPAS SET TO NEG ZERO AS READ.
  TS DELVX
  LXCH DELVY

REPIP3  CS PIPAZ  # REPEAT PROCESS FOR Z PIP
  XCH TEMZ
  XCH PIPAZ
DODELVZ  TS DELVZ

  TC Q

  EBANK= AOG

REREADAC CCS PHASE5  # LAST PASS CHECK
  TCF +2
  TCF TASKOVER

  CAF PRIO31  # RESTART MAY HAVE WIPED OUT LASTBIAS, AN
  TS 1/PIPADT # UNPROTECTED NOVAC FROM PREREAD,
     # WHICH SET(S) UP 1/PIPADT (THUSLY)
     # FOR NON-COASTING COMPENSATION....BE
     # SURE 1/PIPADT IS AOK.  (PRIO31 IS
     # 2.0SEC SC.AT B+8CS)

  CCS PIPAGE
  TCF READACCS # PIP READING NOT STARTED.  GO TO BEGINNING

  CAF DONEADR  # SET UP RETURN FROM PIPASR
  TS Q

  CCS DELVZ
  TC Q  # Z DONE, GO DO CDUS
  TCF +3  # Z NOT DONE, CHECK Y.
  TC Q
  TC Q
# Page 834
  ZL
  CCS DELVY
  TCF +3
  TCF CHKTEMX  # Y NOT DONE, CHECK X.
  TCF +1
  LXCH PIPAZ  # Y DONE, ZERO Z PIP.

  CCS TEMZ
  CS TEMZ  # TEMZ NOT = -0, CONTAINS -PIPAZ VALUE.
  TCF DODELVZ
  TCF -2
  LXCH DELVZ  # TEMZ = -0, L HAS ZPIP VALUE.
  TC Q

CHKTEMX  CCS TEMX  # HAS THIS CHANGED
  CS TEMX  # YES
  TCF +3  # YES
  TCF -2  # YES
  TCF REPIP1  # NO
  TS DELVX

  CS TEMY
  TS DELVY

  CS ZERO  # ZERO X AND Y PIPS
  DXCH PIPAX  # L STILL ZERO FROM ABOVE

  TCF REPIP3

DONEADR  GENADR PIPSDONE

# Page 835
# *********************************************************************************************

#  ROUTINE CALCRVG INTEGRATES THE EQUATIONS OF MOTION BY AVERAGING THE THRUST AND GRAVITATIONAL
# ACCELERATIONS OVER A TIME INTERVAL OF 2 SECONDS.
#
#  FOR THE EARTH-CENTERED GRAVITATIONAL FIELD, THE PERTURBATION DUE TO OBLATENESS IS COMPUTED TO THE FIRST
# HARMONIC COEFFICIENT J.

#  ROUTINE CALCRVG REQUIRES...
# 1) THRUST ACCELERATION INCREMENTS IN DELV SCALED SAME AS PIPAX,Y,Z IN STABLE MEMBER COORDS.
# 2) VN SCALED 2(+7)M/CS IN REFERENCE COORDS.
# 3) RN SCALED AT 2(+29) METERS IN REFERENCE COORDS.
# 4) UNITW THE EARTH S UNIT ROTATIONAL VECTOR (SCALED AS A FULL UNIT VECTOR) IN REFERENCE COORDS.

# IT LEAVES RN1 UPDATED (SCALED AT 2(+29)M, VN1 (SCALED AT 2(+7)M/CS), AND GDT1/2 (SCALED AT 2(+7)M/CS). ALSO HALF
# UNIT VECTOR UNITR, RMAG IN 36D SCALED AT 2(+29)M, R MAG SQ. IN 34D SCALED AT 2(+58) M SQ.

CALCGRAV UNIT PUSH  # ENTER WITH RN IN MPAC
  STORE  UNITR
  LXC,1 SLOAD
   RTX2
   X1
  BMN VLOAD
   ITISMOON
  DOT PUSH
   UNITW
  DSQ BDSU
   DP1/20
  PDDL DDV
   RESQ
   34D  # (RN)SQ
  STORE 32D  # TEMP FOR (RE/RN)SQ
  DMP DMP
   20J
  VXSC PDDL
   UNITR
  DMP DMP
   2J
   32D
  VXSC VAD
   UNITW
  STADR
  STORE GOBL1/2
  VAD PUSH
   UNITR
ITISMOON DLOAD NORM
   34D
   X2
  BDDV* SLR*
# Page 836
   -MUDT(E),1
   0 -21D,2
  VXSC STADR
  STORE GDT1/2  # SCALED AT 2(+7) M/CS
  RVQ

CALCRVG  VLOAD VXSC
   DELV
   KPIP1
  VXM VSL1
   REFSMMAT
  STORE DELVREF  # DELV IN REF COORDS AT 2(+7)
  VSR1 PUSH
  VAD PUSH  # (DV-OLDGDT)/2 TO PD SCALED AT 2(+7)M/CS
   GDT/2
  VAD VXSC
   VN
   2SEC(22)
  VAD STQ
   RN
   31D
  STCALL RN1  # TEMP STORAGE OF RN SCALED 2(+29)M
   CALCGRAV

  VAD VAD
  VAD
   VN
  STCALL VN1  # TEMP STORAGE OF VN SCALED 2(+7)M/CS.
   31D

KPIP  2DEC .1024  # SCALES DELV TO 2(+4)

KPIP1  2DEC 0.074880 # 207 DELV SCALING.  1 PULSE = 5.85 CM/SEC.

-MUDT(E) 2DEC* -7.9720645 E+12 B-44*

-MUDT(M) 2DEC* -9.805556 E+10 B-44*

2SEC(22) 2DEC 200 B-22

DP1/20  2DEC 0.05

RESQ  2DEC* 40.6809913 E12 B-59*

20J  2DEC* 3.24692010 E-2 B1*

2J  2DEC* 3.24692010 E-3 B1*

Messung V0.5 in Prozent
C=57 H=100 G=81

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