4769 lines
86 KiB
ArmAsm
4769 lines
86 KiB
ArmAsm
# Copyright: Public domain.
|
|
# Filename: FP8.s
|
|
# Purpose: This is the Apollo lunar module's firmware for the
|
|
# Abort Guidance System (AGS). This is Flight Program 8.
|
|
# Assembler: yaLEMAP
|
|
# Contact: Ron Burkey <info@sandroid.org>.
|
|
# Website: www.ibiblio.org/apollo/yaAGS.html
|
|
# Reference: http://www.ibiblio.org/apollo/Pultorak_files/FP8Listing.pdf.
|
|
# Mod history: 2005-01-15 RSB Began.
|
|
# 2005-01-17 RSB Data entry complete, but not debugged.
|
|
# 2005-01-18 RSB As of yesterday, this assembled with
|
|
# 86 fatal errors. These have all been
|
|
# repaired. Lots of other stuff fixed too.
|
|
# I know know that the addresses and
|
|
# opcodes at the ends of each page are
|
|
# correct. However, the checksums are
|
|
# still wrong, so the next step is to
|
|
# proceed with a binary comparison.
|
|
# 2005-01-18 RSB Fully debugged and ready to go.
|
|
# It has been completely proofed against
|
|
# the binary in the scanned assembly
|
|
# listing, and the checksums are correct.
|
|
# (Of course, it could always use more
|
|
# proofing if somebody wanted to do it.
|
|
# Particularly the program comments.)
|
|
# 2005-05-14 RSB Corrected website reference above.
|
|
# 2005-06-12 RSB Fixed comments on p. 117.
|
|
#
|
|
# The contents have been taken (by means of manual data entry) from
|
|
# an assembly listing of Flight Program 8 scanned by John Pultorak from
|
|
# a physical copy preserved by supplied by Davis Peticolas. (The WWW link
|
|
# for the scan is referenced above.)
|
|
#
|
|
# This file contains the entire source code for FP8. I have not split the
|
|
# source code into many smaller chunks as has been done for AGC source code.
|
|
# The page references are to the scanned PDF of the assembly listing, but
|
|
# the page markings on the physical copy match the PDF pages. In addition
|
|
# to the comments containing the page references, I've also added some
|
|
# blank lines for readability. So don't expect the line number in the
|
|
# scanned version to match the line numbers in an assembly listing created
|
|
# by processing this source file with the yaLEMAP cross-assembler.
|
|
|
|
# Page 1
|
|
# FLIGHT PROGRAM 8 -- LM AGS FP8 S03 4039 -- 12/18/70
|
|
# LM ABORT ELECTRONICS ASSEMBLY
|
|
#
|
|
# SCRATCH PAD STORAGE
|
|
ORG 0000
|
|
TS0 DEC 0
|
|
TS1 DEC 0
|
|
TS2 DEC 0
|
|
TS3 DEC 0
|
|
TS4 DEC 0
|
|
TS5 DEC 0
|
|
TS6 DEC 0
|
|
TS7 DEC 0
|
|
TS10 DEC 0
|
|
TS11 DEC 0
|
|
TS12 DEC 0
|
|
TS13 DEC 0
|
|
TS14 DEC 0
|
|
TS15 DEC 0
|
|
TS16 DEC 0
|
|
TS17 DEC 0
|
|
SREX3 DEC 0
|
|
SREX2 DEC 0
|
|
SREX1 DEC 0
|
|
SREX DEC 0
|
|
TVARBR DEC 0 # TEMP STORE FOR CK SUM.
|
|
TRA RETURN # SERV ROUT, STARTUP
|
|
#
|
|
# TAPE LOAD STARTUP CHECKSUM
|
|
#
|
|
SF OUT 6402 # DEDA INPUT SCALE FACTOR
|
|
OCTF INP 2040 # DEDA OCTAL INPUT
|
|
#
|
|
# THE NEXT 16 LOCATIONS ARE SHARED
|
|
# WITH A RR FILTER TEMPORARY MATRIX
|
|
#
|
|
U2X ALS 1 # B1 UNIT RADIAL VECTOR TO
|
|
U2Y TMI *+2 # B1 TRIAL RENDEZ PT.
|
|
U2Z TRA *-3 # B1
|
|
|
|
# Page 2
|
|
D11 EQU U2X # RADAR TEMP. MATRIX (16 LOC)
|
|
VFX EQU U2X # BRAKING VEL VECTOR AT 13.
|
|
C2 DLY *+1 # B1 RENDEZ ANGLE SINE
|
|
V1X OUT 7012 # B1 HORIZ UNIT VECTOR
|
|
V1Y INP 6200
|
|
V1Z CLZ SUM
|
|
DLSC CLA V2Z # DOWNLINK SHIFT COUNTER
|
|
W1X STO TVARBR # B1 U1 X V1
|
|
D31 EQU W1X
|
|
W1Y CLZ WRDCNT
|
|
W1Z TSQ TVARBR
|
|
SI ADZ SUM # B0 E(SIN(E0))
|
|
RD2DOT STO SUM # B7 DESIRED RADIAL ACCEL
|
|
YD2DOT CLA TVARBR # B7 DESIRED OUT-OF-PLANE ACCEL
|
|
TSEX SUB CLAFR # EXIT FROM NORTON
|
|
SIDELL TMI U1X # B1 SIN DELTA L
|
|
V6X CLZ SUM # B13 TEMP STORAGE FOR TPI QUANT
|
|
V6Y TMI *+3
|
|
V6Z SUB 1B17
|
|
DQSX EQU V6X # ACCUM VEL IN XDV
|
|
CODELL TMI EXIT40 # B1 COS DELTA L
|
|
WCX CLA 10B4 # B1 UNIT VECTOR NORMAL
|
|
WCY STO S12 # TO CSM ORBIT
|
|
WCZ OUT 6410
|
|
TMPBR TRA SINITC # TEMP BRANCH STORE
|
|
U1X CLZ WRDCNT # B1 LEM UNIT RAD VECTGOR
|
|
U1Y ADD 1B17
|
|
U1Z STO WRDCNT
|
|
BRANCH SUB 1B11 # GUIDANCE BRANCH
|
|
V2X TMI W1Z # B1 HORZ UNIT VECTOR AT
|
|
V2Y DLY W1Y # RENDEZ POINT
|
|
V2Z CLA 0206
|
|
VGX EQU V2X # VEL TO GAIN VECTOR AT L3
|
|
#
|
|
# END OF TAPE LOAD CHECKSUM PROGRAM
|
|
#
|
|
AT DEC 0B7
|
|
|
|
# Page 3
|
|
EX DEC 0B2 # ATTITUDE ERRORS.
|
|
EY DEC 0
|
|
EZ DEC 0
|
|
X3 DEC 0B0 # XFR ORB PARAM.
|
|
TR3 EQU X3 # ADDRESS OF RESULT FOR MXM
|
|
DVXM1 DEC 0B1 # BODY DELTA VS
|
|
DVYM1 DEC 0 # PREVIOUS CYCLE.
|
|
DVZM1 DEC 0
|
|
NI DEC 0B-9 # PREDICTION ANGULAR FREQUENCY
|
|
NE EQU NI # CSM PRED. ANGULAR FREQ.
|
|
TR8 EQU NI # RADAR TEMP.
|
|
VD2X DEC 0B2 # DELTA V EXP LS
|
|
VD2Y DEC 0
|
|
VD2Z DEC 0
|
|
CI DEC 0B0 # E(COS(E0))
|
|
TR1 EQU CI # ADDR. OF 1ST MATRIX FOR MXM
|
|
DRX DEC 0B14 # LRM POS REMAINDERS
|
|
DRY DEC 0
|
|
DRZ DEC 0
|
|
THEP DEC 0 # PGNS THETA IN COUNTS.
|
|
DIGX DEC 0B7 # PREDICTED CHANGE IN
|
|
DIGY DEC 0 # INTEGRATED GRAVITY.
|
|
DIGZ DEC 0
|
|
PSIP DEC 0 # PGNS PSI IN COUNTS.
|
|
GXDT DEC 0B7 # GRAVITY TIMES MAJOR
|
|
GYDT DEC 0
|
|
GZDT DEC 0
|
|
PHIP DEC 0 # PGNS PHI IN COUNTS.
|
|
DVSX DEC 0
|
|
DVSY DEC 0
|
|
DVSZ DEC 0
|
|
SIGA DEC 0B1 # SIN FDAI GAMMA.
|
|
RRX DEC 0B23 # COMPUTED LM-CSM RANGE
|
|
RRY DEC 0
|
|
RRZ DEC 0
|
|
COGA DEC 0B1 # COS FDAI GAMMA.
|
|
A11 DEC 1.0B1 # XB DIRECTION COSINES.
|
|
|
|
# Page 4
|
|
A12 DEC 0
|
|
A13 DEC 0
|
|
TS8 DEC 0
|
|
A31 DEC 0 # ZB DIRECTION COSINES
|
|
A32 DEC 0
|
|
A33 DEC 1.0B1
|
|
SUM DEC 0 # RUNNING MEMORY SUM
|
|
A21 DEC 0 # YB DIRECTION COSINES
|
|
A22 DEC 1.0B1
|
|
A23 DEC 0
|
|
X4 DEC 0B0 # XFR ORB PARAM.
|
|
VHSQ EQU X4 # 0B26 VH SQUARED
|
|
TR2 EQU X4 # ADDR. OF 2ND MATRIX FOR MXM
|
|
E1 DEC 0 # -6 OR -9 XB NORM ERROR
|
|
E3 DEC 0 # ZB NORMALITY ERROR.
|
|
E13 DEC 0 # XB,ZB ORTHOG ERROR.
|
|
DEL10 DEC 0 # TPI LOGIC FLAG
|
|
DA11 DEC 0B-5 # DIR COSINE REMAINDERS
|
|
DA12 DEC 0
|
|
DA13 DEC 0
|
|
WRDCNT DEC 0 # CKSUM WORD COUNT
|
|
DA31 DEC 0
|
|
DA32 DEC 0
|
|
DA33 DEC 0
|
|
DEL44 DEC 0 # RADAR CODE WORD RESET FLAG
|
|
A11D DEC 0B1 # XD DIRECTION COSINES.
|
|
A12D DEC 0
|
|
A13D DEC 0
|
|
DEC 0 # ** UNUSED -- INDEXED BY A11D **
|
|
A31D DEC 0B1 # ZD DIRECTION COSINES.
|
|
A32D DEC 0
|
|
A33D DEC 0
|
|
MU17 DEC 0B3 # RADAR FILTER ENTRY COUNTER
|
|
P DEC 0B23 # TRIAL SEMI-PARAMETER
|
|
ALPHA DEC 0B23 # XFR ORBIT SEMI-MAJOR AXIS
|
|
Q1 DEC 0B23 # XFR ORBIT PERILUNE
|
|
ESQ EQU Q1
|
|
|
|
# Page 5
|
|
AI DEC 0B23 # PRED. SEMI-MAJOR AXIS
|
|
AE EQU AI # CSM PRED. SEMI-MAJOR AXIS
|
|
R5X DEC 0B23 # LM PRED POS AHEAD TDEL
|
|
R5Y DEC 0
|
|
R5Z DEC 0
|
|
AL DEC 0B23 # LM PRED. SEMI-MAJOR AXIS
|
|
REX DEC 0B23 # CSM EPOCH POSITION
|
|
REY DEC 0
|
|
REZ DEC 0
|
|
RT DEC 0B23 # CSM PRED POS. MAG.
|
|
R0X DEC 0B23 # PRED EPOCH POS VECTOR
|
|
R0Y DEC 0
|
|
# SEE REAR OF LISTING FOR CHECKSUM
|
|
# Note that the CHECKSUM pseudo-op is not defined in the AGS
|
|
# programmer's manual. I have decided for the purposes of
|
|
# implementing yaLEMAT that the following syntax will be
|
|
# used. It means that the cross-assembler will compute a
|
|
# checksum of the address range 0207-1004 (octal), and will
|
|
# store it right here.
|
|
CHECKSUM RANGE 0207-1004
|
|
R0Z DEFINE 0206
|
|
R0 DEC 0B23 # PRED EPOCH POS. MAG.
|
|
C11 EQU P # RADAR TEMP. MATRIX
|
|
C12 EQU ALPHA
|
|
C13 EQU Q1
|
|
C14 EQU AI
|
|
C21 EQU R5X
|
|
C22 EQU R5Y
|
|
C23 EQU R5Z
|
|
C24 EQU AL
|
|
C31 EQU REX
|
|
C32 EQU REY
|
|
C33 EQU REZ
|
|
C34 EQU RT
|
|
C41 EQU R0X
|
|
C42 EQU R0Y
|
|
C43 EQU R0Z
|
|
C44 EQU R0
|
|
R DEC 0B23 # LM POS MAGNITUDE
|
|
Y DEC 0B23 # OUT OF PLANE POSITION
|
|
PP DEC 0B23 # P PRIME/EXIT FOR MXM
|
|
POUTFS DEC 7.684096E4B23 # MAX P DISPLAYABLE
|
|
POUT DEC 0 # DISPLAY POSITION.
|
|
|
|
# Page 6
|
|
DPOUT DEC 0 # DISPLAY POSITION INCREMENT.
|
|
2K3 DEC 1048576.B23 # QL SET ON O.F.
|
|
2K14 DEC 5.E4B23 # INITIAL P PERTURBATION
|
|
RIX DEC 0B23 # ELLIPSE PRED POS OUTPUT
|
|
RIY DEC 0
|
|
RIZ DEC 0
|
|
DELR1 EQU RIX # MEASURED MINUS COMPUTED RANGE
|
|
DELR3 EQU RIY # B23
|
|
DELR2 EQU RIZ
|
|
25J DEC 0B23 # DEDA ALTITUDE UPDATE
|
|
7J DEC 6042736B23 # TERM IN AL(O.I.)
|
|
8J DEC 2940243B23 # TERM IN AL(O.I) LOWER LIMIT
|
|
10J DEC 6046910B23 # RETARGET VALUE FOR 7J
|
|
4K5 DEC 5735200B23 # NOMINAL BURNOUT ALTITUDE
|
|
2K19 DEC 5.E5B23 # DELTA P LIMITER
|
|
5J DEC 5.697785E6B23 # LANDING SITE RADIUS
|
|
16J DEC 60000B23 # ORBIT INSERTION ALTITUDE
|
|
21J DEC 25000B23 # PITCH STEERING ALT THRESHOLD
|
|
RRSX DEC 0B23 # CALCULATED RANGE AT TIME
|
|
RRSY DEC 0 # OF RADAR RANGE MEASUREMENT.
|
|
RRSZ DEC 0
|
|
6K11 DEC 0.318310B0 # 1/PI
|
|
#
|
|
# INITIALIZE DATA FROM DOWNLINK ADDRESSES
|
|
# LOCATIONS 0240-0257 USED
|
|
1J1 DEC 0B23 # LM EPHEMERIS POS
|
|
1J2 DEC 0
|
|
1J3 DEC 0
|
|
DEC 0
|
|
2J1 DEC 0 # CSM EPHEMERIS POS
|
|
2J2 DEC 0
|
|
2J3 DEC 0
|
|
DEC 0
|
|
DEC 0
|
|
DEC 0
|
|
DEC 0
|
|
DEC 0
|
|
|
|
# Page 7
|
|
1J7 DEC 0B18 # LM EPOCH TIME
|
|
1J7LS DEC 0B1
|
|
DEC 0
|
|
DEC 0
|
|
THETAR EQU 2J3+4 # RADAR ANTENNA TRUNNION ANGLE
|
|
BETAR EQU 2J3+5 # RADAR ANTENNA SHAFT ANGLE
|
|
RM EQU 1J7 # RADAR RAW RANGE INPUT
|
|
RMDOT EQU 1J7+1 # RADAR RANGE RATE INPUT
|
|
DEL46 EQU 1J7+2 # RADAR COMPOSITE WORD
|
|
1J4 DEC 0B13 # LM EPHEMERIS VEL
|
|
1J5 DEC 0
|
|
1J6 DEC 0
|
|
VPY DEC 0B13 # OUT-OF-PLANE VELOCITY
|
|
2J4 DEC 0 # CSM EPHEMERIS VEL
|
|
2J5 DEC 0
|
|
2J6 DEC 0
|
|
5K18 DEC -.1B-2 # RD3DOT LOWER LIMIT
|
|
VY0 DEC 0B13 # LM OUT-OF-PLANE VEL
|
|
VY0FS DEC 200B13 # MAX VY0 DISPLAYABLE
|
|
2J7 DEC 0 # CSM EPOCH TIME
|
|
2J7LS DEC 0
|
|
7K1 DEC 30B18 # TIG TIME BIAS
|
|
1J DEC 0B18 # NOMINAL TPI TIME (CSI)
|
|
6K5 DEC -.73B0 # Y-POSITION FILTER WEIGHT
|
|
XI DEC 0B3 # Z-AXIS/LOCAL HORIZ ANGLE
|
|
A31BD DEC 0B1 # UNIT VECTOR (LM-CSM)
|
|
A32BD DEC 0
|
|
A33BD DEC 0
|
|
TLOS DEC 0B3 # DXFR LOS COMPUTED
|
|
THETAF EQU TLOS # LM-CSM CENTRAL ANG AT CSI/CDH
|
|
3K4 DEC .17365B1 # CENTRAL ANGLE LIMIT ON TPI
|
|
12J DEC -.299904B3 # PHASE ANGLE LIMIT FOR RETARGET
|
|
4J DEC 0B13 # TIME OF NODE PRIOR TO RENDEZ
|
|
6J DEC 2580.0B13 # DESIRED TRANSFER TIME
|
|
TDEL DEC 0B13 # TIME TIL NEXT MANEUVER
|
|
TR DEC 0B13 # TIME TIL RENDEZVOUS
|
|
3J DEC 0B13 # TARGET OFFSET TIME
|
|
|
|
# Page 8
|
|
6K12 DEC 9.38B4 # RAW RADAR AT 18 TO FT. AT 22
|
|
DELRP DEC 0B23 # DIFF. ALT. AT TIG(CSI-CDH)
|
|
QA DEC 0B23 # LM APOFOCUS ALTITUDE
|
|
18J DEC 0B22 # MEASURED RADAR RANGE
|
|
RR DEC 0B22 # COMPUTED RANGE
|
|
READP DEC 0
|
|
ENTERP DEC 0
|
|
HOLDP DEC 0
|
|
CLEARP DEC 0
|
|
HMF DEC 0
|
|
# START OF TELEMETRY LIST
|
|
RMF DEC 0 # READOUT MODE FLAG
|
|
DD DEC 0 # DEDA DATA
|
|
CMF DEC 0 # CLEAR MODE FLAG
|
|
A11T DEC 1.B1 # TM DIR COSINES
|
|
A12T DEC 0
|
|
A13T DEC 0
|
|
ADST DEC 0 # DEDA ADDRESS
|
|
A31T DEC 0
|
|
A32T DEC 0
|
|
A33T DEC 1.B1
|
|
H DEC 0B23 # ALTITUDE
|
|
RX DEC 0B23 # LM POSITION
|
|
RY DEC 0
|
|
RZ DEC 0
|
|
QL DEC 0B23 # PRESENT LM PERICYNTHION
|
|
EONS10 EQU QL # ENG ON+S10 FOR TM
|
|
RCX DEC 0B23 # CSM PRESENT POSITION
|
|
RCY DEC 0
|
|
RCZ DEC 0
|
|
RF DEC 0B23 # PREDICTED BURNOUT ALT.
|
|
DVX DEC 0B1 # BODY DELTA VS
|
|
DVY DEC 0 # THIS CYCLE.
|
|
DVZ DEC 0
|
|
TA2 DEC 0B1 # ABS TIME LS.
|
|
DAX DEC 0B-6 # DELTA ALPHAS
|
|
DAY DEC 0
|
|
|
|
# Page 9
|
|
DAZ DEC 0
|
|
TBO DEC 0B9 # TIME TO BURNOUT.
|
|
VX DEC 0B13 # LM VELOCITY
|
|
VY DEC 0
|
|
VZ DEC 0
|
|
MU8S12 DEC 0 # MU8/S12
|
|
VCX DEC 0B13 # CSM PRESENT VELOCITY
|
|
VCY DEC 0
|
|
VCZ DEC 0
|
|
HDOT DEC 0B13 # ALTITUDE RATE
|
|
VG DEC 0B13 # VELOCITY TO GAIN
|
|
VF DEC 0B13 # TRANSFER BRAKING VELOCITY
|
|
TA0 DEC 0B18 # TIME FROM CSI TO CDH
|
|
TIG DEC 0B18 # ABSOLUTE TIME OF MANEUVER
|
|
A11BD DEC 0B1 # CMD XB POINTING DIR
|
|
A12BD DEC 0
|
|
A13BD DEC 0
|
|
TA1 DEC 0B18 # ABS TIME MS.
|
|
S0 DEC 0 # AGS FUNCTION SELECTOR
|
|
DISC1C DEC 0 # DISCRETE WD 1-TRUE STATE
|
|
Q1DEDA DEC 8388500B23 # TRANS ORBIT PERICYN ALT
|
|
DELH EQU Q1DEDA # DIFF. ALT. AFTER CDH(CSI-CDH)
|
|
QLTELE DEC 0B23 # QL FOR TELE AND DEDA
|
|
VD1X DEC 0B13 # 40MS VEL ACCUMULATION
|
|
VD1Y DEC 0
|
|
VD1Z DEC 0
|
|
# END OF TELEMETRY LIST
|
|
DEL6 DEC 0 # CALIBRATE I.C. FLAG
|
|
S10 DEC 0 # GUIDANCE MODE SELECTOR
|
|
S11 DEC 0 # AUTO RADAR SWITCH
|
|
S12 DEC 0 # TEST STATUS
|
|
S13 DEC 0 # STORE LUNAR AZIMUTH
|
|
S14 DEC 0 # NAVIGATION INITIALIZE
|
|
S15 DEC 0 # RADAR GIMBAL NULL
|
|
RDOTS EQU S15 # R. R. STORED AT RADAR INPUT
|
|
S16 DEC 0 # CDH APSIDAL SELECTION
|
|
S17 DEC 0 # RADAR FILTER INIT. SWITCH
|
|
|
|
# Page 10
|
|
VEX DEC 0B13 # CSM EPOCH VEL
|
|
VEY DEC 0
|
|
VEZ DEC 0
|
|
RFDOT DEC 0B13 # DESIRED ALT RATE
|
|
V0X DEC 0B13 # PRED EPOCH VEL VECTOR
|
|
V0Y DEC 0
|
|
V0Z DEC 0
|
|
I EQU V0X # MXM INDEX
|
|
J EQU V0Y # MXM INDEX
|
|
K EQU V0Z # MXM INDEX
|
|
VH DEC 0B13 # LM HORIZONTAL VEL
|
|
# VIX,VIY,VIZ ARE SHARED WITH RR FILTER
|
|
VIX DEC 0B13 # ELLIPSE PRED VEL OUTPUT
|
|
VIY DEC 0
|
|
VIZ DEC 0
|
|
V DEC 0B13 # LM TOTAL VELOCITY
|
|
TP DEC 0B13 # TRIAL XFR ORB. TIME.
|
|
T DEC 0B13 # TIME TO RENDEZ.
|
|
RB EQU T # RF SAVED FOR ORBIT INSERT.
|
|
TB DEC 0B13 # TA-TE.
|
|
PDOTM1 DEC 0B13 # DISPLAY POS RATE(-1)
|
|
RRDOT DEC 0B13 # RANGE RATE
|
|
1000D DEC 1000B17 # RANGE MARK COUNTER INCREMENT
|
|
TI DEC 0B13 # PREDICTION TIME/RR FILTER TEMP
|
|
DPDOUT DEC 0B13 # DISPLAY POS RATE INCREMENT
|
|
PDOUT DEC 0B13 # DSP POS RATE CONV TO FPS AT 13
|
|
TCSM DEC 0B13 # CSM PERIOD (SEC)
|
|
4K25 DEC 3.402B13 # ENG CUTOFF COMP
|
|
2K18 DEC 15.B13 # PARTIAL DERIV PROTECTOR.
|
|
28J1 DEC 0B13 # DELTA V DOWNRANGE
|
|
28J2 DEC 0B13 # DELTA V CROSSRANGE
|
|
28J3 DEC 0B13 # DELTA V RADIAL
|
|
2K20 DEC 2.B13 # CONVERGENCE CHECK.
|
|
4K26 DEC 70.0B13 # VG THRESHOLD
|
|
DDF DEC 0 # DEDA DATA RECEIVED FLAG
|
|
6K4 DEC .1E3B10 # INITIAL VALUE OF P33 AND P44
|
|
6K2 DEC .1E9B30 # INIT VALUE OF P11,P22
|
|
|
|
# Page 11
|
|
V5X DEC 0B13 # TPI-PREDICTED V AT TPI TIME
|
|
V5Y DEC 0
|
|
V5Z DEC 0
|
|
TR4 EQU V5X # NO. OF COL IN MATRIX A
|
|
TR6 EQU V5Y # NO. OF ROWS IN MATRIX B
|
|
TR5 EQU V5Z # NO. OF ROWS IN MATRIX A
|
|
VHA DEC 0B13
|
|
22J DEC 50B13 # PITCH STEERING ALT RATE THRESH
|
|
23J DEC 19.5B13 # RFDOT LOWER LIMIT
|
|
5K26 DEC 15B13 # PSEUDO ATT HOLD IN STEER
|
|
PART DEC 0B14 # PARTIAL DERIVATIVE
|
|
VDX DEC 0B13 # VD1 AT NAV UPDATE
|
|
VDY DEC 0
|
|
VDZ DEC 0
|
|
4K27 DEC -8000.0B13 # OVERFLOW PROTECTION FOR VD1X
|
|
VSMGX DEC 0B13 # VD1 CUTOFF
|
|
VSMGY DEC 0
|
|
VSMGZ DEC 0
|
|
RADOT DEC 0B13 # PRED. RDOT AT TIG
|
|
DELVGX DEC 0B13 # THRUST VEL TO GAIN
|
|
DELVGY DEC 0
|
|
DELVGZ DEC 0
|
|
17J DEC 0B13 # RANGE RATE INPUT
|
|
RD3DOT DEC 0B-2 # DESIRED RADIAL JERK
|
|
YD3DOT DEC 0B-2 # DESIRED OUT-OF-PLANE JERK
|
|
4K12 DEC 5B7 # ACCEL THRESH IN O.I. STEER
|
|
S507 DEC 0B3 # ACQ STEER SEL OF PT DIR
|
|
DAXREM DEC 0B-13 # INCRE. GYRO INPUT REMAINDERS
|
|
DAYREM DEC 0
|
|
DAZREM DEC 0
|
|
C1 DEC 0B1 # RENDEZ ANGLE COSINE.
|
|
WBX DEC 0B1 # UNIT VECTOR FOR
|
|
WBY DEC 0 # GUIDANCE STEERING
|
|
WBZ DEC 0
|
|
6K14 DEC -15768B14 # RADAR RANGE RATE NULL
|
|
TE1 DEC 0B18 # CSM EPOCH TIME MS.
|
|
TL1 DEC 0B18 # LEM EPOCH TIME MS.
|
|
|
|
# Page 12
|
|
6K6 DEC -.001B-8 # Y-VELOCITY FILTER WEIGHT
|
|
5K20 DEC 0B-2 # RD3DOT LOWER LIMIT
|
|
TE2 DEC 0 # CSM EPOCH TIME LS.
|
|
TL2 DEC 0 # LEM EPOCH TIME LS.
|
|
2K11 DEC 6000B13 # VF IF OVERFLOW
|
|
4K6 DEC 80.B13 # RFDOT UPPER LIMIT
|
|
DAXA DEC 0B-6 # ALIGN INCREMENTS
|
|
DAYA DEC 0
|
|
DAZA DEC 0
|
|
DISC1 DEC 0 # DISCRETE WORD
|
|
1K18 DEC .003125B-8 # ACCEL SCALE FACTOR
|
|
1K20 DEC .003125B-8
|
|
1K22 DEC .003125B-8
|
|
1K14 DEC 0B-14 # X-AXIS MASS UNBAL COMP
|
|
1K19 DEC 0B1 # ACCEL BIAS
|
|
1K21 DEC 0B1 # COMPENSATION
|
|
1K23 DEC 0B1
|
|
DSPSC DEC 0 # DISPLAY SHIFT COUNTER
|
|
1K1 DEC 0B-13 # GYRO BIAS
|
|
1K6 DEC 0 # COMPENSATIONS
|
|
1K11 DEC 0
|
|
DDEL DEC 0B0 # LUNAR ALIGN CORRECTION
|
|
1K3 DEC 0B-7 # GYRO SCALE FACTOR
|
|
1K8 DEC 0 # COMPENSATIONS
|
|
1K13 DEC 0
|
|
HRF DEC 0 # HIGH RATE FLAG
|
|
A31S DEC 0B1 # RADAR NULL DIR COS
|
|
A32S DEC 0
|
|
A33S DEC 0
|
|
4K4 DEC .004B-7 # FACTOR IN RFDOT(OI)
|
|
5K14 DEC 0B-2 # RD3DOT UPPER LIMIT
|
|
5K16 DEC .01B-2 # YD3DOT UPPER LIMIT
|
|
DLWN DEC 0 # DOWNLINK WORD COUNTER
|
|
DEL32 DEC 0 # DOWNLINK INITIALIZE FLAG
|
|
6K8 DEC .22B10 # RANGE RATE ERROR VARIANCE
|
|
# (ADDR OF 6K8 MUST END IN 4)
|
|
6K9 DEC .3029E-4B-4 # VARIANCE OF RADAR ANGULAR ERROR
|
|
|
|
# Page 13
|
|
6K10 DEC .625E7B28 # RANGE ERROR VARIANCE
|
|
DSPF1 DEC 0 # DISPLAY FLAG1.
|
|
ID1F DEC 0 # DOWNLINK ID RECEIVED
|
|
DEL31 DEC 0 # DOWNLINK INPUT COMPLETE
|
|
FLAGT DEC 0 # MEMORY TEST
|
|
FLAG1 DEC 0 # 20MS BRANCH CONTROL
|
|
DEL2 OCT 0 # STAGED FLAG.
|
|
DEL5 OCT 0 # ATTHLD LOCK FLAG.
|
|
PI DEC 3.14159266B3
|
|
6K13 DEC -1.59286B1 # RADAR RANGE RATE TO FPS AT 13
|
|
DVGXX DEC 0B13 # VEL TO GAIN IN EXT DELTA V
|
|
DVGXY DEC 0
|
|
DVGXZ DEC 0
|
|
DEL20 DEC 0 # LOGIC FLAG FOR ENG CONTROL
|
|
DEL21 OCT 0 # LUNAR SURFACE FLAG.
|
|
2J DEC 1.9970B7 # COTAN OF DESIRED LOS AT TPI
|
|
DEL42 OCT 0 # LUNAR ALINE COMPLETE FLAG
|
|
DEL45 EQU DEL42 # RR RANGE/RANGE RT. UPDATE FLAG
|
|
K55 OCT 377777 # S.F. FOR HDOT DISPLAY
|
|
MU3 DEC 0 # P-ITER COUNTER.
|
|
RD3DTL EQU MU3 # RD3DOT LOWER LIMIT
|
|
5K17 DEC -.01B-2 # YD3DOT LOWER LIMIT
|
|
MU6 DEC 0 # STAGING COUNTER
|
|
1K37 DEC 15.B17 # ACCEL CAL DURATION
|
|
MU8 DEC 0 # ULLAGE COUNTER
|
|
MU10 DEC 0 # GYRO CALIBRATE DURATION
|
|
1K9 DEC 5.0B17 # ULLAGE COUNTER LIMIT
|
|
1K30 DEC 150.B17 # GYRO CALIBRATE DURATION
|
|
2K17 DEC 5.B17 # NO OF P-ITERATIONS-3
|
|
MU19 DEC 0 # MARK COUNTER
|
|
4K23 DEC 62.0B17 # STAGING TIME DELAY
|
|
S623 DEC 0B3 # EX SELECTION IN G. S
|
|
1K4 DEC .1B0 # DISPLAY INTERPOLATION
|
|
1K24 DEC .87E-3B1 # SINGULARITY THRESHOLD
|
|
1K26 DEC -.142857E3B8 # NEG INV OF ALIGN GAIN CONSTANT
|
|
1K27 DEC .435E-1B-4 # ALIGN CONSTANT
|
|
1K28 DEC 107.78396B7 # ALIGN CONSTANT
|
|
|
|
# Page 14
|
|
1K29 DEC .001B-4 # LUN ALIGN STOP CRITERION
|
|
1K33 DEC .08B-3 # CALIBRATE GAIN
|
|
1K34 DEC .00002B-15 # CALIBRATE GAIN
|
|
1K35 DEC .25B7 # ACCEL BIAS THRESHOLD
|
|
1K36 DEC -.66667E-3B0 # ACCEL CAL GAIN
|
|
2K1 DEC .173189E15B48 # GRAVITY CONST (LUNAR)
|
|
2K2 DEC .57740387E-14B-47 # 1/2K1
|
|
6J1 DEC .3358E-8B-14 # LUNAR ROT RATE ABOUT X-REF
|
|
6J2 DEC -.53039E-7B-14 # LUNAR ROT RATE ABOUT Y-REF
|
|
6J3 DEC .3052E-8B-14 # LUNAR ROT RATE ABOUT Z-REF
|
|
B13SF DEC .10416666B0 # .01 MIN TO SEC AT 13
|
|
SDVX DEC 0B1 # DV SUM FOR ACCEL CAL
|
|
SDVY DEC 0 # (ADDR OF SDVX MUST END IN 4)
|
|
SDVZ DEC 0
|
|
MU7 DEC 0B17 # CALIBRATION COUNTER
|
|
7K2 DEC 2B17 # NOISEIN P-MATRIX DIAGONALS
|
|
B13VSF DEC .625B0 # .1 FPS TO FPS AT 13
|
|
B3SF DEC .34971155B0 # .01 DEG TO RAD AT 3
|
|
B23RSF DEC .10533045B0 # .1 NMI TO FT AT 23
|
|
4K2 DEC -.50204E-4B-12 # FACTOR IN TB COMP
|
|
4K3 DEC .16803E-8B-25 # FACTOR IN TB COMP
|
|
B22RSF DEC .5266522B0 # .01 NMI TO FT AT 22
|
|
BACCSF DEC 0.762939B0 # .001 FT/SEC2 TO FPS/20MS AT 1
|
|
4K34 DEC 1.B7 # AT LOWER LIMIT
|
|
4K35 DEC .1B7 # ULLAGE THRESHOLD
|
|
4K10 DEC -317438.91B20 # TERM IN AL(O.I.)
|
|
SUMLIM DEC 0 # LAST CELL FOR CHECKSUM
|
|
WORDS DEC 28
|
|
B18SF DEC .333333B0 # .1 MIN TO SEC AT 18
|
|
4K21 DEC .26179938B2 # SC FACTOR FOR ATT ERR OUTPUT
|
|
M25B16 DEC -25.B16 # CYCLE COUNT TO SECONDS
|
|
DTB DEC 1.25B1 # 1 SEC + DEDA TIME BIAS
|
|
ID DEC 0 # CURRENT DOWNLIST ID CODE
|
|
DLWNL STO 1J1+15 # END OF DOWNLINK BUFFER
|
|
11J DEC -624599.84B20 # RETARGET VALUE FOR 4K10
|
|
2K4 DEC -.173189E15B48 # (-2.)(2K1) B49
|
|
KDT DEC 1.B1 # DELTA T/2 AT 1
|
|
|
|
# Page 15
|
|
BM13SF DEC .96049535B0 # .01 DEG/HR TO RAD/20MS AT -13
|
|
B23SF DEC .64B0 # 100 FT TO FT AT 23
|
|
# THE FOLLOWING 16 PARAMETERS HAVE
|
|
# VARIABLE SCALING. INITIAL SCALING IS INDICATED.
|
|
P11 DEC .1E9B30 # VARIANCE OF X-POS ERROR
|
|
P12 DEC 0B30 # COVARIANCE OF X AND Y POS ERROR
|
|
P13 DEC 0B20 # COVAR OF X-POS AND X-VEL ERROR
|
|
P14 DEC 0B20 # COVAR OF X-POS AND Z-VEL ERROR
|
|
P21 DEC 0B30 # COVAR OF X AND Z POS ERROR
|
|
P22 DEC .1E9B30 # VARIANCE OF Z-POS ERROR
|
|
P23 DEC 0B20 # COVAR OF Z-POS AND X-VEL ERROR
|
|
P24 DEC 0B20 # COVAR OF Z-POS AND Z-VEL ERROR
|
|
P31 DEC 0B20 # COVAR OF X-POS AND X-VEL ERROR
|
|
P32 DEC 0B20 # COVAR OF Z-POS AND X-VEL ERROR
|
|
P33 DEC .1E3B10 # VARIANCE OF X-VEL ERROR
|
|
P34 DEC 0B10 # COVAR OF X-VEL AND Z-VEL ERROR
|
|
P41 DEC 0B20 # COVAR OF X-POS AND Z-VEL ERROR
|
|
P42 DEC 0B20 # COVAR OF Z-POS AND Z-VEL ERROR
|
|
P43 DEC 0B10 # COVAR OF X-VEL AND Z-VEL ERROR
|
|
P44 DEC .1E3B10 # VARIANCE OF Z-VEL ERROR
|
|
VRSH STQ SREX2
|
|
LRS 0
|
|
TRA SREX2
|
|
TMID DEC 0 # TELEMETRY ID
|
|
SFLO OCT 000026
|
|
PMAXP OCT 377777 # COUNTS AT 17
|
|
ORBRET TRA DX10P # RETURN FROM NORTON IN O.I.
|
|
DEDASC DEC 0 # DEDA SHIFT COUNTER
|
|
#
|
|
#
|
|
EX36P STQ DEL10
|
|
# SAVE QUANTITIES FOR LATER USE IN
|
|
# T/B COMPUTATIONS
|
|
STO V6Z
|
|
CLA TS12
|
|
STO V6X
|
|
CLA TS13
|
|
|
|
# Page 16
|
|
STO V6Y
|
|
CLA TI
|
|
SUB 4J
|
|
TRA DXFR14-2
|
|
RREX CLA TS0 # VARIABLE ADDRESS LOAD, MULTIPLY
|
|
RREX1 MPY TS0 # AND STORE FOR MATRIX MULTIPLY
|
|
DVP 1B3 # ROUTINE (MXM) -- PERFORMS
|
|
ADZ TR8 # C(I,J)=C(I,J)+A(K,I)*B(J,K)
|
|
RREX2 STO TS0
|
|
STO TR8 # C(I,J)=C(I,J)+A(K,I)*B(J,K)
|
|
CLA RREX
|
|
ADD TR4 # INCREMENT CLA
|
|
STO RREX
|
|
CLA RREX1
|
|
ADD 1B17 # INCREMENTY MPY
|
|
STO RREX1
|
|
AXT 2,1 # INCREMENT AND TEST INDEXES
|
|
CLA I,1
|
|
ADD 1B17
|
|
STO I,1
|
|
SUB TR4,1
|
|
TMI R1+1
|
|
TIX *-5,1
|
|
CLA TR6 # REARRANGE DIMENSIONS AND
|
|
STO TR4 # ADDRESSES ON EXIT TO SAVE
|
|
CLA TR3 # STEPS IN FILTER
|
|
STO TR1
|
|
AXT 7,1
|
|
TRA PP # EXIT MXM
|
|
DIAK1 OCT 377363 # TEST FOR DEDA ENTRY INTO 415
|
|
DIAK2 OCT 377401 # TEST FOR DEDA ENTRY INTO 377
|
|
6K8S DEC .22B10 # WORKING VALUE OF 6K8
|
|
# (ADDR OF 6K8S MUST END IN 4)
|
|
6K9S DEC .3029E-4B-4 # WORKING VALUE OF 6K9
|
|
6K10S DEC .625E7B28 # WORKING VALUE OF 6K10
|
|
6K6S DEC 0 # WORKING VALUE OF 6K6
|
|
#
|
|
|
|
# Page 17
|
|
#
|
|
ORG 1000
|
|
CLADD DEC 0 # PICKUP DEDA DATA
|
|
TRA ROR
|
|
RND STQ SREX # DIRECTION COSINE ROUND
|
|
ADD 1B9
|
|
LRS 9
|
|
TRA SREX
|
|
TMCLA CLA 0324 # CLA FOR TELEM
|
|
TCLTH CLA 1005
|
|
DLSTO STO 1J1-1
|
|
IC1BR TRA IC1 # IC1 TRA.
|
|
BR1 TRA NAV1P
|
|
DEDABR TRA DEDAE # DEDA BRANCH TRA.
|
|
BR50 TRA EXEC2 # BRANCH 50 TRA.
|
|
#
|
|
# HARDWIRE ESCAPE POINTS
|
|
#
|
|
EXIT1 TRA EX1+1
|
|
EXIT2 TRA UBCOMP
|
|
EXIT3 TRA ADDMS
|
|
EXIT4 TRA EX4+1
|
|
EXIT5 TRA PGNSDE
|
|
EXIT6 TRA TME
|
|
EXIT7 TRA PGNSD1+5
|
|
EXIT8 TRA EX8+1
|
|
EXIT9 TRA TVTG
|
|
EXIT10 TSQ SOFT1
|
|
EXIT11 TSQ SOFT1 # ASCENT ENG ON
|
|
EXIT12 TRA AHE1
|
|
EXIT13 TRA EROUT+1
|
|
EXIT14 TSQ SOFT2
|
|
EXIT15 TRA LUNAL1 # GAIN CHANGE
|
|
EXIT16 TRA EX16+1
|
|
EXIT17 TRA FDAI1
|
|
EXIT18 TRA NOC
|
|
EXIT19 TRA DELAY
|
|
|
|
# Page 18
|
|
EXIT20 TRA DLDC
|
|
EXIT21 TRA TIMEA
|
|
EXIT22 TRA IDLE-1
|
|
O25C OCT 377747 # TEST FOR TM RESET
|
|
EXIT23 CLZ VD1X
|
|
CLZ VD1Y
|
|
CLZ VD1Z
|
|
TRA NAV3
|
|
EXIT24 TRA NAV2
|
|
EXIT25 TRA NAV3
|
|
SINITC CLA 4K27
|
|
STO VD1X
|
|
STO VDX
|
|
TRA EXEC1+7
|
|
EXIT26 TRA XDVS
|
|
EXIT27 TRA EX27+1
|
|
EXIT28 TRA EX28+1
|
|
STGCTR CLZ MU6 # STAGING DELAY COUNTER
|
|
ADD 1B17
|
|
STO MU6
|
|
TRA AHE
|
|
EXIT29 TRA EX29+1
|
|
CLATAB CLA SFTAB-1 # CLA FOR DEDA SF TABLE
|
|
EXIT30 TRA EX30+1
|
|
EXIT31 TRA ALTUP
|
|
EXIT32 TRA LMORB2
|
|
EXIT33 TRA EX33P
|
|
EXIT34 TRA EX34P
|
|
EXIT35 TRA EX35
|
|
EXIT36 TSQ EX36P
|
|
EXIT37 TRA EX35+1
|
|
EXIT38 TRA Q5
|
|
EXIT39 TRA EXECM
|
|
EXIT40 CLZ S0 # SOFT INITIALIZE
|
|
CLZ DEL5
|
|
CLZ FLAGT
|
|
AXT 7,1 # ZERO S SWITCHES
|
|
|
|
# Page 19
|
|
CLZ S10,1
|
|
TIX *-1,1
|
|
TRA SINITC # CONTINUE INITIALIZE
|
|
EXIT41 TRA DSP1
|
|
EXIT42 TRA DSP2CP
|
|
EXIT43 ADD O25C # CHECK FOR TM RESET
|
|
ABS
|
|
TMI TMIE1 # -- RESET TM AT 25 CYCLE
|
|
TRA EXEC1+4 # NOT 25TH CYCLE
|
|
IDAI OCT 077776 # AGS INITIALIZE DOWNLIST ID
|
|
IDRP OCT 077775 # REND./PRETHRUST DOWNLIST ID
|
|
EXIT44 TRA EX44+1
|
|
EXIT45 TRA EX45+1
|
|
EXIT46 TRA EX46+1
|
|
EXIT47 TRA DEXIT
|
|
EXIT48 TRA CLEARM+1
|
|
EXIT49 TRA SFTEST
|
|
EXIT50 TRA EX50+1
|
|
EXIT51 TSQ DIAT
|
|
EXIT52 TRA EXEC+1
|
|
EXIT53 TRA EXEC+1
|
|
DLWNLC STO 1J1+15 # DLWNL PROTECTION
|
|
ADDMS AXT 2,1
|
|
CLA TS10,1
|
|
ABS
|
|
ADD MS
|
|
TIX *-3,1
|
|
TRA EX3+1
|
|
EX34P CLZ DEL10
|
|
TMI EX33PP+1
|
|
TRA EX34+1
|
|
THEF CLA RF
|
|
LRS 1 # B24
|
|
ADZ TS3
|
|
LDQ TS4
|
|
STO TS4 # =RF+RX B24
|
|
STQ TS3 # =RZ B24
|
|
|
|
# Page 20
|
|
TSQ ARCTAE
|
|
STO TS0 # THETAF B8
|
|
SUB PI
|
|
TMI *+2
|
|
SUB 2PIB3
|
|
ADD PI
|
|
STO THETAF # THETAF B3
|
|
CLA TS0 # B3
|
|
SUB 2PIB3
|
|
MPY M1B1 # B4
|
|
DVP NI
|
|
ADD TI # B13
|
|
TRA DXFR14-2
|
|
TMIE1 TSQ TMIE2 # INITIALIZE TELEMETRY
|
|
CLA S12
|
|
ADD MU8
|
|
STO MU8S12 # SAVE MU8/S12 FOR TM
|
|
SUB 3B3 # TEST FOR SELF TEST FAILURE
|
|
TMI *+2
|
|
OUT 6410 # SET FAILURE INDICATOR
|
|
TRA DELAY # END MAJOR CYCLE
|
|
#
|
|
# DEDA SCALE FACTOR LOCATOR TABLE
|
|
# SCALE FACTORS MUST REMAIN AT LOCS IN COMMENTS
|
|
# FORMAT OF TABLE IS, BIT 0=1 TABLE EXCEEDED,
|
|
# BITS 1-9 LAST ADDRESS OF DEDA SCALE FACTOR REGION
|
|
# BIT 10=1 FOR OCTAL REGION, BITS 11-17 ADDRESS OF
|
|
# SCALE FACTOR RELATIVE TO LOCATION 636
|
|
SFTAB OCT 075200 # OCT LOC 026-172,OCT
|
|
OCT 125441 # OCT LOC 173-253,DEC,SF AT 677
|
|
OCT 127427 # OCT LOC 254-257,DEC,SF AT 665
|
|
OCT 134413 # OCT LOC 260-271,DEC,SF AT 651
|
|
OCT 137027 # OCT LOC 272-276,DEC,SF AT 665
|
|
OCT 142414 # OCT LOC 277-305,DEC,SF AT 652
|
|
OCT 145405 # OCT LOC 306-313,DEC,SF AT 643
|
|
OCT 146415 # OCT LOC 314-315,DEC,SF AT 653
|
|
OCT 147420 # OCT LOC 316-317,DEC,SF AT 656
|
|
|
|
# Page 21
|
|
OCT 157415 # OCT LOC 320-337,DEC,SF AT 653
|
|
OCT 164441 # OCT LOC 340-351,DEC,SF AT 677
|
|
OCT 174413 # OCT LOC 352-371,DEC,SF AT 651
|
|
OCT 177427 # OCT LOC 372-377,DEC,SF AT 665
|
|
OCT 200600 # OCT LOC 400-401,OCT
|
|
OCT 202415 # OCT LOC 402-405,DEC,SF AT 653
|
|
OCT 207600 # OCT LOC 406-417,OCT
|
|
OCT 241413 # OCT LOC 420-503,DEC,SF AT 651
|
|
OCT 257600 # OCT LOC 504-537,OCT
|
|
OCT 261421 # OCT LOC 540-543,DEC,SF AT 657
|
|
OCT 263040 # OCT LOC 544-546,DEC,SF AT 676
|
|
OCT 305600 # OCT LOC 547-613,OCT
|
|
OCT 311067 # OCT LOC 614-622,DEC,SF AT 725
|
|
OCT 342200 # OCT LOC 623-704,OCT
|
|
# THE ABOVE 23-PLACE TABLE MUST BE FOLLOWED
|
|
# BY A WORD WITH BIT 0 SET
|
|
#
|
|
# ORBIT ALIGN COMPUTATIONS
|
|
#
|
|
ORBLIN AXT 6,1
|
|
CLZ A11,1
|
|
CLZ DA11,1 # ZERO REMAINDERS
|
|
TIX *-2,1
|
|
CLA 1B1
|
|
STO A11
|
|
STO A33
|
|
TRA COA21-2
|
|
#
|
|
# MASS UNBALANCE COMPENSATION
|
|
#
|
|
UBCOMP MPR 1K14 # (DVX)(1K14) 1+(-14)=-13
|
|
ADZ DAXREM
|
|
STO DAXREM
|
|
#
|
|
# 20MS MODE CHECK.
|
|
#
|
|
MODCK CLA S0 # CHECK FOR ALIGNMENT
|
|
|
|
# Page 22
|
|
SUB 3B3 # SUBMODES
|
|
TMI GYCOM-2 # -- IS INERT REF
|
|
SUB 1B3
|
|
TMI ZNOC # IMU ALIGN
|
|
SUB 1B3
|
|
TMI GYCOM-2 # -- IS LUNAR ALIGN
|
|
SUB 1B3
|
|
TMI ORBLIN # ORBIT ALIGN
|
|
AXT 2,1 # CALIBRATE MODE
|
|
CALIB1 CLA DEL21
|
|
TMI *+5 # -- LM IS ON LUNAR SURFACE
|
|
CLZ SDVX,1 # SUM BODY AXIS VEL
|
|
ADD DVX,1 # INCREMENTS SINCE START OF ACC.
|
|
STO SDVX,1 # BIAS CALCULATIONS
|
|
TRA CALIB2
|
|
CLA A11,1 # LUNAR CAL., COMPENSATE COMP.
|
|
MPR 6J1,1 # OF VEH ROT. FOR LUNAR ROTATION
|
|
ADZ DAXREM # 1+(-14)=-13
|
|
STO DAXREM # A11 DOT 6J1
|
|
CLA A21,1
|
|
MPR 6J1,1
|
|
ADZ DAYREM
|
|
STO DAYREM # A21 DOT 6J1
|
|
CLA A31,1
|
|
MPR 6J1,1
|
|
ADZ DAZREM
|
|
STO DAZREM # A31 DOT 6J1
|
|
CALIB2 TIX CALIB1,1
|
|
TRA GYCOM-2
|
|
#
|
|
# DEDA MODE SELECTION
|
|
#
|
|
DEDAE CLZ CLEARP
|
|
TMI CLEARM # SET CLEAR
|
|
CLA CMF
|
|
TMI RPT # CLEAR MODE
|
|
CLA RMF
|
|
|
|
# Page 23
|
|
TMI HET # READOUT IN PROGRESS
|
|
CLA HMF
|
|
TMI RRT # HOLD IN PROGRESS
|
|
DEXIT AXT 3,1 # NORMAL EXIT
|
|
TRA *+4
|
|
CLEARM STO CMF
|
|
INP DEDA
|
|
AXT 5,1 # CLEAR EXIT
|
|
CLZ READP,1 # RESET FLAGS
|
|
TIX *-1,1
|
|
CLZ TMPBR # SET BRANCH FOR NEXT
|
|
STO BRANCH # GUIDANCE CYCLE
|
|
CLA 1B11 # INITIALIZE COUNTER
|
|
STO DEDASC
|
|
TRA DSP1 # TO DISPLAY
|
|
RPT CLZ READP # TEST FOR
|
|
TMI RME # READOUT MODE
|
|
CLZ ENTERP # OR ENTER MODE
|
|
TMI RME+1 # ENTRY.
|
|
TRA DEXIT # EXIT
|
|
HET CLZ HOLDP # READOUT TEST FOR
|
|
TMI *+2 # HOLD COMMANDED
|
|
TRA ADOUT # TO OUTPUT ROUTINE
|
|
STO HMF # SET HOLD MODE
|
|
CLZ RMF
|
|
TRA DEXIT
|
|
#
|
|
# DEDA SCALE FACTOR SELECTION
|
|
#
|
|
SFTEST SUB SFLO
|
|
TMI CLEARM+1 # -- IF OCT LOC BELOW 0026
|
|
CLA CLATAB # INITIALIZE FIRST TABLE VALUE
|
|
STO VRSH+1 # STORE CLA INSTRUCTION
|
|
CLA VRSH+1 # INCREMENT CLA INSTRUCTION
|
|
ADD 1B17 # ADDRESS
|
|
STO VRSH+1
|
|
TSQ VRSH
|
|
|
|
# Page 24
|
|
TMI CLEARM+1 # -- IF OCT LOC ABOVE 704
|
|
LRS 8 # EXAMINE BITS 1-9 OF VALUE
|
|
SUB ADST # -- IF OCT LOC ABOVE VALUE,
|
|
TMI *-7 # CHECK NEXT VALUE IN TABLE
|
|
LLS 18 # RECOVER BITS 10-17 OF THIS VAL
|
|
TMI NOTDD # -- IF OCT REGION, NO SF REQ
|
|
LRS 10 # SCALE BITS 11-17 OF VAL
|
|
ADD TBRAKE # CONSTRUCT INSTRUCTION TO OBTAIN
|
|
STO VRSH+1 # SCALE FACTOR FOR THIS REGION
|
|
TSQ VRSH # OBTAIN SF FOR THIS REGION
|
|
STO SF # SET SCALE FACTOR
|
|
TRA DDIN # TO INPUT ROUTINE
|
|
DIAT AXT 1,1 # IMMEDIATE ACTION TEST
|
|
CLA ADST # IMMED. ACTION IF
|
|
ADD DIAK1,1 # ACCUMULATOR = 400000
|
|
ABS
|
|
TMI *+4
|
|
TIX DIAT+1,1
|
|
STQ DDF
|
|
TRA DEXIT
|
|
TIX ATI,1
|
|
LDQ *-2 # SET RETURN TO DEXIT
|
|
AXT 2,1
|
|
CLA RRX,1 # SAVE RANGE FOR FILTER
|
|
STO RRSX,1
|
|
CLA A31,1 # STORE DIRECTION COSINES
|
|
STO A31S,1
|
|
TIX *-4,1
|
|
CLA RRDOT
|
|
STO RDOTS
|
|
TRA EXIT
|
|
#
|
|
# DOWNLINK FORMATTING
|
|
#
|
|
DLDC AXT 2,1
|
|
CLZ 0244,1 # LEM VEL
|
|
STO 1J4,1
|
|
|
|
# Page 25
|
|
CLZ 0250,1 # CSM POS
|
|
STO 2J1,1
|
|
CLZ 0254,1 # CSM VEL
|
|
STO 2J4,1
|
|
TIX DLDC+1,1
|
|
CLZ 0247
|
|
LRS 14
|
|
ADZ 0243
|
|
STO 1J7
|
|
STQ 1J7LS
|
|
STO 2J7
|
|
STQ 2J7LS
|
|
TSQ CSMPV
|
|
TRA IC1+3
|
|
#
|
|
# DELTA V ACCUMULATION AND THRUST VEL TO GAIN.
|
|
#
|
|
TVTG AXT 2,1
|
|
CLA DVX,1 # 1
|
|
LRS 1 # TO 2
|
|
ADZ VD2X,1
|
|
STO VD2X,1
|
|
CLA DVXM1,1
|
|
LRS 1 # TO 2
|
|
ADZ VD2X,1
|
|
STO VD2X,1
|
|
LRS 11 # TO 13
|
|
STO TS1
|
|
ALS 11
|
|
COM
|
|
ADZ VD2X,1
|
|
STO VD2X,1 # REMAINDER AT 2
|
|
CLA VD1X,1 # DV EXPENDED MS.
|
|
ADZ TS1
|
|
STO VD1X,1 # VD1 AT 13
|
|
COM
|
|
ADD VSMGX,1 # VSMG-VD1
|
|
|
|
# Page 26
|
|
STO DELVGX,1 # THRUST VEL TO GAIN
|
|
CLZ EX,1
|
|
TIX TVTG+1,1
|
|
TRA EX9+1
|
|
#
|
|
# SOFT 40MS COMPUTATIONS
|
|
#
|
|
SOFT1 CLA S0 # TEST MODE
|
|
SUB 3B3
|
|
STO TS1 # SAVE
|
|
TMI IR # -- IS INTERT. REF.
|
|
ZERR CLA ZERO
|
|
OUT 6007 # ZERO ATTITUDE ERRORS
|
|
CLZ DEL5 # RESET ATT HOLD INIT FLAG
|
|
CLZ TS1
|
|
TMI ENCOM1 # -- IS INERTIAL REF
|
|
SUB 1B3
|
|
TMI SOFT3
|
|
SUB 1B3
|
|
TMI LUNAL
|
|
SOFT3 OUT 7040 # RESET ENG ON
|
|
OUT 6420 # SET ENG OFF
|
|
CLA ZERO # SET ENG TM FLAG PLUS
|
|
ADD S10
|
|
STO EONS10
|
|
TRA FDAI # TO ATTITUDE DISPLAY
|
|
ENCOM1 CLA DISC1 # FOLLUP ENG. COMMANDS
|
|
LLS 5
|
|
TMI *+4 # -- DESCENT ENG ON
|
|
LLS 1
|
|
TMI *+2 # -- ASCENT ENG ON
|
|
TRA SOFT3 # ENG OFF
|
|
OUT 7020 # RESET ENG OFF
|
|
OUT 6440 # SET ENG ON
|
|
CLA MS # SET ENG TM FLAG NG
|
|
TRA SOFT3+3
|
|
IR CLA S11 # TEST FOR AUTO RADAR DATA
|
|
|
|
# Page 27
|
|
ALS 3
|
|
TMI RADCK
|
|
STO DEL44 # SET/RESET CODE WORD FLAG
|
|
IR4 CLA DISC1
|
|
ALS 3
|
|
TMI IR1 # -- IS FOLLOWUP
|
|
ALS 1
|
|
TMI IR2 # -- IS AUTOMATIC
|
|
STQ DEL20
|
|
TRA AHE # TO ATT HOLD
|
|
IR1 CLA DISC1C
|
|
ALS 4
|
|
TMI ZERR # PLUS IS AUTOMATIC
|
|
CLZ DEL5
|
|
STQ DEL20
|
|
TRA MODE
|
|
RSTE CLA S623
|
|
ALS 3
|
|
TMI *+3
|
|
CLA WCX,1
|
|
TRA *+2
|
|
CLA WBX,1
|
|
MPR A31,1
|
|
COM
|
|
ADZ EX
|
|
STO EX
|
|
TIX RSTE,1
|
|
RST1 TRA RST
|
|
IR2 ALS 4
|
|
TMI IR3 # -- IS ABORT STAGE
|
|
CLA DEL21 # IF ON LUNAR SURFACE
|
|
TMI ZERR # OUTPUT ZERO ATT ERRORS
|
|
CLA DISC1
|
|
ALS 7
|
|
TMI MODE # -- IS ABORT
|
|
TSQ IR1+4
|
|
IR3 CLA DEL21
|
|
|
|
# Page 28
|
|
TMI AHE
|
|
CLA DISC1C
|
|
ALS 6
|
|
TMI MODE
|
|
CLA MU6
|
|
SUB 4K23
|
|
TMI STGCTR # STAGING ATT HOLD
|
|
MODE CLA S0 # TEST STEERING MODE
|
|
SUB 1B3
|
|
TMI AHE # ATT HOLD
|
|
AXT 2,1
|
|
SUB 1B3
|
|
TMI RSTE # RENDEZVOUS STEERING
|
|
CLZ DEL5 # ACQUISITION STEERING
|
|
MODE1 CLA WCX,1
|
|
MPR A11,1
|
|
ADZ EZ
|
|
STO EZ
|
|
CLA S507 # ORIENT LM Z-BODY ASIX
|
|
SUB 1B3 # IN DESIRED THRUST DIR.
|
|
TMI *+3 # OR ESTIMATED CSM DIR.
|
|
CLA A11BD,1
|
|
STO A31BD,1
|
|
CLA A31BD,1
|
|
MPR A11,1 # XB
|
|
ADZ EY
|
|
STO EY
|
|
CLA A31BD,1 # ZBD
|
|
MPR A21,1 # YB
|
|
COM
|
|
ADZ EX
|
|
STO EX
|
|
TIX MODE1,1
|
|
TRA EROUT
|
|
SOFT2 CLZ DEL20 # FIRST TIME FOLLOW
|
|
TMI ENCOM1 # PREVIOUS ENGINE STATE
|
|
CLA S0 # IF NOT GUIDANCE STEERING
|
|
|
|
# Page 29
|
|
ALS 3 # TURN ENGINE OFF
|
|
TMI *+2
|
|
TRA SOFT3
|
|
CLA MU8 # TEST FOR ULLAGE
|
|
SUB 1K9
|
|
TMI SOFT3
|
|
CLA 4K25 # TEST CEL TO BE
|
|
SUB DELVGX # GAINED GREATER THAN
|
|
TMI ENCOM1+6 # SHUTDOWN THRESHOLD
|
|
CLA 4K26
|
|
SUB VG
|
|
TMI ENCOM1+6
|
|
CLZ S0 # SET ATT HOLD
|
|
TRA SOFT3
|
|
RADCK STQ DEL32 # REINITIALIZE DOWNLINK
|
|
CLA IDRP # SET DOWNLIST ID TO REND/PRETHRJ
|
|
STO ID
|
|
CLA DEL46 # IS CODE WORD RESET
|
|
ALS 1
|
|
ABS
|
|
TMI IR+3
|
|
ADD 1B12 # IS CODE WORD SET
|
|
ABS
|
|
TMI *+2 # YES IF NEGATIVE
|
|
TRA IR4
|
|
CLZ DEL44 # HAS CODE WORD BEEN RESET
|
|
TMI *+2 # PRIOR TO BEING SET
|
|
TRA IR4 # NO
|
|
TOV *+1
|
|
AXT 1,1 # IF SHAFT OR TRUNNION
|
|
CLA THETAR,1 # ANGLE IS GREATER
|
|
ALS 4 # THAN 11.2 DEG, THEN
|
|
TOV IR4 # DO NOT PROCESS
|
|
TIX *-3,1
|
|
CLZ DEL45 # ALTERNATE RANGE, RATE
|
|
TMI IR6
|
|
STQ DEL45
|
|
|
|
# Page 30
|
|
CLZ RM # RANGE ENTRY
|
|
LRS 18
|
|
CLZ DEL46 # TEST FOR HIGH SCALING
|
|
TMI *+2
|
|
LRS 3 # LOW SCALE
|
|
LLS 17
|
|
MPR 6K12 # COUNTS TO FEET AT 22
|
|
STO 18J
|
|
TRA *+5
|
|
IR6 CLZ RMDOT # RANGE RATE ENTRY
|
|
SUB 6K14 # NULL AT 17000
|
|
DVP 6K13 # COUNTS TO FT/SEC AT B13
|
|
STO 17J
|
|
TSQ DIAT+10 # SAVE REL RNG VECT, REL VEL
|
|
AXT 2,1
|
|
IR5 CLA A21,1 # B1, ADJUST Z BODY FOR SHAFT
|
|
MPR THETAR # B1+B0=B1, AND TRUNNION ANGLES
|
|
DVP 6K11 # B1-B0=B1
|
|
STO A31S,1 # B1
|
|
CLA A11,1 # B1
|
|
MPR BETAR # B1+B0=B1
|
|
DVP 6K11 # B1-B0=B1
|
|
SUZ A31S,1 # B1
|
|
ADD A31,1
|
|
STO TS14,1 # XB*BETAR/6K11-YB*THETAR/6K11+ZB
|
|
TIX IR5,1
|
|
TSQ NORMV
|
|
AXT 2,1
|
|
CLZ TS10,1 # MOVE NORMALIZED DIRECTION
|
|
STO A31S,1 # INTO ZB*
|
|
TIX *-2,1
|
|
TRA 4711 # EXIT TO DEDA DISCRETE SAMPLING
|
|
LUNAL1 CLZ DAYA # CHANGE GAIN
|
|
LRS 2 # 1/4
|
|
STO DAYA
|
|
CLZ DAZA
|
|
LRS 2
|
|
|
|
# Page 31
|
|
STO DAZA
|
|
TRA SOFT3
|
|
#
|
|
# START OF NAVIGATION
|
|
#
|
|
NAV1P CLA DEL21
|
|
TMI NAV1 # -- IS ON LUNAR SURFACE
|
|
CLA VD1X # COMPUTE THRUST ACCEL
|
|
SUB VDX # 13
|
|
ALS 5 # 1/2(VD1-VD) AT 7
|
|
TRA 5166 # TO HARD NAV
|
|
XDVS AXT 2,1
|
|
CLA DVSX,1
|
|
ADD 1B12
|
|
LRS 6
|
|
ADZ DQSX,1
|
|
STO DQSX,1
|
|
CLA VD1X,1
|
|
STO VDX,1
|
|
TIX XDVS+1,1
|
|
TRA NAV4
|
|
ALTUP TSQ EXEC
|
|
#
|
|
AXT 2,1
|
|
CLA REX,1 # SAVE REX FROM FILTER
|
|
STO VIX,1 # SCRATCH MATRIX C AREA
|
|
CLA 25J # ALTITUDE ENTRY TEST
|
|
SUB 1B17
|
|
TMI FLTR # IF NO 25J ENTRY
|
|
CLA 25J
|
|
ADD 5J
|
|
STO R # R=5J+25J
|
|
MPY U1X,1
|
|
LLS 1
|
|
STO RX,1 # NEW R COMPONENTS
|
|
#
|
|
# RANGE AND RANGE RATE COMPUTATIONS
|
|
|
|
# Page 32
|
|
#
|
|
FLTR CLA RCX,1 # RELATIVE RANGE
|
|
SUB RX,1
|
|
STO RRX,1
|
|
STO TS4,1
|
|
TIX ALTUP+2,1
|
|
CLZ 25J
|
|
TSQ DPVMAG # DP COMP OF RR MAG
|
|
ALS 1
|
|
STO RR # B22 RANGE VECTOR MAG
|
|
CLA 2K1 # 48
|
|
LRS 5 # 53
|
|
DVP R # 30
|
|
DVP R # 7
|
|
DVP R # -16
|
|
DAD STO D11 # 2K1/R**3 B-16
|
|
AXT 7,1
|
|
CLZ C11,1 # ZERO PHI,M
|
|
CLZ C31,1
|
|
TIX *-2,1
|
|
CLZ RRDOT # ZEROED FOR SUM
|
|
AXT 2,1
|
|
FLTRA CLA RRX,1
|
|
DVP RR
|
|
STO A31BD,1 # B1 UNIT POINTING VECTOR
|
|
CLA VCX,1 # B13
|
|
SUB VX,1
|
|
STO TS4,1 # B13 RANGE RATE CSM-LM
|
|
MPR A31BD,1
|
|
ALS 1
|
|
ADZ RRDOT
|
|
STO RRDOT
|
|
CLA U1X,1
|
|
MPR U1X,1 # B2
|
|
MPR 3B3
|
|
SUB 1B5
|
|
MPR D11
|
|
|
|
# Page 33
|
|
STO C31,1 # ADT,JDT AT B-7
|
|
CLA 4B17
|
|
STO TR4,1 # SET UP DIMENSION FOR MXM
|
|
TIX FLTRA,1
|
|
LDQ 1B3 # COMMON SETUP OF PHI AND M
|
|
STQ C11
|
|
STQ C22
|
|
STQ C44
|
|
CLA PAD # COMMON ADDR SETUP FOR
|
|
STO TR1 # PHI*P*PHI(T) AND M*P*M(T)
|
|
CLA CAD
|
|
STO TR2
|
|
CLA DEL21 # BYPASS FILTER IF ON SURFACE TO
|
|
TMI FLTRX # AVOID CONFLICT WITH D44, SIDELL
|
|
#
|
|
PUPDAT CLZ MU17 # ZERO MU17 IF FILTER TIME
|
|
ADD 1B3
|
|
TMI FLTRTM
|
|
STO MU17
|
|
FLTRD CLA 17J
|
|
ABS
|
|
SUB 1B17
|
|
TMI FLTRH # NO RATE CHECK RANGE
|
|
RATE CLZ 17J
|
|
SUB RDOTS
|
|
STO DELR1 # B13
|
|
AXT 2,1
|
|
FLTRE CLA RRDOT # B13
|
|
MPR A31BD,1 # B14
|
|
DVP M1B1
|
|
ADD TS4,1 # B13
|
|
MPY 1B2 # SCALE AT B15
|
|
DVP RR # B22
|
|
STO C11,1 # M11 AT B-7
|
|
CLA A31BD,1 # B1
|
|
LRS 2
|
|
STO C12,1 # M14 AT B3
|
|
|
|
# Page 34
|
|
TIX FLTRE,1
|
|
LDQ C13
|
|
CLA C12
|
|
STQ C12 # M12 AT B-7
|
|
STO C13 # M13 AT B3
|
|
CLZ C22 # M22 (M21,M23,M24 ALREADY ZERO)
|
|
CLA 6K8S # B10
|
|
STO 18J # N11,(N12=C42=0,N22=C44=1B3)
|
|
CLA 1B17
|
|
TRA FLTRJ
|
|
#
|
|
#
|
|
FLTRH ADD 18J # CHECK RANGE
|
|
TMI FLTRX
|
|
RANGE AXT 2,1
|
|
FLTRI CLA A31S,1 # ZB B1
|
|
MPR 18J # B22
|
|
SUB RRSX,1
|
|
STO DELR1,1 # B23
|
|
CLA RRX,1
|
|
MPR RRX,1 # B46
|
|
MPY 6K9S # B42
|
|
LLS 12 # B30
|
|
STO TS0,1 # B30
|
|
CLA A31BD,1 # B1
|
|
MPR A31BD,1 # B2
|
|
MPR 6K10S
|
|
STO TS4,1
|
|
TIX FLTRI,1
|
|
ADZ TS2
|
|
STO 18J # N11 AT B30
|
|
CLA RRZ
|
|
MPY TS0
|
|
DVP RRX # B30
|
|
STO C42 # -N12
|
|
CLZ TS0
|
|
ADZ TS6
|
|
|
|
# Page 35
|
|
STO C44 # N22
|
|
# M IS ALREADY SET UP IN C11-C24
|
|
CLA 6K5 # B0
|
|
MPR DELR3 # B 23
|
|
ADD RY # Y=Y+6K5*DELR3 B23
|
|
STO RY
|
|
CLA 6K6S # B-8
|
|
MPY DELR3 # B15
|
|
LLS 2 # B13
|
|
ADD VY
|
|
STO VY # VY=VY+6K6*DELR3
|
|
CLA 6K6
|
|
STO 6K6S # RESTORE GAIN AFTER 1ST PASS
|
|
CLA 1000D
|
|
FLTRJ ADZ MU19 # INCREMENT MARK COUNTER
|
|
STO MU19
|
|
CLA 2B17 # DIMENSION FOR MXM (OTHER DIM.
|
|
STO TR6 # AND ADDR. ALREADY SET UP)
|
|
CLA DAD
|
|
TSQ MXM # RETURN WITH D=P(T)*M(T)
|
|
CLA C31AD
|
|
TSQ MXM # RETURN WITH Q IN C32-C34
|
|
CLZ C42
|
|
SUB C32
|
|
STO C32 # QP12=QP21= -(Q12+N12)
|
|
STO C33
|
|
MPY C32
|
|
LLS 3 # (QP12)**2 AT B57(ZERO FOR RATE)
|
|
D31AD STO D31
|
|
CLA C31
|
|
ADZ 18J
|
|
LRS 17
|
|
CLA C34
|
|
ADZ C44
|
|
C31AD STO C31 # QP11=Q22+N22
|
|
STQ C34 # QP22=Q11+N11
|
|
MPY C34
|
|
|
|
# Page 36
|
|
LLS 3 # QP11*QP22 AT B57(B10 FOR RATE)
|
|
SUB D31
|
|
CAD STO C11 # DETERMINANT OF (Q+N) MATRIX
|
|
CLA DAD
|
|
STO TR2
|
|
CLA 2B17
|
|
STO TR5
|
|
CLA 4B17
|
|
STO TR6
|
|
CLA D31AD
|
|
TSQ MXM # RETURN WITH B(T)*C11 IN D31-D44
|
|
CLA DELR1 # SETUP FOR TRICKY INDEXING
|
|
STO C14
|
|
CLA DELR2
|
|
STO C24
|
|
# INDEX IS LOADED IN MXM
|
|
CLA D31,1 # AT B57,B47 (B20,B10 FOR RATE)
|
|
MPY 1B3
|
|
DVP C11
|
|
STO D31,1 # B(T) AT B3,B-7(B13,B3 FOR RATE)
|
|
MPY C14,1 # B(I,1)*DELR1 OR B(I,2)*DELR2
|
|
LLS 3 # TO B23 OR B13
|
|
ADZ C41,1 # LAST 4 TIMES THRU WILL ADD TO
|
|
STO C41,1 # VALUES COMPUTED 1ST 4 TIMES
|
|
TIX *-8,1
|
|
CLA RX
|
|
SUZ C41 # B(1,1)*DELR1+B(1,2)*DELR2
|
|
STO RX
|
|
CLA RZ
|
|
SUZ C42 # B(2,1)*DELR1+B(2,2)*DELR2
|
|
STO RZ
|
|
CLA VX
|
|
SUZ C43 # B(3,1)*DELR1+B(3,2)*DELR2
|
|
STO VX
|
|
CLA VZ
|
|
SUZ C44 # B(4,1)*DELR1+B(4,2)*DELR2
|
|
STO VZ
|
|
|
|
# Page 37
|
|
CLA CAD
|
|
TSQ MXM # RETURN WITH B*M*P IN C11-C44
|
|
# INDEX IS LOADED IN MXM
|
|
CLA P11,1 # P=P-B*M*P
|
|
SUZ C11,1
|
|
STO P11,1
|
|
CLA P31,1
|
|
SUZ C31,1
|
|
STO P31,1
|
|
TIX *-6,1
|
|
TRA FLTRX
|
|
FLTRTM CLA C33 # FINISH SETUP OF PHI
|
|
STO C42 # JDT
|
|
STQ C33 # 1B3
|
|
CLA U1X
|
|
MPR U1Z
|
|
MPR 3B3 # B5
|
|
MPZ D11
|
|
STO C32 # CDT AT B-7
|
|
STO C41
|
|
CLA 1B9 # DT AT B13
|
|
STO C13
|
|
STO C24 # NOW HAVE PHI IN C11-C44
|
|
CLA DAD
|
|
TSQ MXM # RETURN WITH D = P(T)*PHI(T)
|
|
CLA PAD
|
|
TSQ MXM # RETURN WITH P=D(T)*PHI(T), OR
|
|
# P(NEW = PHI*P(OLD)*PHI(T)
|
|
CLA P11 # ADD STATE NOISE TO DIAGONALS
|
|
ADD 7K2
|
|
STO P11
|
|
CLA P22
|
|
ADD 7K2
|
|
STO P22
|
|
CLA P33
|
|
ADD 7K2
|
|
STO P33
|
|
|
|
# Page 38
|
|
CLA P44
|
|
ADD 7K2
|
|
STO P44
|
|
TSQ EXEC
|
|
TOV *+1 # RESET OVERFLOW
|
|
CLA SICO2+1 # ALS 2
|
|
TSQ STEST # TEST FOR SCALING TOO LOW
|
|
CLA CDCC+2 # LRS 1
|
|
TOV RSHFT # NEED RIGHT SHIFT IF OVERFLOW
|
|
CLA LRI+2 # ALS 3
|
|
TSQ STEST # SEE IF SCALING DOWN IS POSSIBLE
|
|
CLA GYCOM+2 # ALS 1
|
|
RSHFT STO VRSH+1
|
|
AXT 2,1
|
|
CLA 6K8S,1
|
|
TSQ VRSH
|
|
TOV RVSAR # BYPASS RESCALING IF OVERFLOW IN
|
|
# EITHER 2ND STEST OR ALS 1 6K10,
|
|
STO 6K8S,1 # OTHERWISE SHIFT LEFT OR RIGHT 1
|
|
TIX *-4,1 # 6K8,6K9,6K10 AND P MATRIX
|
|
AXT 7,1
|
|
CLA P11,1
|
|
TSQ VRSH
|
|
STO P11,1
|
|
CLA P31,1
|
|
TSQ VRSH
|
|
STO P31,1
|
|
TIX *-6,1
|
|
RVSAR CLZ S17 # IS FILTER INIT. REQUESTED
|
|
ALS 3
|
|
TMI PINIT
|
|
TRA FLTRX
|
|
PINIT AXT 7,1 # INITIALIZE P MATRIX AND FILTER
|
|
CLZ P11,1 # CONSTANTS
|
|
CLZ P31,1
|
|
CLA 6K8,1
|
|
STO 6K8S,1 # THIS ALSO ZEROES 6K6S
|
|
|
|
# Page 39
|
|
TIX PINIT+1,1
|
|
CLA 6K2
|
|
PAD STO P11
|
|
STO P22
|
|
CLA 6K4
|
|
STO P33
|
|
STO P44
|
|
CLZ MU19 # CLEAR MARK COUNTER
|
|
CLZ DEL45 # MAKE RANGE THE FIRST UPDATE
|
|
FLTRX TSQ EXEC
|
|
TRA LMORB
|
|
#
|
|
# MATRIX MULTIPLY SUBROUTINE
|
|
# PERFORMS C = A(T)*B(T) WHERE (T) INDICATES THE
|
|
# TRANSPOSE OPERATION, EITHER WITH TR1 = ST0 A11
|
|
# WHERE A11=ADDRESS OF 1ST ELEMENT OF A, TR2 = STO
|
|
# B11, A = STO C11, TR4 = NO. OF COLUMNS IN A,
|
|
# TR5 = NO. OF ROWS IN A, TR6 = NO. OF ROWS IN B,
|
|
# THE RESULT MATRIX C WILL HAVE TR4 ROWS AND TR6
|
|
# COLUMNS, ALL MATRICES ARE ASSUMED TO BE STORED
|
|
# BY ROWS IN SEQUENTIAL LOCATIONS BEGINNING WITH
|
|
# A11, A12, ..., A21, A22, ..., ETC.
|
|
MXM STQ PP # SAVE RETURN ADDRESS
|
|
STO TR3 # STORE ST0 C11 IN TR3
|
|
SUB 1B17
|
|
STO RREX2 # VARIABLE MATRIX ELEMENT STORE
|
|
CLZ I
|
|
R3 CLA TR2
|
|
SUB 1B4 # FORM MPY FROM STO
|
|
STO RREX1 # VARIABLE MULTIPLY
|
|
CLZ J
|
|
CLA DLSC # (D24)
|
|
STO TI # TEMP. STORAGE TO SAVE D24
|
|
TSQ EXEC
|
|
CLA TI
|
|
STO DLSC # RESTORE D24
|
|
R2 CLA TR1
|
|
|
|
# Page 40
|
|
ADD I
|
|
ADD STOCOM # FORM CLA FROM STO
|
|
STO RREX # VARIABLE CLA
|
|
CLA RREX2
|
|
ADD 1B17 # INCREMENT STO INSTRUCTION
|
|
STO RREX2
|
|
CLZ K
|
|
CLZ TR8 # TEMP. SUM
|
|
R1 TRA RREX
|
|
TIX *+2,1
|
|
TRA R3
|
|
TIX R1,1
|
|
TRA R2
|
|
# TEST FOR VARIABLE SCALING OF FILTER
|
|
STEST STO VRSH+1
|
|
STQ SREX3
|
|
CLA RR # B22
|
|
MPR RR # 22+22=44
|
|
MPY 6K9S
|
|
LLS 10
|
|
TSQ VRSH
|
|
AXT 7,1
|
|
CLA P11,1
|
|
TSQ VRSH
|
|
CLA P31,1
|
|
TSQ VRSH
|
|
TIX *-4,1
|
|
TRA SREX3
|
|
LMORB2 SUB 5J # QL-5J AT B23
|
|
STO QLTELE # PERIC. ALT
|
|
CLZ TS7 # = VH SQ AT B26
|
|
STO VHSQ # SAVE FOR ORB INS
|
|
TSQ EXEC
|
|
#
|
|
ORBLM AXT 2,1
|
|
CLA VIX,1 # RESTORE REX INTO FILTER
|
|
STO REX,1 # SCRATCH MATRIX C AREA
|
|
|
|
# Page 41
|
|
CLA RX,1
|
|
STO R0X,1
|
|
CLA VX,1
|
|
STO V0X,1
|
|
TIX ORBLM+1,1
|
|
TSQ ORBPM # COMPUTE LM ORBIT PARAMETERS
|
|
CLA AI
|
|
SUB 5J
|
|
ALS 1 # MPY BY 2
|
|
SUB QLTELE
|
|
STO QA # LM APOFOCUS ALT. AT B23
|
|
TSQ EXEC
|
|
#
|
|
#
|
|
CLZ Y
|
|
CLZ VY0
|
|
AXT 2,1
|
|
KINGK CLA RX,1
|
|
STO RIX,1 # SAVE R FOR ORBIT INS.
|
|
MPR WCX,1
|
|
ALS 1
|
|
ADZ Y
|
|
STO Y # Y=(WCX)DOT(RX)
|
|
CLA VX,1
|
|
STO VIX,1 # SAVE V FOR ORBIT INS.
|
|
MPR WCX,1
|
|
ALS 1
|
|
ADZ VY0
|
|
STO VY0 # VY0=(WCX)DOT(VX)
|
|
CLA WCX,1 # SET UP FOR CROSS
|
|
COM # PRODUCT SUBROUTINE
|
|
STO TS10,1 # WC X U1 = U1 X -WC
|
|
CLA U1X,1
|
|
STO TS4,1
|
|
TIX KINGK,1
|
|
TSQ CRSPRD
|
|
TSQ NORMV # V1 VECTOR TO TSB
|
|
|
|
# Page 42
|
|
TSQ CRSPRD
|
|
CLZ TS3
|
|
CLZ TS4
|
|
AXT 2,1
|
|
CLZ TS10,1
|
|
STO V1X,1 # V1 AT 1
|
|
MPR A31,1
|
|
ADD TS4 # TS4 = V1 DOT ZB AT B2
|
|
STO TS4
|
|
CLZ TS14,1
|
|
ALS 1
|
|
STO W1X,1
|
|
CLA A31,1
|
|
MPR U1X,1
|
|
ADD TS3
|
|
STO TS3 # TS3 = U1 DOT ZB AT B2
|
|
TIX *-12,1
|
|
TSQ ARCTAE
|
|
STO XI
|
|
TSQ EXEC # END OF LEM ORB PAR BRANCH
|
|
#
|
|
# GUIDANCE MODE CHECK
|
|
#
|
|
GM CLA S10
|
|
ADD 5B3
|
|
ABS
|
|
TMI DXFR1 # TPI SEARCH
|
|
ADD 1B2
|
|
TMI *+5
|
|
CLZ TDEL # TDEL=0
|
|
CLA ORBRET # =TRA DX10P
|
|
STO TSEX # SET UP RETURN FROM NORTON
|
|
TRA NORTON+5
|
|
# CSI,CDH,TPI EXECUTE, OR EXT DV
|
|
CLA TIG # COMPUTE TDEL FOR
|
|
SUB TA1 # CSI, CDH, OR TPI(S10=4)
|
|
ALS 5
|
|
|
|
# Page 43
|
|
STO TDEL
|
|
DXFR1 CLA TDEL
|
|
LRS 5
|
|
ADD TA1
|
|
STO TIG
|
|
CLZ TDEL # TDEL = OR GTR 0 AFTER TR CALC
|
|
TMI *+2
|
|
STO TDEL
|
|
ADD 6J
|
|
STO TR # TIME UNTIL RENDEZVOUS (TPI)
|
|
CLA TDEL
|
|
DXFR10 TSQ NORTON
|
|
DX10P STO RF # PRED. BURNOUT ALTITUDE
|
|
ADD 2K14
|
|
STO P
|
|
CLZ RADOT
|
|
CLZ VPY
|
|
DXFRR5 CLZ RIX,1 # R5 STORE
|
|
STO R5X,1
|
|
CLZ VIX,1
|
|
STO TS14,1
|
|
STO V5X,1 # V5 STORE
|
|
MPR WCX,1
|
|
ALS 1 # TO 13
|
|
ADZ VPY # VPY = V5 DOT WC
|
|
STO VPY
|
|
CLZ TS10,1
|
|
STO U1X,1 # U1 STORE
|
|
MPR V5X,1 # RADOT = R5 DOT U1
|
|
ALS 1 # TO 13
|
|
ADZ RADOT
|
|
STO RADOT
|
|
CLA REX,1 # CSM POS AND VEL FOR
|
|
STO R0X,1 # ELLIPSE PREDICTOR
|
|
CLA VEX,1 # AND ORBIT PARAMETERS
|
|
STO V0X,1
|
|
TIX DXFRR5,1
|
|
|
|
# Page 44
|
|
TSQ NORMV
|
|
CLA TS13
|
|
STO VHA
|
|
TSQ EXEC
|
|
ORBIT3 TSQ ORBPM # CSM ORBIT PARAMETERS
|
|
CLA TB
|
|
SUB TCSM
|
|
ADD TDEL # +TIME INC. TO DXFR
|
|
TMI *+2
|
|
SUB TCSM
|
|
TSQ NORTON
|
|
DXFR13 CLZ TS3
|
|
CLA RIX,1
|
|
SUB R5X,1
|
|
STO VIX,1 # RC-R5
|
|
CLA WCX,1
|
|
STO TS4,1
|
|
CLA U1X,1
|
|
STO TS10,1
|
|
MPR VIX,1 # U1 DOT (RC-R5)
|
|
ADZ TS3 # SCALE BOTH RX AND RZ
|
|
STO TS3 # AT 24 FOR ARCTAE
|
|
TIX DXFR13+1,1
|
|
TSQ CRSPRD
|
|
TSQ NORMV
|
|
CLZ TS4
|
|
VRUP1 AXT 2,1
|
|
CLA TS10,1
|
|
STO V1X,1 # V1,NORM XPROD OF WC AND U1
|
|
MPR VIX,1
|
|
ADZ TS4
|
|
STO TS4 # RZ AT 24
|
|
TIX VRUP1+1,1
|
|
CLA 1B1
|
|
SUB S10
|
|
TMI XDV-1 # EXT DELTA V
|
|
ADD 6B3
|
|
|
|
# Page 45
|
|
TMI THEF # O.I., CSI, CDH
|
|
CLZ 28J1 # COMPUE TPI VELOCITY
|
|
CLZ 28J2 # IN LOCAL VERTICAL COORD.
|
|
CLZ 28J3
|
|
AXT 2,1
|
|
DXFRA CLA V1X,1 # B1
|
|
MPR VGX,1 # B1+B13=B14
|
|
ALS 1 # B13
|
|
ADZ 28J1
|
|
STO 28J1
|
|
CLA W1X,1 # B1
|
|
MPY VGX,1 # B1+B13=B14
|
|
DVP M1B1 # B13
|
|
ADZ 28J2
|
|
STO 28J2
|
|
CLA U1X,1 # B1
|
|
MPY VGX,1 # B1+B13=B14
|
|
DVP M1B1 # B13
|
|
ADZ 28J3
|
|
STO 28J3
|
|
TIX DXFRA,1
|
|
TSQ ARCTAE # TLOS=ARCTAN(RX,RZ)
|
|
STO TLOS # LINE OF SIGHT (DEDA)
|
|
CLA TR
|
|
SUB TDEL
|
|
STO T
|
|
CLA TB
|
|
SUB TCSM
|
|
ADD TR # TIME INC. TPI TO REND.
|
|
SUB 3J # TARGET OFFSET
|
|
STO TI
|
|
TSQ EXEC
|
|
DXFR14 CLA S10
|
|
COM
|
|
TMI CSMT1 # TO ELLIPX
|
|
#
|
|
# ORBIT INSERTION SECTION
|
|
|
|
# Page 46
|
|
#
|
|
SUB VY0 # S10 EQUALS 0, ORBIT INSERTION
|
|
MPR VY0
|
|
ADD VHSQ # VH SQ
|
|
TSQ SQRTE
|
|
STO VHA # B13
|
|
CLA 4K5 # COMPUTE DESIRED BURNOUT
|
|
SUB RB # ALTITUDE RATE
|
|
MPY 4K4
|
|
LLS 3
|
|
STO RFDOT
|
|
SUB 4K6 # LIMIT RFDOT BETWEEN
|
|
TMI *+3 # 23J AND 4K6
|
|
CLA 4K6
|
|
TRA *+5
|
|
CLA 23J
|
|
SUB RFDOT
|
|
TMI *+3
|
|
CLA 23J
|
|
STO RFDOT
|
|
CLA DISC1 # IS ABORT OR ABORT STATE YES
|
|
ALS 7
|
|
TMI *+3 # -- ABORT YES
|
|
ADD M1B1
|
|
TMI ORBI2 # -- ABORT STATE NO
|
|
CLA THETAF
|
|
SUB 12J
|
|
TMI *+5 # -- CENTRAL ANGLE LESS THAN LIMIT
|
|
CLA 10J # SET NEW SLOPE AND OFFSET
|
|
STO 7J # VALUES FOR AL WHEN ABORT OR
|
|
CLA 11J # ABORT STAGE YES AND THE
|
|
STO 4K10 # CENTRAL ANGLE LARGE
|
|
CLA 1B1 # STOP PASSES OF NEW SLOPE/OFFSET
|
|
STO 12J # EQUALS 4 RAD AT B3
|
|
ORBI2 CLA THETAF # CALCULATE AL
|
|
MPY 4K10
|
|
ADD 7J
|
|
|
|
# Page 47
|
|
STO AL
|
|
CLA RB
|
|
STO RF
|
|
LRS 1 # CHECK FOR LOW LIMIT OF AL
|
|
ADD 8J
|
|
SUB AL
|
|
TMI CDH3+1
|
|
ADD AL
|
|
TRA CDH3 # AL LOW LIMIT BJ+RB/2
|
|
#
|
|
# TERMINAL FOR CSI, CDH, EXT DV
|
|
TSQ EXEC
|
|
XDV CLA TIG # TEST FOR ULLAGE TIME
|
|
SUB 7K1
|
|
SUB TA1 # IF TIME FOR ULLAGE, THEN
|
|
TMI XDV2 # FREEZE COORDINATE FRAME
|
|
XDV1 AXT 2,1
|
|
CLA 28J3 # RADIAL COMPONENT
|
|
MPR U1X,1 # 13+1=14
|
|
STO DQSX,1
|
|
CLA 28J2 # CROSSRANGE COMPONENT
|
|
MPR W1X,1
|
|
ADZ DQSX,1
|
|
STO DQSX,1
|
|
CLA 28J1 # DOWNRANGE COMPONENT
|
|
MPR V1X,1
|
|
SUZ DQSX,1
|
|
ALS 1 # TO 13
|
|
STO DVGXX,1 # VELOCITY TO GAIN
|
|
TIX XDV1+1,1
|
|
XDV2 AXT 2,1 # LOAD NDX FOR STEER/XDV
|
|
CLA S10 # O.I. EXIT TO STEERING
|
|
SUB 1B3
|
|
TMI STEER4+1 # GO TO STEERING
|
|
XDV3 CLA DVGXX,1 # INITIAL VG
|
|
SUB DQSX,1 # ACCUMULATED DELTA V
|
|
STO TS4,1
|
|
|
|
# Page 48
|
|
STO VGX,1 # B13
|
|
TIX XDV3,1
|
|
TSQ DPVMAG
|
|
STO VG # VEL TO GAIN MAGNITUDE
|
|
TRA Q7 # GO TO STEERING
|
|
#
|
|
Q5 CLA RFDOT # GUIDANCE LAW
|
|
STO TS4 # SET FOR INDEXING
|
|
CLZ TS5
|
|
CLA RADOT
|
|
STO TS10
|
|
CLA VY0
|
|
STO TS11
|
|
AXT 1,1
|
|
TOV *+1
|
|
CLA RD3DOT,1 # -2
|
|
MPR TBO # 9-2=7
|
|
LRS 1 # TO 8
|
|
STO TS1 # 1/2 AT 7
|
|
CLA TS4,1 # RFDOT OR ZERO
|
|
SUB TS10,1 # RDOT OR VY0
|
|
STO TS2
|
|
MPY 1B3 # B16
|
|
DVP TBO # 16-9=7
|
|
SUZ TS1 # R OR YD2DOT
|
|
STO TS0 # TEST FOR OVERFLOW
|
|
CLZ TS2 # SIGN IF OVERFLOW
|
|
TSQ OVFLT
|
|
STO RD2DOT,1
|
|
CLA SIXTH # -2
|
|
MPR RD3DOT,1 # -4
|
|
MPR TBO # 5
|
|
LRS 1 # TO 6
|
|
ADD RD2DOT,1 # +1/2 2DOT AT 6
|
|
MPR TBO # 15
|
|
ALS 1 # TO 14
|
|
STO TS1
|
|
|
|
# Page 49
|
|
CLA TS10,1
|
|
LRS 1 # TO 14
|
|
ADZ TS1
|
|
MPR TBO # 23
|
|
ADD R,1
|
|
STO TS14,1 # RF OR YF
|
|
TIX Q5+8,1
|
|
STO RF # 23
|
|
STO RB # SAVE RF FOR ORBIT INSERT.
|
|
SUB 5J # -LUNAR RADIUS
|
|
SUB 16J # BURNOUT ALT ERROR
|
|
STO TS14
|
|
LDQ 5K20
|
|
CLA 4K12
|
|
SUB AT
|
|
TMI *+3 # IF AT GT 4K12
|
|
CLA DEL2
|
|
TMI *+2 # IF AT LE 4K12 AND DEL2=1
|
|
LDQ 5K18
|
|
STQ RD3DTL # RD3DOT LOWER LIMIT
|
|
CLA TBO
|
|
MPR TBO
|
|
MPR TBO # TB CUBED
|
|
STO TS1 # 27
|
|
AXT 1,1
|
|
GDLAW3 TOV *+1
|
|
CLA TS14,1 # BURNOUT ERROR
|
|
MPY 12B4 # 27
|
|
LLS 2 # TO 25
|
|
DVP TS1 # -2
|
|
ADZ RD3DOT,1 # DESIRED ACCEL RATE
|
|
STO TS0 # TEST FOR OVERFLOW
|
|
CLA TS14,1
|
|
TSQ OVFLT
|
|
STO RD3DOT,1
|
|
TMI *+5
|
|
SUB 5K14,1 # UPPER LIMIT TEST
|
|
|
|
# Page 50
|
|
TMI *+5
|
|
CLA 5K14,1 # SET AT UPPER LIMIT
|
|
TRA LL3DOT+1
|
|
SUB RD3DTL,1 # LOWER LIMIT TEST
|
|
TMI LL3DOT
|
|
GDLAW4 TIX GDLAW3,1
|
|
CLA 2K1 # 48
|
|
MPY 1B1 # B49
|
|
DVP R # 49-23-26
|
|
SUZ VHSQ # VH SQ
|
|
MPY 1B4 # B30
|
|
DVP R # -ORBITAL RAD ACCEL AT 7
|
|
ADZ RD2DOT
|
|
STO RD2DOT # CMD RAD ACCEL AT 7
|
|
TSQ EXEC
|
|
#
|
|
# STEERING EQUATIONS.
|
|
#
|
|
STEER CLA 21J
|
|
SUB H
|
|
TMI STEER1
|
|
CLA 22J
|
|
SUB HDOT
|
|
TMI STEER1
|
|
CLA 1B3 # =1024B13 COMMAND X-AXIS VERT
|
|
STO VG
|
|
CLA PMAX # PSIP=1
|
|
TRA *+9
|
|
STEER1 AXT 1,1
|
|
TOV *+1
|
|
CLA RD2DOT,1 # PSIP AND PSIY COMPS
|
|
LDQ ZERO
|
|
DVP AT # PSIP OR Y AT ZERO
|
|
STO TS0 # TEST FOR OVERFLOW
|
|
CLA RD2DOT,1 # SIGN IF OVERFLOW
|
|
TSQ OVFLT
|
|
STO TS10,1 # PSIP OR PSIY AT 0
|
|
|
|
# Page 51
|
|
TIX STEER1+1,1
|
|
MPR TS10
|
|
COM
|
|
ADD PMAX
|
|
STO TS14 # 1-(PSIP)SQ
|
|
TSQ SQRTE
|
|
STO TS15
|
|
CLA TS11
|
|
ABS
|
|
SUB TS15
|
|
TMI STEER3
|
|
CLA TS11
|
|
TMI *+3
|
|
CLA TS15
|
|
TRA *+3
|
|
CLA TS15
|
|
COM
|
|
STO TS11
|
|
STEER3 CLA TS11
|
|
MPR TS11
|
|
COM
|
|
ADZ TS14
|
|
TSQ SQRTE
|
|
STO TS12
|
|
STEER4 TRA XDV1 # COMPUTE DELTA V IN LOCAL VERT.
|
|
CLA TS10
|
|
MPR U1X,1
|
|
STO TS1
|
|
CLA 28J1
|
|
OUT1 TMI OUT # IF 28J1 NEGATIVE
|
|
CLA TS12
|
|
MPR V1X,1
|
|
ADZ TS1
|
|
STO TS1
|
|
CLA TS11
|
|
MPR W1X,1
|
|
ADZ TS1
|
|
|
|
# Page 52
|
|
MPY VG
|
|
LLS 1 # TO 13
|
|
STO VGX,1 # VELOCITY YET TO BE GAINED
|
|
TIX STEER4+1,1
|
|
Q7 AXT 2,1 # COMPUTE VELOCITY TO BE
|
|
CLA VDX,1 # GAINED COMPONENTS
|
|
STO VSMGX,1
|
|
TIX *-2,1
|
|
AXT 2,1
|
|
CLA VGX,1
|
|
MPY A11,1
|
|
LLS 1 # TO 13
|
|
ADZ VSMGX # X-COMP OF TOTAL V TO BE GAINED
|
|
STO VSMGX
|
|
CLA VGX,1
|
|
MPY A21,1
|
|
LLS 1 # TO 13
|
|
ADZ VSMGY
|
|
STO VSMGY # Y-COMP OF TOTAL V TO BE GAINED
|
|
CLA VGX,1
|
|
MPY A31,1
|
|
LLS 1 # TO 13
|
|
ADZ VSMGZ
|
|
STO VSMGZ # Z-COMP OF TOTAL V TO BE GAINED
|
|
CLA MU8 # TEST IF ENG ON
|
|
SUB 1B17
|
|
TMI *+4 # -- ENG OFF
|
|
CLA VG
|
|
SUB 5K26
|
|
TMI *+5
|
|
CLA VGX,1
|
|
MPY 1B1 # B14
|
|
DVP VG # RESULT AT B1
|
|
STO A11BD,1
|
|
TIX Q7+5,1
|
|
TSQ EXEC
|
|
IDLE TRA TEST
|
|
|
|
# Page 53
|
|
OUT CLA TS12
|
|
COM
|
|
TRA OUT1+2
|
|
OVFLT TOV *+3
|
|
CLA TS0
|
|
TRA EXIT # EXIT WITH COMPUTED VALUE
|
|
TMI *+3
|
|
CLA PMAX # POSITIVE LIMIT
|
|
TRA *+2
|
|
CLA NMAX
|
|
TRA EXIT
|
|
#
|
|
# DISPLAY ROUTINE SOFT PORTION.
|
|
#
|
|
DSP1 TOV *+1 # CL. O.F.
|
|
CLZ DSPF1 # H,HDOT MODE.
|
|
TMI *+2 # -- IS INITIALIZE
|
|
TRA DSPLY # TO COUNTER CHECK. (HARD)
|
|
CLA H
|
|
STO POUT
|
|
CLA HDOT
|
|
# Q REGISTER DOES NOT NEED TO BE ZERO
|
|
# SINCE DVP K55 IS AT WORST A LEFT
|
|
# SHIFT OF 2 AND THE ALT RATE REGISTER
|
|
# IS ONLY 15 BITS LONG
|
|
DVP K55
|
|
TRA DSPLY1
|
|
DSP2CP CLA VY0 # OUT-OF-CSM PLANE VEL.
|
|
LRS 17 # SET SIGN OF Q AND USE
|
|
LLS 17 # UP TIME
|
|
STQ TS10 # SAVE SIGN
|
|
ABS
|
|
DVP VY0FS # =FULL-SCALE VALUE(200 FPS)
|
|
TOV *+2
|
|
TRA *+2
|
|
CLA PMAX
|
|
ADZ TS10 # VY0 IN SIGN-MAGNITUDE
|
|
|
|
# Page 54
|
|
TRA DSPLY3-1 # TO OUTPUT,(HARD)
|
|
#
|
|
# EXECUTIVE PART 2. (BRANCH 50)
|
|
# START EXEC2
|
|
#
|
|
EXEC7 CLA IDRP
|
|
SUB ID # TEST FOR AGS INITIALIZE ID
|
|
TMI EXECM2
|
|
EXEC2 CLA BR1 # SET NAV BRANCH
|
|
STO BRANCH
|
|
CLZ DDF # DEDA DATA FLAG.
|
|
TMI NEWDD
|
|
EXECM CLZ DEL31 # TEST FOR DOWNLINK DATA
|
|
TMI EXEC7
|
|
EXECM1 CLA S0
|
|
SUB 3B3
|
|
TMI EXECA # S0-3(--IS INER. REF)
|
|
SUB 1B3
|
|
TMI EXEC6 # S0-4(--IS IMU ALIGN)
|
|
SUB 1B3
|
|
TMI TMIE1 # RESET TM
|
|
SUB 1B3
|
|
TMI EXECA # S0-6(--IS ORB ALIGN)
|
|
ADD 7B3 # S0+1
|
|
TMI INCMU7 # S0=7
|
|
CAL CLA DEL21 # CALIBRATE MODE
|
|
TMI *+2
|
|
TSQ EADICS # IMU DIR COSINES
|
|
TSQ ATTERR # COMPUTE ATTITUDE ERRORS
|
|
AXT 2,1
|
|
CLA 1K33 # -3
|
|
MPY EX,1 # 2
|
|
LLS 12 # -3+2-12=-13
|
|
ADZ DAXREM,1
|
|
STO DAXREM,1 # -13
|
|
CLA 1K34 # -15
|
|
MPR EX,1 # 2
|
|
|
|
# Page 55
|
|
ADZ 1K1,1
|
|
STO 1K1,1 # GYRO BIAS AT -13
|
|
TIX *-9,1
|
|
INCMU7 CLZ MU7 # INCR. COUNTER
|
|
ADD 1B17
|
|
STO MU7
|
|
SUB 1K37 # ACCEL. CAL. DURATION
|
|
ABS
|
|
COM
|
|
TMI *+7 # + IS TIME FOR ACCEL CAL
|
|
AXT 2,1
|
|
CLZ SDVX,1
|
|
MPR 1K36
|
|
ADZ 1K19,1
|
|
STO 1K19,1 # NEW BIAS CORRECTION
|
|
TIX *-4,1
|
|
CLA MU7
|
|
SUB 1K30
|
|
TMI EXECA
|
|
CLZ S0 # CAL COMPLETE, SET ATT HOLD
|
|
EXECA CLZ DAXA # ZERO ALIGNMENT INCREMENTS
|
|
CLZ DAYA
|
|
CLZ DAZA
|
|
TRA TMIE1 # RESET TM
|
|
NEWDD CLA STOCOM # EQU TO STORE
|
|
ADD ADST # DEDA ADDRESS
|
|
STO VRSH+1 # SET UP STORE INSTRUCTION
|
|
CLA DD # DEDA DATA
|
|
TSQ VRSH # STORE DATA
|
|
CLA BR1 # PROTECT BRANCH FROM DEDA
|
|
STO BRANCH
|
|
CLA DLWNLC # PROTECT DLWNL
|
|
STO DLWNL # FROM DEDA ENTRY
|
|
CLA ADST
|
|
SUB 1B9 # S0 ADDRESS
|
|
TMI EXECM
|
|
SUB 1B17
|
|
|
|
# Page 56
|
|
TMI EXEC3 # NEW WD IS S0
|
|
SUB 10B17
|
|
TMI EXECM # NEW WD BTWN S0PS13
|
|
SUB 1B17
|
|
TMI LUNAZ # NEW WD IS S13
|
|
SUB 1B17
|
|
TMI *+2 # NEW WD IS S14
|
|
TRA EXECM
|
|
CLA S14 # NEW WD IS S14
|
|
SUB 2B3
|
|
STO DEL32 # ENABLE DL IF S14=1
|
|
TMI EXECM2+2
|
|
COM
|
|
TMI EXECM1 # -- S14=3
|
|
EXECM2 CLA IC1BR # SET IC1 BRANCH
|
|
STO BRANCH
|
|
CLA IDAI # AGS INITIALIZE ID
|
|
STO ID
|
|
TRA EXECM1
|
|
EXEC3 CLA S0
|
|
ADD 1B3 # NEG IF S0=7
|
|
TMI MABEE
|
|
SUB 7B3
|
|
TMI EXECA
|
|
CLA DEL21 # CALIBRATE I.C.
|
|
TMI MABEE
|
|
CLA 3B3 # IMU ALINE FOR 2SECS.
|
|
STO S0
|
|
STQ DEL6
|
|
MABEE AXT 6,1
|
|
CLZ SDVX,1 # ZERO MU7 AND DV SJMS
|
|
CLA A11,1
|
|
STO A11D,1
|
|
TIX *-3,1
|
|
TRA EXECA
|
|
EXEC6 CLZ DEL6 # IMU ALINE.
|
|
TMI *+2 # -- IS CALIBRATE
|
|
|
|
# Page 57
|
|
TRA *+2
|
|
CLA 6B3
|
|
STO S0
|
|
TRA TMIE1 # RESET TM
|
|
FDAI1 CLA A21
|
|
MPR COGA
|
|
STO TS1
|
|
CLA A23
|
|
MPR SIGA
|
|
TRA EX17+6
|
|
LL3DOT CLA RD3DTL,1
|
|
STO RD3DOT,1
|
|
TRA GDLAW4
|
|
NORTON STO TI
|
|
STQ TSEX # SUBR TO GO TO EXEC.
|
|
TSQ EXEC
|
|
TSQ ELPRD # ELPR AND COMPT
|
|
TSQ EXEC # LENGTH OF VECTOR
|
|
AXT 2,1 # RIX
|
|
CLA RIX,1
|
|
STO TS14,1
|
|
TIX *-2,1
|
|
TSQ NORMV
|
|
AXT 2,1
|
|
CLA TS13 # LENGTH OF RI
|
|
TRA TSEX
|
|
RRT CLZ READP # TEST FOR EXIT
|
|
STO RMF # FROM HOLD
|
|
TMI ADOUT # TO READ OUT
|
|
TRA DEXIT # EXIT
|
|
EX33P CLA S10
|
|
SUB 3B3
|
|
TMI CSICDH
|
|
CLA 3K4
|
|
SUB C2
|
|
TMI EX33+1
|
|
CLZ DEL10
|
|
|
|
# Page 58
|
|
TMI EX33PP
|
|
EX35 CLA 2K11
|
|
STO VF
|
|
CLZ Q1
|
|
SUB 5J
|
|
STO Q1DEDA
|
|
TRA Q7 # GO TO STEERING
|
|
EX33PP CLZ 4J
|
|
# RESTORE SAVED QUANTITIES FO T/B COMPUTATIONS
|
|
# IN HARD MEMORY.
|
|
CLZ V6X
|
|
STO TS12
|
|
CLZ V6Y
|
|
STO TS13
|
|
CLZ V6Z
|
|
STO TS14
|
|
TRA EX36+1
|
|
CSICDH TSQ EXEC
|
|
CLA RT
|
|
SUB RF
|
|
STO DELH
|
|
STO DELRP # LITTLE DELTA R AT 23
|
|
CLZ RFDOT
|
|
AXT 2,1
|
|
CLA VIX,1
|
|
MPR U2X,1
|
|
ALS 1
|
|
ADZ RFDOT
|
|
STO RFDOT # RFDOT = U2 DOT VT B13
|
|
TIX *-5,1
|
|
CLA S10
|
|
ADD 6B3
|
|
TMI CDH # S10 = 2
|
|
CSI CLA S16
|
|
MPY 3PID4 # A=3/4(PI)(S16) AT B6
|
|
STO TS1
|
|
DVP AE
|
|
|
|
# Page 59
|
|
MPR DELH
|
|
STO TS2 # A(DELH/AE) B6
|
|
CLA TS1
|
|
MPR 1B1
|
|
STO TS5 # A AT B7
|
|
CLA 1J
|
|
SUB TIG
|
|
ALS 3
|
|
MPR NE # NE(1J-TIG) AT B6
|
|
ADD TS2
|
|
MPR 6B3 # =1.5B1 3/2(NE)(1J-TIG)+
|
|
# 3/2(A)(DELH/AE)
|
|
SUB TS5
|
|
ADD 2J
|
|
STO TS7 # B AT AB7
|
|
CLA RADOT
|
|
SUB RFDOT
|
|
MPY 1B4
|
|
DVP VHA # 4(RADOT-REDOT)/VHA B6
|
|
SUB TS2
|
|
STO TS10
|
|
CLA THETAF
|
|
LRS 3
|
|
ADD TS10
|
|
MPY 1B1 # ACC = C AT B7
|
|
DVP TS7 # C/B B0
|
|
STO TS11
|
|
MPR AE
|
|
STO DELH # DELH B23
|
|
CLA TS11 # C/B = DELH/AE B0
|
|
MPR TS1 # A(DELH/AE) B6
|
|
ADD TS2
|
|
STO TS1
|
|
CLA PI
|
|
MPR S16
|
|
SUB TS1
|
|
MPY 1B3 # TO B9
|
|
|
|
# Page 60
|
|
DVP NE
|
|
STO TA0
|
|
CLA RADOT
|
|
STO RFDOT
|
|
CDH2 CLA DELRP # LITTLE DELTA R
|
|
ADD DELH
|
|
MPR M1B1 # -.5B0 = -1B1
|
|
ADD AE
|
|
CDH3 STO AL
|
|
CLA AL # CALCULATE 28J1
|
|
SUB RF
|
|
ADD AL
|
|
MPY 2K1
|
|
LRS 1
|
|
DVP RF
|
|
LDQ ZERO
|
|
DVP AL
|
|
TSQ SQRTE
|
|
SUB VHA
|
|
STO 28J1 # 28J1 = VHF - VHA
|
|
TSQ EXEC
|
|
CLA RADOT
|
|
SUB RFDOT
|
|
STO 28J3
|
|
STO TS4+1
|
|
CLA S10
|
|
COM
|
|
TMI XDV
|
|
CLA 28J1
|
|
STO TS4
|
|
CLA VY0
|
|
STO TS4+2
|
|
TSQ DPVMAG
|
|
STO VG
|
|
TRA GDLAW
|
|
CDH CLZ TA0
|
|
ADD TIG
|
|
|
|
# Page 61
|
|
STO TIG # TIG = TIG + TAO
|
|
TRA CDH2
|
|
# SEE REAR OF LISTING FOR CHECKSUM
|
|
# START OF HARDWIRED MEMORY
|
|
# CONSTANTS
|
|
#
|
|
CHECKSUM RANGE 1005-3776
|
|
ORG 4000
|
|
7B17 DEC 7.B17 # CONSTANTS FOR NORMALIZE
|
|
6B17 DEC 6.B17
|
|
5B17 DEC 5.B17
|
|
4B17 DEC 4.B17
|
|
3B17 DEC 3.B17
|
|
2B17 DEC 2.B17
|
|
1B17 DEC 1.B17
|
|
ZERO DEC 0
|
|
2B3 EQU 1B2
|
|
5B3 EQU 10B4
|
|
6B3 EQU 12B4
|
|
1B4 DEC 1.B4
|
|
1B5 DEC 1.B5
|
|
1B6 DEC 1.B6
|
|
1B9 DEC 1.B9
|
|
1B11 DEC 1.B11
|
|
1B12 DEC 1.B12
|
|
1B13 DEC 1.B13
|
|
1B14 DEC 1.B14
|
|
8B17 EQU 1B14
|
|
SIXTH OCT 252525
|
|
2PIB3 DEC 6.2831853B3
|
|
1K25 EQU 2PIB3
|
|
3PID4 DEC 2.3561945B3
|
|
PID2 DEC 1.57079633B3
|
|
PID4 DEC .78539816B3
|
|
K173 DEC -.18488E-3B-6
|
|
K172 DEC .83119E-2B-4
|
|
K171 DEC -.16665554B-2
|
|
|
|
# Page 62
|
|
K170 OCT 377777 # 1B0
|
|
PMAX EQU K170
|
|
K183 DEC -.0389929B-3
|
|
K182 DEC .1462766B-1
|
|
K181 DEC -.3211819B1
|
|
K180 DEC .999215B2
|
|
SHDUM LRS 0
|
|
MS OCT 400000
|
|
NMAX OCT 400001
|
|
49B17 DEC 49.B17
|
|
10B17 DEC 10.B17
|
|
BCDL DEC 100000.B17
|
|
TRNSFR TRA EROUT # EXIT FROM ATT ERROR COMPS
|
|
BACK TRA RETURN
|
|
TMOUT OUT 6100
|
|
CLAFR CLA 4000
|
|
CLATEN EQU SICO2 # CLA 0,1
|
|
TRACOM EQU MS # LOOKS LIKE TRA 0
|
|
STOCOM EQU 1B2 # LOOKS LIKE STO 0
|
|
DUMCLA EQU 1B1 # LOOKS LIKE CLA 0
|
|
#
|
|
# ** 20 MILLISECOND COMPUTATIONS
|
|
#
|
|
DELAY DLY *+1
|
|
INP 2001 # INPUT PGNS ANGLES
|
|
STO THEP
|
|
INP 2002
|
|
STO PHIP
|
|
INP 2004
|
|
STO PSIP
|
|
INP 6010 # INPUT GYRO DATA
|
|
STO DAX
|
|
INP 6002
|
|
STO DAY
|
|
INP 6004
|
|
STO DAZ
|
|
INP 6020 # INPUT ACCELEROMETER DATA
|
|
|
|
# Page 63
|
|
1B2 STO TS0 # VALUE USED AS CONSTANT
|
|
INP 6040
|
|
STO TS1
|
|
INP 6100
|
|
STO TS2
|
|
EX1 TRA EXIT1
|
|
# PROCESS ACCELEROMETER INPUTS
|
|
AXT 2,1
|
|
DVS CLZ DVX,1 # SAVE PREVIOUS VALUE
|
|
STO DVXM1,1
|
|
CLZ TS0,1
|
|
SUB 1K7 # 11
|
|
ALS 1
|
|
MPR 1K18,1 # SCALE FACTOR
|
|
ALS 1 # SCALE AT 1
|
|
ADD 1K19,1 # BIAS COMPENSATION
|
|
STO DVX,1 # AT 1
|
|
TIX DVS,1
|
|
TRA EXIT2 # TO MODE CHECK.
|
|
# PROCESS GYRO INPUTS
|
|
AXT 2,1
|
|
TOV *+1 # RESET
|
|
GYCOM CLZ DAX,1
|
|
SUB 1K7
|
|
ALS 1 # RADIANS AT -6
|
|
STO DAX,1
|
|
MPR 1K3,1 # SCALE FACTOR COMP
|
|
ADD 1K1,1 # AT -13
|
|
ADZ DAXREM,1
|
|
STO DAXREM,1
|
|
ADD 1B4 # ROUND
|
|
LRS 14 # TO +1
|
|
ALS 7 # TO -6, QUANTIZED AT -16
|
|
STO TS6
|
|
ALS 7
|
|
M1B1 COM # INSTRUCTION LOOKS LIKE -1B1
|
|
ADZ DAXREM,1
|
|
|
|
# Page 64
|
|
STO DAXREM,1
|
|
CLZ TS6
|
|
ADZ DAX,1
|
|
ADD DAXA,1
|
|
STO DAX,1 # -6
|
|
ALS 3 # TO -9
|
|
STO TS10,1
|
|
ABS
|
|
ADD 1B6 # TEST FOR POSSIBLE OVERFL
|
|
TIX GYCOM,1
|
|
EX3 TRA EXIT3
|
|
TOV HRC
|
|
CLZ HRF
|
|
TMI LRI
|
|
# COMPUTE DIRECTION COSINE CHANGE
|
|
CDCC CLA TS10 # DAX AT -6 OR -9
|
|
MPY TS11 # DAY
|
|
LRS 1 # 1/2DAX(DAY) AT -12 OR -18
|
|
TSQ RND
|
|
ADD TS12 # DAZ
|
|
STO TS1
|
|
CLA TS10
|
|
MPY TS12
|
|
LRS 1 # 1/2DAX(DAZ) AT -12 OR -18
|
|
TSQ RND
|
|
SUZ E13
|
|
STO TS7
|
|
SUB TS11
|
|
STO TS2
|
|
CLA TS11
|
|
MPR TS11
|
|
LRS 1
|
|
STO TS8
|
|
CLA TS12
|
|
MPR TS12
|
|
LRS 1 # 1/2DAZ(DAZ) AT -12 OR -18
|
|
ADD TS8
|
|
|
|
# Page 65
|
|
TSQ RND
|
|
COM
|
|
ADZ E1 # NORMALITY CONSTRAINT
|
|
STO TS3
|
|
CLZ TS7
|
|
ADD TS11
|
|
STO TS4
|
|
CLA TS11
|
|
MPY TS12
|
|
LRS 1 # 1/2DAY(DAZ) AT -12 OR -18
|
|
TSQ RND
|
|
SUB TS10
|
|
STO TS5
|
|
CLA TS10
|
|
MPR TS10
|
|
LRS 1 # 1/2DAX(DAX) AT -12 OR -18
|
|
ADZ TS8
|
|
TSQ RND
|
|
COM
|
|
ADZ E3
|
|
STO TS6
|
|
EX4 TRA EXIT4
|
|
AXT 2,1 # COMPUTE EQUATIONS
|
|
DICOS CLA TS1
|
|
MPR A21,1 # 1
|
|
ADZ DA11,1
|
|
STO DA11,1 # -5 OR -8
|
|
CLA TS2
|
|
MPR A31,1
|
|
ADZ DA11,1
|
|
STO DA11,1 # -5 OR -8
|
|
CLA TS3
|
|
MPR A11,1
|
|
ADZ DA11,1
|
|
STO DA11,1 # -5 OR -8
|
|
CLA TS4 # ROW 3
|
|
MPR A11,1
|
|
|
|
# Page 66
|
|
ADZ DA31,1
|
|
STO DA31,1
|
|
CLA TS5
|
|
MPR A21,1
|
|
ADZ DA31,1
|
|
STO DA31,1
|
|
CLA TS6
|
|
MPR A31,1
|
|
ADZ DA31,1
|
|
STO DA31,1
|
|
TIX DICOS,1
|
|
# INTEGRATE DIRECTION COSINES
|
|
AXT 6,1
|
|
INTAS CLA HRF
|
|
TMI HRINT # -5 OR -8 TEST
|
|
CLA DA11,1
|
|
RND1 ADD 1B9 # ROUND
|
|
SHFT1 LRS 9 # TO 1
|
|
STO TS1
|
|
ALS 9
|
|
COM
|
|
ADZ DA11,1
|
|
STO DA11,1 # SAVE REMAINDER
|
|
CLZ A11,1
|
|
ADZ TS1
|
|
STO A11,1
|
|
TIX INTAS,1
|
|
TSQ EXIT5 # DOWNLINK INPUT
|
|
TSQ EXIT6 # TELEMETRY OUTPUT
|
|
# COMPUTE ROW 2
|
|
COA21 CLA A12
|
|
MPR A33 # 2
|
|
STO TS1
|
|
CLA A13
|
|
MPR A32
|
|
SUZ TS1
|
|
ALS 1 # TO 1
|
|
|
|
# Page 67
|
|
STO A21 # A21
|
|
CLA A13
|
|
MPR A31
|
|
STO TS1
|
|
CLA A11
|
|
MPR A33
|
|
SUZ TS1
|
|
ALS 1
|
|
STO A22 # A22
|
|
CLA A11
|
|
MPR A32
|
|
STO TS1
|
|
CLA A12
|
|
MPR A31
|
|
SUZ TS1
|
|
ALS 1
|
|
STO A23 # A23,DIR COS UPDATE COMPLETE
|
|
EX8 TRA EXIT8
|
|
# VELOCITY RESOLUTION
|
|
DVINT AXT 2,1 # RESOLVE BODY DVS TO
|
|
CLA A11,1 # INERTIAL FRAME AND
|
|
MPR DVX # ACCUMULATE.
|
|
STO TS1 # 2
|
|
CLA A21,1
|
|
MPR DVY
|
|
ADZ TS1
|
|
STO TS1
|
|
CLA A31,1
|
|
MPR DVZ
|
|
ADZ TS1 # 2
|
|
ADD 1B13 # ROUND
|
|
LRS 5
|
|
ADZ DVSX,1
|
|
STO DVSX,1 # 7
|
|
TIX DVINT+1,1
|
|
TSQ EXIT5 # DOWNLINK INPUT
|
|
TSQ EXIT6 # TELEMETRY OUTPUT
|
|
|
|
# Page 68
|
|
#
|
|
CLZ FLAG1
|
|
TMI BRANCH # -- IS GUID/NAV CYCLE.
|
|
CLA MS
|
|
STO FLAG1
|
|
EX9 TRA EXIT9
|
|
#
|
|
# HARDWIRED 40 MS COMPUTATIONS
|
|
# DISCRETE INPUT AND STAGING RECOGNITION COMPS.
|
|
#
|
|
INP DISC1I # INPUT DISCRETE WD 1
|
|
STO DISC1C
|
|
ADD 1B17 # OBTAIN TWO'S COMP OF INPUT WD
|
|
COM
|
|
STO DISC1
|
|
CLA DEL2 # TEST FOR STAGING
|
|
TMI EXIT10 # -- IS STAGED
|
|
CLA DISC1C # TEST FOR ASCENT ENG ON
|
|
ALS 6
|
|
TMI EXIT10 # -- IS OFF.
|
|
CLZ DEL21 # RESET LUNAR SURFACE FLAG
|
|
CLA MS
|
|
STO DEL2 # SET STAGED FLAG
|
|
TRA EXIT11
|
|
#
|
|
# DIRECTION COSINE LOGIC
|
|
LRI AXT 6,1
|
|
CLZ DA11,1 # REMAINDERS
|
|
ALS 3 # TO -8
|
|
STO DA11,1
|
|
TIX *-3,1
|
|
CLA RND1
|
|
STO RND+1
|
|
CLA SHFT1
|
|
STO RND+2
|
|
TRA CDCC
|
|
#
|
|
|
|
# Page 69
|
|
HRC CLA HRF
|
|
TMI HRC1
|
|
CLA RND2 # SET UP FOR HIGH RATE
|
|
STO RND+1
|
|
CLA SHFT2
|
|
STO RND+2
|
|
STO HRF
|
|
AXT 6,1
|
|
CLZ DA11,1
|
|
LRS 3 # TO -5
|
|
STO DA11,1
|
|
TIX *-3,1
|
|
HRC1 AXT 2,1
|
|
CLA DAX,1
|
|
STO TS10,1 # AT -6
|
|
CLZ E1,1
|
|
LRS 3 # TO -6
|
|
STO E1,1
|
|
TIX *-5,1
|
|
TRA CDCC
|
|
#
|
|
HRINT CLA DA11,1
|
|
RND2 ADD 1B12 # ROUND
|
|
SHFT2 LRS 6 # TO 1
|
|
STO TS1
|
|
ALS 6
|
|
TRA INTAS+7
|
|
#
|
|
# ATTITUDE HOLD. (40 MS)
|
|
AHE CLA DEL5 # ATTITUDE HOLD ENTRY
|
|
TMI AHE1 # IF MINUS -- DRIVE TO REF COSINES
|
|
CLA MS # FIRST CYCLE IN
|
|
STO DEL5 # ATTITUDE HOLD
|
|
AXT 6,1 # SET DESIRED ATTITUDE
|
|
CLA A11,1
|
|
STO A11D,1
|
|
TIX *-2,1
|
|
|
|
#
|
|
# Page 70
|
|
TSQ EXIT12 # TO ACQUISITION RESET.
|
|
AHE1 LDQ TRNSFR # TRA EROUT INTO Q
|
|
ATTERR STQ SREX # ENTER HERE FROM CALIBRATE
|
|
AXT 2,1 # COMPUTE EX
|
|
CLA A31D,1
|
|
MPR A21,1 # 1+1=+2
|
|
COM
|
|
ADZ EX
|
|
STO EX # +2
|
|
TIX *-5,1
|
|
EYEZ AXT 2,1 # COMPUTE EY AND EZ
|
|
CLA A11D,1
|
|
MPR A21,1 # 1+1=+2
|
|
ADZ EZ
|
|
STO EZ
|
|
CLA A11D,1
|
|
MPR A31,1 # 1+1=+2
|
|
COM
|
|
ADZ EY
|
|
STO EY
|
|
TIX *-9,1
|
|
TRA SREX
|
|
#
|
|
# LIMIT AND OUTPUT ATTITUDE ERRORS
|
|
EROUT TRA EXIT13
|
|
AXT 2,1
|
|
CLZ EX,1
|
|
LDQ MS
|
|
TMI *+2
|
|
TRA *+2
|
|
STQ EX,1
|
|
ABS
|
|
SUB 4K21 # +2
|
|
TMI *+3 # LESS THAN MAX
|
|
CLA PMAX # SET MAX OUTPUT
|
|
TRA *+3
|
|
ADD 4K21
|
|
|
|
# Page 71
|
|
DVP 4K21 # SCALE FACTOR
|
|
ADZ EX,1
|
|
STO EX,1
|
|
TIX EROUT+2,1
|
|
OUT EXO # AT 0
|
|
CLA EY
|
|
OUT EYO # AT 0
|
|
CLA EZ
|
|
OUT EZO # AT 0
|
|
TRA EXIT14
|
|
#
|
|
# RENDEZVOUS STEERING
|
|
RST CLZ DEL5 # CLEAR ATT HLD 1ST CYCLE FLAG
|
|
AXT 2,1
|
|
CLA A11BD,1
|
|
STO A11D,1
|
|
TIX *-2,1
|
|
CLA TRNSFR # TRA EROUT INTO SREX
|
|
STO SREX
|
|
TRA EYEZ
|
|
#
|
|
# LUNAR ALIGN COMPS
|
|
LUNAL CLA A31
|
|
MPR A31
|
|
COM
|
|
ADD 1B2
|
|
TSQ SQRTE
|
|
STO TS1
|
|
CLA SIDELL # COMPUTE COS DEL A
|
|
MPR DDEL
|
|
ADD CODELL
|
|
MPY TS1 # A32D AT 2
|
|
LLS 1
|
|
MPR A22
|
|
STO TS2
|
|
CLA CODELL # COMPUTE SIN DEL A
|
|
MPR DDEL
|
|
|
|
# Page 72
|
|
COM
|
|
ADD SIDELL
|
|
MPY TS1 # A33D AT 2
|
|
LLS 1
|
|
MPR A23
|
|
ADZ TS2
|
|
STO TS2
|
|
CLA A31
|
|
MPR A21
|
|
ADZ TS2
|
|
LDQ ZERO
|
|
DVP 1K26
|
|
STO DAXA # -6
|
|
CLA A31
|
|
LDQ ZERO
|
|
DVP 1K28 # 1-7=-6
|
|
STO TS1
|
|
CLA DVZ
|
|
ADD DVZM1
|
|
MPY 1K27 # 1-4=-3
|
|
LLS 3 # TO -6
|
|
SUZ TS1
|
|
STO DAYA
|
|
CLA DVY
|
|
ADD DVYM1
|
|
MPY 1K27 # 1-4=-3
|
|
LLS 3 # TO -6
|
|
STO TS1
|
|
CLA A21
|
|
LDQ ZERO
|
|
DVP 1K28
|
|
SUZ TS1
|
|
STO DAZA
|
|
AXT 2,1
|
|
CLA DAXA,1
|
|
ABS
|
|
LRS 2 # TO -4
|
|
|
|
# Page 73
|
|
ADZ TS2
|
|
STO TS2
|
|
TIX *-5,1
|
|
SUB 1K29 # TEST FOR LUNAR ALIGN COMPLETE
|
|
STO DEL42 # DEL42 NEG IS LUNAL COMPLETE
|
|
TRA EXIT15
|
|
#
|
|
# FDAI COMPUTATIONS
|
|
FDAI CLA A32 # TOTAL ATTITUDE
|
|
COM # -A32
|
|
TSQ FDAIL # LIMIT ROUTINE
|
|
OUT SIBEO # SIN BETA AT 0
|
|
CLA A33
|
|
MPR A33
|
|
STO TS1
|
|
CLA A31
|
|
MPR A31
|
|
ADZ TS1
|
|
TSQ SQRTE
|
|
STO TS2 # COS BETA
|
|
TSQ FDAIL
|
|
OUT COBEO
|
|
EX16 TRA EXIT16
|
|
CLA TS2
|
|
SUB 1K24
|
|
TMI EXIT17 # USE OLD VALUE OF SIGA AND COGA
|
|
LDQ ZERO
|
|
CLA A31
|
|
LRS 1
|
|
DVP TS2
|
|
STO SIGA
|
|
TSQ FDAIL
|
|
OUT SIGAO
|
|
LDQ ZERO
|
|
CLA A33
|
|
LRS 1
|
|
DVP TS2
|
|
|
|
# Page 74
|
|
STO COGA
|
|
TSQ FDAIL
|
|
OUT COGAO
|
|
EX17 TRA EXIT17
|
|
# THE NEXT 5 CELLS ARE BYPASSED AND
|
|
# RE-WRITTEN IN SOFT MEMORY
|
|
CLA A23 # GAMMA OUTPUT
|
|
MPR SIGA
|
|
STO TS1
|
|
CLA A21
|
|
MPR COGA
|
|
SUZ TS1
|
|
ALS 1
|
|
TSQ FDAIL
|
|
OUT SIALO
|
|
CLA A13
|
|
MPR SIGA
|
|
STO TS1
|
|
CLA A11
|
|
MPR COGA
|
|
SUZ TS1
|
|
ALS 1
|
|
TSQ FDAIL
|
|
OUT COALO
|
|
#
|
|
# DEDA DISCRETE SAMPLING
|
|
#
|
|
INP DISC2I
|
|
ADD 1B17
|
|
COM
|
|
ALS 1 # IS TAPE LOAD REQUESTED
|
|
TMI GSESR # IF MINUS -- TRANSFER TO GSE SERV
|
|
ALS 3
|
|
AXT 3,1
|
|
TMI SPULSE
|
|
ALS 1
|
|
TIX *-2,1
|
|
|
|
# Page 75
|
|
TRA SPULSE+1
|
|
#
|
|
# FDAI LIMITING SUBROUTINE
|
|
FDAIL STQ SREX
|
|
LDQ MS
|
|
TMI *+2
|
|
LDQ ZERO
|
|
STQ TS1 # SET SIGN
|
|
ABS
|
|
ADD 1B11 # ROUND
|
|
ALS 1
|
|
TMI *+2 # -- SET MAX VALUE
|
|
TRA *+2
|
|
CLA PMAX
|
|
ADZ TS1
|
|
TRA SREX
|
|
#
|
|
SPULSE STO READP,1 # SET DEDA FLAG
|
|
TRA EXIT18
|
|
#
|
|
# COMPUTE NORMALITY AND ORTHOGONALITY CONSTRAINTS
|
|
NOC AXT 2,1
|
|
CLA A11,1
|
|
MPR A11,1
|
|
ADZ E1
|
|
STO E1 # AT 2
|
|
CLA A31,1
|
|
MPR A31,1
|
|
ADZ E3 # AT 2
|
|
STO E3
|
|
CLA A11,1
|
|
MPR A31,1
|
|
ADZ E13
|
|
STO E13 # AT 2
|
|
TIX NOC+1,1
|
|
ALS 10 # DIV BY 2, SCALE AT -9
|
|
STO E13
|
|
|
|
# Page 76
|
|
AXT 1,1
|
|
CLA 1B2
|
|
SUZ E1,1 # 1-E
|
|
ALS 10 # TO -9
|
|
STO E1,1
|
|
TIX *-4,1
|
|
TRA EXIT19
|
|
#
|
|
# EULER ANGLE DIRECTION COSINES SUBROUTINE
|
|
EADICS STQ SREX1
|
|
CLA THEP
|
|
MPR 2PIB3 # RADIANS AT 3
|
|
TSQ SICOE
|
|
CLZ TS1
|
|
STO TS5
|
|
12B4 CLZ TS0 # VALUE USED AS CONSTANT
|
|
STO TS6
|
|
CLA PSIP
|
|
MPR 2PIB3
|
|
TSQ SICOE
|
|
CLZ TS1
|
|
STO A12D # 1
|
|
CLZ TS0
|
|
STO TS7
|
|
CLA PHIP
|
|
MPR 2PIB3
|
|
TSQ SICOE # INPUTS COMPLETE
|
|
CLA TS7
|
|
MPR TS6
|
|
ALS 1
|
|
STO A11D # 1
|
|
CLA TS7
|
|
MPR TS5
|
|
ALS 1
|
|
COM
|
|
STO A13D # 1
|
|
CLA TS1
|
|
|
|
# Page 77
|
|
MPR A12D
|
|
ALS 1
|
|
STO TS3
|
|
MPR TS6
|
|
STO TS4
|
|
1B1 CLA TS0 # COSINE PHI
|
|
MPR TS5
|
|
ADZ TS4
|
|
ALS 1
|
|
STO A31D # 1
|
|
CLZ TS1
|
|
MPZ TS7
|
|
ALS 1
|
|
COM
|
|
STO A32D # 1
|
|
CLZ TS3
|
|
MPZ TS5
|
|
STO TS4
|
|
CLZ TS0
|
|
MPZ TS6
|
|
SUZ TS4
|
|
ALS 1
|
|
STO A33D # DI-COS COMPLETE
|
|
TRA SREX1 # EXIT
|
|
#
|
|
# IMU ALIGN COMPUTATIONS
|
|
ZNOC CLZ E1
|
|
CLZ E3
|
|
CLZ E13
|
|
IMUDC TSQ EADICS
|
|
AXT 6,1
|
|
CLA A11D,1 # REPLACE DIR COSINES
|
|
STO A11,1 # WITH IMU DIR COSINES.
|
|
CLZ DA11,1 # ZERO REMAINDERS
|
|
TIX *-3,1
|
|
TRA COA21-2
|
|
#
|
|
|
|
# Page 78
|
|
# INITIALIZE BRANCHES.
|
|
#
|
|
IC1 CLZ S14
|
|
SUB 2B3
|
|
TMI EXIT20 # TO DL FORMATTIG
|
|
AXT 2,1 # LEM POS AND VEL DATA
|
|
CLZ 1J1,1 # LEM POS
|
|
STO R0X,1
|
|
CLZ 1J4,1 # LEM VEL
|
|
STO V0X,1
|
|
TIX *-4,1
|
|
CLZ 1J7 # EPOCH TIME MS
|
|
STO TL1
|
|
CLZ 1J7LS # EPOCH TIME LS
|
|
STO TL2
|
|
TSQ ORBPM
|
|
CLZ DSPSC # CLEAR DISPLAY COUNTER
|
|
TSQ EXIT21
|
|
#
|
|
IC2 AXT 1,1
|
|
TSQ DPTSB # COMPUTE DBL PREC TA - TL
|
|
CLA DEL21
|
|
TMI RVCOMP
|
|
TSQ ELPRD # TRNSFR TO ELLIPSE PRED
|
|
AXT 2,1
|
|
CLZ RIX,1
|
|
STO RX,1
|
|
CLZ VIX,1
|
|
STO VX,1
|
|
TIX *-4,1
|
|
TRA *+9
|
|
RVCOMP AXT 2,1
|
|
CLZ V0X,1
|
|
STO VX,1
|
|
MPY TI # 13+13=26
|
|
LLS 3
|
|
ADZ R0X,1
|
|
|
|
# Page 79
|
|
STO RX,1 # AT 23
|
|
TIX *-6,1
|
|
TSQ EXEC # IC3 NEXT
|
|
#
|
|
IC3 TSQ GRAV # TO GRAVITY
|
|
AXT 2,1
|
|
CLZ DVSX,1
|
|
CLZ DRX,1
|
|
CLA GXDT,1
|
|
STO DIGX,1
|
|
TIX *-4,1
|
|
TRA EXIT22
|
|
#
|
|
# CSM DL OR DEDA INPUTS TO EPOCH CELLS.
|
|
CSMPV AXT 2,1
|
|
CLZ 2J1,1 # CSM POS
|
|
STO REX,1
|
|
CLZ 2J4,1 # CSM VEL
|
|
STO VEX,1
|
|
TIX *-4,1
|
|
CLZ 2J7 # CSM EPOCH MS
|
|
STO TE1
|
|
CLZ 2J7LS # CSM EPOCH LS
|
|
STO TE2
|
|
CLZ TB
|
|
TRA EXIT
|
|
#
|
|
# NEXT 5 INSTRUCTIONS BYPASSED
|
|
#
|
|
NAV CLA DEL21
|
|
TMI NAV1 # -- IS ON LUNAR SURFACE
|
|
CLA 0464
|
|
SUB VDX
|
|
ALS 6
|
|
#
|
|
# HARDWIRED NAVIGATION
|
|
#
|
|
|
|
# Page 80
|
|
STO AT # 1/2(VD1-VD) AT 7
|
|
SUB 4K35 # ULLAGE THRESHOLD
|
|
TMI NAV2-2 # AT-4K35
|
|
CLZ MU8 # INCR ULLAGE COUNTER.
|
|
ADD 1B17
|
|
STO MU8
|
|
TRA EXIT24
|
|
NAV1 CLZ DIGX # LUNAR SURFACE NAV.
|
|
CLZ DIGY
|
|
CLZ DIGZ
|
|
CLA 1K9 # ULLAGE COUNT LIMIT
|
|
STO MU8
|
|
TRA EXIT23
|
|
CLZ MU8 # RESET ULLAGE COUNTER.
|
|
TRA EXIT24
|
|
NAV2 CLZ TS1 # ACCEL DRIFT TEST.
|
|
AXT 2,1
|
|
CLA DVSX,1
|
|
ABS
|
|
ADZ TS1
|
|
STO TS1
|
|
TIX *-4,1
|
|
SUB 1K35
|
|
TMI EXIT25 # COAST PHASE
|
|
TRA EXIT26
|
|
NAV3 CLZ DVSX
|
|
CLZ DVSY
|
|
CLZ DVSZ
|
|
TRA EXIT26
|
|
NAV4 AXT 2,1 # VEL AND POS UPDATE.
|
|
CLZ DVSX,1 # SENSED VEL AT 7
|
|
ADZ DIGX,1 # PREDICTED INTG GRAVITY.
|
|
STO DIGX,1 # 7
|
|
ADD 1B12 # ROUND
|
|
LRS 6
|
|
STO TS2 # DV AT 13
|
|
ADD VX,1
|
|
|
|
# Page 81
|
|
STO TS1 # NEW V AT 13
|
|
MPR KDT # DT/2 AT 1.
|
|
STO TS4
|
|
CLZ VX,1 # V(N-1)
|
|
MPR KDT
|
|
ADZ TS4
|
|
ADZ DRX,1
|
|
STO DRX,1 # 14
|
|
ADD 1B9 # ROUND
|
|
LRS 9
|
|
STO TS3 # DR AT 23
|
|
ADZ RX,1
|
|
STO RX,1 # NEW R AT 23
|
|
CLZ TS2 # DV AT 13
|
|
ALS 6
|
|
COM
|
|
ADZ DIGX,1
|
|
STO DIGX,1 # VEL REMAINDER AT 7
|
|
CLZ TS3 # DR AT 23
|
|
ALS 9
|
|
COM
|
|
ADZ DRX,1
|
|
STO DRX,1 # POS REMAINDER AT 14
|
|
CLZ TS1
|
|
STO VX,1 # NEW V AT 13
|
|
TIX NAV4+1,1
|
|
TSQ GRAV # TO GRAVITY COMP.
|
|
EX28 TRA EXIT28
|
|
CLA 4K34 # LIMIT AT.
|
|
SUB AT
|
|
TMI *+3
|
|
CLA 4K34
|
|
STO AT
|
|
CLA MS # SET IC DISPLAY.
|
|
STO DSPF1
|
|
TSQ TIMEA # TO TA UPDATE
|
|
#
|
|
|
|
# Page 82
|
|
# CSM ORBIT PARAMETERS
|
|
#
|
|
ORBPAR CLA S14
|
|
SUB 3B3
|
|
TMI *+4
|
|
CLZ S14
|
|
TSQ CSMPV
|
|
EX29 TRA EXIT29
|
|
AXT 2,1
|
|
CLA REX,1
|
|
STO TS4,1
|
|
STO R0X,1
|
|
CLA VEX,1
|
|
STO TS10,1
|
|
STO V0X,1
|
|
TIX *-6,1
|
|
TSQ CRSPRD
|
|
TSQ NORMV
|
|
AXT 2,1
|
|
CLZ TS10,1
|
|
STO WCX,1
|
|
TIX *-2,1
|
|
TSQ ORBPM # COMPUTE CSM ORB PARAMS FROM EPD
|
|
CLA 2PIB3
|
|
LDQ ZERO
|
|
LRS 1
|
|
DVP NI # 4-(-9)=13
|
|
STO TCSM
|
|
EX30 TRA EXIT30
|
|
CLA TB
|
|
SUB TCSM
|
|
TMI BR2EX
|
|
CLA TCSM
|
|
LDQ ZERO
|
|
LRS 5 # TO +18
|
|
STQ TS1
|
|
ADZ TE1
|
|
|
|
# Page 83
|
|
STO TE1
|
|
CLZ TS1
|
|
ADZ TE2
|
|
STO TE2
|
|
TMI *+2 # OVERFLOW
|
|
TRA BR2EX
|
|
SUB MS
|
|
STO TE2
|
|
CLZ TE1
|
|
ADD 1B17
|
|
STO TE1
|
|
BR2EX TSQ EXEC
|
|
#
|
|
# CSM PRESENT POS AND VEL.
|
|
#
|
|
AXT 0,1
|
|
TSQ DPTSB # COMPUTE DBL PREC TA-TE
|
|
STO TB # +13
|
|
TSQ ELPRD # TRANSFER TO ELLIPSE PRED
|
|
AXT 2,1
|
|
CLZ RIX,1
|
|
STO RCX,1 # 23
|
|
CLZ VIX,1
|
|
STO VCX,1 # 13
|
|
TIX *-4,1
|
|
TSQ EXEC
|
|
#
|
|
AXT 2,1
|
|
CLA VX,1 # COMPUTE MAGNITUDE OF VEL VECTOR
|
|
STO TS4,1
|
|
TIX *-2,1
|
|
TSQ DPVMAG
|
|
STO V # 13
|
|
TRA EXIT31
|
|
#
|
|
# GRAVITY AND H, HDOT COMPUTATIONS.
|
|
#
|
|
|
|
# Page 84
|
|
GRAV STQ SREX3
|
|
AXT 2,1
|
|
CLA RX,1
|
|
STO TS14,1
|
|
TIX *-2,1
|
|
TSQ NORMV # COMPUTE U1 AND R.
|
|
CLZ TS13
|
|
STO R # 23
|
|
SUB 5J # MEAN LUNAR RADIUS
|
|
STO H # ALTITUDE AT 23
|
|
EX27 TRA EXIT27
|
|
CLA 2K4
|
|
LDQ ZERO
|
|
LRS 3 # 52
|
|
DVP TS17 # R SQ AT 46
|
|
STO TS7 # -GRAV VECT MAG AT 6
|
|
AXT 2,1
|
|
GRAV1 CLZ GXDT,1
|
|
STO TS0 # G(N-1)DT
|
|
CLZ TS10,1 # UNIT VECTOR FR NORMV
|
|
STO U1X,1 # 1
|
|
MPR TS7 # -MUDT/(R SQ) AT 6
|
|
STO GXDT,1 # 7
|
|
7B3 SUZ TS0 # G(N-1)DT
|
|
LRS 1
|
|
ADD GXDT,1 # PREDICTED INTG GRAV IN A
|
|
ADZ DIGX,1 # VEL REMAINDER
|
|
STO DIGX,1 # INTG GRAV+VEL REM AT
|
|
CLA VX,1 # 13
|
|
MPR U1X,1 # FORM V DOT U1.
|
|
ADZ TS13
|
|
STO TS13
|
|
TIX GRAV1,1
|
|
ALS 1
|
|
STO HDOT # ALT RATE AT 13.
|
|
TRA SREX3
|
|
#
|
|
|
|
# Page 85
|
|
# LEM ORBIT PARAMETERS.
|
|
#
|
|
LMORB CLA HDOT # B13
|
|
MPY HDOT
|
|
STO TS14
|
|
STQ TS15
|
|
CLA V # 13
|
|
MPR V
|
|
SUB TS14
|
|
STO TS7 # VH SQ AT 26
|
|
TSQ SQRTE
|
|
STO VH # 13
|
|
TOV *+1 # CL. O.F.
|
|
CLA R # 23
|
|
MPR R
|
|
MPR 2K2
|
|
MPY TS7 # 46-47+26=25
|
|
LLS 2
|
|
STO TS10 # PL AT 23
|
|
LRS 1
|
|
STO TS11 # SAVE PL AT 24
|
|
STQ TS12
|
|
DVP R
|
|
SUB 1B1
|
|
ALS 4 # -3
|
|
STO TS0
|
|
MPZ TS0
|
|
STO TS13 # (PL/R-1) SQ AT -6.
|
|
CLZ TS14 # HDOT SQ AT 26
|
|
LDQ TS15
|
|
LLS 8 # 1B
|
|
MPR 2K2
|
|
MPR TS10 # PL
|
|
ADZ TS13 # EL SQ IN A AT -6.
|
|
TOV LMORB1+2
|
|
TSQ SQRTE
|
|
LRS 4 # EL AT 1
|
|
|
|
# Page 86
|
|
ADD 1B1
|
|
STO TS1 # 1+EL AT 1.
|
|
CLZ TS11 # OL AT 24
|
|
LDQ TS12
|
|
DVP TS1
|
|
LMORB1 STO QL # LM PERICYNTHION AT 23
|
|
TRA EXIT32
|
|
CLA 2K3 # SET QL=CONST
|
|
TRA LMORB1
|
|
#
|
|
# CSM PREDICTION.
|
|
#
|
|
CSMT1 TSQ ELPRD # TO ELLIPSE PREDICTOR.
|
|
TSQ EXEC
|
|
#
|
|
# TRANSFER ORBIT VECTORS.
|
|
#
|
|
AXT 2,1
|
|
CLA RIX,1 # CSM PRED POS
|
|
STO TS14,1
|
|
TIX *-2,1
|
|
TSQ NORMV # NORMALIZE RT
|
|
CLZ TS13
|
|
STO RT # 23
|
|
AXT 2,1
|
|
XORBV1 CLA TS10,1 # C1X=BX
|
|
STO U2X,1
|
|
CLA U1X,1
|
|
STO TS4,1
|
|
MPR U2X,1
|
|
ADZ TS13
|
|
STO TS13
|
|
TIX XORBV1,1
|
|
ALS 1
|
|
STO C1 # U1 DOT U2 AT 1.
|
|
MPR C1
|
|
COM
|
|
|
|
# Page 87
|
|
ADD 1B2
|
|
TSQ SQRTE
|
|
STO C2 # 1
|
|
EX33 TRA EXIT33
|
|
TSQ CRSPRD # U1XU2 AT 2.
|
|
CLA TS14+1
|
|
MPY WCY
|
|
TMI *+2 # -- IS REND ANG GREAT 180.
|
|
TRA *+4
|
|
CLZ C2
|
|
COM
|
|
STO C2
|
|
AXT 2,1 # NORMALIZE W1 AND
|
|
XORBV2 CLZ TS14,1
|
|
LDQ ZERO
|
|
DVP C2
|
|
STO W1X,1 # 1
|
|
CLA U1X,1
|
|
MPR C1
|
|
STO TS1
|
|
CLA U2X,1 # 1
|
|
LRS 1
|
|
SUZ TS1
|
|
LDQ ZERO
|
|
DVP C2
|
|
STO V1X,1 # 1
|
|
CLA U1X,1 # 1
|
|
LRS 1
|
|
STO TS1 # 2
|
|
CLA U2X,1
|
|
MPR C1
|
|
SUZ TS1
|
|
LDQ ZERO
|
|
DVP C2
|
|
STO V2X,1 # 1
|
|
TIX XORBV2,1
|
|
CLZ MU3 # P-ITERATION INDEX.
|
|
|
|
# Page 88
|
|
TSQ EXEC
|
|
#
|
|
# P-ITERATOR
|
|
#
|
|
EX34 TRA EXIT34
|
|
TOV *+1 # CL. O.F.
|
|
CLA P # ITERATION P AT 23
|
|
SUB RF
|
|
LDQ ZERO
|
|
DVP RF
|
|
STO TS11 # X1 AT 0.
|
|
MPY TS11
|
|
LLS 2
|
|
STO TS1 # X1 SQ. AT -2
|
|
CLA P
|
|
SUB RT
|
|
LDQ ZERO
|
|
DVP RT
|
|
STO TS12 # X2 AT .0
|
|
MPR C1
|
|
STO TS2 # 1
|
|
CLA TS11 # X1
|
|
LRS 1
|
|
SUZ TS2
|
|
LDQ ZERO
|
|
DVP C2
|
|
STO X4 # AT 0.
|
|
CLA TS12 # X2
|
|
LRS 1
|
|
STO TS2 # 1
|
|
CLA TS11 # X1
|
|
MPR C1
|
|
SUZ TS2
|
|
LDQ ZERO
|
|
DVP C2 # 1
|
|
STO X3 # AT 0.
|
|
MPY X3
|
|
|
|
# Page 89
|
|
LLS 2
|
|
ADZ TS1 # -2
|
|
TOV EXIT35 # O.F. IF E TOO LARGE.
|
|
STO ESQ # E SQ AT -2.
|
|
LRS 2
|
|
STO TS13 # E SQ AT 0.
|
|
COM
|
|
ADD PMAX
|
|
STO TS14 # (1-E SQ) AT 0.
|
|
TSQ SQRTE
|
|
STO TS15 # ROOT(1-E SQ) AT 0.
|
|
CLA X4
|
|
SUB X3
|
|
LRS 1 # 1
|
|
ADD C2
|
|
MPR TS15
|
|
STO TS3 # SIN(DELTA E) AT 1.
|
|
CLA X3
|
|
MPR X4
|
|
COM
|
|
ADZ TS13
|
|
LRS 1 # 1
|
|
STO TS13 # E SQ-X3(X4) AT 1.
|
|
CLZ TS11
|
|
ADZ TS12 # X1+X2
|
|
LRS 1 # 1
|
|
ADZ TS13
|
|
ADD C1
|
|
STO TS4 # COS(DELTA E) AT 1.
|
|
TSQ ARCTAE
|
|
STO TS16 # DELTA E AT 3.
|
|
CLA RT
|
|
MPR X4
|
|
STO TS1 # 23
|
|
CLA RF
|
|
MPR X3
|
|
SUZ TS1
|
|
|
|
# Page 90
|
|
MPY TS15
|
|
LRS 3 # 26
|
|
DVP P
|
|
ADZ TS16
|
|
STO TS16 # DELTAE + X7-X8 AT 3.
|
|
CLA P
|
|
LDQ ZERO
|
|
DVP TS14 # 1-E SQ
|
|
STO ALPHA # 23
|
|
MPR 2K2 # 1/2K1 AT -47
|
|
TSQ SQRTE # (-47+23)/2=-12
|
|
MPR ALPHA # 1/N AT 11 IN A.
|
|
MPZ TS16 # 11+3=14
|
|
ALS 1 # NEW TP AT 13.
|
|
SUB TP
|
|
STO TS2 # DELTA TP
|
|
ADZ TP
|
|
STO TP # 13
|
|
CLA T
|
|
SUB TP
|
|
STO TS0 # T-TP
|
|
CLZ MU3 # INCREMENT ITER COUNTER.
|
|
ADD 1B17
|
|
STO MU3
|
|
SUB 2B17 # ITERATION SCHEME.
|
|
TMI PITER2 # -- IS MU3=1.
|
|
SUB 1B17
|
|
TMI PITER1 # -- IS MU3=2.
|
|
SUB 2K17 # MU3-NO. ITERATIONS IN A.
|
|
TMI *+6 # -- IS NOT DONE.
|
|
CLZ TS0 # DONE. T-TP
|
|
ABS
|
|
SUB 2K20
|
|
TMI PITER3+5 # -- IS CONVERGED.
|
|
TRA EXIT35
|
|
CLA TS2 # DELTA TP.
|
|
ABS
|
|
|
|
# Page 91
|
|
SUB 2K18
|
|
TMI DELP # -- IS SKIP PARTIAL
|
|
PITER1 CLA P # COMPUTE PARTIAL T.
|
|
SUZ PP
|
|
STO TS1 # 23
|
|
LDQ ZERO
|
|
LRS 4 # 27
|
|
TOV *+1 # CL. O.F.
|
|
TRA *+2
|
|
DLY INIT # TO TURN ON SEQUENCE
|
|
DVP TS2 # 27-13=14
|
|
TOV *+2
|
|
TRA *+7
|
|
CLZ TS1 # DET SIGN OF PART
|
|
MPY TS2 # NUM X DENOM
|
|
TMI *+3
|
|
CLA PMAX
|
|
TRA *+2
|
|
CLA NMAX
|
|
STO PART # PARTIAL T AT 14
|
|
DELP CLZ TS0 # T-TP
|
|
MPY PART
|
|
LLS 4 # 13+14-4=23
|
|
STO TS3 # DELTA P
|
|
ABS
|
|
SUB 2K19
|
|
TMI PITER3
|
|
CLZ TS3
|
|
TMI *+5
|
|
CLA 2K19
|
|
TRA *+5
|
|
PITER2 CLA 2K14
|
|
TRA *+2
|
|
CLA 2K19
|
|
COM
|
|
STO TS3 # DELTA P
|
|
PITER3 CLZ P
|
|
|
|
# Page 92
|
|
STO PP
|
|
ADZ TS3
|
|
STO P # NEW P
|
|
TRA EXEC+1
|
|
TSQ EXEC
|
|
#
|
|
# IMPULSE AND BRAKING VELOCITIES
|
|
#
|
|
TBRAKE CLA 2K1 # 48
|
|
LDQ ZERO
|
|
LRS 1
|
|
DVP P # 49-23=26
|
|
TSQ SQRTE
|
|
STO TS1 # ROOT(MU/P) AT 13
|
|
MPZ X3
|
|
STO RFDOT # 13
|
|
CLA TS1
|
|
MPZ X4
|
|
STO TS13 # 13
|
|
CLZ TS1
|
|
MPY P
|
|
STO TS1 # ROOT(PXMU) AT 36
|
|
STQ TS2
|
|
DVP RF
|
|
STO TS12 # 13
|
|
CLZ TS1
|
|
LDQ TS2
|
|
DVP RT
|
|
STO TS14 # 13
|
|
EX36 TRA EXIT36
|
|
TOV *+1 # CL. O.F.
|
|
AXT 2,1
|
|
IMPBK1 CLA TS13 # ROOT(MU/P)X(X4) AT 13
|
|
MPZ U2X,1 # 1
|
|
STO TS7
|
|
CLA TS14 # ROOT(PXMU)/RT AT 13
|
|
MPZ V2X,1 # 1
|
|
|
|
# Page 93
|
|
ADZ TS7
|
|
ALS 1 # 13
|
|
SUB VIX,1
|
|
STO VFX,1 # -BRAKING VEL AT 13
|
|
CLA RFDOT # 13
|
|
MPR U1X,1 # 1
|
|
STO TS7
|
|
CLA TS12 # ROOT(PXMU)/RF AT 13
|
|
MPR V1X,1 # 1
|
|
ADZ TS7
|
|
ALS 1 # 13
|
|
SUB V5X,1
|
|
STO VGX,1 # VEL TO GAIN AT 13
|
|
STO TS4,1
|
|
TIX IMPBK1,1
|
|
TOV EXIT35 # CHECK VG OR VF D.F.
|
|
TSQ DPVMAG
|
|
STO VG # 13
|
|
CLZ ESQ # E SQ ER P ITER AT -2.
|
|
TSQ SQRTE
|
|
LRS 1 # E AT 0.
|
|
COM
|
|
ADD PMAX # 1-E AT 0.
|
|
MPR ALPHA
|
|
STO Q1 # Q OF TRANS ORB AT 23
|
|
TSQ EXEC
|
|
# COMPLETE VF ON FOLLOWING CYCLE.
|
|
AXT 2,1
|
|
CLA VFX,1 # 13
|
|
STO TS4,1
|
|
TIX *-2,1
|
|
TSQ DPVMAG
|
|
TRA EXIT37 # VF IN A AT 8.
|
|
#
|
|
# GUIDANCE LAW COMPUTATIONS.
|
|
#
|
|
GDLAW TOV *+1 # TIME TO BURN COMP.
|
|
|
|
# Page 94
|
|
CLA VG # 13
|
|
MPR 4K3 # AT -25
|
|
ADD 4K2 # AT -12
|
|
MPR VG
|
|
ADD 1B1
|
|
MPY VG
|
|
LRS 2 # 16
|
|
DVP AT # 16-7=9
|
|
TOV *+2
|
|
TRA *+2
|
|
CLA PMAX
|
|
STO TBO # TIME TO BURN AT 9.
|
|
TRA EXIT38
|
|
#
|
|
# COMPUTE LUNAR AZIMUTH
|
|
#
|
|
LUNAZ CLA A31
|
|
MPR A31 # +2
|
|
COM
|
|
ADD 1B2
|
|
TSQ SQRTE
|
|
STO TS1 # +1
|
|
LDQ ZERO
|
|
CLA A32
|
|
LRS 1 # TO 2
|
|
DVP TS1
|
|
STO CODELL
|
|
LDQ ZERO
|
|
CLA A33
|
|
LRS 1 # TO 2
|
|
DVP TS1
|
|
STO SIDELL # AT 1
|
|
CLA MS
|
|
STO DEL21
|
|
TRA EXIT39
|
|
#
|
|
# POWER ON INITIALIZATION
|
|
|
|
# Page 95
|
|
#
|
|
INIT OUT 3050 # RESET CARRY INHIBIT
|
|
INP 6200
|
|
INP DEDA
|
|
OUT 7057 # RESET DISCRETES
|
|
CLA BACK
|
|
STO TVARBR+1
|
|
CLA CLAFR # PRIME HARDWIRED CORES
|
|
STO TVARBR
|
|
TSQ TVARBR
|
|
CLA TVARBR
|
|
SUB CLATEN
|
|
TMI *-3
|
|
OUT 7010 # RESET FAILURE INDICATOR
|
|
# GSF SERVICE ROUTINE
|
|
GSESR INP 2040
|
|
ALS 1
|
|
TMI EXIT40 # INITIALIZE
|
|
INP 6200
|
|
ADD 1B5
|
|
STO TS7
|
|
ADD STOCOM # SET UP VARIABLE STORE
|
|
STO TVARBR
|
|
WRDLP OUT 6402 # SET GSE 5
|
|
INP 2040
|
|
ALS 1
|
|
TMI *+2
|
|
TRA *-3
|
|
OUT 7012 # RESET GSE 5 AND FAIL INDIC.
|
|
INP 2040
|
|
ALS 1
|
|
TMI *-3 # WAIT FOR NEXT WORD
|
|
ALS 1
|
|
TMI *+5
|
|
CLZ TS7 # END OF BLOCK
|
|
ADD TRACOM
|
|
STO TVARBR
|
|
|
|
# Page 96
|
|
TRA TVARBR
|
|
INP 6200 # INPUT WORD AND STORE
|
|
TSQ TVARBR
|
|
TRA WRDLP
|
|
RETURN STO TS0 # INCREMENT OF VARIABLE
|
|
CLZ TVARBR
|
|
ADD 1B17
|
|
STO TVARBR
|
|
CLZ TS0
|
|
TRA EXIT
|
|
#
|
|
# TIME UPDATE AND EXECUTIVE PART 1.
|
|
#
|
|
TIMEA CLZ TA1 # UPDATE ABS TIME.
|
|
ADD 1B17 # EQU TO 2 SECS.
|
|
STO TA1
|
|
CLA 1B11 # I.C. DEDA COUNTER
|
|
STO DEDASC
|
|
EXEC STQ BRANCH # SET NEXT BRANCH.
|
|
CLZ DEDASC
|
|
ALS 1
|
|
TMI *+3 # -- IS TIME TO DEDA.
|
|
STO DEDASC
|
|
TRA EXIT41
|
|
CLZ BRANCH # SAVE BRANCH IN
|
|
STO TMPBR # TEMPORARY BRANCH
|
|
CLA DEDABR # DEDA START
|
|
STO BRANCH
|
|
TRA EXIT41 # TO SOFT DISPLAY
|
|
#
|
|
# DISPLAY SUBROUTINE
|
|
#
|
|
DSPLY CLZ DSPSC
|
|
ALS 1
|
|
TOV *+2 # O.F. IS TIME TO DISPLAY
|
|
TRA DSPLY4
|
|
CLZ PDOUT # INCREMENT DISPLAY VARIABLES.
|
|
|
|
# Page 97
|
|
ADD DPDOUT
|
|
STO PDOUT # 13
|
|
CLZ POUT
|
|
ADD DPOUT
|
|
TRA DSPLY2-5
|
|
DSPLY1 STO PDOUT # I.C. DISPLAY COMPS.
|
|
SUZ PDOTM1
|
|
MPR 1K4 # .1
|
|
STO DPDOUT # DELTA PDOT AT 13.
|
|
CLA PDOUT # 13
|
|
STO PDOTM1
|
|
MPY 1K4 # .1
|
|
LRS 9 # 0.2 PDOT AT 23.
|
|
DVP POUTFS # =76840 FT B28
|
|
STO DPOUT # DELTA P AT DISPLAY SCALE.
|
|
CLA POUT # 23
|
|
LDQ ZERO
|
|
DVP POUTFS # =76840 FT B23
|
|
TOV *+2
|
|
TRA *+3
|
|
CLZ DPOUT
|
|
CLA PMAX
|
|
STO POUT # OUTPUT P AT DISPLAY SCALE.
|
|
DSPLY2 CLA PDOUT # DISPLAY POSITION RATE.
|
|
ABS
|
|
STO TS10
|
|
CLA PDOUT
|
|
TMI *+3
|
|
CLA MS # 1 IS +
|
|
TRA *+2
|
|
CLA ZERO # 0 IS -
|
|
ADZ TS10 # SIGN MAGNITUDE.
|
|
OUT 3040 # RESET
|
|
OUT 2440 # SELECT ALT RATE.
|
|
OUT 6010 # OUTPUT ALT RATE.
|
|
TRA EXIT42 # COMPUTE VY0 FOR OUTPUT
|
|
OUT 6020 # OUTPUT SAME.
|
|
|
|
# Page 98
|
|
DSPLY3 CLA POUT # DISPLAY POSITION
|
|
TMI *+2
|
|
TRA *+2
|
|
CLA ZERO # ALT NEG.
|
|
ALS 1 # SIGN BIT USED
|
|
OUT 3040 # RESET
|
|
OUT 2420 # SELECT ALT.
|
|
OUT 6010 # OUTPUT ALT.
|
|
CLA 1B5
|
|
DSPLY4 STO DSPSC # RESET COUNTER.
|
|
#
|
|
# CYCLE COUNTING
|
|
#
|
|
EXEC1 CLZ MU10 # UPDATE MINOR CYCLE COUNT.
|
|
ADD 1B17
|
|
STO MU10
|
|
TRA EXIT43
|
|
CLA MU10 # CHECK FOR END.
|
|
SUB 49B17
|
|
TMI DELAY # -- IS NOT END.
|
|
CLZ MU10
|
|
CLA BR50 # BR50 START.
|
|
STO BRANCH
|
|
TRA DELAY
|
|
#
|
|
# CROSS PRODUCT SUBROUTINE. AXB=C.
|
|
#
|
|
CRSPRD STQ SREX
|
|
CLA TS4+2 # AZ
|
|
MPR TS10+1 # BY
|
|
STO TS7
|
|
CLA TS4+1 # AY
|
|
MPR TS10+2 # BZ
|
|
SUZ TS7
|
|
STO TS14 # CX
|
|
CLA TS4 # AX
|
|
MPR TS10+2 # BZ
|
|
|
|
# Page 99
|
|
STO TS7
|
|
CLA TS4+2 # AZ
|
|
MPR TS10
|
|
SUZ TS7
|
|
STO TS14+1 # CY
|
|
CLA TS4+1 # AY
|
|
MPR TS10 # BX
|
|
STO TS7
|
|
CLA TS4 # AX
|
|
MPR TS10+1 # BY
|
|
SUZ TS7
|
|
STO TS14+2 # CZ
|
|
TRA SREX
|
|
#
|
|
# NORMALIZE VECTOR SUBROUTINE.
|
|
#
|
|
NORMV STQ SREX2
|
|
CLZ TS17
|
|
AXT 2,1
|
|
CLA TS14,1 # INPUT VECTOR
|
|
MPR TS14,1
|
|
ADZ TS17
|
|
STO TS17
|
|
TIX *-4,1
|
|
TSQ SQRTE
|
|
STO TS13
|
|
AXT 2,1
|
|
CLA TS14,1
|
|
LDQ ZERO
|
|
LRS 1
|
|
DVP TS13
|
|
STO TS10,1 # UNIT VECTOR AT 1.
|
|
TIX *-5,1
|
|
TRA SREX2
|
|
#
|
|
# ORBIT PARAMETERS FROM EPOCH SUBROUTINE
|
|
#
|
|
|
|
# Page 100
|
|
ORBPM STQ SREX2
|
|
CLZ TS11
|
|
CLZ TS12
|
|
CLZ TS13
|
|
TOV *+1
|
|
AXT 2,1
|
|
ORBPM1 CLA R0X,1 # 23
|
|
MPR V0X,1 # 13
|
|
ADZ TS13
|
|
STO TS13 # R0 DOT V0 AT 36
|
|
CLA V0X,1
|
|
MPR V0X,1
|
|
ADZ TS12
|
|
STO TS12 # V0 DOT V0 AT 26
|
|
CLA R0X,1
|
|
MPR R0X,1
|
|
ADZ TS11
|
|
STO TS11 # R0 DOT R0 AT 46
|
|
TIX ORBPM1,1
|
|
EX44 TRA EXIT44
|
|
TSQ SQRTE
|
|
STO R0 # 23
|
|
MPY TS12 # 23+26=49
|
|
TOV *+1
|
|
DVP 2K1 # 48
|
|
COM
|
|
ADD PMAX # 2B1
|
|
STO TS1
|
|
CLA R0
|
|
LDQ ZERO
|
|
LRS 1
|
|
DVP TS1
|
|
EX45 TRA EXIT45
|
|
STO AI # ALPHA I AT 23
|
|
CLA 2K1
|
|
LDQ ZERO
|
|
LRS 1 # 49
|
|
|
|
# Page 101
|
|
DVP AI # 49-23=26
|
|
TSQ SQRTE
|
|
STO TS1 # ROOT(MU/ALPHA) AT 15
|
|
LDQ ZERO
|
|
LRS 1
|
|
DVP AI
|
|
STO NI # ANG FREQ AT -9.
|
|
CLA AI
|
|
SUB R0
|
|
LDQ ZERO
|
|
DVP AI
|
|
STO CI # 0
|
|
CLA AI
|
|
MPZ TS1
|
|
STO TS1 # ROOT(ALPHA X MU) AT 36
|
|
CLZ TS13
|
|
LDQ ZERO
|
|
DVP TS1
|
|
STO SI # 0
|
|
TRA SREX2
|
|
#
|
|
# ELLIPSE PREDICTOR SUBROUTINE.
|
|
#
|
|
ELPRD STQ SREX2
|
|
CLZ TS7 # ITERATION COUNTER.
|
|
CLA TI # 13
|
|
MPR NI # AT -9.
|
|
ALS 1
|
|
STO TS10 # DEL M AT 3.
|
|
ELPRD1 STO TS11 # DEL E AT 3.
|
|
TSQ SICOE
|
|
CLA TS0
|
|
MPR CI # AT 0.
|
|
STO TS13 # 1
|
|
CLA TS1 # 1
|
|
MPR SI # 0+1=1
|
|
SUZ TS13
|
|
|
|
# Page 102
|
|
ADD 1B1
|
|
STO TS12 # X12 AT 1.
|
|
CLZ TS7
|
|
SUB 2B17 # 2 ITERATIONS.
|
|
TMI ELPRD3 # -- IS NOT DONE.
|
|
CLA CI # 0
|
|
LRS 1 # 1
|
|
COM
|
|
ADD TS0
|
|
MPY AI # 23+1=24
|
|
DVP R0 # 23
|
|
STO TS3 # F AT 1.
|
|
CLZ TS10 # 3
|
|
SUZ TS11
|
|
ALS 2 # 1
|
|
ADD TS1
|
|
LDQ ZERO
|
|
LRS 1
|
|
DVP NI # AT -9.
|
|
STO TS7 # G AT 11.
|
|
CLA R0
|
|
MPR TS12
|
|
STO TS14 # 24
|
|
CLA AI
|
|
MPR NI
|
|
MPY TS1 # 23-9+1=15
|
|
DVP TS14
|
|
COM
|
|
STO TS13 # F DOT AT -9.
|
|
CLA TS12 # X12
|
|
SUB 1B1
|
|
ADZ TS0
|
|
LDQ ZERO
|
|
LRS 1 # 2
|
|
DVP TS12
|
|
STO TS17 # G DOT AT 1.
|
|
AXT 2,1
|
|
|
|
# Page 103
|
|
ELPRD2 CLA R0X,1 # 23
|
|
MPR TS3 # 1
|
|
STO TS2 # 24
|
|
CLA V0X,1 # 13
|
|
MPR TS7 # 11+13=24
|
|
ADZ TS2
|
|
ALS 1 # 23
|
|
STO RIX,1 # PRED POS AT 23
|
|
CLA R0X,1 # 23
|
|
MPR TS13 # -9
|
|
STO TS2 # 14
|
|
CLA V0X,1 # 13
|
|
MPR TS17 # 1
|
|
ADZ TS2
|
|
ALS 1
|
|
STO VIX,1 # PRED VEL AT 13
|
|
TIX ELPRD2,1
|
|
TRA SREX2
|
|
ELPRD3 ADD 3B17
|
|
STO TS7
|
|
CLA TS10 # 3
|
|
SUB TS11
|
|
ALS 2
|
|
STO TS13 # DEL(M)-DEL(E) AT 1.
|
|
CLA TS0 # 1
|
|
LRS 1 # 2
|
|
SUB 1B2
|
|
MPR SI # 0+2=2
|
|
ALS 1
|
|
STO TS14 # 1
|
|
CLA TS1
|
|
MPR CI # 0+1=1
|
|
ADZ TS14
|
|
ADZ TS13 # X11 IN A AT 1.
|
|
LDQ ZERO
|
|
LRS 3 # 4
|
|
DVP TS12 # DEL E CORRECTION AT 3.
|
|
|
|
# Page 104
|
|
ADZ TS11 # DEL 3
|
|
TRA ELPRD1
|
|
#
|
|
# DOUBLE PRECISION SQUARE SUBROUTINE
|
|
#
|
|
DPSQ STQ SREX
|
|
CLZ TS1 # A SQ MS
|
|
CLZ TS2 # A SQ LS
|
|
AXT 2,1
|
|
DPSQ1 CLA TS4,1
|
|
MPY TS4,1
|
|
ADZ TS1
|
|
TMI DPSQ3 # CHECK FOR O.F.
|
|
STO TS1
|
|
STQ TS3
|
|
CLZ TS2
|
|
ADZ TS3
|
|
STO TS2
|
|
TMI *+2 # CHECK FOR O.F.
|
|
TRA DPSQ2
|
|
SUB MS
|
|
STO TS2
|
|
CLZ TS1
|
|
ADD 1B17
|
|
TMI DPSQ3 # CHECK FOR O.F.
|
|
STO TS1
|
|
DPSQ2 TIX DPSQ1,1
|
|
TRA SREX
|
|
DPSQ3 CLA PMAX # O.F. DETECTED.
|
|
STO TS1
|
|
TRA SREX
|
|
#
|
|
# NORMALIZE SUBROUTINE.
|
|
#
|
|
NORM STQ SREX1
|
|
TOV *+1 # CLEAR O.F.
|
|
LDQ TS2 # A SQ LS
|
|
|
|
# Page 105
|
|
AXT 7,1 # 8 SHIFTS(16 PLACES) POSSIBLE
|
|
CLA TS1 # A SQ MS
|
|
LLS 2
|
|
TOV NORM1
|
|
STO TS1 # NORMALIZED A.
|
|
TIX *-4,1
|
|
CLA 8B17
|
|
ADD SHDUM # LRS 0
|
|
TRA SREX1
|
|
NORM1 CLA 7B17,1
|
|
TRA *-3
|
|
#
|
|
# DOUBLE PRECISION VECTOR MAGNITUDE
|
|
#
|
|
DPVMAG STQ SREX2 # SAVE RET ADDRS.
|
|
TSQ DPSQ # TO DOUB PREC SQ.
|
|
TSQ NORM # TO NORMALIZE.
|
|
STO SREX3 # LRS(I/2)
|
|
CLZ TS1 # NORMALIZED SQ.
|
|
TSQ SQRTE
|
|
TRA SREX3 # RE-NORMALIZE A-REG.
|
|
#
|
|
# DOUBLE PRECISION TIME SUBTRACT
|
|
#
|
|
DPTSB STQ SREX
|
|
CLA TA1 # ABS TIME MS AT 18.
|
|
SUB TE1,1 # EPOCH TIME MS AT 18.
|
|
ALS 5 # 13
|
|
STO TS1
|
|
CLA TE2,1 # EPOCH TIME LS AT 1.
|
|
LRS 12 # 13
|
|
STO TS2
|
|
CLA TA2 # ABS TIME LS AT 1.
|
|
LRS 12 # 13
|
|
SUZ TS2
|
|
ADZ TS1
|
|
STO TI # TIME DIFF AT 13.
|
|
|
|
# Page 106
|
|
TRA SREX
|
|
#
|
|
EXIT STQ SREX2
|
|
TRA SREX2
|
|
#
|
|
# SINE-COSINE SUBROUTINE ENTER WITH ANGLE IN
|
|
# RADIANS AT B3 IN ACC AND RETURN IN Q
|
|
#
|
|
ADD 2PIB3
|
|
SICOE TMI *-1 # SET PLUS
|
|
STQ SREX
|
|
STO TS1
|
|
SUB 2PIB3 # SET BETWEEN 0-2PI
|
|
TMI *+2
|
|
STO TS1
|
|
CLA PID2 # PI/2
|
|
SUB TS1
|
|
STO TS0 # PI/2-ALPHA
|
|
TMI SICO1 # -- IS GREATER THAN 90
|
|
AXT 1,1
|
|
SICO2 CLA TS0,1
|
|
ALS 2 # TO 1
|
|
STO TS0,1
|
|
MPR TS0,1
|
|
STO TS2 # ALPHA SQUARED AT 2
|
|
MPR K173 # 2-6=-4
|
|
ADD K172
|
|
MPR TS2 # -2
|
|
ADD K171
|
|
MPR TS2 # 0
|
|
ADD K170
|
|
MPR TS0,1 # 1
|
|
STO TS0,1
|
|
TIX SICO2,1
|
|
TRA SREX # EXIT
|
|
SICO1 ADD PID2
|
|
STO TS1 # PI-ALPHA
|
|
|
|
# Page 107
|
|
TMI *+2 # -- IS GREATER THAN 180
|
|
TRA SICO2-1
|
|
ADD PID2
|
|
COM
|
|
STO TS0 # ALPHA-3PI/2
|
|
TMI SICO2-1 # -- IS BETWEEN 180 AND 270
|
|
SUB PID2
|
|
STO TS1 # ALPHA-2PI
|
|
TRA SICO2-1
|
|
#
|
|
# ARCTANGENT SUBROUTINE ENTER WITH SINE AND
|
|
# COSINE AT 1 IN TS3 AND TS4
|
|
#
|
|
ARCTAE STQ SREX # SET EXIT
|
|
CLA TS3
|
|
ABS
|
|
STO TS1
|
|
CLA TS4
|
|
TOV *+1
|
|
ABS
|
|
ADD TS1 # KCOS+KSIN
|
|
TOV *+3 # O.F. CHECK.
|
|
CLA TS4
|
|
TRA *+7
|
|
CLZ TS1 # O.F. RE-SCALE.
|
|
LRS 1
|
|
STO TS1 # ABS SIN.
|
|
CLZ TS4
|
|
LRS 1
|
|
STO TS4 # COS
|
|
TMI ARCTA2 # -- IS 2ND OR 3RD QUAD
|
|
ADD TS1
|
|
STO TS2
|
|
CLA PID4
|
|
STO TS5 # 1/4 PI
|
|
CLA TS1
|
|
SUB TS4 # SIN-COS
|
|
|
|
# Page 108
|
|
ARCTA1 LDQ ZERO
|
|
LRS 1
|
|
DVP TS2
|
|
STO TS6 # =X AT 1
|
|
MPY TS6
|
|
STO TS7 # X SQUARED AT 2
|
|
MPR K183 # -1
|
|
ADD K182
|
|
MPY TS7 # 1
|
|
ADD K181
|
|
MPY TS7 # 3
|
|
LLS 1 # 2
|
|
ADD K180
|
|
MPR TS6 # 3
|
|
ADD TS5
|
|
STO TS1
|
|
CLA TS3
|
|
TMI *+3
|
|
CLA TS1
|
|
TRA SREX # EXIT
|
|
CLA 2PIB3 # PHI GREATER THAN 180
|
|
SUB TS1
|
|
TRA SREX
|
|
ARCTA2 CLA 3PID4
|
|
STO TS5 # 3/4 PI
|
|
CLA TS4
|
|
SUB TS1
|
|
STO TS2
|
|
CLA TS1
|
|
ADD TS4
|
|
TRA ARCTA1
|
|
#
|
|
# SQUARE ROOT SUBROUTINE ENTER WITH
|
|
# SQUARE IN ACC AND RETURN IN Q
|
|
#
|
|
SQRTE STQ SREX
|
|
STO TS1
|
|
|
|
# Page 109
|
|
COM # TEST FOR ZERO OR NEG
|
|
TMI *+3
|
|
CLA ZERO # SET ROOT EQUAL ZERO
|
|
TRA SREX
|
|
CLZ TS2 # SET TS2=0
|
|
TSQ NORM # TO NORMALIZE
|
|
STO SREX1 # SAVE SHIFT
|
|
CLA TS1
|
|
LRS 1 # .5SQ
|
|
STO TS8
|
|
STQ TS1
|
|
LRS 2 # .125SQ
|
|
ADD TS8 # .625SQ
|
|
ADD KSR # .375+.625SQ=RN-1
|
|
AXT 1,1 # 2 ITERATIONS
|
|
SQRT1 STO TS2
|
|
LRS 1 # .5 RN-1
|
|
STO TS0
|
|
KSR LDQ TS1 # KSR=.375+DELTA
|
|
CLA TS8
|
|
DVP TS2
|
|
ADZ TS0 # .5SQ/RN-1+.5RN-1=RN
|
|
TIX SQRT1,1
|
|
TRA SREX1 # TO SHIFT
|
|
#
|
|
# ANGLE BETWEEN VECTORS SUBROUTINE.
|
|
#
|
|
ABVEC STQ SREX1
|
|
CLA TS10 # BX
|
|
MPR TS4+2 # AZ
|
|
LRS 1
|
|
STO TS2
|
|
CLA TS4 # AX
|
|
MPR TS10+2 # BZ
|
|
LRS 1
|
|
SUZ TS2
|
|
STO TS3 # SIN THETA
|
|
|
|
# Page 110
|
|
CLA TS4 # AX
|
|
MPR TS10 # BX
|
|
LRS 1
|
|
STO TS2
|
|
CLA TS4+2 # AZ
|
|
MPR TS10+2 # BZ
|
|
LRS 1
|
|
ADZ TS2
|
|
STO TS4 # COS THETA
|
|
TSQ ARCTAE
|
|
TRA SREX1 # THETA IN A AT 3.
|
|
#
|
|
# DEDA PROCESSING ENTRY
|
|
#
|
|
ADOUT CLA ADST # OUTPUT ADDRESS
|
|
ADD DUMCLA
|
|
STO CLADD # SET CLA OF DATA
|
|
LRS 9
|
|
AXT 2,1
|
|
LLS 3 # 3 BITS PER PASS
|
|
OUT DEDA
|
|
OUT SHOUT # SET SHIFT OUT
|
|
ALS 18 # TIME DELAY
|
|
TIX *-4,1
|
|
TRA CLADD # GET DATA
|
|
ROR STO DD
|
|
TMI SNS # TEST SIGN
|
|
CLA ZERO # POSITIVE
|
|
|
|
SOUT OUT DEDA # OUTPUT SIGN
|
|
OUT SHOUT
|
|
CLA OCTF # OCTAL OR DECIMAL OUTPUT
|
|
TMI OCTO
|
|
EX46 TRA EXIT46
|
|
CLA DD # DECIMAL OUTPUT
|
|
MPR SF # SCALE FACTOR
|
|
ABS # MAGNITUDE
|
|
AXT 4,1 # OUTPUT 5 DIGITS
|
|
|
|
# Page 111
|
|
TOV *+1
|
|
LDQ ZERO
|
|
DVP BCDL # DIVIDE BY 100K
|
|
STQ TS1
|
|
CLZ TS1 # UNROUNDED QUOTIENT
|
|
ADD 1B17 # ROUND UP
|
|
TOV MAX # TEST FOR TOO LARGE
|
|
DOUT MPY 10B17 # EXTRACT DIGIT
|
|
OUT DEDA # OUTPUT
|
|
OUT SHOUT
|
|
STQ TS1 # REMAINDER
|
|
CLZ TS1
|
|
TIX *-5,1
|
|
TRA EXIT47
|
|
OCTO LDQ DD # OCTAL OUTPUT
|
|
AXT 4,1 # OUTPUT 5 OCTAL DIGITS
|
|
LLS 3 # EXTRACT DIGIT
|
|
OUT DEDA # OUTPUT
|
|
OUT SHOUT
|
|
ALS 18 # TIME DELAY
|
|
TIX *-4,1
|
|
TRA EXIT47
|
|
RME STO RMF # READOUT ENTRY
|
|
OUT SHIN # ENTER ENTRY SET SHIFT IN
|
|
CLZ CMF # RESET CLEAR MODE
|
|
CLZ OCTF # OCTAL FLAG
|
|
CLZ DD # CLEAR DEDA DATA
|
|
CLA ZERO
|
|
AXT 2,1 # INPUT 3 DIGIT ADDRESS
|
|
ALS 3
|
|
STO ADST
|
|
INP DEDA # INPUT DIGIT
|
|
OUT SHIN # SET SHIFT IN
|
|
LRS 13
|
|
SUB 8B17 # TEST FOR ERROR
|
|
TMI *+2
|
|
TRA EXIT48 # ERROR EXIT
|
|
|
|
# Page 112
|
|
ADD 8B17
|
|
ADZ ADST # ASSEMBLE ADDRESS
|
|
TIX *-10,1
|
|
STO ADST
|
|
INP DEDA
|
|
OUT SHIN
|
|
ALS 4
|
|
STO TS2 # SIGN
|
|
CLA ADST
|
|
TRA EXIT49 # SCALE FACTOR SELECT
|
|
NOTDD CLA MS # SET OCTAL FLAG
|
|
STO OCTF
|
|
CLA RMF # EXIT IF READOUT
|
|
TMI EXIT47
|
|
AXT 4,1 # INPUT 5 OCTAL DIGITS
|
|
INP DEDA
|
|
OUT SHIN
|
|
LRS 14
|
|
ADZ DD # ASSEMBLE WORD
|
|
LLS 3
|
|
STO DD
|
|
TIX *-6,1
|
|
ADZ TS2 # ADD SIGN
|
|
TRA STDD
|
|
DDIN CLA RMF # DECIMAL DATA
|
|
TMI EXIT47 # EXIT IF READOUT
|
|
AXT 4,1 # READ 5 DIGITS
|
|
TRA *+5
|
|
OUT SHIN
|
|
MPY 10B4 # MULTIPLY BY 10
|
|
LLS 4 # SCALE
|
|
STO DD
|
|
INP DEDA
|
|
LRS 13
|
|
ADZ DD # ASSEMBLE WORD
|
|
TIX *-7,1
|
|
EX50 TRA EXIT50
|
|
|
|
# Page 113
|
|
DVP SF # SCALE FACTOR
|
|
STDD STO DD
|
|
CLZ TS2
|
|
TMI *+2 # COMPLEMENT IF MINUS
|
|
TRA EXIT51 # IMMEDIATE ACTION TEST
|
|
CLZ DD # COMPLEMENT
|
|
COM
|
|
TRA STDD
|
|
SNS CLA 1B17 # PICK UP NEGATIVE SIGN
|
|
TRA SOUT
|
|
MAX CLA PMAX # GET MAXIMUM NUMBER
|
|
TRA DOUT
|
|
#
|
|
# ABSOLUTE TIME INITIALIZE
|
|
#
|
|
ATI CLA MU10 # CYCLE COUNT
|
|
LDQ ZERO
|
|
DVP M25B16 # MINUS SEC AT 1
|
|
ADD DTB # 1+TIME BIAS
|
|
ADD 1B1 # +1 SEC
|
|
STO TA2 # 2+BIAS-CYCLE COUNT
|
|
CLA DD # INPUT TIME
|
|
SUB 1B17 # T-2 SEC
|
|
STO TA1 # MOST SIG ABS TIME
|
|
TRA EXIT47
|
|
#
|
|
# AGS TELEMETRY OUTPUT
|
|
#
|
|
TME STQ SREX
|
|
INP DISC1I
|
|
ALS 2 # TEST FOR STOP
|
|
TMI SREX # EXIT IF NOT
|
|
CLZ TMID
|
|
ADD 1B17 # INCREMENT IDENT NUMBER
|
|
STO TMID
|
|
ADD TMCLA # SET UP TO GET WORD
|
|
STO SREX-2
|
|
|
|
# Page 114
|
|
SUB TMCLA # GET ID
|
|
ALS 12
|
|
OUT TMIDO # OUTPUT IDENTIFICATION
|
|
CLA TMOUT # OUTPUT INSTRUCTION
|
|
STO SREX-1
|
|
TRA SREX-2
|
|
#
|
|
# TELEMETRY INITIALIZE
|
|
#
|
|
TMIE2 CLZ TMID # RESET TO FIRST WORD
|
|
AXT 2,1
|
|
CLA A11,1 # SAVE DIRECTION COSINES
|
|
STO A11T,1 # FOR TELEMETRY
|
|
CLA A31,1
|
|
STO A31T,1
|
|
TIX *-4,1
|
|
TRA EXIT
|
|
#
|
|
# PGNS DOWNLINK INPUT
|
|
#
|
|
PGNSDE STQ SREX
|
|
CLA DEL32 # DOWNLINK INITIALIZE FLAG
|
|
TMI *+2
|
|
TRA SREX # EXIT
|
|
INP DISC1I
|
|
ALS 1 # TEST FOR STOP
|
|
TMI SREX # PULSE RECEIVED
|
|
INP DLREG # INPUT WORD
|
|
LRS 2 # DISCARD UNWANTED BITS
|
|
STO TS12 # SAVE INPUT
|
|
CLA ID1F # TEST FOR PRIOR ID
|
|
TMI PGNSD1 # NUMBER 1 FOUND
|
|
CLZ TS12 # TEST IF CURRENT
|
|
TMI SREX # WORD IS AN ID
|
|
SUB ID # TEST FOR PROPER ID
|
|
ABS
|
|
COM
|
|
|
|
# Page 115
|
|
TMI SREX
|
|
CLA K173 # IS IDAI OR IDRP
|
|
STO ID1F # SET FLAG
|
|
CLZ DLWN # ZERO WORD NUMBER
|
|
PBNSD2 CLA 1B5
|
|
STO DLSC # SET SHIFT COUNT
|
|
TRA SREX # EXIT
|
|
PGNSD1 TRA EXIT7
|
|
CLZ DLSC
|
|
ALS 1 # TEST FOR ID
|
|
TMI PBNSD2 # WORD EXPECTED
|
|
STO DLSC
|
|
CLZ DLWN
|
|
ADD 1B17 # INCREMENT WORD NUMBER
|
|
STO DLWN
|
|
ADD DLSTO # FORM STORE COMMAND
|
|
STO SREX-1
|
|
SUB DLWNL # TEST FOR LAST WORD
|
|
TMI *+4
|
|
CLZ ID1F # RESET ID1 FLAG
|
|
CLZ DEL32 # RESET INITIALIZE FLAG
|
|
STO DEL31 # SET DATA RECEIVED FLAG
|
|
CLZ TS12
|
|
ALS 3
|
|
TRA SREX-1
|
|
#
|
|
# SELF-TEST ROUTINE
|
|
TEST CLA FLAGT
|
|
TMI CKSUM
|
|
CLA S12
|
|
SUB 1B3
|
|
TMI *+4
|
|
SUB 1B2
|
|
TMI *+3 # -- IS LESS THAN 3
|
|
TRA EXIT52
|
|
OUT 7010
|
|
# LOGIC TEST
|
|
|
|
# Page 116
|
|
TOV *+1 # ACCUM. Q REG. OPER.
|
|
LDQ K170 # 377777 377777
|
|
CLA SIXTH # 252525 377777 252525
|
|
ALS 1 # 525252
|
|
1K7 STQ TS0
|
|
TSQ OVFLW # TEST FOR OVERFLOW
|
|
LRS 17 # 777777 525252
|
|
10B4 SUB TS0 # 400000 525252 377777
|
|
STQ TS0
|
|
TOV ERROR # TEST RESET OF OVERFLOW
|
|
COM # 400000
|
|
TMI *+2
|
|
TRA ERROR
|
|
3B3 LDQ TS0 # 400000 525252 525252
|
|
LLS 17 # 125252 000000
|
|
STQ TS1
|
|
TSQ OVFLW
|
|
SUB TS1 # 125252 000000
|
|
SUB TS0 # 400000 525252
|
|
ALS 1 # 000000
|
|
TSQ OVFLW
|
|
LDQ 4B17 # 000000 000004 000004
|
|
LLS 31 # 200000 000000
|
|
TOV ERROR # NO OVERFLOW
|
|
LDQ MS # 200000 400000 400000
|
|
STQ TS1
|
|
LRS 16 # 000001 000000
|
|
ADD TS1 # 400001 000000 400000
|
|
STQ TS2
|
|
ADD TS2
|
|
TMI *+2
|
|
TRA ERROR
|
|
ADD K170 # 000000 000000 377777
|
|
TMI ERROR
|
|
TOV ERROR
|
|
COM # 000000
|
|
TSQ ACCUM # 777777
|
|
|
|
# Page 117
|
|
COM # 000001
|
|
ABS # 000001
|
|
AXT 7,1
|
|
STO TS0,1 # STORE 8 NUMBERS IN
|
|
SUB 1B17 # SEQUENCE
|
|
TIX *-2,1
|
|
CLA 1B17 # 000001 000001
|
|
# 2005-06-12 RSB. In the comment field, the OPER
|
|
# entry was incorrectly shown as 777776. Since
|
|
# CLZ clears the operand, this is impossible.
|
|
CLZ TS4 # 777776 000000
|
|
ALS 15 # 600000
|
|
TOV ERROR
|
|
# 2005-06-12 RSB. Same, but was 777777.
|
|
MPZ TS5 # 000001 200000 000000
|
|
# 2005-06-12 RSB. Same, but was 000001.
|
|
SUZ TS7 # 000000 200000 000000
|
|
LLS 3 # 000004 000000
|
|
# 2005-06-12 RSB. Same, but was 777774.
|
|
ADZ TS2 # 000000 000000 000000
|
|
AXT 3,1
|
|
ADD TS4,1
|
|
TIX *-1,1
|
|
AXT 7,1
|
|
AXT 0,1
|
|
# 2005-06-12 RSB. Same, but was 777775.
|
|
SUZ TS3,1 # 000003 000000 000000
|
|
TIX ERROR,1
|
|
AXT 2,1
|
|
# 2005-06-12 RSB. Same, but was 777773.
|
|
ADZ TS1 # 777776 000000 000000
|
|
TIX *+1,1
|
|
TIX *+1,1
|
|
# 2005-06-12 RSB. Same, but was 777772.
|
|
SUZ TS0,1 # 000004 000000 000000
|
|
AXT 3,1
|
|
ADZ TS0,1
|
|
TIX *-1,1
|
|
ADD MS # 400004 400000
|
|
ABS # 377774
|
|
ADD K170 # 777773 377777
|
|
TSQ OVFLW
|
|
ABS # 000005
|
|
LLS 0
|
|
SUB 5B17 # 000000 000005
|
|
TSQ ACCUM # 777777
|
|
|
|
# Page 118
|
|
CLA TS0 # 000000 000000
|
|
TRA *+3
|
|
TSQ ACCUM # 777777
|
|
TRA *+2
|
|
TRA *-2
|
|
STO TS0
|
|
ADD 1B17 # 000000 000001
|
|
CLA TS0 # 777777 777777
|
|
SUB TS0 # 000000 777777
|
|
TSQ ACCUM # 777777
|
|
ALS 16 # 600000
|
|
MPY TS0 # 000000 200000 777777
|
|
STQ TS1
|
|
ADD TS1 # 200000 200000 200000
|
|
SUB 1B1 # 000000 200000 200000
|
|
ADD SIXTH # 252525 200000 252525
|
|
MPR 3B17 # 000002 377777 000003
|
|
ADD TS0 # 000001 377777 777777
|
|
DVP 2B17 # 377777 377777 000002
|
|
TOV ERROR
|
|
STQ TS2
|
|
SUB K170 # 000000 377777 377777
|
|
SUB K170 # 400001 377777 377777
|
|
ADD TS2 # 000000 377777 377777
|
|
ADD SIXTH # 252525 377777 252525
|
|
SUB 5B17 # 252520 377777 000005
|
|
MPR SIXTH # 161612 161620 252525
|
|
STQ TS2
|
|
SUB TS2 # 777772 161620 161620
|
|
LRS 17 # 777777 777772
|
|
DVP 4B17 # 777777 777776 000004
|
|
STQ TS2
|
|
ADD TS2 # 777775 777776 777776
|
|
ADD 3B17 # 000000 777776 000003
|
|
SUB SIXTH # 525253 777776 252525
|
|
STO TS3
|
|
MPR TS3 # 161616 307071 525253
|
|
|
|
# Page 119
|
|
DVP TS3 # 525251 525251 525253
|
|
MPY SIXTH # 616160 743435 252525
|
|
DVP SIXTH # 525251 525251 252525
|
|
ADD 2B17 # 525253 525251 000002
|
|
ADD TS3 # 252526 525253
|
|
TSQ OVFLW
|
|
SUB TS3 # 525253 525253
|
|
TSQ OVFLW
|
|
SUB SIXTH # 252526 252525
|
|
TSQ OVFLW
|
|
COM
|
|
ADD SIXTH # 777777 252525
|
|
LDQ TS6 # 777777 000000 000000
|
|
ADD TS0 # 777776 000000 777777
|
|
LRS 2 # 777777 600000
|
|
1B3 DVP TS0 # 200000 177777 777777
|
|
STQ TS0
|
|
TSQ OVFLW
|
|
SUB TS0 # 000001 177777
|
|
SUB 1B17 # 000000 000001
|
|
TSQ ACCUM # 777777
|
|
CLA 3B17
|
|
DVP 2B17
|
|
TSQ OVFLW # END OF LOGIC TEST
|
|
SETFG CLA MS
|
|
STO FLAGT # SET TEST FLAG
|
|
CLZ SUM
|
|
CLA TCLTH # INITIALIZE MEMORY
|
|
STO TVARBR # TEST
|
|
CLA CLATEN
|
|
STO SUMLIM
|
|
TRA EXIT52
|
|
# MEMORY CHECKSUM ROUTINE
|
|
CKSUM TSQ MEMSUM # PERFORM SUMMATION
|
|
CLZ SUM # TEST SUM
|
|
TMI *+3
|
|
SUB 1B17
|
|
|
|
# Page 120
|
|
TMI COREX
|
|
CLA S12 # INCORRECT SUM
|
|
SUB 3B3 # SET TEST WORD BITS
|
|
TMI *+4 # AND TEST MODE FAILURE
|
|
CLA 7B3 # INDICATOR
|
|
STO S12
|
|
TRA *+3
|
|
CLA 1B1
|
|
OUT 6410
|
|
STO S12
|
|
CLZ FLAGT # RESET FLAG
|
|
TRA EXIT52
|
|
COREX CLA S12 # CORRECT SUM
|
|
SUB 1B17
|
|
TMI *+2
|
|
TRA *-5
|
|
CLA 1B3
|
|
TRA COREX-3
|
|
MEMSUM STQ SREX # MEMORY SUMMATION SUBRT.
|
|
CLZ WRDCNT
|
|
TSQ TVARBR
|
|
ADZ SUM # FORM SUM
|
|
STO SUM
|
|
CLA TVARBR
|
|
SUB SUMLIM # TEST FOR LIMIT
|
|
TMI *+2
|
|
TRA SREX
|
|
CLZ WRDCNT
|
|
ADD 1B17
|
|
STO WRDCNT # INCREMENT WORD COUNTER
|
|
SUB WORDS
|
|
TMI MEMSUM+2
|
|
TRA EXIT53
|
|
ACCUM TMI ERROR # SUBROUTINE TO TEST FOR
|
|
SUB 1B17
|
|
TMI EXIT
|
|
ERROR CLA 3B3
|
|
|
|
# Page 121
|
|
STO S12
|
|
TRA SETFG
|
|
OVFLW TOV EXIT # OVERFLOW TEST
|
|
TRA ERROR
|
|
#
|
|
# INPUT-OUTPUT ADDRESSES
|
|
#
|
|
CHECKSUM RANGE 4000-7776
|
|
DLREG DEFINE 6200
|
|
DISC1I DEFINE 2020 # DISCRETE INPUT WORD 1
|
|
DISC2I DEFINE 2040 # DISCRETE INPUT WORD 2
|
|
DEDA DEFINE 2200
|
|
SIALO DEFINE 2001 # DEFINE OUTPUT REGISTERS
|
|
COALO DEFINE 2002 # FOR FDAI ANGLES
|
|
SIBEO DEFINE 2004
|
|
COBEO DEFINE 2010
|
|
SIGAO DEFINE 2020
|
|
COGAO DEFINE 2040
|
|
EXO DEFINE 6001 # DEFINE THE ATT ERROR
|
|
EYO DEFINE 6002 # OUTPUT REGISTERS
|
|
EZO DEFINE 6004
|
|
TMIDO DEFINE 6200
|
|
SHOUT DEFINE 2600
|
|
SHIN DEFINE 2500
|
|
END
|
|
|