56
R -746
S|'RU bEyELbPIWENT — RNAL REPORT
i VOLUME; inSOFTWARE DESCRIPTION ANDPROGRAM DOCUJMENTATION
by>John^Oehrle
March 1973
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
CAMBRIDGE, MASSACHUSETTS, O2139
https://ntrs.nasa.gov/search.jsp?R=19730018840 2020-03-23T00:10:05+00:00Z
R- 746
SIRU DEVELOPMENT — FINAL REPORT
VOLUME III
SOFTWARE DESCRIPTION ANDPROGRAM DOCUMENTATION
' : ' - . . . b y ' ; .
John Oehrle
March 1973 :
Charles Stark Draper LaboratoryMassachusetts Institute of Technology
Cambridge, Massachusetts02139
APPROVED: '> .J. ^7 GILMORE, DEPUTY ASSOCIATE DIRECTOR
s r̂̂ ' &/,APPROVED: / / ( --^CV-A^XA^
N. E. *EARS7~-ASSOCIATE DIRECTOR
APPROVED: f^y' /JJ f—T- , ,D. G. fidAG, 'DEPUXr/DIRECTOR
ACKNOWLEDGEMENT
This report was prepared under our Project No. 55-32600,sponsored by the Lyndon B. Johnson Space Center of the National Aero-
nautics and Space Administration through Contract No. NAS 9-8242.
The SIRU System's success in its present state of hardware,
software and analytical maturity represents the dedicated efforts of
many people from the NASA L. B. Johnson Space Center and The
Draper Laboratory to synthesize, design, fabricate and test a
redundant, body mounted inertial system employing state-of-the-art
redundancy management techniques.
Singular acknowledgement for contributions to the Software
developed and documented in the volume is made to :
Richard McKern for his guidance and directions,
James Keenan for the development of the calibrations and
data handling programs and for the implementation of the DOS
operating system,
Stephan Helfant for his aid in compiling and preparing this
document for printing.
The publication of this report does not constitute approval by the
National Aeronautics and Space Administration of the findings or the
conclusions contained therein. It is published only for the exchange and
stimulation of ideas.
11
R-746 .
SIRU DEVELOPMENT FINAL REPORT
ABSTRACT
This report presents a complete description of the development and initial
evaluation of the Strapdown Inertial Reference Unit (SIRU) system sponsored by the
NASA Johnson Space Center under Contract NAS9-8242.
The SIRU configuration is a modular inertial subsystem with hardware and
software features that achieve fault tolerant operational capabilities. The SIRU
redundant hardware design is formulated about a six gyro and six accelerometer
instrument module package. The modules are mounted in this package so that their
measurement input axes form a unique symmetrical pattern that corresponds to
the array of perpendiculars to the faces of a regular dodecahedron. This six axes
array provides redundant independent sensing and the symmetry enables the
formulation of an optimal software redundant data processing structure with self-
contained fault detection and isolation (FBI) capabilities.
This report consists of four volumes.
Volume I, System Development, documents the system mechanization with the
analytic formulation of the FDI and processing structure; the hardware redundancy
design and the individual modularity features; the computational structure and
facilities; and the initial subsystem evaluation results.
Volume II, Gyro Module, is devoted specifically to the Gyro Module, the inertial
instrument and its digital strapdown torque-to-balance loop, the mechanical, thermal,
and electronic design and function, test procedures and test equipment and
performance results and analysis.
Volume III, Software, documents the basic SIRU software coding system used
in the DDP-516 computer. The documentation covers the instrument compensation
software, reorganizational and FDI processing, and the inertial attitude and velocity
algorithm routines as well as servicing, input/output, etc. software.
111
Volume IV, Accelerometer Module, is devoted specifically to the Accelerometer
"Module, the inertial instrument and its digital strapdown torque-to-balance loop,
the mechanical, thermal and electronic design and function and performance results
and analysis, as it differs from the Gyro Module.
In addition to this report, SIRU Utilization Report R-747, has been issued
documenting analyses, software and evaluation activities in the application of advanced
statistical FDI algorithms, calibration and alignment techniques to the SIRU system.
April 1973
IV
SIRU SOFTWARE DESCRIPTION
and
PROGRAM DOCUMENTATION
TABLE OF CONTENTS
INTRODUCTION 1
SYSTEM ORGANIZATION 4
MAIN PROGRAM 7
Subroutines 20
INTRODUCTION:
The purpose of creating the SIRU operating system was to implement
and verify operation of the algorithms shown in Figure 1 on an available
laboratory computer (Honeywell DDP-516) at an update rate of 100 times/'
sec. These algorithms can be divided into two sets, an accelerometer
data processor and a gyro data processor. In the strapdownimplementation
it is important to process the accelerometer information into the inertial
frame using the average attitude information over the AV accumulation
period.
The system begins to accumulate AV pulses from the torque to balance
instrument loops after initialization. After 5 ms the system begins to
accumulate A e pulses. Five ms later or 10 ms from initialization the
accelerometer pulse counters give an interrupt and the accelerometer data
processors perform the proper algorithms on the 10 msof AV accumulation.
Five ms later the 10msofA0 accumulation is processed to update attitude.The
accelerometer and gyro algorithm processing loops are performed
alternately every 5 ms thereafter resulting in the required staggering of
these tasks.(This software has also been run at an update rate of 50 times/
second. Ref. SIRU Utilization Report R-747).
Figure 1 shows what is done during either the accelerometer or gyro
5 ms updates. On the accelerometer side we require the system to do the
following tasks.
TASKSAl) Read the 6 accelerometer counters.
A2) Compensate accelerometers for average scale factor, bias and
the misalignments of each accelerometer's input axis around
their input and penduluous reference axes.2
A3) Compensate accelerometers for errors due to Ru) and R<i> as
a function of the accelerometers1 positions relative to one
another.A4) Accumulate corrected accelerometer body output for failure
detection and isolation.A5) Perform failure detection and isolation resulting in a current
failure status.
c*~^ r-
1 ^U '
t
En
cod
era
O) .£
« = ••£i S O0 J «
<^ <rf*
1|
co•t-4
" i» 2 .s0 t a
cfl Ow u
!
G-7
Mat
rix
Mu
ltip
icat
ion
CD cd tfl
o ^ <uU J
G-2
Gy
ro
om
pen
sati
on
• U
. .
G-1
Gy
ro
and
Inte
rpo
late
o>
3cr
CO
Ou
tpu
ts
•3cfl§
co
0
_M
L-g
m *
a•* - 'f *5 "p
&
f~+•̂c1
J>> (^ TH 4- .<d :
< S
:
3 4fl CH C
•xJ
r
5 "i ^
-> =3'J
D3
•+.
'i
.Fai
lure
co
(—<
j
>
[>5 <
CD S 41 Si C
d)
in 3 . c
5 cfe
1 1
3^
1 ^ju3
CT)I
<
,3
O4^
1
ze srn
ion
• rH Cfl
C D
P O*
U3
<j^ ^
2 ||
> <
|
.2rt
co ^ .5"<;• g 3
DI> Cfl [Q
U J
„«^ K «
tru O
A-2
Accele
rom
et(
Co
mp
en
sati
,
D-*-»0)r!
A-1
Acc
eler
on
Out
put
0301 xcfl £5. «co §
adoU
O
coH
8
H<P
P«t-H
CO
WKDOt-H
En
A6) Check parity equation for third fail.
A7) Create least squares matrix (as a function of fail status) to
transform the 6 compensated AV's into the X, Y, Z body frame.
A8) Do the 6 to 3 matrix multiplication.
A9) Unitize attitude quaternion prior to velocity algorithm proces-sing.
A10) Do the velocity algorithm, i.e., use the current attitude quater-
nion to generate the velocity transformation matrix and
transform the incremental body velocity into the inertial frame.
All) Accumulate AV inertial for output processing.
On the gyro side we presently require the system to do the following tasks:
Gl) Read the table angle encoder, the six gyros & interpolators.
G2) Compensate the gyros for ±ASF, NBD, ADIA, ADOA, ADSRA,
anisoelasticity, misalignments, anisoinertia, SRA cross-cou-
pling and OA coupling.
G3) Accumulate the corrected gyro body output for failure detectionf
and isolation.G4) Perform the failure detection and isolation processing resulting
in a current failure status.
G5) Check the parity equation for third fail.
G6) Create the least squares matrix (as a function of failure status)
to transform the six compensated AS's into the X, Y, Z body
frame.
G7) Do the 6 to 3 matrix multiplication.
G8) Compensate for earth rate.
G9) Update the quaternion attitude.
In the time remaining, output of the system's status is performed
either on the teletype, the CRT display or on an incremental digistor tape
for further analysis. The format is shown in the documentation of the
output programs. The information outputted includes the quaternion of./ ( -
attitude, AVT accumulated over some interval, a squared error monitor
and fail status for gyros and accelerometers, test-table angle encoder and
time since initialization.
SYSTEM ORGANIZATION:
The main program (MPRO) in turn calls all the subroutines to
accomplish the tasks described in the introduction. These programs are
documented in the following sections in the order listed below:
Task
main program
Output
Fortran library
A1.G1
A2
G2
A3
A4
G3
G4
A5
G5
A6
G6A7
G7
A8
A9
A10
AllG8
G9
Page7
2031
36
39
43
47
52
61
6569
78
81
87
93
99
112
115
1.18
123
125128
138
140146
149158169
171174
Proceeding the documentation of these programs is a load map showing
the core location of each subroutine.
S Y S T E M LOAD MAP
LDRX 23665 1000 64GOMN1 RMPROMRC RRtADMRr, RGFisMRC RGCOMMRC, BFRC6MRC HEM INMRC BGM1NMRC HDCOAMRC BACOMMRC RDCMTMRC RHV63MR
C RMG63MRC RVESPMRC BPFISMRC BAA6SMRC RVACUMRC BSPUNMRC RPREXMR
C RFRDEMRC RCFSEMRC RGARCMR .C BALPOMRC RFPOIITMRC RXOUMRC FTL1RY
11
*MR ' ' ' 'C RGPMAMRC RPPEXMRC RGPRTMRf. RPRTYMRC RDGSMRC BROMSLCM*START 01000*H1GH 14370*NAMES 17132*CUMM 23777*RASE 00244LIST 00001RUPT 01450ASCT 01506ICINIT 01656INPIP 01731INGYRO 01764GFIS 02070KEYG 02225GCOM 02242ERCO 02726EMIN 03034GMIN 03100DCOA 03144AllAP 03252ROAP 03254COAP 03256DOAP 03260EOAP 03262FOAP 03264ACOM 03274DCMI 03476OCMT 03551MP63 03664MG63 04012VELA 04206FXX 04654FXY 04656FXZ 04660FYX 04662FYY 04664FYZ . 04666FZX 04670FZY 04672FZZ 046-74
1
*PFIS 04726KEYP 05050ATTA 05060VACU 05506SPUN 05560PARC 06040PACC 06166ERDE 06172SECA 06524GARC 07344GACC 07524OUTPUT 07530DODSP 07600FPOUTC 10340OUT 100 10552IOMODE 10604X10U 10636XNOU 10642XNOUA 10646XOOCT 10652CNHU 10670CNUUA 10675COOCT 10750CKHJ 11004DOPAGE 11176CRTOUT 11476CRTOUA 11504SORTX 11614F$AT 11614ARG$ 11676T10U 11747TNOUA 117.72TNUU 11777TOOCT 12047MATR 12102GMAT 12136PPRT 12630GPRT 12712PRTY 12774DGSWRT 13250DGSRI) 13311ROMS 14000WXPR 14333WYPR 14334WZPR 14335
23777LCOKSAVE RMPRO 64OK
14370 1000
PROGRAM NAME
SOURCE: MPRO
BINARY: BMPRO
STARTING LOCATION: '1000
GENERAL DESCRIPTION:
This is the main executive of the system operating program which
calls the appropriate subroutines to accomplish the algorithms defined in
the introduction and the definition of system tasks. It is divided into three
sections of code. First is initialization and the enabling of interrupt.
Next is a waiting loop (location LOOP) which checks to see if it is time for
output and if so, calls the proper output routines. When this waiting loop
is interrupted (every 5 milliseconds), the program sequence goes to the
last section (location RUPT) which in turn decides whether its time to update
the PIPA or gyro algorithms, goes to either PDO .or GDO, saves the
processing registers as they were at time of interrupt, calls the appropriate •
algorithms following PDO or GDO, restores the processing registers and
returns to whatever was being processed at time of interrupt.
The initialization section first calls DCMI (see documentation for
program source name DCMT) to enable the gyro OA misalignment parame-
ters to be taken from the base sector and saved elsewhere in core. It
then zeroes out all locations in the base sector that don't contain compensation
parameters (namely locations '260-'421, '430-'477, '574-'677 and'744-'777).
It zeroes out the gyro and PIPA error accumulator residuals accessible
through the indexed external addresses CCAG and CCAP (see programs
with source names GARC and PREX). It zeroes out the 6 previous OA
coupling offsets (AOAP-FOAP accessible in the program DCOA through
the external address PAOA-PAOF). It zeroes the four erroneous interrupt
counters (disk, ASR-33 teletype, miscellaneous and clock). It zeroes out
the gyro and PIPA fail keys (KEYG and KEYP) in programs GFIS and PFIS).
It zeroes WXPR, WYPR and WZPR (see program ROMS) and sets GACC
and PACC to equal -6001 (used to wait 60 seconds in the error accumulator
programs GARC and PREX). TCNT (the time counter for the output loop)
is set to its maximum of "77777 so that an output will be done at t=0. It
puts a round of '40000 in the low order residuals of the gyro pulse counts,
PIP A pulse counts, gyro x, y and z delta thetas, PIP A x, y and z delta Vs,
the quaternion and the delta V inertial accumulators. The '40000 it stores
in '460 is to set lamda of the quaternion equal to 1. It then generates the
gyro and PIPA 6x3 matrices by calling GMIN and EMIN. It stores the.
address to go to when interrupted in '63 and calls ICINIT, which sets up
the interrupt cycle (see documentation for program source name READ).
Finally it does a JST (internal call) to GETM in order to. set up the timing
and MODE for whichever of three output modes is desired.
The output waiting loop simply checks the time counter (TCNT) to
see if it is greater than or equal to the time at which to, output (CRIT). If
TCNT is less than CRIT (i.e., it isnot time to output) and if sense switches
three and four are not reset and set respectively , the waiting loop will
just continue to loop. The waiting loop continues to get interrupted so that
the PIPA and gyro processing can be updated every five milliseconds.
When enough updates have occurred and TCNT becomes greater than
CRIT, the program jumps to OUT, where output is started. If sense switches
three and four are set, the program will first initialize the quaternion to
1,0,0,0 (see documentation for AA6S). The program then continues at NOQZ
where all the data to be output is saved in a 52 word buffer called QTMP
as follows:
Note that TCNT is incremented by 1 after every gyro algorithm loop soit counts in hundredths of a second. CRIT is set up by GETM and dependson the output mode.$#
To stop this program and return to DOS (the disk operating, system) senseswitch four is set while sense switch three is left reset. By setting senseswitch three and then setting sense switch four, the quaternion will beinitialized at the time the next output starts.
Location Contents
QTMP-QTMP+7 quaternion
QTMP+8-QTMP+13 Sum of delta Vinertial since thelast output
QTMP+14-QTMP+15 First and second gyrofail status
QTMP+16-QTMP+17 First and second PIP Afail status
QTMP+18-QTMP+19 Time elapsed since startof program
QTMP+20-QTMP+21 Encoder angle oftest table
QTMP+22-QTMP+23 gyro and P1PAthird fail indicators
QTMP+24-QTMP+37 gyro squared errors
QTMP+38-QTMP+51 PIPA squared errors
The delta V accumulators and the time counter are then zeroed after
which the proper output mode is gotten. Parts of QTMP are then rescaled
so that the output routine can handle them. Finally, a call to OUTPUT is
made with the addresses of QTMP and MODE. Upon return from output a
jump back to LOOP is made.
The last section of this main program, starting at RUPT, handles
the PIPA and gyro interrupts as they come along every five milliseconds.
The first interrupt, by the PIPA's, and every other one thereafter, will
cause program control to "jump store" to RUPT where the SKS '507
instruction will not skip and the jump to PDO is executed. Here the processing
registers (A register, keys, B register and index register) are saved and
calls to the subroutines necessary to update the PIPA algorithms are made
(see the introduction and description of implementation methods). The PIPA
squared errors are then saved in the buffer PISE for future output, then*
the processing registers are restored and a JMP RUPT causes program
control to go back to where it was when last interrupted.
The second interrupt, by the gyros, and every other one thereafter,
will cause control to "jump store" to RUPT where the SKS '507 instruction
*See previous page
will skip and the SKS '407 instruction will not, and the jump to GDO is
executed. Here the processing registers are saved. The table angle encoder
is read after which calls to the subroutines necessary to update the gyro
algorithms are made (seethe introduction and description of implementation
methods). The output timer, TCNT, and the overall timer, TIME are
incremented before a jump to COMN restores the processing registers
and returns to where the program control was when the gyro interrupt
occurred.
10
HTCROCOHP TEIECOHHONTCATED DATADDP-516
nor. 1000?00030004*oo500060007OC080009001000110012HO 13OM4oois001600170013on 19^02^0021or,220"230024002^00260^270028002900300*310032003300340035"036003700390039004*0041^042ootj3oouu**45.̂ 0460047OOU3o 0140
on so0051
"0520*530054*0550*56005"7
ooooo000010000200003*0004000050000600007000100001100012000130001400015*001600017000200002100*2200*23000240*02500026*0027"003000*3 100037000330.003UOOQ3S0003600037noouoOOOU1OOOU20^003ooouuOOOH5OOOU6OOCU70005000051000?2000530005U0005500056000570006H00061000620*0630006400065
0006600067
0
ASSEHBLY LISTING
10 OOOOO000007001000o10000100001
-0-0000
-0-0-0-c-0-0
0235Ott12120135Oi»1212oi350412120135040404121201040404040404
OC34200654OC422000 00or ooo000040065300500oooooOOOOO000110065200700OOOOOOOOOO00016OC65101000OC33700340OOOOOOOOOOOC0231C324OT32500 326OC3270033000331
000005o000
-0-0-0-0-0
0-0-0
r»00o00
:•>00000
040404040404040404020404020402OU0404040404040404
OC507OC506005100051100332OC333OC334003350033600650OC337003400064700637006460040100403004050040700411004130060100603OC605
RELCALLDELOLD
. LDXDSTIRSTRSJflPLDXDSTTRSIRSJHPLDXDSTIRSIRSJMPLDXDSTPST*DST*IRSIRSJHPDST*DST*DST*DST*DST*DST*SGLSTASTASTASTASTA*STA*STA*STA*STA*LDASTA*STA*LDASTALDASTASTASTASTASTASTASTASTASTA
DCHI
DZRO=-98•422,100*-3=-40•500,100*-3=-68•700,100*-3=-28' 1000, 1CCAGCCft?00*-5PAOAPAOBPAOCPAODPAOEPAOF
DSCTASCTMSCTICNTGYEKPYEKRPXMRPYW
. RPZW=-6001CCAGCCAP='77777TCNT=•40000•401•403'405•407•411•413•601•603•605
11
f l T C " O C O N P T E L E C O M M U N I C A T E D D A T A
0050ro<-,goo^o006100620063O06u006S006^on67"K6R00f,0
007n
0^71007?"073007Hon7S00760077on 740^7QOORP
0*R10097
OOR1ooq/jOORSC OR£0-1S7-»r R oO "RQ
OOQO0^91000?nnr)i
Onoij
OPT",01 ar0007o on oonor> 1 nn0101n 1 0 '>01 0 }
0 1 o n0 ins01^6
01 ->7
0 1 OR
0 1 01°1 10
0 1 1 1
0112011^
01 1/t
DDP-S1P00700007100072000710 0 0 7 (I000750007600077o? ino00101
00102no im0010U0010500106oo 10700 1 1000111001 1200111
0^ i m0 0 1 1 r,
o o 1 1 f,00117ooi2n
0012100 12200123no 12U0012^n o i 2 f,oo 1 270 n 1 1 000131oo 112
6 ASSEMBLY0 OU 00607o OH 006110 OU 006130 04 OCU15o oa ooui70 04 00i»210 OU 006150 o« 006170 01 00621o 0« OOH60o 04 OOU630 04 004670 04 004730 04 00477o 04 OQfjin0 04 004530 04 004570 10 000000 10 OCOOO0 02 00323o 04 00063o 10 000000 02 OT6U574 002C0 10 OC310
0004010 02 006370 11 006351010000 01 00141000201111002o 01 001211000040 01 00121
LISTINGSTASTASTAST.ASTASTASTASTASTASTASTASTASTASTASTASTASTACALLCALLI.DASTACALLLDASMKJST
**LOO? KNB •
LDACASNOPJMPTABSS4JMPSR3JMP
*
•607•611• 6 1 3•415•417•421•615•617•621•460• 463•467•473•477•447•453•457HMTNEMTNRDAD•63ICINI= 6•20GETM
TCNTCPIT
OUT
LOOP
LOOP
* EXIT CODING
o o 1 n"0 1 3Uo 0 1 1 r>oo 1 3f>00137001HO -
00 1U1001U2o o m 3oo ma00 1U500 mfioo 1U700 1 r,'n
no 1S1
14 OOU714 00^7moouo74 002000 1001o 01 OT631
1000041010020 01 00165OOOOC70 02 00342o 04 004600 OU 00462o 04 004640 04 00466
*OCPOCPCPASMKINHJMP*
**OT?T SP.3
SS4JMPDELDLDDSTDSTDSTDST
•47••57
•20
DOS
NOQZ
DZPO•460'462•464•466
TO SET HP T I H E
12
HICBOCOHP T E L E C O M M U N I C A T E D DATADDP-516 A S S E M B L Y
0115 001520116 001530117 001540118 001550119 001560120 001570121 001600122 001610121 001620124 001630125 001640126 001650127 00166"12* 001670129 001700130 001710131 00172"132 001730133 "01740134 001750135 001760136 00177013^ 002000138 002C10139 0020?0140 002030141 002040 1 4 2 002050143 002060144 002070145 00210?14f 002110147 002120148 002130149 0021U0150 002150151 002160152 002170153 002200154 0^2210155 002220156 0 0 2 2 30157 0 0 2 2 4015fl 002250159 00226C16C C02270161 002300162 002310163 002320164 002330165 0023U0166 00235016"* 00236OUR 002370169 C02400170 002410171 0 0 2 U 2
0 04 O O U 7 P0 04 OP472o 04 004740 04 004760000050 02 006460 04 004600 04 004630 04 004670 04 004730 04 004770000070 02 004600 04 003460 02 004640 04 003500 02 004700 04 003520 02 004740 04 003540 02 004440 Ou 003560 02 004500 04 003600 02 OC4540 04 003620 02 003160 04 OC3640 02 003200 04 003660 02 007760 04 003700 02 003220 04 003740 02 003240 04 OC3720 02 003260 04 003760 02 003300 04 004000 02 003320 04 004020 02 004360 04 O C 4 0 U0 02 O C 4 4 00 04 004060 02 0 0 4 U 20 04 004100 02 005740 04 004120 02 0 0 4 3 20 04 O C 4 1 40 02 004340 04 004160 02 004360 04 0042C0 02 OC440
LISTINGDSTDSTDSTDSTSGLL D ASTASTASTASTASTA
NOQ?, DELDLDDSTDLDDSTOLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLDHSTDIDDSTDLDDSTDLDDSTDLDDSTDLDDSTDLD
•470•472•474•476
= • 4 0 0 0 0•460•463•467•47.1•477
•460QTHP• 4 6 UQTHP+2•470Q T H P + 4•474OTHP»6• 4 4 4QTNP+f l"450QTHP-HO'4540TMP+12•316Q T W P + 1 4•320QTHP+16T I H EQTHP+18' 322Q T M P + 2 2• 3 2 4O T M P + 2 0•326QTHP*24•330QTBP+26•332QTHP»28• 4 3 6QTflP+30• 4 4 0QTMP*32• 4 4 2Q T H P + 3 4•574QTPIP+36PISEQTHP+38PISE»2QTHP+40PISB»4QTHP«-42PISE»6
13
MTCPOCOMP TFIECOHMriNTCATED DATA
01720173oi740175017601 ~!~i01 73017Q01PO0191
019201B ?o 194M95o 1 9 f,01R711R90190019001<M0192019301940195019601 9 "701990 19902A002010202o2m020402050206020702C"02^02100211021202130214021502150217021«0219022002210222022302240325022602270223
DDP-oo ;>u 30024400245002U60024700250r c-251OO2620025300254^025500256^0257002600026 10 0 2 f 200263002 6U00265OQ26600267002700027100272002730027400275002760027700300003010030200303Q03CU003050030600307
003100031 10031200313o o 3 1 u0031500316
00317003200032100322
00323oo 32400325003260032700330
516 ASSEMBLY0 OH 004220 02 OCUU20 04 004240 02 004440 04 004260 02 004460 04 004 3C0 02 003420 04 004440 04 DC 4 500 04 004540000050 04 00637o 10 003100000070 02 003560411 710 04 OC3560 02 003600411 710 04 OC360o 02 003620411 710 04 003620 35 006511 02 004320411 671 Ou 004320 12 000000 12 OCOOO0 01 002740000050 10 000000 0003460 000636oooooo0 01 00121
0 OOOOOO1400401000201412061000 10o 02 OC6440 04 00636
0 04 000001 02 006320 04 00635
-0 01 0031C
0 OCCOOC0 OOOOOO0 OOOOOO0 OOOOOOo oooooco ooooco
LISTINGDSTOLDDSTDIDDSTOLDDSTDLDDSTDSTDSTSGLSTAJSTDBLDLOLLSDSTDLDI..LSDSTDLDLLSDSTLDXDLDLLSDSTTRS .TRSJMPSGLCALLDACDACOCTJMP
*GETM DAC
CRA ..SP1ADASP2LDASTA
*STALDASTAJMP*
*PDAD XACPAOA XACPAOB XACPAOC XACPAOD XACPADS XAC
QTMP+44PISE+8QTMPf46PISE+1PQTMP+48PISE+12QTMP*50D2FO•444'450'454
TCNTGETM
QTMP+R7QTMP+ROTMP+107QTMP-HOQTKP+127QTMP+12=-23QTMP+52,19OTMP+52,10 •
' 0 .,*-5
. OITTPriTQTMPMOPE0LOOP
**
= 2MODE
0TCON,1CRIT.GETM
RtlPTAOAPBOAPCOftPDOAPEOAP
GET M O D E
14
1ICPOCONP T E I E C O N M T I N I C A T E D DATADDP-516 A S S E M B L Y LISTING
0229023002310232023.1023H023502360237
"238
023"
00331003320033300334003350033600337003UO003U2003U3On.iuu003115003U6003U700350003510035200353C035U003550035600357003600036100362003630036U003650036600367003700037100372003730037U00375003760037700«00oouoiCOU02OQU0.3OOU04OOU05OOU06OOU07OOU10OOU1100412OOH13oomuOOU15OOU1600417OOU20OOU21COU22
0 000000 PAOF TAC FOAP0 000000 GYEK XAC KEYG0 000000 PYEK XAC KEY?0 000000 RPX» XAC ffXPR0 000000 RPYW XAC WYPR0 000000 RPZW XAC HZPR1 000000 CCAf? XAC GACC,11 OOCOOO CCAP XAC PACC,1000000 DZRO DBF 0oooooo000000 DONS OCT 0,1000001OOOOOO QTHP BSZ 52OOOOOOOOOOOO•100000OOOOOOOOOOOOOOOOOOoooocoOOOOOOOOOOOOOOOOOOOOOOOOoooocoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
15
MTCKOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
00423 OOOOOOC0424 OOOOOO00(425 OOOOOO00426 OOOOOO00427 OOOOOO00(430 OOOOOO
02'4r
02141
024^"244"245"24602 '4 7024R024902500261"25?" 2 5 "*"2^4
"2550256A257"2530259"26""26102620263"2640^65
0 ?66"267"2680 26902^0"271"272"273"274"2750276
""43100(432"0413""434"0435""43600437"0 U40""441oo nn 2
"0443" "144(40"445T04460 O (4 (4 "*
"045 0"045100452o " 4 5 30045400455"045600457"0(4f,r004610"462"046 3"OU640046500466
OOU67" 0 u 7 0OOU71r o u 7 20" U73
00 U74
00475001476004770 o 5 " 0
005010050200503
"00000ooooooooooooOCOOQO"00000coooco000"00"00"00ooooooOOOOOOoooooo"00000"OOOCOoooooooooooo
0 OOOQOO14 010234 05070 01 OC51234 Oijf)70 01 "C56534 06070 01 0050134 04250 01 0047534 OU040 01 004670 12 005100"0401
-0 01 OC450
14 000454 00041010000 12 005061010000 01 00465
14 14250 12 005071010000 01 00465
0 12 0051110100014 "027
PISE BSZ
*
STJBRSUBP,PEL
PIIPT DACOCPSKSJMPSKSJMPSKSJMPSKSJMPSKSJMPIRS
PSM ENBJMP*
*ASP OCP
INANOPTRSNOPJMP
*DISK OCP
IPSNOPJMP
*ICLK IPS
NOPOCP
14
PUPTASCT
**1 102•507PDO•407GDO•607ICLK•425DISK•404ASPMSCT
RUPT
44
ASCT
RSM
' 1425DSCT
RSM
1C NT
•27
SHUT OFF DGS
DISK RMPT
ASP RUPTMISCELLANEOUS
DUMMPY
IN CASF OF SKIP
IN CASE OF SKIP
16
HTCRnCO«1P T E L E C O N K O N T C A T E D D A T ADPP-516 ASSEMBLY
0277 005040278 005050279 005060280 005070281 005100282 0051102830284"285 005120286 005130287 OQ51U0288.005150289 005160290 005170291 0052002920293029U02950296 005210297 00522029R 005230299 005240300 005250301 0^5260302 005270303 005300304 005310305 005320306 005330307 005.lt0308 00535"309 005360310 005.170311 CC5400312 005H10313 005420314 0051*30315 C0544031* 0054503n 005H60318 005470319 0055C0320 005510321 005520322 005530323 00554032403250326 005550?27 005560328 005570329 005600330 005610331 005620332 005630333 OC564
1l» 00670 01 00465000000OOOOCO000000oooooo
0 13 006HO0000430000050 04 006410002010 04 006420 15 00643
0 10 000000004010 10 000000 10 000000 10 000000 1C 000000 10 000000 10 OOCOOC 10 000000 10 OOCOO0 10 000000 10 000000000070 02 003260 04 OC4320 02 OC3300 04 004340 02 OC 3320 04 004360 02 004360 04 004400 02 004400 04 004420 02 004420 04 004440 02 005740 014 00446000005
0 35 006430 02 OC6420902010 02 006411710200 13 OC640000401
-0 01 OC450
LISTINGOCPJHP
ASCT BSZDSCT BSZMSCT BSZICNT BSZ**PDO THA
TNKSGLSTAIABSTASTK
****
CALLENBCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLDELDIDDSTDIDDSTOLDDSTOLDDSTOLDDSTOLDDSTOLDDSTSGL
**CO«N LDX
LDAIABLDAOTKIHAENBJMP*
•67RSH1111
AREG
KEYS
BFEGXREG
INPIP
AC0.1ROHSPAPCPFTSPPPTEMINMP63SPUNVELAVACD
•326PISE•330PISE+2•332PTSE+4•436PISE+6•440PISE+8•442PISE+10•574PISE-H2
XREGBREG
KEYS
ARFG
ROPT
17
KTCPOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0334 *033503360337033B03390340034103U20343034403450346* 347034R0.34903500351035203^303540355035603^7r>35«0359036003610362"363036403*5036*03670368"36903~'003^1n372037?"T^U0375037613770378037903«0^33103^2038^03PU03^5*3«6"3ST03^^0389n 3 q *.
0056500566005670057^005710057200573
0057H00575005760057700600006010^60200603rofio«0^6050060600607^061°0061 1^0612006130061U006150^61600617006200062100622006230062U006250062600627
00630
00631006320063300634
00.63500636006370064C006U1006U200 64 3
0 13 OP6UOOOOOU30000050 O'tt 006410002010 OU 006«20 15 006U3
3U 00070 01 0057U14 04060401 6254 101*1010000 04 0032454 K061C10000 04 0032514 0006o 10 00000OOQ4010 10 000000 10 000000 10 000000 10 OOOOC0 10 000000 10 000000 10 000000 10 000000 10 000000 12 006370000070 02 00776o 06 003440 04 00776000005
0 01 OC555
030000013560000620000144
000000000000077777oooooo000000oonooooooooo
*GDO
**
**
* •**DOSTCON
*CPITMOD?TCNTAPEGKEYSBPE1XRE3
IMATNKSGLSTAIABSTASTX
SKSJMPOCPLPSINANOPSTAINANOPSTAOCPCALLENBCALLCALLCALLCALLCALLCALLCALLCALLCALLTRSDELDLDDADDSTSGL
JKP
OCTDECDECDEC
BSZBS7OCTBSZBSZBSZBSZ
AREG
KEYS
BREGXREG
•007*-1•40614•1016
•324•1006
•325•006INGYPO
DCMTGCOMGARCGFISGPRTGMTNNG63EPCOATTATCNT
TIMEDONETI*E
COKK
300006000400100
11777771111
M A T T F O R D T K I S E C
HOLDW A I T 8 M C T ' SH I G H H A L F
LOW H A L F
E N D HOLD
30 SEC FOP TTY4 SEC FOB CST
.4 SEC FOR DGS
18
HICPOCOHP T E L E C O H H U N I C A T E D DATARDP-516 A S S E M B L Y LISTING
03<M 000776 TIME EQU '77ft0392 0 0 6 U U 000002 END
006U5 000^06006U6 O U O O O O00607 07777700650 16U217P0651 1777tt«00652 17767U00653 177730"065U 177636
19
PROGRAM NAME (Note: this is a FORTRAN program)SOURCE: ALPO
BINARY: BALPO
ENTRY POINTS (location): OUTPUT ('07530), DODSP ('07600)
GENERAL DESCRIPTION:
When called, this subroutine will output the information about the
system status either on the teletype or the CRT screen in the format shown
in Figure 2 or as a block of 104 bytes (6 single precision numbers giving
gyro and PIP A fail status and third fail indication and 23 double precision
numbers; 4 for the quaternion, 3 for AVj, 14 for gyro and PIP A squared
errors, 1 for time and 1 for the encoder) on digistor tape. See the
documentation for MPRO (the main program which calls OUTPUT) and for
the output subroutines SDGS, SXOU and SFPOUT.
(NO FAILS INDICATED)
QUA! 0,999999 0.000016 O.OOOU65, - C . u u u u ^D L L V H F - 979.664062 8.601562 - E . 4 M 1 2 S
LMORaA-F GyroSquaredError
0.25 1.39'0.01 1.890.01 0.010.06 3.510.39 0.390.14 0.56 J
A-F PIPA
Squared.Error
0.87 8.26 Total Squared Error
3YRO F A I LP I / - A F A I LTIi- ,1: 180.00 (sec)T A 3 L E ANGLE 0.761531 (IN REVOLUTIONS)
Fig. .2 CRT System Status Display
20
N T C R O C O M P T F L E C O M H U N I C A T E D DATADDP-516 A S S E M B L Y LISTING
S U B R O U T I N E O T J T P H T ( A H G , M O D E )000000 DAC OOOOOO000001 CALL F$AT000002 OCT 000002000003 DAC OOOOOCOOOOOU DAC OOOOOO
INTEGER ARG(52) ,MODE,BODSAVDATA MODSAV /-1/
000005 jflp OOOOOO0000^6 OCT 177777
IF(MODE.EQ.2) GOTO 100STG 0 0 O 0 0 5
000007 LDA* MODEOOQ010 SIJB ='000002OOQ011 SZE OOOOOO000012 JMP OOOOOOoooon JMP _ioo
STG 000012IF(MODE. EQ. MODSAV) GOTO 50
00001U LDA* MODE000015 S'lB MODSAV000016 S7.E OOOOOO000017 JMP OOOOOO00002C JMP _tiri
STG 000017CALL IOMODE(MODE)
000021 CALL IOMODE00002? DAC* MODE
MODSAV=MODEOOQ023 LDA* MODE00002« STA MODSAV50 CALL DODSP(ARG)
STG _50000025 CALL DODSP000026 DAC* ARG
TF(MODSAV.EQ. 1) CALL C10U(2H -000027 LDA MODSAV000030 SUE ='000001000031 SZE OOOOOO000032 JMP OOOOOO000031 CALL C10U00003U DAC ='120336
STG 00003235TORV
CC DIGTSTOP OUTPUTC000035 JMP* OOOOOO100 CALL DGSWET(ARG,52)
STG _100000036 CALL DGSWRT000037 DAC* ARGOOOOUO DAC ='00006Uoooom OCT oooooo
RETHPNOOOOU2 JMP*
END
21
N I C R O C O M P TEIBCOHBOMICHTZD DATADDP-516 ASSEMBLY LISTING
ccc
OQOOU3
000003
oooous
000036
oooooo
OPOOU6oooo.on
00000^"00001Q00002opnoo 3
STGOCTSTGOCTDACDACSTROCTDACDACDACDACDACDACSTGOCTDAC
SUBROUTINEDACCALLOCTDAC
«»000001000001'•000002000002ARCNODE= '.00006UP0006HHQD55AV
100I'MTOHODEPODSPC100=•120336120336D G S W R T
D O D S P ( A R G )000000F J A TP00001000000
COMMON/LIST/LORICRL LIST
1IST(1)
TKTCAT
ooooou000005000006000007OOQ010000011
00001200001 3000° 1U0000 1 r>
DO0000160.00O 17
CAT000020000021OC002200002300002U00002=;000026OOC027OOQO ?"000031OOQ032
'EGERT. 00
,7 IPSTGJMPOCTOCTOCTOCTSTGCATLDACDSCOCT10 I-IDASTA
ARG(2U)rrA(3HQtiAT ,a
ooooocooooouoooooo1S07251U072H1202UO1202UOC00005XNOOAOOQ006='000010OOOOOO
1,7,2='000001I
T, FPOOTC (ARG (I) ,1,6)LDAADDADDJ*POCTSTACALLDAC*DACDSCOCT
IARGOOQ02U000025177777TS1000FPOOTCTJ1000='000001='000006OOOOOO
CAM XNO'JA(2H ,2)
22
•1ICROCOHP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0000.1300001U00003500003600003700001*0OOOOU1OOOOU2oooo<»300001*1*
(OOOOU500001*6
(000047000059000051000052
CALLDACDACOCTLDAADDCASJNPJMPJNP
XNOOA= « 1202UO=•000002000000I=•000002=•000007OOOOU5000017000017
CALL X10U(138)CALLDAC
X10D=•000212
00005HOP0055000056000057
I000060OOOC61
"C006200006300006H00006500006600006700007000007100007200007390007U20000075000076OC0077000100000101000102000103000101*000105000106
CALL XNOOA (8HDELVf?P ,8)JBP 000000OCT 1U2305OCT 1U6326OCT 151306OCT 1202ttOSTG OOOOU7CALL XNOHADAC 000050DAC ='000010OCT 000000
DO 20 1=9,13,2LDA ='000011STA I
CALL FPOUTC(APG(I) , 15,6)LDAADDADDJMPOCTSTACALLDAC*DACDACOCT
IARG000066OC0067177777TS1000FPOUTCTS1000=•000017=•000006000000
CALL XNOUA(2H ,2)C A L LD A CDACOCTL D AADDC A SJ M PJ M PJ M P
X N O T T A= • 1202UO= • 0 0 0 0 0 2000000I=•000002='000015000107000061000061
CALL X 1 0 U ( 1 3 8 )000107 C A L L X10H000110 DAC = '000212
•CALL XNOOA(8HERP01»S000111 JMP 000000000112 OCT 1U27220^0113 OCT 151317
23
MICROC01P TELECOHHOHICfcTED D A T ADDP-516 ASSEMBLY LISTING
00011U OCTOC0115 OCT
STGOC0116 CALL000117 DAC000120 DAC000121 OCT
DO 25 1=1,000122 LDA000123 STA
151323120240000111XNOUA000112=•000010oooono13,2=•000001I .
CALL FPOUTC(ARG(I*24), 15,2)00012« LDA000125 ADD000126 ADD000127 JHP000130 OCT000131 STA000132 CALL000133 DAC*00013(4 DAC000135 DAC000136 OCT
CALL XNO'JA000137 CALL0001(40 DACooo 1 m DAC0001(42 OCT
IARG000130ooom000027TS1000FPOOTCTS1000=•000017=•000002OOOOOO(2H ,2)XNOtlA
= • 1202UO=•000002OOOOOO
CALL FPOOTC (ARG (T+38) ,15,2)0001U3 LDA00011(4 ADD0001(45 ADD0001(46 J*P0001U7 OCT000150 STA000151 CALL0001S2 DAC*000153 DAC00015(4 DAC000155 OCT
C'TL X10n(000156 CALL000157 DAC25 CALL XNOIJA000160 jflp000161 OCT000162 OCT000163 OCT10016U OCT
STG000165 CALL000166 DAC000167 DAC000170 OCT000171 LDA000172 ADD000173 CAS00017(4 J1P
IARG0001U7000150OOOOU5TS1000FPOtJTCTS1000=•000017='000002oooooo138)xion=•00^212<8H ,8)oooooo1202(101202UO1202UO1202UO000160XNOUA000161=•000010OOOOOOI=•000002='000015000177
24
M T C P O C O K P T E L E C O M M U N I C A T E D D A T ADDP-516 A S S E M B L Y L I S T I N G
000175 JMP 000123000176 JMP 000123
CAT..! X10M(13B)000177 C A L L X1CMJOC0200 D A C = ' 0 0 0 2 1 2
C A L L X N O H A ( 1 0 H G Y P . O F A I L ,10)OC020100020200020300020U000205000206
000207000210"00211*OC212
^0021300021H100215">C"216000217000220000221000722000223
00022U000225000226
000227"00230^"0231OT0232
000233000 23400^235"00236ir-0237">002«°0002U10002U20002U30002UU
0 0 0 2 U 50002«6^002U700025000025100025200025300025(4
JKP 000000OCT 1 U 37 31OCT 151317OCT 120306OCT 140711nCT 1U62UOSTG 000201CALL XNOIJADAC 000202DAC ='000012OCT 000000
IF(AR^(15) .EQ.O) HO TOIDA APGADD 000216JMP 000217OCT 000016STA TS1000LDA* TS1000SZE 000000JMP 000000vlMP 35STG C00222
CATL rNOIIA(UH , U)JMP 000000OCT 120240OCT 1202UOSTG 00022UCALL XNOIJADAC 000225DAC =«OOOOOUOCT 000000
CATL X10TJ (ARG (15) +192)LDA APGADD 00^236JMP 000237OCT ^00016STA TflOOOLDA* TS1000ADD ='000300STA TS1001CALL X10HD^C TS1001
TF(ARG(16) . EQ.O) GO TOLDA AP.GADD 000250JMP 000251OCT 000017STA TS1000LDA* TflOnoS7.F 000000JMP 000000
35
35
25
" T C ^ P C O M P T E L E C O H B T J N I C A T E D D A T ADDP-516 A S S E M B L Y L I S T I N G
J!*P _35S T G O O Q 2 5 4
C A L L X N O U A ( U H , 4 )0 0 0 2 5 600^257o n o o f. o
0 0 0 2 f 1o C o 9 f, ->0 0 0 2 fv30 " C 2 6 U
C0 o o 2 c 51 o o 2 fi <sC r o 2 fi 7^ r 0 97^0 0 0 2 7 1p n p ? 7 ->p r> 0 o 7 -}
0 n 0 2 7 Un c n 9 7 ^n n r T 7 A.
T
n n a T 7 7000 7 ,n p
0 0 0 3 0 1
000 3^2oop if1 ^
or.Q 3 -""4000 1 0 S000 ?^60 0 0 3 0 70003100 0 0 3 1 10^01120 0 0 3 1 30 0 0 3 1 U
0 0 0 3 1 50^03160003170 0 0 1 2 -°
35 C
0 0 0 3 2 10 0 0 3 2 2
JflP 000000OCT 120240OCT 1202UOSTG 000256C A T L XNOOADAC 000257D A C = ' .OOOOOUOCT 000000
AT 1 X10U ( A R C (16) *1^2)I, DA ARCAHD 000270JMP 000271OCT OOQ017STA T$1000
LDA* T«1000ADD ='000.300STA TJ1001CM I X100D A C T$1001
F ( A S C , (23) .NE.O) CALL X N O ? T A ( 1 0 HL D A A B GA D D 0 0 0 3 0 2JMP 0 0 0 3 0 3nCT 000026S^A T*1000L D A * ?$1000S V Z 000000jwp 000000.TIP 000000OCT 120240nCT 120240OCT 152310OCT 144722OCT 142240STG 000307CALL XNOUAD A C 0 0 0 3 1 0DAC = '000012oc^ 000000STG 000306
ALL X100 ( 1 3 8 )STG 35C A L L X10IID A C = '000212
C A T I XMOt. IA (10HPIPS FAIL ,10)0 0 0 3 2 30 0 0 3 2 U0 0 0 3 2 50 0 0 3 2 *0003270003.3 r>
0 0 0 3 3 10 0 0 3 3 2
J«P 000000OCT 150311OCT 150301OCT 120306OCT 140711OCT 146240STG 000323CALL XNOTIAD A C C 0 0 3 2 4
T H T P D ,10)
26
HTCROCOHP TELECOHHOHICATED DAT*ODP-516 ASSEBBLT LISTIHG
000333 DAC ='000012000330 OCT 000000
I F ( A P G ( 1 7 ) . E Q . 1 ) G O T O UO000335 LDA ARG000336 ADD 000300000337 JSP 0093U1000300 OCT C00020000301 STA Tf1000000302 LDA* TtlOOO0003U3 SZE 000000000300 JHP 000000000305 JHP _oo
STG 0003U4CALT, TNOUA (UH ,«)
000306 J1P OOQOOOOOP307 OCT 12020000035" OCT 120200
STG C0030f000351 C A L L X N O I 1 A000352 DAC 00010700^353 DAC ='000000000350 OCT 000000
CALL X10U (ARG(17 ) *192)000355 LDA AHG000356 ADD 000360000357 J1P P00361000360 OCT OOOf»2C000361 STA TS100C000362 LDA* TS1000000363 ADD ='000300000360 STA T*1001000365 CALL X10U000366 DAC TS1001
TF(AR(;(18) .EQ.O) GO TO 00000367 LDA ARG000370 ADD 000372000371 J«P 000373000372 OCT 000021000373 STA T*1000000370 LDA* TS1000000375 SZE 000000000376 JHP 000000000377 JHP _00
STG 000376CALL XNOOA(OH ,0)
000000 JHP 000000000001 OCT 120200000002 OCT 120200
STG 000000000003 CALL XNOUA000000 DAC 000001OP0005 DAC ='000000OP0006 OCT 000000
CALL X100(A!»G (18)OP0007 LDA APG000010 ADD 000012000011 JHP 000013
27
"TCPOCOHP T E L E C O M M U N I C A T E D D A T ADDP-516 A S S E H B L Y LISTING
000412OOOU13or04i4000415000416OC0417000420
IF000421000422000423000424o r o u 2 5000(126000427ooo a 30000431OOOU I"50 r 0 4 T .30 0 0 4 3 40004 35000436
0004170004400 r. 0 u a 1OOOU a 2
40 CAT
OOOU43000444
CAT0 0 0 4 U 5oooausQP0447000450000451
Onf145?0004530 0 A 4 ̂ U
OC0455
OCT 000021STA TS1000LDA* TS1000ADD ='000300STA TS1001CM, I X-10WDJC T$1001
(ARG(24) . NE.O) CAMLDA ARGAHD 000424.IMP 0(^0425ncT 000027STA. TS1000LDA* TS1000SN7 000000J1P 000000JMP 000000OCT 120240oc^ 120240nr? 152310ncT 144722OCT 142240STn 0"0 43 1CALL XNOHAHAC 000412PAC ='000012OCT ooooooSTG 000430
i, yinu(i3R)S T r, _ 4 0CM.'. X10tJDAC ='000212
,T. VNOTJA (PHTTMEJMP 000000OCT 152311OCT 146705OCT 120240OCT 1202405TG 000445CALL XNO'HDAC 000446DAC =«00"010OCT O.otOOO
CA.LT OTIT100 (RRG (19) )000456000457000460000461000462000463000464
CM0 0 0 4 f : 5000466
CAT000467000470
IDA APGADD 000461JMP 000462OCT 000022STA T$1000CALL OHTI^ODAC* TS1000
I, X10M(13R)CAT. I X10UDAC ='000212
I, XNOIIA (8HTABLEj»1P OOOOOOOCT 152.301
10H T H I R D ,10)
,8)
28
HICROCONP TELECOHHOHICATED DAT!DDP-516 ASSEMBLY LTSTIHG
000471 OCT 141314000472 OCT 142640OOQ473 OCT 120240
STG 000467000474 CALL XHOOAOOQ475 DAC 000470000476 DAC =«00001COC0477 OCT 000000
CALL FPOUTC(ARC(21),0,6)OP0500 LDA ARC000501 ADD 000503
000504000024TJ1000
00050200050300050t»000505OC0506000507000510000511
JHPOCTSTACALL FPOOTCDAC* T51000
=•000000='000006000000
DACD A COCT
CALL X10tJ (138)000512 CALL X100000513 DAC ='000212
CALL XlOtJ (138)000514 CALL X10H000515 DAC ='000212
000515
000517
000520
000521
000522000003000000000000
000523000033
00052U
000525000000
000526
000527000000
000530000075
000531
JMP* 000000END
STGOCTSTGOCTSTGOCTSTGOCTDACDACDACSTGOCTDACSTGOCTSTGOCTDACSTGOCTSTGOCTDACSTGOCTDACSTGOCT.
='000001000001='000002000002=•000004000004=•000006000006ARGLISTXNOTJA=•00001000001010
I004640=•000007000007FPOOTCT$1000012244=•120240120240X100=•000212000212-20=•000011000011
29
M I C R O C O M P T E L E C O M M U N I C A T E D D A T ADDP-516 1SSBHBLT LISTING
STG ='000015000532 OCT 000015
STG ='000017000513 OCT 000017000160 DUG _25
STG = '000012O P 0 5 3 U OCT 000012
STG = '000000000515 OCT 000000000321 DAC _35
STG ='000300000536 OCT 000300
STG TS1001O C 0 5 3 7 O C T C 1 2 2 W U0 0 0 1 U 3 D A C _ U O00000" HAC O'JTIOP$0
30
PROGRAM NAME:
SOURCE: SFPOUT
BINARY: BFPOUTENTRY POINT (location): FPOUTC ('10340), OUT100 ('10552) .
GENERAL DESCRIPTION:
FPOUTC is called by the output subroutine ALPO and prints on theteletype or displays on the CRT (See documentation for subroutine SXOU)a decimal number representation of the binary number designated by thecall. The call in FORTRAN is
CALL FPOUTC (ARC, S, P)
or in DAP
CALL FPOUTCDAC ARCDAC SDAC P
OCT 0
where ARG is the number to be printed, S is the number of bits after the
sign bit before the binary point, and P is how many decimal digits to print
after the decimal point.
OUT100 is also called by ALPO and is used to print on the teletypeor display on the CRT 1/100 of a double precision integer. It is only used
tc print out the variable TIME, which is really a count of updates and needs
to be divided by 100 to scale it to seconds. The call in FORTRAN is CALL
OUT100 (TIME), or in DAP
CALL OUT 100
DAC TIME
31
*TC?OCO»1P TELECC1HUHICATED D A T ADDP-516 ASSEHBLT
0001n.on 20003OOOu
0005
ooofiTOO 7n r> a Q"op Q
r -110001100120013001 u0015001*500170.1 18n ?1 oo c. *>o00210"??o ̂ 2 300240025012600270 A2P
00290030003100320" 3 30 0 3 14
0035o o .3 f,"0370038"1030"^uoo imr. r> /i 2o o u 3•: o a (j
™US
^ ̂ U 7
<^UR^ O fj O
o *"i £> o0051"052r- o 5 30^5(400^50"t;60057
0000000001000020000300004OQ005000060000700010000110001200013000140001500016
000170002000021000220002300024000250002600027000300003100032
000330003400035oo«360003700040n 00 14 1
0004 20004300014400045onou6OOOU7000.50
0^5100052^005 3000540005500056
C0057o o o 6 00006100062
0 0000000 10 000000000030 00 000000 00 000000 00 000001400400 04 001660 04 001730 02 002020 04 001700 04 001710 04 001720 02 002060 04 00167
0 35 000031 02 000010002011 02 OOOOC0000070 04 001741014000 01 000330 12 001660 07 0017U0 07 0017«0 04 00174
000005-0 02 00004101040
. 001 000511014000 01 OC1440. 03 002100 05 002010 04 000460000070 02 OC1740 0^ 000000 04 OC174000005
f> 02 001730400 600 17 002070 04 00173000 2C10 06 00176
0002010 02 001670 07 002050 04 00167
LISTING
FPOH
DEC3ARCSCALPREC
*
*ARGP
INS2
SOONNEXT
*
SUBRPELDACCALLOCTP7EPZEPZECRASTASTAT.TASTASTASTALPASTA
LDXLDAIABLDADELDSTSMIJNPIRSDSBDSBDST
SGLLDA*SNZa HPSMIJP1PANAERASTADELDLD***DSTSGL
LDALRLDIVSTAIABADD
IABLDASUB -STA
FPOOTC
**F$AT3
SGFLINTBLBLSTRSTR+1STP + 2SIXPPTR
ARG1» 1
0,1
FRAC
ARGPSGFLFRACFRACFRAC
SCAL
SPON
TPLSOC77FSIINS2
FRAC
FPAC
INT16TENINT
FRBT
PPTRONEPPTR
SIGN F L A G
OVERLAYS C N T R
32
SICPOCOMP TELECOMMUNICATED DATADDP-516 A S S E M B L Y
0058 000630059 0 0 0 6 U0060 000650061 000fi60062 000670063 00070O T 6 U 000710065 000720066r o ^ 7 0007.3rof i? 000740069 000750070 000760071 000770072 001000073 00101r»07u 001020075 0010.10076 0010U00^7 00105^078 00106r f > 7 Q 00107
ooaoO C 8 1 001100^92 001110083 00112O O R H OC113"OP5 00111*01R6 00115OC97 00116008R0089 00117r09" 001200^9 1 on 1211C 92 0 0 1 2 20093 0012.30091* O 0 1 2 i »0005 00125C C 9 6 001260097 001270093 00130O C 9 9 00 13 10100 001320101 001330102 0013(40103 001350104 OQ1360105 CO 1370106 0 0 1 U O0107 0 0 1 U 1C 1 C H 0 0 1 U 20109 0 0 1 U 301100111 001U140112 001U50113 0011*601 1« 001147
0«0i* 770 0<* 000001 02 00170100001000201emu 7001402 701 014 00170
0 02 001731000UO0 01 000520 02 0016610101400 01 0010U0 02 001700 05 0020140 01* 001700 10 000000 0001700 000206000000
-0 02 OC0051140U07101«00
-0 01 O T O Q O0 Oi* 001720 10 000000 000203
0 02 001750 16 002070000070 Oi* 001660 02 00171*0 16 002070 Ofi O C 1 7 60 13 0017.?1U00400002010 06 001661000C10 12 0017.311*01000 014 00171*O O O O C 50 10 00000C 0001730 12 001720 01 00117
-0 01 00000
0 05 OC2001U12060 OU 001530 35 O O C 0 2
LISTINGLGFSTALDASRCT A BLGLL R RSTA
*LDASZEJ«PLDASNZJ M PL D HEPASTA
SOHT CALLDACD A COCT
*L D A *TCASMIJHP*STAC A L LDAC
*FLP LDA
M P YDBLDSTDLDM P YD A DI1ACPAT A BD A DSRCI R SSSPDSTSGICALL.DACIRSJ M PJHP*
*TPLS ERA
A O ASTAL D X
10STF,1
88STP, 1
INT
N E X TSGPL
SOOTSTPNEGSSTRX N O U ASTRSIX0
PREC
FPO'lCNTRX10TJDOTC
LOWTEN
T E M PH I G HT F NF R M TDGT
TEMP
DGT
F R A C
X10UDGTCNTRFIPFPOO
LSI
INS1DEC3
33
«ICROCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0115 00150 140040 CRA01160117011*01 1P01200121"1220121012401250126^1270128"12"01 TO0131
"132
0133" 1 3 '»"135
"136"13701380139nmno 141014?
0143o 14401450146"11*7
014Somq01500151015201530154"155015601570158015001600161"162016?016U016501660167
0015100152
00153001540015500156001570016000161001620016300164
00166001670017000171001720017300174C0175
0017600177002000020 1002020020300204
0020500206102070021000211
00212C02130021U007150021600217002200022100222
0002011 02 001720 00 000001401001 13 001720002010 02 000000 07 OC2050 014 000001000400 01 001520 01 00051
ooooooooooooooooooooooooooooooooooooooooooooooro00017300017U000175000166000167
000260OOOOOO0411 770401 00120240000256006400
000001000006000012000077OOOOOO
,
0 OOOOOO0 10 00000
-0 0002121 02 000010002011 02 oroooo 17 002400 On 00236140040
TPLPINS1
***TEMP
STR
CNTRINTFRAC
DGTHIGHLOWSGPLPPTR*FRMT
LSIPSIBIBLDOTCNEGS*ONESIXTENOC77ZERS
**
OOT1
IABLDA***SSPIHAIABLDASOBSTASZEJHPJBP
DBP
DBP
BSZBSZDBP
EQOEQtJEQUEQUEon
OCT
LLSLRSOCTOCTOCT
DECDECOCTDECOCTFIN
SUBRRELDACCALLDAC*LDAIABLDADIVSTACRA
INT-1,1
INT- 1,1
0ONE0
•TPI.PSDON
o
0
110
INTFRACFRAC+1TEMPTENP+1
260,0
101202402566400
1612630
OTTT100
**ARCSOUT11,1
0,1D100OTMP
34
1TCROCONPDDP
016R 0"2230 0 2 2 U002250 0 2 2 6002270023000231"023200233
0169017"01710172017?
T E L E C O M M U N I C A T E D -DATA-516 A S S E M B L Y LISTING
0002010 17 O C 2 4 011*12060 Ot» 00237
10 30000000236
017501760177"1780179018C
0000 00021*1OOOOQO
00231* 0 12 0021200235 -0 01 00212
"0236 0000000023"? OOOOPO002KO 0001K400241 00000200242 000017
IABDIVAOASTACALLDACDACDACOCTIPSJHP*
OTHP BSZ
D100 DECEND
D100
OTHP4-1FPOTJTCO T H P= 15= 20
OUT1
2
100
35
PROGRAM NAME
SOURCE: SXOU
BINARY: BXOU
ENTRY POINTS (location): IOMODE ('10604), XlOU C10636),
XNOU C10642).. XNOUA ('10646), XOOCT C10652)
GENERAL DESCRIPTION:
This subroutine is really an intermediary to the output calls to either
the FORTRAN teletype output routines (TlOU, TNOU, TNOUAand TOOCT),
or the CRT output routines (C1OU, CNOU, CNOUA and COOCT). The
subroutine ALPO (see documentation) first calls IOMODE with the argument
0 if it wants to output on the teltype or 1 if it wants to output on the CRT.
From then on, every call to XlOU, XNOU or XOOCT will be rerouted to
look like the proper call to either the teletype or CRT routines.
36
M I C P O C O M P T E L E C O M M U N I C A T E D D A T ADDP-516 A S S E M B L Y L I S T I N G
000100^70003000400050006
0008 000000009 000010010 000020011 OOOQ30012 000040013 000050114 000060015 Cop.070*16 OOo 10°°17 00011
o 01 8 000 1 20019 0001300">A 000140*21 000150*220023 00016
000170024 00020
0002 10025 000220026 00^230027 000240 ̂ 2 q o o n 2 50029 00^260030 OOC27f 0 3 1 000300032 00031
00340035 000320036 00033"037 000340033 00035003000 1 j o 0 o C ? 6^041 ooo 3 70042 00040^043 000 0 1
n04 5 00 OU 20046 000430047 000440049 000450^400050 0004600, 51 00^470052 0005000530054 0^0510055 00052
0 OOOOOO0 35 00000
-1 02 OOCOO0 35 00063100040.0 35 000620000071 02 OC0220 04 000161 0? OC0240 04 0002C0000050 12 00000
-0 01 00000
oooorooooooo000500oooooo0 OOOOOOo oooooo0 OOOOCO0 OOOOCOo oooooo0 OOOOOOo ooooCO0 OOOOOO
0 OOOOOO0 35 000630 02 000320 01 00051
0 OOOOOO0 35 000610 02 000360 01 00051
0 OOCOOO0 35 000600 02 000420 01 00051
0 OOOOOO0 35 000570 02 00046
-1 04 000161 02 00^16
1-1 -4. -J L .1. 11 VI
SUSPsusnSUBPSUBPSUBPREL
I0«0 DACLDXLDA*LDXSZ ELDXDBf,OLDDSTOLDDSTSGLIRSJMP*
*
LST DBF
DBP
ADL XACXACXACXACXACXACXACXAC
*
XI Ot! DACLDXLDAJMP
*
XNO DACLDXLDAJMP
XNOA DACLDXLDAJMP
*XOOC DAC
LDXLDA
*
COMN STA*LDA
IOMODEX10UXNOU,XNOXNOUA,XNOAXOOCT
**IOMO0,1=0
=4
ADL,1LSTADL+2, 1LST+2
IOMOIOMO
0
0
T100THOUTNO'JATOOCTC10UCNOUCNOHACOOCT
**= 0X10UCOMN
**= 1XNOCOMN
**= 2XNOACOMN
**
= 3XOOC
LST, 1LST,1
37
MTCROCnriP TELECCBHUNICATED DATADDP-516 ASSEHBLY LISTING
00053 1U1206 AOR000514 0 Ott 00056 STA TEMPOOOSS -0 01 00056 JMP* TFHP
0 0 S q *^nr," 00^5^ 000000 TEMP BSZ 10 ••> f, 1 *
00^57 000003 END000002000001
00-^62 OOOOOUooooro
38
PROGRAM NAME
SOURCE: SDGS
BINARY: BDGS
ENTRY POINTS (location): DGSRD ('13311), DGSWRT ('13250)
GENERAL DESCRIPTION:
These two subroutines are for reading and writing words on the digistortape. The SIRU system only writes on the digistor tape. A fortran statement;
CALL DGSWRT (ARG. 52), or the DAP instructions,
CALL DGSWRT
DAC ARGDAC = '64
OCT 0
when executed, will cause this subroutine to write a heading, 52 words of
information starting with ARG, and one word of parity on the digistor tape.
It will then return.
39
WICROCOKP TELECOHHONICiTED DATADDP-516 JkSSEHBLT
000100020003roou*005 000000006 000010007 00002CPCB 000030009 OOOOU0010 000050011 00006*012 00*070013 000100014 000110*1S 000120016 000130017 000140019 000150019 000160020 000170021 00020OC22 0002100230024 000220025 000230*26 0**240027 00025f02fl 000260029 00027003* 000300031 00*31*032 0003200330034 00*33Q035 *0*340036 000350037 000360038 000370039 00010004*00410*42OOU3 ™*1 10044 OOOU20045 00*430016 00014nnu? 00*450*48 000160049 000170050 000500051 000510052 00*520053 000530051 *0054*055 000550056 000560057 00057
0 0000000 10 000000000020 00 000000 00 00000
-0 02 .0000«140407101400
-0 01 000000 04 OOOOU1400400 04 001430 02 001450 10 001270 10 001270 02 001440 10 001270 10 00127
-0 02 000031413400 10 001271413400 10 001270 10 001220 12 OOC030 12 000040 01 00022
0 02 001431U13400 10 001271413400 10 OC127
-0 01 00000
0 0000000 10 000000000020 00 000000 00 00000
-0 02 00045140407101400
-0 01 000410 04 000451400400 04 001431400400 10 001350 05 00145
LISTIUGRELSUBRSUBH
*DGSW DAC
CALL' OCT
WARY PZEWCNT PZE
LDA*TCASMI.IBP*STACPASTALDAJSTJSTLDAJSTJST
*BLTIP LDA*
ICAJSTICAJSTJSTIPSIRSJKP
*LDAICAJSTICAJSTJMP*
***DGSR DAC
CALLOCT
RAPY PZERCNT P2E
LDA*TCASHIJMP*STACRASTA
RLOK CPAJSTERA
DGSRDDGSHST
**P$AT2
WCNT
DGSWWCNT
ACC= •201WRTWRT=• 177777WPTWRT
WAPY
WRT
WRTPRTYWARYWCNTWLOP
ACC
WRT
WBTDGSW
**F$AT2
RCNT
DGSRRCNT
ACC
RD= •201
40
MICRCCOUP TELECOMMUNICATED DATADDP-516 ASSEMBLY
0058 000600059 00061r>060 OC.0620061 000630062 000640063 000650064 000660065 000670066 00070OC67 000710068 000720069 000730070 000740071 0007500720073 000760074 000770075 001000°76 001010077 001020078 001030079 001040080 001050*81 OQ10600820083 001070084 001100085 001110086 00112C087 001130088 001140009 00115COPO 001160091 00117r092 00120009? 0012100940095C0960097 00122C-C98 001230090 001240100 001250101 0012601020103 001270104 001300105 001310106 001320107 0013301080100 001340110f>111 001350112 001360113 001370114 00140
1000400 01 OC0551400400 10 001350 05 001451000400 01 000551400400 1" 001351413400 10 OC1350 05 001UU1000400 01 00055
1400400 10 001351413400 10 OC135
-0 04 000440 10 001220 12 000440 12 000450 01 00076
1400400 10 001351413400 10 001350 05 001431010400 01 OC120140040100000141206
-0 01 00041
0 0000000 05 001430416 770 04 00143
-0 01 00122
0 00000014 000274 00020 01 0013014 0102
-0 01 00127
0 00000014 000154 00010 01 00137
LISTINGSZEJMPCRAJSTEPASZEJMPCPAJSTICAJSTEPASZEJMP
*RLUP CRA
JSTTCAJSTSTA*JSTIPSIRSJMP
*CRAJSTICAJSTERASNZJMPCRASKPAOAJMP*
***PRTY DAC
ERAALRSTAJMP*
*WRT DAC
OCPOTAJMPOCP
*JMP*
*RD DAC
OCPINAJMP
RLOK
RD= •201
RLOK
RD
RD='177777
RLOK
RD
RDRAPYPPTYRAPYRCNT.RLUP
RD
RDACC
**3
DGSR
**ACC1ACCPPTY
**•2•2*-2• 102
MRT
**•1• 1*-1
41
HICROCOMP TELECOHMOIICATBD DATADDP-516 ASSZRBLY LISTIHG
0115 001U1 14 0101 OCP «1010116 001U2 -0 01 00135 JHP* RD0117 *0118 001U3 000000 ACC BSZ 10119 *0120 00114 177777 END
001U5 000201
42
PROGRAM NAME
SOURCE: READ
BINARY: BREAD
ENTRY POINTS (location): ICINIT CQ1656), INPIP C01731),
INGYRO ('01 764)
GENERAL DESCRIPTION:
The subroutine ICINIT will set up the gyro and PIPA interface to
interrrupt the main program every 5 milliseconds. The first interrupt
will be a PIPA interrupt and will occur when the PIPA counters have 10
milliseconds of data in them. The next interrupt will be a gyro interrupt
5 milliseconds later and will occur when the gyro counters have 10
milliseconds of data in them. From then on every 5 milliseconds the
interrupts will occur alternately. ICINIT will also read the initial interpol-
ator values of the gyros.
The subroutine INPIP will read the 6 PIPA pulse counters and store— fi
them in the locations indicated by the listing with a scaling of 2 pulses.
For example, an octal 000400 represents one pulse or 4 cm/sec of AV.
The subroutine INGYRO will read the 6 gyro pulse counters, subtract
the old interpolator values, add the new interpolator values and store them— R
in the locations indicated by the listing. These are also scaled at 2
pulses. For example, an octal 000400 represents one pulse or 7 x 2
radians.
43
NTCROCOPIP TELECOMMUNICATED DATADDP-516 ASSEMBLY
00010002r-003 000001004 000010105 000020106 000010007 00004OC03 000050109 000060010 000070011 000100012 000110013 000120014 C00130015 000140016 00015TOT? 010160018 000170019 000200 1 2 o OOO210021 000220022 000230023 000240024 000250125 00026"02* 0002700270 ̂ 28 000310029 OQ0310030 00032003 1 000330032 009340033 00035^134 000360035 000370036 0^0400037 000410^38 000420039 00043O "n 1 00 OU 40041 000450042 000460043 00047ooiju 000500045 00051o OU6 OOQ 52004700481049005010510052 00053or53 000541054 000550155 000560056 000570057 00060
0 00000014 004714 005714 00770 02 0021074 00770 01 0000514 002734 02070 01 000100400 5614 OC170 35 0020714 002734 02070 01 000160 12 000000 01 0001514 102714 00670400 5614 100734 03070 01 00026
LISTINGSUBRREL
ICIN DACOCPOCPOCPLDAOTAJMPOCPSKSJMPLRLOCPLDX
WLOP OCPSKSJMPIRSJMPOCPOCPLRLOCPSKSJMP
ICIMIT
**•47•57•77= 47•77*-1•27•207*-118•17=-24•27•207*-10WLUP•27•6718•7•307*-1
• , * READ INITIAL INTERPOLATOR54 13070 01 000300 04 0043054 13170 01 000330 04 1C 43154 13270 01 000360 04 0043254 13370 01 000410 04 0043354 13470 01 000440 04 0043454 13570 01 000470 04 00435
-0 01 00000
0 01000054 11070 01 000541412400 04 0060054 1117
INAJMPSTAINAJMPSTAINAJMPSTAINAJMPSTAINAJMPSTAINAJMPSTAJMP*
***
SUBRREL
INPI DACINAJMPICRSTAINA
'1307*- 1•430• 1317*-1•431•1327*- 1•432•1337*-1•433•1347*-1•434• 1357*-1•435ICTN
INPIP
**•1107*-1
PI PA•1117
DISABLE GYROD I S A B L E PIPRESET PRESET '
SET PRESET
CLR 6 ENB CLOCKWAIT FOR PULSE
WAIT 10 SICSEC.CLR AND ENABLE PIPA
CLR 6 ENB CLOCKWAIT FOR PULSE
WAIT FOP 22
DISABLE CLOCKWAIT 18 MICSEC.ENABLE GYROSKIP IF INTRPLTP REDY
DATA
O L D I N T R P P L T R D A T A
44
HICPOCOHP T E L E C 0 1 M U N I C A T E D D A T A!>PP-516 ASSERBLY
005800590060O0f 100620063"064OP65OP 660067006900-69007000"M00720073007U007500760077
0078OT79OOP"0091rofl2Of 830081*0085008600870088T089ergo00910092009?00940095009600970098"0990100010101020103010U0105010601 Of01 OS010901100111"112011301H*
000610006200063000640006500066000670007000071000720007300.074000750"07600077001000010100 1"20.01030010U00105
0010600107001100011 100112001 13oonuor 11-5001 160011700120On 12100122001230012400125001260012700130OQ13100132001330013U
0 01 OC0601412400 04 0060254 11270 01 QC0641412400 04 0060454 11370 01 000701412400 04 0060654 11470 01 000741412400 04 0061054 11570 01 OC1001412400 04 0061214 ̂ 017
-o 01 00053
000600000602000604000606000610000612
0 00000054 1C070 01 001071412400 07 004300 04 0040054 10.170 01 OOim1412400 07 004310 04 0040254 10270 01 001211412400 07 004320 04 0040454 1C 370 01 001261412400 07 004330 04 0040654 10470 01 00133
LISTINGJHPTCPSTAINAJHPICRSTATNAJHPTCPSTATNAJHPTCPSTATNAJHPTCPSTAOCPJHP*
**PTPA EQUPIPB EQOPIPC EQOPIPD EQUPIPE EQUPIPF EQU**
SUBRREL
*INGY DAC
TNAJHPICRSUBSTATNAJHPTCPSUBSTAIDAJHPTCPSUBSTAINAJHPICRSUBSTAINAJHP
*-1
PIPB•1127*-1
PIPC•1137*-1
PIPD•1147*-1
PIPE• 1 157*-1
PIP?•17INPI
•600PI PA* 2PTPB+2PIPC+2PIPD+2PIPE*2
INGYSO
**• 1007*-1
•430GYRA• 1017*-1
•431GYRB•1027*-1
•432GYRC•1037*-1
•433GYRD•1047*-1
C L E A R A N D E N A B L E
45
1TCROCO-P TELECOMMUNICATED DATAPDP-516 ASSEMBLY
"115 001350116 001360117 001370113 001400119 "01410120 0011420121 00114 3"12? 001440123 001U5012U0 1 2 r- o o 1 u 60126 00 1U70127 "01500129 "01510129 r.01520130 001S30131 00154"132 0 o 1 5 5C 1 3 3 0 C 1 5 6013U 00157013C 001600136 001610 1 3 7 ""16?0133 "Oir-30139 0^16401UO 01165"1 4 1 001660142 00 1670143 00170" 1 4 U 001710 145 001720146 001730 147 on 1714"14^ 00175OIUQ 00176015" "0177n 15 1 00200015? 00 2r 10151 002020154 "0203015^ 002CU"156 0.07050157 00?r>f01S°0159016001610162C163o 1^U016501660167 00207
00210
1U12UO0 07 OOU3U0 OU OOU1054 10570 01 001401412400 07 004350 04 0041214 0007
LISTINGICRSOBSTAINAJMPICRSUBSTAOCP
•434GYRE•1057*-1
'435GYRF'7
* READ INTERPOLATORS34 03070 01 0014654 13070 01 001500 04 OC4300 06 004000 04 0040054 1317o 01 OC1550 04 004310 06 opi4020 04 0040254 13270 01 00162C 04 OC4320 06 OC4040 04 0040454 13370 01 001670 04 004330 06 OC4060 04 0040654 13470 01 001740 04 004340 06 004100 04 0041054 13570 01 OC2010 04 004350 06 00412.0 04 00412-0 01 00,106
000400000402000404000406000410000412
177750000057
SKSJMPTNAJMPSTAADDSTAINAJMPSTAADDSTAINAJHPSTAADDSTAINAJMPSTAADDSTAINAJMPSTAADDSTRINAJMPSTAADDSTAJMP*
**GYRA EQUGYRB EQ.riGYRC EQUGYRD EQUGYRE EOOGYRP EQtJ*
END
'307*-1'1307*-1•430GYRAGYRA• 1317*-1'431GYPBGYRB'1327*-1'432GYECGYRC•1337*-1•433GYRDGYRD•1347*-1•434GYREGYRE'1357*-1'435GYRFGYRFINGY
•400GYRA+2GYPB+2GYRC+2GYPD+2GYRE*2
C L F A R R N D E N A B L E
46
PROGRAM NAME
SOURCE: ACOM
BINARY: BACOM
ENTRY POINTS (location): ACOM ('03274)
GENERAL DESCRIPTION:
This subroutine compensates the accelerometers for scale factor,
bias and two misalignments, SO and SP, expressed as misalignments toward
the negative X, Y and Z axes. Considering just the A accelerometer, the
following equations are programmed.
AAPC = AAPC + AABD + -^-AASF AAPC
where
and
then
AAPC is accelerometer A's pulse count
AABD is accelerometer A's bias
/?
AASF is 2 X accelerometer A's A scale factor
AAPC = -jr(DVXB AAMX + DVYB AAMY + DVZB AAMZ)29
DVXB, DVYB, DVZB are the AV outputs in the body frame andQ x »y» z
AAMX, Y, Z are 2 X accelerometer A's misalignments in the negative X,
Y, Z directions. See listing for coding.
47
1ICFOCOHP T E L - S C O M M t l N I C A T E D D A T A
0001000200030 'Vi ur\00500060"07OOQRnoo QnoiO0011OM2Oi 1 3oom001500160017001Q
0"19002r
0021002?0023002U002500260027002R002^oo 3 r"0310032o^33003U0035003fi0*37003800300 0 d 0oomAoi>200(43''O. uu"045">oi46OOU70 0(4P
OOU9C05000510052^053O05u005500560057
DDP-516 ASSEMBLY LISTINGRELSUBR
000000000 10000200003oooou000050^*06000070 o " 1 0o o n 1 10001200013or 01 a'C001500016 .0001700n2000021OOC2200023ooo2a0 0 o 2 50002600^27000300003 100032000330003<400^350003600037OOr>UOo 0 o u 1 'OOOU20 o o a 30004(4O^OUS'0 0 ° 14 600047000500005100052000530005400055000560005700060000610006200063000640006500066
o oooorc ACOH DAC0 020 16
0060000700
00000704010 060 060 OU .0 020 16o«010 060 060 OU0 J)20 16OU010 060 060 OH0 020 16OU010 060 060 0«0 020 16014010 060 060 0(4.0 020 160<4010 060 060 014
0 020 160 0140 020 16
- 0 0140 020 16o OU0 020 160 OU0 020 160 OU0 02n 16
72007060060000 600006020070172OC71000602OC6020060U0070272007120060U'0060 a0060600703720071U00606OC606OC6100070U720071600610006100061200705720072000612006120061U00722001660061U00723001700061U0072«001720061U007250017«0061U00726001760061UOC727
IDAHPYDELI.RSDADDADDSTDIDH?YI.FSDADDADDSTOLDMPYLPSDADDADDSTOLDMPYLRSDADDADDSTOLDSPYLRSDADDADDSTOLDHPYLRSDADDADDSTDLDMPYDSTDLDMPYDSTDLDMPYDSTDLDMPYDSTDLDHPYDSTDLDHPY
ACON**AAPCAASF
6AABDAAPCAAPCABPCABSF6ABBDABPCABPCACPCACSF6ACBDACPCACPCADPCADSF6ADBDADPCADPCAEPCAESF6AEBDAEPCAEPCAFPCAFSF6AFBDAFPCAFPCDVXBAA M XTACMDVXBABMXTBCHDVXBACMXTCCMDVXBADMXTDCHDVXBAEHXTECH
•' DVXBAFMX
48
jT-ECOM!lONICftTED DATADDP-516 ASSEMBLY LISTING
r 358005900600061006200630064006500660067C06R00fi900700071007200730074007500760077007800790080008 100820083009400850096008700880089009000910092009300940095009600970093009901000101010201030104010501060107010801090110011 10112011301 14
0006700070000710007200073000740007500076000770010000101001020010300104001050010600107001 10001110011200113001140011500116001170012000121001220012300124001250012600127001300013100132001330013400135001360013700140001410014200143001440014500146001470015000151001520015300154001550015600157
0 040 020 160 060 040 020 160 060 040 020 160 060 040 020 160 060 040 020 160 060 040 020 160 060 040 020 160 060401ft 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 16
00200006160073000166001660061600731001700017P00616OC7320017200172006160073300174OP17400616Of 734001760017600616OC73500200OC20000620OP73600166670060000600OC620007370017067006020060200620OC740OC17267006040060400620OC741001746700606006060062000742001766700610OC610OC62000743
DSTOLDMPYDADDSTOLDHPYDADDSTOLDMPYDADDSTDIDMPYDADDSTOLDMPYDADDSTDIDMPYDADDSTOLDMPYDADLRSDADDSTOLDMPYDADLRSDADDST .OLDMPYDADLRSDADDSTOLDMPYDADLRSDADDSTOLDMPYDADLRSDADDSTOLDHPY
TPCMDVYBAAMYTACSTACHDVYBABHYTBCHTBCHDVYBACMYTCCMTCCHDVYBADHYTDCHTDCHDVYBAEMYTECHTECHDVYBAFHYTFCHTFCHDVZBAAHZTACH9AAPCAAPCDVZBABHZTBCH9ABPCABPCDVZBACHZTCCH9ACPCAC PCDVZBADHZTDCH9ADPCADPCDVZBAEM7TECH9AEPCAEPCDVZBAFHZ
49
T E L E C O M M U N I C A T E D D A T ADDP-516 ASSEMBLY
00A00
0AnA
0n
OA
AA
0A
AA
0A
A
r\
-\
A
0
1
A
A
nA0no.A
00A
A
A
rt
0A
nA
A
o
0
1
A
o
11 51 161171 1R1 iq12"12112212?12U12512612712S12913"1311.3?1 3313(413513613"7
1 ?°1301(J"1U11U2KMmt1U51U61U71UR1i»915"15115215315U15515615715P15016"
161
162
163
16U
165
0000no00noor
"000on00000"00nono00CO0"
160161162163164165
1661671701711721731714175176177200201
0 06 0020COU01 670 06 006120 04 00612000005
-0 01 0000000060000060200060U000606000610000612000700000701000702000703000.70400070500070600071000071200071400071600072000072200072.3no0724OOQ72500072600072700073000073100073200073300073U000735000736000737OOQ7UOonQ7in0007U20007U300061U000616000620oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
LISTING
A A PCABPCACPCADPCAEPCAFPCA ASFABSFACSFADSFAESFAFSFAABDABBDACBDADBDAEBDAEBDA A M XABMXAC1XAD«!XAENtAFMXA A M YABHYACMYADMYAEMYAFMYAAMZABMZACMZADM!AE!"!ZAFMZDVXBDVYBDVZBTAC!1
TBCM
TCCM
Trcs
TECH
TFCM
DADLPSDADDSTSGLJP!P*EQUEQUEQUEQUEQUEQ'JEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUDBP
DBP
DRP
DEP
DBP
DBP
TFCM9AFPCAFPC
ACOM•600AAPC+2AAPC+HAAPC+6AAPC+8AAPC+10•700AASF+1AASF+2AASF*3AASF+UAASF+5•706AABD+2AABD-mAABD+6AABDtBAABD*1•722AAMX+1AAMX*2AAMX+3AAMX+1AAMX+5AAMX*6AAMX+7AAMX+8AAMX+9
0
AAMX+10AAMX+1AAHX*1AAMX+1AAWX+1AAMX+1AAMX*1
123U56
AAMX+17•614DVXB+2DVXB*U0
0
0
0
0
0
50
PROGRAM NAME
SOURCE: GCOM
BINARY: BGCOM
ENTRY POINT (location): GCOM C02242)
GENERAL DESCRIPTION:
This subroutine compensates the gyros for ±ASF, NBD, ADIA, ADO A,
ADSRA, major compliance, GO, GS and OA coupling (by calling the OA
coupling compensation subroutine, DCOA). Considering just the A gyro its
compensation parameters are:
CANS = 26 X gyro A negative ASFr*
GAPS = 2 X gyro A positive ASF
GABD = gyro A's NBD1 2ADAX, Y,Z = 2 x Acceleration dependent
drifts of gyro A for
accelerations on the
X, Y and Z axes
(a function of ADIA, OA, SRA)fi
AASD = 2 x A gyro acceleration
squared drift or major
compliance
GAMX, Y, Z = 2 x gyro A's misalignment
along the negative X, Y
and Z axes (functions
of GO and GS).
For the A gyro the following equations are implemented.
, GAPSGAPC = GAPC + GABD + -^-GAPC or
2 CANS
where GAPC is Gyro A's pulse count
GAPC = —fr-(ADAX DVXB + ADAY DVYB + ADAZ DVZB)21J
where DVXB, DVYB and DVZB are the accelerations (in units of AVx»y»z
per update).
52
GAPC = GAPC + -̂ iDVZB DVZB - DVXB DVXB - DVXB DVZB) AASD2
where the parenthesized expression is proportional to DVAIA DVASRA,
the product of the accelerations on A gyros IA and SRA.
CALL DCOA (see documentation for subroutine DCOA)
GAPC = GAPC + -|Q(GAMX DTXB + GAMY DTYB + GAMZ DTZB)
where DTXB, DTYB and DTZB are A9x, ^9 and A0z during the last update.
(Note, since ACOM is the subroutine which compensates the accelerometers
and is a little simpler, it might be better to read its documentation first).
53
T E L E C O M M U N I C A T E D DATADDP-516 ASSEMBLY
000100020003ooou0005OOOfi0007Of n S0009on 1 o001100120013oom0015
001600170019or> 1 a00700021002?.0023002H00250026r>" 27002800990030003100320033003U00350036003100330039o nunmuioou?rouiOOHUooijq
oou60014-7OOUB001490050
o*5100520053005Ur 05500<S60057
00000000010000200003OOOOU000050000600007000100001100012000130001U000 150001600017'00020000210002200023000240002500026000270003000031000320003?0003U000350003600037OQOOOOOPU 1
000142000143POOU-Uoo^usOOOU600007000500005 10^052000530005400055000560005700060000610006200^630006U0006500066
0 OOOOCO0 02 OOUOO000007101UOO0 01 000070 16 005061000000 16 00500OU01 720 06 005m0 06 OOUOO0 04. OOUOO0 02 OOU02101UOO0 01 000210 16 005071000000 16 00501OH01 720 06 005160 06 OOU020 OU OOU020 02 OOUOU10UOO0 01 000330 16 005101000000 16 00502OU01 720 06 OC5200 06 OCUOtt0 0<* OOUOU0 02 OOU06101UOO0 01 OOOU50 16 005111000000 16 00503ot*01 720 06 005220 06 OOU060 OU OOU060 02 OOU10101UOO0 01 000570 16 005121000000 16 00 SOU0401 720 Of 0052U0 06 OOU100 OU OOU100 02 OOU12101UOO0 01 00071
LISTINGRELSUBR
GCOH DACLDADBLSHIJMPHPYSKPMPYLRSDADDADDSTOLDSHIJHPHPYSKPMPYLRSDADDADDSTOLDSMIJHPMPYSKPMPYLRSDADDADDSTOLDSHIJMPMPYSKPMPYLPSDADDADDSTOLDSMIJMPMPYSKPHPYLPSDADDADDSTOLDSMIJMP
GCOM**GAPC
**3CANS
GAPS6GABDGAPCGAPCGBPC
*>3GBNS
GBPS6GBBDGBPCGBPCGCPC
**3GCNS
GCPS6GCBDGCPCGCPCGDPC
**3GDNS
GDPS6GDBDGDPCGDPCGEPC
* + 3GENS
GEPS6GEBDGEPCGEPCGFPC
* + 3
54
MTCROCOMP TELECOMMUNICATED DATA
on 53005900600061006200630061400650066OT67r • o 6 POT6Q0070007100720073007(40075P 076007700730079oopor 081OOP2r opiOOP !J
00850086OOP?
008P0 oqoor 90009 1"> ('• 9 2OOP3ro,9u009^OOqf,0 AQT
r 09Rr 099n 1000101C1C2010.1010U010501060107010P010901 m011101120113011(4
DDP-516 ASSEMBLY LISTING00067 0 16 00513 NPY00070 100000 SKP00071 0 16 00505 MPY00072 0(401 72 LES00073 0 06 00526 DAD00074 0 06 OOU12 DAD00075 o OU OO.U12 DST00076 0 02 9C61U OLD0007700oo0"oonoCO00
1CO101
10210310U105106
001070000
00on000000oo000000
11011111211311(4115116117120121122
001230000OO
oo0000oo00000000oo00
0000000000000000oo0000000000
12U12512612713013113213313(41351361371«401U11(421U3114141(451(461(4715015115215315U15r^156
0.0157
o00oo00
0000
000
00
000
o00o000o0
00oo0a0o00000000
16014
02160(40216OU0216OU02160«0216OU021606OU021606OU021606OU021606OU021606OU021606OU021606
0(401
000
0
06OU0216
00530OOU5C0061U00531OCU52OC61UOC532OOU5UOC61UOP533OCU560061U0053UOOU60006 1U00535OOU620061600536OOU50OOU500061600537OOU52OOU5200616005UC00145UOCU5U00616005U1CCU 56OOU5600616005U2OOU60OCU60OC616005U3OOU62OOU6200620005«UOOU506UocuooOOUOO00620005U5
HPYDSTDIDPIPYDSTDLDHPYDSTDLDNPYDSTDLDMPYDSTDLD«PYDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADIBSDADDSTDLDMPY
GFNS
GFPS6GFBDGFPCGFPCDVXBADAXTACMDVXBADBXTBCMDVXBADCXTCCMDVXBADDXTDCMDVXBADEXTECMDVXBADFXTFCMDVYBADAYTACMTACMDVYBADBYTBCMTBCMDVYBADCYTCCMTCCMDVYBADDYTDCMTDCMDVYBADEYTECMTECMDVYBADFYTFCMTFCMDVZBADASTACM12GAPCGAPCDVZBADBZ
HTCROCOHP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
"115 00160011ft 001610117 00162011* 001630110 001640120 001650121 001660122 00167012? 001700124 001710125 001720126 001730127 00174012fl 001750129 001760130 001770131 002000132 002010133 002020134 002030135 002040136 002050137 0020/6"138 002070139 002100140 0021 10141 007120142 0021301U3 002140144 002150145 0021601146 002170147 00220014« 002210149 002220150 002230151 0022<»0152 002250153 002260154 OP2270155 002300156 002310157 002320158 002330159 0023U0160 002350161 002360162 0023^0163 0024°0164 002410165 002420166 002430167 0024U0168 002450169 002"6017" "024"70171 00250
0 06 004520401 640 06 004020 04 004020 02 006200 16 005460 06 004540401 640 06 004040 04 .004040 02 006200 16 005470 06 00456OU01 640 06 004060 04 004060 02 006200 16 005500 06 004600401 640 06 004100 04 004100 02 006200 16 005510 06 004620401 640 06 004120 04 004120 02 006140 16 OC6140 04 004340 02 006160 16 006160 04 004360 02 OP6200 16 006200 04 004400 02 006140 16 006160 04 004420 02 006140 16 OC6200 04 004440 02 006160 16 006200 04 004460 02 004400 07 004340 07 004440 16 004220401 720 06 004000 04 004000 02 004400 07 004340 06 004440 16 OC423
DADLRSDADDSTDIDf!PYDADLRSDADDSTOLDHPYDADLRSDADDSTOLDHPYDADLRSDADDSTOLDHPYDADI, PSDADDSTOLDHPYDSTDIDHPYDSTDLDHPYDSTDLDHPYDSTDLDHPYDSTDLDHPYDSTDLDDSBDSBHPYIPSDADDSTDLDDSBDADHPY
TBCH12GBPCGBPCDVZBADCZTCCH12GCPCGCPCDVZBADDZTDCH12GDPCGDPCDVZBADEZTECH12GEPCGEPCDVZBADPZTFCH12GFPCGFPCDVXBDVXBXSQUDVYBDVYBYSQODVZBDVZBZSQODVXBDVYBXUHYDVXBDVZBXZEEDVYBDVZBYZEEZSQOXSQOXZEEAASD6GAPCGAPCZSQOXSQOXZEEBASD
56
WICPOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
017201730174017501760177
0179017Q013001810132018T018U01850186M87018P018901900191o iQ2r • 1 ° 3o 194019501960197019801990200020102020203020"070502060207
02 o.P020902100211021 10213021402150216021^02180219022002210222022302240225022602270228
0025100252002530025400255002560025700260002610026200263°026400265002660^267002700027100272007730027400275002760027700 300003010030200303003040030500306003070031000311003120031300 314003150031600317003200032100322003230032100325003260032700330003310033200333003340033500335003370034000341
04010 060 040 020 070 070 1604010 060040 02o 070 060 1604010 060 040 020 070 070 1604010 060 04n 020 070 060 1604010 060 04
72OC402OC40200434004360044200424720040400404004340043600442OC425720040600406004360044000446OC426720041000410004360044C00446004277200412OC412
0000050 10 000000000070 020 160 040 020 160 040 020 160 040 020 160 04o 020 160 040 020 160 040 020 16o 060 040 02
00414005520045C004140055300452004140055400454oomij00555OC456004140055600460Or>41400557OOU620041600560004500045000416
LPSDADnsTOLDDSBDSBNPYLFSDADDSTDIDDSBADDMPYLFSDADDSTDI.DDSBDSBMPYLPSDADDSTOLDDSBADDMPYLRSDADDSTSGLCALLDELOLDMPYDSTOLDMPYDSTDLDMPYDSTDLDMPYDSTDLDMPYDSTDIDMPYDSTDLDMPYDADDSTDLD
6GBPCGBPCXSQUYSQTTXWHYCASD6GCPCGCPCXSQUYSCMJXWHYDASD6GDPCGDPCYSQtJZSQUYZEEEASD6GEPCGEPCYSQ'J2SQUYZEEFASD6GFPCGFPC
DCOA
DTXBGAMXTACMDTXBGEMXTBCMDTXBGCMXTCCMDTXBGDMXTDCMDTXBGEBXTECMDTXBGFMXTFCMDTYBGAMYTACMTACMDTYB
57
MICPOCOKP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0229023002310232023302340235023ft0237^23802 3^024002410242024302440245024602470248004002^r>0251025202^30254^25502560257025Ro 25902600261026?02630264026502660267n26802690270027 1n272"273027402750276027702790270"230028102^2028302840285
"03420034300344r- o 3 u 5003460034700350003510035200353003540035500356T0357003600036100362003630 03640036500366C0367003700037100372003730037400375003760037700400004010040200403004040040500406004070 0 4 1 .0004110041 2004130041400415OOH1600417OOU200042 10042200423.00424T04250042600427004300043100432
0 160 060 040 020 160 060 040 020 160 060 040 020 160 060 040 020 160 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 160 0604010 060 040 020 160 0604010 060 04
OC56100452OOU520041600562004540045UOOU1600563OOU5600456004160056400460004600041600565004620046200420005660045066OP4000040000420005670045266004020040200420005700045466OC404004040042000571004566600406004060042000572004606600410OC410004200057300462660041200412
000005-0 01 00000
MPYDADDSTOLDMPYDADDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADLFSDADDSTDLDMPYDADLFSDADDSTDLCMPYDADLPSDADDSTDLDMPYDADLRSDADDSTDLDMPYDADLRSDADDSTDLDMPYDADLPSDADDSTSGLJMP*
GBMYTBCMTBCMDTYBGCMYTCCMTCCMDTYBGDMYTDCHTDCHDTYBGEMYTECHTECMDTYBGFMYTFCMTFCMDTZBGAM1TACM10GAPCGAPCDTZBGBMZTBCM10GBPCGBPCDTZBGCMZTCCM10GCPCGCPCDTZBGDMZTDCM10GDPCGDPCDTZBGEMZTECH10GEPCGEPCDTZBGFMZTFCM1CGFPCGFPC
GCOM
58
HIC?OCOHP TELECOMMUNICATED DATADDP-516 ASSEBBLY LISTING
1286028702880289129012910292029?12941295029*02970298"299030003*103*2"30303040305030*03*70"»18030903100311031213130314131503160317031803190320"32103220323"32403250326032^03280329"331"3310332"333033403350336033703380339034003U10342
000400OOOU02OOOUOU000406OOOU100004120005000005010005020005030005040005050005P600050700051000051100051210051300051400051600052000052200052tOH526000530000531100532100533000534000535000536100537000540000541"005420105U30005441005450005460"0547000550000551000552000553000554000555000556000557000560010561000562000563000564000565000566000567000570
GAPCGBPCGCPCGDPCGEPCGFPCGAPSGBPSGCPSGDPSGFPSGFPSCANSGBNSGCNSGDNSGENSGFNSGABDGBBDGCBDGDBDGEBDGFBDADAXADBXA OCXADDXADEXADFXAHAYADBYADCYADDYADEYADFYADA 7.ADB7,ADCZADDZADEZADFZGAMXGBWXGC«XGDHXGEMXGFnrGAMYGBHYGCMYGDflYGEMYGFMYGAHZGBWZGCMZ
EQUEQDEQHEQUEOUFQUEQHEQOEOUEQOEQUEOUEQUEOUFOUEQUEQUEQUEOUEQUEOUEQUEQUEQHEQUEQUEQURQUEQrjEQUEQUEQUEQUEQUEQUEQUEQDFQtlEQUEQUEQUFQUEQUFQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQU
• 400GAPC+2GAPC*4GAPC*6GAPC*8GAPC+10'500GAPS4-1GAPS*2GAPS+3GAPS+4GAPS+5GAPStfiGAPS*7GAPS*8GAPS+9GAPS*10GAPS*11•514GAED*2GABD+4GABD+6GABD*8GABD*10'530ADAX+-1ADAX*2ADAX+3ADAX+4ADAX*5ADAX+6ADAX4-7ADAX+8ADAX*9ADAX+10ADAX*11ADAX4-12ADAX+13ADAX+14ADAX*15ADAX+16ADAX+17•552GAHX*1GAMX*2GAMX+3GAMX*4GAHX4-5GAMX*6GAPIX + 7GAMJf»9GAHX*9GAHX*10GAHX-H 1GAMX+12GAHX+-13GAHX4-14
59
MTC!?oroin T E L E C O M M U N I C A T E D D A T AnOP-516 A S S E M B L Y LISTING
o 3d 30344"3U5H3U6"3U7034$03140035°'MM0352035^035(4035^035603ST0359
o 3^9
036^
036 1
"362
036^
036U
0365
0366
0367
036*
036°
0371
00434
0043500436r 043700440
004420044300444or 44500446004470045000451004520045300454A0455n04560045700460004610046200463
000571000572000573000422OOOU2300042400042500042600042700061M000616000620000414000416000420OOOOOOOOOOOOOOOOOOoooooo"oooooooooooOOOOOOooooooooooooooooooooooooooooooOOOOOO000000000*00^00000ooooooooooooooooooooooooooooooOOOOOOOOOOOO
GP1ZGEMZGFMZAASDBASDCASDDASDEASDFASDDVXBDVYBDVZBDTXBDTYBDT7BXSQU
Y SOU
zsou
XWHY
X7.EE
YZEE
TACM
TBCfl
TCCM
TCCM
TECH
TFCM
EOUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEQUEOUEQUEQUDBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
END
GAMX+15GAMX+16GAMX+17•422AASD+1AASD+2AASD+3AASD+4AASD*5•614DVXB+2DVXB+4•414DTXB +2DTXB+40
0
0
0
0
0
0
0
0
0
0
0
60
PROGRAM NAME
SOURCE: DCMT
BINARY: BDCMT
ENTRY POINTS (location): DCMI ('03476), DCMT ('03551)
G E N E R A L DESCRIPTION:
The subroutine DCMT modifies the misalignments of the SIRU gyros
about their output axes as a function of WT ., their input axis rate which isL A
poportional to the number of pulses each gyro got in one update (At = .01
sec.). The subroutine DCMI is called by the initialization section of the
main program and gets these misalignments from the base sector and stores
them in the buffer section between the subroutines DCMI and DCMT. It
does this only once and sets the word ONLO to 1 so that if the main program
is restarted, it won't get misalignments from the base sector that are already
modified.
Subroutine DCMT, which is called every update, takes these OA
misalignments stored in the buffer, modifies them according to the gyro's
IA rate and stores them back in the base sector to be used by the gyro
compensation program GCOM.
61
M T C H O C O M P T E L E C O M M U N I C A T E D D A T A
0001oor>20003000(4000500060007oroRCOOP00100011001?0011ooiu0015no 1 f,0*1 7or 1R00 iq0020or>210122no 23002U002500260027002R002Q0030003100320033003U0035003600370039003000(40o^m00(42ooq-?oouuonusOOU610U700(480014900 SOOOS100520053r oc,(400550056005"7
DDP-516 ASSEMBLY
000000000 1
0000200003000014
000050000600007GOO 10Oo«1 1obo 12000130001(4000150.0016Ooo 17
000200002^1r • o o ? 200023000 2U000250002600027000300003 100032000330003U^0003500036
00037oonuoOOOU 1OOOU200043ooouuOOOU5OOOU6OOOU7000500^051
0 0000000 02 OC0361000UO
-0 01 000000 02 005520 OH 000370 02 005660 OU OOOUO0 02 005530 OU 000410 02 005670 OU 000420 02 0055U0 OU OOOU3o 02 005620 OU OOOUU0 02 00555o 014 OOOU50 02 005630 OU OPOU60 02 0056«l0 OU OCOU70 02 005720 OU 000500 02 005650 OU 000510 02 005730 OU 000520 1? 00^36
-0 01 0000000000000055200056600055300056700055U0005620005F500056300056U00057200^565000573000000ooooooOOOOPOOOOOOOOOOOOOooooooooooooooooooooooooOOOOOOoooooo
LISTINGRELSUBR
DCHI
ONLORAHXGAMZGBHXGBBZGCMXGCMYGDflXGDHYGEHYGEHZGF«YGFWZAHXBAMZBBMXBBMZBCHXBCHYBDMXBDHYBEHYBEMZBFflYB
SUBRCACLDASZEJMP*LDASTALDASTALDASTALDASTALDASTALDASTALDASTALDASTALDASTALDASTALDASTALDASTAIRSJMP*OCTEQl!EOOEQOEQUFQOEOUEQOEOOEQUEQUEQtTEQUOCTOCTOCTOCTOCTOCTOCTOCTOCTOCTOCT
ocniDC FIT**OSLO
DCfllGANXANXBGAHZAHZBGBHXBRXBGBHZBH7BGCHXCHXBGCHYCHYBGDHXDMXBGDHYDHYBGEHYEHYBGEHZEHZBGFHYFHYBGFBZFHZBONLODCHI0•552GAHX+12GANX+1GAMX+13GAMX+2GAHX*8GAHX+-3GAMX+9GAHX*10GAHX*16GAHX*11GAHX+-1700000000000
62
OC580059006000610062006300640"6^00660067?0680"6900700071007200730074007500760077007800790380"081008200830084"085f 086008700880089009"0"91OC9?T 093OC94009500960 r>Q7009800990100"1010102010301040105010601070 108"10901100111011201130114
DDP00052000530005400055000560005700060000610006200063000640006500"660006700070"007100"7200073000740""75000760007700 1000010100102001030010400105001060010700110001110011200113"0 1140011500116001170012000121001220012300124001250012600127"013000131001320013300134001350"13600137CO 1400014 100 142
TELECOMMUNICATED DATA-516 ASSEMBLY LISTING
0000000 0000000 02 00400o 16 001510401 000 06 000370 OH OC5520 02 004000 16 001520401 000 06 000400 04 005660 02 OOU020 16 001530401 OC0 06 OOOU10 04 005530 02 004020 16 001540401 000 06 000420 OU 005670 02 004040 16 001550401 000 06 000430 04 005540 02 004040 16 001560401 000 06 000440 04 005620 02 004060 16 OC1570401 000 06 000450 04 005550 02 004060 16 001600401 000 06 D00460 04 005630 02 004100 16 001610401 000 06 000470 04 005640 02 004100 16 001620401 000 06 000500 04 005720 02 004120 16 001630401 000 06 000510 04 00565
FMZB OCTDCHT DAC
LDAHPYLPSADDSTALDA(1PYLRSADDSTALDAHPYLRSADDSTALDAHPYLRSADDSTALDAflPYLFSADDSTALDAMPYLRSADDSTALDAHPYLRSADDSTALDAHPYLRSADDSTALDAWPYLRSADDSTALDAMPYLRSADDSTALDAPIPYLRSADDSTA
0**GAPCAPRX0AHXBGAHXGAPCAPRS0AHZBGAMZGBPCBPRX0BHXBGBMXGEPCBPRZ0BMZBGBMZGCPCCPRX0cnxsGCMXGCPCCPRY0CMYBGCMYGDPCDPRX0DMXBGDHXGDPCDPRY0DHYBGDMYGEPCEPPY0EMYBGEMYGEPCEPRZ0EMZBGEMZGFPCFPPY0FHYBGFPIY
83
001U5P01U6C01U700150
MICHOCOMPDDP
0115 001H301160117011801190120012101220123012U012501260127 001510128 00152
0 0 1 5 300154001550^15600 15700160001610016200163
TELECOMMUNICATED DATA-516 ASSEMBLY LISTING
0 02 OOU12 LDA0 16 0016UOU01 000 06 000520 Ott 00573
-P 01 00053ooouoo0001*02OOOU04OOOU06000110OOOU12000000
012°013"01310132013?01 3(40135013*C 1370133
oooooonooooooooooooooooo000000oooooo
o 016 uoooooo
MPYLRSADDSTAJBP*
GAPC EQ"GBPC ?.QUGCPC EOUGDPC EQOGEPC EQtTGFPC EQUAPRX OCTAPRZ OCTBPRX OCTBPR7, OCTCPRX OCTCPRY OCTDPRX OCTDPRY OCTEPRY OCTFPR?. OCTFPRY OCTFPP7. OCT
END
GFPCFPRZ0FMZBGFMZDCMT•UOO
GAPC*aGAPC*6GAPC+8GAPC+-1000000000000o
64
PROGRAM NAME
SOURCE: DCOA
BINARY: BDCOA
ENTRY POINT (location): DCOA ('03144) .
ACCESSIBLE VARIABLES (location): AOAP ( '03252)
BOAP C03254), COAP ('03256), DOAP ('03260), EOAP ('03262),
FOAP C03264)
GENERAL DESCRIPTION:
The SIRU gyros sense not only a rotational input about their input
axes, i.e., the A0 pulses over some interval would equal the integral of
WTD . over that interval, but also they sense a change in the rotationalL t\ -f\ ' '
input about their output axes, i.e., the A0 pulses over some interval would
equal ( - I ) /H times the integral of W,-.R . over that interval. The latter
can essentially be considered an error source since the gyro output is
supposed to represent only the former input axis rotation.
The integral of WQRA from t, to t« is simply WQR . (t,,) -
(t. ). The A6 error during that interval is simply ( - I ) / H WOD . (t0) -1 U L\ r\ &
W ORA ^1^' To comPensate this error, one simply has to add ( ( I ) /H) (
(t2)) and subtract ((I)/H)(WORA (tj) a tHmetg. Over one update interval
the rate WOR . (for say the E gyro) equals
AOxAt
Since At is constant, we can express W.~.R . as KA6-., and rewrite the
compensation quantity as
This subroutine is called once per update and calculates the first of
the two compensation terms above. The second term is saved from the
previous update. DTXB, DTYB and DTZB are A 9^, A0y and A 6»z
respectively.
GAIH, GBIH GFIH are the scaled constants equal to
65
(Note that since the E gyro has its OR A along the plus x axis, GETH will
be positive whereas the F gyro, whose ORA is along the minus X axis will
have a negative GFIH.) The method for compensating the E gyro is as
follows: (the others are analogous)
EOAO = DTXB GEIH = A0 (t0)(i-K)x ^ rl
and
GEPC = EOAO + GEPC - EOAP
where EOAP = A0 (tJ(^-K)' X J. XT.
(Note, EOAP (previous EOAO) must be set to zero at t = 0 and is therefore
an accessible variable to the main program).
66
KTCROCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0001 REL0002 SUBR^003 SURR0"04 SUBROOP'S SUBR"006 SUBR0007 SDBRor 01 SUBROO09po-|0001100120" 13ooi4001500160017001R0019002000210022002300240025002600270"280029r 330003100320033003U0035003600370.0.3S0039OC400001OOU2OOU3OO1J (J
OOH50046OOU7ooijg0049005000510052f 0530054005500560057
oriOOO0000100002000030 0 0 o u00005OOOQ6OOOC700010OOQ11
00012000130001400015000160001700020000210002200023000240002500026000270003000031000320003300034000350003600037ooouo000410004200043000440004500046000470005000051000520005300054P.OC55000560005700060
00000000 DCOA DAC02 00414
0000070n000000000000000000000000
00000000o0000n000000
16040216040216040216040216040216040607040206070402060704020607040206070402060704020402040204
00126OC102004140012700104OC416001220007200416001230007400420OC124OC0760042030.12500100004060011400406000720040000106OC40000074004020011000402OC0760040400112OC404OC10200410OC11600410001040041200120OC412000720010600074001100007600112
LDADELMPYDSTOLDHPYDSTDLDMPYDSTDLDMPYDSTDLDMPYDSTDLDMPYDSTDADDSBDSTDIDDADDSBDSTDIDDADDSBDSTDI.DDAD-OS BDSTDLDDADDSBDSTDLDDADDSBDSTDLDDSTDLDDSTDLDDST
DCOAAOAPBOAPCOAPDOAPEOAPFOAP**DTXB
GEIHEOAODTXBGFIHFOAODTYBGAIHAOAODTYBGBIHBOAODT7BGCTHCOAODTZBGDIHDOAOGDPCDOAPGDPCAOAOGAPCAOAPGAPCBOAOGBPCBOAPGBPCCOAOGCPCCOAPGCPCEOAOGEPCEOAP
' GEPCFOAOGFPCFOAPGFPCAOAOAOAPBOAOBOAPCOAOCOAP
67
"5TCROCO«P T E L E C O M M U N I C A T E D D A T ADDP-516 ASSEMBLY
OOSB 0.0061005^ 000620060 000630061 OC0640062 000650063 000660064 00067C065 00070H066 00072
00073ro67 00.074
00075r>C6P 00075
000771069 OQ100
00101"T70 00102
00103O 0 7 1 O Q -J P £j
OOK5
0072 or, 10600-J07
0071 "0,110Oom
or 74 0011200113
o "\7S 0^1 m00115
0076 0011600 1 17
0077 0012000121
0073 001220079 001230 :1 3 o 00124OffM 00125OOR2 001260033 00 12"7
OOR(j<V1 P <^
00360007ooanOOqq
HO qn•i o 9 10092
0 02 OC1000 04 001140 02 001020 04 001160 02 OP10U0 04 00120000005
-0 01 00000OOOOOO00000.0ooooooooooooooooooooooooooooooOOOOOOooooooooooooooooooooooooooooooooooooooooooooooooooorconooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo000400000402000404000406000410000412000414000416000420
LISTINGOLDDSTOLDDSTOLDDSTSGLJHP*
AOAO DBP
BOAO DBP
COAO DBP
DOAO DBP
EOAO DBP
FOAO DBP
AOAP DBP
BOAP DBP
COAP DBP
DOAP DBP
EOAP DBP
FOAP DBP
GAIN OCTGBTH OCTGCTH OCTGDIH OCTGETH OCTGFIH OCTGAPC EQtJGBPC EQUGCPC EO'JGDPC EQtJGEPC EQUGFPC EQUDTXB EQDDTYB EQUDTZB EOT
DO *0DOAPEOAOEOAPFOAOFOAP
DCOA0
0
0
0
0
0
0
0
0
0
0
0
000000•400GAPC+2GAPC+4GAPC+6GAPC+8GAPC+-10'414DTXB+2DTXB+4
E N D
68
PROGRAM NAME
SOURCE: ROMS
BINARY: BROMS
ENTRY POINTS (location): ROMS ('14000)
ACCESSIBLE VARIABLES: WXPR ('14333),
WYPR C14334), WZPR ('14335)
GENERAL DESCRIPTION:
When the SIRU strapdown system is subjected to a rotational environ-2 *ment its accelerometers will sense acceleration due to u> R and u)R. Since
the accelerometers do not all sense acceleration at the same point, these
rotation- induced accelerations will make the accelerometers appear to be
in disagreement. This subroutine compensates the accelerometers to make
them look as if they are all sensing acceleration at the same point (since
the location of this point is not critical we pick the center of the A
accelerometer so that at least the Aaccelerometerneednot be compensated).
Consider some point which has an R vector from the center of the A
accelerometer of (RX, RY, RZ). The acceleration sensed at this point
different from the acceleration sensed at the center of the A accelerometer
is:
T(u to RY + uxwzRZ - u Rx - u z R X + ii RZ -
zx uzu RY - wx2RZ - u 2RZ + wxRY - u RX)
B, C, D, E and F accelerometers can be corrected by adding the
negative of the acceleration each one senses due to rotation. For the F
accelerometer this would be
-S (Z axis acceleration) + C (Y axis acceleration)
where
C = cosine, S = sine
69
or
--S(u) u RFX + w u RFY - u 2RFZ - u 2RFZ + w RFY - u RFX)zx z y x y x y2 2
+C(w u RFZ + w u RFX - w RFY - u RFY + u> RFX - 6 RFZ)yz yx x z z x
these terms can be combined to give:
C RFX(u u + u )y x z
+ C RFY(-u 2 - u 2)
+ C RFZ(w u - ii )y z x'
+ S RFX(-w u + w )«/
• + s RFY(-UZU - u )
' + S RFYCuL2 +u 2)x y
a similar set of corrections can be derived for accelerometers B, C, D
and E.
2 2 2This subroutine first calculates u)xu) , t»'x wz- ujy a'z, u>x, co , u>z,to , w and i using A Q , A 6 and A 0 over one update interval as anx y z 6 x y • z ^indication of u) , u; and w . It then calculates-
PAR1 = u u + uy x z
PAR2 = ux2 + wz
2
PARS = u u - wy z X
PAR4 = w u - ui/
PARS = w u - iiz y x
PAR6 = u 2 + u 2x y
PART = u 2 + uz2
70
PARS = u u - tby
PAR9 = u u + ux z y
F's correction can now be defined as:
C RFX PAR1
-C RFY PAR2
+C RFZ PARS f
-S RFX PAR4
-S RFY PARS
+S RFZ PAR6
Without doing the whole derivation B's correction can be defined as:
-C RBX PAR4
-C RBY PAR5
+C RBZ PAR6
-S RBX PAR?
+S RBY PARS
+S RBZ PAR9
C, D and E have similar corrections.
The terms in the above equations such as -C RBX are constants and
are stored as such in this subroutine. They are functions of the following
table of distances which was made from detailed drawings of the SIRU
Pi-frame and SIRU accelerometers.
-^AXIS
R(cmP
X
Y
Z
A
0
0
0
B
-8.603
-1.816
0
C
13.937
-24.021
2.482
D
13.937
-15.418
0.665
E
2. 718
-27.081
1.085
F
0. 902
11. 130
1.085
71
MICPOCOJIP T E L E C O M M U N I C A T E D D A T A
00<M0(1020003or>o uOoos000600071C 080009001000110012001300140015op i<f ,0017001800 190020n02100220 0 2 ?0024002^0026r»0270^280029003000310032003300314^0350036003700380030oo (40oomO D U 2oo a 3oo 440045O O U 60047
ro48004900500051005200530054005500560057
DDP-516 A S S E M B L Y L I S T I N G •A B SORGS D B RsnapS U B RSOBR
140001140011400214003moo4moos114006140071401011401114012m o i 31140114114015mo 16m o i 71 H 0 2 0i a o 2 i1«0221402311402141 U 0 2 51 U 0 2 61 U 0 2 714030114031140321 U 0 3 311403141140351i4 f t361140371 U O U Oi aom1140U2114043i u n u u1 14 o 14 51 I 4 0 U 61140U71U0501U0511140521140531«05t»1U055140561U0571U060114061114062
0 O O O O C O R O M S DAC0 02 0014140 16 O O U 1 60 0(4 1U322o 02 oomu0 16 OCU200 04 143230 02 004160 16 004200 04 143240 02 004140 16 004140 04 143250 02 OC4160 16 O C 4 1 60 04 143260 02 O C 4 2 00 16 004200 04 143270 02 O C 4 1 40 07 1433.30415 720 04 143300 02 004160 07 143340415 720 04 143310 02 004200 07 143350415 720 04 143320 06 143220 04 142620 16 143360000070 04 143040000050 02 143250 06 143270 04 142640 16 143370000070 06 143040 04 143040000050 02 143240 07 143300 04 142660 16 143400000070 04 14316
L D AM P YSTALDAflPYSTAL D AN P YSTAL D ABPYSTAL D AM P YSTAL D AHPYSTAL D ASUBA L SSTAL D ASOBALSSTALDASUBALSSTAA D DSTAM P YDELDSTSGI.L D AA D DSTAHPYDELD A DDSTSGLL D ASOBSTAHPYDBLDST
•14000W X P RW Y P RWZPRROHS**wxBYH X W YWXW7H X W ZW YwzW Y W ZW XWXWXSQWYW YW Y S QWZW ZWZSQWXW X P R6W X D TWYW Y P R6W Y D TWZW7PR6W Z D TW X W YP A R 1CRFX
CORF
W X S QWZSOP A R 2C R F Y
CORFCORF
W Y W 2W X D TPAR3CRFZ
T E H 1
73
M I C P O C O N P T E L E C O H H O N I C A T E D DATADDP-516 ASSEMBLY LISTING
005RC0590060006100620063006U00650^66C06700680^6°ofno0071007200730071*00750076007700780079r o 800031008200830084OOPS
0^860087
or-RROOgqoogn0091oogo0093pogu00"S
009600970098OOQQ
0100010 1010201030101*01^501060 107o ion0 1090110011 101120113M 11*
1U0631i*06U11*0651U06611*06711*07011*07111*07211*0731407U140751407614077141001410114102141011410414105141061410714110141111411214113141141411514116141 171412014121141221412314124141251 4 1 26141271413014131141321413314134141351413614137141401414114142141431 U 1 U U
1 fi 1 U *5141461414714150141511415214153
0 06 1U30U0 OU 1430U0000050 02 143230 07 1U3310 Oi* 1 U2 700 16 1i*3U10000070 06 1430U0 Of*. 1U3040000050 02 1432U0 07 143300 04 142720 16 143420000070 06 143040 04 1430U0000050 02 143250 06 143260 04 142740 16 14343OOOOC70 04 143060 06 143040401 670 06 006120 04 OC6120000050 02 143260 06 143270 04 142760 16 143510000070 04 143100 04 14312000005o 02 143220 07 143320 04 143000 16 143520000070 06 143100 04 143100000050 02 143230 06 143310 04 143020 16 143530000070 06 143100 04 143100 02 142640 16 143450 06 143060 07 14316
DADDSTSGLLDASOBSTABPYDBLDADDSTSGLLDASDBSTAHPYDBLDADDSTSGLLDAADDSTANPYDBLDSTDADLRSDADDSTSGT,LDAADDSTAHPYDBLDSTDSTSGLLDASUBSTAHPYDBLDADDSTSGLLDAADDSTAHPYDBLDADDSTDLDHPYDADDSB
COBFCORF
WXWZWYDTPAR4SBFI
COBFCOBF
WYWZWXDTPAR5SRFY
COBFCORF
WXSQWYSQPAR6SRFZ
CORECORF9•612•612
WYSQWZSQPAP7CRDX
CORDCORC
WXWYWZDTPAR8CPDY
CORDCORD
WXWZWYDTPAR9CRDZ
CORDCORDPAR2CREYCORETEH1
74
MICROCHIP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
"1 15"1160117011301190120"121"122012.10124012^01260127012801290130013101320133013401350136013701380130MUP01U101420143omo0145014601470148n KJQ0150015101520 153015U01550156015701580 1590160016101620163016U016501660167T16R016001700171
1415414155141561415714 160141611416214163141641416514166141671(4 1701417114172141731417414175141761U17714200142C1142021U203142041420514206142071U2101421 11U2121U21314214142151421G14217142201422114222142231422414225142261422714230142311423214233142341423514236142371424014241142421424314244
0 040 020 160 060 040 020 160 060401o 060 040 020 160 040 060 040 020 16-0 060 040 020 160 0604010 060 040 020 160 06n 070 040 020 160 060 040 020 160 060 040 020 160 0604010 060 040 020 160040 02o 160 060 040 020 160 060 040 02
14306142701434614306143061427214350143066700610OC61014262143541432014310143101426414355143101431014266143561431067006060060614300143571431214320143121430214360143121431214264143611431214312142661436214312670060400604142701436314314142721436414314143141427614365143141431414300
DSTOLDMPYDADDSTOLDMPYDADIPSDADDSTDLDMPYDSTDADDSTDLDMPYDADDSTDLDMPYDADLPSDADDSTDLDMPYDADDSBDSTDLDMPYDADDSTDLDMPYDADDSTDLDMPYDADLRSDADDSTDIDMPYDSTDLDMPYDADDSTDLDHPYDADDSTDLD
COPEPAR4SPEXCOPECOPEPAR5SPEYCOPE9'610•610PAP1SPDXTEM2COPDCORDPAR2SRDYCORDCORDPAR3SRDZCORD9'606'606PARSCRCYCORCTE«2COPCPAP9CRCZCORCCORCPAR2SPCYCORCCORCPAP 3SRCZCORC9'604'604PAR4CRBXCORBPAPSCRBYCORBCORBPAR7SRBXCORBCOPBPARS
75
MTCPOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY
"1720173O17l»017501760177017R017901 BO01810182018?018401.85
0 186
01R7
0188
01R9
0 110
0191
0192
019T
niqu
0 195
0196
01Q7
0 1Q8
0 199
0200
020102A2020 3070U
0205020602r i02080209021002110212
142451424614247142501U251142521U253142541425514256142571426014261U2621U263142641426514266142671U2701427114272142731427U14275142761427714100143011 4 3 0 21430314304143051430614307143101U31 11431214313143141431514316143171432014321143221432314^241432514326143271433"1433114332143331433414135
0 16 1H3660 06 U*31«0401 670 06 006020 04 00602OOOOC50 02 OCU1U0 04 143330 02 OOU16^ 04 .1433U0 02 OOU200 04 1U335
-0 01 1«000000000000000000000ooooooooooooooooooOOOOOOoooooooooooooooooooooooooooooo000000ooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOoooooooooooooooooo000000ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOoooooooooooo
LISTING
PAF1
PAR2
PAF3
PAR4
PAR5
PAR6
PAP7
PAF8
PAR9
CORF
CORE
CORD
CORC
CORB
TEH1
TEH2
WXHYWXWZWYWZWXSQWYSQWZSQHXDTilYDTW7DTWXPRBYPRB7PR
nPYDADLRSDADDSTSGLLDASTALDASTALDASTAJMP*DBP
DBP
DBP
DPP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
OCTOCTOCTOCTOCTOCTOCTOCTOCTOCTOCTOCT
SRBYCORB9•602•602
WXWXPRWYWYPRWZHZPRROHS0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
000000000000
76
f l lCPOCOHP T E L E C O M H O N T C A T E D D A T ADDP-516 A S S E M B L Y LISTING
02130214021502160217021802190220^221
0222022102240225022602270228"22°02300231f\2 1202330234"23502360237"23802^q
14336143371434014341143421434314344143451434614347143501435114352143531«3541435514356143571436C143611436214363143641436514366
0011451611520013421772051666670007101743071 34003135670107535026176155364153404000704164433163254177351140046003230023566002023"M3336002323.007042176405000414000416000420
CRFXCRFYCRFZSPFXSBFYSRF7CPEXCREYSPF.X
SRF.YCPDXCPDYCRDZSRDJtSRDYSRDZCRCYCPCZSPCYsnczCREXCRBYSR3XSRBYWXWYW7
DECDECDECDECDECDECDECDECDEC
DECDECDECDECDECDECDECDECDECDECDECDECDECDECDECEQ1IEQUFCH1
76.703B12-946.8B1292.26B12^47.405812-585.15R1257.02B12-231. 19B12-2303.69B12-142.88
1423.76B12-1185.55B12-1311.52B1256.609B12-732.71B12-810.56B12-34.9R6B12-2043. 33B12211.096B121262.85B.12130.464B12731.813B12154.49B12452.29B12-95.48B12•414•416•420
024" E N D
77
PROGRAM NAME:
SOURCE: PREX
BINARY: BPREX
ENTRY POINTS (location): PARC ('06040)
ACCESSABLE VARIABLES (location): PACC ('06166)
GENERAL DESCRIPTION:
This subroutine is essentially equivalent to GARC, the gyro error
accumulator, except it only accumulates compensated pulses from the six
PIP As. The only other difference is that when it is time to purge the
PIPA accumulators, it puts a 1 in location '765 (note the instruction IRS
'765) which clues the PIPA parity equation solver (program source name
PPEX, subroutine entry point PPRT) not to doits calculation. This feature
is solely for timing considerations.
78
HICPOCOMP TELECOMMUNICATED DATA
000100020003OOOl*0005OC06"007oros00090010001100120013oo-m00150^1600170018001900?00021002200230021*002500260027002800290030003100320*33003U003500360037T0380039OOUOOOU1OOU2OOU300,1*1*00<»5OOU6001*7OOU800(*900500051005200530051*005500560057
DDn-516 ASSEMBLY
00000000010000200003OOOOi*0000500006000070001000011000120001300011*000150001600017000200002100022000230002U000250002600027000300003100032000330003U000350003600037OOOUOOOOU10001*2OOOU30001*1*OOOH5OOOU6OOOU7000500005100052000530005U000550005600057C006000061C0062000630006U00065
0 0000000 120 010 120 020 01*0 35
001260002300765001310012600130
0000071 021 071 Ot*1 021 071 01*1 021 OH0 120 120 010 02
0031600106003160012tt00106OC106OP3160012U00000000000001000600
00000701*010 060 OHOU010 OU0 02OU010 060 01*01*010 01*0 02OU010 060 01*04010 OU0 02OU010 060 OHOU010 OU0 0201*010 060 OHoaoi0 OU0 0201*010 C60 OU
610030200302730071* I*006026100301*0030U730071*60060U610030600306730075000606610031000310730075200610610031200312730075H00612610031U0031U
LISTINGPELSOBBSUBR
PARC DACIRSJHPIPSLDASTALDXDEL
LHPE OLDDSBDSTDIDDSBDSTDIDDSTIRSIPSJMP
NPCC LDADBLLPSDADDSTLRSDSTDLDLRSDADDSTLRSDSTDLDLRSDADDSTLPSDSTPLDLRSPADDSTLRSDSTDLDLRSDADDSTLRSDSTDLDLRSDADDST
PARCPACC**PACCNPCC•765=-6000PACC=-12
PAPA+1ARES+1PAPA+1AP.PS+1APES+1ARES+1PAPA+1ARPS+100LOPHPAPC
15PAPAPAPA5AARPPBPC15PBPAPBPA5BARPPC PC15PCPAPCPA5CARPPDPC15PDPAPDP15DARPPEPC15PEPAPEPA5EARPPFPC15PPPAPFPA
2,12,12,12,12,12,12,12,1
79
MICPOCOKP TELECOMMUNICATED DATADDP-516 ASSEMBLY
0058 000660059 000670*60 000700061 C00710062"0630064r\0f 50066006700680069007->0071Of 72007?0074007500760077007800790080 C0072
000730081 no074
•000750082 00076
C00770*83 00100
00101008U 00102
001030085 00101
001050086 00106
001070087 00110
001110088 00112
001130089 00114
001150090 00116
001170091 00120
00121OC<>2 CO 122
001230093 00124
001250094 00126C095 001270096 00130
00131
0401 730 04 00756000005
-0 01 00000000600000602000604000606000610000612000302000304000306000310000312000314000744000746"00750000752000754000756000000000000oooooo000000ooooooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOQoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo164217ooonoo177764164220
LISTINGLRSDSTSGLjnr*
PAPC EQUPBPC EQUPCPC EQUPDPC EQUPEPC EQUPFPC EQUPAPA sonPBPA ECUPCPA EQOPDPA EQUPEPA EQUPFPA EQUAARP EQUBAPP EQUCARP EQUDASP EQUEARP EQTTFARP EQUARES DBP
BRES DBP
CR?S DBP
DPES DBP
ERES DBP
FRES DBP
SPES DBP
APRS DPP
BRRS DBP
CRPS DBP
DRRS DBP
ERRS DEP
FRRS DBP
SPRS DBP
PACC DECSTSE OCT
END
5FARP
PARC«600PAPC+2PAPC*4PAPC+6PAPC+8PAPC+10•302PAPA+2PAPA+4PAPA+6PAPA+8PAPA+10•74UAARP+2AAPP-t-4AARP+6AARP+8AABP+100
0
0
0
0
0
0
0
0
0
0
0
0
0
-60010
80
PROGRAM NAME:
SOURCE: GARC
BINARY: BGARC
ENTRY POINTS (location): GARC ('07344)
ACCESSABLE VARIABLES (location): GACC C07524) .
GENERAL, DESCRIPTION:
This subroutine accumulates the 6 compensated gyro pulse counts
(GAPC, GBPC, GCPC, GDPC, GEPC and GFPC) in the six gyro pulse
accumulators (GAP A, GBP A, GCPA, GDP A, GEPA and GFPA) and then
stores the accumulations in the six arguments (AARG, BARG, CARG, DARG,
EARG, and FARC) for the squared error calculator (see documentation
for program source name CFSE, subroutine entry point SECA). It also
accumulates
A ex A6Y Aez
to be used to increase the maximum allowable total squared error to allow
for dynamic scale factor and misalignment errors (see documentation for
GFIS).
The 6 compensated gyro pulse counts are double precision numbers
with the high order word being of significance and the low order word being
carried along as a re'sidual. Thus, every time an LRS 15 instruction operates
on a gyro pulse count in the accumulator, it is simply to shift the residual
out. Scaling can best be expressed by giving the representation of one
gyro pulse for GAPC, GAPA and AARG.
GAPC oct 00400, 00000 ;
. GAPA oct 00000, 00400. ,
AARG oct 00000, 00010
Therefore, the bit granularity of the arguments used by the squared error
calculator is ± 1/8 pulse.
In order that the gyro pulse accumulators don't overflow, they are
periodically purged of old accumulation. Define A (t j , t«) to be the
accumulation of gyro pulses between times t, and t-. Every minute starting
at t = 60, the following purge is performed (let us look just at the A gyro
accumulator).
81
GAPA = GAPA - ARES
ARES = ARRS - ARES
ARRS = GAPA
ARES = A gyro residual.
ARRS = A gyro residual residual.
following this procedure we get:
at time = 60
GAPA = GAPA - ARES
GAPA = A (0, 60) - 0 = A (0, 60)
ARES = ARRS - ARES = 0-0 = 0
ARRS = GAPA = A (0, 60)
at time = 120
at time = 180
at'time = 240
GAPA = GAPA - ARES
GAPA = A (0, 120) - 0 = A (0, 120)
ARES = ARRS - ARES = A (0, 60) - 0 = A (0, 60)
ARRS = GAPA = A (0, 120)
GAPA = GAPA - ARES
GAPA = A (0, 180) - A (0, 60) = A (60, 180)
ARES = ARRS - ARES = A (0, 120) - A (0, 60) = A (60, 120)
ARRS = GAPA = A (60, 180)
GAPA = GAPA - ARES
GAPA = A (60, 240) - A (60, 120) = A (120, 240)
ARES = ARRS - ARES = A (60, 180) - A (60, 120) = A (120, 180)
ARRS = GAPA = A (120, 240) etc.
the flow chart follows.
82
MITCFlrw C H « » T SfT - D U I P B I I O E H E I F ' S HOVCHIPT - r.lBC P4GI 01of 01
X II /'
III
ntcc = T^cr * 1(VOTF: ^ACC
STASTS TUT =-f-001. ON THE
f C I T H C ( T I T t l^ARC ( A T T F P 1
1I».) RAtC Wi t t
•IS OCC = C« Y!5OP HAS TT «
• P E E N 1 ni l?" I C5
I C A C C = -611C ( S E T |I TT "P TO W » I T |I A N C T I I F S B I N ) |
II
« I 06
I P - ' P C E AL! ' || ^ C C ' . ' I M L A T n ^ S AS 1I D F S C 3 T B E D II PP 'VIO ' ISLT I
I
FLOWCHART - GARC
83
MTCPOC01P TET.ECOMMtTNICATED DATADDP-516 ASSEMBLY LISTING
OOH1 REL000? SPBR000? SUBP00040-005noo^oomor 08npoq001 o0011001201 1 ">0014001500160017
001R001900200021002200210024^025002600270 02?0-^29f 0.1000310 0 3200330*3400350036003701380039
f O'iO00410042OOU300144on45ooufi00470048OOH 90050OOS10-^5200^30054
005500560057
00000000010000200003^ooru000050000600^0700010000110001200013ooo moor> 15
0001600017000200^021pnr 22000230002U00025^00260^0270003000031000320003300^3UOOH35COC3600037ooouoOOOU 1OOOU200043OOOU4000450 0 0 4 f>000"700050OO05 100052000530005U00055^005600057000600006100062000630006400065
0 0000000 120 010 020 040 35
0016000032001630016000162
0000071 021 071 041 021 071 041 021 040 120 120 010 020 070 nu0 020 070 040 020 040 02
00302OC14000302OC1560014000140003020015600000ocooo000070077400140OC774OC1560014000140007740015600400
00000704010 060 0404010 040 0204010 060 0404010 040 0204010 060 0404010 040 0204010 060 0404010 040 0204010 06
6100266002667300744004026100270OC270730074600404610027200272730075000406610027400274730075200 4 1C6100276
GARC PAGIRSJMPLDASTAI.DXDEL
LOPE DLDnsBDSTDLDDSBDSTDLDDSTTRSIRSJHPDLDDSBDSTDLDDSBDSTDLDDST
NGCC LDADELLPSDADDSTLRSDSTDLDLRSDADDSTLPSDSTDLDLRSDADPSTT.RSDSTDLDLPSDADDSTLRSHSTDLDLRSDAD
GAPCGACC**GACCNGCC=-6000GACC=-12
GAPA+12,APFS+12,GAPA-H2,AFRS+12,ARES+12,ARES+12,GAPA+12,ARRS+12,00LOPESUDTSPESStTDTSPRSSPESSEESSODTSRRSGAPC
15GAPAGAPA5AARGGBPC15GBPAGBPA5BARGGCPC15GCPAGCPA5CARC,GDPC15GDP AGDPA5DPP.GGEPC15GEPA
11111111
84
MICPOCONP TELECOMMUNICATED DATADDP-516 ASSEMBLY
005*005Q0060OC610062or63OOfilnnfcc;
00660067o^69"0690070007100720073r>O74
0075A0760^77O"7R0^790080OT81008200830 ̂8400850-T860^870083OOR900900091009200^30094r 00500^6On97pon800990100
010101020103o 104010501060107
01090 109
01 10.
oi 1 1
0006600067000700007100072"0073000740007500076Or 07700100001010010200103001Q400105001^60010700110oom•00112* 0 1 1 3001 14001150011600117001200012100122
00124001250012600127001300 0 1 .3 1
0 OU 00276OU01 730 OU 007500 02 OOH12OU01 610 ofi 003000 0« OC30POU01 730 OU 007560000050 02 OOU1U100UOO1UOU070 04 001610 02 0,0416100UOO1HOH070 06 001610 04 001610 02 00420100UOO1HOU070 06 001610000070 UO 1 610 06 OC77U0 0« 007714000005
-0 01 00000OOQUOO,100402OOOUOUOOOU060004100004120002660002700002720002740007760003000007U400074600075000075200f>754000756000'41UOOOU16000420OOQ774OOOOOQ
OOQOOOoooooo000000000000oooooo
LISTING
GAPCGBPCGCPCGDPCGEPCGFPCGAPAGBP AGCPAGDPAGEPAGFPAAARGBAFGCARGDAflGEAPGFA5GDTXHDTYRDTZBSODTARES
BRES
CPES
DSTLP.SDSTOLDLPSDADDSTLRSDSTSGLI. DASPLTCASTAIDASPLTCAADDSTAIDASPLTCAADDDBLLP.SDADDSTSGLJMP*EOOEQtJFQUEOHEQflFOUEODF.OUEO'IEonECUFO'IEQUEO'JEOUEQtJECUEQUEQUECUEQIIEQUDBP
DBP
DBP
GEPA5EARGGPPC15GFPAGFPA5FAPG
DTXB
STSEDTYB
STSESTSEDTZB
STSE
15SUDTSUDT
GAPC'UOOGAPC+2GAPC*UGAPC+6GAPC+8GAPC+10•266GAPA+2GAPA+UGAPA^fiGAPA+8GAPA-t-10.744AAPG+2AA^G+UAARG+6AAPG+-8AAPG*10•«1UDTXB*2DTXB4-U•77U0
0
0
85
1TCRCCOMP TEL
0
n
0
A
1
1
1
1
1
1
1
1
2
3
4
5
00000000000"no
nop-51132133134135136137140
001410
n
n
0
n
o
0
n.n0
1
1
1
1
1
1
1
111
16
17
1
1
2
2
2
2
9
q
n
1
o
7
24
on0000no00nnnn00000000no00ennoon
25 Of)nn
142143144145146147150151152153154155156157160161162163
ECOWflTJNICATED DATA6 ASSEMBLYOOOOOOooooooOOOOOOoooooo000000ooooooooooooooooooooooooOOOnno000000OCOOOOoooooooooooo000000oooooooooooooooooooooooo000000ooooooooooco164217ooooro177764164220
LISTIDPES
EPES
FPES
SRES
APRS
BRRS
CPRS
DPPS
ERRS
FPPS
SPPS
RACCSTSE
NGDBP
DBP
DBP
DBP
DEP
DBP
DBP
DEP
DEP
DBP
DEP
DECOCTEND
0
0
0
0
0
0
0
n
0
0
0
-6C010
86
PROGRAM NAMESOURCE: GFISBINARY: BGFISENTRY POINTS (location): GFIS ('2070)
ACCESSABLE VARIABLES (location): KEYG 02225)
GENERAL DESCRIPTION:
This subroutine controls the logic for the gyro failure detection and
isolation. When called (once every gyro update) it decides which failure
(first or second) should be searched for using such considerations as gyro
fail status and which search it made the previous time. It will then store
in locations '760 and'761 the maximum allowable total squared error (MASE)
for either the first (FMSE) or second (SMSE) failure search. (FMSE and
SMSE are modified at the beginning of this subroutine to allow for dynamic
errors. Location '774 contains a proportion of the sum of the absolute
values of the total rotations about axes X, Y and Z. Adding the square of
this sum to FFAD and SFAD gives the modified maximum allowable total
squared errors FMSE and SMSE).
It will store in location '762 the squared error ratio for either the
first fail (FFRT) or second fail (SFRT) isolation criteria (see documentation
for SEC A, program source name CFSE). In location "763 it will store the
number of the instrument to be considered failed (see documentation for
ERDE). It will then call ERDE which, in turn, calls the squared error
calculator SECA (program source name CFSE). Since the gyro error
accumulator (GARC) has been called prior to GFIS, SECA has the proper
arguments for the instrument accumulated measurements. GFIS gives SECA
the proper total allowable squared error and the proper squared error
ratio. After the squared errors have been calculated and a decision of
detection and/or isolation has been made, ERDE will store the decision
code in location "764 and return to GFIS. GFIS will then decide what the
gyro fail status should be and store the number of the gyro first and second
failures in location '316 and '317 respectively. The logic of this program
is shown in the following flow chart. Note that sense switch 3, if set, will
prevent any failure from healing.
87
A t J T O P L O W C H A R T SET - D R A P E S O E H R L E ' S F L O H C H I R T - GFIS
III 01
) F U S E = F F A D * II (>n»)*«2, snSE * it S F A D * ( ' 7 7 U ) * * 2 |
123
IS ( ' 116 ) =0 ORDOES T H E G Y R O
FIRST F A I L S T A T U SI N D I C A T E N O
F A I L S 7
I
SEE NOTEA B O V E
I . NOTE '01
WAS A FIRST FAILSEARCH PERPORnEDTHE LAST TlnE?
SEE NOTEABOVE
125
(•316) -> KEYG,(•316) -> (-765)I.E. STORE THE
FIRST FAILINDICATED BY THEFAIL STATUS IN(•763) TO KEYEPDE FOR THEPROPER SECOND
FAIL SEARCH ANDSEHEMBFR THE KEYBY SAVING IT IN
KEYG
| SFRT -> (*762) I.| SJSE -> II (*760,'761) I
III
FLOWCHART - GFIS
88
«BTon<ii emit itr - »ii»it WHUM FIMCIUT - or 13 I «2of 03
I ion it
g<- —I «OTB PI
TS <>ini « a nrDOES THE steam
r»it STATUSI9DICITE Ip»rvinnslY
ISOHTEO seconnF»U7
SEE HOTSIBOVF I
II
....
fl
IOTF. C J
• IS SEISE SIJTCD 3 •• HOT SET 0> HE •• Tm FtUOIES HOT •• LOCKED? •
I• II
• l*'«Mn>i) at mi• IT I HIST "It• SFUCH THIT "VI• PEFFOHIEOT
III
SEE «OT»trail
noIIII
II | IDTt II
IS i'Jt»i'D atits TII moilCOBI eucaittio •
m !Ki«n-oi in10 Fill DlflCTIDf
III
III IOTF.iUTI
113-Ml
I IOTI 22
IS (MM).l ,2,3,«,5 01 6 01
DOtS THt IETDPICODE IIDICITE I
SUCCESSFOt FUSTMIL
I
SEC laTZIBOIB
111
It IS . J .1 . OS .I ....1 1131
1 «OTE 211
is (••»»»!• CJ16I01 DOES THE
I SOt I TED FUSTFlitOF I taiCIIITH Til FillSTtTDS FIFST
IOTI U
rs (<?(•) *!,2,3,«,5 at 6 OF
DOCS THE IETOIICODE IIBICITI I
sncctssrotstcoit finISOHTIOI?
IS SIISE SIITCI iHOT UT 01 IIITil FIIIOIIS I«T
lOCIliT
III
SEE IOTE1IBTI
SFF «OTF.«B1»F
t NOIIII
M .....
»*
111
in IOTF.II0»8
HIS
IIIII
III
....
01
115
3OS
IS ('7411I -|'317| OF. DOESTIE IS10ITIDFUST FIIIUIE
1SIEE III! THIriti STITOS
SECOID rin.a»ET
I 0 TO ('11*1, 0 TO |I l'317| I.I., SIT II Fill 1TIT01 TO |I IIDICITI 10 FIIIS |
• 10Stl IOTE •-,
1IOTI • |• • I
• • I
IMS 107
117
1} 20
I Ha C I ' H U G E III Flit |I ST»TOS |
IIi ri
I 10 CIIIOI II Fill II ITITOS |
I
I 21
(•J'«l TO ('317)(•7(1) TO (-1U)I.I. , OLD FUST
rilL STITDSiicants stcaiD
Fill STITUS,ISOLtTID FUSTFill IECOIES
FUST Fill STITOS
III 29
11*111
89
A U T O F L O M C H A R T S E T - D R A P E F O E H R L E ' S F L O W C H A R T - G P I S
02. 02*—>(
('76U) TO ('317)OF PUT THE NFHLYTSOI ATEO SECONDFAIL INTO THESECOND FAIL
STATUS
III 02
K17 /
I
I SOTK 07
IS ('316) = 0 ORDOES THE GTPO
FIRST FAIL STATUSINDICATE NO
FAILS?
I
/ T10 /
t ^0 CHANGE IN FAIL |1 STATUS |
* SEF N O T E ** A B O V E *
* *»
ISO "11111
X18 ) NOTE 99
* IS (' 317) = 0 OR ** DOES THE S E C O N D ** F A I L S T A T U S • «
» SECOND F A I L ? *
I
03. OB* — >nX21 1 15
(' 7 6 U J TO ( • 316),0 TO (' I 17) OR
P U T T H E N F . M L KISO! A T E D F I R S T
PAI I I N T O THE- F A I L S T A T U S F I R S T
F A I L A N D S S T F A I T ,'-. - S T A T U S SETOID
F A I L = 0
II1 16
• E X I T *
R E T U R N
* * YES* SEE NOTE *—,
* ABOVE • |' • I
* * I
I NO . 2 .I . 28 ,II X16
II
Y19 | NOTE 11
IS SENSE SWITCH 3 *NOT SET OT ARE *
THE FAILURES NOT *LOCKED? *
I
SEF. NOTEABOVE
| PETUPN WITHOUT || CHANGING FAIL || STATUS |
90
" I ICPOCOUP T E L E C O M M U N I C A T E D D A T A
or)'"1 1A002000.3000(4
0005orr>60007rr ra,r: .0 o q00100011001 20 0 1 7
0">1 U
0 0 1 5
"0160017001 R00190090
0021""22o" 230"2H0025002*0"270 0 2 R0029"0.300031o" 3 20033r o .3 u0035003600370038o r\-^qp. o (j f>
oom001*20 .011 30 04U
oo«5"ou6OOU7r otiqPC UPoo^o005100520053005140055o*56"057
DDP-51
oopoo0000 1OOOQ200003P0op(4
0000500006OOP.07oor> 1000^11
00012"-):)13r.̂ o m00015000160^01700020n002 1oor>220002300^24000250.00260002700030000310003200033o o o 3 a000350003600037OOOUO0 0 0 U 1OOOU2OOOU300 0 UU
o«ou5OOOU6OOOU7C00500005100052n 0 0 5 3n00540005500056 -COO 5 700060°0061r0062 -00063OOQ6U"0065 -
6 ASSEMBLY
0 OOOOCP0 02 0077U0405 750 OH 001U20 16 001U20000070 OU 001U20 06 001UI40 OH 001360 02 0011*20 06 0011*6o on oo mo0000050 02 00316100TUO0 01 0003214001*00 OU OC1350 01* 007630 02 001330 0« 007620000070 02 001360 Oa 007600000050 01 OOOU60 02 001351000UO0 01 000200 02 003160 OU OC1350 0<* 007630 02 0013U0 OU 00762000007o 02 001UO0 OH OC7600000050 10 000000 02 0013510001*00 01 001170 02 OC76<*1000400 01 00063100001*0 01 000001UOOUO0 01* 003160 OU 003170 01 000000 07 001501014000 01 OCOOO
LISTINGPELSDBRSUBR
GFIS DACLDA.APSSTAHPYDPLDSTDADDSTOLDDADDSTSGLLDAS7EJHP
FFTR CPASTASTALDASTADELOLDDSTSGLJBP
ALOF LDAS2EJMPLDASTASTALDASTADPIOLDnsTSGI,
COCA CALLLDASZEJMPLDASZEJHPSR3JMP*CRASTASTAJMP*
NOZE SUBSBTJMP*
GFTSKEYG**•771*3ALOPAIOP
ALOPFFADF«SEALOPSFADSHSE
'316
ALOF
KEYG•763FFFT'762
FMSE'760
COCAKEYG
FFTR•316KEYG'763SFRT'762
srsE•760
ERDEKEYG
SFSR•764
NOZE
GFIS
•316'317GFIS= 7
GFTS
91
MTCPOCO!"!P T E L E C O M M U N I C A T E D DATA
00580 0590060006 10 0 6 20063or 61400650 0 6 6"0670 "<; q
006P0^7000710070r o-»30 -1714n n "7c
0"-76OOT7
"0780079"080f oq 1OOP ?r "«3o 0914O O f l c ,O O Q f t
0 -(970089of 8°r o Q oA A O 1
r oq?o o q 3o 0 Q14n p 01^r ." Q 6"OP7^ 0° B
r oqo
01 00
O K 1
0102
0 1 0 3
ODP-00066ft 0 O 6 7000700 0 0 7 1000720007300071400075000760 0 0 7 70 0 1 0 000 10 1^0 1C2"0103r o i o u00 1C5OO 1 Of;f : 0 1 0 70 0 1 1 0001110 ^ 1 1 20 0 1 1 30 0 1 1 ( 40" 1 1 ^
0 0 1 1 6001 17"01200 0 1 2 10 0 1 2 20 0 1 2 3o o 1 p u0 0 1 2 ^oo 1260 0 1 2 700 1 3000131"0132" 0 1 3 3" " 1 3 a0 0 1 3 5001360 0 1 3 7o 0 1 14 0r o 1 mo o 1 a 20 o 1 14 3O O 1 (4 14
"011450 0 1 U 60 0 1 U 700 150
516 A S S E M B L Y0 02 0076«0 11 003160 01 00072
-0 01 000000 11 003170 01 000750 01 001120 02 003161 0 1 0 U O0 01 .001050 02 O C 3 1 7mouo0 01 001121000014
-0 01 0^0000 02 0076U0 OH 003161 U O O U O0 on 00317
-0 01 OCOOOo 02 00316n ou 003170 02 0076U0 0(4 00316
-o 01 O O O O C." 02 0076U0 07 0015010 1400
-o 01 o r o o o0 02 00317l O I O U l0 01 001301 0 0 0 C U
-0 01 O C O O O0 02 O C 7 6 U0 nu 00317
-r> 01 000000 3U 3U3r. 306 00oooooo00^000ooooooooooooO O O O O OO O O O O OO O O O O OO O O O O O002200O O O O O O^ 0 1 6 3 2000007
LISTINGL D AC A SJ M PJMP*C A SJ M PJ M PL D ASNZJ M PL D ASNZJ M PS R 3JMP*L D ASTAC R ASTAJ M P *
SPCA LDASTAL D ASTAJMP*
SFSR T . D AST.IBS M IJMP*L D AS N ZJ M PSR3JMP*L D ASTAJMP*
FFRT OCTSFHT OCTK E Y G O C TF M S E DBP
S M S E D B P
A L O P D R P
F F A D OCT
S F A D O C T
E N D
•76*»•316**2
.GFIS•317**2SPCA•316
*+6•317
SPCA
GFIS• 7 6 U•316
'317GFIS•316• 317•76U• 316GFTS•764=7
GFIS•317
*+3
GFIS• 7 6 U•317GFIS3 4 3 U 330600o0
0
0
0 ,2200
0, 1632
92
PROGRAM NAME
SOURCE: ERDE
BINARY: BERDE
ENTRY POINTS (location: ERDE ('06172)
GENERAL DESCRIPTION:
This subroutine is called by either the gyro failure detection and
isolation logic subroutine (GFIS) or the PIP A failure detection and isolation
logic subroutine (PFIS) and in turn calls the squared error calculator (SEC A,
program source name CFSE). Core location '763 tells this subroutine which
instrument is to be considered failed. If location '763 is zero, it means
that no instrument is to be considered failed and when it calls SECA, it
must indicate this with a-7 in the index register. SECA will then calculate
the no fail squared error equations and return with a code in the A register
which ERDE will store in core location '764 so that its calling program
(either GFIS or PFIS) can use the result.
If the failure key (location '763) is a 1,2, 3, 4, 5 or 6, it indicates
that the second fail squared error equations are to be calculated considering
A, B, C, D, E or F as the failed instrument. Again, ERDE will store the
return from SECA in location '764 for use by GFIS or PFIS. If '763 is a 1
and instrument A is to be considered failed, MA (see description of SECA,
program source name CFSE), the accumulated measurement of instrument
A, must be replaced by
v/bT2 (MB - MC - MD + ME + MF)
the calculation of MA using MB, MC, MD, ME and MF. Then when SECA
calculates the first fail squared error equations using the new MA and the
old MB, MC, MD, ME and MF, it gets the same results it would have gotten
had it used the second fail squared error equations considering A failed.
Similarly, if the fail key ( '763) is a 2, B is considered failed and MB must
be replaced by
v/bT¥(MA + MC + MD + ME + MF)
Also, with instrument B failed, the index register must contain a -2 when
SECA is called. Similar steps are taken when instruments C, D, E or F
are to be considered failed. The flow chart for the subroutine ERDE follows:
93
Autoflow Chart Set - Draper Oehrle's F lowchar t - K R D K
Page 01 of 1
C'fail key C763>>-" , 0 ? ,'
I Call SECA 'I . 1
"11 Error Resull-»-t1764)lI ' _- 1
Go to circle (
which contains (
number equal tofail key
' YN
\- ~^i - - 1MA =
O'lMB-MC
-MDtMEtMF)
L. - - ' -
1
•
1 2 •>
• r^
I « -2
MB =
J~2 '(MA +
MC + MD + ME
L + L M ! ' . , _ . _ j1
,
'3 >
"j-f~~ ~t
I = -3 1
MC = '/T(-MA +
MB+ MD - ME|
Ll + _ M F ) ' . ' J '
' 4 x
V_|T
I = .4 '
MD = ' |/T(-MA <- 1
MB * MC + ME1
- MF) I ._ J
1
, '5~\ 1 6 \
1' ' J"--1 '[--1
I = -5 | , I = -6
ME • 1 I MF .<]. 2 ' IMA +) ' V. Z ' (MA
MB - MC + 1 ' MB + MC -MD - MF) ' 1 MD - ME)- ^ u ..,
, -J- .' • C a l l SECA
I Error Result-»-( l764)
FLOWCHART - ERDE
94
T E L E C O M M U N I C A T E D D A T ADDP-516 ASSEMBLY
00010002on 03OOOfj
ooo<;00060007ooonOOOq0010no 110112001300140015.1016
00170"1R0010002000210022o*230°2'l°025^0260^27o opp002Q^03000110*3200330 n 3 U003500360037
0 ?3«00.39o o ijooomo o d 2OOU300, (44OOU5OOUfi
"047OOUB0 o 14 q
0050T0510052OC53005'4ort5500560057
ooooo000010000200003OOOQ4
00005000060000700010000110001200013o o o 1 4000 1500016000170002000021000220""2300024ono 250 0 0 2 600027"00300^03100032orinT 3000340003^0003600037OOOUO
OOOU100002OOOU30 0 o 14 Ko o 0 U 5o . r> o n 60004700050r-0051000520005300 05U000550005600057000600006100062000630006U00065OOQ66
0 0000000 02 007611000UO0 01 000100 35 003310 10 000000 04 OC76U
-0 01 000000 OU 00000
-1 01 OCP110 0000200 0000570 0001160 0001660 OOQ2250 00026'!/>000070 02 00746o 06 0075U0 06 007560 07 007500 07 007520 04 001600 16 001550 04 001620 02 001600002010 16 001550 06 OC1640002011400400 06 001620 04 OC1620 02 OC1600 16 001560 06 001641403200002011400401000011404C10 06 001620 04 007440 35 003270 10 000000 04 00764
-0 01 000000000070 02 OC7440 06 OC7500 06 OC7520 06 OC7540 06 OC7560 04 0016C0 16 OC155
LISTINGRELSUBR
EFDE DACLDASZEJMPLDXCALLSTAJMP*
ABOF STAEASE JflP*
DACDACDACDACDACDAC
AFAL DBLLDAADDADDSUBSUBSTAMPYSTALDAIABMPYADDIABCPAADDSTAI, DAHPYADDCSAIABCPASRCCHAADDSTALDXCALLSTAJKP*
BFAL DBLLDAADDADDADDADDSTAMPY
EFDE**'763
APOF=-7SECA•764EPDE0EASE,1AFALBFALCFALDFALEFALFFAL
MBMEMFMCMDTEM1PPTTTEM2TF.M1
RPTTHALF
TEN 2TEM2TEM1RPTT+1HALF
TFM2MA=-1SECA•764ERDE
MA«CMDMEMFTEB1RPTT
95
MTCPOCOMP TFLECOMMUNTCATED DATADDP-516 ASSEMBLY
005R005900600061006?
00630064006500660067006R0069007A
0071OC72007,100714007^00760077007800700080008100820083oo8U00850086008700880089r OQOOOQ1
0092OOQ3
009Uorq^ooqfi0097nnopr CQQ0 100
01Mn 1 ni>01030 10U
010501060107
01CB01090110011101 12
0113
000670007000071C007200073000740007500076C0077001000010100 10?OQ10300 104001050010600107C01 10OQ1 1100112001 13001 140011500116001 17001200012100122001230012400125001260012700130001 31CO 13200133CO 1340013500136001 3700140oo rm0014200114300 1HU0014500146OQ14700 1 5000151001520015300154001550015600160
0 OK 001620 02 OC1600002010 16 001550 o* 00161*0002011400400 06 001620 04 001620 02 OC1600 16 001560 06 001614140320000201140040100^011404010 06 001620 04 00746o 35 00326010 000000 04 00764
-0 01 00000000007o 02 007460 06 007520 06 007560 07 007440 07 007540 04 001600 16 001550 04 001620 02 001600002010 16 001550 06 001640002011400400 06 001620 04 001620 02 001600 16 001560 06 001641403200002011400UO1000011404010 06 001620 04 007500 35 003250 10 OCCOO0 04 00764-0 01 00000034476022705oooooo
LISTINGSTftLDAIABHPYADDTABCRAADDSTALDAMPYADDCSAIABCRASPCCMAAnnSTArnxCALLSTAJMP*
CFAL DBLLDAADDADDSUBSUBSTAMPYSTALDATABMPYADDIABCPAADDSTALDA1PYADDCSAIABCPASPCCM AADDSTAT.DXCALLSTAJMP*
RPTT DEC
TEM1 DBP
TFM2TEM1 .
PPTTHALF
TEM2TEM2TEM1
.. KPTT+1HALF
TEM2MB=-2SFCA•764EPDE
. MBMDMFMAMF ' .TEM1PPTTTEM2
. T.FM1 .
RPTTHA IF
TEM2TEM2TFM1 :PPTT+1HALF
TEM2MC
. =- 3.SEC A'764ERDE.44721
0
96
MTCROCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0114
0115
011601170118011901200121012201230124012501260127012801290130•0131013?0133013401350136013701.3R01 39014001410142"M430144014501460147014801490150015101520153n154015501560157015801590160.0161^162^1630164016501660167
00161001620016300164001650016600167T01700017100172P01730017U0017500176001770*2000020100202002030020U002050070600207C021C00211002120021300214002150021600217002200022100222002230022U00225002260022700230002310023200233002340023500236002370024000241C024200243002440024500246002470025000251
000000oooooo000000OOOOOO0400000000070 02 007460 06 007500 06 00754.0 07 007440 07 007560 04 001600 16 001550 04 001620 02 001600002010 16 001550 06 OC1640002011400400 06 001620 04 001620 02 001600 16 001560 06 00164140320OOO2011400401000011404010 06 001620 04 OC7520 35 00 3 300 10 OOOOC0 04 00764
-0 01 OPOOO0000070 02 OC7440 06 007460 06 007520 07 007500 07 OC7560 04 OC1600 16 001550 04 001620 02 001600002010 16 001550 06 001640002011400400 06 001620 04 001620 02 001600 16 OC1560 06 OC164140320
TEM2 DBP
HALF OCT
DFAL DELLDAADDADDSUBSfJBSTAMPYSTALDATABMPYADDTABCPAADDSTALDAMPYADDCSATABCPASRCCMAADDSTALDXCALLSTAJKP*
EFAL DBLLDAADDADDSUBSUBSTAHPYSTALDATABflPYADDTABCRAADDSTALDAMPYADDCSA
0
0,40000
MBNCHEHANFTEM1RPTTTEH2TEM1
RPTTHALF
TEM2TEM2TEM1RPTTOHALF
TEN2MD= -4SECA•764ERDE
MAHPMDncMFTEH1RPTTTEM2TEH1
RPTTHALF
TES2TEH2TEH1RPTT+1HALF
97
MTCPOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY
0163"1690 170017101720173017U"1750176"17701780179018""181OJ£2"T8~3"1SU0185"136"1870 18fl
0 1890190019101920193019U"1951106
0197"198"199020002"1n 2*2"2"307.1(402*^1706"2070200o ->rq021*"211*7 1 2"2130211"71^
00252"02530025U0025500256002570026000261"026200263"026U00265"02660026700270"n'027100272"0273""27U"0275002760"277no 30000301"03020"303C03"U"0305"0306C030700310""3110031200313"031U0"3150"316"0317"032""0321"0322
00323"032U003250*326"*3270033"0"331
000201moouo1000011UOU010 06 Or 1620 OU 0075U0 35 0032U0 1" 000000 OU 0076U
-0 01 000000000070 02 007UU0 06 OP7U60 06 007 5C0 07 007520 07 0075U0 OU 001600 16 001550 OU 001620 02 OC1600002010 16 OC1550 06 0016U0002011UOOUO0 06 001620 Ou 001620 02 0016C0 16 001560 06 0016U1U03200002011UOOUO1000011 uouo 10 06 001620 OU 007560 35 003230 10 000000 OU 0076U
-0 01 OCOOO0007UU0007U600075000075200075U00075617777217777317777517777617777717777U177771
LISTINGTABCRASRCCMAADDSTALDXCALLSTAJMP*
FFAL DELLDAADDADDSOBSUBSTAMPYSTALDAIABMPYADDIABCRAADDSTALDAMPYADDCSAIABCRASRCCMAADDSTALDXCALLSTAJMP*
MA EQUMR EQT1"C EQUMD EOWME EOT!ME EO"
END
TEM2ME=-5SECA'76UERDE
MAMBMCMDMETEM1FPTTTEM2TEM1
PPTTHALF
TEM2TEM2TEM1RPTT+1HALF
TEH2ME=-6SECA•76UERDE•7UUMA+2MA + UMA + 6MD«-2MD + U
98
PROGRAM NAME
SOURCE: CFSE
BINARY: BCFSE
RELATED MEMOS: FAILURE ISOLATION IN SIRU (OEHRLE)
ENTRY POINTS (location): SEC A ('06524)
GENERAL DESCRIPTION:
This subroutine, when called, will calculate either the first or second
squared errors of instruments A-F from a set of accumulated measurements
(MA - MF) stored in the base sector of the DDP 516, decide whether the
total squared error is greater than some limit (also stored in the base
sector) and if it is, decide if any instruments squared error exceeds a
certain fraction (also stored in the base sector) of the total squared error.
Then it will return with a code in the A register indicating the result of
the above decisions. If during the calculations the error in any instrument12exceeds or equals 2 pulses (an overflow condition), or if the total squared
04error exceeds or equals 2 pulses squared, the return code in the A register
will indicate that the calculations could not be completed due to huge errors
in one or more instruments.
The arguments MA - MF (see documentation for subroutines GARC
+ PREX) are stored in locations '744 - '757 and are six double precision
numbers. If the calling program (see documentation for subroutine ERDE)
wishes the squared errors calculated for the second fail detection with
say instrument A failed, it will replace MA with what MB - MF calculate
for MA (substituting this new MA and the old MB - MF into the first fail
equations calculates the second fail squared errors for instruments B - F
and therefore, eliminates writing 6 sets of second fail equations) and put a
-1 in the index register. If instrument B is failed it will calculate MB
from the other 5 measurements and put a -2 in the index register, etc.
The following are the return codes:
99
code meaning
0 TSE (total squared
error) did not exceed
MASE (maximum
allowable squared
error stored in the base
sector in location '760). .̂ -,̂ ,.̂ -,.-.-,~ ...,,..
1-6 TSEO did exceed MASE
and the squared error
of instrument A (for
code 1) B (for code 2)
etc. exceeded FONT TSEO
(FONT is the squared
error ratio criteria
to isolate
a failure. It is .44
for a first fail isolation
and .38 for a second
fail isolation and is put
in the base sector in
location '762 by the
calling program (see
documentation for subroutines GFIS & PFIS).
7 TSEO exceeded MASE
but no instrument's
squared error exceeded
FONT TSEO
8-13 There was a huge12error > 2 pulses
when calculating the
error of instrument
A (for code of 8) B (for code
of 9) etc.
100
14 In summing ASEOthrough FSEO (A squared errorthrough F squared error)to get TSEO, anoverflow occurred
24(the sum was >2pulses squared)
The subroutine flow chart follows:
101
AOTOPLO» C H A R T SET - D R A P E R O E H P . L E ' 5 F L O W C H A R T - SECA P A G E 01of 02
1
• •
* •* •mo
IIII
15 | 01
A SO = 1A - (SORT (.21 (IB - 1C |
11
III | Ou
(A,B) = I A E O I |
11
IS | NOTE 05
IS (A) OF ( A , P ) =1. (IE, !S. APIS*ALL E N O U G H TO
YIT, IS THE ISBITS OF THE 8
P E ^ I S T K H ) ?
111
130 | 11
I SECOND P A I L |1 S E A R C H »IT» A |1 F A I I B D |
11
T35 1 12
I SET A E O = 0 , A S E O = 0 |
II
•
SEE MOTE *flBOVE *
I Y F . SIIIIII
I A S E O = -!'«2. |I SISCE (B) OF |I ( A . B ) HAS AIL ABO II < I
I
I 1=1*1 — REPEAT It A B O V E PO? II 3 , C , D , E 6 P |
T1C
t*.»
I H'JGE A E O , PUT B |I IN A C C U H U L A T O P |
• O V E P P L O W E D ? ** *
• *
1111111 /
tie i1 pnT m IW1 ACC1JIOLATOB
111 16
• -.EIIT" «FLOWCHART - SECA
102
A M T O P I O U C H A " T SET - [ > P A P E P O E H P l . F ' S P L O t t C H A F T - SECA
01. II >n112 |
I (A,PI = (A,P) • II RSEO |
X1.1 • l>2
, • ".• *
|MO
1
1
(
1
1
y in i
I < A , B ) = ( A , P )
I CSPT
1I1
* *
* HAP ( A , P )
*OVEPC IOVED?«
* *
* **I vot1(11
y i f> i
I ( A , P » = ( A , R )
'
1
1
1
in * 06
* ** . *
* Hf tS ( A , B )
•fWFPFLOWED?*
* **1 1O
1
I
I
I
71« | .
1 ( f t ,? ) = (A, 8)
| K?PO MHTCH = US
1
. 1
I
X19 • C*
* *
* *
* *« HAS fA , *M
*OVE!>FLOWED?*
* *
* *
*|10
1
1
I
1
I
X20 |r
1 TSEO = (A,R)
1
1
1
1
1
1 .
. 15 .
. . . .
f.?f
•13
* 1
j
Y?3
*— i|
1
t
....
. 1 '.
X?6
* 1
1
YFF
* )I
t
1
. 15 .
X?6
07
* 1
F^ |
F.P |
YES
*— i|
1
1
»•« .1 .
. 1? .....
X36
09
T
1
r : >DX?1 | 10
I (A f R) = ( A , Rl |
1
t '
I
T22 * 11
* ** * vo
• * n? .
• ** * • .
*' ( Y E S
(11(
1X23 | 12
| T E H 2 = (FOST) )1 (TSEO)
1X2U 1 !1
r . _ ,
I.- T * ' 1tii
V25 • 10• *
* ** - Y E S *
• TM2? •
4 •
•
I
I
I
I
X26 I ' 11r n
1 I = I»1i *
111
X21 • 16
* •* •
• SEPF.AT • YES* A B O V E FOR B * *
• 'THRU F? •• •
* **INO
11111
T -1 2 1 17
SINCE NOINSTRUMENTS ,
S Q I I A P E C F.RPDR IS
>= (FONT) (TSEf) ,BETI1RB KITH 7 11
ACCIintJLATOP
11I 1fl
137 | 10, , ,
1 THIS ? 1 E A N S TS^O < 1
1 (1ASF, PIT f IN (
.1 ArC' t r iLAT"? ., 1
1
11 21-
* EXIT *
RET'l'N
0XJH 1 21
1 P'lT IN . 11 ACCIU L A T 0 9 1
32
• »xTT *
-„
5PT')RN
103
M I C P O C O N P T E L E C O M M U N I C A T E D D A T A
0001.000200030004000500060007oroe000900100011001200130014001500160017001800190020002100220023002400250026T027002800290030003100320033OP3U003500360037003800390040004100420043oouu00450046004700480049005*00510052C0530054005500560057
DDP-51
00000000010000200003000040000500006OOOC700010000110*012000130001400015000160001700020OOC210002200023000240002500026000270003000031C003200033000340003500035C00370004000041000420004300044000450004600047000500005100052000530005400055000560005700060000610006200063000640006500066
6 ASSEMBLY
0 0000000000070 12 000000 01 000121400400002011400400 04 002240 04 003260 01 OC0600 02 007500 06 007520 07 007460 07 007540 07 OC7560 04 002160 16 OC2130 04 OC2200 02 002160002010 16 002130 06 002220002011400400 06 002200 04 002200 02 002160 16 002140 06 002221403200002011400401000011404010 06 002200 06 007440 04 002241014000 01 000510 07 002240 07 002241010400 01 000540 01 005650002010 04 003260 16 003260 04 003260 12 000000 01 OC0701400400002011400400 04 002260 04 00330
LISTINGSOBRPEL
SECA DACDELIPSJMPCRATABCRASTASTAJMP
ACAL LDAADDSOBSOBSOBSTAMPY .STALDAIABMPYADDIABCRAADDSTALDAMPYADDCSAIABCRASRCCMAADDADDSTASMIJMPSOB :SOB
AEPO SNZJMPJMP
SESE IABSTAMPYSTA
BTFC IRSJMPCRATABCRASTASTA
SECA
**
0ACAL
AEOASEOBTFCMCMDMBMEMETEM1RPTTTEN2TEM1
RPTTHALF
TEM2.TEM2TEM1PPTT+1HALF
TEH 2MAAEO
AEPOAEOAEO
SESBHOAE
ASEOASEOASEO0BCAL
BEGBSEO
104
I T C F O C O M p T E L E C O M M U N I C A T E D D A T A
005000.59O O 6 O"^61on 6 2
0063OOf U
"C6500660067
0 0 6 R006900700">71o n 7 20073"07U0 <•• 7 ri0"76007700790°79oo«oo"S 1OCR 2o-->83O O R UT O S 5o 00 600970^080039oo^o009 100920 0 9 30 0 9 Uooosooofi0097o r g qf 0°9010^C 1 0 10 1 0 2o im0 1 0 U010501060107O I O R0109011001110112011?01 1U
PDP-C006700070000710^ 0720^0730007140007S0007600077o o 1 " oCO 1010 0 1 0 200103on 1040 0 1 0 s0 0 1 0 600 107^01100 0 1 1 10 0 1 1 20 0 1 1 300111*A O H ^0011600117Pn 1200 0 1 2 10 0 1 2 2001230 0 1 2 U0 ^ 1 2 5001260012700130001310 0 1 3 20 0 1 3 30 0 1 3 U0-01350 ^ 1 3 6oo 137i(-i 1 [jo
0 0 1 U 10 0 1 U 2o o m 300 1"Uoo m5001«60 0 1 U 70015000151001520 0 1 5 3O C 1 5 U001550015600157
5 1 6 A S S E M B L Y0 01 00141moouo000201moouo0 07 0 0 7 H Uo 07 00750o 07 007520 07 007540 07 007560 Oi* 002160 16 002130 0<* 002200 02 002160002010 16 002130 06 0022200020 1i y o o « oo Of- 002200 OU 0 0 2 2 00 02 002160 16 00211*0 06 0 0 2 2 21 1* 0 3 2 00 0 0 2 0 11 4 0 0 U O1000011 U O U 0 10 06 002200 06 0071*60 OU 002261 0 1 U O O0 01 001320 07 002260 07 0 0 2 2 61010400 01 001350 01 00570O O C 2 0 10 01* 003300 16 003300 OU 003300 12 000000 01 00151m o o u o000201l u o o u o0 OU 002300 OU 003320 01 O C 2 U Uo 02 007(440 06 0075U0 07 C 0 7 U 60 07 007520 07 007560 OU 00216o 16 00213
L I S T I N G.TUP
B C A L C P AI A BC R ASUBSOBS U BSUBS U BSTA*PYSTAL D AT A BM P YA D DI A BC R AA D DSTAL D AM P YA D DC S AT A BC R ASPCC M AA D DA D DSTASHIJ M PST7BSOB
n E P O SMZJ K PJ K P
LTSK I A BSTASPYSTA
CTFC IPSJ M PC P AIP.BC R ASTASTAJ H P
CCAL LDAA D DS U BSUBS U BSTAPIPY
CTFC
M AMCHDMEMF
. TEM1PPTTT E M 2T E H 1
PPTTH A L F
T E H 2T E K 2T E M 1:F,PTT+I
" H A L F
T E M 2MEBEO
BEPOBEOBEO
LTSSH O P E
BSEOBSEOBSEO0C C A L
CEOCSEODTFCM AKEM RMDM FT E W 1PPTT
105
W I C R O C O M P T E L E C O M M U N I C A T E D D A T ADDP-516 A S S E M B L Y LISTING
0115 001600116 00161011^ 001620118 0016.30119 001640120 001650121 001660122 001670123 001700124 001710125 001720126 001730127 001740128 001750129 001760130' 00177^131 002000132 002010133 002020134 00203"135 002040136 002050137 00206H138 002070139 002100140 0021101U1 0021201U2 00213
0021401U3 00216
00217"144 00220
00221 .01<45 00222
002230146 00224
. 002250147 00226
002270148 00230
002310149 00232
002330150 00234
002350151 00236
0023701520153015401550156015701580159 002400160 002410161 002U2
0 04 002200 02 002160002010 16 002130 06 002220002011400400 06 OC220'0 04 002200 02 002160 16 002140 06 002221403200002011400401000011404010 06 OC2200 06 007500 04 OC2301014000 01 OC2100 07 002300 07 002301010400 01 002400 01 00573034476022705000000000000oooooo000000000000040000oooooo000000oooooo.000000oooooooooooooooooooooooooooooooooooo .oooooooooooo0003260003300003320004360004400004420005740002010 04 003320 16 00332
STALDAIABMPYADDTABCPAADDSTALDAMPYADDCSATABCPASPCCMAADDADDSTASMIJMPSUBSUB
CFPO SNZJMPJMP
RPTT DEC
TEM1 DBP
TEM2 DBP
HALF OCT
AEO DBP
BEO DBP
CEO DBP
DEO DBP
EEO DBP
FEO DBP
ASEO EOtlBSEO EQUCSEO EQUDSEO EQUESEO EQUFSEO EQUTSEO EQUNBSE IftB
STAMPY
TEM2.TEH1
RPTTHALF
TEM2TEM2TEH1SPTT+1HALF
TEM2'M'CCEO
CEPOCEOCEO.
NBSEHUGE.4472135955BBO
0
0
0,40000
0
0
0
0
0
0
•326•330•332•436'440•442•574
CSEOCSEO
106
M T C P O C O U P TEL
o 1620 163"1640 1 6 C
0166"1670 ! 1 6 R016"5
01700171"172n 1710 1 7 40175"17fi01770179" 179
' " 1 n ""191019201 9"*"194"185"186^187019901990 1<3001910192o 19?0194" 1 < > 50196019^"1990 1 qo020"0 2 0 102"20 2 0 3020(40 2 0 5C 2 0 6"20702 OR0209
0210"2110 2 1 202130 2 1 40215"21602170219
DDP-510 0 2 4 30 0 2 4 14C 0 2 I 4 5"024600 214700250002510 0 2 5 20025300254"02550 0 2 5 1-00257002600"2610"2620 0 2 6 30"264C " 2 6 50 0 2 6 6CO 267"027000271002720 0 2 7 30 0 2 7 UC"2750 0 2 7 60 0 2 7 T0030"o" 30 10 0 3 0 2"0 30 30 " 3 0 U0 0 3 C 5"0306rvi-> -jn -j
0031"00311003120 0 3 1 30 0 3 1 40031500316003170 0 3 2 0003210 0 3 2 20 0 3 2 30 0 3 2 U0 0 3 2 50 0 3 2 60 0 3 2 ^0 0 3 3 00 0 3 3 1003320" .333
E C 0 1 W J N T C A T E D D A T A6 A S S E M B L Y0 04 O C 3 3 20 12 OTOC0 01 O C 2 5 4mooao00020111400UO0 OU 002320 0<4 O O J 4 3 60 01 003220 02 Q 0 7 U 40 "6 007560 07 O P 7 U 60 07 007500 07 O C 7 5 U0 04 00216o 16 002130 0'4 O C 2 2 00 02 o r 2 1 6"00 2" 1o 16 002130 06 00?22onr\ 2r 11 U O O U O0 06 00220o 014 O P 2 2 0" 02 002160 16 O C 2 1 U0 06 O C 2 2 2U 0 3 2 00 0 0 2 0 1m o o u o100001l a o u o i0 of 00 2200 06 007520 0(4 002321 " 1 4 0 00 01 103130 Q-> 0 0 2 3 20 "7 002321 0 1 0 U O0 01 003160 01 005760002010 O' t O O U 3 60 16 004360 0(4 0 0 4 3 60 12 000000 01 or 3321400400002011400400 04 0 0 2 3 4o 04 004400 01 O C 4 0 00 0? 007500 06 00756
LISTINGSTU
DTFC IRSJ M PC R AI A BC P ASTASTAJHP '
D C A L L D AR D DS U BS U BSHESTA.1PYSTAL P AI A BW P YADDT A BC R AA D DSTAI D AM P YA D DCSAT A BC P ASPCC"A? \ D DA D DSTAS«TJ K PSUBSOB
D E P O SNZJ M PJ H P
PSSE I A BSTAM P YS T A
ETFG IPSJ M PC P AI A BC P ASTASTAJ M P
ECAL LDAA D D
CSEO. 0
D C A L
DEODSEOETFCK AMF•MBMC"IET E M 1RPTTT E K 2TEP1
RPTTH A L F
T E M 2T E M 2T F M 1R P T T + 1H A T - ?
TF«2 •M DDEO
DEPODEODEO
PSS2WIDE
DSEODSEOD S E O0E C A L
EECESEOFTFCMCM F
107
MICPOCOMP TELECOMMUNICATED DATA
0219022002210222022.3022U02250226022702280229023002310232"2330'234023502360237"238023902400241024?"2430244024502460247"248024""2500251"2520253"25402550256025702580259026"026102620263"2640265026602670268026902700271"272027302740275
DDP-510033400335003360033700340003410031420034300344 •003U500346C034700.3500035100352"0035300354003550035600357003600036100362003630036400365003660036700370003710037200373003740037500376003770040000401004020040300404004050040600407004100041100412"0413004140041500416004170042000421004220042.300424
6 ASSEMBLY0 07 007440 07 007460 07 007520 04 002160 16 002130 04 002200 02 002160002010 16 002130 06 00222000201 . '1400400 06 002200 04 002200 02 002160 16 002140 06 002221403200002011400401000011404010 06 002200 06 007540 04 002341014000 01 003710 07 002340 07 002341010400 01 003740 01 006010002010 04 004400 16 004400 04 004400 12 000000 01 0041014004000020114004Q0 04 002360 04 004420 01 004560 02 007520 06 007540 07 OC7440 07 007460 07 007500 04 002160 16 002130 04 002200 02 002160002010 16 002130 06 OC222000201
LISTINGSOBSOBSOBSTAHPYSTAIDAIABHPYADDIABCRAADDSTALDAMPYADDCSAIABCRASRCCMAADDADDSTASHIJMPSOBSOB
EEPO SNZJHPJMP
LESE IABSTAMPYSTA
FT7C IRSJMPCRAIABCRASTASTAJMP
FCAL LDAADDSOBSOBSOBSTAHPYSTALDAIABHPYADDIAB
HAHBHDTEH1RPTTTEH2TEH1
RPTTHALF
TEH 2TEH2TEH1RPTT+-1HALF
TEH 2HEEEC
EEPOEEOEEO
LESEHOEE '
ESEOESEOESEO0FCAL
FEOFSEONTFCHDHEHAMBHCTEH1RPTTTEH2.TEH1
RPTTHALF
108
H I C P O C O M P T E L E C 0 1 M O N I C A T E D DATA
02760 2 ^ 70 2 7 P0270^ 2 ^ 0o.2<M0 2 8 2n 2 8 30 2 8 U028^02860287028902900 TQO0291o 2920 2 9 30 2 9 U02950 2 ° > 60 29702980 2 9 a03 000 1^ 10302Oldo 3 01403. ->so- 3? f i0 3 0 701 OS030903100311r 7120 3 1 3o 3 1 1*0 3 1 503160317031P"319032n
03210 3 2 20.3230 3 ? U"32^n3260 3 2 ^0328032003310 3 3 10 3 3 2
DDP-50 0 u 2 50 0 ( 4 2 60 0 <* 2 70 0 (4 3 o00(43 1o o < 4 3 20 0 ( 4 3 30 o 14 3 [t
0 0 ( 4 3 50 0 » 4 3 6O O U 3 7OO (4(^0oomno o n a 2o o u a 30 0 (4 (4 (4
0014 i|S
0 0 U U 6o o <m 7on yc;0r 0 't 5 10 0 '4 5 2" 1 O U S 3o o a s uO O U S 50 o. u 5 p,O O U S 7o. o a 6 ?.n o u 6 10 0 ( 4 6 2o o n f, T" O U 6 ( 40 0 U 6 S
O O U 6 6C H ( 4 f i 7
0 A U 7 C001(710 0 (4 7 2o n (4 7 3001471400'47SO O U 7 6O O U 7 70 O S 0 00050 10 0 5 0 20050 3oosn i4005050 0 5 0 600507A O S I O00511005120 ^ 5 1 30 0 5 1 U005-15
16 A S S E M B L Y1 U O O I 4 00 06 0 ^ 2 2 00 04 002200 02 002160 16 0 0 2 1 U0 06 0 ^ 2 2 211*0320 .0 0 0 2 0 11 U O O I 4 0100A0 11 4 0 U 0 10 Of 00220o 06 007560 1(4 00236101i*nn0 01 0011470 07 oo 2360 07 0 0 2 3 61010UO0 01 00«52o 01 0060U0002 n 1o 01* o r a ( 4 20 16 001* (4 20 Oi* o o u ( 4 2o 0? 0 0 3 2 6100001
0 01 00562o 06 0033010000 10 01 OC56?o 06 0 0 3 3 2100or 1n 01 00562o 06 or- a 361 o 0 n 0 10 0.1 00562o 06 or U UO1000010 01 005620 0<* O C 5 7 U0 07 007601 00(400
0 01 005570 02 0 0 5 7 U0 16 007620 014 0 0 2 2 00 02 005740002010 16 0 0 7 6 200070 11 ( * O O U O
0 06 002200 Oi* 002200 15 O C 6 1 70 02 003260 07 00220
L I S T I N GC R AA D DSTAL D AK P YA D DC S AT A RC R ASPCC H AA D DA D DSTAS M IJ M PSOBSUP
FEPO SNZJ M PJ M P
V I ^ S ^ T A BSTAM P YSTA
N T F C A D DSRCJ H PA D DSPCj«rA D DSRCJFIPA D DSRCJ M PA D DSRCJ M PSTASUBSPI,J U PL D A1PYSTAL D AT A BM P YT A BC R AA D DSTAT,DXL D AS U B
T E M 2T E M 2TEF1RPTT*1H A L F
T E M 2MF
• FEO
FEPOFFOFEO
VPSEH H F E
FSEOFSEOFSEOA S E O
O V F LBSEO
O V F LCSEO.
OVFLDSFO
OVFLESEO
O V F LTSEOM A S K
Z R T UTSEO -FONTT E M 2TSEO
F O N T
T E K 2T E M 2= 1A S E OT E M 2
109
MTCHOC01P TELECOMMUNICATED DATADDP-516 ASSEMBLY
0333 005160334 005170335 005200336 005210337 005220338 005230339 005240340 005250341 0052603U2 005270343 005300344 005310345 005320346 005330347 005340348 005350349 005360350 f053"70351 005400352 005410353 005420354 005430355 005440356 005450357 005460358 005470359 005500360 005510361 00552^362 005530363 005540364 005550365 005560366 005570367 005600368 005610369 005620370 005630371 0056403"?2 005650373 0056603T4 005670375 005700376 005710377 005720378 005730379 005740380 005750381 005760382 005770383 006001384 006010385 006020386 006030387 006040388 006050380 00606
1014000 01 005540 12 000000 02 003300 07 002201014000 01 005540 12 000000 02 003320 07 002201014000 01 005540 12 000000 02 004360 07 002201014000 01 005540 12 000000 02 004400 07 002201014000 01 005540 12 OOHOO0 02 004420 07 002201014000 0.1 005540000050 02 00616
-0 01 O.COOO0000050 02 00000
-0 01 00000000005140040
-0 01 000000000050 02 00615
-0 01 00000. 0000050 02 00614
-0 01 000000000050 02 OC613
-0 01 000000000050 02 00612
-0 01 000000000050 02 00611-0 01 000000000050 02 00610
-0 01 000000000050 02 00607
-0 01 00000
LISTINGSMTJMPIFSLDASOBSHIJHPIPSLDASOBSMIJMPIPSLDAStlBSMIJMPIRSLDASUBSMIJMPIKSLDASUBSMIJMPSGLLDAJMP*
FOND SGLLDAJMP*
ZPTU SGLCPAJMP*
OVFL SGLLDAJMP*
HUAE SGLLDAJMP*.
HOBS SGLIDAJMP*
HOCE SGLLDAJMP*
HODE SGLLDAJMP*
HTJEE SGLLDAJMP*
HT1FE SGLLDAJMP*
FOND0BSEOTEH2
FOND0CSEOTEM2
FOND0DSEOTEM2
FOND0ESEQTEM2
FOND0FSEOTEM2
FOND
=7SECA
0SECA
SECA
= 14SECA
=8SECA
=9SECA
= 10SECA
= 11SECA
= 12SECA
= 13SECA
110
P T E I . E C O * M n » J T C A T E D D A T ADDP-516 A S S E M B L Y LISTING
0390 000762 FONT EOT' • 7621391 0 0 0 7 U U 1A EQH03°2 0 0 0 7 H 6 M E RQ1I
0007SO PIC EQU MA + t*000752 H D E O P M A + 6000754 KE EQTJ M D + 2
0395 000756 «F EQH flD+U0397 T00760 M A S E EQO '760^398 00607 000015 END
00610 ^0001U00611 00001300612 ^0001200613 00001100514 00001000615
, CC616.'^0617 000^01
111
PROGRAM NAME
SOURCE: PFIS
BINARY: BPFIS
ENTRY POINTS (location): PFIS ('04725)
ACCESSIBLE VARIABLES (location): KEYP ('05050)
GENERAL DESCRIPTION:
This subroutine controls the logic for the PIPA failure detection and
isolation. It is identical to the subroutine GFIS, which controls the gyro
failure detection and isolation, except that the PIPA fail status is contained
in location '320 and '321 instead of '316 and '317 and that the PIPAmaximum
allowable squared errors (FMSE and SMSE) are not modified at the beginning
of this subroutine as are the gyro's at the beginning of GFIS. So see
documentation for the subroutine GFIS.
112
1ICPOCOMP T E L E C O M M U N I C A T E D DATAODP-516 ASSEMBLY
000100020003000(»00^5
00060007OOOflQOOq
001000110012roi3ooia0015001601170018001900200121on ?200230024002500260027OC2S0029"0300031003200330034003500360037003900390040ooai00142ootn0044OOU5onus0047ooug"0 4"0005000510052("053005U
0055CC56005^
000000000100002C0003oo oo a00005OOOP60000700010000110001200013
0^0 14000150001600017oor 200002100022000210002400025Ooo 260002700030C0031000320003300034000350003600037coouo00041000(42OOOU3000(4400045OOOU6OOOU700050000510005200053000540005500056"0057
0006000061000f2000630006400065
0 0000000 02 003201000400 01 000161400400 04 001220 04 007630 02 001170 04 00762000007o 02 001240 04 007600000050 01 000320 02 001221000400 01 000040 02 003200 04 001220 04 007630 02 001200 04 007620000070 02 001260 04 OC7600000050 10 000000 02 001221000400 01 0010.30 02 00764100 0400 01 00047100004
-0 01 00000140040.0 04 003200 04 00321
-o 01 ooono0 07 00130101400
-0 01 OOOOC0 02 007640 11 003200 01 00056
-0 01 000000 11 003210 01 000610 01 000760 02 OC3201010400 01 000710 02 00321101040
LISTINGPELSOBRSDBR
PFIS DACIDA .SZEJHP
FFTR CRASTASTALDASTADBLOLDDSTSGLJ«P
ALOF LDAS7.EJMPLDASTASTALDASTADBLOLDDSTSGL
COCA CALLLDASZEJMPLDAS7EJMPSB3JHP*CRASTASTAJHP*
N07,E SUBSSIJKP*LPACASJHPJMP*CASJMPJHPLDASNZJHPLDASNZ
PFISKF.YP**•320
ALOF
KEYP•T63FFRT•762
FMSR•760
COCA. KEYP
" FFTI?•320KEYP•763SFRT'762
SHSE•760
EHDEKEYP
SFSR•764
NOZE
PFIS
•320•321PFIS=7
PFIS•764•320*+2PFIS• 321**2SPCA•320
* + 6'321
113
T E L E C O M M U N I C A T E D DATADDP-516 ASSEMBLY
0058 00066DOS'? 000670060 000700061 000710062 000720063 000730064 00074OC65 000750066 000760067 000770*68 001000069 001010070 001020071 00,10-3or>72 001040073 00105007U 001060075 001070076 001100077 001110078 001120079 001130080 00114f-181 001150082 001160083 001170084 001200085 00122
001230086 00124
00125008"7 00126
00127C«88 00130
0 01 00076100004
-0 01 000000 02 007640 04 003201400400 04 00321
-0 01 OCOOO0 02 OC3200 04 003210 02 007640 04 00320
-0 01 000000 02 007640 07 00130101400
-0 01 000000 02 003211010400 01 0011410000U
-0 01 000000 02 007640 04 00321
-0 01 00000034343030600000000oooooo000000020000OOOOOO014632000007
LISTINGJMPSP3JMP*LDASTACRASTAJHP*
SPCA LDASTALDASTAJMF*
SFSR LDASOBSHIJMP*LDASNZJMPSE3JMP*LDASTAJMP*
PFPT OCTSFRT OCTKEYP DBP
FMSE OCT
SMSE OCT
END
SPCA-PFTS•764•320
•321PFIS•320•321•764•320PFIS•764=7
PFIS•321
*+3
PFIS•764•321PFIS34343306000
0,20000
0,14632
114
PROGRAM NAME
SOURCE: GPRT .. .
BINARY: BGPRT .
ENTRY POINT (location): GPRT 012712)
GENERAL DESCRIPTION:
This subroutine, when called, will in turn call PRTY to solve for the
gyro parity equation if there are already 2 gyro failures. If the appropriate
parity equation indicates an overflow or exceeds a certain limit it will
store a 1 in octal location 322. Otherwise, octal location 322 will stay
zero. The limit the equation must exceed (GMSE) is three pulses (GBSE =
OCT 0, 30) plus some appropriate fraction of the
y+ AS
z
which is stored in '774 by the gyro error accumulator GARC and allows
for dynamic errors. This limit is calculated by the first four instructions
of this subroutine.
GPRT will then set 0322) to zero and determine if there are 2 gyro
failures (the gyro first and second fails are stored in octal locations 316
and 317). If there are not 2 failures, it will return. Otherwise, it calculates
in the A register the code necessary to tell PRTY which parity equation to
calculate. The codes are:
Parity Equation 2 failures code
CDEF A, B 0BDEF A, C 7BCEF A, D 14BCDF A, E 21BCDE A, F 28ADEF B, C 35ACEF B, D 42ACDF B, E 49ACDE B, F 56ABEF C, D 63ABDF C, E 70ABDE C, F 77ABCF D, E 84ABCE D, F 91ABCD E, F 98
115
The general method for calculating the code is the same as that used by
GMIN for the gyro matrix generator. When PRTY returns, GPRT determines
if the parity equation either exceeds its limit or has overflowed. In either
case, it will indicate ;so by changing octal Iocation322 to a 1 before returning.
116
MtCPOCO.KP'' TELECOMMUNICATED DATA
000100020003000400059fo60007•OOOgconqooin001100120013"0140A1509 Ifi0*17OO-|R0010092000210022002300240025002690270028002<>003"0^31m.32003?00340035003600370138003900400041
0042
0043
0044
DDP-5
900000000 1000020000300004OOO0.500906O0007090 in0901 1000120001300014n o o •} 5
000160001700020.000210002200023000240002500026000270003000031000320 0 o 3 3000340003500036000370904000041000420004300044OQ045000460004700050000510005200053000540005500056000570006000061
16 ASSEMBLY
0 0000000 02 007740405 750 06 000530 04 000511400400 04 003220 02 00317101040
-0 01 000000 11 003160 01 000241010000 06 OP0450 04 000460 02 003160415 750 07 00316
-0 06 000469 01 000330 02 00316Q 06 000450 04 000460 02 003170415 750 07 00317
-0 06 000460 10 000001010001004000 01 00042OOOOC70 07 000501014000 12 OC322000005
-0 01 000000 0000540000000,00000oonnoo000030000000000030oooooo17776200001600'0043000061000070
LISTING
GPPT
•SFLA
PRCL
OVPF
ADSTI DPT
GMSE
GBSE
CRPS
SOBB.RELDACLDAAPSADDSTACRASTALDASNZJMP*CASJMPNOPADDSTALDAALSSUBADD*JMPIDAADDSTALDAALSSOBADD*CALLNOPSPLJMPDELDSBSKIIPSSGLJMP*DACDBF
OCT
OCT
OCT
GPPT
**•7743GBSE+1GMSE+1
•322•317
GPRT•316
. SFLA
ADSTIDPT•3163•316IDPTPPCL•316ADSTIDPT•3173•317IDPTPRTY
OVPF
GMSE
•322
GPPTCRPS0
0,30
0,30
0, 177762, 16,43,61,70
0045 E N D
117
PROGRAM NAME:
SOURCE: PRTY
BINARY: BPRTY
ENTRY POINTS (location): PRTY ('12774)
GENERAL DESCRIPTION:
This subroutine calculates the parity equation used to detect third
failu-res from the arguments stored in locations '744 - '757 by the gyro or
PIP A error accumulators. It is called by GPRT if and when the gyro fail
status indicates 2 failures and by PPRT (program source name PPEX) if
and when the PIPA fail status indicates 2 failures. When called the A
register contains a code to tell which of the fifteen parity equations to
calculate (see documentation for GPRT). For example, if instruments C
and F were failed, the code would be 77 (octal 115) and the JMP* PONT,
the fifth instruction in PRTY would effect a jump to the block of code:
(note, at this point the (A, B) register contains a double precision zero).
DSB MB !DSB ME
DST SINT
DLD MA
DAD MD
DST COST
JMP CALC
SINT is the sine term of the parity equation = - MB - ME. COST is
the cosine term of the parity equation = MA + MD. Each of the 15 parity
equations has a block of code (7 instructions each) similar to the block
above. The jump to CALC will start a sequence of instructions which will
multiply SINT by SINE = sine a and COST by COSN = cosine o and then add
the two results and take the absolute value. If the high order word of this
double precision result is zero (which indicates that the absolute value of15 12the parity equation is less than 2 or 2 instrument pulses), this subroutine
will return with the parity equation result in the (A, B) register. If the
high order word is not zero, (A, B) will contain a double precision -1 at
the return.
118
MTC^OCOMP TELECOMMUNICATED OATADDP-516 ASSEMBLY LISTING
0001 SDBR0^02 REL0003 onooo0004 000010005 000020006 000030007 OOC04oro3 ooco50009 000060^10 000070011 00n100912 on o 1 1non CO1"1 120014 000130015 ooc 140016 ^00150017 000160010 onr>i70019 000 20r\ o •> <"> o n r> 2 10021 000220^22 00021"023 oof>24no2tt 000250"25 000260^26 000270027 000300028 000.310029 00032"010 000330 o ? 1 0 0 n 3 40032 000350033 00036003U 000370035 00040"036 00041r>f)-»T 000420138 000430039 000440040 000450041 000460042 000471043 00050rt 0 4 4 00^510045 000520046 000530047 000540048 000550049 000560050 000570^51 00°600052 000610053 000620054 000630055 000640056 00065OOS7 00066
0 0000000 06 002520 04 00253OOQOC70 02 00232
-0 01 002530 02 007520 07 C07500 04 002360 02 007560 07 Q07540 04 002340 01 001560 02 007520 06 007540 04 002340 02 007560 07 007460 04 002360 01 opi5f,0 02 007500 06 007560 04 002340 02 007540 07 007460 04 002360 01 001560 07 007460 07 007500 04 002340 02 007520 06 007560 04 002360 01 OC1560 07 007460 07 007520 04 002340 02 007500 06 007540 04 002360 01 001560 02 007540 07 oc-7440 04 002360 02 007560 07 007520 04 002340 01 001560 02 007440 07 007560 04 002360 02 007500 07 OC75U0 04 OQ2340 01 00156
PRTY DACADDSTADELDIDJMP*
A3FA OLDDSBDSTDLDDSBnsTJHPDLDDADDSTDLDDSBDST>lf?PDLDDADDSTDLDDSBDSTJttPDSBDSBDST.DLDDADDSTJKPDSBDSBDSTDLDDADnsTJMPDLDDSBDSTDLDDSBDSTJP!PDLDDSBDSTDLDDSBDSTJMP
PFTY
**ADASPONT
D?,POPONTHDMCCOSTNFMESTNTCALCHDMESINTMFMBCOSTCALCMCMFSINTMEMBCOSTCAI.CMBMCSINTMDKFCOSTCALCMBMDSINTMCMECOSTCALCMEMACOSTKFMDSIUTCALCMAMFCOSTMCMESINTCALC
119
M T C R O C O M P T E L E C O M M U N I C A T E D D A T ADDP-516
0058005900600061006200630064006500660067006800690070007100720073007-U0075007600770078107900800081008200930094008500860087T089008900900091009200930094r-0'95009600970098CC9901000101010201030104010501060107010801090110"111011201130114
00067000700007100072000730007400075000760007700100001010010200103001040010500106001070011000111001120011300114001150011600117001200012100122001230012U001250012600127001300013100132001330013400135001360013700140oonn00142001H3001440011*50011*600147001500015100152001530015tt001550015600157
000000c0
• o000000000000000000000000o0000000000o000000000000
ASSEMBLY020701*020704010207OU0207OU010707OU0206Oi*010206'01*0207Ot010707Oi*02060<*0107070402060401020604020704010207040206040216
00744OC7520023400750007560023600156007440075000234007520075400236001560074400746002340075400756OP236001560074400756002340075200746002360015600746007540023400744OC752002360015600746007560023400744007500023600156007440075400234007500074600236001560074400746002360075000752002340023400245
LISTINGDLDDSBDSTDIDDSBDSTJHPDLDDSBDSTDLDDSBDSTJMPDSBDSBDSTDLDDADDSTJMPDLDDADDSTDLDDSBDSTJMPDSBDSBDSTDLDDADDSTJMPDSBDSBDSTDLDDADDSTJMPDLDDADDSTDLDDSBDSTJMPDLDDSBDSTDLDDADDST
CALC DLDMPY
HAMDSINTMCMFCOSTCALCMAncSINTMDMECOSTCALCHAMBSINTMEHPCOSTCALCMAMFSI NTHDMBCOSTCALCMBMESINTHAMDCOSTCALCMPMFSINTMAMCCOSTCALCMAME
;. SINTMCMBCOSTCALCMAMBCOSTHCMDSINTSINTSTNE+1
120
MTCPOC01P TELECOMMUNICATED DATA
011501160117011801190120012101220123012U012S0126012"*0128012901300131013201330 1 3 40135013601370138013901UO014101420 1U30144014501460 107014801490150015101520153015U015501C60157015801590160"161016?
0163
0164
016*5
01*6
DDP-5100 1600016100162001630" 1640016500166001670017000171001720017300174001750017600177002000020100202002030020(40020500206"02070021000211002120021300214002150021600217002200022100222002230022400225 -002260022700230 -
0023200233002340023500236002370024000241002420^2(43
6 ASSEMBLY0(401 770 04 002400 02 002440 16 OC2350401 770 06 OC2400 06 002500401 620 04 002400 02 002340 16 T02440 06 OC2400 04 002340 02 002360 16 002470401 770 04 002400 02 00246o 16 002370401 770 06 002400 06 002500401 620 04 002400 02 002360 16 002460 06 OC2400 06 002340 04 002361014000 01 002220 07 002360 07 002360 04 002361000400 01 00226o 0 0 0 d 50 0-) 00,0000 02 002420000050 01 00000OQ0744000746000750000752000754000756000000oooooo000000oooooooooooooooooooooooooooooo177777077777
LISTING
HtlER
MAMBMCnoMEMFDZRO
SINT
COST
TEP11
NEG1
LRSDSTOLDMPYLRSDADDADLRSDSTOLDMPYDADDSTDLDMPYLRSDSTDLDMPYLPSDADDADLRSDSTDLDMPYDADDADDSTSHIJMPDSBDSBDSTSZEJ«?SGLJMP*DLDSGLJMP*EQUEQtlEQUEQUEQHEQ"DBP
DBP
DBP
DBP
OCT
1TEM1SINESINT*11TEM1HALF14TEM1SINTSINETFM1SINTCOSTCOSN+11TEH1COSNCOST+11TEM1HALF14TEM1COSTCOSNTEM1SINTCOST
**4COSTCOSTCOST
HHER
PRTYNEG1
PRTY•744MA + 2HA-t-4MA+6MA+8HA + 100
0
0
0
177777,77777
121
HICPOCOMP T E L E C O M M U N I C A T E D DATADDP-516 A S S E M B L Y LISTING
0167 00244 041513 SINE OCT 41513,1203300245 P12033
0168 00246 066342 COSN OCT 66342,1002700247 010027
0169 00250 000000 H A L F OCT 0,2000000251 020000
0170 00252 0 000006 A E A B DAC ABFA0171 00253 000000 PONT OCT 00172 END
122
PROGRAM NAME
SOURCE: PPEX
BINARY: BPPEX
ENTRY POINT (location): PPRT ('12360)
GENERAL DESCRIPTION:
This subroutine determines PIP A third failures in a similar way to
the way GPRT determines gyro third failures. However, it does not allow
for dynamic errors as does GPRT and will not do its parity equation
calculation if octal location 765 is set to 1. This would indicate that on
this update the PIPA error accumulator (program source name PREX,
subroutine entry point PARC) is purging its accumulation. The timing
considerations are so stringent that at timesy'doing both jobs would be
impossible. Other than the above-considerations, look to GPRT for
documentation of the methods used.
123
•1TCROCOHP TELEC01MONICATED DATADDP-516 ASSEMBLY
000100020003ooou000500060007oros000900100011001200130014"015001600-.1-7--001800190020002100220023002U00250026002700280^2900300^31^032r>033003400350036T037C138'0039C040oom00420043
0044
OOU5
000000000100002000030000400005000060000700010000110001200^130001H00015000-1600017000200002100022C002300021*0002500026000270003000031000320^03300031*000350003600037P00400004100042000«300044OOOU5OOOU60001*70005000051000520005300051*0005500056000570006000061
0 0000000 02 0076510101*00 01 00007luooao0 Ott 00765
-0 01 000001400400 Oa 003230 02 003211010HO
-0 C1 000000 11 003200 01 000261010000 06 OOOU70 01* 000500 02 00320OU15 750 07 00320
-0 06 000500 01 000350 02 003200 06 0001*70 04 000500 02 003210415 750 07 00321
-0 06 000500 10 OCOOO101000100UOO0 01 OOOUU0000070 07 000521011*000 12 00323000005
-0 01 OCCOO0 000051*00000000000000000000001*000000017776200001600001*3000061000070
LISTINGSOBRPEL
PPPT DACLDASNZJHPCPASTAJBP*
GOAH CRASTALDASKZJBP*CASJHPNOPADDSTALDAAL SSUBADD*JMP
SFLA LDA-ADDSTALDAALSSUBADD*
PRCL CALLNOPSPLJHPDELDSBSHI
OVRF IRSSGLJMP*
ADST DACIDPT DBP
PMSE OCT
CPPS OCT
PPPT
**•765
GOAH
•765PPRT
•323'321
PPRT•320-SFLA
ADSTIDPT•3203•320IDPT . . . • ; •
PRCL"320ADSTIDPT•3213•321IDPTPPTY
OVRF
PHSE
'323
PPRTCRPS0
0,1*0
0, 177762,16,43,61,70
0046 E N D
124
PROGRAM NAME
SOURCE: GMIN
BINARY: BGMIN
ENTRY POINTS (location): GMIN C03100)
G E N E R A L DESCRIPTION:
This subroutine, when called, will calculate, using the gyro fail status
from locations '316 and '317, the code which tells the gyro least squares
matrix generator (see documentation for program source name GPMA,
subroutine entry point GMAT) which of the 22 matrices to generate. Prior
to the call to GMAT, this code is put in the A register. The codes are:
fail status code
no fail 0A fail 9B fail 18C fail 27D fail 36E fai-1 45F fail 54AB fail 63AC fail 72AD fail 81AE fail 90AF fail 99BC fail 108BD fail 117BE fail 126BF fail 135CD fail 144CE fail 153CF fail 162DE fail 171DF fail 180EF fail 189
If there is no second fail, i.e., ('317) = 0, then the code is simply 9 x
C316), or the number of the first fail (0 - 6) times 9. If there is a second
fail, first a decision is made as to which of the two fails is larger, i.e., F
fail (6) is larger than B fail (2). The code is then generated by taking 9 x
the larger fail plus 45 if the smaller fail is A (1), 81 ii the smaller fail is
B (2), 108 if the smaller fail is C (3), 126 if the smaller fail is D (4), or
135 if the smaller fail is E (5). 45, 81, 108, 126 and 135 have the octal
equivalents 55, 121, 154, 176 and 207 respectively. The program flow chart
follows.
125
A O T O F L O W C H A R T SST - D R A P E R O E H R L F ' S F L O W C H A R T - G H I N PAGE 01of 01
I11* 01
* ** *
*TS ('317) =* YFS* o OP. is THEPE *
* NO SECOND *
* **|NO11111
K2 | HOTE 02
* (* 117) LARGER *
* (' 316) ? *
ii* 03
* ** *
« * YES* SEE NOTE * 1* ABOVE * )
* « 1* * 1
* . 11 NO ' —1
111
m i on
1' (A) = SBALLER |I FAIL NO. ('317) 4 |
1ft 1 05
11
X5 | 06
) |A) = 9 X LARGER t1 FAIL NO. ('316) |
11
1(6 1 07
1 (A) - (A) 4 THE |I NUHBEP IN THE |I LOCATION POINTED |
1X7 | 08
( CALL G1BT |
111 "9
* FXIT *
X13 | 10
(A) • 1 X (-316) |OR A REGISTER = I
9X FIRST FAIL No. |
11
Kill | 11
CALL GCAT (
"-
I
HFTURN
X8 I 13
| <A| = SBAU.EP |FAIL NO. ( ' 316) * |ADDRESS OF SUTA I
X9 | 1U
' Trip-" /HI 1' .
1
!'
• I (A) = 9 X tARGEP 1| FML NO ('317) |
11
X11 ) 16
| NUHBEP. I» THP |I LOCATION POINTED I| TO PY IDPT I
11
X12 1 17
11I ia
SRT7RN
FLOWCHART - GMIN
126
MTCROCOMP TELECOMMUNICATED DATA
0001000200030004000500060007or OR000900100011001200130014001500160017001800190020002100220023002400250026C0270028002°003000310032
DDP-
0000000001000020000300004OOOP500006 .000070001000011000120 o 0 130001400015000160001700020000210002200023r o o 2 40002500026000270003000031000320003300034000350003600037000400004100042
516 ASSEMBLY
o oooooo0 02 003171010000 01 000260 11 003160 01 00016.0 01 000260 06 000330 04 000 3 00 02 003160415 750 06 00316
-0 06 000300 01 000310 02 003160 06 000330 OU 000.300 02 003170415 750 06 00317
-0 06 000300 01 000310 02 003160415 750 06 003160 10 00000
-0 01 000000 000035ooocoooooooo000055000121000154000176000207
LISTINGRELSDBR
GMIN DACLDASN2JMPCASJMPJHPADDSTALDAALSADDADD*JMP
SFLA LDAADDSTALDAA ISADDADD*JHP
OOFA LDAALSADD
PMCL CALLJHP*
AEST DACIDPT BS7,StlTA OCT
GMIN**•317
OOFA•316SFLAOOFAADSTIDPT•3163•316IDPTPMCL•316ADSTIDPT•3173•317IDPTPMCL•3'163•316GMATGMTNSUTA10,55 ,121,154,176,207
0033 E N D
127
PROGRAM NAME
SOURCE: GPMA
BINARY: BGPMA
ENTRY POINTS (location): MATR ('12102), GMAT ('12136)
GENERAL DESCRIPTION:
This program contains the two subroutines GMAT and MATR which
generate the appropriate gyro or PIP A 6x3 least square matrix when
called (with the proper code in the A register) by GMIN or EMIN (see
documentation for GMIN and EMIN). These subroutines make use of two
tables. The first, the double precision data table (DPDT), contains all the
double precision fractions used in any of the 22 (1 no fail, 6 single fail and
15 double fail) least square matrices. For example, the first fraction in
the table is a double precision 0(DBP 0), the second is
= 0.26865556403
(OCT 20645, 45016), the third is
sine a ,, . ,,. cos a-- * - , the fourth is — ~ —
The second table (TABL) contains 22 sets of pointers, each set of
which indicates which constants from the first table belong to a particular
matrix. Each set is made of 9 .16 bit words, or 18 bytes. Since there are
18 elements to each 6x3 matrix, each byte points to one element. For
example, the first nine words (octal 1000, 3004,6, 4004, 10, 1000, 6, 1000,
4002) point to the constants for the no fail matrix. The next nine point to
the constants for the A fail matrix. The code that GMIN or EMIN generates
before calling GMAT or MATR tells where in the TABL to get the first of
the nine words that point to the matrix corresponding to the gyro or PIPA
fail status. Consider again the first nine words in TABL pointing to the
no fail matrix constants. The first 01 the nine words is octal 1000 or
binary 00000010 00000000, which when broken into bytes becomes octal 2,
0. All nine broken in to bytes become 2, 0, 6, 4, 0, 6, 10, 4, 0, 10, 2, 0, 0,
6, 2, 0, 10, 2. Calling sine a S and cos a C, these 18 bytes point respectively
to
J^ fl *^ f\ ^ ^ O f\ \-/ J^ rt r\ \^ O ,-. \-^ j O
2 ' ' 2 ' ~2 ' ' 2 ' " 2 ' "2 ' ' " 2 ' 2 ' ' ' 2 ' ~2 ' ' ~ 2 ~2 '
128
which are the 18 elements of the no fail matrix. The flow chart for GMAT
(MATR is analogous) follows:
129
AUTOFLOW CHART SET - DRAPER ' OEHPLE'S FLOWCHART - CHIT PAGE 01of Ol
/ XI /
11 "1
B O - O * A n r ? » <») iPP ADD THE CODE t
TS THE A H E G I S T E P ITn THE A D P P E S S OE I
T A B L TO GET THE 1f D a P E S S IF THE |
FIi-ST OP THF. N t S E 1
P O I N T E R S . S T O R E 1
PO-0 1
11
1 I = -3* I
I
Note: I = Index Register
FLOWCHART - GMAT
/ X3 /
I
1 n
| BOHD = B O N D * 1 |( OP P'JT THE || A D D P E S S OF THE |( V E X T 2 BYTF.S OF || P O I N T E P S IN 901D \
1
xu i r-u
| LOAD (A) W I T H THE |
1 ADDPESS IS IN )| BOHD, 1 W O R D OP 2 )
\I
X5 | "S
) np 2 PfTES TJiTHt |1 A P E G I S T E P |
II
Xfc ) 0^
| T E T P = (A) * A D P T |( OP TF1P ^FTS || ADDPES? OF DO'IBLF || P K F C T S T O V D A T A || T f t P L E ( D P D T ) + |( P O I N T E R , I. F.. || A D D R E S S OP || P O I N T F P Tn )| C O N S T A N T t
1I
Y7 1 ?7
) T . O A D (A, 3) W I T H )| THE D n r j P L E | r
| A D P P F S S TS TV || TT^TT* )
11
Xfl 1 ^^
I N O T E : H~ GY30 |
| IV THE P D O U B L E || P D E C I S CV W O ' I S || Ffln,"I OCTAL |\ L O C A T I O N 33U TO (| 377. THE F I P S T |
| CO?!TAj>jS -36 OR || - ' U U SO ' U C ^ 1 * T |1 = '331 l
1t
X9 | 1Q
| 1 = 1*2 (
11
( L O A D (A) « T T H TMF || W O P D W H O S E 1| A D D R E S S TS TV tI HOKTI , 1 W O R D np 2 l
II
XII 1 11
( CAT. no GET SECO'ID || OF 2 PYTES IN THE )| A R E G I S T E R )
11
X12 | 12
| T E f P = (A) * ADPT |
11
>DX13 | 13
| L O A D (A, B) HTTH )1 Tl'S DOUBLE )
| C O N S T A N T W H O S E || A D D ° S S S IS IN |I TR?1P |
|1
xia t iu
| STO 5 ( A , B ) IN |1 LOCA TON » t O r * I [| NOT : THK FIPST |1 TTM T H B O M G H -I I| CON AI.1S -31 OP t| - - U 2 SO ' U O C » I t| = ' 1 16, THE || SECOSD M A T R I X |1 E L E C E N T A D P P E S S (
11
X15 I 15
t I = T » 2 |
X16 I NOTE 1ft
* T5 I = 0 OP H A V E ** AIL 19 P - A T R I X *« E L F H E N T S B E E N ** STORED? *
II
* *NO * *
i • SEE NOTE ** A B O V E •
* ** *
*
1
11
xi7 | ia
lll 19
* E X I T *
B E T U R N
130
MTCWOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY
000100020003OOOU000500060007000800090010001100120013001U00150016Of 17001R0019C0200^2100220023002U0025002ft0027002800290030003100320033003U0035003600370038003POOUOcomOOU2oou30 OU14OOU500160017OOUfl0 OU?0050005100520053005UCO 5500560057
00000OOOC1000020000300001400005000060000700010000 1 10001200013000 1400015000160001700020000210002200-0230002U0002500026000270003000031000320003300034000350003600037ooouoOOOU1OOOU2000.143ooouuOOOU5OOOU6OOOU7000500005100052000530005U00055000560005700060000610006200063OOC61400065
o oooooo0 06 000700 OU 00071o 35 0052<40 01 000060 12 OC071
-0 02 000711 ui mo0 06 000730 014 00072000007
-0 02 000721 OU OC6660000050 12 000000 12 00000
-0 02 0007111410500 06 000730 OU 00072000007
-0 02 000721 014 006660000050 12 000000 12 OOOQO0 01 00005
-0 01 000000 OOOOOO0 06 000700 014 000710 35 OC52U0 01 OOOU20 12 00071
-0 02 OC0711U11I400 06 000730 OU 00072000007
-0 02 000721 OU OOUOO0000050 12 OCOOO0. 12 OOOOC
-0 02 000711U10500 06 000730 014 00072000007
-0 02 000721 014 OOUOO0000050 12 OCOOC0 12 00000
LISTINGSUBRSUBRREL
P1ATR DACADDSTALDXJMP
FOLL TRSBERN LDA*
ICLADDSTADBLDLD*DSTSGLIRSIPSLDA*CALADDSTADBLDLD*DSTSGLIRSIPSJKPJKP*
0«AT DAC>DDSTALDXJMP
GtJI.L TRSGEGN LDA*
ICLADDSTADBLDLD*DSTSGLIRSIFS .LDA*CALADDSTADBLDLD*DSTSGLIPSTRS
HATRGMAT
**ADTBBOMD= • 17773143EGNBONDBQKD
ADPTTEKP
TEMP' 666,1
00BOMD
ADPTTEMP
TFMP'666,1
00FULLMATR**ADTBBOMD= ' 17773UGEGNBOMDBOMD
ADPTTEMP
TEMP• 1400,1
00BOMD
ADPTTEMP
TEMP• 1400,1
0o
131
MTCPOCOMP TELECOMMUNICATED DATA
005810590060HC61.TC6200630064
0065
0066
0̂ 67
nnfiF!.. .
0069
007Q
0071
Oft72
0073
0074
0075
0076
0077
0078
0079
roao
0081
OH82
0083
0084
0085
0096
0087
0088
0089
DDP-510006600067 -000700007100072000730007tt0007500076000770010000101001020010300104001050010600107001100011100112001130011400115001160011700120001210012200123001240012500126001270013000131001320013300134001350013600137ooiao001410014200 14 3001440014500146001470015*001510015200153001540015500156
6 ASSEMBLY0 01 000410 01 000340 0002160000000000000 000074000000000000020645045016157132032762033161004013144616073765011231036014166546041764047311072023130466005755034776033025143001044753042575013015135202064763007414007002170363070776014130066010163647011770045474043011132303034767074674016047103103061731003155003010174622074770043503066422134274011356040326
LISTINGJHPJflP*
ADTB DACBOKO BSZTENP BSZADPT DACDPDT DPP
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
GOLL. GHATTABL11DPDT0
20645,45016
157132,32762
33161,04013
144616,73765
11231,36014
166546,41764
47311,72023
130466,5755
34776,33025
143001,44753
42575, 13015
135202,64763
7414,7002
170363,70776
14130,66010
163647,11770
45474,43011
132303,34767
74674,16047
103103,61731
03155,03010
174622,74770
43503,66422
134274,11356
40326,63412
132
1TCROCOMP TELECOHJinNTCSTEP DATS
(Vflqr
O T 9 1
0092
0093
("094
0095
"096
0007
C 0 9 8
0099
r. 190
0101
0102
010?
f>10(»
0105
"106
0107
0108
0109
0110
0111
0112
011?
DPP-510015700160C01610016200163001640016500166001670017"001710017200173001740017500176001770020?00 ?0 100202002030 0 2 0 40 0 2 ^ 500206T02070021000211002120021300211*0021500216o 021700220"022100222002230022«0022500226002270023000231002320 0 2 3 30023H002350023600237002UO0 0 2 4 1002U2002U3002m*002450021*6002U7
6 ASSEMBLY06341213745101U36605^651O U 6 0 2 1127126031757031170027U2KU66070 5 0 3 5 U01*6660071U.3213111700631*607666U0721*351011130 0 5 3 4 302U0220500261537550277520051U50573771726320201*0102601302UH11*15176405336.100100000300U000006004001*00001000100000000600100000400200000000001U00001601400U02003000101*0015006011032O O U 0 2 2005000007^00000^0001400U017030001036016006011034
LISTING
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
TABL OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
137451,1U.366
50651,1*6021
127126,31757
31170,27424
146607,50354
4 6 6 6 0 , 7 1 4 3 2
131117,6346
76664,721*35
101113,5343
24022 ,50026
153755,27752
05145,57377
172632 ,20401
2 6 0 1 3 , 2 4 4 1 4
1 5 1 7 6 4 , 5 3 3 6 *
1000,30.04,6
4004,10 ,1000
6, 1000,4002
0, 14,16
14004,20030,1040
15006,11032,4022
5000,7000,0
14004,17030,1036
16006 ,11034 ,4022
133
1ICPOCOMP TELDDP-51
00250Oim 00251
0025200253
0115 002540025500256
0116 002570026000261
011-7 00262002630 0 2 6 4
011R 0026500266
• • 002670119 00270
0027100272
0120 002730027400275
0121 002760027700300
0122 003010030200303
0123 003040030500306
0121 003T70031000311
0125 003120031300314
0126 003150031600317
0127 003200032100322
0128 003230032400325
0129 003260032700330
0130 003310033200333
0131 003340033500336
0132 0033700340
ECOSMUNICATED DATA6 ASSEHBLY LISTING0 0 4 0 2 2011032 OCT003024016006000000 OCT000020005000017026 OCT001">40014002011034 OCT003024015006010014 OCT000000O O O O O Q020026 OCT001036014^02001036 OCT0130040170260 0 4 ^ 2 4 OCT016010011032000000 OCToooooo0100120010UO OCT013001020026O O U 0 2 U OCT01501001103U000016 OCT005000O O O O O OO O O O O O OCTO O O O O O00000002200U OCTO O O O U U001000000006 OCT023000O O H O U 6O O O O O O OCT000110OU6056O O O O O O OCT00010U025120027066 OCT03705U032072OOOOOO OCT000110
11032,302U,16006
0,20,5000
17C26 ,10UO, U002
1103U,302K,15006
100ia,0,0
20026, 1036, mO'0'2
1036,130CU,17026
i»02U, 16010, 11032
0,0,10012
1040 ,1300U,20026
H02U, 15010,11034
16,5000,0
0,0,0
2 2 0 0 4 , U U , 1 0 0 0
6,23000,aOU6
0, 110,46056
0,104,25120
27066,37054,32072
0,110,45056
134
NTCSCC01P TEL
0133
0134
"135
0136
0137
0138
0139
0140
0141
0142
0143
01 44
01 US
0146
0147
0140
0149
015"
0151
DDP-5100341003420034300344003450031600347003500035100352003530035400355003560035700360003610036200363003640036500366003670037000371H03720037300374003750037600377004000040100402OOU030040(4OOU050040600407C0410 .00411"0412
00413004140041500416004170042000421004220042300^2400425OOU26004270043000431
ECOMHTJNICATED DATA6 ASSEMBLY045056042054050000000000026062035056"340760000000000540471020341000300640350540000000001120301060000000000540501020320740260700370600450560430000000000431120270000000000000000001040251 16025062035060034076043114027100oooooo042054047000OOOOOO030066037052032072025116041000OOOOOO032074025070037056OOOOOO000114030106025120041000ooooco034100027064
LISTING
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
42054,50000,0
26062 ,35056 ,34076
0 , 5 4 , 4 7 1 0 2
34100 ,30064 ,35054
0,112,30106
0,54,50102
32074,26070 ,37060
45056,43000,0
43112,27000,0
0,104,25116
25062,35060,34076
43114,27000,0
42054,47000,0
30066,37052,32072
25116,41000,0
32074,25070,37056
0,114,30106
25120,41000,0
34100,27064,35052
135
TELEC0.1.1!J»!TCATED " A T ADDP-516 A S S E M B L Y LISTING
"01*32 035052OCTM52
n153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
0165
0166
0167
016*
0169
M70
001*330^43400435004360043700440
00^2OO 44 300444
^04450 0 4 4 6001*470045000451004520 ° 4 5 30045U00455004560045700460004610046200463004640^465OOU660046700470OOU7100472004730047400475004760^4770050000501005020050300504005050050600507005100051100512005130051400515005160051700520"052100522
0460560430000 COO 00023000003050^0000600000?)0 00 000
000042001000022002037056033074025062OOOOOO000060043112OOOOOO000120042052035054031100030066O O O O O O000060043114047102025000OOOOOO035052031100027066030110046000000000OOOOOO00^116942 f t52037060033074026062030110045000OOOOOO050102025000O O O O O O001000021004000042004050000^10023*00OOOOOOO O O O O O
OCT 23000,3050,6
OCT 0,0,0
OCT 42,1000,22002
OCT 37*56,33CT7U,25062
OCT 0,60,43112
OCT 0,120,42052
OCT 35054,31100,30066
OCT 0,60,43114
OCT 47102,25000,0
OCT 35052,31100,27066
OCT 30110,46000,0
OCT 0 ,116,42052
OCT 37060,33074,26062
OCT 30110,45000,0
OCT 50102,25000,0
OCT
OCT 4050,10,23000
OCT 0,0,0
136
M T C R C C O M P T F l . E C O f l M f T N I C A T E n D A T ADOP-Sie A S S E M B L Y L I S T I N G
O O S 2 3 0000^00171 0 0 5 2 U 17773H KND
137
PROGRAM NAME
SOURCE: EMIN
BINARY: BEMIN
ENTRY POINTS (location): EMIN ('03034)
GENERAL DESCRIPTION:
This subroutine, when called, will calculate, using the PIP A fail status
from locations '320 and '321, the code which tells the PIPA least squares
matrix generator (see documentation for program source name GPMA,
subroutine entry point MATR) which of the 22 matrices to generate. Prior
to the call to MATR, this code is put in the A register. For an explanation
of the codes and a flow chart of this subroutine, see documentation for
program source name GMIN.
138
[ • F L F C O I M t T N I C A T E D D A T ADDP-516 ASSEMBLY
OOO 1000?0003ooo4000500060007000800090010001 100120013oom0015001.6001 700130 o 1 Q •
• t- '-
002100220073no?u002500260027007B00200 0 3:.,f)0 o 3 • 10032
OOOOO00001000020000.300004000050000600007000 10000 1 10001200013o o o m000150001600017•0002000021000220002300024.000250002600027000300003100032
••p'00-33'0003U0003500036.00037'CCVOUOOOQ U 1
r-OOU 2
0 OOOOOO0 02 003211010400 01 000260 11 003200 01 000160 01 000260 06 000330 OU 000340 02 003200415 750 06 00320-0 06 000340 01 000310 02 003200 06 000330 04 00034o 02 003210415 750 06 00321
-0 06 000340 01 000310 02 003200415 75o Of, 0032C0 10 OOOOO
-.0 01 .OC.OOO•": 0: "00003 5
OOOOOOoooooo .'000055000121-
4 0001540001760002C7
LISTINGKFLSUBR
EMIN DACLDASNZJMPCASJMPJMPADDSTALDAAI SADDADD*JMP
SFLA LDAADDSTALDAALSADDADD*.IMP
OOFA LDAALSADD
PMCL CALLJMP*
ADST DACIDPT BSZSUTA OCT
EM IN**•321
OOFA•320SFLAOOFAADSTI DPT•3203•320IDPTPMCL•320ADSTIDPT•3213•321IDPTPMCL•3203•320MATH
. EMINSUTA10,55 ,121,154,176,207
E N D
139
PROGRAM NAME
SOURCE: MG63
BINARY: BMG63
ENTRY POINTS (location): MG63 ( '04012)
GENERAL DESCRIPTION:
This subroutine performs the 6x3 matrix multiplication ..which
transforms the six gyro A6 outputs into the x, y, z frame. The 6x3
matrix is stored as double precision fractions in locations '334 — '377
and it is the least squares matrix corresponding to the gyro fail status.- 8
The six gyro pulse counts are single precision fractions scaled at 7 2
radians (for example, 1 gyro pulse would be represented as an octal 000400
= 72 radians) and
and '412 respectively.
= 72 radians) and are stored in locations'400, '402, '404, '406, '410,
A0X, A0Y and A0Z are first formed in temporary double precision
accumulators DTXU, DTYU and DTZU, double precision fractions scaled_ O '
at 7 2 radians. These are then multiplied by 7/4.and added into DTXB,
DTYB and DTZB (locations) '414-'415, '416-'417 and '420-'421), which are— fi
double precision fractions now scaled at 2 radians. Since the attitude
algorithm (see documentation for ATTA, program name AA6S) only uses
the high order of DTXB, DTYB and DTZB, the low order is saved as a
residual and at the beginning of MG63 only the high order is zeroed.
The internal subroutine MUPY will do three single by double multiplies
and adds,performingthefunctions expressed by the following equations:
DTXU = DTXU + (GMAT + I) PTMP
DTYU = DTYU + (GMAT + 2 + 1) PTMP
DTZU = DTZU + (GMAT + 4+1) PTMP
where (GMAT + 2 + I) is the double precision fractional matrix element
stored in locations '334 +2 + 1 and '334 + 3 + I,where I is the contents of
the index register. If, for example, I = 6 and PTMP = GBPC (gyro B
140
pulse count), the above equations can be written:
DTXU = DTXU + ('342, '343) GBPC
DTYU = DTYU + ('344, '345) GBPC
DTZU = DTZU + ('346, '347) GBPC
The 6x3 matrix is shown below and it can be seen that the above
example shows how all of gyro B's contribution to the X, Y and Z axes can
be gotten by setting I = 6, PTMP = GBPC and doing the internal subroutine
MUPY.
('334, '335) ('342, '343) ('350, '351) ('356, '357) ('364, '365) ('372, '373)
('336, '337) ('344, '345) ('352, '353) ('360, '361) ('366, '367) ('374, '375)
('340, '341) ('346, '347) ('354, '355) ('362, '363) ('370, '371) ('376, '377)
6x3 matrix storage locations.
The flow chart for MG63 follows:
141
I ' l T O F I O H C H U F T SET - D ' l P E B O E H P L F ' S U O W C H t t T - N G 6 3 PISE (of 01
FLOWCHART - MG63
/ XI /
111 "1
<?,"] TD O T T O , |PTY'J, P T Z ' I . Z F S O |
OUT DCVIB1. Z IP P ^ C T S I O M STOPAnS |L O C A T I O N S H S R O Tn )ACC'Jltl! JT<: 1 A T ? I X |
B ' lLTIP l T C A T I O V |PFS' IT.T 1
11
X2 I - "3
^ TO HTXF1, DTY1, 1ITIP . **?o nnT |JJIGH O T D ^ P o.p 1
IT.rn TO A C C E P T |»5W I N C 5 S 1 F N T M . |O H T A TIIETk X, |J ^ T T A TI1STA Y, |
DEI. TJ IHBTAZ 1
1
TJ | M
T = " 1
1x « | r u
1 PTIT = r.tpc |
1X5 i ?•;
I HTU P E P F O P W THF |FOI L O W I N G |
SFOHEKCE ASD |
DTTd * ( ' 3 3 U , |•335) G A P C , D T Y ' J = )
D T Y M * < ' ? l f i , |
OT7'.' * (• 3 (1C, |• 3 U 1 ) ^^pc) i
11
11
1 P T H P = r;ar>r |
iX» | '<!
1ST H I I P V f ^ r i p v !W T 1 I N O W o r p p o p ^ ^ >
Tl!2 POU-nWINf? (SEOIIFNCE »»D 1P P T U P N r o T X t l a |D T X U « (' 3»2, |
•303) r,nPC,DTY!I = 1DTY'-I * ( 'Ml , 1
MIS) G9"":)DTZ'l = 1DTZ'l » ( ' 3 « f , 1
'3U1) «BPC) 1
1
X» | "1
1 ! = 12 1
1XI' | 1"
PTrp = ccpc i
1
X11 | 11
•1ST fTJPY || ( A N M A G n n s Tn |1 u>ov:> i
1
33
r ,
iiX 1 .1 1 13
| PT"? = GDPC 1
11
X1U | 14
I JST 1"PY 1I ( A K A H n n u s TO 1I A 3 0 V E I 1
11
HI | 15
I : - i« i
II
r i f t i 16' n^M"1 TPr 1• ' !'
iin 1 17
' ,,-T V T i r ,Y JI ( A>: ̂ ! V.n-IS TO |1 >nov- | i
1l
. .
1 I > )• 1
11
X19 | 19
1 PT^f = CFPC |
11
1 jr.r r n p r I
t
1 DTXR = HTXP « (7 1| DTX'I) /0 |
1
T22 1 22
I O T Y B = D T Y R • (7 |
11
X21 | 23
1 n r z B = DTZB • (7 I
111 21
142
M T C P O C O M P T E L E C O M M U N I C A T E D D A T A
ooo 1nop 200(130001400050 0 0 6000.7O f O B00090010001 10012001 30011400150016001700 1 fl001900200 0 2 10 0 2 200? 3on? 14OC?.50 0 2 60007" 0 2 f l00 2'}no 30no 310 0 3 200 3">no 3 /i0 0 3 5r ">?6or> 77f ">38f 0391-10(41-100410 0 4 2o o u 300(4(40 0 4 5oo«6o r (4 7O O I 4 Q001400050005100"S2T O S ?o ^ s uO"5^
"OSf t^057
DDP-516 A S S E M B L Y M S T I N RPELsnpR
o o n o o o "ooooo nr.63 nAC0000 10 0 0 0 20 0 0 0 3000040000500006000070001000^1 1
000120 0 0 1 30001140001S00016000170 0 0 2 000021r o r 2 20 0 0 2 3C 0 0 2 U0 ^ 0 2 50 0 0 2 6ooo 27000300003100032000330 0 0 3 U000.350 0 0 3 f ,000 3"?o o c u ro o o a 1°o r\u 20 o o u .3o o ^ n a0 0 o U r,O O D U 60 0 0 4 7A r\ r, q 0
0 0 0 5 100052CO 05. 3000540 0 0 ^ 50 0 0 5 60005700060000610 0 0 6 20 0 0 6 3000640006500066
1400400 040 0(40 040 04
. 0 040 0(40 040 040 040 040 020 040 100 .350 020 0140 100 35o 020 040 10o 350 0 ?0 040 100 350 020 0(4o 100 350 020 040 10
00102001030 0 1 0 U001050010600107oo um00«160 0 4 2 000000oouoo301000011200173O C 4 0 2001000011200 172,00404O C 1 0 0001 12001710040600100or 11200 170.004 1Conor00112001670 0 4 1 200 1 o f .or 1 12
000.0070 020 0704010 Ofi0 060 060 040 020 0704010 060 060 060 014
0 020 07O U 0 10 06o 06
00074Of 1027600102001020 0 4 1 4ooan j00074001047f.O C 1 0 4001014O C 4 1 600416O C 0 7 400106760010600106
C R ASTAS T ASTASTASTASTASTASTASTASTAL D ASTAJSTL D XL D ASTAJSTI DXL D ASTAJSTL D XL D AS T AJSTL D VL D AS T AJSTL D X
• L D AS T AJSTDPLD L DDSBL R SD A DD A DD A DDSTD L DD S BL R SD A DD A DD A DDSTD L DDSBL R SD A DD A D
MG6.3**
D T X U .DTXtJ-HDTYITD T Y U + 1DTZTID T Z U + 1D T X BD T Y BDTZB0G A P CPTMPM U P Y= 6GBPCP T M PM U P Y= 12RCPCPTflPM U P Y= 1flGDPCPTf lPM U P Y= 24GEPC
' PTMPM T J P Y= 30GFPCP T M PM U P Y
DBPOD T X U2D T X UD T X HD T X BD T X BDBPODTYU2DTYUD T Y UDTYDD T Y BDBPODTZU2DTZUDT7H
143
MTCWOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0058 00067 0 06 00420 DAD0059 00070 0 OU 0042C DSTOC60 00071 000005 SGL
0061 00072 -0 01 00000 JMP*0062 00074 000000 DBPO DBP
00075 0000000063 00076 000000 TEMP DBP
000770064
0065
0066
0067
0068
006900700071007200730074OC750076007700780079f O.?000810082008300840085f 0860087008800890090009 10092009300940095C096009700980099010001010102010301040.10501060107
00000000000000"000000
0000ro00000000oo0000000000000000000000000000000000000000
100101102103104105106107110111
1121131 141151 16117120121122123124125126127130131132133134135136137140141142143144145
00146
000000000000oooooooooooo000000oooooooooooooooooooooooooooooo0400000004140004160004200004000004020004040004060004100004120003340 OOOOOO0000071 16 003340 04 000760 02 001001 16 003350 06 001101403200002011400401000011404010 06 000760 06 001020 04 001020 02 001001 16 003360 04 000760 02 001001 16 003370 06 001101403200002011400401000011404010 06 000760 06 001040 04 00104
PTMP
DTXU
DTYU
DTZO
HALF
DTTBDTYBDTZBGAPCGBPCGCPCGDPCGEPCGFPCGMATMOPY
DBP
DBP
DBP
DBP
OCT
EQUEQUEQOEOOEQUEQUECUEQUEQt!EOTIDACDELMPYDSTDLDMPYDADCS&IABCRASRCCBADADDACDSTDLDMPYDSTDLDMPYDADCSAIABCPASPCCMADADDADDST
DTZBDTZB
MG630
0
0
0
0
0
0,40000
'414DTXB+2DTXB+4•400GAPC+2GAPC+4GAPC+6GAPC+8GAPC+10•334**
GMAT, 1TEMPPT'MPGHAT+1,1HALF
TEMPDTXtlDTXUPTMPGMAT+2,1TEflPPTMPGMAT«-3,1HALF
TEMPDTYODTYU
144
*ICPnco'«P T E L E C O M M U N I C A T E D D A T Anpp-516 A S S E P H L Y L I S T I N G
"1"1"101
"1" 1"1"1"1"1"1"1"101
01"1"1
oa"9101 112131U15ir,17
1R1<i2"21222 3 '2U
00"000000000onnn
"000ononno00no
.ononnoon00"0
1V715015115215315415515615716C .16116216316U165166167170171172173
0 02 00 100~1 16 003400 OH 000760 02 001001 16 003U10 06 001101U032000020 114on«o100001luouni0. 06 000760 06 001060 OU 00106"00""5
-0 01 00112000036000030000022oooo m0000"S
OLDriPYDSTDLDHPYD A DC S AIABC P ASRCC M AD A DD A DDSTSOLJHP*END
PTf*PG H A TTEHPPTKPG»1ATHALF
TFUP'DT7fJDT7,fT
MUPY
145
PROGRAM NAME
SOURCE: MV63
BINARY BMV63
ENTRY POINTS (location): MP63 ('03664)
GENERAL DESCRIPTION:
This subroutine performs the 6x3 matrix multiplication which
transforms the 6 PIPA AV outputs into the X, Y, Z frame. It is an almost
identical program to MG63 (see documentation for MG63) except that AVX,
AVY and AVZ do not have to be scaled by 7/4 as in the gyro 6x3
multiplication.
146
BIC^OCOUP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0001 REL000200030004000500"60007
or>C8nonq001 00011001200130*1 4nois0^1600170018foi900200021002?002300240025002*=.0077OO280029r o 3 o003100320033
003U
^OTS
00360037003 80039oouo0014100420043OO144
00450046004700(480049005000510052005300^4
000000000 1000020000300004000050000600007000 1000011000 1200013000140001 5ooo 160001700020000210012200023onp 21400025000260002700030oon-} 100032000330003(4000350003600037000(40room000(420004 3
000 44000(45oop<46oor 147000500005 100052000530005U
0 0000001400400 OU 0061U0 04 OC6160 OU 006200 04 000000 02 006000 04 OOC400 10 000440 35 001250 02 OC6020 04 000400 10 000440 35 001240 02 006040 04 000400 10 OC0440 35 001230 02 006060 04 000400 10 000440 35 001220 02 006100 04 OC040o 10 ooom»0 35 001210 02 006120 04 000400 10 00044
-0 01 00000ooooooocooooooooooooooooOOOOOQ0400000006140006160006200006000006020006040006060006100006120006220 OOOOOO0000071 16 006220 04 000360 02 000401 16 006230 06 00042140320000201
HP63
TEMP
PTMP
HALF
DVXBDVYRDV28AAPCABPCACPCADPCAEPCAFPCP1«!ATMOPY
SUBRDACCRASTASTASTASTALDASTAJSTLDXIDASTAJSTLDXI, DASTAJSTLDXT.DASTAJSTLDXLDASTAJSTLDXLDASTAJSTJflP*DBP
DBP
OCT
EQUEQOECUEQtJEQUEQtJECUEQUEQUEQ"DACDBLHPYDSTOLDHPYDADCSAIAB
HP63**
DVXBDVYBDVZB0AAPCPTMPMtTPY= 6ABPCPTP1PMtlPY= 12ACPCPTHPPIUPY= 18ADPCPTMPHOPY= 24AEPCPTMPBUPY= 30AFPCPTMPMUPYMP630
0
0,40000
•614DVXB+2DVXB+4'600AAPC+2AAPC+4AAPC*fAAPC*8AAPC-t-10«622**
PMAT, 1TEMPPTMPPKAT+1 ,1HALF
147
HICROCOMP TELECOMMUNICATED DATADDP-516 A S S E H B L Y LISTING
005500560057005800590060006100620063006U00650066006700680069007000710072007300740075007600770078007900800081008200830084008500860087C08800890090OC91
000550005600057000600006100062000630006400065000660006700070000710007200073OOP7400075000760007700100001010010200103001040010500106001070011000111001120011300114001150011600117001200012100122001230012400125
1400401000011404010 06 000360 06 006140 04 006140 02 000401 16 00624
• 0 04 000360 02 000401 16 006250 06 OOOU21403200002011400401000011404010 06 000360 06 006160 04 006160 02 000401 16 006260 04 000360 02 000401 16 006270 06 000421403200002011400401000011404010 06 000360 06 006200 04 00620000005
-0 01 00044000036000030000022000014000006
CRASRCCHADADDADDSTOLDHPYDSTOLDHPYDADCSATABCfiASRCCHADADDADDSTOLDHPYDSTOLDHPYDADCSAIABCRASRCCRADADDADDSTSGLJHP*END
._
TEHPDVXBDVXBPTHPPHAT*2, 1TEHPPTHPPHAT+3,1HALF
.
TEHPDVYBDVYBPTHPPMAT+4,1TEHPPTHPPHAT+5,1HALF
TEHPDVZBDVZB
HOPY
148
PROGRAM NAME
SOURCE: SPUN
BINARY: BSPUN
ENTRY POINTS (location): SPUN C05560)
GENERAL DESCRIPTION:
This subroutine when called will correct the quaternion in order to
maintain it as a unit quaternion. It imposes the constraint that.V '. " • • O 'O o 9 '
>^+ f>* + fl^ + P* = 1.x y z . . . . . .
Ideally the equations to be implemented would be
V = A. d '
f> ' = r dx x
where
d =/,2 , 27 2T 2
V A + p + p + p •
However, since the sum of the squares of the elements of the quaternion
never deviates significantly from 1, we can simplify as follows:
, ,px + py + pz
or ,2 • 2X + P
A2 ^ 2 , 2 ^ 2 Vv A + P.. + P__ + Pz = i/l
1
PX +p^
so
149
Using the scaling and terminology for the quaternion described in the
program AA6S
> pv pv p •?(i.e., L = y, RX = -£-, RY = —g- and RZ = -~)
we derive the new constraint that
L2 + RX2 + RY2 + RZ2 equal 1/4
L1 = L D
RX1 = RX D
RY1 = RY D
RZ1 = RZ D
where
D =
2 v/L2 + RX2 + RY2 + RZ2
RX2 + RY2 + RZ2 - —•E = I/ +
L2 + RX2 + RY2 + RZ2 = ^-H E
/L2 + RY2 + RY2 + RZ2 =
so
D-- 1 + 2E --1 - 2E
L'= L (1-2E)
RX1 =.RX (1-2E)
RY1 = RY (1-2E)
RZ' =RZ (1-2E)
150
or
AL= -2E L
ARX = -2E RX
. : • ' . . ARY = -2E RY :
ARZ = -2E RZ
Now expand the AL term (the ARX, ARY and ARZ terms are analogous).
Since AL is very small we shall really calculate
224AL = -225E L.OK
define FACT = -2 E. Then
AL = FACT L
224
since
L3
then
T _ T 1 , _ _ .L- LI + +
FACT LI , FACT L2 , FACT L31 TT; r'
224 239 254
and we need only calculate
FACT LI
repeating we have
and
E = L2 + RX2 + RY2 + RZ2 - 1/4
2- T ,2 , L22 L32 LI L2 LI L3 L2 L3
^.V12 , RX22 , RX32 , RX1 RX2 , RX1 RX3 , RX2RX3- KAl + 3Q~~+ 60~~ 14 29 44
RY2 = . . .
RZ2 = . . .
151
substituting and gathering terms we get
E = LI2 + RX12 + RY12 + RZ12
, L22 + RX22 + RY22 + RZ22 . L32 + RX32 + RY32 + RZ32
230 260
, LI L2 + RX1 RX2 + RY1 RY2 + RZ1 RZ2214
LI L3 + RX1 RX3 + RY1 RY3 + RZ1 RZ3
; . L2 L3 + RX2 RX3 + RY2 RY3 + RZ2 RZ3 JL_44 -4
We now want to calculate
FACT = -225E
Since FACT has only 15 bits of significance, all terms contributing to Ewith d
terms
40with denominators greater than 2 can be ignored. This eliminates the
L32. ... L2 L3...en and - ' ' '
\The flow chart for the implementation on the DDP516 of the above
derivation follows.
152
A U T O F I O W C H A R T SET - D R A P E R O t H P t E ' S FLO»CH»RT - SPIJI P1GE 01o( 01
/ II /
' SUMM -L2**2/2**3 +! (LlL3) /2**2*1 RX2**2/2*#3 -
(RX1 RX3)/2##2 'RY*#2/2**3 «
(RY1 RY3)72#*2 •RZ**2/ 2**3
(RZ1 RZ3U 2#*2
i
I
I SU1!«. = S U I f f * (LI [I 12 • PI1 »K2 « |I «T1 FT2 • BZ1 |I * Z 2 ) / 2 « » 2 |
II
snr- j » i( T H U D ) /2««15 « I
(Sflnr) /2**12 l
L1«*2 • S « l » « 2 ' « I3J1»*2 * PZ1**2 1
A,P = S'Ifll - 1/w I(DnnBLE PPECISION (
»,B = A,3 2««15 |(AT THIS POIMT I
A,B IS FITHER 1,T IOP 1777T7, SO |
IAB, CP> IS SA"1E I»S 2»15 I
I A,B = A,B • T H R D
1I
TO I
FACT --2**10(»,1)
II
X10 I
L - I • (FACTL1)/2**2U
10
|
PT = PX • (PACTPX 1) /2**2U
II
112 I
PY = PT * (FACTPT1)/2**21
| pi. = RT * (FACT || PZ1|/2««2« I
FLOWCHART - SPUN• F X I T •
153
HICROCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY
000100020003 000000004 000010005 000029006 000030007 00004OC08 000050009 000060010 000070011 000100012 000110013 000120011* 00013'0015 000140016 000150017 000160018 00017001.9 000200020 000210021 000220022 000230023 000240024 000250025 000260026 00027C027 000300028 000310029 000320030 00033C031 000340032 000350033 00036003<t 000370035 000400036 000410037 000420038 000430039 00044OOUO 00045oom 000460042 000470043 000500044 000510045 000520046 000530047 000540048 000550049 000560050 000570051 000600052 000610053 000620054 000630055 000640056 000650057 00066
0 0000000 02 004610000070 16 004610401 770 04 002440 02 004620002010 07 OC2540 16 004600 06 002440401 760 04 002420 02 004640002010 16 OP4650401 770 04 002440 02 004660002010 07 002540 16 004640 06 002440401 760 06 002420 04 002420 02 004700002010 16 004710401 770 04 002440 02 004720002010 07 002540 16 004700 06 002440401 760 06 002420 04 002420 02 004740002010 16 004750401 770 04 002440 02 004760002010 07 002540 16 004740 06 002440401 760 06 002420401 610 04 002420 02 004600 16 00461
LISTINGPELSUBR
SPON DACIDADBLMPYLRSDSTDIDIABDSBNPYDADLRSDSTDLDIABMPY
. LRSDSTDLDIABDSBMPYDADLRSDADDSTDLDIABMPYLPSDSTDLDTABDSB.MPYDADLRSDADDSTDLDIABMPYLRSDSTDLDIABDSB'MPYDADLRSDADLRSDSTDLDHPY
. SPUH' ** .L2
L21OVFPL3
PODSL1OVFP2SOHMRX1
BX21OVFPRX3
FODGRX1OVFP2SDMHSUNKRY1
RY21OVFPRY3
FDDGRY1OVFP2SDMHSOHMRZ1
RZ21OVFPRZ3
FODGRZ1OVFP2SOMH15SUHHL1L2
154
HICROCOHP TELBCOHHUNICATED DATADDP-516 ASSEMBLY LISTIHG
0058 00067C059 000700060 000710061 000720062 000730063 0007ft0064 000750065 000760066 000770067 001000068 001010069 001020070 001030071 001040072 001050073 001060074 001070075 001100076 001110077 001120078 001130079 001140080 00115C081 001160082 001170083 001200084 001210085 001220086 00123C087 00124.0088 001250089 001260090 001270091 00130CP92 001310093 00132009U 001330095 001340096 001350097 001360098 001370099 001400100 001U10101 00142«102 001430103 001440104 001450105 001460106 001470107 001500108 001510109 001520110 001530111 001540112 001550113 001560114 00157
0 04 002440 02 004640 16 004650 06 002440 04 002440 02 004700 16 004710 06 002440 04 002440 02 004740 16 004750 06 002440401 760 06 002420 0,4 002420411 751400400 04 002520 02 002420401 640 04 002420 02 004600 16 004600 06 002420 04 002420 02 004640 16 004640 06 002420 04 002420 02 004700 16 004700 06 002420 04 002420 02 004740 16 004740 06 002420 07 00250000201140040'0002010 06 002520411 660 06 002561404070 04 002460 16 004600 06 00256000201140040 -000201 .0401 670 06 004620 04 002441400400 04 004620 02 002440401 61
DSTOLDHPYDADDSTOLDHPYDADDSTOLD.MPY.~DADLPSDADDSTL1SCBADSTOLDLPSDSTOLDHPYDADDSTOLDHPYDADDSTOLDHPYDADDSTDLDHPYDADDSBIABCRATABDADLLSDADTCADSTHPYDADIABCRATABLRSDADDSTCRADSTDLDLRS
OVFPRI1RX2OVFPOVFPRY1RY2OVFPOVFPRZ1BZ2OVFP2sownSDHH3
THRDSOHH12SOHHL1L1SOHHSUHHRX1HX1SOHHsownHY1HY1SOHHSOHHRZ1BZ1SOHHTHNZ
THRD10HALF
FACTL1HALF
9L3OVFP
L3OVFP15
155
MICROCOHP TELECOMMUNICATED DATADDP-516 ASSF.HBLY
0115 001600116 001610117 001620118 001630119 001640120 001650121 001660122 001670123 001700124 001710125 001720126 001730127 001740128 001750.1 23- 00 1760130 001770131 002000132 002010133 002020134 002030135 002040136 002P50137 002060138 002070139 002100140 002110141 002120142 0021301U3 002140144 002150145 0021601H6 0021701U7 002200148 0022101U9 002220150 002230151 002240152 002250153 002260154 002270155 002300156 002310157 002320158 002330159 002340160 002350161 002360162 002370163 002400164 00242
002U30165 00241*
002450166 00246
002470167 00250
00251
0 06 004600 04 004600 02 004640 16 002460 06 002560002011400400002010401 670 06 004660 04 002441400400 04 004660 02 002440401 610 06 004640 04 004640 02 004700 16 002460 06 002560002011400400002010401 670 06 004720 04 002441400400 04 004720 02 002440401 610 06 004700 04 004700 02 004740 16 002460 06 002560002011400400002010401 670 06 004760 04 Q02U41400400 04 004760 02 002440401 610 06 004740 04 00474000005
-0 01 00000000000000000000000000000000000000000020000000000
LISTINGDADDSTOLDMPYDADIABCRATABLFSDADDSTCBADSTDLDLRSDADDSTDLDMPYDADIABCRAIABLRSDADDSTCRADSTDLDLRSDADDSTDLDMPYDADIABCRAIABLRSDADDSTCRADSTDLDLRSDADDSTSGLJHP*
SOHN DBP
OVFP DBP
FACT DBP
TWNZ OCT
L1L1RX1FACTHALF
9RX3OVFP
RX3OVFP15RX1R71RY1FACTHALF
9RY3OVFP
RY3OVFP15RY1RY1RZ1FACTHALF
9RZ3OVFP
RZ3OVFP15RZ1RZ1
SPON0
0
0
20000,0
156
MICPOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0168
0169
0170
"17101720 173017411750176"17701780179013^0 18 101820183
"02520025300254002550025600257
000000000000040000ooooooOCO^oo040000000460000461000462000464OOOU65000466000470000471000472000474000475000476
THPD
FtJDG
HALF
L1L213PX1RX2PX3RY1RY2PY3P.Z1P7.2P73
DBP
OCT
OCT
EDOEonEQUEQUF.OUsonEQUEQUEQUEQtJEO'JEQOEND
0
40000,0
0,40000
•46011 + 111+211+411 + 511+611+811+911 + 1011 + 1211 + 1311+14
157
PROGRAM NAME
SOURCE: VESP
BINARY: BVESP
RELATED MEMOS: T-493
ENTRY POINTS (location): VELA ('04206)
ACCESSABLE VARIABLES (location): FXX ('04654),
FXY ('04656), FXZ ('04660), FYX ('04662), FYY ('04664),
FYZ ('04666), FZX ('04670), FZY ('04672), '
PZZ ('04674)
GENERAL DESCRIPTION:
This subroutine, when called, will construct a cosine matrix from
the quaternion which transforms a vector in the body frame to the inertial
frame. It will then multiply the AV in the body frame by this matrix to
get AV in the inertial frame. The cosine matrix can be expressed in terms
of the quaternion elements as:
C(Q) =
' l -2(P y2+p z
2 )
2(pxPy-
2(PxPy - ^z)
L - 2 ( P 2 + P
2 ;
2(pxPz
2 ( o o - Xp
This can be written as:
XX
zx
yy
xz
fy*fzz
where
fxz =
158
Observe that all elements of .the matrix consist of various combinations2 2
of the nine quaternion products: p , p ,2 x y
P7> ^v"^' PvP-r-PvP-?- X"V' ^f>v and> X/V Therefore, in the subroutinef- A y x. t. y & x jr /.
implementation the nine quaternion products are first calculated. Only 30
bits of each quaternion element is used and the cosine matrix elements
are calculated to have a word size of 30 bits also. Scalingis as follows:
\= 2L1 L2
214-
RX2p
X
or2
" •= 2RX12
2the other 8 quaternion products are scaled the same as p .
We also define:
FXX=
159
or
FXX =-|-- RYSQ - RZSQ
FZZ = ± - RXSQ - RYSQ
Now we can write the equations to be implemented as:
DVIX = 4 (FXX DVXB + FXY DVYB + FXZ DVZB)
DVIY = 4 (FYX DVXB + FYY DVYB + FYZ DVZB)
DVIZ = 4 (FZX DVXB + FZY DVYB + FZZ DVZB)
where DVIX is AV in the inertial frame scaled the same as DVBX, AV in
the body frame. Th« flow chart for the implementation on the DDP-516 of
the above derivation follows:
160
' AUTOFLOW CHART SET - DRAPER OEHRLE'S FLOWCHART - VELA PAGE 01of "01
| CALCULATE:
I RXSQ.1 L RX.
RYSQ. RZSQL RY. L RZ
RX RY. RX RZ, RY RZ
JFXX =
|FXY =
| FXZ =|FYY =
!1/4 - RYSQ - RZSQ1
RX RY - L RZ 'RX RZ + L RY
1/4 - RXSQ - RZSQ| FYZ • RY RZ - L RX j
1 FYX - RX RY + L RX |!FZZ • 1/4 - RXSQ - RYSQ1
| FZX = RX RZ - L RY |
^FZf » HY RZ + L RX j
f ~1 r "I1 DVK1 DVIY = 4
DVIZ
FXX1 FXY1 FXZ1 DVBX
FYX1 FYY1 FYZ1 DVBY
FZX1 FZY1 FZZ1 DVBZ
DVK
DVIYDVIZ
DVK
• DVIYDVIZ
FXX2 FXY2 FXZ2
+ 1/2«»13 FYX2 FYY2 FYZ2
FZX2 FZY2 FZZ2J
DVBX
DVBY
DVBZ
FLOWCHART - VELA
161
HICROCOHP TELECOHHONICATED DATADDP-516 ASSEMBLY LISTING
"00100020003noon000500060007000800090010omi00120013001400150016001700180019002000210022002100240025002600270028r02900300031003200330034003500360037003800390040com004200430044OOU5004600470048004900500051005200530054005500560057
00000000010000200003OOOOU000050000600007000100001100012000130001400015000160001700020000210002200023000240002500026000270003000031000320003300034000350003600037000400004100042OOOU300044000450004600047000500005100052000530005400055
0 0000000 02 00465OOOOP70 16 004650002011400400401 770 04 004440 02 004640 16 004650 06 004440 06 005120401 630 04 004440 02 OC4640 16 004640411 770 06 004440 04 004700 02 004700002010 16 004710002011400400401 770 04 004440 02 004700 16 OC4710 06 004440 06 005120401 630 04 OC4440 02 004700 16 004700411 770 06 004440 04 004720 02 004740002010 16 004750002011400400401 770 04 004440 02 00«740 16 00475
PELSOBPSOBPSOBPSOBRSOBRSOBRSOBRSOBRSOBRSOBR
VELA DACLDADBL
• HPT'.IABCRALRSDSTDL DHPYDADDADLRSDSTOLDHPYLLSDADDSTOLDIABHPTIABCRA
. LRSDSTDIDHPYDADDADLPSDSTOLDHPYLLSDADDSTOLDIABMPYIABCRALRSDSTOLDHPY
FXXFXYFXZPYXFYYFYZFZXFZY,FZZVELA**RX2
RX2
1T1RX1RX2T1SQRD13T1RX1RX11T1RXSQRY1
RY2
1T1RY1RY2T1SQRD13TTRY1RY11T1RYSQRZ1
RZ2
1T1RZ1RZ2
162
MTCBOCOMP T E L E C O M M U N I C A T E D D A T ADDP-516 ASSEMBLY LISTING
00580059Of 600061006200630^640^650066C0670068Of>69pr\700071nr>72">073OO-TU00750076007700780070oTgO0^31no 82OOR3rm%Unqc^n rqfi
r>AQ7OOP80089r>Qqo001 1009?^OQ3
^T940095ero600970A9POOQOmoo0101010?0103010(401050106010"7
01080109our011 1"1120113oim
000560005700060000610006200063000640006500066000670007000071OC072000730007U00075000760007700100OP1010010200 103001040010500106001070011000111001120011.300111400115001 16001170012000121001220012300124001250012600127001 3000131001320013300134001350013600137001DO0014100142001U3001440014500146
0 06 004440 06 00512OU01 630 OU 00<»m40 02 OOU7U0 16 00471*0411 770 06 004440 04 004740 02 004600002010 16 OOU650002011400400 04 OC4440 02 004600 16 004650 06 004440 04 OT4440 02 004640 16 OC4610 06 004440 06 005140401 620 04 004440 02 004600 16 004640411 770 06 OT4440 OU n047f.0 02 004600002010 16 004710002011400400 04 OOUU40 02 004600 16 004710 06 Of"4ii40 04 004440 02 004700 16 004610 06 004440 06 005140401 620 04 004440 02 004600 16 004700411 77 .0 06 004440 04 005000 02 004600002010 16 004750002011400400 04 OG444
DADDADL«SDSTOLDMPYLLSDADDSTOLDIABMPYTABCPADSTOLDMPYDADDSTT>T.DMPYDADDADLRSDSTOLDKPYLLSDADDSTDI.DTABMPYTABCRADSTDIDMPYDADDSTDIDMPYDADDADLPSDSTDIDMPYLLSDADDSTDLDIABHPYIABCP.ADST
T1SOPD13T1RZ1RZ11T1RZSQL1
RX2
T1L1RX2T1T1RX1L2T1CPRD14T1L1RX11T1LRXL1 . .
RY.2
T1L1RY2T1T1PY1L2T1CPRD14T1L1RY11T1LRYL1
RZ2
T1
163
HICROCOMP T E L E C O M M U N I C A T E D DATADDP-516 A S S E M B L Y LISTING
0115 001470116 001500117 001510118 001520119 001530120 0015«0121 001550122 001560123 001570124 001600125 001610126 001620127 001630128 001640129 001650130 001660131 001670132, 001700133 001710134 001720135 001730116 00171*0137 001750138 001760139 001770140 00200011*1 002010142 002020143 00203044,4 00 20 V0145 0020501£*6 002060147 002070148 002100149 002110150 002120151 002130152 002140153 00215H154 002160155 002170156 002200157 002210158 002220159 002230160 f>02240161 002250162 002260163 002270164 P02300165 002310166 002320167 002330168 002340169 002350170 002360171 00237
o 02 004600 16 OOU75o 06 004440 04 004440 02 OOH71*0 16 004610 06 004440 06 0051401*01 620 01* 004440 02 004600 16 0047401*11 770 06 OOUUi*0 Oi* 005020 02 004640002010 16 OCU71000201UOOUO0 OK 004440 02 004640 16 004710 06 004440 04 004440 02 00 U 700 16" OOU650 06 004440 06 005140401 620 OU 004440 02 004640 16 00470Ott11 770 06 OOUUi*0 01* 005040 02 OOU6U0002010 16 OCU750002011400UO0 OK 001*1*1*0 02 OOU61*0 16 001*750 06 00i*i*i»0 OH 00«4ft0 02 OOU7U0 16 001*650 06 OCi»i»i»0 06 0051UOU01 62o oi» ooi*t*a0 02 OOU6I*0 16 OOU7U01*11 770 06 00i*i*«0 04 00506
OLDHPYDADDStDLDHPYDADDADLRSDSTDLDBPYLLSDADDSTDLDIABSPYTABCRADSTDLDf!PYDADDSTDLDBPYDADDADLPSDSTDLDnpyLLSDADDSTDLDIABHPYIABCHADSTDLDBPYDADDSTDLDHPYDADDADLFSDSTDLDHPYLLSDADDST
L1RZ2T1T1RZ1L2TTCPBD14T1LIRZ11T1LP7RX1
RY2
T1'RX1RY2T1T1RY1RX2T1CPRD14T1RX1RY11T1RXRYRX1
RZ2
T1RX1RZ2T1T1RZ1RX2T1CPRD14T1RX1RZ11T1RXRZ
164
1TCPOC01P TF.T F.COMMNTCATED DATADDP-516 ASSEMBLY LISTING
"172 002UO0173 002410174 "0242"175 "02430176 002440177 002450178 002460179 00247"18" 002500181 ""2510132 002520133 00253"184 0025401R5 002550186 0025601fl7 002570188 002600189 00261019.0 002620191 002630192 0026401°3 00265•0194 00266"19S ""26"*0196 0027"0197 00271"198 OC2720199 002730200 00274C2C1 002750202 002760203 0027702"4 00300.02"5 003010206 0030202P7 00303020R 003040209 003050210 003060211 003070212 003100213 003110214 00312"215 003130216 00314"217 003150218 003160219 003170220 003200221 CO. 3210222 003220223 003230224 003̂ 40225 00325022fi 003260227 0032702 28 00330
0 02 OC4700002010 16 OOU750002"11400400 04 004440 02 004700 16 004750 06 00444,o 04 004440 02 004740 16 004710 06 004440 06 005140401 620 04 004440 02 004700 16 004740411 770 06 004440 04 OC5100 "2 005160 07 004720 07 004740 04 004460 02 005040 07 005020 04 004500 02 005060 06 005000 04 004520 02 005160 07 004700 07 004740 04 004560 02 OP5100 07 004760 04 0046C0 02 OC5040 06 005020 04 004540 02 005160 07 004700 07 004720 04 004660 02 005060 07 005000 04 004620 02 005100 06 004760 04 004640 02 004460 16 006140 04 006660 02 004500 16 006160 06 00666
OLDIABNPYTABCRADSTDLDMPYDADDSTDLDNPYDADDADLPSDSTDLDNPYLLSDADDSTDLDDSBDSBDSTDLDDSBDSTDLDDADDSTDLDDSBDSBDSTDLDDSBDSTDLDDADDSTDLDDSBDSBDSTDLDDSBDSTDLDDADDSTDLDWPYDSTDLDMPYDAD
RY1
PZ2
T1RY1RZ2T1T1R?,1PY2T1CPKD14T1RY1RZ 11T1RYRZONOTFYSQRZSQFXYRXRYLP7FXYRXRZLRYFXZONOTRXSQRZSQFYYRYRZLEXFYZRXPYLRZFYXONQTRXSQRYSQF2ZRXRZLRYFZXRYRZLPXFZYFXXDVBXDVIXFXYDVBYDVTX
165
NTCROCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY LISTING
0229023002310232023302310235023602370238023902UO02tt102U202U302UU02U502U602U702U8021*90250025102520253025U02550256025702580259026002610262C263026U026502660267026802690270027102720273027U027502760277027802790280028102820283028U0285
0033100332003330033U003350033600337003UO003U1003U200 34 3003UU00345003U6003H70035000351003520035300354003550035600357003600036100362003630036U0036500366003670037000371003720037300371*003750037600377001*0000401001*02OOU03OOUOUOOU05OOU06OOU07oomoOOK11OOU12001*13oouiuOOU15OOU16001*17OOU20001*21
0 OU0 020 160 0601*110 OU0 020 160 040 020 160 060 OU0 020 160 0601*110 01*0 020 160 OU0 020 160 060 OH0 020 160 06OU110 01*0 020 160 OU0 020 160 060 OU0 020 160 060 06OU010 060 OU0 020 160 OU0 020 160 060 OU0 020 160 060 06OU010 06
00666OOU5200620006667600666OCU5U0061U00670OOU56006160067000670OCU6000620006707600670OCU620061U00672OOU6U00616006720067200U6600620006727600672006TUOOUU7OOUUU00616OCU 51oouuuoouuu00620OOU53OOUUU005126300666006660061UOCU55OOUUU00616OOU57oouuuOOUUU00620OOU61OOUUU005126300670
DSTDLDMPYDAELLSDSTDLDHPYDSTDLDPIPYDADDSTDLDMPYDADLLSDSTDLDMPYDSTDLDMPYDADDSTDLDHPYDADLLSDSTDLDMPYDSTDLDMPYDADDSTDLDMPYDADDADLRSDADDSTDLDHPYDSTDLDMPYDADDSTDLDMPYDADDADLRSDAD
DVIXFXZDVBZDVIX2DVIXFYXDVBTCDVIYFYYDVBYDVIYDVIYFYZDVBZDVIY2DVIYFZXDVBXDVIZFZYDVBYDVTZD7IZFZZDVBZDVIZ2DVIZDVBXFXX+1T1DVBYFXY+1T1T1DVBZFXZ+1T1SQPD13DVIXDVIXDVBXFYX> 1T1DVBYFYY+1T1T1DVBZFYZ+1T1SQPD13DVIY
166
MTCROC01P T E L E C O M M U N I C A T E D D A T ADDP-516 A 5 S E H B L Y LISTING
0296r>2<}702R302" 902900291"292029?f>29(»0295029602970298029903in
03010302030?
03<">0
03^5
03^6
0307
03nP
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
0320
0321
0322
OOU2200023OOU2U00025000260002700030OOU3 10003200033OOU3000035OOU3600037oouuoOOUU1OOHU2OOUUUOOUU5004U6OOUU7^OUSOOOU51004S2OOUS3OOU5U00055OOU5600057onafioOOU61OCU6200063OOH60000650006600067000700^07100072000730007000075000760007700500005010050200503^050140050500506005C700510005110051200513
0 00 006700 02 006100 16 Or 0630 00 OOUttO0 02 006160 16 000650 06 OOOUUn nu OOOUU0 02 006200 16 000670 06 OOOUU0 06 005120001 63.0 06 006720 00 00672000005
-0 01 00000"00000000000oooooooooooo000000o^ioroooooooo"00000ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooOOGOOOoooooooooooooooooooooooooooooooooooooooooo000000oooooooooooooooooooooooooooooooooooo010000
T1
FXX
FXY
FXZ
FYX
FYY
FY7
FZX
FZY
FZ7
RXSQ
FYSQ
RZSQ
LHX
LPY
LHZ
RXBY
PXPZ
RYRZ
SQPD
DSTOLDMPYDSTRIDnPYDADDSTOLDMPYDADDADT,RSDADDSTSGLJHP*DBP
DBP.
DBP
DBP
DBP
DBP
T)BP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
DBP
OCT
DVIYDVBXFZX +T1DVBYFZYf-T1T1DVBZFZZ +T1SOPD13DVIZDVIZ
VELA0
0
0
0
0
0
0
0
0
c0
0
0
0
0
0
o
0
0
1
1
1
0,10000
167
MICROCOMP T E L E C O M M U N I C A T E D DATADDP-516 A S S E M B L Y LISTING
0323 0051400515
0324 0051600517
03250326032703 2 a03290330033103320333033403350336033703380339
000000020000020000000000000460000461000464000465000470000471000474000475000614000616000620000666000670000672
C P R D OCT
ONQT OCT
0,20000
20000,0
LIL2RX1RX2RY1RY2RZ1RZ2DVBXDVBYDVBZDVIXDVIYDVIZ
EQOEQOEOOEQOEQOEQO.EQOEQOEQOEQOEQOEQDEQOEQO
•460LI + 1L1*4L1+5L1+8L1>9L1 + 12L1+13'614DVBX+2DVBX+4•666DVIXt2DVIX+4
END
168
PROGRAM NAME:
SOURCE: VACU
BINARY: BVACU
ENTRY POINTS (location): VACU ('05506)
GENERAL DESCRIPTION:
This subroutine, when called, accumulates delta velocity in the inertia!
frame (DVIX, DVIY and DVIZ calculated by the velocity algorithm, program
source name VESP subroutine entry point VELA). The three accumulators
(XAV1-XAV3, YAVl-YAV3and Z AVI-ZAV3) are triple precision accumula-
tors and a brief examination of this subroutine will show that it performs
the following three tasks:
XAV = XAV + DVIX
215
YAV = YAV + DVIY
215
ZAV = ZAV + DVIZ
215
169
HICPOCOHP TELECOf lHONICATED DATADDP-516 ASSEHBLY
000100020003 000000004 000010005 00002P006 000030007 000040008 00005OOOP 000060010 000070011 000100012 000110013 000120014 000130015 00011*0016 000150017 000160018 000170019 000200020 000210021 000220022 000230023 000240024 000250025 000260026 000270027 000300028 000310029 000320030 000330031 000340032 00035C033 000360034 000370035 000400036 000410037 000420038 000430039 000440000 000450041 0004600tt2 000470043 000500044004500460047004800490050005100520053
0 0000000000070 02 006661400400 06 004460 04 004460002011400400002010 06 006660401 610 06 004440 04 004440 02 006701400400 06 004520 04 004520002011400400002010 06 OC6700401 610 06 004500 04 004500 02 006721400400 06 004560 04 004560002011400400002010 06 006720401 610 06 004540 04 004540000051400400 04 004460 04 OC4520 04 00456
-0 01 OCOOO000666000670000672000444000446000450000452000454000456
LISTINGPELSOBR
VACtJ DACDBLOLDCRADADDST.IABCRAIABDADLPSDADDSTOLDCRADADDSTIABCRATABDADLRSDADDSTOLDCRADADDSTIABCRAIABDAELPSDADDSTSGLCRASTASTASTAJBP*
DVIX EQODVIY EQODVIZ EQOXAV1 EQOXAV3 EQOYAV1 EQOYAV3 EQOZAV1 EQOZAV3 EQO
END
VACO**
DVIX
XAV3XAV3
DVIX15XAV1XAV1DVIY
YAV3YAV3
DVTY15YAV1YAV1DVIZ
ZAV3ZAV3
DVIZ152 AVIZAV1
XAV3YAV3ZAV3VACO•666DVIX+2DVIX*4•444XAV1+2XAV1+4XAV1+6XAV1+8XAVU10
170
PROGRAM NAME
SOURCE: ERC6
BINARY: BERC6
ENTRY POINTS (location): ERGO C2726)
GENERAL DESCRIPTION:
This subroutine will do the equivalent of torquing a gyro in a gimbal
IMU. It essentially compensates the gyros for a drift in the inertial frame
and is used to take out WIE, earth rate, thus the acronym ERCO or earth
rate compensation. It does this by transforming the negative of the drift
in the inertial frame into the body frame and adding it to the gyros as an
equivalent NBD. It makes use of the cosine matrix (cL, developed fromJr>
the quaternion by the subroutine VELA which transforms the AVR intoAV,.
The gyro drift in the body frame due to earth rate is:
lEXB
"IEYB
JIEZB
= C"
UIEXI
JIEYI
"IEZI
CB is created by VELA and its elements are FXX, FXY, FXZ, FYX, FYY,
FYZ, FZX, FZY and FZZ. This subroutine gains access to the constants
by using the pseudo-op XAC or external address constant. For example,
the pseudo-op XFXX XAC FXX puts the address of FXX in the location
called XFXX. Of course, the transpose of the above matrix (C1^) is FXX,
FYX, FZX, FXY, FYY, FZY, FXZ, FYZ and FZZ.
The X, Y and Z inertial rates to be compensated for are stored in
octal locations 250, 251 and 252 respectively. These are specially scaled
constants that are the negative of the earth rate sensed on these inertial
axes. If, for example, the X, Y and Z inertial axes were north, east and
down at this latitude (42°, 21', 51"), locations 250, 251 and 252 would contain
the octal constants -44121, 0 and 40763. The A0 , A6> and A0,, to be}\ Y L-t
compensated are-contained in octal locations 414, 416 and 420. The
subroutine itself is so straight-forward that no flow chart is necessary.
171
MICROCOHP TELECOHHONICATED DATADDP-516 ASSEMBLY LISTING
0001 REL0002 SUBR0003 00000 0 000000 ERCO DAC0004000500060007OC08000900100011001200.1.30014001'50016001700-1800190020002100220023002400250026002700280029C030003100320033003H0035003600370038003900400041004200430^440045OOU6004700480049005000510052005300540055
0056
0000100002000030000400005000060000700010000110001200013ooom000150001600017000.20000210002200023'000240002500026000270003000031000320003300034000350003600037OOOUO ,0004100042000430004400045OOOU6OOOU700050000510005200053000540005500056'0005700060000610006200063000640006500066
000007-0 020 060 160 04
-0 020 060 1.60 060 04
-0 02' ; 0 060 160 0604010 060 04-0 020 060 160 04
-0 020 060 160 060 04
-0 020 060 160 0604010 060 04
-0 020 060 160 04
-0 020 060 160 060 04
-0 020 060 166 0604010 060 04
0007400072002500006400077000720025100064000640010200072002520006464004140041400075000720025000066001000007200251000660006600103000720025200066640041600416OOP760007200250000700010100072002510007000070001040007200252000706«0042000420
000005-0 01 00000000000
DELDID*DADHPYDSTDID*DADMPYDADDSTDID*DADMPYDADLRSDADDSTOLD*DADHPYDSTDID*DADMPYDADDSTOLD*DADMPYDADIPSDADDSTDID*DADHPYDSTDLD*DADMPYDADDSTDLD*DADHPYDADLPSDADDSTSGLJHP*
XERC DBP
EPCO**
XFXXHRRD•250XERCXFYXHRRD•251XERCXERCXFZXHRRD•252XERC12'414•414XFXYHERD•250YERCXFYYHERD•251YERCYERCXFZYMPRD'252YERC12•416•416XFXZHERD•2502ERCXFYZHRRD•251ZERCZERCXFZZHRRD•252ZERC12•420•420
ERCO0
000000oooooo YERC DBP 0
172
MTCPOC01P T E L E C O M M U N I C A T E D D A T AODP-516 A S S E K R L Y LISTING
*>057
0059
00590060006100620063O r > 6 U006500660067Of 63
000670007000071000720 0 0 7 30007U00075000760007700100001010010?.0010300 10U
O O O O O OooooooooooooO O O O O Oouoooo0 O O O O O Oo oooooc0 O O O O C Oo ooooroo oocoroo ooooooo ooooooo ooooooo oooooo
ZFPC
H R P D
X F X XX F X YX F X ZX F Y XX F Y YX F Y ZXFZXXFZYX F Z Z
DEP
OCT
X A CX A CX A CX A CX A CX A CX A CX A CX A CE N D
.0
0 , t t <
F X XFXYFXZFYXFY YFYZFZXF7,YFZZ
173
PROGRAM NAME
SOURCE: AA6S :
BINARY: BAA6S
RELATED MEMOS: T-493
ENTRY POINTS (location): ATTA 005060)
GENERAL DESCRIPTION:
This subroutine when called will perform a third order attitude
algorithm to update the quaternion of rotation. The equation representing
the algorithm can be expressed as:
Py' = XS«y + RPy
X1 = -S(p • a) + RX
where
M = a • a
R = (I -
S = (1 ---
expanding this equation, if we define A = A0 A0 + A 6 A 9 + A 9 A 9xx y y z z
px' = X(1 "24)~ + (1 ~~8)px + (1 " 2 5 M 2
therefore:
px' = PX"*""^^Q J L~~TL + V Z2 £~A y Z48 ^~
to determine P ', replace x, y, z subscripts by y, z, x in the equation for
p '. To determine n ', replace x, y, z subscripts by z, x, y in. the equationX Z -
174
for p '. Then,
X1 = -S(p • a) + RX
therefore:
. .
In the present DDP516 implementation the actual numbers in the computer
are scaled as follows:
DX = 26A0 o rA0 = DX 2~6
X X.
DY = 26A0 o r A 0 = DY 2~6
t/ i7
DZ = 2 6 A 0 o r A 0 = DZ 2~6
RX = -5^ or p = 2RX& X
PvRY = -^or Py = 2RY
RZ = -r-or p^ = 2RZ£ Z
L = -£-or X = 2L^j
D2 = 212A or A = D2 2~12 = (DX2 + DY2 + DZ2) 2~12
now substituting this scaling into the equation given above we find:
, _ nnv , L DX L D2 DX D2 RX2RX' = 2RX+ Rb2 3 2 2
RY DZ - RZ DY D2(RY DZ - RZ DY)
26 32 2 1
if we define
ARX = RX1 - RX
then,
175
AR-X- - L DX LD DX D2 RX , RY DZ - RZ DY D2(RY DZ - DZ DY)AHA s go 15 + 7 99
2' 3 232 215 27 3 222
also,
.2, _ OT PL RX DX + RY DY + RZ DZ2L' = 2L -
26
D2(RX DX + RY DY + RZ DZ)
32 2 1
and if
AL = L1 - L,
AT D2L RX DX + RY DY + RZ DZ , D2(RX DX + RY DY + RZ DZ)A l j ~ I S 7 " * " : 9 9
215 2{ 32 2 2
The equations for ARY and ARZ are obtained in a similar manner.
A 16 bit word in the DDP516 is made up of a sign bit and 15 bits of
fraction. For example, 0110 000 000 000 000 represents +.75 decimal.
Each quaternion component is made up of three of these numbers. For
example, L will be represented by
T 1 + L2 L3L1 215 23° '
which is equivalent to a 45 bit signed fraction where 'the sign bits of L2
and L3 are ignored. Tn core LI is in location '460, L2 in '461 and L3 +
'40000 is in'463. Location'462 is normally zero except when^463 overflows
into '462 which is then added to '461. RX, RY and RZ follow L in core in
locations '464, '470 and '474 respectively. A unit quaternion in core
<x= i. "x = o, fly = o, PZ = o
or
L = 1/2, RX = 0, RY = 0, RZ = 0)
would look like the following (in octal):
*Since only Ll and L2 are used in the velocity algorithm, the '40000 (1/2)added to L3 is for rounding.
176
loc.
L
loc.
RX
loc.
RY
loc.
RZ
'460
040000
LI
'464
000000
RX1
'470
000000
RY1
'474
000000
RZ1
'461
000000
L2
'465
000000
RX2
'471
000000
RY2
'475
000000
RZ2
'462
000000
'466
000000
'472
000000
'476
000000
'463
040000
L3+'40000
'467
040000
RX3+'40000
'473
040000
RY3+'40000
'477
040000
RZ3+'40000
DX, DY and DZ are single precision fractions. However, D will be 30
bits and will be represented by
D21 .15
With these considerations in mind the quaternion update equations can be
expanded as:
2? '
DX D21 LI
222
DX D2
oo - .3X2 3X2
DX D22 LI DX D2
D
D
•373X2"3'
21 RX1
215
2 2 RX1
23°
RY1 DZ
D21
2
237
1 L237
2 L2
3X252
RX2 D2
30
RX2
245
RY2 DZ
D2
RY3
DX D2
3X2
DX D2
1 L352
2 L3
3X267
1 RX3245
2 RX3
26°
DZ,22 ,37
RZ1 DY RZ2 DY RZ3 DY,22 ,37
177
D21 RY1 DZ D21 RY2 DZ _ D21 RY3 DZ
3X22 2 3X237 3X252
+ D21 RZ1 DY t D21 RZ2 DY , D21 RZ3 DY
. 3X222 3X237 3X252
D22 RY1 DZ D22 RY2 DZ D22 RY3 DZ
3X237 3X252 3X267
+ D22 RZ1 DY | D22 RZ2 DY , D22 RZ3 DY
3X237 3X252 3X267
D21 LI D21 L2 D21 L3 D22 LI D22 L2 D22 L3215 - 230 245 - 230 ; 245 360
RX1 DX RX2 DX RX3 DX RY1 DY _ RY2 DY RY3 DY„ 7 922 937 _7 O22 937a £t £t & £t ft
RZ1 DZ RZ2 DZ RZ3 DZ
27 222 237
+ D21 RX1 DX , D21 RX2 DX { D21 RX3 DX
3X222 3X237 3X2^2
+ D21 RY1 DY | D21 RY2 DY , D21 RY3 DY
3X222 3X237 3X252
t D21 RZ1 DZ , D21 RZ2 DZ | D21 RZ3 DZ
3X22 2 3X237 3X252
+ D22 RX1 DX , D22 RX2 DX , D22 RX3 DX
3X237 3X252 3X267
+ D22 RY1 DY , D22 RY2 DY , D22 RY3 DY
3X237 3X252 3X267
+ D22 RZ1 DZ , D22 RZ2 DZ , D22 RZ3 DZ
3X237 3X252 3X267
With ARY and ARZ defined in a similar manner. .
178
The algorithm that is written considers L, RX, RY and RZ to have
only 37 bits of significance. Therefore, all terms in the final equations37with denominators greater than 2
final equations to be programmed to:
37with denominators greater than 2 can be ignored. This simplifies the
LI DX , L2 DX DX D 1 LI= + TT~- 92
2 2 3X2
D21 RX1 D21 RX2 D22 RX1215 230 230
RY1 DZ | RY2 D,Z RZ1J)Y RZ2 DY
27 222 27 222
D21 RY1 DZ D21 RZ1 DY99 + op
3X2^
and,
,T D21 LI D21 L2 D22 LI215 230 230
RX1 DX RX2 DX RY1 DY RY2 DY RZ1 DZ
27 222 27 222 27
. D21 KX1 DX . D 2 1 R Y 1 D Y , D 21RZ1DZ
RZ2 DZ222
.3X2 2 2 3X22 2 3X22 2
The final simplification is to replace
( -2D 2 l ) /3
with a variable called D3 and to calculate 27 ARX, 27 ARY, 27 ARZ and 27
AL before deriving ARX, ARY, ARZ and AL. The program equations then
27 ARX = LI DX +are: ,7 A nv _ T , _„ , L2 DX , DX D3 LI
215 216
D21 RX1 D21 RX2 D22 RX1223
+ RY1 DZ + RY2 DZ - RZ1 DY - RZ2 BY215 215
D3 RY1 DZ D3 RZ1 DY216 - 216
179
and,
o7 AT D21 LI D21 L2 D22L128 " 223 " 223
- RX1 DX - ,15_ RY1 DY-
.152i" 2
D3 RX1 DX D3 RY1 DY D3 RZ1DZ
RZ2 DZ,,15
,16 ,16 ,16
180
1I1TOPLOV C H » P T SET - DBAP5B OEHBIP 'S PIOHCHAPT - ATTA PAGE 01of 01
II
XJ I <H
I S1 = -PZ2 DY t II P Y 2 - D Z * L2 OX I
II
I S2 = (D»«2I 1- BX1 |I * ( (P**2) 1 BX2 * 1I (D««2|2 II R X 1 ) /2**1S I
II
X5 I 0^
I DIBT * -PZ1 DY • II PY1 D7 + M DX |
II
X6 I 06
I ( A , B | * = 31 • (nl |I DlPXI/2 I
II
XT I "I
\ ( A , P ) / 2 « « 7 - S2 I
II
Y « t . 0 «
I DL'XI + D'-"X I
II
X 9 I ? 9
t THF. I AST 7 STF.ns II r A ' . C V T . f t T F D D! : X = II 2 > » T DFLTJ PX, II ^FPFA" 1 THFr M T T " II C H A N G F S I N ' T H F II V > - > T A ? I E S Tn 1ET II I L P Y j I L F T ANn DLL I
II
xir | ir
I !. = '-• II ( r ! L ) / 2 « « T I
IX11 I "
I PX = 'PX * II (DT .PX>/2«* '> I
II
X12 I 12
I PY = BY • II ( D L P Y ) / 2 « * 7 I
II
113 I 13
I P? » BZ • I • .I (DI .PZ) /2««7 I
, FLOWCHART - ATTA
• EIIT *
The Double Precision Accumulator
181
MICHOCOHP TELECOHHUNICATED DATADDP-516 ASSEHBLY LISTING
000100020003 000000004 000010005 000020006 000030007 00001oroB oooos0009 000060010 000070011 000100^12 000110013 000120014 000130015 000140016 000150017 000160018 000170019 000200020 000210021 00"220022 000230023 000240024 000250025 000260026 000270027 C00300:028 000310029 000320030 000330031 0003U0032 000350033 000360034 000370035 000400036 0001410037 000420038 000430039 000440040 OC0450041 000460042 000470043 000500044 000510045 000520046 C00530047 000540048 000550049 000560050 000570051 000600052 000610053 000620054 000630055 000640056 000650057 00066
RE1SUBR
0 OOOOCO ATTA DAC0 02 004140000070 16 004140 04 004100 02 004160 16 004160 06 004100 04 004100 02 004200 16 004200 06 004100 04 004100 16 004240 06 004200 04 004120 02 004160 16 004750 04 004140 02 004200 16 004710 07 004140 04 004140 02 004140 16 004610 06 OC4140 04 004140 02 004640 16 004110 04 004160 02 004100 16 004650 06 004160401 610 04 004160 02 004100 16 004640 06 004160 04 004160 02 004160 16 004740 04 004020 02 004200 16 004700 07 004020 04 004020 02 004140 16 004600 06 004020 04 004020 16 004120401 770 06 004140401 710 07 00416
LDADELHPYDSTOLDHPYDADDSTDIDHPYDADDSTHP*DADDSTOLDHPYDSTOLDHPY.DSBDSTDIDHPYDADDSTOLDHPYDSTDIDHPYDADLRSDSTDIDHPYDADDSTDIDHPYDSTDIDHPYDSBDSTDLDHPYDADDSTHPYLPSDADLRSDSB
ATTA**DX
DXD1DYDYD1D1DZDZD1D1=•125253TRNDD3DYHZ2S1DZSY2SIS1DXL2S1S1RX1D2S2D1RX2S215S2D1RX1S2S2DYRZ1DLRXDZRY1DLRXDLRXDXL1DLRXDLRXD31SI7'S2
182
M T C P O C O M P T E L E C O M M U N I C A T E D D A T ADDP-516 ASSEMBLY LISTING
or»5900590060A161006200630064^06^006600670069OOf Q00700^710072C07.10074007500-76007700780079OCPO0">B10032008?008400850086"•08700380-089r»p.oo0091OOQ2OC930094f\9500960097f 098009901000101010201030104010501060107010801090110011101120113011U
000670007000071000720007300074000750007600077001000010100102^0103001040010500106001070011C0011100112C011300114001 1500116001170012000121001220012300124001250"1260012700130001310013200133001340013500136001370014000141001420014300 mi*0014500146001470015000151001520015300154001550015600157
0 "604010 060 040 020 160 040 02
' 0 160 070 040 020 160 060 040 020 160 040 020 160 0604010 040 0.20 160 060 040 020 160 040 020 160 070 040 020 160 060 040 16ni|010 0604010 070 0604010 060 040 020 160 040 020 160 070 040 020 160 06
004227C004020040200 4 200046500414004140047500414004140041600461OC41400414004700041 10041600410004710041661004160041000470004160041600420OC46400404OOU14OOU740040400404004160046000404004040041277OC41471OCU16004227C004040040400414004710041U004160046500414004140042C00461OC414
DADLPSPADDSTOLDMPYDSTDLDMPYDSBDSTDLDMPYDADDSTDLDPIPYDSTDLCMPYDADLPSDST'DLDMPYDADDSTOLDMPYDSTDLDHPYDSBDSTDLDMPYDADDSTMPYLRSDADLPSDSBDADLPSDADDST -DIDHPYDSTDLDMPYDSBDSTDLCMPYDAD
SRNDaDLRXDLRXD2RX2S1DXRZ2S151DYL2S1S1RY1D2S2D1RY2S215S2D1RY1S2S2DZRX1DLRYDXRZ1DLRYDLRYDYL1DLRYDLRYD31S17S2SRND8DLPYDLPYDXRY251DYRX2S151DZL251
183
HICROCOHP T E L E C O M M U N I C A T E D DATADDP-516 A S S E H B L Y LISTING
01150116011701180119012001210122012301240125012601270128012901300131013?013301340135013601370138013901UO01410142014301440145014601470148014901500151015201530154015501560157015801590160016101620163016U0165016601670168016901700171
001600016100162001630016400165001660016700170001710017200173001714001750017600177002000020100202002030020400205002C600207002100021100212002130021400215002160021700220002210022200223002240022500226002270023000231002320023300234002350023600237002400024100242002430024400245002460024700250
0 040 020 160 040 020 160 0604010 040 020 160 060 040 020 160 040 020 160 070 040 020 160 060 040 1604010 0604010 070 0604010 060 040 020 160 040 020 160 060 040 020 160 060 040 020 160 040 020 160 0604010 040 020 160 060 040 02
00414004740041100416OC4100047500416610041600410004740041600416004140047000406004160046400406OC40600420004600040600406004127700414710041600422700040600406004140046500414004160047100414004140042000475004-140041400460004110041600410004610041661004160041000460004160041600414
DSTDIDHPYDSTOLDHPYDADLRSDSTDIDHPYDADDSTDIDHPYDSTDLDHPYDSBDSTDLDHPYDACDSTHPY
. LRSDADLRSDSBDADLBSDADDSTDLDHPYDSTDLDHPYDADDSTDLDHPYDADDSTDLDHPYDSTDLDHPYDADLRSDSTDLDHPYDADDSTDLD
S1RZ1D2S2D1RZ2S215S2D1RZ132S2DXRY1DLPZDYRX1DLPZDLRZDZL1DLPZDLRZD31S17S2SRND8DLRZDLRZDXRX2S1DYRY2S1S1DZRZ2S1S1LID2S2D1L2S21552D1L1S2S2DX
184
'ITCPOCOl'IPDDP
0172 00251"'173 002520174 002530175 002540176 002550177 002560178 002570179 002600180 002610181 002620182 00263^183 002640184 002650185 002660186 002670187 002700183 002710189 002720190 002730191 002740192 002750193 002760194 00277"195 OQ3000196 00301"197 00302"198 003030109 OQ3040200 003050201 003060202 003070203 003100204 003110205 003120206 003130207 003140208 003150200 003160210 003170211 003200212 003210213 003220214 003230215 003240216 003250217 003260218 003270219 003300220 003310221 003320222 003330223 003340224 "03350225 003360226 003370227 003400228 00341
TELECONMTTNTCATED DATA•516 ASSEMBLY
0 16 004640 04 004000 02 004160 16 004700 06 00400
0 04 004CO0 0? 0042C1404070 16 004740 07 004000 04 004000 16 004120401 770 07 004140401 710 07 004160 Ofi O C 4 2 20401 700 06 OC4000 04 0040C1400400002G10401 711400400 06 0 0 4 6 20 04 004620002011400400 06 O C 4 6 00 04 004600 02 004000401 710 06 004600 04 "0460
0 02 00402140040
0002010401 711400400 0 6 004660 04 004660002011400400 06 004640 04 004640 02 004020401 710 06 004640 04 004640 02 004041400400002010401 711400400 06 004720 04 00472000201
LISTINGMPYDSTOLDMPY
. DADDSTDLDTGAKPYDSBDSTHPYLRSDSBLRSDSBDADLFSDADDSTCRATABLRSCRADADnsTTABCRADADDSTDLDLRSDADDSTDLDCRAIABLRSCRADADDSTTABCPADADDSTDLDLRSDADDSTDLDCPATABLPSCRADADDSTIAB
RX1DLLDYRY.1DLLDLLDZ
RZ1DLLDLLD31S17S2SPND8DLLDLL
7
L3L3
L1L1DLL7L1L1DLPX
7
RT3RX3
RX1RX1DLPX7 -RX1RX1DLRY
7
RY3RY3
185
MICPOCOMP TELECOMMUNICATED DATADDP-516 ASSEMBLY
022902300231023202330234023502360237023802390240021*102020243024402450246024702480249025002510252025302540255025602570258
025°
0260
0261
n26202630264
0265
0266
0267
0268
02690270027102720273027402750276
003420034300344003450034600347003500035100352003530035400355003560035700360003610036200363003640036500366003670037C0037100372003730037400375003760040000401004020040300404"04050040600407004100041100412004130041400415004160041700420004210042200423
1400400 06 004700 04 004700 02 004040401 710 06 004700 04 004700 02 004061400400002010401 71.'1400400 06 004760 04 004760002011400400 06 004740 04 004740 02 004060401 710 06 OC4740 04 004740000051400400 04 OC4620 04 004660 04 004720 04 OP476
-0 01 00000000000000000ooooco000000000000oooooo000000ooooooooooooooooooooooooOOOOOO000000ooooooooooooOOOOQQooccoo040000oooooo000200000414000416000420000460000461000462000464000465
LISTING
DLL
DLRX
DLPY
DLRZ
D1D2D3
S1
S2
TRND
SEND
DXDYDZL1L2L3RX1RX2
CRADADDSTOLDLRSDADDSTOLDCRAIABLRSCRADADDSTIABCRADADOSTOLDLRSDADDSTSGLCRASTASTASTASTAJMP*DBP
DBP
DBP
DBP
OCTOCTDBP
DBP
DBP
OCT
OCT.
EQUEQUEQUEQUEQOEQUEQUEQU
RY1RY1DLPY7RY1SY1DLRZ
7
R23RZ3
RZ1P.Z1DLRZ7RZ1PZ1
L3RX3RY3RZ3ATT A0
0
0
0
00Q
0
0
0,40000
0,200C.'i
•414DX + 2DX + 4•460L1 + 1L1+2LU4L1+5
186
HTCPOCOHP TELECOHNONICATED DATADDP-516 ASSEMBLY LISTING
0277 000466 RX3 EQO L1+60278 OOOU70 RY1 EQO L1+80279 00047V RY2 EQO L1+90280 OOOU72 RY3 EQD L1+100281 OOOU7U RZ1 EQO LV+120282 OOOH75 BZ2 EQO L1+1302R3 OOOU76 PZ3 EQO L1+1U0284 00424 125253 END
187
DISTRIBUTION LIST
Internal:
R. RaganD. HoagN. SearsR. BattinL. LarsonJ. HarperG. Silver (JSC)T. Lawton (JSC)E. Olsson (JSC)R. CooperD. DoveG. EdmondsJ. FeldmanP. FellemanJ. Gilmore (25)S. HelfantR. HutchinsonG. BukowR Booth (50)R. BlahaK. VincentH. MusoffJ. OehrleG. McWeeneyD. SwansonA. LaatsE. Jones
W. WoolseyG. OgletreeR. McKern (10)R. TruebloodM. HamiltonS. CoppsJ. KernanR. GushingT. ShuckD. BrownJ. StAmaridR. WhiteL. WiUyW. TroskyR. SheridanJ. SinkiewiczC. LoryB. KatzD. Sprague
. T. SchampR. WhiteE. SalaminM. JohnstonR. MillardW. TannerH. McOuatApollo Library (2)MIT/DL Doc. Center (10)
External:
NASA/MSC National Aeronautics and Space Administration (36 + 1R)Lyndon B. Johnson Space CenterAPOLLO Document Control Group (BM86) (18 + 1R)Houston, Texas 77058
Attn: T. Lins, EG2K. Cox, EG2W. Swingle, EG5M. Jones, EG5T. Barry, EG5J. Hanaway, EG7W. Bradford, EA2H. TindalL EAR. Chilton, EGR. Nobles, FM7D. Cheatham, EGS. Mann, FM7P. Pixley, FM4R. Savely, FM4A. Weatherstroem, EG5S. Kamin, FM7B. Cochrell, FM4R. Eckelkamp, FM4T. Lapko, BC7
NASA/MSFC National Aeronautics and Space Administration (20)George C. Marshall Space Flight CenterHuntsville, Alabama 35812
Attn: M. Brooks, S&E-ASTR-SGH. Brown, S&E-ASTR-SGAG. Doane, S&E-ASTR-SGAB. Doran, S&E-ASTR-SGAB. Gaines, R-ASTR-GCCB. Moore, S&E-ASTR-DIR
• F. Wojtalik, S&E-ASTR-GB. Wiesenmaier, S&E-CSE-F
Codes: A&TS-PR-RS (1)A&TS-PR-M (1)A&TS-MS-IL (1)A&TS-MS-IP (2)A&TS-MS-IP (2)S&E-ASTR-GD (2)S&E-ASTR-S (2)
NASA/HDQ National Aeronautics and Space Administration ( 3)600 Independence Ave., SWWashington 25, DC 20546
Attn: R. Murad, MHEL. Goolsby, ROAE. Hall, MTG
NASA/AMES National Aeronautics and Space Administration ( 2)Ames Research Center . .. . . . .Moffet Field, California 94035
Attn: R. HrubyH. Lessing