194
56 R -746 S|'RU bEyELbPIWENT RNAL REPORT i VOLUME; in SOFTWARE DESCRIPTION AND PROGRAM 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

56 - core.ac.uk

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

MTCPOC01P TELECOMMUNICATED DATAnDP-516 ASSEMBLY LISTING

01*6 END

51

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