fixed white space to match exactly

This commit is contained in:
serialhex 2020-10-13 12:26:41 -04:00
parent e654913884
commit f46753ecb3

View file

@ -1,6 +1,6 @@
# Copyright: Public domain. # Copyright: Public domain.
# Filename: POWERED_FLIGHT_SUBROUTINES.agc # Filename: POWERED_FLIGHT_SUBROUTINES.agc
# Purpose: Part of the source code for Luminary 1A build 099. # Purpose: Part of the source code for Luminary 1A build 099.
# It is part of the source code for the Lunar Module's (LM) # It is part of the source code for the Lunar Module's (LM)
# Apollo Guidance Computer (AGC), for Apollo 11. # Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL # Assembler: yaYUL
@ -35,33 +35,33 @@
EBANK= DEXDEX EBANK= DEXDEX
COUNT* $$/POWFL COUNT* $$/POWFL
# CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND # CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
# COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE # 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 # PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN
# ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT. THESE # 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, # 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 # EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN
# WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING. # 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. # SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
# THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY # THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
# CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS. # CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
# #
# CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC. # 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 # CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
# ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL # 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 # 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 # NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
# MODES (SMNB OR NBSM). SINCE AX*SR*T EXPECTS TO FIND THE SINES AND # MODES (SMNB OR NBSM). SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
# COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT # COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
# IN THIS ORDER. CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED # IN THIS ORDER. CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
# MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED. NOTE THAT SINCE # 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 # IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
# CALLED USING BANKCALL. SORRY. # 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. # INTERPRETIVE.
CDUTRIG EXIT CDUTRIG EXIT
@ -90,7 +90,7 @@ TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
INDEX TEM3 INDEX TEM3
CA CDUSPOT CA CDUSPOT
DXCH MPAC # STORING 2'S COMP ANGLE, LOADING MPAC DXCH MPAC # STORING 2'S COMP ANGLE, LOADING MPAC
DXCH VBUF +4 # STORING MPAC FOR LATER RESTORATION DXCH VBUF +4 # STORING MPAC FOR LATER RESTORATION
TC USPRCADR TC USPRCADR
CADR CDULOGIC CADR CDULOGIC
EXTEND EXTEND
@ -106,8 +106,8 @@ TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
INDEX TEM3 INDEX TEM3
DCA CDUSPOT # LOADING 1'S COMPLEMENT ANGLE DCA CDUSPOT # LOADING 1'S COMPLEMENT ANGLE
TC USPRCADR TC USPRCADR
CADR SINE +1 # SINE +1 EXPECTS ARGUMENT IN A AND L CADR SINE +1 # SINE +1 EXPECTS ARGUMENT IN A AND L
DXCH VBUF +4 # BRINGING UP PRIOR MPAC TO BE RESTORED DXCH VBUF +4 # BRINGING UP PRIOR MPAC TO BE RESTORED
DXCH MPAC DXCH MPAC
INDEX TEM3 INDEX TEM3
DXCH SINCDU DXCH SINCDU
@ -116,10 +116,10 @@ TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
TC TEM2 TC TEM2
# Page 1261 # Page 1261
# ******************************************************************************************************* # *******************************************************************************************************
# QUICTRIG, INTENDED FOR GUIDANCE 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, # 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 # 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. # CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
@ -150,23 +150,23 @@ QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
# Page 1262 # Page 1262
#**************************************************************************** #****************************************************************************
# 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. # INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
# #
# THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK # THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
# SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL", # SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
# RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR- # 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. # 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 # 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 # 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- # LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFOR-
# MATION; TRG*SMNB, VICE VERSA. # MATION; TRG*SMNB, VICE VERSA.
# #
# CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF # CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
# THE CDU COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM. # THE CDU 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 CDU*SMNB EXIT
TC CDUTRIGS TC CDUTRIGS
@ -191,14 +191,14 @@ C*MM*N3 TC MPACVBUF # FOR AX*SR*T
CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION
TCF C*MM*N2 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 # AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE
# LIKE TRG*NBSM AND TRG*SMNB. # 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 # OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
# Page 1263 # Page 1263
# AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR- # AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR-
# MATIONS USE *NBSM* AND *SMNB*. # MATIONS USE *NBSM* AND *SMNB*.
*SMNB* EXIT *SMNB* EXIT
@ -207,21 +207,21 @@ C*MM*N3 TC MPACVBUF # FOR AX*SR*T
*NBSM* EXIT *NBSM* EXIT
TCF C*MM*N3 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. # TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3.
# THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF. # 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 # 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 # 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 # THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
# THIS. HERE IS A SAMPLE CALLING SEQUENCE:- # THIS. HERE IS A SAMPLE CALLING SEQUENCE:-
# TC CDUTRIGS # TC CDUTRIGS
# CS THREE # ("CA THREE" FOR NBSM) # CS THREE # ("CA THREE" FOR NBSM)
# TC AX*SR*T # TC AX*SR*T
# THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE # THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
# THAN ONCE, UNLESS THE ANGLES HAVE CHANGED. # 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 # 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- # 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. # FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
@ -229,7 +229,7 @@ AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES
EXTEND EXTEND
QXCH RTNSAVER QXCH RTNSAVER
R*TL**P CCS DEXDEX # +3 --> 0 -3 --> 2 R*TL**P CCS DEXDEX # +3 --> 0 -3 --> 2
CS DEXDEX # THUS: +2 --> 1 -2 --> 1 CS DEXDEX # THUS: +2 --> 1 -2 --> 1
AD THREE # +1 --> 2 -1 --> 0 AD THREE # +1 --> 2 -1 --> 0
EXTEND EXTEND
@ -304,7 +304,7 @@ INDEXI DEC 4 # ********** DON'T ***********
BANK BANK
COUNT* $$/POWFL COUNT* $$/POWFL
# ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES # ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES
# IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A. # IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A.
CALCSMSC EXIT CALCSMSC EXIT
@ -364,13 +364,13 @@ FLESHPOT TS TEM2
ADRES SINCDUZ ADRES SINCDUZ
EXTEND EXTEND
DCS MPAC DCS MPAC
DXCH MPAC +5 DXCH MPAC +5
TC DMP TC DMP
ADRES SINCDUY ADRES SINCDUY
DXCH MPAC DXCH MPAC
DDOUBL DDOUBL
DDOUBL DDOUBL
DXCH MPAC +5 DXCH MPAC +5
DXCH MPAC DXCH MPAC
TC DMP TC DMP
@ -387,7 +387,7 @@ FLESHPOT TS TEM2
ADRES COSCDUX ADRES COSCDUX
DXCH MPAC DXCH MPAC
DDOUBL DDOUBL
DAS MPAC +5 DAS MPAC +5
EXTEND EXTEND
DCA SINCDUY DCA SINCDUY
@ -397,7 +397,7 @@ FLESHPOT TS TEM2
# Page 1267 # Page 1267
DDOUBL DDOUBL
DAS BUF DAS BUF
DXCH BUF DXCH BUF
DXCH MPAC DXCH MPAC
@ -408,12 +408,12 @@ FLESHPOT TS TEM2
DXCH 14 # = SINY COSX + SINX SINZ COSY DXCH 14 # = SINY COSX + SINX SINZ COSY
EXTEND EXTEND
DCA MPAC +3 DCA MPAC +3
INDEX TEM1 INDEX TEM1
DXCH 16 # = - SINX COSZ DXCH 16 # = - SINX COSZ
EXTEND EXTEND
DCA MPAC +5 DCA MPAC +5
INDEX TEM1 INDEX TEM1
DXCH 20 # = COSX COSY - SINX SINY SINZ DXCH 20 # = COSX COSY - SINX SINY SINZ
@ -431,14 +431,14 @@ FLESHPOT TS TEM2
INDEX TEM1 INDEX TEM1
DXCH 6 DXCH 6
DXCH MPAC +3 DXCH MPAC +3
DDOUBL DDOUBL
INDEX TEM1 INDEX TEM1
DXCH 10 DXCH 10
DXCH MPAC +5 DXCH MPAC +5
DDOUBL DDOUBL
INDEX TEM1 INDEX TEM1
DXCH 12 DXCH 12
CA TEM2 CA TEM2