Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Asm/Apollo-11/Translations/     Datei vom 11.9.2026 mit Größe 5 kB image not shown  

Quelle  TJET_LAW.agc  Sprache: unbekannt

 
# Copyright: Public domain.
# Filename: TJET_LAW.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: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 1460-1469
# Mod history: 2009-05-27 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
# 2009-06-06 RSB Eliminated a stray instruction that had crept
# in somehow.
#
# 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 1460
# PROGRAM DESCRIPTION
# DESIGNED BY: R. D. GOSS AND P. S. WEISSMAN
# CODED BY:  P. S. WEISSMAN, 28 FEBRUARY 1968
#
# TJETLAW IS CALLED AS A SUBROUTINE WHEN THE LEM IS NOT DOCKED AND THE AUTOPILOT IS IN THE AUTOMATIC OR
# ATTITUDE-HOLD MODE TO CALCULATE THE JET-FIRING-TIME (TJET) REQUIRED FOR THE AXIS INDICATED BY AXISCTR:
# -1 INDICATES THE P-AXIS
# +0 INDICATES THE U-AXIS
# +1 INDICATES THE V-AXIS
# THE REGISTERS E AND EDOT CONTAIN THE APPROPRIATE ATTITUDE ERROR AND ERROR RATE AND SENSETYP SHOWS WHETHER
# UNBALANCED COUPLES ARE PREFERRED.  TJETLAW ALSO USES VARIOUS FUNCTIONS OF ACCELERATION AND DEADBAND WHICH ARE
# COMPUTED IN THE 1/ACCONT SECTION OF 1/ACCS AND ARE STORED IN SUCH AN ORDER THAT THEY CAN BE CONVENIENTLY
# ACCESSED BY INDEXING.
#
# THE SIGN OF THE REQUIRED ROTATION IS CARRIED THROUGH TJETLAW AS ROTSENSE AND IS FINALLY APPLIED TO TJET JUST
# PREVIOUS TO ITS STORAGE IN THE LOCATION CORRESPONDING TO THE AXIS (TJP, TJU, OR TJV).  THE NUMBER OF JETS THAT
# TJETLAW ASSUMES WILL BE USED AS INDICATED BY THE SETTING OF NUMBERT FOR THE U- OR V-AXIS.  TWO JETS ARE ALWAYS
# ASSUMED FOR THE P-AXIS ALTHOUGH FOUR JETS WILL BE FIRED WHEN FIREFCT IS MORE NEGATIVE THAN -4.0 DEGREES
# (FIREFCT IS THE DISTANCE TO A SWITCH CURVE IN THE PHASE PLANE) AND A LONG FIRING IS CALLED FOR.
#
# IN ORDER TO AVOID SCALING DIFFICULTIES, SIMPLE ALGORITHMS TAGGED RUFLAW1, -2 AND -3 ARE RESORTED TO WHEN THE
# ERROR AND/OR ERROR RATE ARE LARGE.
#
# CALLING SEQUENCE:
# TC TJETLAW # (MUST BE IN JASK)
# OR
# INHINT # (MUST BE IN JASK)
# TC IBNKCALL
# CADR TJETLAW
# RELINT
#
# EXIT: RETURN TO Q.
#
# INPUT:
# FROM THE CALLER:  E, EDOT, AXISCTR, SENSETYP, TJP, -U, -V.
# FROM 1/ACCONT:  48 ERASABLES BEGINNING AT BLOCKTOP (INCLUDING FLAT, ZONE3LIM AND ACCSWU, -V).
#
# OUTPUT:
# TJP, -U OR -V, NUMBERT (DAPTEMP5), FIREFCT (DAPTEMP3).
#
# DEBRIS:
# A, L, Q, E, EDOT, DAPTEMP1-6, DAPTEMP1-4.
#
# ALARM:  NONE

  BANK 17
  SETLOC DAPS2
  BANK
  EBANK= TJP
# Page 1461
  COUNT* $$/DAPTJ

TJETLAW  EXTEND   # SAVE Q FOR RETURN.
  QXCH HOLDQ

# SET INDEXERS TO CORRESPOND TO THE AXIS AND TO THE SIGN OF EDOT

  INDEX AXISCTR  # AXISDIFF(-1)=NO OF LOCATIONS BET P AND U
  CAF AXISDIFF # AXISDIFF(0)=0
  TS ADRSDIF1 # AXISDIFF(+1)=NO OF LOCATIONS BET V AND U

  CAE EDOT  # IF EDOT NEGATIVE, PICK UP SET OF VALUES
  EXTEND   # THAT ALLOW USE OF SAME CODING AS FOR
  BZMF NEGEDOT  # POSITIVE EDOT.
  CAE ADRSDIF1 # SET A SECOND INDEXER WHICH MAY BE
  TS ADRSDIF2 #  MODIFIED BY A DECISION FOR MAX JETS.
  CAF SENSOR  # FOR POSITIVE EDOT, ROTSENSE IS
  TCF SETSENSE #  INITIALIZED POSITIVE.

NEGEDOT  CS E  # IN ORDER FOR NEG EDOT CASE TO USE CODING
  TS E  # OF POS EDOT, MUST MODIFY AS FOLLOWS:
  CS EDOT  # 1. COMPLEMENT E AND EDOT.
  TS EDOT  # 2. SET SENSE OF ROTATION TO NEGATIVE
  CAF BIT1  #    (REVERSED LATER IF NECESSARY).
  ADS ADRSDIF1 # 3. INCREMENT INDEXERS BY ONE SO THAT
  TS ADRSDIF2 #    THE PROPER PARAMETERS ARE ACCESSED.
  CS SENSOR
SETSENSE TS ROTSENSE

# TEST MAGNITUDE OF E (ATTITUDE ERROR, SINGLE-PRECISION, SCALED AT PI RADIANS):
# IF GREATER THAN (OR EQUAL TO) PI/16 RADIANS, GO TO THE SIMPLIFIED TJET ROUTINE.
# IF LESS THAN PI/16 RADIANS, RESCALE TO PI/4

  CAE E  # PICK UP ATTITUDE ERROR FOR THIS AXIS
  EXTEND
  MP BIT5  # SHIFT RIGHT TEN BITS:  IF A-REGISTER IS
  CCS A  # ZERO, RESCALE AND TEST EDOT.
  TCF RUFLAW2
  TCF SCALEE
  TCF RUFLAW1
SCALEE  CAF BIT13  # ERROR IS IN L SCALED AT PI/16.  RESCALE
  EXTEND   # IT TO PI/4 AND SAVE IT.
  MP L
  TS E

# TEST MAGNITUDE OF EDOT (ERROR RATE SCALED AT PI/4 RADIANS/SECOND)
# IF GREATER THAN (OR EQUAL TO) PI/32 RADIANS/SECOND, GO TO THE SIMPLIFIED TJET ROUTINE.
# IF LESS THAN PI/32 RADIANS/SECOND, THEN RESCALE TO PI/32 RADIANS/SECOND.

  CAE EDOT  # PICK UP SINGLE-PRECISION ERROR-RATE
# Page 1462
  EXTEND   # FOR THIS AXIS=
  MP BIT4  # SHIFT RIGHT ELEVEN BITS, IF THE A-REG IS
  EXTEND   # ZERO, THEN RESCALE AND USE FINELAW.
  BZF SCALEDOT
  TCF RUFLAW3

# *** FINELAW STARTS HERE ***

SCALEDOT LXCH EDOT  # EDOT IS SCALED AT PI/32 RADIANS/SECOND.

  CAE EDOT  # COMPUTE (EDOT)(EDOT)
  EXTEND
  SQUARE   # PRODUCT SCALED AT PI(2)/2(10) RAD/SEC.
  EXTEND
  MP BIT13  # SHIFT RIGHT TWO BITS TO RESCALE TO EDOTSQ
  TS EDOTSQ  # TO PI(2)/2(8) RAD(2)/SEC(2).

ERRTEST  CCS E  # DOES BIG ERROR (THREE DEG BEYOND THE
  AD -3DEG  # DEADBAND) REQUIRE MAXIMUM JETS?
  TCF +2
  AD -3DEG
  EXTEND
  INDEX ADRSDIF1
  SU FIREDB
  EXTEND
  BZMF SENSTEST # IF NOT:  ARE UNBALANCED JETS PREFERRED?
MAXJETS  CAF TWO  # IF YES:  INCREMENT ADDRESS LOCATOR AND
  ADS ADRSDIF2 #    SET SWITCH FOR JET SELECT LOGIC TO 4.
  CAF FOUR  #    (ALWAYS DO THIS FOR P-AXIS)
  TCF TJCALC
SENSTEST CCS SENSETYP # DOES TRANSLATION PREFER MIN JETS.
  TCF TJCALC  # YES.  USE MIN-JET PARAMETERS
  TCF MAXJETS  # NO.  GET THE MAX-JET PARAMETERS.
TJCALC  TS NUMBERT  # SET TO +0,1,4 FOR (U,V-AXES) JET SELECT.

# BEGINNING OF TJET CALCULATIONS:

  CS EDOTSQ  # SCALED AT PI(2)/2(8).
  EXTEND
  INDEX ADRSDIF2
  MP 1/ANET1  # .5/ACC SCALED AT 2(6)/PI SEC(2)/RADIAN.
  INDEX ADRSDIF1
  AD FIREDB  # DEADBAND SCALED AT PI/4 RADIAN.
  EXTEND
  SU E  # ATTITUDE ERROR SCALED AT PI/4 RADIAN.
  TS FIREFCT  # -E-.5(EDOTSQ)/ACC-DB AT PI/4 RADIAN.
  EXTEND
  BZMF ZON1,2,3

ZONE4,5  INDEX ADRSDIF1
  CAE 1/ACOAST # .5/ACC SCALED AT 2(6)/PI WHERE
# Page 1463
  EXTEND   # ACC = MAX(AMIN, AOS-).
  MP EDOTSQ  # SCALED AT PI/2(8).
  AD E  # SCALED AT PI/4
  INDEX ADRSDIF1
  AD COASTDB  # SCALED AT PI/4 POS. FOR NEG. INTERCEPT.
  EXTEND   # TEST E+.5(EDOTSQ)/ACC+DB AT PI/4 RADIAN.
  BZMF ZONE5  # IF FUNCTION NEGATIVE, FIND TJET.
     # IF FUNCTION POSITIVE, IN ZONE 4.

# ZONE 4 IS THE COAST REGION.  HOWEVER, IF THE JETS ARE ON AND DRIVING TOWARD
# A. THE AXIS WITHIN + OR - (DB + FLAT) FOR DRIFTING FLIGHT, OR
# B. THE USUAL TARGET PARABOLA FOR POWERED FLIGHT
# THEN THE THRUSTERS ARE KEPT ON.

ZONE4  INDEX AXISCTR  # IS THE CURRENT VALUE IN TJET NON-ZERO
  CS TJETU  #  WITH SENSE OPPOSITE TO EDOT,
  EXTEND   # (I.E., ARE JETS ON AND FIRING TOWARD
  MP ROTSENSE # THE DESIRABLE STATE).
  EXTEND
  BZMF COASTTJ  # NO.  COAST.

JETSON  CCS FLAT  # YES.  IS THIS DRIFTING OR POWERED FLIGHT?
  TCF DRIFT/ON # DRIFTING.  GO MAKE FURTHER TEST.

  CS FIREFCT  # POWERED (OR ULLAGE).  CAN TARGET PARABOLA
  INDEX ADRSDIF1 # BE REACHED FROM THIS POINT IN THE
  AD AXISDIST # PHASE PLANE?
  EXTEND
  BZMF COASTTJ  # NO. SET TJET = 0.
  TC Z123COMP # YES.  CALCULATE TJET AS THOUGH IN ZONE 1
  CAE FIREFCT  # AFTER COMPUTING THE REQUIRED
  TCF ZONE1  # PARAMETERS.

DRIFT/ON INDEX ADRSDIF1 # CAN TARGET STRIP OF AXIS BE REACHED FROM
  CS FIREDB  # THIS POINT IN THE PHASE PLANE?
  DOUBLE
  AD FIREFCT
  EXTEND
  BZMF +3
COASTTJ  CAF ZERO  # NO.  SET TJET = 0.
  TCF RETURNTJ

  TC Z123COMP # YES. CALCULATE TJET AS THOUGH IN ZONE 2
  TCF ZONE2,3  # OR 3 AFTER COMPUTING REQUIRED VALUES.

ZONE5  TS L  # TEMPORARILY STORE FUNCTION IN L.
  CCS ROTSENSE # MODIFY ADRSDIF2 FOR ACCESSING 1/ANET2
  TCF +4  # AND ACCFCTZ5, WHICH MUST BE PICKED UP
  TC CCSHOLE  # FROM THE NEXT LOWER REGISTER IF THE
  CS TWO  # (ACTUAL) ERROR RATE IS NEGATIVE.
# Page 1464
  ADS ADRSDIF2

 +4  CAE L
  EXTEND
  INDEX ADRSDIF2 # TTOAXIS AND HH ARE THE PARAMETERS UPON
  MP ACCFCTZ5 # WHICH THE APPROXIMATIONS TO TJET ARE
  DDOUBL   # ABASED.
  DDOUBL
  DXCH HH  # DOUBLE PRECISION H SCALED AT 8 SEC(2).
  INDEX ADRSDIF2
  CAE 1/ANET2  # SCALED AT 2(7)/PI SEC(2)/RAD.
  EXTEND
  MP EDOT  # SCALED AT PI/2(5)
  TS TTOAXIS  # SCALED AT 4 SEC.

# TEST WHETHER TJET GREATER THAN 50 MSEC.

  EXTEND
  MP -.05AT2  # H - .05 TTOAXIS - .00125 G.T. ZERO
  AD HH  #  (SCALED AT 8 SEC(2) ).
  AD NEG2
  EXTEND
  BZMF FORMULA1

# TEST WHETHER TJET GREATER THAN 150 MSEC.

  CAE TTOAXIS
  EXTEND
  MP -.15AT2  # H - .15 TTOAXIS - .01125 G.T. ZERO
  AD HH  # (SCALED AT 8 SEC(2) )
  AD -.0112A8
  EXTEND
  BZMF FORMULA2

# IF TJET GREATER THAN 150 MSEC, ASSIGN IT VALUE OF 250 MSEC, SINCE THIS
# IS ENOUGH TO ASSURE NO SKIP NEXT CSP (100 MSEC).

FULLTIME CAF BIT11  # 250 MSEC SCALED AT 4 SEC.

# RETURN TO CALLING PROGRAM WITH JET TIME SCALED AS TIME6 AND SIGNED.

RETURNTJ EXTEND   # ALL BRANCHES TERMINATE HERE WITH TJET
  MP ROTSENSE # (SCALED AT 4 SEC) IN THE ACCUMULATOR.
  INDEX AXISCTR  # ROTSENSE APPLIES SIGN AND CHANGES SCALE.
  TS TJETU
  EXTEND
  INDEX AXISCTR
  MP ACCSWU  # SET SWITCH FOR JET SELECT IF ROTATION IS
  CAE L
  EXTEND   # IN A SENSE FOR WHICH 1/ACCS HAS FORCED
  BZMF +3  # A MAX-JET CALCULATION.
  CAF FOUR
# Page 1465
  TS NUMBERT
  TC HOLDQ  # RETURN VIA SAVED Q.

# TJET = H/(.025 + TTOAXIS)  FOR TJET LESS THAN 50 MSEC.

FORMULA1 CS -.025AT4 # .025 SEC SCALED AT 4.
  AD TTOAXIS  # SCALED AT 4 SECONDS.
  DXCH HH  # STORE DENOMINATOR IN FIRST WORD OF H,
  EXTEND   # WHICH NEED NOT BE PRESERVED.  PICK UP
  DV HH  # DP H AND DIVIDE BY DENOMINATOR.
  EXTEND
  MP BIT14  # RESCALE TJET FROM 2 TO USUAL 4 SEC.
  TCF CHKMINTJ # CHECK THAT TJET IS NOT LESS THAN MINIMUM

# TJET = (H + .00375)/(0.1 + TTOAXIS) FOR TJET GREATER THAN 50 MSEC.

FORMULA2 EXTEND
  DCA .00375A8 # .00375 SEC(2) SCALED AT 8.
  DAS HH  # STORE NUMERATOR IN DP H, WHICH NEED NOT
     # BE PRESERVED.
  CAE TTOAXIS  # SCALED AT 4 SEC.
  AD .1AT4  # 0.1 SEC SCALED AT 4.
  DXCH HH  # STORE DENOMINATOR IN FIRST WORD OF H,
  EXTEND   # WHICH NEED NOT BE PRESERVED.  PICK UP
  DV HH  # DP NUMERATOR AND DIVIDE BY DENOMINATOR
  EXTEND
  MP BIT14  # RESCALE TJET FROM 2 TO USUAL 4 SEC.
  TCF RETURNTJ # END SUBROUTINE.

# SUBROUTINIZED COMPUTATIONS REQUIRED FOR ALL ENTRIES INTO CODING FOR ZONES 1, 2, AND 3.
# REACHED BY TC FROM 3 POINTS IN TJETLAW.

Z123COMP CS ROTSENSE # USED IN RETURNTJ SECTION TO RESCALE TJET
  TS ROTSENSE #  AS TIME6 AND GIVE IT PROPER SIGN.
  CAE EDOT  # SCALED AT PI/2(5) RAD/SEC.
  EXTEND
  INDEX ADRSDIF2
  MP 1/ANET1  # SCALED AT 2(7)/PI SEC(2)/RAD.
  TS TTOAXIS  # STORE TIME-TO-AXIS SCALED AT 4 SECONDS.
  AD -TJMAX
  EXTEND   # IS TIME TO AXIS LESS THAN 150 MSEC.
  BZMF +2
  TCF FULLTIME # NO. FIRE JETS, DO NOT CALCULATE TJET.
  RETURN   # YES.  GO ON TO FIND TJET

ZON1,2,3 TC Z123COMP # SUBROUTINIZED PREPARATION FOR ZONE1,2,3.

# IF THE (NEG) DISTANCE BEYOND PARABOLA IS LESS THAN FLAT, USE SPECIAL
# LOGIC TO ACQUIRE MINIMUM IMPULSE LIMIT CYCLE.  DURING POWERED FLIGHT
# Page 1466
# OR ULLAGE, FLAT = 0

  CAE FIREFCT  # SCALED AT PI/4 RAD.
  AD FLAT
  EXTEND
  BZMF ZONE1  # NOT IN SPECIAL ZONES.

# FIRE FOR AXIS OR, IF CLOSE, FIRE MINIMUM IMPULSE.  IF ON AXIS, COAST.

ZONE2,3  CS ZONE3LIM # HEIGHT OF MIN-IMPULSE ZONE SET BY 1/ACCS
  AD TTOAXIS  # 35 MSEC IN DRIFTING FLIGHT
  EXTEND   # ZERO WHEN TRYING TO ENTER GTS CONTROL.
  BZMF ZONE3
ZONE2  CAE TTOAXIS  # FIRE TO AXIS.
  TCF RETURNTJ
ZONE3  CCS EDOT  # CHECK IF EDOT IS ZERO.
  CAF BIT6  # FIRE A ONE-JET MINIMUM IMPULSE.
  TCF RETURNTJ # TJET = +0.
  TC CCSHOLE  # CANNOT BE BECAUSE NEG EDOT COMPLEMENTED.
  TCF RETURNTJ # TJET = +0.

ZONE1  EXTEND
  INDEX ADRSDIF1
  SU AXISDIST # SCALED AT PI/4 RAD.
  EXTEND
  INDEX ADRSDIF2
  MP ACCFCTZ1 # SCALED AT 2(7)/PI SEC(2)/RAD.
  DDOUBL
  DDOUBL
  DXCH HH  # DOUBLE PRECISION H SCALED AT 8 SEC(2).

# TEST WHETHER TOTAL TIME REQUIRED GREATER THAN 150 MSEC:
#                      2                                   2
#  IS .5(.150 - TTOAXIS)  - H  NEGATIVE (SCALED AT 8 SECONDS )

  CAE TTOAXIS  # TTOAXIS SCALED AT 4 SECONDS.
  AD -TJMAX  # -.150 SECOND SCALED AT 4.
  EXTEND
  SQUARE
  EXTEND
  SU HH  # HIGH WORD OF H SCALED AT 8 SEC(2).
  EXTEND
  BZMF FULLTIME # YES.  NEED NOT CALCULATE TJET.

# TEST WHETHER TIME BEYOND AXIS GREATER THAN 50 MSEC TO DETERMINE WHICH APPROXIMATION TO USE.

  CAE HH
  AD NEG2
  EXTEND
  BZMF FORMULA3

# Page 1467
# TJET = H/0.1 + TTOAXIS + .0375 FOR APPROXIMATION OVER MORE THAN 50 MSEC.

  CAF .1AT2  # STORE .1 SEC SCALED AT 2 FOR DIVISION.
  DXCH HH  # DP H SCALED AT 8 SEC(2) NEED NOT BE
  EXTEND   # PRESERVED.
  DV HH  # QUOTIENT SCALED AT 4 SECONDS.
  AD TTOAXIS  # SCALED AT 4 SEC.
  AD .0375AT4 # .0375 SEC SCALED AT 4.
  TCF RETURNTJ # END COMPUTATION.

# TJET - H/.O25 + TTOAXIS  FOR APPROXIMATION OVER LESS THAN 50 MSEC.

FORMULA3 CS -.025AT2 # STORE +.25 SEC SCALED AT 2 FOR DIVISION
  DXCH HH  # PICK UP DP H AT 8, WHICH NEED NOT BE
  EXTEND   #  PRESERVED.
  DV HH  # QUOTIENT SCALED AT 4 SECONDS.
  AD TTOAXIS  # SCALED AT 4 SEC.

# IF COMPUTED JET TIME IS LESS THAN TJMIN, TJET IS SET TO ZERO.
# MINIMUM IMPULSES REQUIRED IN ZONE 3 ARE NOT SUBJECT TO THIS CONSTRAINT, NATURALLY.

CHKMINTJ AD -TJMIN  # IS COMPUTED TIME LESS THAN THE MINIMUM.
  EXTEND
  BZMF COASTTJ  # YES, SET TIME TO ZERO.
  AD TJMIN  # NO, RESTORE COMPUTED TIME.
  TCF RETURNTJ # END COMPUTATION.

# Page 1468
# *** ROUGHLAW ***
#
# BEFORE ENTRY TO RUFLAW:
# 1. INDEXERS ADRSDIF1 AND ADRSDIF2 ARE SET ON BASIS OF AXIS, AND SIGN OF EDOT.
# 2. IF EDOT WAS NEGATIVE, E AND EDOT ARE ROTATED INTO UPPER HALF-PLANE AND ROTSENSE IS MADE NEGATIVE.
# 3. E IS SCALED AT PI RADIANS AND EDOT AT PI/4 RAD/SEC.
#    (EXCEPT THE RUFLAW3 ENTRY WHEN E IS AT PI/4)
#
# RUFLAW1: ERROR MORE NEGATIVE THAN PI/16 RAD.  FIRE TO A RATE OF 6.5 DEG/SEC (IF JET TIME EXCEEDS 20 MSEC.).
# RUFLAW2: ERROR MORE POSITIVE THAN PI/16 RAD.  FIRE TO AN OPPOSING RATE OF 6.5 DEG/SEC.
# RUFLAW3: ERROR RATE GREATER THAN PI/32 RAD/SEC AND ERROR WITHIN BOUNDS.  COAST IF BELOW FIREFCT, FIRE IF ABOVE

RUFLAW1  CS RUFRATE  # DECREMENT EDOT BY .1444 RAD/SEC AT PI/4
  ADS EDOT  # WHICH IS THE TARGET RATE
  EXTEND
  BZMF SMALRATE # BRANCH IF RATE LESS THAN TARGET.
  TC RUFSETUP # REVERSE ROTSENSE AND INDICATE MAX JETS.
  CAE EDOT  # PICK UP DESIRED RATE CHANGE.

RUFLAW12 EXTEND   # COMPUTE TJET
  INDEX ADRSDIF2 # = (DESIRED RATE CHANGE)/(2-JET ACCEL.)
  MP 1/ANET1 +2
  AD -1/8  # IF TJET, SCALED AT 32 SEC, EXCEEDS
  EXTEND   #  4 SECONDS, SET TJET TO TJMAX.
  BZMF +2
  TCF FULLTIME
  EXTEND
  BZF FULLTIME
  AD BIT12  # RESTORE COMPUTED TJET TO ACCUMULATOR
  DAS A
  DAS A
  DAS A  # RESCALED TJET AT 4 SECONDS.
  TCF CHKMINTJ # RETURN AS FROM FINELAW.

SMALRATE TC RUFSETUP +2 # SET NUMBERT AND FIREFCT FOR MAXIMUM JETS
  CCS ROTSENSE
  CAF ONE  # MODIFY INDEXER TO POINT TO 1/ANET
  TCF +2  # CORRESPONDING TO THE PROPER SENSE.
  CAF NEGONE
  ADS ADRSDIF2

  CS EDOT  # (.144 AT PI/4 - EDOT) = DESIRED RATE CHNG.
  TCF RUFLAW12

RUFLAW2  TC RUFSETUP # REVERSE ROTSENSE AND INDICATE MAX JETS.
  CAF RUFRATE
  AD EDOT  # (.144 AT PI/4 + EDOT) = DESIRED RATE CHNG.
  TS A  # IF OVERFLOW SKIP, FIRE FOR FULL TIME.
  TCF RUFLAW12 # OTHERWISE, COMPUTE JET TIME.
  TCF FULLTIME

# Page 1469
RUFLAW3  TC RUFSETUP # EXECUTE COMMON RUFLAW SUBROUTINE.
  INDEX ADRSDIF1
  CS FIREDB  # CALCULATE DISTANCE FROM SWITCH CURVE
  AD E  # 1/ANET1*EDOT*EDOT +E - FIREDB = 0
  EXTEND   # SCALED AT 4 PI RADIANS
  MP BIT11
  XCH EDOT
  EXTEND
  SQUARE
  EXTEND
  INDEX ADRSDIF1
  MP 1/ANET1 +2
  AD EDOT
  EXTEND
  BZMF COASTTJ  # COAST IF BELOW IT.
  TCF FULLTIME # FIRE FOR FULL PERIOD IF ABOVE IT.

# SUBROUTINE USED IN ALL ENTRIES TO ROUGHLAW.

RUFSETUP CS ROTSENSE # REVERSE ROTSENSE WHEN ENTER HERE.
  TS ROTSENSE
 +2  CAF FOUR  # REQUIRE MAXIMUM (2) JETS IN U,V-AXES.
  TS NUMBERT
  CAF NEGMAX  # SUGGEST MAXIMUM (4) JETS IN P-AXIS.
  TS FIREFCT
  TC Q

# CONSTANTS FOR TJETLAW

  DEC -16  # AXISDIFF(INDEX) = NUMBER OF REGISTERS
AXISDIFF DEC +0  # BETWEEN STORED 1/ACCS PARAMETERS FOR
  DEC 16  # THE INDEXED AXIS AND THE U-AXIS.
SENSOR  OCT 14400  # RATIO OF TJET SCALING WITHIN TJETLAW
     # (4 SEC) TO SCALING FOR T6 (10.24 SEC).
-3DEG  DEC -.06667  # -3.0 DEGREES SCALED AT 45.
-.0112A8 DEC -.00141  # -.01125 SEC(2) SCALED AT 8.
.1AT4  DEC .025  # 0.1 SECOND SCALED AT 4.
.1AT2  DEC .05  # .1 SEC SCALED AT 2.
.0375AT4 DEC .00938  # .0375 SEC SCALED AT 4.
-.025AT2 DEC -.0125  # -.025 SEC SCALED AT 2.
-.025AT4 DEC -.00625
-.05AT2  DEC -.025
-.15AT2  DEC -.075
.00375A8 2DEC .00375 B-3

-TJMAX  DEC -.0375  # LARGEST CALCULATED TIME.  .150 SEC AT 4.
TJMIN  DEC .005  # SMALLEST ALLOWABLE TIME.  .020 SEC AT 4.
-TJMIN  DEC -.005
RUFRATE  DEC .1444  # CORRESPONDS TO TARGET RATE OF 6.5 DEG/S.

Messung V0.5 in Prozent
C=37 H=100 G=75

[Dauer der Verarbeitung: 0.14 Sekunden, vorverarbeitet 2026-10-12]