Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
N A S A TECHNICAL
EMORAND
IM X4441
1X
3K
&AMAPPtKTION-
by M. Drozdowski
A8i SPACI
7".-
JANBAR?
https://ntrs.nasa.gov/search.jsp?R=19720005535 2020-08-02T09:54:40+00:00Z
1. Report No.
NASATMX-24414. Title and Subtitle
2. Government Accession No.
AUTOMATIC COMPUTER SUBPROGRAM SELECTION FROMAPPLICATION- PROGRAM LIBRARIES
7. Author(s)
Joseph M. Drozdowski
9. Performing Organization N.IIHB and Address
NASA Langley Research CenterHampton, Va. 23365
12. Sponsoring Agency Name and Address
National Aeronautics and Space AdministrationWashington, D.C. ^0546
3. Recipient's Catalog
5. Report Date
No.
January 19726. Performing Organization Code
8. Performing Organization Report No.
L-802410. Work Unit No.
312-04-02-041 1 . Contract or Grant No.
13. Type of Report and Period Covered
Technical Memorandum14. Sponsoring Agency Code
15. Supplementary Notes
16. Abstract
The program ALTLIB (ALTernate LIBrary) allows a user access to an alternate sub-program library with a minimum effort. The ALTLIB program selects subprograms from analternate library file and merges them with the user's program load file. Only subprogramsthat are called for (directly or indirectly) by the user's programs and that are available on thealternate library file will be selected. ALTLIB eliminates the need for elaborate control-card
manipulations to add subprograms from a subprogram file. ALTLIB returns to the user hisbinary file and the selected subprograms in correct order for a call to the loader.supplies the alternate library
The user
file. Subprogram requests which are not satisfied from thealternate library file will be satisfied at load time from the system library.
17. Key Words (Suggested by Authorlsl )LibrarySystemAutomaticAlternate libraryApplication-program library
19. Security Classif. (of this report) & 9*^ £,;,—;
Unclassified
18. Distr ibution Statement
Unclassified - Unlimited
20. Security Classif. (of this page) 21. No. of Pages
• '••uricia¥sffi£d^-;jrr? ^T^-CJ 5422. Price*
$3.00
For sale by the National Technical Information Service, Springfield, Virginia 22151
CONTENTS
Page
SUMMARY 1
INTRODUCTION 1
GLOSSARY 2
PROCESS DESCRIPTION AND IMPLEMENTATION 3
PROGRAM OPERATION OVERVIEW 3
PROGRAM ORGANIZATION 7ALTLIB COMMON 7Description of ALTLIB and Its Subprograms 8Program ALTLIB 9Subprogram RDECK 16Subprogram RCI 21Subprogram IOVLN 25Subprogram ESTCREM 28Subprogram ADDEXT 30Subprogram CHARS 32Subprogram STRING 34Subprogram EXOR 37Subprogram WORDS 39Subprogram CRE 43Subprogram ILSHFT 48
PROGRAM USAGE 50Requirements and Performance 50Control-Card Operation 50Error Messages 51Restrictions 52
GENERAL INFORMATION 52
REFERENCES 52
VV>f-i"i.••.-*.„,•. ? .v,,.-i' •- • • - - • . .^j^jx;^5
111
AUTOMATIC COMPUTER SUBPROGRAM SELECTION FROM
APPLICATION-PROGRAM LIBRARIES
By Joseph M. DrozdowsMLangley Research Center
SUMMARY
A general-purpose program that enables access and use of an alternate library filewith minimum programing effort by the user has been developed for the Control Dataseries 6000 computer systems. The program is used, prior to loading, to select andcombine required subprograms from an alternate library file with the user's object file.It employs the user's program field length and is called into operation by a control card.The program structures that the user program can use include overlay or segmentation.This report describes the purpose of the program and the implementation, provides a dis-cussion of the program's operation, and gives instructions for the user.
INTRODUCTION
Modular programing techniques are currently in widespread use in the developmentof scientific and engineering computer programs at the NASA Langley Research Center.These techniques involve the development of frequently used algorithms into modular(subprogram) form and the collection of application modules supporting a particular areainto an application-oriented library. This library can then be employed repeatedly byprogramers working in the same area of application to simplify new-program development.
A major problem, however, for people maintaining their own application-orientedlibrary is the complexity and volume of control-card programing that must be performedto achieve subprogram selection.
The Alternate Library Access (ALTLIB) program provides a solution to this prob-lem. ALTLIB is a general-purpose digital computer program that automates the sub-program selection process. ALTLIB analyzes the user's program to determine allexternal requirements; ALTLIB then proceeds to select from the alternate library fileall subprograms that a user's program requires. The selected subprograms and theuser's object file are then merged onto a file designated by the user for subsequent load-ing and execution.
GLOSSARY
TEXT tables
PIDL table
LINK table
ENTR table
FET
RANDOM ACCESS FILE
PRU
Text and data (TEXT) tables are compiler output tableswhich contain data comprising the subprogram and informa-tion necessary for properly relocating the data. Each tableincludes an origin for the data, the data itself, and indicatorsdescribing relocation (if any) of the three possible locationsin a data word which may refer to addresses in memory.TEXT tables may appear in any order and any number.
The Program Identification and Length table is a compileroutput table which contains the subprogram identificationand declarations concerning common block allocation. ThePIDL table must appear before any other tables for a givensubprogram.
The LINK table is a compiler output table which indicatesexternal references (EXTERNALS) within the subprogram.Each reference to an external symbol must appear as anentry in LINK.
The ENTR table is a compiler output table which contains alist of all the named entry points to the subprogram and itsassociated labeled common blocks. The ENTR table mustimmediately follow the PIDL table.
The File Environment Table (FET) is a communication areainitiated by the user; it is interrogated and updated by thesystem and the user during file processing. An FET mustbe declared for each file. The FET is used by the peripheralprocessor input-output routines and Central Program Control(CPC) subprograms as well as by the user program.
A RANDOM ACCESS FILE is a file created to take advantageof random access disk capability. Random access is theprocess of obtaining information from or placing informa-tion into storage where time required for such access isindependent of the location of the information most recentlyobtained or placed in storage.
A physical record unit (PRU) is the smallest amount ofinformation transmitted in one continuous burst between acomputer and a specific input-output device.
RA RA is the reference address of a program.
EOF EOF is the designation given to denote an End-of-File,where a file represents a stored set of records, tables, orother information.
PROCESS DESCRIPTION AND IMPLEMENTATION
ALTLIB requires the user to declare three files in his ALTLIB control card: theuser's program file in object form, the alternate library file in object program form, andthe file upon which ALTLIB will output the user's program and selected alternate librarysubprograms in object form.
The user's file and alternate library file are searched for program-identification,external, and entry information. ALTLIB makes a table of these data (see ref. 1 foradditional information on the PIDL, LINK, and ENTR tables). ALTLIB then makes a listof subprograms that are needed by the user program from information in the table. Thislist is compared with information about the alternate library. The items compared areexternals from the user's program and entries from the alternate library. When a posi-tive compare is made, the entry of the alternate library is marked selected, and all itsexternals are added to the list of subprograms needed. This process continues until allavailable subprograms are selected. The user's file and selected subprograms are thenmerged onto the designated file, and control is returned to the user. The method of solu-tion for different program types varies only in the way files are manipulated. A descrip-tion of this process is presented in diagram form in figure 1.
PROGRAM OPERATION OVERVIEW
The program ALTLIB is logically divided into three phases and an initializationsection (see fig. 1).
Initialization Phase 1 Phase 2 Phase 3
Create FET's;decode inputcard; openrandom file;initializevariables
Form tPIDL, 1and LD>tables iuser's
i
able of3NTR,IKromfile
Form table ofPIDL, ENTR,and LINKtables fromlibrary file
Select sub{and mergeuser's file
>rogramswith END
Figure 1.- ALTLIB program diagram.
In the initialization section, the File Environment Tables are created, the user'sinput card is decoded, the random file is opened, and variables are initialized.
Phase 1 consists of operations on the user's binary file (object file). This binaryfile contains one logical record for each program or subprogram, and these records con-sist of a number of tables (PIDL, ENTR, and LINK). Each table contains an identifica-tion word which specifies to the loader the procedure to be followed in loading the table.The identification word has the following format:
CN we LR L
59 53 47 35 26 17 0
CN - Code number identifying type of data in table (PIDL, ENTR, LINK, etc.)
WC - Word count in table (excluding identification word)
LR — Method of relocation for the load address
L — Load address
From the PIDL, ENTR, and LINK tables, ALTLIB forms a table having the formatshown in figure 2.
PIDL nameNo. of entriesNo. of linksENTR names
LINK names
PIDL nameNo. of entriesNo. of linksENTR names
LINK names
Figure 2.- Format of Phase 1 TABLE.
An index of the position of the last entry in this Phase 1 TABLE is stored for lateruse. Another task of Phase 1 is writing the logical records of the user's object file onthe file where the user's file and selected subprogram will eventually be merged.
Phase 2 consists of reading the alternate library file to obtain information aboutthe PIDL, ENTR, and LINK names for each subprogram. This information is appendedto the Phase 1 TABLE. An index is set to indicate the last entry in this table. The pro-cedures applied to the subprograms in Phase 2 are the procedures applied to the user'sobject deck for table formation. The library file is rewritten as a random file duringPhase 2.
Phase 3 consists of indexing through the table formed in Phases 1 and 2 to deter-mine which subprograms need to be selected. To accomplish this task, a table is madeof all the externals of the user's object deck. This list is gathered from that portion ofthe table formed in Phase 1 and is an exclusive list. These externals indicate to ALTLIBwhich subprograms are needed directly. This list is then compared with the ENTR's inthe table formed in Phase 2. When a true compare is made, this subprogram is markedfor selection (a 1-bit in the rightmost position of PEDL entry). The externals from thissubprogram are added to the list of EXTERNALS if they are not there. When the com-parison list is completely checked, ALTLIB is ready to merge selected subprograms bysearching for a select bit set in a PIDL table entry. When it is found, the appropriatesubprogram is read from the random file and written on the output file. The process iscompleted by putting the combined user's file and selected subprogram on the file selectedby the user in his ALTLIB control card.
There are some exceptions in this process for overlay programs. The first excep-tion is in Phase 3. When the subprogram-selecting process is complete, a check is madeto see if the program processed was an overlay type. If it was, the table'informationabout the library file is moved to the low storage area of the table, and a flag is set notingthat this move was made. This first exception leads to the second exception, which is inPhase 2. A check is made to see if the library information is available in the low-storage-area table. If it is, this information is restored from there rather than readingthe alternate file again. The process for overlays is to treat them like individual pro-grams and to set special flags to denote subprogram selection by a higher level overlay.For example, in the main overlay a seven is set in the PIDL word indicating that this sub-program has been selected for the entire program. For a primary overlay, a three is setwhich will be cleared only when another primary overlay is read. Secondary overlays aremarked selected by a 1-bit which is cleared after they are selected and written on the out-put file.
Figure 3 shows a directed flow diagram of the ALTLIB subprograms. This figure,the discussion provided for each subprogram, and program listings provide the details for
Q13c^
^
11
'
«1P.
r
(M
W3w
' rH
w25§
\
§H
ESIj
^
g
Oi-H
05
OO
CO
-
H
1
gX
H
1
HX
Q
<!
o
,.
O
tiO
o
*
ca
'co
CM
1H
s1*tfz
n
0]
q8s
o
q<!
HX
Q
gXH
inF-l
•»<
rH
0}ffl
PHWw
o
— •
ST*^^
't-
s
s
9
^
w
s
oPH
H1*E02>—
Pi
cc
(t
t-1-1
CO
H5.P
PaP
oo"
S"'
^
e?
H1J
H
4
&
On
1&
h-
c
H
?
1
3
H
>£
5
3,
en1-1
CO
P<wPQ
OO
w0)tottf•a>=pfnbOO
&•§M
MHh l
I<fHO
13
•d(ii-Po<D^H
•HOI
«A<u
PH
the program ALTLIB, The numbers above the boxes in figure 3 indicate the order inwhich the subprograms are called.
PROGRAM ORGANIZATION
ALT LIB COMMON
The following list contains all the FORTRAN variables appearing in COMMON inthe program ALTUB. Dimensional information is given when applicable.
COMMONname
TIC
IOC
INDL
TABLE
FORTRANvariable
BUF(5121)
IOCN
IOA
IOB
LS
INDEXL(SOl)
LIMTAB
ITAB(6000)
LIST(IOOO)
IRNI
Description
Buffer used for input and output by all files;size is set for 10 tape PRU's
Input file record count
Flag for type of overlay to be operated on
Flag for type of overlay that will be operatedon next
Flag to tell if final output file shall havesame name as input file
Array used for index of mass storage file;index number indicates the number-of-records-less-one that the random file cancontain
Last value of TABLE
Array used to store program-identification,entry, and external information from user'sfile and library
Array used to store subprogram names andrandom file index number of thatsubprogram
Index of record number used in writing therandom file
Description of ALTLIB and Its Subprograms
A brief description of ALTLIB and of each subprogram is given in the following list:
Entry point Description
ALTLIB Control program for Alternate Library Access procedure
RDECK Forms master TABLE of program binary records
RCI, WCO, BSP Controls file manipulation processes for reading, writing,rewind, and backspacing
IOVLN Determines overlay type
INCREM Calculates position in TABLE where next PIDL name willbe stored
ADDEXT Develops list of EXTERNALS to be processed
CHARS Interface to STRING
STRING Moves character strings in a bit basis
EXOR Computes exclusive OR of two names
WORDS Decodes the ALTLIB control card
CRE Creates File Environment Tables
ILSHFT Moves data left circular in a specified word
Information about OPENMS, READMS, WRITMS, ABNORML, and REMARK is contained inreference 2.
The ALTLIB program and its subprograms (subroutines) are discussed briefly inthe following sections. An ALTLIB program listing is included; also, subprogram listingsare presented.
Program ALT LIB
ALTLIB is a FORTRAN main overlay program that coordinates the task of all sub-programs, controls indexes of various tables, and selectively merges final output. Theflow chart in figure 4 and the program listing that follows show how ALTLIB controlsprogram operation. ALTLIB is an overlay program because this format allows the pro-gram to load faster and to use less storage.
T
READ SELECTEDSUBPROGRAMS
FROM RANDOM FILE& WRITE TO FILES
1
CALLWCO
1
SET SELECTCODE BY
OVERLAY TYPE
Figure k.- ALTLIB flow chart. (LSTA denotes the last table entry of the user program file;LSTB denotes the last table entry of the library file.)
cc- ce a: ce co cc cc CD co cc co co cc CQ cr CD co cc co cc cc cc co cc cc cc cr re e c c o c c c c c C i C G c Q c a c c c o c c c c c c
_JI—
«
—»LJ•.
O
•.
— H
OJt— •
_J
1—1
<I
—
5ij^-.u>O
_ J — i _ j _ j _ l _ j _ i _ i — i _ J _ ) _ I _ J _ ) _ j - j _ i _ i _ i _ j1— 1- H- 1— ^ K t- I— 1- 1— 1— t- t -h-»- l— 1— t-l-h-
t l ^1 t ^1 <1 ^1 1 <t ^ ^X i ^1 <I. ^1 <1 *! <t ^
I!)crLLJ
X3
tot—=3<tu.UJQ
UJ
Q.Q.
t
a.<T
LJ
o<ta
CO O _l—1 O
O LL.cc; Q LJLJ „ rr, _ a
—i — i -a. co o oo0 1- <I LJ C£
*•*• <I LT\ •— « H- O t ij-< a — . ~ «- o (-v\J •—• _J --Q O •• >J" nJ- ^ - X < O c u - . , r j ^
m ^ -> iu t — o ^ — ' f^i -3" <i.*"^ LJ »-J dj S, >O *«J '"^ ' ^^ *"^ -J" i f
u_ LJ cj 2 »— i ~" LJ <i iij m ^^ <tcr- o •-> j •-< -j ccj a t— _i — r LL- TJ ^4 ^ »w. <4. -O — CO (.." (M
— l1* .^^— -J iUI— ^ v < ^ i < r W)
1 — LJCJI — LJ •— « i»— ' OJ i.ij 1 — I*"* ^1
— ' * — • C j C O ^ C ^ l C O - < t L J r - * O «
<1 i- •— — «— 'i <l ^ t- i\ Z. Z- J -M >•^ >- -J -^ — H- a S cu rj LJ '-i o ..u x :i
^^ P' ^ 4^ •*** «2 ^^ ;/) f <jc ^y) ty^ L! -^ ^_j • (_/^'*• i.i : u (_• u' LJ • J z. > \s. *L j* n co LOo i-L «•- 2. s. s: x cu <i «— 'jj uj -i — o -i r-i MJo ^ ^ 5 i. s: -£. x i- a s: a: i- o H _i *. o>X LJ U LJ LJ U O •— < r-Z —« — • -1 ^ LO < CD -JJ' X O O O L J O L j O c J . c l J O O ^ J - J u J S Z
* » * * * •
.-0 rr, .0 (n ro ,-o in <O ro n m ^ -r> .0 /»-O O 'J O O O O LJ C3 CJ O CJ O LJ LJO O O O 0 0 0 0 0 0 0 O O O OO O O O O O O O O O O O O - - J OL J O O O O O O O L J O O O L J O OO O O C J L J C J L J O O C J O O O O O
- J _ l _ l _ l — I-J - I _ J _ J _ J _ I _ I _ ! _ J _ ! _ I _ J _ I _ I _ J(— h- 1— 1— 1— 1— I— h - t— f— l— t— I - -1— t— f— 1— 1— H-
< < < < « < <. ^ < ^ < < ^ ! < < < ^!s!<^ar
Q IU^ CC
^ o •m rn— •1— LU
5T '— 'II.! O'
~ z•f UJ
ro— a: -1.1 1 LLI
-J J
<r T>l— :
_l iN)
O -
• CO
5 :'J •
LJ <l 5T O
^ •* "^^ 6 ao a-, r •«
— :j 0. .jj. O _J . -H tC
c/) * "^ -J;u —< u » U rDcJ O -J -»> O ^^CJ '-"> —i -;J -(.) •• U- T to LJ O
i i .* j j— . r*j;^ x o _i s: —(_j ui ;3 1 <l i —•*— t f_- _J ^~* *^l LJ — •i— ^. S itl —•LJ •— * X >- i— ( — '<i ' • >_) ,X iX OL uJ
O ^ -• -« !J1 ':j t- -Ilij ~ • .3 fl -c ---i o >; ..- xi_J LL !jj LO :•?* -J C\J f\4 --U .'X MJ LO <T — •
— < Q LJ -J LJ — in -A CO O • 13 h- —>
u- -4J <J. — ' • l/l » *• vT •• —
O cx is\ m >- -1 — i _i » -J — ' ••-<n ^: .u •-" ^ v" -i •— — -J — i/; _i — --:
" tl, ^ ^ "* if TO °" " * " ^ <r uj <~£ -a "-S _J o c ~o .-n o — — < u ^x .x "i ^ < u o u ML y: ~) *- .-; •-•
u u u -J u —• -i _i —i u .-: LJ ^ ._> cu•a. ,a AJ rjj _j .;i ^ _i _i _i <t r-i o 1.1 —• a. :u — uCO "vJ O tM <I 13 -X <J «l <l O II O Q J O O LL10 "^ - J - '^^^-— ^
-*t # • • > ? • ^ "W1 ^ ' iV ><••!(• iJ* •«" •""* '"Nl fc
o '"v ^J- -n o CM -r ^n o r- •*p- - - t* C\J fNj *™\J -"XI >-" - i"
o o o o o o o o a o oO 0 O 0 O O 0 O O 0 OO O O <• J O <-> O ,J O LJ 0O O O O O LJ O O O O O
10
cc co ao oc cc cc cc c c c c c c c o c n c c c o f f l c c c a m c c c Q c Q c o c Q c c c c c c c o c G m c o c c . a c c c c C c a m c c c c c o c o c o c c c r c Q c c
-1 _l _J .t- 1- 1- t
1 f 1
<x. <l •<. •
OL.LUCO LU2. _l.J CO^ •t+ t-
uj cc•-i CCt IX>-Z 00UJ ^
oor. tuLU J.,n os:_) LJZ 004- _l'O 14-4-4 H-
4—4
I—
z. «LLJ LU00 _Juj re:* <Q- 1—
oo Z.:il —4
<t 1—1— Jt
•a.Z h-<I 00Xi — i
••.1
.£ *ci.j•— < : U(— .>
LJ I I
«i c.a.0LJ. LJ
f—uO «— « 00 3
-t ar-- lu _i|JJ U. IXuu Z ^vJ < l-U^r x >"— •* V-- t~~\^^ f^ LJ
» » •» -9
-) -J — I _l- 1- 1- 1-•J i ' i
a «a < <
111
OOLU
*— •a:i—zUJ
oZ<
oo_l<tHLCijji—XUJ
I.LO
UJi
•C•ai-
>•^<ix-c4—4
_J
LLLJ
•zo4—4
r—
<!.
•X
OIfw
t/1
Hj
i— (1 <l
O *-+—4 t/)
II —,
;3t— < >/>
(— 1—4
CJ uO JJO l L_—_i r—
0fi #
Is- r—m r<iO 00 0O Oo o
—1\~
<1
•
•9
c"a.(X
.,TfQ.
V<t—1o:UJ>c
CCoU-
>•— izUJ
;'_?•UJ
uo_J
'-/I>— 4
•y)nJ_(•"
J^
1 _ J— < _ ! _ ) _ I - J — 1 _l _) _J _J _t-(- l-t- l- l-h-l-t- l- l- l-
<<!<<I«a.<.<I<i-a<l<<
fl4>
*>
:u-IUJ•ai—
ULO
7*01—4
h-
C£.aIX
Lie:IU.s1_)—1
JJX1— :J>
r<i.
(_,!_) -.
ur •— >-a. 4-,
LJ 33 — -f^ ^3 V— ;ij n~UJ oo _i r\j— I -» X _l -'E '-f*_l '_> — 4 » <l -
•^ • +• ~J t— • NJO CJ <. — l ~5 II —;;j a; i- ,~4 + „ _ o a.X »oo -t- < ~7 "> — t o o - }
<I _l CD 1— — + CO00 3 II ^vl 1— '/J CNJ ^ > Oi - 4 4 - 4 j 3 ^ L O _ j ( r ) _ , _ 1 _ _ |
— h- II _l II -B II Jt— U _ o O > - II ~ 3 O < > L J t t
'-XJ •>ri m
•* *
i-" r\j ~r in !•• o — i --0 I*- '3^r sj- -T ^ ^r ^> LC\ n in -u• 3 0 O O O O O O O C J0 t3 O O 0 0 O O O JO O <J O CJ O XJ O O >Jo o o o r-3 o -> o o a
j _j _i _.i-i-*-•1 _J __J _
: < <t <i
_i<io
»-<tXJi
~>•Qt<raiCOH-4
_J
aj1—<Z(XLU1——J-a«^00•-U »^ a.»-* <T1— (Xrs oa aOL. i£CD Q..•300 Z
4-4
LJ <t~ X
00 TCUJ CJO LL(_1
O
^ —^LJ O<AJCJ 0r._
a t-i— <i
:;i_i s:—1 uj-a i—o t
i —'-/> oo4~4
X t—h~* <I
* -> ->
J _J _l _l — 1• 1- 1- 1- 1-
: < <i < <i
LUoo<LU-JO.
•<rt—<0
LJZ.
OO
•— 4
<1—'Z.OO
!.LJQ.
0 <I•i) t—•.
0 >•TV CC•— <T» IX
— • JJ
— < »~4
^^ |
L;J-J X•TO J^•a — -r1—^-4 -_
•. ^^ ^
CM >- ,x~- ^J <t>c jc: o ?iLJ O -4- 'Li•OJ Z :i!J >— •_)JC >- — 1— II -JLL, O <*— 4 4— 4 <^ : j
O O iA<• .n u>
r\j r-- (\j r^vU -i) r* (O O O O0 O J Qo o cj aO O O "5
_l -Jh- 1-«~J .
<5 <
—OOUJoZ<r
o
nz
JLk—4—4
5
OZ
Q -.
itl
004_4
J3 •4—4 :.U
_J _lL— 4—4
._! 0.
<1
C£• r>
^ au >•LVJJ- OLJ 1—
X T•'"* -"~^•~J ~J-f <NJ
^. ^CC .-ti
< <ia. 5:•.u f.:ja: oc
-J _)_J _l<i - IO Lj
<r -oc- r-0 00 0o cjo o
- J _ J _ J _ I _ I _ I _ I _ J — 1 _1l-l-l-l— t - * - t— t— t- t-•— J vj — J -^ _J — J --- * ~lj — ' — J
<t<<.<<14«t<t<.<.
OJ•r\
1_)t—
Q>- <"Of.d — *oc aOJ «
•—4 xjf
_) LU
•Z ~LJ —
4—4
a —4uu —-1— .'J> UJ<r n _ii_> cu— Q <t—i i— i—IX 4b
_> LJ. —0 0 —
i-S-. _ _ _
UJ 4-4 t— UJ
l_l — 4 OO _J
— _i ai0 i ' • «t
:i"\ X ..LJ f— t—ij < —i -x ;jj — r^-.•o LJ 1 :_) « cr ;n
^ ^ ~ 1j(._• ^i n -i « ^-4 x a(-LJ 33 — I II II 4-4 LU t-
ai r— u >— 1-4 ~- —OX OO *- <4— ' i— i LL X O
o r-O n
* -»
O — i r ^ ^ ino t ^ i -OO CJ O O tJ — < — I -<r-< ^H »H 4— I fH r-H i-H -H-. -3 o o o o o o o'-j o o o o o o o0 0 O O CJ O Q O
1 _J1—
<1
Xro•
oro
4>
^«
t«4
4—4
»_4
,
UJ-JCO<H-II
«%i_^1 — 44— ,
-^
UJ
—1OJ4
.o•
OJ•
--4Ot— *
^* '
LU
03^1
r-.r-4
— 1Ooo
_J -J>~ 1-
) ^ 1
-a <i
Mcc r~-r- -1• •
a: rirO LJ
• 4)
^* %
4—4 4—4
4-4 4—4
4—4 4—4
*"— ~~r
LU i.U_l _l23 CO<l <t(- 1-II l|
4—4 4—4
4"4 4—4
4—4 <— 4
^- — *
UJ uj— 1 —Joj aj•a. -a.
— » <—— 1 (M• «
0 -Jl^U 10• «
<r -a.0 0—4 4—4
»• *-*
X LL
r<1 Or\l nip^ r-4
O OCJ CJoo
_l\-
<
«»4«
4—1
•
'JL; '. ••
ft.LJZ4—4
II
^^
?•
•r\
>rflF^
oCJ
o
-J _lI— I—
•<a <
~4
o
1-11 —
LJe>
ca>-OO—1
•t—O• 4-4
t— H —4
•— U
^^ 4—4
IJ. 4—4
i*- r\jCD r~4! —4
o oCJ CJ0 O
11
c o a r o c c o co tc> ro co cc a: co
— > _ ! _ ! _ ) _ l - l_ l_ l _ J _ J _ it - l— t— t- K >- I— t- (— I- t-| - t-K I-
p~r\
Oi —
ao
oi—
<_JO
5t—'-/*> r— 1
_l +•
• <l
CS t—aj vx>
ijj » ' — « -J_J ,25^1 t- II II•- 1 :/)h- -J t—«i •— X 0.-u a. ai <:O *-i •— t <~-.
o0r- 1
:3
1 —
a'O~>,<th-IS)
j
O •—t f—
II O-H II •
}— . . — i
II X < —ijj J?*-' lj_
•— * ^ *-.•—<
h-X
^-* oh- OX !"-
>-* O•— t—i.J
•'U '.!>*1 *— »h- ,-n
*• <•*** t^— « ^_v -i-.j _j
r > u!<T O1— « —
t- r~(
H- X *—
X LJJ -
i.! ^ -:LJa + iX 0
0 1- 0 r--<r x e
J *-» :";_j >-* i—_4 •— II<f IX. LJO '-1 •— • O
0
oo
LX
LU
t—
XUJ
CJ<r
O
^
'JJ
Q.
1—
XU
U_ CM
UJ
~t CL
L'J <l
•!X. H~<li — ^^
L_J
i.L OfLj
">O O_J II?<X h-£•_ - _J
i-t. - ; iij -J
^- ;itX ^O{_. J
(_/-)
>• 'OJ•..j- r^ •— «.-. i—
••,o_i
tjjh-XUJ
(.-1l-jj*-.
c-Or-«
\~~
<L=y>•j/_
._ JuU .L
' ;iJ'- O >h- (_J,£ II;_j ><
O ^ • ' J
ooc\j
•— jt—r_jo— »
H-XL.J:•
r-4 h-
+ O•*; • —<
^/li — li
u-• ,__« ^H
•
Q_<J\—
<i.~«
ULJ
tf?t— .
H-— /CJL!_
-.iL( ;.i>LJ
<
"U
O•— *— 4
1 I>—
oo— %oh-»^)
i
•t—o
4
»— «— .U-
*-*
^-*— i
i — t
—7J1
-c;i —— i4.
•:""> ,'M4- 4*^— . — *
ft H
:C. _J—> ~J
r\:*l--H
'.J
(~3(,"«,— j—)•
i —f 2•
CJ
~3< — .
U_.-<
•I.I.J2T
h—.Ol_)a.
u_o
w;r —
^L•— *
a_
>-
t—
^
. ..•j
. >O
><. u
•K~Xaj
O
_J_J<t•_; •
•-._j<ir.?.
:X'.JJ
~> X» :i ;
'.I.'
'"> '
-J
\\ *a.3
~> • _ * -1 U i
--)." >•
"H ^|-_
'.J ^
lit' o y
0-trH
Oh-
oC!
0•
oUJ
•
V—:/l-J
• — •i jJ_JOJ<a
i —»
~)•*—'JJ*JUJ
<1i —-—ex'.'3
: li^_U-,— i
-o
^ S- . II
o
O -1
u\ -u
o o a o o o o o o o o ;j oO O C3 O 'J O '~> O O O O O oO O O O fJ O O O O O O O O o -o
~ < co >0p^ r— >~*«l i«4 -HCJ 1_) OCJ '-J Oo o o
>• --f\ *j r-f-> O •'_) '-Jr-< CNJ r\J C\J
0 O 0 O'-J -.1 -> ^J0 0 0 0
Al^4
AJO0o
rO "3 .'0 m -0_i ,-NJ CM i\J CMAJ AJ C\J rvj rg0 0 O 0 00 0 0 0 00 0 0 0 0
12
C C O D C C C C c E O D C C - C E C C i C C C O c O C C C C C C C C C C C D C D c D O L C O C C i O C c C C E c r c D C E C D C D C C - C C C D C C OJCC C D C C C C c C f f c C l C Q
1- 1- t- K
^*H-XUj
^OO — O!U 1— Oz x i->-« LU1— "H C33 — t-O LULX. —1 LJ03 CD OO "^ *"—c/) h— O3
•• <u- — i—CJ »— t «c-
•— — .CO U.I _l_J _J •<f f£* : uZ -3- OJf t~ *:.H *"* V~~i— t— x.< X ..u^ Li ^ 0
i— j + r"" *>" ^J ' — "~*U_ < Xv/1 i i Oi— t _J ~ • h-H™ — J -"^<C <t u- O01 o i— i O
T
M- — '
-O (NJ -.A-r\j nl rf~trxl r\i c\jO 0 OO <J 0~3 O O
(- h- 1- t- 1- t-
•roIJLI0.<^t—
LJ1—
•MUJa.<s\ —
>_LJIf. OU- O
TM£_1
! U CJ
t— t—
OLU — « LJ_1 .Xi Oi.i * f^J "^co -ii a;
» :—
1/5 -\J l/'.i .J — _li: a •^- •./> c i-t- ..o >- aZD ' — ' •"3 — ' •— *Cji — 1 II *~"
-a 'i.>• o — i — i
O ocj 0
.M O
O t— > O 'NJ
•o o ;^-;f> >^ >rCvj t\j r\jO 0 OO U CJ0 O O
h-HKK-t- l - l - h-f- l - f - t --
UJ_l
LU
LD
COoo1 ! J<_>
Oa:Q
1— •
Q. at1- Q•^ <— }a ^u
i x;>~51- J
I—^T t— .O•_> i; — i^— * -"5 O O "— < U.i— -T -r -*• a i.^ r\j fN( AJ o_ oi 01 CJLI. r^ v_j cj ' ' ->* '•/'LJ •» — | — t — i_£ ^1 LJUU LJ 1 — t_J ^CZ. Z. i-J O O *L i— ' <i>-• -a. o <-2 o Lj i—
• Q. < <
-^ — • o •> fi <_J --J: '••i1— ' • • . ! . U U.I :— 1
O lU J CJ '-J .•?--Li 1 Li.1 -u! .J-i tfil t~ O s-J
j T3 • « • ^ i — r —iU <T ;'5 ^ .C XO — < — >•-/I t— 'T "1 <t CO <t r.t 'i
II 1— I-- r- •-< .r .."i .S>- i) s. y~ - . n n
O H- U- U. 'J- O '_) ~0 -U,_> .T — . •— — ' :< r? — i i\j
0,-\j'M
«• •» * « • » » * # #
) -H .%J %}•sj- u \ ^"\ 4 ^og (NJ ;NJ (NiO O O O0 CJ 0 • Jo o o o
_ J _ I - J _ J - I - J - I - J — I-I_J-I_I(— l _ f - ^ (_ K-l_ ( _ ( _ ( _ ( _ ( _ ( _
CLCOCO
cp
^
IS ^»
»— tCJ d'
IX 0o
'./ O1- O
»-« CO Oa Q Is-O. ' N»
O I--j~ 3 UJ ^~at x r-1— O 1— Is-^ r\j r-.;j -l !_L Is-
u-\ (_*; ;*-
l/l LL f -< 0 r-
LO CO f 1-
— •• "-> >— : r~o o LJ r*-*JL X " -J •"* •
•i.i o )— :.J• z. c_i a. .
au i-< a cj >_i <arsj i — »
""* -10 ''•£ uO ^'a_ -a -LI ~ * 1 •-• — 'U LJ .< !_) -.iJ
...J V. U CJ -JCO :_il -.-.i — i "^ ?3
1 ' ^V ;i ) rCT
oo C ^T *—_3 Ul X LL _J — 1 II
i/1 LJ C; II .Ut— i • < I i '1 ^* ~>- d*— < ; U — J •-! ^- ^* *-A
0 X -J -L <• ->- >-rx I-J (- u: —
3.-nr\i
« • * * • » • * * * • « • * •»• «
•o r-^ U">tM CNJ
O OO '-JO 0
>-(-(-(— h-^H-h-t-
CQ0a
XJ Oo oo oCJ O
p 1^0 ~r - Is*f- r-Is— Is-r~** r^r^— r*»r- r—'s— r-'— O f3 :— Is-1s- ro f**i !"*• -r'lIs- f\l I'XJ !"- (\Jl1^ CO 1s*'- o a r~- • oI— h- 1— Is- O 1—1 -V ; ^— <?_
• CJ 1 ( • -3. \ I
;;.) 'j vj o • e>2^ <* —<1 — -^ <t — r\j -^• O3 O • ~* > ^
">• t- '-! >>•>• —>• .£. ^-^ > - > - • — « •*-M » • >~« «—« ^ \^J
^-- ~' '\j t— .n — • *— i — iir1— U + O '-I »— I— CO •co • >• > :NJ co co — " ™.~.•— • .-xj >. >, -* -. _j -.1_J r J •— >- O -J —1 II K—|| >-. II — !— II II 03 S
^vl U- > U, O li <T - U_—.«>-! .-i o — -i :*: '-
m o-o ratNJ -NJ
AI 'A r» o -o ro o •--, -.•u^u o<s- i"s*(s™is- trs- 'Jf\j ."M M (\J fvj rsi (M i\i ;nO O O 0 O O '0 O '3O 0 0 '_> 0 0 0 0 0O 0 O O O O 0 O O
13
co cc cc to cc cc cc cc co co ffi a: co ce cc cc co cc cc cr cc co cc a:, oo <r- CD co <r co CD a". 03 cc cc cc CD cc cc CD a: cc :r
-1 -J1- H-— J ~J
*~»
IX•— •
4*.O
2^_J«*
U- — s_J 0ai <;
4*. »^X •.
13 UL.__J ~)— aty> *
CO ^ r<1•U - ' —-•• <t an '.jj '_)— • <.£ "<-o-^ _J 1O -J -JZ. <L "=I
— l o o
n-i-ts.o o o.~o ro roO O Oo o oo o o
j !H !H !H " U !j !D j j !j j Ij !H !H j j j j j Ij H !H j !HH K- t— \— t— h- 1— 1— 1— K- t— H- 1— I— t— t~ l— (— t — l — t— t- H- t—l -
•UJcc
i—incc:LU
>• >
< o_i •
>• U_ <£ '-1 •<1 LLI CJ '—' •
1 > I-H O •re O H- > >-:.n < •=•-! —i- y. 2." 1
O C£ 51 (Y. O >* <3.. <t <I I a 1- _l --.f z:. s: <*. a. a. — •• >—
Q _ _. (j ^ ^x i_ <3 ._i <3 't ' 1 "- « 'X "~* s*
u_ ^ Q - a i i— i y ) K - » — •:*. Q- t/) > - » — < * — « §uj >- >• <f ;Y: u_ sf •^ c a c n i / ) — i < — t «C; — • ~- C :"3 JJ
— CO Q X LU rE 1- -CO -Ji;j 5: LU uj i— —i — i t- '-n—> m t— t— a — i 7 <si <t1) — • ' J O OC ..-t I_J — 1 t~<r •- fj tu o O OH- _j -<K- O -1 _J <u U. O _i 1— 'X 7
? IJJ :u I— ro o <q — • O i-iX — 1 L/^ c/i O «il H- -^UJ * til LJ l_J '.!J C_J . .U u- — .!! IJJ -J —• r— ILJ ^1 -J. U) •_)*c _ j o ^ : ^ f u j i — i — . — • — • -^•-4 rr.i ^i — . >— i LO ;j >_) '/> IT •— f— •—
« _J f_. |» ; ij -^ j ^H t- 1 •/! r-H ^-M
1C i? ~ 13 'J h- -J •*• -.1 <t <^> i/)O 3 U- O O : J • tl — O '£.' I— — 1 Q C; 'f^O _j tD ££.-£. '£. tsi '"* '7s 1 — "^ ^ f\ Ci.— _ J — » ^ - 4 C T X ^ | V _ f _ ) ^
^ ^_ iy> •• iy) V) t/1 A» *-^ • *-^ ^ CO ^ <^j f— '^Joi ^ '.u .£ m .u .n M.i -jj 5; C3 + < ca — i i ^-o -j
("\J O <f i-J -4J O ^* f — t — i — 1 — uj O UJ <-l t— 1 — 1 '4. '-J- vi "3+ "O s". . CM --a i_J <t -3 -a <i at -^ • H- t/i (/) ai f— _j -f>• rM UJ D II >M l_) l_) O !_•' LJ C, • r\J 2: CO .J — > •'-! < '.1V •:£ <t — Lt X « — • •— — • ^ O _J It II 1— -J — UI '_T— iz r-i a o LJ o — • c :n '.D .c '-') ^-4 •—H t— _i _i — _i _i z. z: *z z i— >-• >u <t _c- _i !<_• .ij n n>• _i -j o -J -J "-• i~< *-' — • H — > *~ i— " > > •*• >vi-}* ;_"j ^ <j. ;* <x <t .'_J U- O ^ co *•< -J i * >• f>j•-i o o vj ~i u '-> r~. ro o —< '-* o —• s: — i _i •— s; ^ — • — •
:O I-- Oro -0 0•>j CM O <""!
^r ** * * * * r\| * ft f«. * * * * *
^ «• -a r- ^ ^. r~ rxj ^ .n o(T, 01 „, p,, (r, ^ ,-n ro r-i rr, ro ro roo o o o o b o o o o o o oO CJ O <-> O O O O Q O O O Oo o o o o o o o o o o o o
j-H-i-HI-j jj.j..j!lj!l!II!IJli.j..jK- 1— t- 1— 1— 1-H-t— h-t- t- (_ t- t- f- 1-
o-(
ro
1—
Cj(J
•-*-^r—•
'...2i U•
ffi .»r\] <rr
• (—a s"D *• •
-^ OV 3-H <r^^ . •
LT> u i ~~•^ -J r\j•*•> CO ••- <i '..;*
-H 1 — -»J
0 II 0 •i-O — '£ — < -"O
— • >- r** r«l Oa.; >• — • — • '— ' ~CJ P- 'U — « UJ ~~
f — '^ '--^ i u O r~ •i/i — t _i «; r.J_i ••--> T'l ^J -A O ^•• -j ^: -a • C.T «
J3 -C ^ i— -. t<i .ti. • >--».-.
X —1 |— I- _ . - ._ , -V, Oyj
— | VI II ->- O • •
1 a< _i — . »-4 • -u c? '-.'X ^i It ^1 — 1 — < • C^ — 1 'Jt .J
^1 ^£ *— '^ r>J | | i-j VJ 'C • •f— J — J> • -< "vj >• _j • <T "O '^C>_ LT — 4 •_•") -^ ^j >- ^j -.-r i — '<t '..'',-4 _l _J -\J . J — . — rsj -J ..J II i— •-_l II II -O -J II II >- 1- •— U i. —II >• "xl ;:J I-J >• II — — - '-I — —
rxj >- *v; : j i'l ^ >- >- :X Li_ 1 — '. L i.L.
1 — 4 _« , , ,-^ ) t__4 >-* i_« t_j ,— « ^~ ™« f-4
~> (N ^1
r\l O H3ro .-O -o
* * ** * *
"vl r< j j- o ,>- r\j ro p^ o '"O ' '."M 4"
.0 ;<1 ro ro ro ro ro m ro ro ro ^ roO O O O O -J O O O O <J O OO O (_^ c_> O O O O O O O O £-2O O O O O : 3 O O O O •' J O O
14
t-l— h-l— t— H- h- t— I— h t-
<t <t
•oooo
'.U "-2T •. a
33 ;£o <t
o
u
-t•M
O
XI
—• CJ—I <t
I1J_1ro —
-o co
—4f.J "
, i— —
-O CJ —'
!-J /< — -I
?£ C2 f> u_ r-~ -i i
"O ' 5 .-^ rO • -C •
>- UJ*-« ;:c— O
< i • i . ,
.•?: ^i a. o. O a. —> ut rg (\j
• x <t •!> 03 • "O oi tj —• O'_) oo ' "i i:t - _ j _ i _ i _ i _ J _ i - j _ i — -i
. _ j _ j _ J _ j — _ j_ i — r4~
^D ;J o ;J O —« •_> <_) •— —i —• •
•-3•_Jr-
-i. a.'-o ;.or. crj
.* f-O iu-
-r-4J
15
Subprogram RDECK
RDECK is a FORTRAN function. Its parameters are the logical unit number (LUN)to be used and a position in TABLE to begin storing'data. The primary job of RDECK isto compose a table of PIDL, ENTR, and LINK names. This procedure starts with a callto RCI to read one logical record. If this record is from FILE1, it is output on FILES.If it is from FILE2, it is written on the RANDOM ACCESS FILE. A flag is then made ofthe code number and word count for the first table in this logical record. A slightdigression might be in order here. The deck of a subprogram as it is output fromCOMPASS/FORTRAN and most other language translators comprises one logical record.Each record consists of a number of tables. Each table is preceded by an identificationword which specifies to the loader the procedure to follow in loading the table. The iden-tification word has the following format:
CN we LR L
59 53 47 35 26 17 0
CN - Code number identifying type of data in table (PIDL, ENTR, LINK, etc.)
WC — Word count in table (excluding identification word)
LR - Method of relocation for the load address
L — Load address
The code number (CN) identifies for RDECK the three tables of interest in eachlogical record: a CN of 34 identifies the PIDL table, a CN of 36 identifies the ENTRtable, and a CN of 44 identifies the LINK table.
The LINK entries are also commonly called externals. As they are gatheredtogether by RDECK, these names are put in a table with the following structure for eachlogical record:
(1) PIDL name
(2) Number of entries
(3) Number of externals
(4) ENTR names
(5) LINK names
The word count (WC) is used to index through this logical record from one table tothe next. Control is returned to ALTLIB after each logical record is searched with atrue condition set. A false condition is set if an EOF has been sensed.
16
RDECK checks for overlay records and segmentation records. When they are read,they are written onto the output file (FILES). RDECK then reads the next logical record.
An RDECK flow chart is presented in figure 5, and the subprogram listing follows.
Figure 5.- RDECK flowchart.
17
CD EC CD eC O- CD CD CO CC CC CD CO CC OG <r CG CC' CC CO CD CD CC: CC CD CD CD CC CD CC, UD C C C C CD CC• tE re CC CO CD CD CO ED flT CD
— I - J — l _ l — 1— J _J -1 _ I _ ! _ J _ J _ J _ I( — > - ( - ( - ( - > - ( — 1- 1— 1— 1— t— (— 1—
OO O-J O O
0 0— CC O -X)LU o — 0_J .-. rH 0 O
CO • O 'J 1—<I — » <i lf\ *-J —•1— _ I CJ . — O O LJ — '•• <M -« _i ~r ^ u
^ . - < « - X — J - _ ! < _ )— > <n .£ — • i!J !\|. <T •• — <—-J v- O O O — <~ -*• U- 11— U- LJ 'J <C LU ro -* ^JI~-LJ^ 3 — i o >-« _i -' NT co i1- oLJ "O — " ^ ,-D C.S r\| » >-lU "-x -s. ~ _ i <a .ci -j- ii^--^-LJLJLJ t— C3 *•< 1— _l -~ < • _; 1- O •&- i— • a 1/1 a ii — < m _i • • i—
i— i— i 1-4 •-« 'X ,2 i o « — LJ LJ •J^ -^ •>- -J -v — (J U :_) O -i iU UJLJ ' —. •-• II II It i_> • • II*~< z ^ *z •£ . t/i i/) '.n *» ;i' o oi- a a u o • '-" <i «i' -^ x "<£<?.•*.0^:2 s:s;s:.jjjj-i — o _ i _ i _ i o• 51' i. 5- ^1 . 52 .X 1 — L3 tL) ( - - ..U3 d a ; _ ) L J L J ^ - < i - - _ l ; ^ C J < 5 U - L L O
r-4
O
_J_ I - J_» - I - J_J - It-t- l-1— l — K - t - t —
Oin•o
LJ(-
Q
^j•
H-
CJ
LJ
,,t
OCO Zo «ao •O — iO COo o•J Of*- O,— or- o!•- -~J
i — »— * ro1"" C' 1 v*J
r- — • r-iIs- '3 II
O P- -T — •o i— —* mr- r- r-j —
f^- l\j f j -^
O i«~ J^ ^; oi— r- o _i i
« -O _iLJ O rsj -» »O <£ **" •— ' tu
<x «^ < ^5^^ 4 • (~~% COt\J *-H -* LJ '.JU *•• + •— • ^u fXi • ro
Q ii ~- • -<J —• -»:.U LJ U- -I M !NJ LJ
« •_) -3 > II — O?~ '-' 3D O — » C3 S3 II II —" f 3T^j ^ 1 ^— •••» i i
~l — LJ>H-.fJ — _1
M LL LJ O U- «£ U. <l
_l —It- t—
LL
LL^3t—00
LJO_J
-J<l
»— i
Oi — i
CuO-
^_^5Q.f-
?
— 1 — I _ J _ J _ I _ I _ J _ J — I _ I _ I _ ) _ I _ J _ J _ J _ IH-l- t— h- t - l— t - H - H - l — H-l— l-l-k-h-l-
T
Z _1-y? o _,
u- 1— OO *^U- O ii
' ' '~DO t-2 2 co«rj !JJ | —
Q ^iOO - * I-H111 O O —i -i — iZ 3C Q. —< 03— • <r <j o o o r~-I — j£ >- i/l I — i — i — r-~3 '.3 L£ ^ O •O LJ >— ii I— (_) LJ CJ C2UL Ci rfiT •— ' LJ O LJ ii
-3. LI! _l LJ •=!OO O -» -• — •Q *-<£.& —<l -* <^ LJ LY. xj•jj w» ui >• :u - — i ij.i ••a. -J _i «i - (— '~j -»
•a — _< c.' >^j o —i_i : •-"- ct -u LU ",i —
) ^ vj_ :ij >-^> V/J V) U_<i_)^ t 'L I> - > — > _J _) O
o o i— I— ti. a f— i*- iri" .-^ X <t . _ ! . . . —
sr a. MJ .-j sr Is- cj> ••;? •.-» h-<1 * — * > • * '-U 1 i !.AJ • !-U
ii. a. .-j; x o • «- • t— JLL3 ~i <i .u — 1 —i _l t •*,-!a i iX' • > > > ij.j _iIX :ij 'JJ _J LJ !_J Q 3 II —O. 00 (y^^-,->t-._^^-.2;
:.! i ^1) -J "3 ' — ' — ' — *— 4 '~y -D ^ II
1/1 _l *-• U- U. U- >- O
•— :o rt O — — • — • — • 2 M II .u ^X< O^u. LJ Q 'O 1
^H
•O 0O
(-1-1—
ro •— .^~r »r*»p-»•
o
<i• -5
— » ^-r — i<N- CJ
— • I—-i
— 'Ju_ O• 5•.a —^-^H- .0la- *£.J. -J'/) t
1 *_• u-^"4 + (J5
LJ •II .*• ,<
»-4 1—4
:_) II -^
r* x u_
O ^M -T -O CJ O —t —« m f~ ^ O-r j> ;»\ r\ -J i) JJ u jj ~t> r- i>-O O O O -'J O 'O O O O CJ Oo a o o J o >•_> o o o o oo o cj o >-> J <J o o -J o oO '-> O O O O O O O O O O
18
C D c r : C O c C - a 3 a i C C c C X C D c C i C D C D c r ' C l l c C C C C O a j C C C D C C c C C C C D C C C O c C C C c C C C C C - C O C C i C C c Q c f i C O C D C D C D C C C C
-J_J- I -J- I - I_ I_J_I_1_I_I1- h- t- t— h- 1— I— I— 1— 1— t- 1-
03f>
000 -40 0 O 0 CD V.r\i rn xj- o Q r* r*-
— 4 | — r^ r—LJ I'J LJ i~- r—t 1 t— t_J LJ I**.**
^™* * '.* • •LJ O LJ O i_Jcy CD CD i i *• •» s* ^_
cr ra ro « • «-4- xj- vO — » C3 _J ^co ^3* m —4 LU • u• «• + .£• I t I I
o cs a LJ — i -• j -7-'jj jj aj .s • (NJ —> — o m
• • • *-4 IjJ — • A| '<^ (J> .—4
ZZZ + - IC5— • —O O LJ >-i • ^ LU iu O U— • • — - - < — 1 -J _l -J t— —4 h-
a. u. LU 'J- >•»- < <t O _j O— 1 _• -• ,-4 ~. -4 1- |_ J _| O
•opo
0 -ii—4
--4 «•
^ "lO '-O f^ *^ f"** C3 f^ -^ ^ if\
^ ^ - J _ J _ I _ J _ J _ I - J . J - J - J - J - J - J - J _ J - J _ J^1— 1— I—I— t~ f- »— h- f - l— l-l— 1— J~t— f— H-l-
1/5O
O
IUQC
Z0
LJ
t-tXoj_i-O
rtOu_
oo0 Tct t-0 0
O <>1!M </l^-i :u
0O <Z 33
i""1' ;r\ CD ^ LJaj — 4 Z II — QUJ _i o — CD -^LJ LJ •• ;T\ c^ ^ *!X i — - ^ r - — _ j a .UJ _J LU "
i j -J LJ ^ — • • X
iyi CD X — ( ~ _ i _ i LJill O •— a. — i a_at — •£- -i ^ u ^ •"•
CJ *: "« •-> • ^ •-> uUJLJ LJ •-•^ ^. — OJJ —1 >-4it i.u 'U — . || LU _J (\J Ul » | t—
O • r-4 _ 1 D _ J « i 3 2 » - ^ —1 LJ
: f 1 Y ~< • ^-* 1 Q ^- 'CJJ O "* — ' — 1 O UJ
O ~\J CD ~5 II >-4 >.'.l f\l <M C +• O ">U. iU — -i — » --4 CJ • II — LJ C? —*
'^ t^ ^j -^ I + "^ Z "*• O i -"^ '-/Jo ~ <: ii -i- _i -i " -j i-n iz -i a TK-.t— _ J - 4 X ' - t 1 _) _l — —I _l II 1— t-'__u Jl *^* 1) { tl- II __J • ^ . ( *** ' ^J r" '- •""*
_la_ •— _J -J Q -"Q -1 v_J •— -J -^ O — • — 1 C5 :<
-1 !NJ-r -T
O — ' J* -1
-r en* > * -I -« «• *
•O f*™ O CNI f\j CNI rO -O ' <"M -O fNJ ro O
-j -j -i _j _i _i1— H- H- h- H- K
<t < « «
co0Oooo.Jr^p-p-
!«I*— * r**z r-
— , £ 1-1•• —4r-2 r .
cD -f\ t~- a.'jr 1^ f * <«4
-1 P- +
•• LJ « —
U. 1— O Xrs z i—en LJ <i w)•• LJ • *— •
U \ '^ —J
LP -^ OJ *— t
_i d -^- i— '•— CJ U. V)
7 i — i ca _i— >-« • ii u
—4 V) ^. t — ^^ -^
+ 5" X 'J> X X— i— >-i • t- 1—Z — • * X </) oo:X a; fNJ f-* !—«'—••— '2 II i/l J -JII X >-« ~~ • — •
•— —I 1— -J t— I—
X < >- LL — -i—i O -1 —> -J -I
O
r*-
*
f- -. >r o .-i -r>•o *•- !>- r~ o o— 4 i-H r-4 r^ M (NJ
^ir1 p! ^.d^<r. < <t <i «!
COO0oo'3OP-r-^~
r-" r*"
~ ^~ p;
•^ f*»C5 r~-_l ,
-I Q~* m z-J r- <;—I t._- ^— \ _-^
U- 1— XO 1-f; 1 ( | i/)
•^ (JJ •— tin _i
,LU LT ~» •— ''z. _i o i——1 1 — O <1II 1 f.^ ^ 1 1
"» <t 1 — 4 _l^4 ~ >-l • ||
•*• *-* Vt ^ Y— -*,< + s: u. CD >•t— . — 1 ~^ h— «— 4 • | —
i/) rg . z >-• * > LO— CD X DC .NJ I- ,.-,
_j ; — i ~3s u </> _j— LJ || >- •— ~-t- h- H-, _l 1- _l H-
« 0 ii. — i Lt '-•_) CD •— ' i_> 1 -< _l
-,jSp*
^0 O ~* ffl ^» — 4 -OO -H . . r - P>J (NJ£NI CNJ (NJ CNI tNJ r\J ."Nl
ooooooooooo O O O O O O O O O Q O O O O OQOOO^OOOOOOOCJ O Q CJ O 'O O O O O <J O O O O O O O '-3 O O c_J O CJ O O O a O O O O O O O O O OO O O O O Q O O O Q O C J O O O O O O O O O O O O O O O O O O O O O O O O O O
19
_ j _ ) _ j - i _ J _ i _ ) _ )K - t — (-1— »- • ( -> -» -I— t— h- I— t- t— I—
I— I— I - J — I _l — lt— »— f- I—
ooooor~-p-r-
O
orvi(••l
HH
^ex•— •+-*•>1—I/I*-«
>•
O
UJ_iOJ<J1—
XLUl_l
ryUCt•atuu(_j<i
r—
r—r—r »i -•
05T<i•
--^
Or— 1
«.
•H».
2.
OO - 0•-4 — > fTl-— * •• {Y>
—
o0oooo13'•"3• J(J• JI J
O
ooCO
or.o
Xo
Xo<\J
•»• t— u—• o
O OO —— I VI» X
a: uUJ O
< Of <. —!il C
t—II '-.5
— i a <r_J 'J t_>
< <t CDo i— o ~)
3 oo o<M m
• QJL U Z<t —I <X « •O 51 SI
_l Q Q_j — —<f U_ O-o •—« •-^
O
<_)i.L
Ul
II CO-a
o ^:--^ _i
rM -r >+ O~5 C! —
h- IIII <
O LJ
<t_Ja;
OI'l
O OO r- 1
oIU '.JJ-J ?-£T- . T ^
_> '-* a:
ij :.J -a O U :.J :_)O •—• o X >-" O o
Oin•u
•K- * tr «• -> #
OC'J
O «N ^J" -O Is* •—* (M -"J 'O Is™ -~* 'A ' *i" -U O m i-> -U O O *—* '-O -0 -"M ^rn n i m m rn ,-»T sj- >r ^r ^r ^r u\ u> -o o o r~ CST i^ r^ o o o o o —* -Hr^ rvj oj ^ f\j r\j rg c\i INI -:M CM ^ ^M. {v (Nj rsi CM r?\j tM p\j rn en ro en rn n> rr\O O O O O O O O O O O O O O O O O O O O
o o o a_ - - _ _ _
o o o o o o o o o o o o o
O O O O o o o
o o o o o o a
r— —< ^- o r- o fM^J :\J CM ."sj CM (11 ni
:-n ft "i ;n m m no o o o o o oo o o o o o oo o o o o o o
:-<l r«i en m' i m m .-<io o o oJ O -J Oo o o o
20
Subprogram RCI
RCI is a COMPASS subprogram that initiates all file action requests for theALTLIB program, except those for the RANDOM ACCESS FILE. RCI calls the CircularInput/Output (CIO) subprograms to complete the file action requests. To carry out itspurpose, RCI has three entry points:
(1) Entry point RCI is for reading information into the common buffer BUF. CIOissues a binary read function code 12B, the B indicating octal representation. Theparameters for this entry point are LUN, which is the logical unit number; BUF, whichis the first word address of the buffer for data read; and LNG, which will contain the num-ber of central memory words read and indicate whether the read is complete.
(2) Entry point WCO is for writing data from the common buffer BUF. Its param-eters are the same as those for RCI except that LNG is a three-element array. LNG(l)is length if LNG(3) = 0. LNG(2) is 1 or 0 depending on whether or not the write is com-plete. LNG(3) is equal to 0 if no End-of-File is detected or is equal to 1 if an End-of-File is detected. LNG also contains the CIO write function codes (16B or 26B). A 16Bcode writes full PRU's. A 26B code writes available information terminated by short- orzero-length record to indicate End-of-Record. (See ref. 1, p. 3-29.)
(3) Entry point BSP is for the file action requests for BACKSPACE, REWIND, andWRITE EOF. Its parameters are LUN, which is the logical unit number, and LAC, whichis the file action code to be used.
An RCI listing follows.
21
i _ i _ ( _ ; _ / _ i ;-J-'-(-i
oUJOf.
UJ •oe or< o
ax <o
I aiQ_ITO
oo
oor
>•CO
LJa:
co
<LUa
Oct i
<Joc
z >- atLU to h- OO HH Z U.
a.ous
LU •z z1 J ^
I— —I3 —O ~
i o- LU L->
O »Z <t O"•* (V (V
UJ tO -401 Q t— :* in
O LU CL <. 1/5Q or i co «-•
</> or or or uj— o o a M
or •-O 1
O f\l o•-. . oo -*
(Ma: xUJCDI.3 •Z -fr
CD +O »- »O •- <»1O Z +•O O .O f\JU l^ +oOoO -t Zo co •-*oo
OCa
< <MUJ fJ
or l OLl o
> I Da. x <<t LU
3 H T3CD i— a
X OC
Oat
LUU.
UJ
a.O
ae
Z
01oc
•
O O C O X X X X C Q - r X - < X C O C O c O C O C D - 4 - X X C D
orUQ
III
O
LUU.
rn irtX -H X ^
in-i x
• V) tOto i- \- -<
in CD -co -< x
X Xt/1 OJ
a. -Jz <
— u
-J CO CD CO U,_l r\| sO r\j u.< ~> (\J -T 3
OJ
LO i—< os or
U-lZo
-rsr•~«oooooo
oo
CO
r\J
u oO oO o
o uo oU vjLJ >-lO O3 Orvj ur- o-i o-1 O•H a
ci a >o o t
Oooou«HfM<Nr»
om(M
oIN
roO
oo
Ooooin•o
oooootn
*OQ
0.ooom•a
-or-r--O
ooin
oo o
am
+-o
ao
' o
o o o oo o o -o(J O O O!J O O 3
oo
CO
CNi
On
sO
LTl
-H t\J ro m -o p-
22
It-o
oc cc< Q
OX <tO
X UJ2 U-
PO COz
ex •-•D <
fM O. o
fMa. X
CO•ofM
aoCD•o
QO
occ.
Q.Xoo
* * * *
oZ
2 +Z3 •
fM00 *•a <x a
« oa: 3t
Z I-1-1 UJCO U_
UJz:<i oz o
4UJ_J LL t-
if rr\ Q
CDLU
» 00 # I «m o >M n *x m x x x
COCOLU
— < PJ s: — iX X t— +
O7.
fM X+ I
, —• m <M
<M XX t n _ < x X - <
m oCD ac
r> o -•coo + * * « • * + » + • +
Z Z O C D X X X X C D C O ^ J - X X C Q C O C O C O ^ - X X C D
o oae. o
X < X C O < l < I X X X « J X < < t X X X <LU LU LJ OO
00LUa.
COCOLU
aoo
OOaofSJ
+
fM
oUo
oo
INICl
CJoo
Ooooof\l
+ I1
o
OO
-fo
mCM
•H roO Oo oo oO Oo om m•o *«—i —ij> in
-r infM fM
fMOO
fM
m
ooooom-o
OO
ruo
oro•i)-o +
r\i -^o oO ou oo o<J 'JO CJO -O-r -io Is-
o r-or-O O<J OVJ •«-r -Ho >•'
oooO
r* o -H PMfM ro .^i rr>
(J
((o -Uo4J
( J
0
o0 O0 -t•J ->o m
*-mm o
^^oC3OijU^HfMfMr»
m um o
tj.")J1
-Ha)
OfMinfi"O
o ofi -.nrvj . ^4rn *Or- m
o ^.fi m
>o om o
ffl l_< fM- in in-t .0 Ul^^ »-l r<tp-4 U> ^
fN O -«in (\j oro ^ oPO ^ O>f r- o
o oin ^r— -t« ~<n -n
o •*-r -r
Oo'Jo
fNJ•r
23
_ J J _ I — I_ I_J
— I _J _ I _ I— 1 _ J _ I— I _J — I
LLJOCu
zo
«tUJof.
IXtjo
a)LL.I
I
LUKLU_lQ.s:o
ao
<t a.s z;
< QCO OLLi U-Ct
ai •a oc<i oox <o
QC i-cO <
OCJ
Otuj
rsico *<. -9.X OC
UJat
LUI-UJ.-)a2Ta
a.O
coLUO
CO Z-J CUO a
> ujco o:o in
UJa.
a:ao
IIIIa o
o
LU GOs; a
CO CO
CO CO
- 00.•o
X IM :* X #
C D C O X C D Z . X — < X
(M IX »* •• <_> O-
(\jx * Q.
» (\J CO CXlf\ X CO CO
—i x * » m'.A co —* ro'cc ~> x x
cOCX '
CLCOCD
(J _)UJ OCco X^3 UJ
COUJ COo <<C£ OO O •i- -r
fM m O fM ^T
O o O — ' CJO O O — ' OCJ CM o CJ ^* Oin ro IA LA o cj
IA <-* cj cj cj cj*o — i ^ — * o -H vj — •>T-oorO
Oro>r-um
ro-r
oQ;_>OQCJ
ro—4
^
.*$•
oo•JoQ3•At— «,A
insf
o o oO 0 0o o a.o o o0 0 0000
-* *-4 -*IA o r\
-o r~~3-r -r u-\
jrvj•— <r-
.•3in~^•oIA
-^iA
u-sOooo
-Jro0
AI.A
cccc
cccc
cco
CC
CC
OI 5
32
2C
CJ -J (MU CMCJ 1"-o oCJ *^O — «CJ -OCJ LA !
m Tir\ "J^
CNJ
^OsJJ
* (NJ•-^
— (O
Ooo
om,—4
m
r*tA
^jOsj
O
Otj
i(^,—1
CO•J
-H
^JOo'JJJur\,— tr\
o•u
-^ o0 O0 OO ^30 OCJ ,30 O>O rO->4 -iA O
-< r\l••o ^o
m CNJsu --CJ U)0 -"O — •o -*'A O-H cpfO O0 _J
- CJo -jO r\)•j »^O r~CJ O<j in' A >^— 1 ^)•J^ 4^
ro -T-0 4 0
ffiU.I
CJ
CJ
OO0o
+ ^•J
-1-<JoJ
o(•O
o• i-O
J> OsU -U
0orOf^ro
24
Subprogram IOVLN
IOVLN is a COMPASS function that decodes an overlay identification record. Theparameter passed to IOVLN is the first word address of the overlay record. IOVLNreturns the following information to the calling program:
IOVLN = 0 indicates a main overlay record decoded.
IOVLN = 1 indicates a primary overlay record decoded.
IOVLN = 2 indicates a secondary overlay record decoded.
An IOVLN listing follows.
25
c o c Q c o c o o D c o f l S c c c o c c c o c o o 3 c o c o c f j a 2 C O a o o 3 a 3 C D c o c o c Q G O c c c o c Q c C G O Q 3 c c i c D c c c o c c
44444444444 44444444444444444444444444
ata.
o . i/>oc «-O (/) 4 QO UJ Z • OCai t— I a. o o uat z H- u at 3: a.
3 Z O O>• U UJ QC t— 24 o o: 10 oc oi x_l 4 t- O O. UJ U.a cc. a. >-i u. z 3UJ UJ CD VI (13> t- I- 4 ui ac • aco o iac-o 0 : 4 0 i - *
4 o z: 4 x u. x in u *U. OL •-" O LU Q. <J UJ I— LU Z0 4 0£ O > 3L h- Z •-> J_ <
X O 1-1 O UJ OQO _)UJ O -^ •• I O - H t O Z>O 13Q. •- <>• ii z a.I- < I- (^ T <-•
•H uj 4 a ^UJ O Z </> 2: U l/>1 Z O*- ^ 1 - 1 o i\l
i. • •• *: -f az z t o i n m o o o c o ^ o x z_i _ j u j x x u - * < n - i -trn^ x x o i ~ >»»Z O J O J C D - » I » | » L I . + u. i • + aj * i . uj in »O O>— - H O t v J s O h - - ^ - ^ - * ' (M<NI -^ -^O i<MM-^ ' ^O ^ - - ^ ro in iAX^«-ivi>-<s o o o c D p ^ i r » i n - o r - x x x e D c D t o c o c Q ' H < / ) a j c o a 3 C D - < v o ^ - x x x i r > x
« oc vz LU at.
I- v i- >• 4z i- ac uj at o 4uj i/> t— Q 4Z t — - ^ m ^ f M t v j r o - ^ ' T i - * - * <">J ^ _ 4 f \ j rvj ^-jryi^in^in ;nifiO'-'i: zzo 4 £ D c D 4 m x x x x x x a c i 3 O o a j 4 c D o a j u j c D < a j X x x x c i : x x a :•—_ ju jZ ) ^ * ^ * -> o * /> * /> to t /> i / ) t / ) j * / * coa j»NJcou ju j v>w i t / j a j coZoo t / )u i—* t /»cu>-4N j t />» - t ' x i
_i 4 cc uj> X. a. 1/1O n II ii—• O -* c\<
Z 4_J -1 -I> u- o x s;o x z a u•- co i— o o
» « * « «
O o o in o ^ m mo o \r\ ** *"H <j "•< »-»o o o *r o o o -TO O Q -^ -f O O <J .-« +o o o ^ o o o ~ +^ j ^ f S J t j p * . ( M O C 3 ( J O O r ^ f r j ^O O ' H o r * » H O - ^ o o - H r * r v j i no in o ''n <_> C3 f^ ^ o (M •"* o o »n,O « - * O < - * ( J O -^ * «o -^ UA so O Of» +o ^ j t j r ^ o c j o u ^ o o m o 0 ^ 1<J O Of^J Vj O'O "^ *^ fNJ -O ^^ f N J ' O O'-f^ <NJo o otr\ < j - $ - r - o O f - * r — o - * o I A I A C N Jo o f\io m o i ' - o o o f - o o ' i n o o oO O ^ O ^ f O r » - O O O P - O O ^ r O O ' Ooo ^o r*- or* oo 0 1 * - o o '. Is* oo oOO O o sQ rn ^^ OO O r* O OO' sf '-J OO ^ J ^ ^ O > T ( N O ^ O f N J ^ O O r o o mO ^ ™^ t \ j "H * T r » j O ' " " ' f M < N * H ( \ | i — < i n j ^ oO*^ ^ —* O rO ^ •^'H ^-* -H —* i—* O f*» <—* rnO, <O in r"«t ( \ l " ^ • O Q - O ' O ^ O O O r s j r o r * O
26
C Q c D C O C O < C C C C C C C c O C O c O C D < X 4 e O C O C [ j C C C O C C C C c C C G a j C O C C C G C C c O C C
UJo
c/; <T—I UJo ctto iuz. u.>- UJ(/) Ct
IX)
o
DC
o
ctouUJto
Io
l_l CO
z.UJ I/)a: o
(— UJto co
<n ^x x
01 1 •»ff> -r ~rm x co
Q-
UO
».o'
— 1 COa. •O ~frO CO -
d^1
-1 CO
CC
M2C
*k0co -i» +
CM -* -CO CO CO
O•^ >4
mxop *N> i— I
3 P- X
Q.z:
(M aX 01 • aj
*f in inx x m
IMa.
s^ 2TX ~>1 •
m inx x
inx
01 |ro ^m x
O.s:^ rH• 1
in (MX CO
CO
M2A
B
*.0 0CO Psl» 2.
(M LJ33 <-!
•z._l
.-4- O
PvJ CO i—
' X X CO <J O CO COto »-" to uj LLJ to v/
—< -^ fM -H in
LOUJ I/I
a -s.^ a~> o
z:uo
ao
. Oo
oc oo o
OC
C3
3
ouin~4
r*
in*>fp*1*1_
IN
0
ou0
^•*•+-!
<u-T CM P* -O.J- •— t prj p*• T O O P-dl -J O r-O O O P-
O O P*\J CJ fM•J *J- pg-4" ^ r^00 <O
pj m >rrvj CN (N
UO
C2
7
outMin<_j
•oo
•aoor^
•»^
^4
-0
^rsj
u\
•r
o r-^^ r**^ Oa 'jin w
CM i_l—1 Oo . ino — •O P-CJ >O^j arvl -i-• o-o pg
O P-(M CM
r-m0tj
fj inm *j^o ofO "30 3
•»• oin inp^ -^ P-
O -4
vfi m
Ol
O^ <sj
m om ;nr^ + -^pn i*
-TmO^3Oo -n^\ 'tf*o mff\ p^o m
pg ron "^
v
<uroaO0•j -on P-— i p-ro P*n f^
p-(NJCM^^•0
>rro
intMoooI»J0r\j•^ ^0
P- tMtM Osj ^JCJ O
=> 0-> 0 O
00-4-j -r o<r -« -oO vO P»
in o r--m m n
*oooai_»^^ooo
27
Subprogram INCREM
INCREM is a FORTRAN function that calculates the TABLE location where the nextPIDL name will be stored. INCREM is equal to the present index + 3 + number of entriesfor the last logical record + number of links (externals) for the last logical record. Theparameter passed to INCREM is the present PIDL name location.
An INCREM listing is presented on the opposite page.
28
CD CD tE CC <3C CO CC CC CCr CD CC CC Qj CO CO
r\j
OJ
2TO
t/1aa.
OItO
— aj uj
o ao
X. — 1.Uilj UJ —I
cr.O !
on•a
CD
ui;Z)
O Ul
<;ui:
i. —O
OJ OJa <t
• u-z >.c
Xa.-au.
i-« X>-> u u ui ^T 'i
H Z X o — I— —IJJ :U 2-L1- '.U <i
# # *
COCJ
rn ^3- ,Q r- ~sj -O N- —< rgO O <-J a "• —' —i <M -\J'O O O C3 O -) O O O•o o o a o o D o ,j(_> O O O O <-» O O UCJ C> U O O O O O O
29
Subprogram ADDEXT
ADDEXT is a FORTRAN subprogram. Its parameters are TABLE (I), TABLE(IEXT), and NEXT. TABLE (I) is a location in TABLE that specifies the beginning of alist of EXTERNALS to be operated on. TABLE (IEXT) specifies a position in TABLEwhere a list of EXTERNALS will be stored. NEXT is the number of externals found. Thepurpose of ADDEXT is to make a unique list of all externals to be satisfied and mark sub-programs as selected for subsequent merging with the user's binary program file. A callto ADDEXT is made only when the user program needs this subprogram. When ADDEXTis called, it puts a 1-bit in the rightmost position of the PIDL name entry. ADDEXT thensearches the list of EXTERNALS for this subprogram. If there are any externals thatare not on the list of TABLE from TABLE (IEXT) to TABLE (IEXT + NEXT), these exter-nals are added to the list and next incremented by the number found. The list is composedfrom the user's binary file program and selected subprograms.
An ADDEXT listing is presented on the opposite page.
30
X•IU2:
ca
XUJ
OJ<Ih-•33
OC/l
*—h—
XUJ
O
•3.
•jJ
— «h—
'oat.ct-3(/)
E(2)
tX.N
EX
)
NE
THAT
A'
Rc
SELE
CTFC
INES
TH
AT
SEL&
CTED
RO
UTIN
ES
NEE
D.
EXTE
RNAL
S" C
F TH
ESE
ROUT
INES
AR
E FO
RMED
HEX)
IN
T
AB
Lc
.
<t X »— * H- Zi i— r> LU 1-1x - z> o x —Ui — • O 'JL t— OJ* Z i£ 1 —
— ijj (_j a. i/»^ z ;.u *; LJ -j^ • t/j <a •— »•JJ Z (_l UJ Cr<a LU j_ z: ^ !aj»— x t— «a 1-4 t—en — u. </> u.^J L/J CO _J "^v/l 'U x. uJ -J X
LJ Lll 'J£ LJ LJ SjJZ Z < C_ X 'JJ tlO iJJ X ..U O Z*-* -J • 'f — * --f•-O <t H- iU t- _l IIZT > X (/> i/l Q-iU — < LU Z3 i— i h-2- D 0 _J O X^-« L2 O .^ Z • UQ -U <I (O < •« Z
* * * * * * L
-O -O OLJ O O0 0 00 0 0LJ r-3 OO O O
•
a.
i—LUJ-
»
Oi.U>—o_J:U
)
>-; A.
<rLUa:a,x•"*
J 0 L
oo
oI—
,«,
0
•IUs
•~*ccfH
tCJZ
"^ ,CLJ LJ<t LU
1— 1—CO O:3 .ufV5 1— LU^ UOLL.-4 .
.X
*-J LJ l_i <-
f--: JOJLJO
cot— «•
ULLJ
•OJn\ —
i(/I
II
T;<Th—OJ15'-•O
J
—4r-f
Oor 3
O
-^(NJ
—
•y.1—1Q13W)
II
Z: UX
AJr-4
CJ
OLJO
>
~^
ro X^* UJ
5 +i — ^ ^•ii LU .-u115 Z Zs/1 ^ *
-!• rOII
II IIX
X *—* *""*
•~O *T *O— < — 1 — 1•3 0 OO 0 Oo a oo o o
0oLf
a.
OL3
_,i — i
•t—C3
•:tj^-4
•_-
LL^~4
LJ
^_^.-\|
r_3OoQ
•IJJZ
H-
0a:LOt— <xi—
u,l J
LO
1<1
Ztx
X..Li
, i__lj'7>
ax
..'jja>— 4
LJ
1t— 4
»
CJ
II
>— 4
O•J
fM
£j
-Ij
3--•MO~jLJO
•raU-i
a.1/1
(—<00
•uOJ
a1—
1
<to z•-* 3.r UJ
I—
LJ X>— 'U t—
Xa u. .uo o z— * ••• V/l
C« •-" II;^j j
• -5h- :<:"••< ' :J D-U > OZ O -i•~«•j- < a"i CJ O
a
*— •
LJ LJ
in s>CM rvjO OO O0 rjO O
oCMr-i
aK-
CJ• 0
LJ —•< O
h- C3Z LUU •a —
-«»•• -T
t— —LO CO-4 <I
_l t—X
^ lijL_l ••
-^
^ »— 4
LJ —
< CC
—1 LLJ<i r
*y"i™i — - uJ<I t*£ " 5^* C D i£"o: X ?-•u ^u »~
K- *— <£x LL a
<u_,' *— * O
1-1
LJLJ L_J '
f^» O-^j m^) 0o oLJ Cj
o a
— »t~ t~~•D<l( —fU_jOO
- II
>— - I—X t- X' U X enZ ilj LU IJJ Z
Z 13 1Ju — z z u s?
•Xi —1 >— i '-t.
t- <£ h- »— X Z5X t- Z Z .:J r-JJ X LJ LJ Z .LJZ ,U LJ O ^ '
0 0 0 0-H '?g O O_l _4 CM :j>
,_, ^ .„, 0 ^
•T -T --J* 'T U^ ••!>
LJ o o ;-> o oo o o o o oLJ O O LJ LJ LJo a o a o o
o
31
Subprogram CHARS
CHARS is a FORTRAN subprogram that was written as an interface to subprogramSTRING. This subprogram is needed to position words of the LINK table properly. LINKtable names can be split between two words in the following manner:
LINK name Q8ENTRY
R Y
Q 8 E N T
Q 8 E N T R Y
Word 1
Word 2
CHARS puts them into one word (B) in the following format:
B =
The parameters for CHARS are A, B, I, J, and N. A is the first word address ofthe array from which data are removed. B is the first word address of the array to whichdata are moved. I is the byte position in A from which the first byte is moved. J is thebyte position in B to which the first byte is moved. N is the number of bytes to be moved.
CHARS is written in a general form, but for the present purpose I is always of theform 1, 6, 11, 16, 26, . . ., 5(n-l) + 1, . . .; J = 1; and N = 10.
A CHARS listing is presented on the opposite page.
32
C C C O C O C Q C O a D C U C O Q U C D C D C D C O
Z 13•> UJ
-5 Qt
CD UJ•• O
t—* <*.
—5-5
CD-)
inI
v/J OJ IIX -
X -I
I —ca <i
O * O *—I O — • O
(J
HH
00
(JL IU OC
32 s: <i
</) Q O
^ t-l ^ -) «- ( • — + — Z fX>-i * -? * * K-— -a — -o o i/>
ii ii n n
« CQ -3 i£. < LU 2<_) OL- -'U
* * *
OOCJO
r i — -o o o o o o o oo , - 3 0 0 0 0 0 0U ' J O O O O O Oo o o o o o o o
33
Subprogram STRING
STRING is a COMPASS subprogram that moves a string of N bits. The first bitmoved is the Ith bit of A. It is moved to array B starting at the Jth bit. I and J are inthe range 1 to 60. STRING is written in a general form, but for this problem, N = 60,J= 1, and I = 1 to 31.
The parameters are A, B, I, J, and N. A is the first word address of the arrayfrom which data are removed. B is the first word address of the array to which data aremoved. I is the bit position in A from which the first bit is moved. J is the bit positionin B to which the first bit is moved. N is the number of bits to be moved.
A STRING listing follows.
34
I- I- I--l -> - l _ j _ J _ ) _ ) _ l _ l _ J _ ; _ J _ l _ l _ l _ J _ J _ / _ / _ i _ j - ( _ ) _ l _ J _ / _ ( _ J - J _ r _ i _ J _ J _ l _ ; _ l _ / _ l _ J _ / _ I . _J _j _I _J _| _i .J _i _I4 < 4 «i 44 4 < 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 <t 4 4 4 4 «i 4 < 4 4 <i < < < 4 4 4 <r 4 4 4
03
a
oLu
a
u. aa s:
••• O t-Z Z •-» _i CO
•» a:• H- >-
CD It t/>» OC
— LU ID19 > XZ O H
QCh- Ito ;
LU aZ LU~ x
»- • I _<aj -H • at
o a. LUZ O LU LU >< DC O P.O
O Z LU- 1 <I |_ CD
4 ac ZU. — O
O U LU Zac x LU 4O I- >- >"X *•* ••< 4
CD Z I-a. i- «-> zOX lO «
t- LU Oi— - CD a. oo
CO UJ t- V ZX oo z H-
X t~ -D 4 ac: H> f. t-i-i (J
oDCo
V)
O i/> •-•ac "-1 coOQ I3 I- Z</>
x o a >• xH. LU z «t >-
> < s:C/> O LL.>-i 3C i-, Z «
_J DC3 I-O LOXl/J >-
OC< I-
LU
Z
to
om<.OJ
IIn-4
X
I I-• -5II IItM *CO 03
LLO
ODCO
X
II
-0X
IZHHii it
-5 LL -< —LU «- -J
~ o _• -* a. i 2~ o o«t OLL.
>-i O —'"I_/ I
Z Q.o z
ooo
x
C
>Oi.
a-Ou
o cu ajaco a z
t-« U-It— i->
-i XO I CL
IN)DC OC
\-</>
03OC
IT!OC
«tX O
ODC <O X
I •^^to CD
IM XI CO »
• o
CMI X. *
00
1 Oi -J ^ f\l O
+ + I
o o e o c o x c a x x i o n x x a x m c D r r i x a j c o
DC
t—V^
-O t<- -J
I - + •
i rn x 1 fD
•oat:>—oo
*H »x (M -o ino + I •I X OD C5
4X
t • * » j c < < x < i < t D < a > £ X ' 3 £ X < i m a o t - x x a i c a l u j o a a j z : < i x x x m u j
Oz-f-«ac ac
i—oo
act—1/5
» * * • » # • » » «
o o
OO
CC
QC
CI
cocc
cco
C3 J
J 1O Jo oo oO <Jo oO tjo oO •*)'O O
3(«g
tM
mot-4p*-om
r*r«*
r*(«. sQ
tM r-
fM P*>4J !"•
r~ 0CM O<T 0fM Q%O o
O O4- a(M 0•O -1U P
ofo•N-Oin
o*r-*inr
OO
CO
OC
CI
»4r*
fM. O
-O
—4—4
CM -U•U *Qr- tM) -i ,
o •* m•n -o o!*n H f**1r<iMJ
O
inin•otr>
* rgIN
—«-TOOoo0r»O
r**,r-ir lmiin!f*4:
£
tMm>nMJ•a
^•Hm•oo0oinOoO
7C
CO
CC
1'
r- 'MJ
0N.
r-r--0
-t m»x Oin tj• O
O ~^ CJ.o >o ino ^ oO <Nu CMO H
o oO 0-( Or~ ."3or-4
4
"m
>o •0
oininrO
tM•O>oCM—4
35
XLLJ
< H- COO 5 H - 1 —
O CD —cc-»H- coto z: x z
l U J Zcrooz. u. i
.j <o 1-1 arLU — >•o: e> i o Q. LUO"—Z"SZ: >
LL IO UJ
Zl/lI- U-•- OCL)
COOh-LJ —oco
cooOff
o*-« tu jcc_ i o o o To < t t - u j
a: x. cc.I— I— O O O OIJJX«IQI-
o t—•o u-II "-1
>O
I 0-1-i— zIou.
u 3.2 -5
CO
O
:>O
CMX
C U U . O C D
COK1-4CU
xi
cazoou-x* ! 1 - 4 u.j^1"-!!!!!-!-.
i u > ~ ' Z h - > - i a nct a o I ; o. u. o iOO"-«Z:S"^->- i ' - lOZ
a.O Z J V
inocI-CO
Ulo
10 Z_l IUo am atz: u.>- ujCO DC
U> lf\(M
ocoe
UJ ZK O
I— LUCO CO
CM m-H («-
O
•jr- mo-ox c o - ^ c a c u c u# I "f •• •• I
cu ajo * +
O D X C O C L l c O C U e C i ' y c O X C L l | X X C O O O C O C O
I - I % C I X * X C L I M ) C UOL 4- •• O > -f I » I* + # I » * » O + I » »
( \ j i r \ i r \ o o r - - o m [ O O u v O - n > o x > O i n o oX C D O 3 C Q vO-CO X C O C O X C O C D ^ C D I X C O r Q C U
cu QJ — ixojco-^I * + # I » *
of a:•— i—CO CO
a:>—CO
a:>—c/>
och-CO
uj aOLO X_, uj
I/)UJ COo <Ia: oO O
m * rO i'-i— <J
rgni
oOm
in^>>u-o
-oa o
ao
o-Hoj o
OrgC\J
oa
OO O
ro-o
oo-3— *o
>ooO O
CJ
r* O — r\j<M rn PI -n
rgtn
36
Subprogram EXOR
EXOR is a COMPASS function that performs an exclusive OR between the two itemsspecified in the parameter list. EXOR is equal to the result of the exclusive OR.
An EXOR listing is presented on the next page.
37
ooo Z—I LU
• O ttto ec LUUJ S: U-o: v uj<t oo cca.^ -* mao
1/1111 00z i-•a z2T UJ 00
z aU. i UJ 2a ai *- u
It «t oCC «I LU I— UJo z a i/> uo
<ill UJ Qu rO O> z s: -10>-> <t o —ioo m o •3 O-I oo OO 01 ZX K CM
a: or LU «i oo X a:LJ l_) <_) LU I OXXZi- i l - _, t\l _. XLU LU < O <I O OD CD X LU
Z O
UO K- —I- V S. OZ C£ QC t- Z <UJ »— O _) "" t— -^ (M -O Q VQ Z L U ^ J <l<I<lX(-»2 U_J»-^LU OOO LJOr)o/)^LULU UJCO
QC LU 00 ZO IX Z 3 LUX O IOtU O Z UJ i/)
o <ae <O of. Ox a oLU t- •»•
o oCJ O
o ro -fO -^O 'J O<J (NJ OO f\J C3O <O Oo ir\ o<J O OO -H Oo oo -o •*•o in o
38
Subprogram WORDS
WORDS is a COMPASS subprogram used to check and set default parameters of theprogram call card (control card for ALTLIB operation). This task is accomplished by acheck of information in RA + 70 to RA + 77. An example of the control card forALTLIB is ALTLIB (LGO, TAPEX, TAPEY). LGO is the user's binary program file.TAPEX is the alternate library file. TAPEY is the object load file.
The default parameters for this card are as follows: LGO for user's file, BNFILEfor library file, and LGO for object file (user's file and selected subprograms). WORDShas one parameter, LLGO. LLGO is set at 0 if the object load file will not be the user'sfile, and it is set at 1 if they are to be the same.
The following are examples of acceptable variations of the ALTLIB control card:
ALTLIB.
ALTLIB (LGO)
ALTLIB (LGO, BNFILE)
ALTLIB (,TAPEX,)
ALTLIB (,TAPEX, TAPEY)
ALTLIB (,,TAPEY)
ALTLIB (LGO,,LGO)
ALTLIB (LGO, TAPEX, LGO)
ALTLIB (LGO, TAPEX,)
ALTLIB (LGO, BNFILE, LGO)
A WORDS listing is presented next.
39
GOOD m c D c D < D < & < D f f i m o c a m m c a K ( D O < c a ) c o m m ( B c c c Q o < p f f i m m c u JM _ _.«___,»-__^___^_. -^ ._*-_ l - l» . l - l . - ,> -^ -_ l . - ,»-__O
_l _) _ J _ J _ I _ J _ J _ J _ I _ J _ J _ I _ J _ I _ J _ J _ J _ J _ I _ I _ I _ 4 - J . J . J - J _ I _ J - J _ I _ I J 4 4 4 4 4 4 <I- K- >-K>-*- t ->-* ->-^-* -h->-»- t ->- t - t -K»- fc- l -h-Kt ->- t -»- fc- l -Kt /5</> l / ) l />«/> l /5 l / ' < t - < t t a - > - t -_l_l _ i_ i_ j_ i_ l_ i_ i_ i_ i_ j_ i_ i - j . j_ i_ i . j_J-J_l - i_J-J_J-J—i- i - i - i - i i / ioot / i i / ioo i / ico i />m_iaao_i_ i . j4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 U J U J U J O I U J a i U J U J U J 4 Z Z Z 4 4 4
x x i x z x r ^ z ujujujfM
M *t —"t - J O
a- • oo atU) I/I >O. 4*- x in! oo 01 o4 z d . aa o 44 0 ' OX — 4 -Jo a m ' —' •
o z s:l/l ^ (— « • ,^ Oo v) 4 ct to |* a<r 4 z C ac -«M o.o a: « <£ t- 01X • Z O 4 I- t- O
f - Q Q t t h - O C O ! C* Zl . f- 4 Ct Z UJ 4 4 4 ill '-'
> • + <* 4 4 t- z a. CL {O- <s>O C 4 < J > - « U J 4 ' O m
04 oc u. i-1- z: i i vo -.at <s> a o u. _i o ct • o i^ z41/1 O O U J O O U J l / ' O - <NOUJ f- h - - J _ J 4 > - < ( _ ' - ' ^ KO -J <S>
o z u . o c . - i i e - - » . 1-1 .Olll O O C £ K U J U J b O Q Q O l^»oi: p» u u j u . o a . i - i u < i uz •* v>
4, o I— i— — i - ia i O" ' • *-"02 4 a i x z z i x - i o ooZuj <£ a : z i / ) O t i J U j oc— 0> lu4 X I U 4 « Q C Q . O C L U I I i
X 2T K - O C O X 4 O >-a£ Q- t -O ~ O < H - O t _ > a _ l / O L i _ O O O O Z4</) 4 0 . O Z 4 4 ( - 0 ^ 0 1
o o <x i— o c a . ' - ' 4 > - > c a» , " s . oocO - I 01 O 4 H Z O C Q C X t - O 4 - ( , - - -T4—< \~ Q. X l / > 3 O I U J O W > O I XO » • «Q.« w ^ U J O ^ -> O. • «-t 3 X VJZ * -I rOco O Z <si a c - s u » *>• *^- 1 UJ 4 - I _ ) _ ! - l ( \ J ( X- X O C U l - l - l | » ~ O
to O4 h- _J 4 4 -^ .O Qo a . • _ ! ! _ > o o » ^ i t o z o( S C O OU.O X O I U J * « - 3 E T O I OO h- I- I/IOZO OL Qt X • Of a£ # # Q C Ct«x _ i 4 _ j o 3 j K x o e » » « . f rO fn ( n e t
IX) 00 _J 01 ^ M I I I I ( S J O ( V 4 o r r v 4 O«» -#^ ^ . U JQ Q O Z 4 . O-<<NfO t - X O X O X t J - ^ C D ^ H O I UJ#.00 0 0 Q .ct tx ^ —. u. O.UJIUUJ C D u . a j | » c D I ' - m i » I •• a. i_ o ^: —• o ^: * —' —iO O ' M H - U J 40.0.0. O X t ^ r r ) - l - p g m > r m t M < * - ' < J ' M 3 ! ; O 1 • » - « •i I I/I >T Z3O O O 4 4 4 U > r - u O i n X X ' J \ X X - » ' X X - O ( D t D ~ 5 Oil _l »A
». O t- t— h- lilZ OC I- O O Z.
i- > a o 4 o4 _ ) » / > - u O 2 I C C S 4 .I— h- CNJ^^ f<(^ fO^ (Ti^ ^^CNJ CO »— o *— h - O O O O D O O J — >^-4 UUJ C D 4 - 3 X X X X C £ X X _ J X c D C J C 3 O I O I U . O I LUOU.:U.^Z O.i;«<.O<n
<•» </i »« u ao <f> in a. (s> <-• wi>-«r»i</5i- .a._)</>ujujXi /> •-<-•</) «/>«!-•,> ai ai >a ic jzcoO O 4 !T O Ooc a o u. " o. Q.O Z 01 UJ O O- 3 . 4 Q Q X X
</> O O II I- U XLU Q O O "> I— h-s: at a v u n -j u -> a. u.4 O Z X Q - Q - C K O . Q £ ^ X XZ 3t -5 3 < _ > < _ ) t-J SEcoco
• » * * * * • » * * « * * V I I O O O + • +
^ H o o o o O ' o r —O O O O + < J O U — •o o o o o o o i nO < - J O C s J O O ' l ' l N O O O i J I AO O O f l O - O ' V J O O O O • *U O ^ * T r r t O > T ^ < N J O o Oo o - ^ + ^ ' f - H o r - + o . ^ + x o x u r -tj o ui rn r> <j <*> >x O o t - > - ^r o o ^ ~ r i N - < - > o i f i - r - o " i o o o c j - < v Org o —i r\j ul -o <r -^ m r> o O '-> o o - < - O^ C J O O O O O O O ^ O O O O O C N I OO O O O O O f> O O r- O O O O -0 -N O(M O O O O O O O O <"• ' <J O >*• O •*; >T\ 3(M O O O O O (N O O' r* O O '-> -J O O O Or — o o o o - f r o o - j ' t v j o o < * \ o o o o o—i o 0 4 O f > O ^ r O ( M < N J < J O iNJ O —< IN o -Tr^ o > - 4 r - 4 r - 4 r o r ^ ' ^ r O ' ^ ^ -^ ^ ^ ^ t n - x i ^ O ' - *C M O O O f " - O r O ^ O - O O O - H O O ' ^ ^ t - O
40
o •—•a u,QC •— •
4 KX. <stO 3
Z I-•-• I
4 i~iUJ C£
Z X •UL <N3 s: xK Oto a za. u. «
oo
aoc to ax 4
>- Z•— UJon z:o aia. a.
O "->
•aa.
xo
a. CUJI Q•x a>• *—•*. cc.4 UJa.X. Zz o4
UJacOZ
4
orLLI
CLO
XI->Z4
00
acO
4IX
a.UJ
CDr-
a
i/> oa t-LLJI- Oo r-4 +DC 44 QCX<-> 5E
OZ (XUJ u.)-
aa. cc.o a
U XLJ UJ
a
4ac4X
UJ00
aUJUJ
4
to
CJ t/}II UJ•* xX I—
I— UJUJ CC
UJ U.in uj
u ujUJ 5X <tO Z
o u- oo z o_i co _i
-I IM _!_!_)X X t— O O O i-l• CO * U. V. " >» I
vj1 r*™ rn T" ( O O IN >Q CJ CMC O P - X O O - O - O - O O I ( c o m
X CO x'iC X Zco i » a i • cu i • cu
a >•Q X-I a: a.•. r*i •• x
IV) CO O -JOCO + -I, CO | U• CO
O f-
CD 00O. Z
CJ
au
•o »CO O
CO -u
,<M
O O.vo z;
•»• o x <_>»l" U.- CJi .» U » 4 > X . U » * •CO. fO 51 *^ **f jC CD if sf O S *O 0 —J ^ Z f^ f^ •OC o l c O C 7 > O X X Z O X X C O Z 3 j c O c O I - O Z X X x
m -H rM
i on i. iy> i
Oa
a.s:o
x:-jCO
onZ
a.s:
Q.ya
a.ST.O
O O O O •-<
O vJO <J
INIror\)
OOoO
ir\vj O
>r w ^frvj o -^O U -<3 U "«o r~ o
>-> O"-> Oo oy oO ou O
oU •
<-» o ITN'-J o r--CJ O P-
r»o
•oo4
O *IM-O -J-r*- ngr- or» o
fMininf- +
opOooin
- -r CNJo -4 o
r- CJ OO -J -O-r o —i-^ o -o
ao
oCJ
C3 P-in ino o
o oI O
I- + .m i
CM
o
omo
C!O
p» —i rnu u cjo o oo o om '<-> o
oM>
Oo
CJ *0o r~
•*• <J -r
-O^1
^^5o0CM0in-j
o!ot
°io!mro'_4
O
^-4-HOo0oo!N
-^NO
(J '
•Uo;JOO-1-oft0
CM "",N(
O
Ooo-oo-*in
•oinCJkja0Nf
O
roa
<jVJCJ
oU
IN Or*l -oO Oo oa oo o•o oo >o
O r~O P-O I—
b oo ro
i •»•
CM
Oooo
o-o
P- O ~*ift -Q sO
(NlNO
41
U_J«t
OC5 f-_J LLJ
U.QUJ UJ
00UJo
l/i IT—l UJO l*or u_3. U.> tli
— ZUJ
O 00CX UJUJ OCivl 0.
UJ 00.s: ouu zi- o
to oo
co -a
aTt
< O
egLUa
X X» U
00O X
+OanC
CC3:
(M<a.
LJO
•z.oo
O_JO
a.<
o_J
o Xo
UJ 00o <<o: oo oI— -J-
o>•*
oo
fNJ•oo
o<_>ooUm•r
•f —>MJ
P»JOooooCJvt
ao
Ooo
o oU O-J Oo o-J OO COO rO-r -i
ooooCO•ro
oo
•ro
oo
o
ino
o
o•oin
+ + •6 c\j
o oO i>
o -•-t -IO -n
O—<ooO
+ ro
—• -3" rt)00 oo o oo -> o
ij '-J ^JO O 'JO :^ r**l
oo
oQ•r
!f\ O
•a <oU71 -Or— r^
42
Subprogram CRE
CRE is a COMPASS subprogram that creates the File Environment Tables used inALTLIB, The File Environment Tables are created to facilitate the use of a commondata buffer for all files and to use less storage. All four files that are created by CREhave the same buffer area BUF.
A CRE listing follows.
43
O O O O O O O O O O O O O O O O O O O •- O O O O O O O O
<«I««I<I«I
co|_4
_l
t-
<l
anOu.
0UJQLUUJz
o00 OK- •"•<UJ ^U- CO
»-»00 •UJ UJ1- Of.1 -x. OUJ ^» «J -J
O m "•* CM Z ••* *>• CMa. \— —> «. i o fM .H
2: O o - in « -s. in * -r in
CXo >•O t— or.
^^•'-•^-•••^OOOOLL U- U- OO OO OO OO
*•
C
^^»
*^— •
— O— (M• II
— • a.— o» 00
**• "**fc_ 00» _^
-•» »«^ Ql» ^^
r LU
-J -J» >-rt
a. u.O «co _i• o
a -x-1 <N
• UJ vj ^
*^U,pr>OLU O C J OO 13in co
o oCO M u.LU II >
II II II II II II H II II II II H II II
oo oo oo oo oo'oo o O o o o o o o o o o o o o o oin in
in in«j -Jo o^ f^ roO O -V(M <M CO
a:a
ua.o00*v•
a.
ua.o(/t
~4 O
• CO•x. v.~-l CO« <^a •(M _JII (NJ0- IIO CLOO O -J"»• 00 (M— < -v. II• -o a.
>- •• o1-00 00O •-« — I +
— i M Q _i in+ 0-11 + *
# O O O - U - U - U - C ?» — i 00 O O O 3 — I» L U > . O O C O C O C O L U
UJ 1-1 — < r\j o O O •-"OO ^ Li. p— ( >O Mj >O u. O
o o
LL^^
II LU 1- 01 LU LU II II II II
£ £ • * £ £ - £ £ £ £
i
j
, ~
• : ^^»
««, "! -~ o1 •— (M
» II— Q-— (J» 00
"^ ^<»• CO» -^
— • »— o• fM
—t Ul_l _J*• f-»
u- u.^3 *CO —1- o
O x-fSJ f\l
rH UJ ^T
~j < ^
U_ f li O U- O O O3 -CO :
O ClCO | t\J LL
Z Z LU n :>
M n li n
oo to to lin inin in0 0r- f-d fio ofM fM
(J O
0 0
o O a i L U o O U j Q I 3 r > — l ^ - t - Q - H- »— I— I— t - t— I— O O O Q Q O Q O C ! O O C Q _ J > - 1 — O. t— t— I— I— I— I— I—O LU LU LU LU U J UJ UJOO O O O O O O O O O O o O L O
00
IXajQ
-" O QCuj fNJ (M-I II II
—• fM " Q. Q-_J -I U. O O
oo oo
oo >. a of. at oa — > - _ i o _ a - _ i a a- J Q Q l N O a i Z OUJ II II II II II II II_ i a . < x a . a _ a . c x a .• - • O U O O O l J l JU. OO OO V) l/J V) O1) OO
OJ (NJl fM-I ll' II-• a, a.u. o o
00(00
oo v a: QCC 3 r — i ( - _ j a o .
oico
ui n u n n H ii u_ I Q . Q - Q . a C L C X Q -' - 'OOUOOOIJU, Lf) VI ts) VI IS> V) t/1
.j- >-i in-r o -u-I O i-o >-Jo -•
ooinor\i-
roooaoooo^o
oo
1S1-T
in-3
•OO
o o o o
O O O r-HU <J O t3o o o oO U O <NJ
O O O — 'u u o uo o o oij O O Oo u a 3w *-l «J <-J'-J -J O 'Jo o o o
3 O O Oo o o oO 000
oO
o o oO O '-JCJ O <JO J •_}
o
owo
o so.
44
oo ODO O O O O O O O O O O " - i O O O O O O O O O O O O O O O O O O O 1 - 0 0 0 3 C D O O O O O O O O O Or j c M r s ) C M < M C M P J C N C M C M C M c O . j o o c O e o c M C M C M < M C M C M C M C M c M C M C M C M r o r M f M C M c M C M r u c o . j u j U J U j c M r g c M C M r v ) < M r ^II II II II || II II II || II II CD I- UJ LU UJ || I) || II || II II || || n II II II II II || II || II LU I- -I _l _l II II II II It II II I) || II0.0.0.0.0.0.0.0.0.0-a-J —' —i —i _ i a - o . a _ o - C L a - a _ a . o . a . o . a . a . a . o _ a . o . o . < x - J — ! • — — • — • Q . a . o . a - o . a . a . a . o - a .O O O O O O O O O O O O l / i O ^ O O O O O ^ U . L L L L U _ O O O O o O O O O O O O O O O O O O o O l / l O O O O t O O O o O U O G O t / ) U _ O C C t ' C t C O O O i / l O O O O l / l o O O O O O V O
OLa.UJIIa.o
o or- r-ro mo o ^CM CM 00-* ~t »
a.aLUIIo.
in in
—I —Iin in
o o
o o<N CM
QCa.iiQ.
— o— IN• II
— a.— o» to
—1 CO» —I
'or •CM —iII CMa. 11<j o.oo o -iv. oo rg—i v. n
>- - oH* OO OOQ •-• -< +
—i ii o _i in* a, u 4- +o o o. u, u. u. oCM oo CJ 3 3 3 CMLU >K OO 00 CO CO UJ—J CsJ ^«* *x *s- X. _l•-" -j r>4 O O O •—
o oU. <t3 (NJ U.—i Si 3, a* u >
o o o o o o o o o o o o o — i i — i— a.
• CO
r-> 00* —I
CM -JII CMa. ii<_> a.oo o-* ^»» *O
ItO.O00
3.*03 _i• O
t- 00
Q —-< ii Q j in+ o. n + -fO O Q. U- U, U, CTf*l OO o 3 3 3 POLU -X. 00 CU CO CO UJ_i CM -v. x. v. "^ _i— -^ CM O O O >—
XUJo
HQ
-J UX CMUJ IIo a.z o1-1 CO
Q 03z •*I—t »— in
u. i3 «CD -I
•• Oin ^>
XUJozii ina +z m» a>« -j•• t-
UJ _)
O O o O
CO O QLL 111 CM U.
i— i— i— i— o o o r y o o o o o o o o o > - ! i — i— o. H - M - H - I — t — h - t — uoLULULULUUJLULLjll. CCO O O O O O o O O O o O O O » - i O
(3 00 >• 0£ Q£ QC Of ^oac a r » — i t — J Q _ O _ _ J C QLU(SJ1NJ r O O O t M Z 3 ' L U S : 3—I It II LU II II II II II II II-*a.a. _ i o - Q _ c x Q - Q . a . a .U. O O « - i (_ ) l JU l JOO<_)
l/l O*> Li, OO W) I/) VI f) OO l/»
in 1/1 > ix a a ocrocc mi-i i--jcxo.-jai-J<Mf\l C 7 > Q O ' M 3 U J X 3i- n ii _i n u u u u u ii_j a. a. t— 0.0.0.0.0.0.0.<ioo _i. o o o o O o o
V) (SI <LO</ IOOOlCOfcOl / l
o o o o
O O O -I
o o o oO O O rvj--3 O O —I
o o o ou w o oa o cj o
O <-» l_» 'J
O O .J Oa u o oo o 3 a3 O O OO 030O i3 3 OCJ O :-J OO o O O
m o o o o o o o(Jooo(Joo
•oro^>o
O O O O
O ^J O ^o u o oo o o O'3 O VJ <>JO o <J -<u u o oo o o ou o u oO O <J (JJ J U VJO :J <** '-JO O <J CJ
O '-J <J Oo o u aO v-l CJ O3 CJ <J OJ <-> U O-J C3 O OO O <J Oo o u o
o o o o o o o ooo
o<-)u)-J-J-
-o P- o o-I -4 (\J f\J
o<M
intM
45
Ocjtla.ooo
O O O OCM "> rn fOII II II II
C C C C O D C O C C C C C D C D a r c O C D O - C D C D C C C D c C a - C COO 'OOOOOOOOOOCCMi -<M i_ i i _ l Mi_ i i _ i M N H l - i i - i > - iM>-< i - t i - i > - . M
C O C M C \ j C N j ( M e M r \ J < M f M C M C M r M U J _ J _ J _ J _ J _ J , J _ J _ J _ J _ J _ J _ J _ l _ l _ J . J _ l _ l _ JII II II II H II II II II M II II -I t- I- I- K I- k- I- t- I- Ij- t- t- t- I- I- I- I- I- (-
O O O O Z Z Z Z Z O O O O O O O O O O O O U - < I < < < I < I < < < < < < <
in_Jo
OCM
a.a.
a.o
IIa.ooo
IM
_1 INJ «X _) (\J -H
XUJQ
Z X _J Z O«- 11J X II COu o uj a. —•o z o oZ "-i Z </> <M pJ« II "-• » _1 -— . Q |l «. ^ ^. fT)
•• *L a in +• a -m « 2? t7> in oo — i
-H CO•• Ml
ce •CM _iII CMQ. IIO Q.
V. OO
Q «—i II Q•f O- IIm o o_ u-
CMIIQ.U
O CMp-4
o a:en o LJ uu ex at a. t—rx o o o is o _i io •-• >-t oo oc u~ u_00 i 2. u o > •-• i
Io or—I ^ CMUJ UJ X
CD _l _J TO i- -i -•
or o a orM CM CM en m CMuj uj x ui ai x
«ti-CJ
o -<*^ ^^s: s:II IIa a.o oOO 00
CMIIa.
UJ3Co
O O O O O v j O O
O O O O O O O OO O O Q O O O ' - J. J O O O O O O SJ
OoUooO
OOO
Oga
O O O O
O O O —"O O O OO O O v3O O O <Mo o o ~+u o u o••*! O O Oo o o o
CJ O --J OO Q O OO O O oo o o o-*• J o oo o o oO O O 0o o o oo o o o
ooooooooooooooO Oo ao —•yj sQ
O I**
CO
CC
r~ u\-» r*o i—O r»O l^-o r-o o
enuooooo
ooooo
•uo
-ooooooo•o
oI—*0oooo-o
_<
•:_3Ooooor\i
CMooJ00o-o
•0o0oo0o,-M
m0ooouo*
en_^Oo0oo00
CMCM I
oen
enin
min
«in
46
m c D c o c D c o c D c o c o c o c c
-J UJc orm uix u,>• 0100 CL
in in x xto u> * +- lJCM^r-«O
•ft- i— < r x x x UJ t/>'X OUl Z.I- O< o
i t— LUl/> I/)
rr-l CO
r\j (Mng o
OrvjOoOu
IMi<i~a
ooo4JJ•O^HiT\
OogO
(V*^^
<M^r>mm•T
•or-•a
i +•r--r
vu _)LU CDto z
UJ l/lo <<IOC Oo oi- -r
o-^•orOm
<o -o i
Subprogram ILSHFT
ILSHFT is a function written in COMPASS. Its parameters are BUF and N. BUFis a word that is shifted N bit positions in a left circular direction. ILSHFT is used as apositioning technique prior to masking.
An ILSHFT listing is presented on the opposite page.
48
c O c c c o m c c c c c c t c c c c c c o i E o c c c
2
<2:oo
00UJo
00 Z
C oc
si u.>• LU00 OC
-• m
a.
O
Xoo i
O IOf I
ZI O
I/I U. —It- •— 3
U. Z I 00o 3 oo uj
O a00 O O00 K 00LU H- <lDC U- O Io -i a.U X O -O< o-j 3: x
LU OO•Z. Q
I— LU00 00
I xt/l 1/5
>— >•2: at •UJ I-O Z« ai
Za aa. *-
I—o <i
J I-U CXi "-1 UJ
u- a.
— O
t— </>r, «io a:
• oorg -^ —4 ro _J
O 33 X CD CD >—
I— - CO Psj ^O O >•< < C D < I X C J ^ : (J_iO OO t/) OO —I UJ LLJ LUCO
00 2:_) LU
00t- LU 00
O <I00
# * » »
IX Oo o •
oo ^
oo
ooooooooa oo CMo -io -uo
c\l•o
•oooooo
49
PROGRAM USAGE '"'"
Requirements and Performance - ••.' • • ' V ' • . ' N- f ' ; •.'""•• ' • . . - ' • : . - ' . . ' •
The program ALTLIB requires 37 400g central memory words of storage.
On the Control Data series 6600 computer,system, ALTLIBnises 15 to 60 secondsof elapsed time for most jobs. The following time summary, is taken from jobs used inthe development of ALTLIB and can be used as a guide to expected performance:
Parameter
Number of overlays in job
Number of subprograms in library
Elapsed time, sec
Case 1
6
*11
25
Case 2
22
*11
44
Case 3;7
90
40
The length of some of these subprograms was above average (SQOOg to30 OOOg central memory words).: .
Control-Card'Operation
The program ALTLIB is called into operation by a control card. The control cardhas "three parameters: the1 user's binary-file, the alternate library file, and the objectload file (user's program and selected subprograms). The default values for-these ;
parameters are LGO, BNFILE, and LGO, respectively. The accepted delimiters for theALTLIB card are standard SCOPE, delimiters.
The following'are-acceptable forms of control-card calls:
. ' • • . - < ALTLIB; .;-' -•• .""•; <ALTLIB'(LGO)
ALTLIB (LGO, BNFILE) 'ALTLIB (,BNFILE) ' < . -; •ALTLIB (LGO,,),: , , . .ALTLIB, (,TAPEX,) .ALTLIB (,TAPEX, TAPEY)A'LTLIB (,,TAPEY) 'AtTLIB (LGO,,LGO) 'ALTLIB (LGO, TAPEX, LGO)
• '« -'ALTLIB LGO; TAPEX,). ,-,-uALTLIB ("LGO, BNFILE, LGO) f
,. i'-fALTLEB- ,(LGO'; TAPEX, TAPEY)
50<
The following sample demonstrates the use of ALTLIB as it might appear with agroup of control cards:
JOB,1,200,60000. P0008 90930USER, DROZDOWSKI, JOSEPH M.RUN(S) ' : • -• • • -i. :• '-
• • • FETCH (P0094,SPRA01,BINARY) ' • ' ' • > - . : • j - t . l t . . •
ALTLIB (LGO, BNFILE, LGO) : • ' . . . . • • ' -SETINDF. ' 'LGO.
EXIT. ;: -DMP(FL).
Error Messages ' •
Messages indicating errors are defined in the following list:
Message
LIBRARY TAPE CONTAINS NO DATA.PLEASE CHECK. ALTLIB IS ENDINGWITH NO CHANGES TO YOUR FILE.
TABLE OVERFLOW
PERIOD OR PARENTHESIS MISSINGFROM LOAD CARD
READ ERROR
INDEX TABLE OVERFLOW
Definition
The file supplied as parameter 2 of ALTLIBcall card is blank. Check-out this file.
Table storage has been exceeded. User pro-gram is not able to use ALTLIB in presentform because of lack of storage. Thisproblem is caused by exceeding storagewhen adding PIDL, ENTR/ and EXTERNALdata or when forming the uniqueEXTERNALS .list in ADDEXT.
Incorrect parameters on ALTLIB card; seediscussion of program usage. ;
. ''>•, ' • . ' . . • . :.".. ; 'f ' "This is a message.caused by system malfunc-
tion. It should never Appear under normalrunning conditions.. . , ,
Library cannot exceed..50()csubpr:ograms.This is an arbitrary program limitationchosen when RANDOM,ACCESS FILEparameters were set.
51
Restrictions
The following restrictions are imposed:
(1) Central memory storage for tables of program-identification, entry, and externalinformation is limited to GOOOjo words.
(2) The alternate library is limited to 500 subprograms.
(3) The following file names cannot be used for requested files in the user's pro-gram when using ALTLIB:
FILE1QFILE2QFILE3QALTL95
GENERAL INFORMATION
ALTLIB is run at NASA Langley Research Center under a modified SCOPE 3.2system. ALTLIB should run as specified under any 6000 series operating system thatControl Data Corporation (CDC) now has in use.
There is one instruction .(XJ) appearing in subprogram RCI that is a CDC option.It is used at locations 15, 47, and 62 in RCI. If an installation does not have this option,these instructions should be removed. The necessary code is in RCI to run with theseinstructions removed. If XJ is in the system being used, this code operates in a passivemanner.
Langley Research Center,National Aeronautics and Space Administration,
Hampton, Va., November 24, 1971.
REFERENCES
1. Anon.: Control Data 6400/6500/6600 Computer Systems SCOPE 3.1 Reference'Manual.Publ. No. 60189400 A, Control Data Corp., Feb. 1968.
2. Anon.: Control Data 6400/6500/6600 Computer Systems FORTRAN Reference Manual.Publ. No. 60174900, Revision C, Control Data Corp., c.1969.
NASA-Langley, 1972 8 L-8024
OFFJGlAl. SUSfNESS FIRST CLASS MAIL
in the «ttH&spberedwemmatitm
P ICATIONS,f^irT
TJECftMCAl 1IPORTS: Somtiic andiftfona
, and a
i&rihrecl ffoaa bl valoe m JIASA acti dtes,s,
KAtm OTIUZTIOIM
»» cdhaetcal a0d oilierCOHTRACT0»,»1PORTS: Sdeotiik and T«cfc fcfefe,
a»i
tfaftvattabMy of tfrese
AEE9NAyi|CS ANP SPACi ADMINISTRATION