From a16401cb34da08c6626860f946d27fe4b243934b Mon Sep 17 00:00:00 2001 From: HeroicHitesh Date: Sun, 1 Nov 2020 11:53:37 +0530 Subject: [PATCH] Make remaining changes for page1485-1495 Fixes #565 --- Luminary099/AOSTASK_AND_AOSJOB.agc | 258 +++++++++++++++-------------- 1 file changed, 134 insertions(+), 124 deletions(-) diff --git a/Luminary099/AOSTASK_AND_AOSJOB.agc b/Luminary099/AOSTASK_AND_AOSJOB.agc index f1ab800..3ba74fa 100644 --- a/Luminary099/AOSTASK_AND_AOSJOB.agc +++ b/Luminary099/AOSTASK_AND_AOSJOB.agc @@ -29,52 +29,54 @@ # 16:27 JULY 14, 1969 # Page 1485 -# PROGRAM NAME: 1/ACCS -# PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON -# LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN +# PROGRAM NAME: 1/ACCS +# PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON +# LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN # # PROGRAM DESCRIPTION: -# 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A -# CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT- -# DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP. +# 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A +# CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT- +# DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP. # -# THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR), -# STAGE VERIFY BIT (CHAN30, BIT2), DOCKED BIT (DAPBOOLS, BIT13), DRIFT BIT (DAPBOOLS, BIT8), USEQRJTS (DAPBOOLS, -# BIT14), AND SURFACE FLAG (FLAGWRDB, BIT8), AND CH5MASK. +# THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR), +# STAGE VERIFY BIT (CHAN30,BIT2), DOCKED BIT (DAPBOOLS,BIT13), DRIFT BIT (DAPBOOLS,BIT8), USEQRJTS (DAPBOOLS, +# BIT14), AND SURFACE FLAG (FLAGWRDB,BIT8), AND CH5MASK. # -# 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE -# FORMED BY RESOLVING 1JACCQ AND 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L, PVT-CG) IS ALSO -# COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ, -# ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE. +# 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE +# FORMED BY RESOLVING 1JACCQ AND 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L,PVT-CG) IS ALSO +# COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ, +# ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE. +# +# AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U, +# AND V AXES (2 JETS FOR P-AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT +# THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5)ARE ALSO COMPUTED FOR THESE AXES. THE +# FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE +# MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION +# IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET. # -# AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U, -# AND V AXES (2 JETS FOR P-AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT -# THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5) ARE ALSO COMPUTED FOR THESE AXES. THE -# FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE -# MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION -# IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET. # # SUBROUTINES CALLED: -# TIMEGMBL -# MAKECADR -# ROT45DEG +# +# TIMEGMBL +# MAKECADR +# ROT45DEG # # CALLING SEQUENCE: -# TC BANKCALL # (1/ACCS MUST BE CALLED BY BANKCALL) -# CADR 1/ACCS +# TC BANKCALL # (1/ACCS MUST BE CALL BY BANKCALL) +# CADR 1/ACCS # -# NORMAL EXIT: VIA BANKJUMP +# NORMAL EXIT: VIA BANKJUMP ALARM AND EXIT MODES: NONE. # -# ALARM AND EXIT MODES: NONE -# -# INPUT/OUTPUT: SEE PROGRAM DESCRIPTION. +# INPUT/OUTPUT: SEE PROGRAM DESCRIPTION. # # DEBRIS: -# ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET. +# +# ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET. # # RESTRICTIONS: -# 1/ACCS MUST BE CALLED BY BANKCALL -# EBANK IS SET TO 6, BUT NOT RESTORED. +# +# 1/ACCS MUST BE CALLED BY BANKCALL +# EBANK IS SET TO 6, BUT NOT RESTORED. # Page 1486 BANK 20 @@ -85,18 +87,19 @@ EBANK= AOSQ -# ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSIT WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB. +# ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSET WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB. +# # IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF # NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED. 1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING. - TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS. + TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS. TS AOSR - TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST + TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST TS ALPHAR 1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL. - CADR 1/ACCS +2 # SKIP EBANK SETTING. + CADR 1/ACCS +2 # SKIP EBANK SETTING. TC ENDOFJOB @@ -107,19 +110,18 @@ TS ACCRETRN # DETERMINE MASS OF THE LEM. - - CA DAPBOOLS # IS THE CSM DOCKED + CA DAPBOOLS # IS CSM DOCKED MASK CSMDOCKD TS DOCKTEMP # STORE RECORD OF STATE IN TEMP (MPAC +3). CCS A - CS CSMMASS # DOCKED: LEMMAS = MASS - CSMMASS - AD MASS # LEM ALONE: LEMMASS = MASS + CS CSMMASS # DOCKED: LEMMAS = MASS - CSMMASS + AD MASS # LEM ALONE: LEMMASS = MASS TS LEMMASS # ON THE BASIS OF APSFLAG: -# SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/2-JET CONTROL -# SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS -# ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE +# SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/4-JET CONTROL +# SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS +# ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE INHINT CAE FLGWRD10 # DETERMINE WHETHER STAGED. @@ -136,40 +138,39 @@ EXTEND BZMF MASSFIX CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE - AD LOASCENT # DECREMENTING BY MASSMON. + AD LOASCENT # DECREMENTING BY MASSMON. EXTEND BZMF F(MASS) MASSFIX ADS LEMMASS # STORE THE VIOLATED LIMIT AS LEMMASS. - ZL # ALSO CORRECT TOTAL MASS, ZEROING THE - CCS DOCKTEMP # LOW-ORDER WORD. - CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS - AD LEMMASS # LEM ALONE: MASS = LEMMASS + ZL # ALSO CORRECT TOTAL MASS, ZEROING THE + CCS DOCKTEMP # LOW-ORDER WORD. + CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS + AD LEMMASS # LEM ALONE: MASS = LEMMASS DXCH MASS TCF F(MASS) DPSFLITE CS BIT10 # FOUR JETS FOR P-AXIS RATE COMMAND ERRORS - TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45) + TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45) CAF SIX # INITIALIZE INDEX AT 6. TS MPAC CS LEMMASS # CHECK IF MASS TOO HIGH. SHOULD NEVER - AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD - EXTEND # LOAD IS DONE. + AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD + EXTEND # LOAD IS DONE. BZMF MASSFIX CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE - AD LODESCNT # DECREMENTING BY MASSMON. + AD LODESCNT # DECREMENTING BY MASSMON. AD HIASCENT EXTEND BZMF F(MASS) TCF MASSFIX - # COMPUTATION OF FUNCTIONS OF MASS F(MASS) RELINT CCS DOCKTEMP TCF DOCKED # DOCKED: USE SEPARATE COMPUTATION. CA TWO -STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC +STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC CS TWO ADS MPAC # JX=10,8,6 OR 4,2,0 TO INDEX COEFS. @@ -177,24 +178,24 @@ STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC STCTR1 CAE LEMMASS INDEX MPAC AD INERCONC - TS MPAC +2 # MASS + C + TS MPAC +2 # MASS + C # Page 1488 EXTEND INDEX MPAC DCA INERCONA EXTEND - DV MPAC +2 + DV MPAC +2 INDEX MPAC AD INERCONB - INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX) + INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX) TS 1JACC # 1JACC(-1)=L,PVT-CG SCALED AT 8 FEET - CCS MPAC +1 + CCS MPAC +1 TCF STCTR TCF COMMEQS TCF LRESC -# COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL +# COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL # U AND V COMPONENTS (SEE ROT-TOUV SECTION). COMMEQS CS 1JACCR @@ -221,7 +222,7 @@ GOODEPS1 CA EPSILON TS COEFFQ TCF JACCUV BIGIQ EXTEND # EPSILON IS DEFINED AS 1-IR/IQ FOR IQ - DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED + DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED TS -EPSILON # RATHER THAN EPSILON FOR CONVENIENCE CS -EPSILON AD -EPSMAX @@ -254,20 +255,19 @@ JACCUV CS COEFFQ TS 1JACCV # SCALED AT PI/2 RADIANS/SEC(2) CCS MPAC # COMPUTE L,PVT-CG IF IN DESCENT CAF ZERO # ZERO SWITCHES AND GO TO 1/ACCONT IN - TS ALLOWGTS # ASCENT + TS ALLOWGTS # ASCENT TCF 1/ACCONT -1 CS TWO TS MPAC CS ONE - TS MPAC +1 + TS MPAC +1 TCF STCTR1 - -# THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION -# IMPLEMENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE -# T = ENGINE THRUST FORCE -# L = PIVOT TO CG DISTANCE OF ENGINE -# I = MOMENT OF INERTIA +# THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION IMPLE +# MENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE +# T = ENGINE THRUST FORCE +# L = PIVOT TO CG DISTANCE OF ENGINE +# I = MOMENT OF INERTIA LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2) EXTEND @@ -277,7 +277,7 @@ LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2) # MASS IS DIVIDED BY ACCELERATION OF GRAVITY IN ORDER TO MATCH THE UNITS OF IXX,IYY,IZZ, WHICH ARE SLUG-FT(2). # THE RATIO OF ACCELERATION FROM PIPAS TO ACCELERATION OF GRAVITY IS THE SAME IN METRIC OR ENGINEERING UNITS, SO -# THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IN IN A SCALED AT 2(14). +# THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IS IN A SCALED AT 2(14). EXTEND MP L,PVT-CG # SCALED AT 8 FEET. @@ -305,18 +305,18 @@ SPSCONT TS ACCDOTQ # SCALED AT PI/2(7) MP DGBF TS KRDAP EXTEND # NOW COMPUTE QACCDOT, RACCDOT, THE SIGNED - READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIMBAL - TS MPAC +1 # DRIVE BITS 9 THROUGH 12 SET LOOP + READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIM + TS MPAC +1 # BAL DRIVE BITS 9 THROUGH 12. SET LOOP CAF BIT2 # INDEX TO COMPUTE RACCDOT, THEN QACCDOT. TCF LOOP3 CAF ZERO # ACCDOTQ AND ACCDOTR ARE NOT NEGATIVE, LOOP3 TS MPAC # BECAUSE THEY ARE MAGNITUDES - CA MPAC +1 + CA MPAC +1 INDEX MPAC # MASK CHANNEL IMAGE FOR ANY GIMBAL MOTION MASK GIMBLBTS EXTEND BZF ZACCDOT # IF NONE, Q(R)ACCDOT IS ZERO. - CA MPAC +1 + CA MPAC +1 INDEX MPAC # GIMBAL IS MOVING. IS ROTATION POSITIVE. MASK GIMBLBTS +1 EXTEND @@ -331,20 +331,20 @@ ZACCDOT CAF ZERO STACCDOT INDEX MPAC TS QACCDOT # STORE Q(R)ACCDOT. CCS MPAC - TCF LOOP3 -1 # NOW DO QACCDOT. + TCF LOOP3 -1 # NOW DO QACCDOT. # Page 1491 CS DAPBOOLS # IS GIMBAL USABLE? MASK USEQRJTS EXTEND BZF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN - CS T5ADR # YES. IS THE DAP RUNNINT? + CS T5ADR # YES. IS THE DAP RUNNING? AD PAXISADR EXTEND - BZF +2 + BZF +2 TCF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN CCS INGTS # YES. IS GTS IN CONTROL? TCF DOCKTEST # YES. PROCEED WITH 1/ACCS. - TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS + TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS CADR TIMEGMBL DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED. @@ -352,25 +352,32 @@ DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED. TCF 1/ACCONT # Page 1492 -# SUBROUTINE: DVOVSUB -# AUTHOR: C. WORK, MOD 0, 12 JUNE 68 -# PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS -# (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL. -# (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE. -# (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR. -# THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6. -# THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS -# ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE -# RESULT OF A MULTIPLICATION OPERATION.) -# CALL SEQUENCE: L TC DVOVSUB -# L +1 ADRES (DIVISOR) -# L +2 RETURN HERE, WITH RESULT IN A,L -# INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES". -# DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE. -# OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE. -# DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5, AND +6.) +# SUBROUTINE: DVOVSUB +# AUTHOR: C. WORK, MOD 0 12 JUNE 68 +# PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS +# (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL. +# (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE. +# (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR. +# THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6. +# THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS +# ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE RE- +# SULT OF A MULTIPLICATION OPERATION.) +# CALL SEQUENCE: +# L TC DVOVSUB +# L +1 ADRES (DIVISOR) +# L +2 RETURN HERE, WITH RESULT IN A,L +# +# INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES". +# DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE. +# +# OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE. +# +# DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5,AND +6.) +# # ABORTS OR ALARMS: NONE -# EXITS: TO THE CALL POINT +2. +# +# EXITS: TO THE CALL POINT + 2. +# # SUBROUTINES CALLED: NONE. DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND @@ -392,7 +399,7 @@ DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND ZEROPLUS XCH SCRATCHY # STORE ABS(DIVISOR). PICK UP TOP HALF OF EXTEND # DIVIDEND. - BZMF GOODNEG # GET -ABS(DIVIDEND) + BZMF GOODNEG # GET -ABS(DIVIDEND) # Page 1493 CS A @@ -400,7 +407,7 @@ GOODNEG AD SCRATCHY # ABS(DIVISOR) - ABS(DIVIDEND) EXTEND BZMF MAKEMAX # BRANCH IF DIVISION IS NOT PROPER. - CA SCRATCHX # RE-ESTABLISH THE DIVIDEND + CA SCRATCHX # RE-ESTABLISH THE DIVIDEND. EXTEND DV SCRATCHZ # QUOTIENT IN THE A, REMAINDER IN L. TC Q # RETURN TO CALLER. @@ -415,66 +422,69 @@ MAXPLUS CAF POSMAX # -,- OR +,+ TC Q # COEFFICIENTS FOR THE JET ACCELERATION CURVE FITS -# THE CURVE FITS ARE OF THE FORM -- +# THE CURVE FITS ARE OF THE FORM - # -# 1JACC = A/(MASS + C) + B +# 1JACC = A/(MASS + C) + B # # A IS SCALED AT PI/4 RAD/SEC**2 B+16KG, B IS SCALED AT PI/4 RAD/SEC**2, AND C IS SCALED AT B +16 KG. # # THE CURVE FIT FOR L,PVT-CG IS OF THE SAME FORM, EXCEPT THAT A IS SCALED AT 8 FT B+16 KG, B IS SCALED AT 8 FT, # AND C IS SCALED AT B+16 KG. - 2DEC +.0410511917 # L A DESCENT -INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT + 2DEC +.0410511917 # L A DESCENT - 2DEC +.0014979264 # 1JACCQ A DESCENT - 2DEC +.0010451889 # 1JACCR A DESCENT +INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT - 2DEC +.0065443852 # 1JACCP A ASCENT + 2DEC +.0014979264 # 1JACCQ A DESCENT - 2DEC +.0035784354 # 1JACCQ A ASCENT + 2DEC +.0010451889 # 1JACCR A DESCENT - 2DEC +.0056946631 # 1JACCR A ASCENT - DEC +.155044 # L B DESCENT - DEC -.025233 # L C DESCENT + 2DEC +.0065443852 # 1JACCP A ASCENT + + 2DEC +.0035784354 # 1JACCQ A ASCENT + + 2DEC +.0056946631 # 1JACCR A ASCENT + + + DEC +.155044 # L B DESCENT + DEC -.025233 # L C DESCENT # Page 1494 -INERCONB DEC +.002989 # 1JACCP B DESCENT -INERCONC DEC +.008721 # 1JACCP C DESCENT - DEC +.018791 # 1JACCQ B DESCENT - DEC -.068163 # 1JACCQ C DESCENT - DEC +.021345 # 1JACCR B DESCENT - DEC -.066027 # 1JACCR C DESCENT +INERCONB DEC +.002989 # 1JACCP B DESCENT +INERCONC DEC +.008721 # 1JACCP C DESCENT + DEC +.018791 # 1JACCQ B DESCENT + DEC -.068163 # 1JACCQ C DESCENT + DEC +.021345 # 1JACCR B DESCENT + DEC -.066027 # 1JACCR C DESCENT - DEC +.000032 # 1JACCP B ASCENT - DEC -.006923 # 1JACCP C ASCENT - DEC +.162862 # 1JACCQ B ASCENT - DEC +.002588 # 1JACCQ C ASCENT - DEC +.009312 # 1JACCR B ASCENT - DEC -.023608 # 1JACCR C ASCENT + DEC +.000032 # 1JACCP B ASCENT + DEC -.006923 # 1JACCP C ASCENT + DEC +.162862 # 1JACCQ B ASCENT + DEC +.002588 # 1JACCQ C ASCENT + DEC +.009312 # 1JACCR B ASCENT + DEC -.023608 # 1JACCR C ASCENT GIMBLBTS OCTAL 01400 OCTAL 01000 OCTAL 06000 OCTAL 04000 -DGBF DEC 0.6 # .3 SCALED AT 1/2 +DGBF DEC 0.6 # .3 SCALED AT 1/2 0.35356 DEC 0.35356 # .70711 SCALED AT 2 GFACTM OCT 337 # 979.24/2.20462 AT B+15 .7071 DEC .70711 -.7071 DEC -.70711 -EPSMAX DEC -.42265 - # CSM-DOCKED INERTIA COMPUTATIONS -DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS + DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS SPSLOOP1 TS COEFCTR # = 7 FOR CG COEFFICIENTS CA ONE # MASSCTR = 1 FOR CSM TS MASSCTR # = 0 FOR LEM INDEX COEFCTR - CA COEFF -1 # COEFF -1 = C + CA COEFF -1 # COEFF -1 = C EXTEND MP LEMMASS EXTEND @@ -489,7 +499,7 @@ SPSLOOP2 TS MASSCTR # LOOP TWICE THROUGH HERE TO OBTAIN EXTEND # MPAC = MPAC + (A X +D)X + (B Y +E)Y DIM COEFCTR # LOOP #1 LOOP #2 INDEX COEFCTR - CA COEFF +2 # COEFF +2 = A OR B + CA COEFF +2 # COEFF +2 = A OR B EXTEND # Page 1495 INDEX MASSCTR