* Proof FIXED_FIXED_CONSTANT_POOL (#207) * Proof POWERED_FLIGHT_SUBROUTINES #244
This commit is contained in:
parent
496453a615
commit
4f83a11ecb
@ -37,22 +37,22 @@
|
||||
EBANK= DEXDEX
|
||||
COUNT* $$/POWFL
|
||||
|
||||
# CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*GR*GS ALL COMPUTE THE SINES AND
|
||||
# CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*GR*GS ALL COMPUTE THE SINES AND
|
||||
# COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
|
||||
# PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN
|
||||
# ADDITIONAL OUTPUT IS THE 1'S COMPLENT ANGLES AT CDUSPOT. THESE
|
||||
# ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT.
|
||||
# ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT. THESE
|
||||
# ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
|
||||
# EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN
|
||||
# WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
|
||||
#
|
||||
# CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
|
||||
|
||||
# CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
|
||||
# SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
|
||||
# THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
|
||||
# CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
|
||||
#
|
||||
# CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
|
||||
#
|
||||
# CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
|
||||
|
||||
# CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
|
||||
|
||||
# CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
|
||||
# ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
|
||||
# ANGLES IN AN ORDER OTHER THAN X Y Z. A CALL TO THIS ROUTINE IS
|
||||
# NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
|
||||
@ -62,8 +62,8 @@
|
||||
# MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED. NOTE THAT SINCE
|
||||
# IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
|
||||
# CALLED USING BANKCALL. SORRY.
|
||||
#
|
||||
# CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
|
||||
|
||||
# CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
|
||||
# INTERPRETIVE.
|
||||
|
||||
CDUTRIG EXIT
|
||||
@ -118,10 +118,11 @@ TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
|
||||
TC TEM2
|
||||
# Page 1367
|
||||
# *******************************************************************************************************
|
||||
# QUICTRIG, INTENDED FOR QUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
|
||||
|
||||
# QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
|
||||
# QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
|
||||
# AND CDUSPOT +4. UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
|
||||
# CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE
|
||||
# CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE
|
||||
# CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
|
||||
|
||||
QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
|
||||
@ -151,10 +152,12 @@ QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
|
||||
TC A
|
||||
# Page 1368
|
||||
#****************************************************************************
|
||||
# THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
|
||||
|
||||
|
||||
# THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
|
||||
# INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
|
||||
#
|
||||
# NBSM WILL BE THE FIRST TO GO. IT SHOULD NOT BE USED.
|
||||
# NBSM WILL BE THE FIRST TO GO. IT SHOULD NOT BE USED.
|
||||
|
||||
NBSM STQ
|
||||
X2
|
||||
@ -168,20 +171,20 @@ NBSM STQ
|
||||
STCALL 32D # SINCE THERE'S NO STGOTO
|
||||
X2
|
||||
|
||||
# THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
|
||||
# SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
|
||||
# THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
|
||||
# SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
|
||||
# RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
|
||||
# MED INTERPRETER-STYLE IN MPAC: COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
|
||||
#
|
||||
# TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
|
||||
# AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4. ODD
|
||||
# MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
|
||||
|
||||
# TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
|
||||
# AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
|
||||
# LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFOR-
|
||||
# MATION: TRG*SMNB, VICE VERSA.
|
||||
#
|
||||
# CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
|
||||
# MATION; TRG*SMNB, VICE VERSA.
|
||||
|
||||
# CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
|
||||
# THE CDL COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM.
|
||||
#
|
||||
# CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
|
||||
# CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
|
||||
|
||||
CDU*SMNB EXIT
|
||||
TC CDUTRIGS
|
||||
@ -209,11 +212,11 @@ C*MM*N3 TC MPACVBUF # FOR AX*SR*T
|
||||
CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION
|
||||
TCF C*MM*N2
|
||||
|
||||
# *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
|
||||
# *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
|
||||
# AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE
|
||||
# LIKE TRG*NBSM AND TRG*SMNB.
|
||||
#
|
||||
# NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
|
||||
|
||||
# NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
|
||||
# OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
|
||||
# AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR-
|
||||
# MATIONS USE *NBSM* AND *SMNB*.
|
||||
@ -224,25 +227,27 @@ C*MM*N3 TC MPACVBUF # FOR AX*SR*T
|
||||
*NBSM* EXIT
|
||||
TCF C*MM*N3
|
||||
|
||||
# AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM
|
||||
# AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM
|
||||
# TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3.
|
||||
# THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
|
||||
# AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
|
||||
# AT SINCDU AND COSCDU, IN THE ORDER Y Z X. A CALL TO CD*TR*GS, WITH
|
||||
# THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
|
||||
# THIS. HERE IS A SAMPLE CALLING SEQUENCE:--
|
||||
# TC CDUTRIGS
|
||||
# CS THREE # ("CA THREE" FOR NBSM)
|
||||
# TC AX*SR*T
|
||||
# THIS. HERE IS A SAMPLE CALLING SEQUENCE:-
|
||||
|
||||
# TC CDUTRIGS
|
||||
# CS THREE ("CA THREE" FOR NBSM)
|
||||
# TC AX*SR*T
|
||||
|
||||
# THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
|
||||
# THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
|
||||
#
|
||||
# AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
|
||||
|
||||
# AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
|
||||
# UNITY. A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
|
||||
# HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
|
||||
# FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
|
||||
|
||||
AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES.
|
||||
AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES
|
||||
EXTEND
|
||||
QXCH RTNSAVER
|
||||
|
||||
@ -294,6 +299,7 @@ LOOP1 DXCH MPAC
|
||||
INDEX DEX1
|
||||
DXCH VBUF
|
||||
DXCH BUF # LOADING INDEX, STORING VECTOR COMPONENT
|
||||
|
||||
CCS A # 'CAUSE THAT'S WHERE THE INDEX NOW IS
|
||||
TCF LOOP2
|
||||
|
||||
@ -307,8 +313,10 @@ TSTPOINT CCS DEXDEX # ONLY THE BRANCHING FUNCTION IS USED
|
||||
TCF R*TL**P
|
||||
TC RTNSAVER
|
||||
|
||||
|
||||
SINESLOC ADRES SINCDU # FOR USE IN SETTING ADDRWD
|
||||
|
||||
|
||||
INDEXI DEC 4 # ********** DON'T ***********
|
||||
DEC 2 # ********** TOUCH ***********
|
||||
DEC 0 # ********** THESE ***********
|
||||
@ -318,9 +326,9 @@ INDEXI DEC 4 # ********** DON'T ***********
|
||||
# Page 1372
|
||||
# THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
|
||||
# REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4). SIN,COS(CDUY,Z,X) ARE IN
|
||||
# SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY, SCALED TO ONE HALF. CDU INCREMENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
|
||||
# SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY,SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
|
||||
# ONE REVOLUTION.
|
||||
#
|
||||
|
||||
# * COS(IGA)SEC(MGA) 0 -SIN(IGA)SEC(MGA) *
|
||||
# * *
|
||||
# * -COS(IGA)TAN(MGA) 1 SIN(IGA)TAN(MGA) *
|
||||
@ -361,4 +369,3 @@ SMCDURES DLOAD DMP
|
||||
SL1
|
||||
STORE DCDU +4
|
||||
RVQ
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user