GY28 6714 1_Loader_Rel20_PLM_Dec70 1 Loader Rel20 PLM Dec70

GY28-6714-1_Loader_Rel20_PLM_Dec70 GY28-6714-1_Loader_Rel20_PLM_Dec70

User Manual: GY28-6714-1_Loader_Rel20_PLM_Dec70

Open the PDF directly: View PDF PDF.
Page Count: 157

DownloadGY28-6714-1_Loader_Rel20_PLM_Dec70 GY28-6714-1 Loader Rel20 PLM Dec70
Open PDF In BrowserView PDF
File No. 5360-31
Order No.
GY28-6714-1

Program Logic

IBM System/360 Operating System
Loader
Program Logic Manual
This publication describes the internal logic of the
IBM Systeml360 operating System Loader. The Loader
functions as a processing program to combine and link
input object and load modules in main storage and to
pass control directly to the loaded program for its
execution. This publication identifies areas of the
program that perform specific functions and relates
those areas to the program listing.
This publication is intended for persons involved in
program maintenance, or system programmers who are
altering the program design; it is not needed for
normal use or operation of the program described.

The information on the Time Sharing Option (TSO) in this
manual should be used for planning purposes only until such
time as the option is available.

This is a major revision of, and makes obsolete, Order No.
GY28-6714-0
and Technical Newsletters GY28-2401 and GY28-6405.
It contains
information concerning a new Compiler/Loader interface, the new SYSTERM
data set, and new Loader options.
All changes to the text, and small
changes to illustrations, are indicated by a vertical line to the left
of the change; changed or added illustrations are denoted by the symbol
• to the left of the caption.
This edition corresponds to Release 20
System.

of the IBM System/360 Operating

Changes are periodically made to the specifications herein; any such
changes will be reported in subsequent revisions or Technical
Newsletters.
Requests for copies of IBM publications should be made to your IBM
representative or to the IBM branch office serving your locality.
A form for readers' comments is provided at the back of this
publication.
If the form has been removed, comments may be addressed to
IBM Corporation, Programming Publications, 1271 Avenue of the Americas,
New York, New York 10020.
©Copyright International Business Machines Corporation 1969, 1970

SUMMARY OF AMENDMENTS -- RELEASE 20

Description
A new interface is defined between the Loader and
a compiler which allows an internal data area to
be used as input to the Loader. An open library
data set can also be passed to the Loader.

9,10,12,14
16-19,22-24,
28-29,32,34-35,
40,42,43,78-80,
85,86,157-161

New main storage requirements for the Loader
are given.

9

The Loader can be used with the Time Sharing
Option (TSO).

9-10,17,18,40

The SYSTERM data set is added to the Loader
data sets.

10,18,43,78,81,
82,85-89

The name of the diagnostic output data set is
changed from SYSPRINT to SYSLOUT.

10,15,18,19,27,
43,78,81,84,
85-86,88

The name of the Load module processor is changed
from IEWLOAD to IEWLODE.

77-79,81,84
85,86

The Loader can now identify the loaded program to
the control program.

10,17,18,34,40,
42,43,82,84,
85-86,162-163

Two new options, TERM/NOTERM and NAME=, may be
specified when using the Loader.

15,18,19,78,85,
86,88-89

The Loader processing portion can be invoked
through a new entry point, IEWLOAD.

18,43,77

An exception is added to the statement that the
CESD contains only one entry for each uniquely
named text location.

24,32,73

This publication provides information
describing the internal organization and
logic of the Loader.
It. is part of an
integrated library of IBM System/360
operating System Program Logic Manuals.
Other publications whose contents are
required for an understanding of the Loader
are:

IgtEQ~~£t!Qg_tQ_£QgtEQ1_~EQgE~@_~Qg!£L
~EQgE~~_~Qg!£_~~g~~!, Order No.

GY28-6605

Linkage Editor and Loader, Order No.
GC28-6538
Assembler Language, Order No.

Order No.

§~£t!Qg_ll __ ~EQgE~~_QEg~g!~~t!Qg.
This
section describes the organization of the
Loader. Program components (modules,
control sections, and routines) are
described both in terms of their operation
and their relation to other components.
Flowcharts are included at the end of this
section.

GC28-6514

The reader should also refer to the
co-requisite publications:

Stora~stimates,

specific labeled references where
appropriate.
For example, the discussion
of initialization refers to operation
Diagram B1.
Within the discussion,
reference (B) refers to point (B) in
Diagram B1. Also included in Section 2 are
examples of the internal tables at
strategic points in Loader processing.
Both the diagrams and the table
illustrations are designed as aids to quick
recall.

GC28-6551

This publication has eight sections:

Section 4: Microfiche Directory. This
section directs the reader to named areas
of code in the program listing, which is
contained on microfiche cards.
§~£t!Qg_~l __ Q~t~_~E~~_~YQ~t~.
This
section illustrates the layouts of tables
and control blocks used by the Loader.
These layouts may not be essential for an
understanding of the basic logic of the
program, but are essential for analysis of
storage dumps.

section 1: Introduction. This section
describes the Loader as a whole, including
its relationship to the operating system.
The major divisions of the program and the
relationship between them are also
described in this section.

§~£t!Qg_6:_~!~ggQ~tic Aids.
This section
includes the general register contents at
entry to program components, definitions of
the internal error codes, and a list of
serviceability aids available with the
Loader.

Section 2: Method of Operation. This
section provides:
(a) an overview of, and
an introduction to, the logic of the
Loader, and (b) detailed descriptions of
specific operations.
Included are text and
operation diagrams. The latter emphasize
the flow of data within the Loader. The
text and .diagrams are correlated through a
system of references. These references are
of two levels. That is, the operation
diagram for a function has an alphameric
identification~ within the diagram,
specific points of reference have
alphabetic labels. The text which
describes the same function refers to the
operation diagram as a whole and to the

Section 7: Appendix. This section
includes input conventions, record formats,
an Error Message/Issuer Cross-Reference
Table and a description of the
compiler/Loader interface for passed data
sets.
sectiQg_~l_~!ctiogarY-2f_AbbE~~!~tion2-~g~
ACEony@~.

This section lists the
expansions of abbreviations and acronyms
used in the manual.
If more detailed information is
required, the reader should see the
comments and coding in the Loader program
listing.

SECTION 1: INTRODUCTION.
• •
Purpose
• • • • • • •
Functions • • • . • • • • • • • • •
Main Storage Requirements • • • •
Environment • • • • • • • • • • •
Physical Characteristics •
Operational Considerations
Input Module Structure •
• • •
External Symbol Dictionary (ESDI
Relocation Dictionary (RLD)
Interrelationship of Control
Dictionaries • • • • • • • •
Loader Options • • • • • • •
General Theory Of Operation

••
••

•
•
•
•

•
•
•
•
•

9
9
9
9
9
10
12
12
13
13

• 13
14
• • 15

SECTION 2: METHOD OF OPERATION
•
Steps of the Loader Operation
•
Initialization (Diagram Bl1
•
Input control and Buffer Allocation
(Diagram Cl1 • • • • • • • • • • • •
Primary Input Processing (Diagrams
Dl, D21
•••••••••••
•
secondary Input Processing
(Diagram El) • • • • • • •
•
Final Processing • • • • •
•
Identifying Loaded Program 1
•
End of Loading • • • • • • • • • • •
Initialization (IEWLIOCAI
••••
•
Analyzing Control Information
•
Initializing Main Storage
• •
Readying Data Sets • • • • • •
• •
Input Control and Buffer Allocation • •
Buffer Management (IEWBUFFR) • • •
Buffer Deallocation • • • • • • • •
Buffer Allocation • • • • • •
•
Reading Object Module Input from an
External Device • • • • • • • •
Reading Internal Object Module Input •
Reading Load Module Input
primary Input Processing • • • • •
•
External Symbol Dictionary (ESD)
Processing (IEWLESD) • • • •
Preliminary ESD Processing •
•
CESD searching • • • • • • • •
•
No-Match Processing • • • • • • • •
Match Processing • • • • • • • • • •
Text Record Processing •
• • •
Processing Object Module Text
(IEWLTXT)
•••••••
•
Processing Pre loaded Text (IEWLMOD)
ProceSSing Load Module Text (LMTXT)
Relocation Dictionary (RLDI
processing (IEWLRLD) • • • • • • • • •
Relocating Address Constants
(IEWLERTN) • • • • • • • • • • •
•
End Processing • • • • • • •
END Card Processing • • • •
• •
End-of-Module Processing •
• •
seco~dary Input Processing (IEWACALLI
•
Resolving ERs from the Link Pack Area
Resolving ERs from the SYSLIB Data
set • • • • • • •
• • • • • • • •

16
16
16
16
16
11
11
11
11
11
11
18
18
19
19
19
21
21
22
22
23
24
25
26
21
31
34
34
34
35
36
31
38
38
39
39
39
40

Final Processing for the Loaded Program
Assigning Addresses for Common Areas
(COMMON) • • • • • • • • • • • • • • •
Assigning Addresses for External
DSECT Displacements (PSEUDORI
••
Issuing Unresolved ER Messages • • • •
Checking the Loaded Program's Entry
Point . . . . . . . . . . . .
•
Identifying Loaded Program 1
End of Loading • • • • • • • • • • •
Loader Processing Termination • • • •
Loader Control Termination • •

40

SECTION 3: ORGANIZATION OF THE LOADER.
Loader/Scheduler Interface • • • • • • •
Loader Control Portion - IEWLCTRL
(Chart 100)
•••••••
Initial, I/O, Control, and Allocation
Processing • • • • • • • • • • • • • • •
Loader Processing Control • •
IEWLIOCA (Charts 200-201)
Buffer Allocation Routine IEWBUFFR (Chart 203) • • • •
Storage Allocation Routine GETCORE • • • • • • • • • •
•
Return Storage Routine - FREECORE •
Object Module Buffer Prime Routine
- IEWPRIME (Chart 204) • • • • • • •
Read Routine - IEWLREAD (Chart 203)
Print Routine - IEWLPRNT (Chart

11
17

41
41
42
42
42
42
43
43

11
71
11
77
78
18
18
18

207) • • • • • • • • • • • • • • • • 78

SYSTERM Routine - IEWTERM (Chart
208) • • • • • • • • • • • •
• •
SYNAD Exit Routine - SYNAD • • • • •
Input Module Processing • • • • • • • •
Object Module Processor - IEWLRELO
(Chart 300) • • • • • • • • • • • •
ESD Processor - IEWLESD (Charts
301-304) • • • • • • • • • • • • • •
RLD Processor - IEWLRLD (Chart 305)
End Processor - IEWLEND (Chart 301)
Translation Routine - TRANSID
(Chart 309) • • • • • • • • •
Table Allocation Routine - ALLOCATE
MOD Processor - IEWLMOD (Chart 310)
Address Constant Relocation
Routine - IEWLERTN (Chart 306)
•
Map Routine - IEWLMAP (Chart 308)
•
Conversion Routine - IEWLCNVT
•
Load Module Processor - IEWLODE
(Charts 400-403) • • • • •
• •
Load Module Text Processor - LMTXT
(Charts 401-403) • • • • • • • • • •
Secondary Input and Final Processing • •
Automatic Library Call Processor IEWACALL (Charts 500-504)
• •
Error Processing • • • • • • • •
Error Log Routine - IEWERROR
(Chart 505) • • • • • • • •
Diagnostic Dictionary Processing
Routine - IEWBTMAP (Chart 506) •
Identifying Loaded Program • • • • .~ • •

78
19
19

19
19
19
19
80
80
80
80
80
80
81
81
81
81
81
81
82
82

Identification Routine - IEWLIDEN
(Charts 600-601) • • • • •
• • • 82
Routine Control - Level Tables
84
CHARTS • •

•

SECTION 4:

MICROFICHE DIRECTORY.

SECTION 5:

DATA AREA LAYOUTS

SECTION 6: DIAGNOSTIC AIDS
Error Code Definitions
••• •
Serviceability Aids • • ••

91

.127
• • 129
.141
.143
.144

SECTION 7: APPENDIX
Input Conventions
Input Record Formats •
Compiler/Loader Interface for Passed
Data Sets • • • • • • • • • • • • •
Internal SYSLIN Control Block
Open SYSLIB DCB
• • • • •
IDENTIFY Macro Instruction Identifying Loaded Program (MVT Only)

.145
• .147
• .148
• .157
.158
• .158
.162

SECTION 8: DICTIONARY OF
ABBREVIATIONS AND ACRONYMS •

• .164

INDEX

• .165

ILLUSTRATIONS

FIGURES

Figure 1. An Example of Loader
Structure and Storage Map
• • •
Figure 2. Loader Control Logic Flow
Figure 3. Object Module and Load
Module Structure • • • • • • • • • • •
Figure 4. Example of an Input Module
Figure 5. Load Module Allocation
Figure 6. Freed Areas From
Buffer-DECB Allocation
•• • •
Figure 7. Allocation for Object
Module Input
• • • •
Figure 8. Tables Used in the CESD
Search

•••••••••

• 10
• 11
• 12
14
20
20
• 22

• • • • • 27

Figure 9. Storage Allocation • • • • • 28
Figure 10. Translation Control Table
and Translation Table •• • • •
30
Figure 11. Overall Relationship of
Tables
••••••••••••••
31
Figure 12. Loading the Text from a
Load Module Record
••••••••
36
Figure 13. BLDL List and Address List
41
Figure 14. ESD and RLD Processing • • • 73
Figure 15. Pseudo Register Processing • 75
Figure 16. Loader Organization • • • • 83
Figure 17. Address List
•• 129
Figure 18. BLDL List •• • •
• • • 130
Figure 19. CESD Control Table

to the input address of the LD or LR
entry.
If the instructions and data
for the module have been passed
through text records and if the
Loader-assigned address exceeds
available storage, the loading process
is terminated with an error message.
otherwise, the address is stored in
the CESD entry.
The Loader sets the type indication in
the CESD entry to LR.
Finally, the
relocation constant is computed.
This
value equals the Loader-assigned
address minus the input relative
address. The relocation constant also
is stored in the CESD.
If the related
SD entry was marked "delete", the
Loader makes an ER entry instead of an
LR and sets the "delink" flag in the
entry to signify that all adcons
referring to it should be adjusted.
CM
To make a CM entry, the Loader uses
two separately obtained 20-byte areas.
The first area obtained is used as an
extension to the CM entry.
In this
portion, the Loader stores the length
and the address assigned to the comwcn
area in the input. Then the Loader
obtains the second 20-byte area and
stores in it the name for the common
area and the entry's type indication.
(This area is the one pointed to by
the translation table and the CM
chain.>
The Loader clears three bytes
in the entry to be used as a pointer
to related ERs and sets a pointer in
it to the extended portion of the CM
entry.
Finally, a translation table
entry is made.

If the option to specify the entry
point name for the loaded program was
used, the Loader determines whether
the SD with that name has already been
received.
If not, the Loader compares
that name to the symbol for the
currently defined CSECT (the symbol in
the CESD entry).
If the names are the
same, the Loader-assigned address is
stored as the entry point address in
CMEPADDR.
For an SD entry, the Loader determines
whether the CSECT length specified in
the input entry equals O.
If so, the
Loader sets the "no length" indicators
in the communication area and in the
CESD entry itself. If the length is
positive, it is added to CMMODLNG to
calculate the next CSECT address.
If
the MAP indicator is on, a MAP entry
is made for the SD.
Finally, the Loader puts the CESD
entry on the SD chain pointed to in
the CMTYPCHN table. Chaining consists
of storing the pointer to the last SD
entry (found in CMTYPCHN) in the
current CESD entry's chain pointer.
Then the address of this entry becomes
the current pointer in CMTYPCHN.
After chaining the entry, a
translation table entry is made.
LD or LR
The Loader processes input LD entries
in the same manner as input LR
entries. The name from the input
entry is moved tc the CESD entry.
Then the Loader-assigned address for

PR
For a PR entry, the Loader moves the
information describing the external
DSECT from the input entry to the CESD
entry.
The 3-byte field to be used as
a pointer to the related RLDs is
cleared, and the entry is chained to
the other PR entries.
(PRs are
chained according to their order in
the input.)
For a DSECT displacement
definition, a translation table entry
is also required.
ER
For an ER entry, the Loader moves the
name and type from the input entry to
the CESD entry.
If the input ER entry
is marked "never call," the Loader
sets the "never-call" indication in
the CESD entry.
If the input ER entry
is marked "weak call," the Loader
similarly sets the "weak-call"
section 2:

Method

of operation

29

indication. Then the Loader chains
the ER entry to the other ERs and
makes a translation table entry.
MAKING A TRANSLATION TABLE ENTRY:

The
table
to direct building of the translation
table. 1 The translation control table
consists of 32 fullword entries beginning
at location CMTRCTRL in the communication
area. Each entry is a pointer to a
possible 32-entry extent to be allocated
for the translation table. The Loader
allocates the extents as required.
depending on the number of incoming ESD
entries.
Loader-uses-the~ranslatIon-control

The entries of one extent correspond to
consecutive ESD IDs in a single module.
For example, the entries of the first
extent correspond to ESD IDs from 1 to 31;
those of the second extent correspond to
1For each input module, the Loader
reinitializes the translation table.

IDs 32 to 63, etc.
(The first extent
contains only 31 translation table entries
since the initial 4 bytes are used for
indexing purposes.) ThUS, the position
designated for creation of a particular
translation table entry depends on the ESD
ID of the associated input entry.
Figure 10 is an illustration of the
translation control table and the
translation table.
To make a translation table entry, the
Loader first determines whether the input
ID is valid.
(Diagram D6, reference (A).)
If an ID is not valid, an error message is
printed and loading continues with the next
input ESD entry. An ID is not valid if it
is less than 1 or greater than 1023.
If an ID is valid, the Loader then
determines by examining the translation
control table whether the extent for this
ID has been allocated. If not, the Loader
allocates an area for 32 4-byte entries and

CMTRCTRL
0

1

............

0

2

0

3

0

311

0
I-.

1

0

J

Extent # 1

f

32

TRAN SLATION CONTROL TABLE

33
34
35

.

~I-.

Extent # 2
TRANSLATION
TABLE EXTENTS

Figure 10.
30

Translation Control Table and Translation Table

stores the beginning address of the area in
the translation control table entry for
this extent. The area is allocated from
the highest available storage. If not
enough Loader processing storage remains to
make the allocation, loading is terminated
with an error message.

resolution, the Loader insures that each
named location within the text of the
loaded program has a unique symbol. 1 Also,
all references to a named location are set
to the correct Loader-assigned main storage
address.

After the extent allocation has
occurred, the Loader clears the extent.
Then the Loader calculates the entry
address in the extent for this ID. The
address of the CESD entry related to the
input entry 10 is stored in the translation
table entry.

If two named locations have the same
symbol, only one of them can be retained
for the loaded program. The Loader
determines which is retained on the basis
of ESD entry type. The general rules used
in symbol resolution follow.

If the CESD entry is an ER, the Loader
sets the high-order bit of the first byte
to 1. (This indicates absolute
relocation. )
Figure 11 shows the overall relationship
of tables used in ESO processing.

If the entry already in the CESO has
type:
SD, it is always retained.
LR, it is always retained.
CM, it is retained except when the input
type is so.
ER, it is always changed to the input
type.

If the Loader finds a match for an input
symbol during the CESD search, the Loader
performs symbol resolution. Through

1This does not refer to PC and PR names,
which need not be unique.

Translation Control Table
(CMTRCTRL)

CESD Cantrol Table
(CMTYPCHN)

2/-_-f

32

31

1----1

'-----'

Extent 1
95
63'--_--'
Extent 2

--

L...-_--'
Extent 3

Three Extents of the
Translatian Table

Figure 11.

Overall Relationship of Tables
Section 2:

Method

of Operation

31

If two entries have matching symbols and
have types that indicate they should be
retained, the Loader retains the first
entry received.
Table 5 gives a summary of symbol
resolution.
Table

5.

Symbol Resolution

r-------------T-------------T-------------,
I Input Type I CESD Type I
Result
I

~-------------+-------------+-------------i

I
I
I
I

SD

I
I
I
I

ER
SD
CM
LR

I
I
I
I

SD
SD
SD
LR

I
I
I
I

~-------------+-------------+-------------i

I
I
I
I

CM

I
I
I
I

CM
ER
SD
LR

I
I
I
I

CM
CM
SD
LR*

I
I
I
I

~-------------+-------------+-------------i

I
I
I
I

LD/LR

I
I
I
I

ER

I
I
I
I

ER
LR
SD
CM

I
)
I
I

SD
ER
LR
CM

I
I
I
I

LR
LR
SD
CM**

I
I
I
I

SD
ER
LR
CM

I
I
I
I

~-------------+-------------+-------------~

I
I
I
I

~-------------i-------------i-------------i

I *Match results in an error.

I

1**Match results in an error if the SD fori
Il _________________________________________
the LD/LR is not marked "delete."
JI

~T

E~~E!_TYP§_l~§Q:

CESD type is ER
The Loader changes the ER entry in the
CESD to an SD entry. The entry is
made as described under "No-Match
Processing" for an SD entry.
This
includes: chaining the entry to other
SDs, updating the cumulative length of
the loaded program, determining
whether this is the loaded program's
entry point name, mapping the entry,
and making a translation table entry.
If RLDs were chained to the ER entry,
they are relocated as described under
"Relocation Processing." Also, the
Loader takes the entry off the ER
chain using the pointer to the
previous entry on the chain
(CMPREVPT). If there are no previous
entries, the Loader sets the ER entry
in the type chain table (CMTYPCHN) to
O.
CESD type is SD
If the orignial SD is not flagged
"delete," the Loader obtains space for
another CESD entry and moves the name
and Loader-assigned address of the
original entry into the new one. The
32

relocation constant is then computed
by substracting the input address from
the Loader-assigned address. A
"delete" indicator is set to show that
text and RLDs related to the current
input SD should be deleted.
If the
text for the CSECT has been pointed to
by a MOD record rather than passed
through text records, the text cannot
be deleted and, thus, the cumulative
module length «
'"
;::j

Note 2. Load module text is read directly into the loaded

X

0

=>
«

Note 3. A hex '80' in the high-order byte of a fullword
signifies that it is the last field in the parameter
list.

H\

0

'0

(!I

11
OJ

rt

1-"

0

::;
~

U1

V)

program area a

• Diagram Ai.

System Generation

Object Module IEWLDDEF
Alternate ddname for
SYSLOUT
Alternate ddname for
Execution of the LOADER
macro instruction results
SYSLIN
in the expansion af
AI ternate ddname for
object madule IEWLDDEF 'III.~
SYSUB
which contains the
~
SYSGEN defaults for the
I-------------l
Default SIZE value
Loader

SYSI. LD547

_--_
I EWLDLlI?o

......

I EWLDIO'f

.......

-----""

.

46

• Diagram A2.

Loader Invocation

SYSIN DD
SYSLIB DD
SYSLIN DD
DGO EXEC
PGM=LOADER
Parm=' Ma let X Y'

Length of
o tions

+

Ddnames

or
through issuing a LOAD,
XCTL, LINK, or ATTACH

+

macro instruction referring

options for

Loader and
laaded progrom
DCBs

to
LOADER
CONTROL

Parameter list

to IEWLDRGO (progrom

name) or to LOADER (alias).
Parameters are passed via

MODULE IEWLCTRL

list addressed by Reg # 1

I NOTE 11

---- ...-

.....
.......

_---

I EWLDRGO

Entry point IEWLDRGO

--

I EWLOADR

--

MAIN STORAGE
SYS 1. LlNKLIB

The user may invoke the Loader to load a program
but not poss cantrol to it. In this case, the user
issues a LOAD and a CALL macro instruction
referring to IEWLOADR (for loading without
identification) or to IEWLOAD (for loading with
identificatian). Entry point IEWLOAD may only
be used when the MVT option of the control
program is in operation.

Section 2:

Method

of Operation

47

• Diagram Bl.

Loader/Scheduler Interface and Initialization

USER OPTIONS

PARAMETER
LIST

R# 1
USER DCBs

Builds INITMAIN from
control information analyzed
LOADER
from schedu ler

LOAD/CALL
IEWLOADR, entry pointIEWLIOCA alias-IEWLOAD

CSECT
IEWLIOCA
SYS1.LlNKLIB
CSECT
IEWLRELO

GETMAIN
(Note 1)

Note 2:

The size and address of the Loader processing area
are inserted by the GETMAIN SVC handler.

Note 3:

A DCB is constructed for the output data set if
the PRINT option was chosen. A DCB is also constructed for the input data set if a SYSLIN control
block, which describes an internal data area,was
not passed. A DCB, two DECBs, and two buffers are
provided for the terminal data set if the TERM
option was chosen.

Maximum storage
request size

GETMAIN list

Conversion area

Option translation
table

Rejected options
buffer

1. Establ ishes
IEWLDCOM

CSECT
IEWLIDEN

IEWLIOCA issues a GETMAIN for the size range
specified by the SIZE = parameter (stored in INITRMAX)
and the value specified by the INITRMIN field.

Minimum storage

request size

Loader Processing Storage

CSECT
IEWLLI BR

Note 1:

See Note 2

GETMAIN
(4K bytes)

CSECT
IEWLDDEF

IEWLCTRL changes the length
of the option list received from
the schedu ler to the length of
the Loader options only.

Save area

2. Allocates and
chains save
areas

Loader Communication Area

3. Issues a
FREEMAIN for
the INITMAIN
area

OPEN for OPENLIST

• • •~ Primary Input Processing

"f'"
Prime Storage
"f'"
Low Address I'-_ _ _ _ _ _ _ _ _ _ _........
J

Section 2:

Method

of Operation

49

Diagram Cl.

Primary Input Control and Buffer Allocation

I

IEWLDCOM

l

allocate buffers 11-------~1
and DECBs

Object Module
Processing

zation or
primary input
processing

Prime buffers

-~------,
DECB N

~I--------I

./

./

/'

/'

/'

BUFFER N (not primed)

-..,...

Input Data Set

loader Processing Storage

IEWLDCOM

l------....,./
Block size

i:~=~~:!:::===jllililillll.load
Modu Ie
Processing

"

Record formal
Number of buffers

DCB flags
Loader Processing Storage

Section 2:

Method

of Operation

51

• Diagram Dl.

Object Module Processing

Input may
either be from
an external
device
Input Data Set
or
from an interna I SYS LI N
data area whase cantrol
block is passed to the
Loader in the DCB list.

I

SYSLIN contral black

RECORD 1
RECORD 2

I

ESD processing;
IEWLESD

RECORD 3
RECORD 4
"

TXT processing;
IEWLTXT

Object Madule
"
Buffers ar Internal
" SYSLIN data area

"-

""-

"

RLD processing;
IEWLRLD

END processing;
IEWLEND
IEWLREAD
reads input
IEWLEND

~ RETURN

section 2:

Method

of operation

53

Diagram D2.

Load Module Processing

Input record
(not text)
Input Data Set
If first

Prelimi~ary ESD~

processing
IEWLESD

'~
AD
reads input

Finish
processing

module
or return

IEWLEN* Return

Section 2:

Method

of Operation

55

ESD Record Processing (Generalized)

• Diagram D3.

Object Module Buffer or RLD Buffer
ESD/CESD data

NAME

ADDR

Input

Information moved

depends an entry type

CMTYPCHN

Module Map

SYSLOUT data set
Do any preliminary

processing needed.
Search CESD.
chain entry

IEWLESD

from IEWLODE
or IEWLRELO

CD Move input
information

No

After processi ng a II input
entries in data, return

:r
Translation Table extent

Note:

ESD processing differs according to entry type

and whether resolution is possible. For detai led information,
refer to II Externa I Symbol Dictionary Processing". The following
diagrams give some examples of processing for different conditions.

Section 2:

Method

of Operation

57

Diagram D4.

Example of Input ESD Processing (IEWLESD)

°1-_ _

0'--_--1

The input address is
used to co leu late the
loader-assigned address
and the relative relocation.

CESDSRCH

:r

NOMATCH Makes a CESD entry,
chains it and makes

':III.~
,

a translation table
entry for it.

loader- relative

reloca-

CSECTA SD assigned tion
address constant
CESD entry

°1 - - - - - - - - ;
MATCHED
Changes the existing
ER to SD, rechains
the entry and makes
a translation table
entry for the input
entry referri ng to the
existing entry
no match exists in the CESD (non resolution processing)
This example shows processing for an input SD entry when
a match exists (re:;olution processing)

0CD

section 2:

Method

of Operation

59

Diagram D5.

Example of Input ESD Processing (IEWLESD)

o

0

Note 1. The high bit of
the first byte is
set on to show
CESD entry is
for ER.

CESDSRCH

••~

<~lil

"

NO MATCH
make CESD
Go to process
next ESD
entry

entry, chain
entry, and
make translation table
entry

MATCHED }-.
make translation
G o t 0 process
table entry to
t ESD t
nex
en ry
existing CESD
entry

This example shows processing for an input ER entry when

G)

no match in the CESD exists (non-resolution processing)

® a match exists (resolution processing)

Section 2:

Method

of Operation

61

Diagram D6.

Example of ESD ID Translation

Ir::F·i\~

I Note 1
I

/
/
/

I
I

/
/

I

/

CMTRCTRL

L____ _

/

/

/
/

/

Note 1:

Note 2:

Input LR entry contains
the ESD ID for CSECT
containing NAME.
Only for object module
input, the input LD is
p laced on temporary
chain.

/

/

o

/

1
2

3

CESD entry

T

T

Translation Table Extent

This example shows preliminary processing of an input LR. Translation insures
the input ID is valid and obtains the CESD address of the related SD.

section 2:

Method

of operation

63

Diagram D7.

Object Module Text Processing

Object Modu Ie Buffer

•
•

Table and Buffer Area

I

Text Record

•

I

ESD I D of text

IR#5

Displacement

R# 6

in input
Length of

I

text record

IR#7

---1

r---------~
r-+

I
I R# 8

Input

Address
for text

I

I
I
I
I

Text already loaded

I

Loaded Pro g ram's Stora g e Area

CMLOWTBL

\

Calculate the main
storage address
for the text

IEWLTXT

1I111111111(~

\

V ALI D ID

No

Move text to assigned
address; Update storage
Inter if needed

~1I~1I111111111111.~ Return

from IEWLRELO

Return, to

read the next

IEWERROR
to end loading

record

Section 2:

Method

of Operation

65

• Diagram D8.

Load Module Text Processing

RLD Buffer

I

/'

I

I

Lenth of
ID/ ength list

Table and Buffer Area

j
~

CMGETREC

Text record

Control record

I D/length list

L

Text control or control/RLD record

Input

Input Data Set
Table Area

Process entire

Calculate
read address

from
IEWLODE

I

CMLOWTBL

I
LMTXT

Read Address

\.

I

TEXT
OVERLAP
TABLE

No

If required,
move CSECTs to
correct ao<",esses./

Loaded Program1s Storage Area

Return

Note 1
IEWERROR
to end loading

Note 1:

Read text record, unless the record is

to be skipped; read the following control
record also, unless the text record is the
last or CSECTs are to be deleted.
Note 2:

See Figure 12.

Section 2:

Method

of Operation

67

• Diagram 09.

RLD Record Processing

Reg 7
Length of RLDs

D

RLD data in input buffer
Note I

P-pointer

ESD ID

CESD entry I

t CESD entry 1
CESD entry 2
(for address constant)

R-pointer

ESD ID

IEWLRLD

Chain RLD

TRANSID-

'III.~

Ii

CESD entry 2

Translate
R pointer and
P pointer to
CESD addresses

~lllllld~ Return
to
IEWLODE

!I.

or

IEWLRELO

t

Note 1 ,

The input buffer is the RLD buffer (load module) or an object module buffer.

Note 2:

The Loader calculates the adcon address using the P-pointer CESD entry's relocation constant and the
input RLD entry. The flags are inserted in the new RLD entry unless the input RLD is for a CXD PRo

Note 3:

If the type in the CESD entry for the address constant is PC, SD, or LR relocation is performed.
RLD entry is chained to the CESD entry.

Adcon and flags from the

If the type is CM, PR, or ER, the

Section 2:

Method

of Operation

69

secondary Input Processing

• Diagram El.

---------1

I

I

I

I
Move entry paint address if names match

CDE
-

I

-- -- -

-(Compare names}--- - - - - - - - - _____

L__________ ~

I

Contents Directory Entry Queue

I

I
I

IEWACALL

Yes

~• • •(
::..

Yes

Try to find current
ER name in a CDE

Try to resolve
each ER fram the
Link Pack Area

•••11••~

USE LINK
~111(;~
PACK
AREA,

~~--'-~-~-r~

from IEWLIOCA

entry

Map
Update
reso Ived to next
adcan
ER entry

Processing

Final Processing
Final Processing

1111.~Final
Processing

BLDL List

move TTR

Li brary Data Set

Member
NAME4

Library Data Set DCB

Section 2:

Method

of operation

71

INPUT

INTERNAL TABLES (TIME 2')

INTERNAL TA8LES (TIME 1')

INTERNAL TABLES (TIME 3')

Module A

o

JOE

SD

0

1

PR2

PR

0

03

4

2

PR3

PR

4

01

4

o

JOE

200

Translation Control Table

Translation Control Table

CESD Contcol Tobie (CMTYPCHN)

Translation Control Table

CESD Contcol Tobie (CMTYPCHN)

ESD

50

DC Q (PR2)

I

0

100

DC Q (PR3)

I

4

150

CXD

200

RLD

I

I
I

2

I

0

3

2

1

24

100

1

1

24

50

0

1

3C

150

2

0

a

SD

0

PRl

PR

0

07

4

PR2

PR

8

07

4

PR3

PR

C

03

4

2

0

1-------1

30000

SAM

o

o
o

I--~----j

Text for Module A
Module B

o

Text for Module A and Module
30000

JOE

£1

Text for loaded Modules A and B
30000

JOE

JOE

CMCXDPT (;n IEWLDCOM)

CMCXDPT

400

o

ESD

~--~----

o
200

300

350

-

I

DC Q (PR1)

I
I

DC Q (PR2)

DC Q (PR3)

0

8

C

I

I
I

2

1

24

200

3

1

24

300

4

DC Q (PR2)

0

30050

DC Q (PR2)

8

30100

DC Q (PR3)

4

30100

DC Q (PR3)

4

30150

CXD

~~--

SAM

400

RLD

30050

1

24

Note 1

30050

Boundary

alignment for PR's:
'07' =double word
'03' = word

'01' =half word

30100

DC Q (PR2)

DC Q (PR3)

o

4

30200

Note 2
All addresses
given in hex
30150

CXD

o

* Time 1 - All ESD, TXT, and RLD records for
Modu Ie A have been read - EN D card

350

has not been processed
30200

"Time 2 - All ESD, TXT, and RLD records
for Modules A and B have been

read; END card for Module B
has not been processed.

0

SAM

30400

DC Q (PRJ)

0

30500

DC Q (PR2)

8

30550
30600

DC Q (PR3)

C

CMCXDPT

30150

C X D

30200

SAM

I

C

30400

DC Q (PRI)

0

30500

DC Q (PR2)

8

30550

DC Q (PR3)

4

*Time 3 - End of loading - before tables are freed

30600

Figure 15.

Pseudo Register Processing

Section 2:

Method

of Operation

75

The following text and the flowcharts in
this section describe the Loader interface
and the routines that accomplish the
functions of the Loader. The organization
of this section corresponds to the
organization of the Loaderi descriptions of
all routines which constitute a phase of
the Loader are grouped together.
For each
routine the symbolic name is given to
facilitate use of program listings (See
"Section 4: Microfiche directory") and the
descriptive name is given to facilitate
reference to the "Method of Operation"
(Section 2).
Figure 16 shows the organization of the
Loader. The flow of control through the
first four levels of the processing portion
of the Loader (module IEWLOADR) is listed
in the control level tables included at the
end of this section.

LOADER/SCHEDULER INTERFACE

Loader Control Portion - IEWLCTRL (Chart
100)------------------------------------

!~!!!~~L_I~QL_£Q~!SQ~L_~~Q_~~~Q£~!IQ~

PROCESSING
----------

~2~~~E_~rocessing

Control - IEWLIOCA

(Charts 200-201)
Entrance: This routine can be entered at
entry-point IEWLOAD, for loading with
identification (MVT only), or at entry
point IEWLIOCA, for loading without
identification. It is entered from
IEWLCTRL or it can be called directly by
the user.
Operation: IEWLIOCA analyzes the options
passed by the calling program and prints a
list of options.
IEWLIOCA also obtains the
Loader processing storage, initializes the
communication area, opens data sets,
allocates buffers, and handles I/O.
Routines Called:
IEWLIOCA calls the
following routines: the buffer allocation
routine (IEWBUFFR), the buffer prime
routine (IEWPRIME), the object module
processor (IEWLRELO), the load module
processor (IEWLODE), the automatic library
call processor (IEWACALL), and the
identification routine (IEWLIDEN).
Exit: when loading is completed, IEWLIOCA
returns control to the Loader control
module (IEWLCTRL).

Entrance: IEWLCTRL is entered from the
scheduler when the Loader is invoked.
Operation: IEWLCTRL loads the processing
portion of the Loader (IEWLOADR) and passes
control to it. After loading is complete,
IEWLCTRL deletes IEWLOADR and passes
control to the loaded program for its
execution.

Buffer Allocation
203)
Entrance:

IEWLIOCA

S2~~i~~_=-I~~~QKFR_l£Q~E~

IEWBUFFR is entered from
when a new input module is to be

read.
Qp~E~~i2~:

Routines Called: When the PCP or MFT
option of the control program is being
used, IEWLCTRL calls IEWLOADR at entry
point IEWLIOCAi when the MVT option of the
control program is being used, IEWLCTRL
calls IEWLOADR at entry point I EWLOAD.
IEWLCTRL invokes the loaded program as
follows.
For PCP or MFT, the program is
called at the established entry point. For
MVT, the program is attached by its
established program name.
~:

IEWLCTRL returns to the scheduler.

For object and load modules,
IEWBUFFR allocates and deallocates buffers
and DECBs from the Loader's processing
storage.
Routines Called:
IEWBUFFR calls the
routilne-to-free areas from deallocated
buffers and DE CBs (FREECORE) and the
routine to allocate Loader processing
storage for buffers and DECBs (GETCORE).
Exit: When allocation is completed,
IEvJBUFFR returns control to the I/O,
control, and allocation processor
(IEWLIOCA) •
Section 3: organization of the Loader

11

Storage Allocation Routine - GETCORE
Entrance: GETCORE is entered from IEWBUFFR
when storage is needed for a DECB-buffer
allocation.
Opereti~:
GETCORE allocates storage from
a list of areas freed from previous
allocations or from storage not previously
used for allocations.

Exit: After making the allocation, GETCORE
returns to the buffer management routine
(IEWBUFFR) •

operation: To read external object
modules IEWLREAD uses the DeB information
and the DECB to direct reading of fixed
records into the buffers.
IEWLREAD also
deblocks the physical records and returns
the address of the next record to be
processed. Similarly, IEWLREAD deblocks an
internal data area and returns the address
of the next record to be processed. To
read load modules, IEWLREAD uses the
parameter information to direct reading of
different type records.
Routines Called: IEWLREAD calls the
generallzed-read and check routines (RDREAD
and RDCHECK, respectively.)
Exit: After the required records are read,
IEWLREAD returns to the caller.

Entrance: FREE CORE is entered from
IEWBUFFR when storage is no longer needed
for a DECB-buffer allocation.
Operation: FREECORE returns storage to a
free list pointed to by 'CMFRECOR.' The
freed area is blocked with other freed
areas whenever possible.
Routine Called:

None

Entrance: IEWLPRNT is entered whenever
output to the SYSLOUT data set is to be
processed.

Exit: After chaining the freed area,
FREECORE returns to the buffer management
routine (IEWBUFFR).

Operation: IEWLPRNT inserts the ASA
carriage control character before printing
the output. The proper code is obtained
from the 'PRTCNTRL' table via an index
found in 'CMPRTCTL'. This index is reset
to space 1 unless changed before the next
print.

Object MOQ~!e Buff~Prime Routine IEWPRIME (Chart 204)

Routines Called: IEWLPRNT calls the
generalized write and check routines
(WTWRITE and WTCHECK, respectively).

Entrance: IEWPRIME is entered from
IEWLIOCA before an object module is loaded.
Operation: IEWPRIME reads records into all
buffers but one to expedite record
processing.

Exit: After printing the output, IEWLPRNT
returns to the caller.

SYSTERM Routine - IEWTERM (Chart 208)
~n!Ie~~:

Exit: After priming the buffers, IEWPRIME
returns control to the I/O, control, and
allocation processor (IEWLIOCA).

IEWTERM is entered whenever
output to the SYSTERM data set is to be
processed.
Operation: IEWTERM initializes the SYSTERM
DCB, opens the SYSTERM data set, and prints
the output.
Routines Called:

IEWTERM calls the

generallze~wrlte and check routines

Entrance: IEWLREAD is entered from the
object module processor (IEWLRELO)or the
load module processor (IEWLODE) when a
record is required for processing.
78

(WTWRITE and WTCHECK, respectively).
Ex~t:

After printing the output, IEWTERM
returns to the caller.

Routines Called: IEWLESD calls the
fOllowIng-routInes:
Entrance: SYNAD is entered from the
supervisor when an I/O error occurs.

• The allocation routine (ALLOCATE) to
allocate storage for a CESD entry.

gperatiQQ: SYNAD determines the access
method used at the time of the I/O error,
and prints and accepts the error.

• The translation routine (TRANSID) to
build the translation table and to
translate an ESD ID into a CESD entry
address.

Routine called:

None
• The adcon routine (IEWLERTN).

Exit:

SYNAD returns to the supervisor.
• The map routine (IEWLMAP) to create a
map printout.
Exit:
IEWLESD returns to the object module
or-load module processor when the ESD/CESD
record has been processed.

Entrance: IEWLRELO is entered from the
Input/output - control processor (IEWLIOCA)
or from the automatic library call
processor (IEWACALL) when object module
input is to be processed.
Operation:
IEWLRELO requests records to be
read, determines the record type, and
passes control to the appropriate
processor.
Routines Called:
IEWLRELO calls the read
and deblock-routine (IEWLREAD) and the
following processors:

•
•
•
•

ESD
TXT
RLD
END
• MOD

Exit:

Processor
Processor
Processor
Processor
Processor

(IEWLESD)
(IEWLTXT)
(IEWLRLD)
(IEWLEND)
(IEWLMOD)

Entrance:
IEWLRLD is entered from the
object module processor (IEWLRELO) or from
the load module processor (IEWLODE) when an
RLD record is recognized.
Operation: IEWLRLD builds the RLD table
using the input RLDs.
If relocation is not
possible, the RLDs are chained from the R
pointer of the CESD entry.
Routines Called:
IEWLRLD calls the
fOllowIng-routines:
• The translation routine (TRANSID) to
translate an ESD ID to the CESD entry
address.
• The allocation routine (ALLOCATE) to
allocate storage for an RLD entry.
• The relocation routine (IEWLERTNI to
relocate an RLD or to delink an adcon.

IEWLRELO returns to the input/output

~ntrol processor (IEWLIOCA) or to the

automatic library call processor (IEWACALL)
when end of module is recognized.

Exit:
IEWLRLD returns to the object module
processor (IEWLRELO) or to the load module
processor (IEWLODE).

ESD Processor - IEWLESD (Charts 301-304)
Entrance:

IEWLESD is entered from the
objec~rnodule processor (IEWLRELO) when an
ESD record is recognized, or from the load
module processor (IEWLODE) when a CESD
record is recognized.
Opereti2Q: IEWLESD combines ESDs in the
Loader lnput into a composite ESD.
Matching input symbols are resolved. A
translation table is produced to allow
input ESD IDs to be translated into CESD
entry addresses.

Entrance:
IEWLEND is entered from the
object module processor (IEWLRELO) when an
END statement is recognized or from the
load module processor (IEWLODE) when
end-of-module is detected.
QP~~e~~2Q:
IEWLEND processes object module
END cards for entry point and CSECT length.
IEWLEND also processes entry point
information for the loaded program if a
symbolic entry point is indicated. At
end-of-module, IEWLEND resets storage
pointers and clears the translation table.

Section 3: Organization of the Loader

79

Routine Called: IEWLEND calls the
translation routine (TRANSID) to translate
an ID to a CESD entry address.
Exit: When end processing is complete,
IEWLEND returns control to the object
module or load module processor.

Entrance: TRANSID is entered from IEWLESD
when-a-translation table entry is required
or from IEWLRLD, IEWLTXT, or LMTXT when
translation of an ID is required.
gper~ti~:

TRANSID translates the ESD ID
to a corresponding entry address in the
translation table through the translation
control table.

Exit:
IEWLMOD returns to the object module
processor (IEWLRELO).

Address Constant Relocation Routine IEWLERTN (Chart 306)

Entrance: IEWLERTN is entered from
IEWLESO; IEWACALL, or IEWLRLD when address
constant (external reference) resolution is
required.

Operation: IEWLERTN relocates all address
constants pointed to by an RLD chain after
determining the type of relocation
required.

Routine Called: TRANSID calls the ALLOCATE
routine when a new extent is required for
the translation table.
Exit: TRANSID returns to the caller after
translation is terminated.

Entrance: ALLOCATE is entered, from
IEWLESD when a CESD entry is required, from
IEWLRLD when an RLD entry is required, from
TRANSID when a translation table extent is
required, or from IEWLMOD when storage is
required for saving extent information.

Exit: After the resolution,
retUrns to the caller.

IEWLERTN

~~!E~~£~:

IEWLMAP is entered from IEWLESD
or from IEWACALL when a main storage
address is to be mapped.
QP~~!~2~:

Operation: ALLOCATE allocates the required
amount of storage for the caller.
Routine Called:

None

Exit: After the allocation, ALLOCATE
returns to the caller.

IEWLMAP formats the proper map
entry and causes it to be printed.

Routine Called: IEWLMAP calls the print
routIne-IEWLPRNT and the binary-hex
conversion routine IEWLCNVT.
~~~!:

After printing the map entry,
IEWLMAP returns to the caller.

MOD Processor - IEWLMOD (Chart 310)
Conversion Routine - IEWLCNVT
Entrance:

IEWLMOD is entered from the
objec~module processor (IEWLRELO) when a
MOD record is recognized.
gperation: IEWLMOD processes object module
MOD cards for text origin, length, and
extent information.
If no entry point has
been defined, IEWLMOD stores the first
extent address for use as a default entry
point.

Entrance: IEWLCNVT is entered from
IEWACALL or IEWLMAP when binary-hex
conversion is required.
Operation: IEWLCNVT converts a binary
quantity to print characters.
B2~ti~~_Ca!!~~:

Routine Called: The allocation routine
(ALLOCATEI-to allocate storage for saving
extent information.
80

None

Exit: After converting the quantity
received, IEWLCNVT returns to the caller.

Load Module Processor - IEWLODE (Charts

~OO-~(3)

------------------------

Entrance:

IEWLODE is entered from the
inp~t/output-control processor (IEWLIOCA)
when load module input is indicated.
Operation: IEWLODE makes read requests for
record types (control and/or text) as
needed.
IEWLODE then determines the
particular record type (TXT, CESD,
scatter/translation, SYM, text control,
control/RLD) and goes to the appropriate
processor or requests another record to be
read (e.g., scatter/translation records are
ignored) •
Routines Called:
IEWLODE calls the
following routines:

addresses. The read routine (IEWLREAD) is
called to read the text into storage.
Exit:
lMTXT returns to the load module
processor after processing all IDs and
reading all text to be kept.

SECONDARY INPUT AND FINAL PROCESSING
Automatic Library Call Processor - IEWACALL
(Charts 500-504)
Entrance: IEWACALL is entered from the
control processor (IEWLIOCA) after all
SYSLIN input has been processed.
Qp~~~~2~:

• The read routine (IEWLREAD) to read
records.
• The ESD processor (IEWLESD) to process
CESD records.
• The end processor (IEWLEND) to process
end-of-module.
• The translation routine (TRANSID) to
translate text IDs to the proper CESD
addresses.
• The map processor (IEWLMAP) to create a
map printout.
• The RLD processor (IEWLRLD) to process
an RLD record.

IEWACALl first scans the CESD
for unresolved ERs at the end of primary
input.
If CALL is specified, IEWACALL
tries to resolve these ERs from SYSLIB
and/or the link pack area. After
attempting to resolve the ERs, IEWACALL
assigns addresses to the cornman areas and
relocates related address constants.
Displacements are assigned to the loaded
program's external DSECT.
Finally, the
entry point of the loaded program is
determined.
Routines Called:
IEWACALL calls the
following-routines:
• Library open routine (IEWOPNLB) to open
the SYSLIB data set.
• RLD relocation routine (IEWLRLD).

• The load module text processor (LMTXT)
to read text.
Exit: When end-of-module has been
processed, IEWLODE returns to the
input/output - control processor
(IEWLIOCA) •

• Object module buffer prime routine
(IEWPRIME) •
• Object module processor (IEWLRELO).
• Load module processor (IEWLODE).
• Map processor (IEWLMAP).

Load Module Text Processor - LMTXT (Charts
.iQ1::. 4 03 )

Exit:
IEWACALL returns control to the
control processor (IEWLIOCAI.

Entrance: LMTXT is entered from the load
module processor when a text control record
is recognized.
Operation: LMTXT processes the ID/length
list of the text control record to
determine which CSECTs are to be retained.
CSECTs to be retained are then read into
the loaded program's area.
If necessary,
they are moved to their Loader-assigned
addresses.
Routines Called: LMTXT calls the
translation routine (TRANSID) to translate
the input IDs to the proper CESD entry

Entrance: IEWERROR is entered whenever an
error-occurs during loading.
Operation: IEWERROR sets bit-map
indicators for errors encountered, and
formats and prints error messages on the
SYSLOUT and/or SYSTERM data set.
It also
Section 3: organization of the Loader

81

determines the severity of the error and
terminates loading if a severity code 4 is
recognized.
Routines Called: IEWERROR calls IEWLPRNT
and/or IEWTERM to print a message.
Exits:

IEWERROR returns to the highest
caller if a severity code 4 error
occurs. Otherwise, it returns to the
caller.

IDENTIFYING LOADED PROGRAM

Identification Routine - IEWLIDEN (Charts

&QQ=&Q11

IeVeI

Diag~Qstic_Qictio~~~-R~Q~§§!~g~t!~~_=

Entrance: IEWLIDEN is entered after final
processing for the loaded program is
completed if the processing portion of the
Loader (IEWLOADR) was invoked at the entry
point IEWLOAD.

IEWBTMAP (Chart 506)
Entrance: IEWBTMAP is entered after final
processing for the loaded program is
completed.
Oper~tion:
IEWBTMAP selects the diagnostic
messages to be printed by indexing into the
message table.

Routines Called: IEWBTMAP calls IEWLPRNT
and/or IEWTERM whenever the bit map
indicates an error message.
~:

After processing the bit map,
IEWBTMAP returns to IEWLIOCA.

82

Qp~~t!Q~:
IEWLIDEN creates an extent list
and invokes the IDENTIFY macro instruction
to identify the loaded program to the
control program. A condensed symbol table
is also constructed if enough space is
available.

Routines Called: IEWLIDEN calls the extent
list entry routine (IDENTER) and the
condensed symbol table routine (IDMINI).
Exit: After identifying the loaded
program, IEWLIDEN returns to IEWLIOCA.

Load Module
___
'E_W_L.....
DRGO (Alias LOADER)
(

IEWLCTRL

Load Module
IEWLOADR (Alias IEWLOAD)

IEWUOCA
1 _ _ _ _ _ _ _ _ _ _ _ _ _+l'nitialization,
I-___

"'_"~

f

IEWUDEN

.--_ _ _
'E_W..,UOCA

Input Control,
Allocation
Processing

Loaded
Program

IEWLIDEN
~

Identification
of Loaded
program

I
~ IEWLUBR

(Built by
IEWLOADR)

IEWACALL
Secandary
Input and Final
Processing

IEWLRELO

IEWLLlBR
IEWLODE

IEWLRELO

Load Module

Object Module

Processing

Processing

IEWUOCA

...----..,
IEWLREAD

Input Reading

IEWLUBR
LMTXT
Load Module
Text
Processing

IEWLRELO

~------01

IEWLRELO

IEWlRElO

IEWLRELO

....--_..1-_...,

IEWLESD

IEWLTXT

IEWLMOD

RLD Record

ESD Record

Object Module

Processing

Processing

Text Processi n9

MOD Record
Processing

IEWLRLD

Note: The CSECT containing the code of a function is noted outside
the functional block.

• Figure 16.

Loader Organization

Section 3: Organization of the Loader

83

The following tables follow control flow in the Loader (processing portion)
through four levels. The routine descriptions are listed alphabetically within a
level.

Module: IEWLOADR-Level 1
r--------T-----------------------------------T---------------T--------------------------,
IRoutine I
Purpose
ICalled Routines I
calling Conditions
I
t--------t-----------------------------------t--------- ------t--------------------------~

I IEWLIOCAI Initialization, primary input
I
IEWLPRNT
I control, and allocation processing I
I
I
I
IEWBUFFR
I
I
I
I
I
I
IEWPRIME
I
I
I
IEWLRELO
I
I
I
I
I
I
I
I
I
IEWLODE
I
I
I
I
I
IEWACALL
I
I
I
I
I
I
I
I
I
I
IEWLIDEN
I
I
I
I
I
I
IL ________ I ___________________________________ I _______________
IEWBTMAP

I

~

84

~

ICalled if SYSLOUT data
I
Iset is open
I
IIf more data exists on
I
ISYSLIN
I
IIf SYSLIN input is an
I
lobject module
I
IIf SYSLIN input is an
I
lobject module
I
IIf SYSLIN input is a load I
I module
I
IWhen all SYSLIN input is I
Iprocessed, unless SYSLIN I
I di d not open
I
IIf the loaded program is
I
Ito be identified to the
I
Icontrol program
I
IInput
processing completed JI
__________________________

~

IEWLOADR-Level 2

r--------T-----------------------------------T---------------T--------------------------,
Purpose
Icalled Routines I
Calling Conditions
I

IRoutine I

~-------+-----------------------------------+---------------+--------------------------~

IEWACALLlsecondary input and final
I processing
I
I
I
I
I

I
I
I
I
I
I
I
I
I

IEWOPNLB

IIf ERs cannot be resolved
Ifrom primary input or the
ILPA
COMMON
IAl ways
I EWLMAP
IIf an ER is resolved
I'EWLERTN
I If an ER is resolved
IEWERROR
IIf an error occurs
I
IEWPRIME
IIf SYSLIB input is object
I
Imodules
I
I
IEWLRELO
IIf SYSLIB input is object
I
I
I modules
I
I
IEWLODE
IIf SYSLIB input is load
I
I
Imodules
~--------+-----------------------------------+---------------+--------------------------~
IIEWBTMAPIProcessing of error-bit map and
I
IEWLPRNT
IIf SYSLOUT is open and
I
Iprinting of diagnostic dictionary I
messages are required
I
I
I
I
I
IEWTERM
II f the TERM option is
I
I
I
I
Ispecified and messages arel
I
I
I
I required
I
~--------+-----------------------------------+---------------+--------------------------~
IIEWBUFFRIBuffer Management
I
FREECORE
IIf previous or current
I
I
I
I
I (not the first) allocation I
lis for object module
I
I
I
I
GETCORE
IIf no previously allocated I
I
I
I
larea is large enough for
I
I
I
I
I
I
I
Icurrent request
I
~--------+-----------------------------------+---------------+--------------------------~

IIEWLIDENIIdentification of the loaded pro- I
IDENTER
IAlways , unless extents
I
I
Igram to the control program
I
Iwill overlap Loader work I
I
I
I
I
I space
I
I
I
IDMINI
IAlways , unless extents
I
I
I
I
Iwill overlap Loader work I
I
I
I
I space
I
I
I
I
IEWERROR
IIf an error occurs
I
~--------+-----------------------------------+---------------+--------------------------~
IIEWLODE IProcess a load module
I
IEWLREAD
I Always
I
IEWLEND
IIf end-of-module is
I
I
I
I
I
I
I
I
I indicated
I
I
I
IEWLESD
IIf CESD record is received I
I
I
I
IEWLRLD
IIf RLD record is received I
I
I
I
LMTXT
IIf TXT record is read in I
~--------+-r---------------------------------+-------- -------+--------------------------~

IIEWLPRNTIPrint output to SYSLOUT data set
I
I

I
I

IIf DECB was previously
I
I written
I
I
I
I
WTWRITE
I Always
I
I
I
I
WTCHECK
IAl ways
I
~--------+-----------------------------------+---------------+--------------------------~
IIEWLRELOIProcess an object module
I
IEWLREAD
I Always
I
IEWLEND
IIf END card received
I
I
I
I
IEWLESD
IIf ESD card received
I
I
I
I
IEWLRLD
IIf RLD card received
I
I
I
I
IEWLTXT
IIf TXT card received
I
I
I
I
I
I
I
IEWLMOD
IIf MOD card received
I
~--------+-----------------------------------+---------------+--------------------------~
IIEWPRIMEIRead records into all but one
I
RDREAD
I Always
I
Ibuffer before IEWLRELO receives
I
I
I
I
I ________ LI ___________________________________
control
I _______________ I __________________________ JI
L
~

RDCHECK

~

Section 3: Organization of the Loader

85

IEWLOADR - Level 3 (Part 1 of 2)

r--------T-----------------------------------T---------------T--------------------------,
IRoutine I
Purpose
ICalled Routines I
Calling Conditions
I

~--------+-----------------------------------+---------------t--------------------------i
I COMMON IAssign addresses to common areas
I
PSEUDOR
IAlways
I
IEWLMAP
IAlways, unless no CM
I
I
I
I
lentries were received
I
I
I
I
IEWLERTN
IAlways, unless no CM
I
I
I
I
I
I
I
lentries were received
I
~--------+-----------------------------------t---------------t--------------------------i
IFREECOREIChain deallocated area to free listl
none
I
I
~--------+-----------------------------------t---------------t--------------------------i
IGETCORE IAllocate prime core for allocation I
IEWERROR
IIf table overflow occurs I
I
I request
I
I
I
~--------+-----------------------------------t---------------t--------------------------i
IIDENTER Icreate entry in extent list
I
none
I
I
~--------t-----------------------------------t---------------t--------------------------i
IIDMINI ICreate a condensed symbol table
I
none
I
I
~--------+-----------------------------------t---------------t--------------------------i
IIEWERRORIHandle error messages, severity
I
IEWLPRNT
IIf SYSLOUT data set is
I
I
I open
I
I
I code 4 errors
I
I
I
IEWTERM
IIf the TERM option is
I
I
I
I
I specified
I
~--------t-----------------------------------t---------------t--------------------------i
I IEWLCNVT IConvert binary quantity to hex
I
none
I
I

r--------t-----------------------------------t---------------t--------------------------i
IIEWLEND IProcess END card, reinitialize for I
TRANSID
IIf END card specifies
I

Inext module
I
lentry point address
I
I
I
I
I
IEWERROR
IIf error occurs in end
I
Icard processing
I
I
I
I
~--------+-----------------------------------t---·------------t--------------------------i
IIEWLERTNIRelocate all adcons indicated by
I
IEWERROR
IInvalid 2-byte adcon
I
I
IRLD chain
I
I
I
~--------t-----------------------------------t---------------t--------------------------i
IIEWLESD Icreate CESD from input ESD/CESD
I
LOADPROC
IIf input is a load module I
I
I
I
CESDSRCH
IInput entry is not NULL orl
I
I
I
IPC
I
TRANSLAT
IIf NULL entry is made
I
I
I
I
CESDENT
IIf PC or LR entry is
I
I
I
I
I
I
I
I
I required
I
I
I
ENTER
IIf PC entry is required
I
CHECKEP
IIf PC entry is required
I
I
I
I
I
I
I
MATERSD2
IIf PC entry is required
I
TRANSID
IIf LD/LR is received
I
I
I
I
~--------t-----------------------------------t---------------t--------------------------i
IIEWLMAP ICreate Map entry for referenced
I
IEWLPRNT
I Always
I
Ilocation in loaded program
I
IEWLCNVT
I Always
I
I
~--------+-----------------------------------t---------------t--------------------------i
IIEWLMOD IProcess MOD card, store text
I
ALLOCATE
IIf extent information is I
lorigin, length, and extent
I
Ipassed on MOD card
I
I
I
I
I
I
I information

r--------t-----------------------------------t---------------t--------------------------i
IIEWLODE IProcess a load module
I
IEWLREAD
I Always
I

IEWLEND
IIf end-of-module is
I
I
I
I
I
I
I
I
I indicated
I
I
I
IEWLESD
IIf ESD record is read in I
I
I
I
IEWLRLD
IIf RLD record is read in I
LMTXT
IIf TXT record is read in I
I
I
I
~--------t-----------------------------------t---------------t--------------------------i
IIEWLPRNTIPrint output to SYSLOUT data set
I
RDCHECK
IIf DECB was previously
I
I
I
I
Iwritten
I
I
I
I
WTWRITE
IAlways
I
WTCHECK
IAlways
I
I
I
I
~--------t-----------------------------------t---------------t--------------------------i
IIEWLREADIHandle request for data
I
RDREAD
IAlways
I
I ________ I ___________________________________ I _______________
RDCHECK
I Al
ways
L
__________________________
JI
~

86

~

~

IEWLOADR - Level 3 (Part 2 of 2)

r--------T-----------------------------------T---------------T--------------------------,
Purpose
ICalled Routines I
Calling Conditions
I

IRoutine I

~--------f-----------------------------------f---------------f--------------------------~

IIEWLRELOIProcess an object module
I
I
I
I
I
I
I
I

I

I
I
I
I

IEWLREAD
IEWLEND
IEWLESD
IEWLRLD
IEWLTXT

I Always
IIf END
IIf ESD
IIf RLD
IIf TXT

card
card
card
card

is
is
is
is

received
received
received
received

I
I
I
I
I

~--------+-----------------------------------+---------------f--------------------------~

IIEWLRLD
I
I
I
I

IRelocate adcons indicated by RLD
lentries received or chain RLDs off
ICESD entry for R pointer
I
I

I
I
I
I
I

TRANSID
ALLOCATE

IEWLERTN

I Always
IIf no free RLD entry is
I available
IIf relocation is possible
lor if delinking required

I
I
I
I

I

~--------+-----------------------------------f---------------f--------------------------~

IIEWLTXT IMove object module text to correct I
I
I space
I
I
I
I

TRANSID
RELOREAD
IEWERROR

I Always
I Always
IIf invalid ID received

I
I
I

r--------+-----------------------------------f---------------f--------------------------~

IIEWOPNLBlopen SYSLIBi close SYSLIN
I
I

I
I

IEWBUFFR

IUnless SYSLIB was not

I opened

I
I

r--------+-----------------------------------f---------------f--------------------------~

IIEWPRIMEIRead records into all but one
I
Ibuffer before IEWLRELO receives
I
I control

I
I
I

RDREAD

I Always
I
I

I
I
I

~--------+-----------------------------------+---------------+--------------------------~

IIEWTERM IPrint output to SYSTERM data set
I
I

I
I

WTWRITE
WTCHECK

I Always
IAlways

I
I

~--------+-----------------------------------+---------------f--------------------------~

ILMTXT

I

I
I
I
I

IRead load module text into main
I storage
I
I
I
I

I
I
I
I
I
I

TRANSID
IEWLREAD

IEWERROR
PROCEOM

I Always
IUnless record is to be
I skipped
IIf text record not
I received
I Always

I
I
I
I

I

I

~--------+-----------------------------------+---------------f--------------------------~

IRDCHECK ICheck DECB

I

none

I

I

~--------+-----------------------------------+---------------f--------------------------~

IRDREAD

IRead input using DECB information

I

none

I

I

~--------+-----------------------------------+---------------+--------------------------~

I WTCHECK I Check DECB

I

none

I

I

~--------+-----------------------------------f---------------f--------------------------~

IWTWRITE
L
________

IWrite
output using DECB information I_______________
none
I__________________________ JI
___________________________________

~

~

~

Section 3: Organization of the Loader

87

IEWLOADR - Level 4 (Part 1 of 2)
r--------T-----------------------------------T---------------~--------------------------1

IRoutine I
Purpose
ICalled Routines I
Calling Conditions
I
~--------+-----------------------------------+---------------+--------------------------~
I ALLOCATE I Allocate table extent
I
IEWERROR
ITable overflow
I
~--------t-----------------------------------t---------------t--------------------------~
ICESDENT IGet CESD entry from free entry listl
ALLOCATE
INO free entries on list
I
I
lor prime storage
I
I
I
~--------+-----------------------------------t---------------t--------------------------~
ICESDSRCHlsearch CESD for input name
I
MATCHED
IIf name is found
I
I
I
I
NOMATCH
IIf name is not found
I
~--------t-----------------------------------t---------------t--------------------------~
ICHECKEP ICheck CESD entry for specified
I
none
I
I
I
lentry point
I
I
I
~--------t-----------------------------------t---------------t--------------------------~
I ENTER
IEnter information in CESD entry fori
IEWERROR
IIf program is too large
I
I
I
I
I
I PC or so
~--------t-----------------------------------t---------------t--------------------------~
I IEWBUFFR I Buffer management
I
FREECORE
I If previous or current
I
I
I
I
I (not the first) allocation I
I
I
I
Irequest is for object
I
I
I
I
I module
I
I
I
I
GETCORE
IIf no previously allocated I
I
I
I
larea is large enough for
I
I
I
I
I current request
I
~--------t-----------------------------------+---------------+--------------------------~
IIEWERRORIHandles error messages, severity
I
l:EWLPRNT
IIf SYSLOUT data set is
I
Icode 4 errors
I
I open
I
I
I
I
I
I EWTERM
IIf the TERM option is
I
I
I
I
I
I specified
~--------t-----------------------------------+---------------+--------------------------~
IIEWLCNvTlconvert binary quantity to hex
I
none
I
I
~--------t-----------------------------------t---------------t--------------------------~
IIEWLEND IProcess END card, reinitialize for I
TRANSID
IIf END card specifies
I
I
Inext module
I
lentry point address
I
IEWERROR
IIf error occurs in END
I
I
I
I
Icard processing
I
I
I
I
~--------+-----------------------------------t---------------t--------------------------~
IIEWLERTNIRelocate all adcons indicated by
I
IEWERROR
IInvalid 2-byte adcon
I
I
IRLD chain
I
I
I
~--------t-----------------------------------t---------------t--------------------------~
IIEWLESD ICreate CESD from input ESD/CESD
I
LOADPROC
IIf input is a load module I
CESDSRCH
IInput entry is not NULL orl
I
I
I
I
I
I
IPC
I
TRANSLAT
IIf NULL entry is made
I
I
I
I
I
I
I
CESDENT
IIf PC or LR entry is
I
I
I
I
I required
I
I
I
I
ENTER
IIf PC entry is required
I
I
I
I
CHECKEP
IIf PC entry is required
I
MATERSD2
IIf PC entry is required
I
I
I
I
TRANSID
IIf LD/LR is received
I
I
I
I
~-------t-----------------------------------+---------------t--------------------------~
IIEWLMAP Icreate Map entry for referenced
I
IEWLPRNT
I Always
I
Ilocation in loaded program
I
I-EWLCVNT
I Always
I
I
~--------+-----------------------------------+---------------+--------------------------~
IIEWLPRNTIPrint output to SYSLOUT data set
I
RDCHECK
Ilf DECB was previously
I
I
I
I
I
I written
WRWRITE
I Always
I
I
I
I
I
I
I
WTCHECK
I Always
I
~--------+-----------------------------------+---------------+--------------------------~
IIEWLREADIHandle request for data
I
RDREAD
I Always
I
IL________ I ___________________________________ I _______________
RDCHECK
I Always
__________________________ JI
~

88

~

~

IEWLOADR - Level 4 (Part 2 of 2)

r--------T-----------------------------------T---------------T--------------------------,

IRoutine I
Purpose
ICalled Routines I
Calling Conditions
I
~--------t-----------------------------------t---------------t--------------------------~
IIEWLRLD IRelocate adcons indicated by RLD
I
TRANSID
I Always
I
I
lentries received or chain RLDs off I
ALLOCATE
IIf no free RLD entry is
I
I
I CESD entry for R pointer
I
I available
I
IEWLERTN
IIf relocation is possible I
I
I
I
I
I
I
lor if delinking is
I
I
I
I
I required
I
~--------+-----------------------------------t---------------t--------------------------~
IIEWLTXT IMove object module text to correct I
TRANSID
I Always
I
I
I spaces
I
RELOREAD
IAlways
I
IEWERROR
IIf invalid ID is received I
I
I
I
~--------+-----------------------------------t---------------t--------------------------~

IIEWTERM IPrint output to SYSTERM data set
I
I

I
I

WTWRITE
WTCHECK

IAlways
I Always

I
I

~--------+-----------------------------------+---------------t--------------------------~

ILMTXT
I
I
I
I
I

IRead load module text into main
I storage
I
I
I
I

I
I
I
I
I
I

TRANSID
xEWLREAD

IEWERROR
PROCEOM

IAlways
IUnless record is to be
I skipped
IIf text record not
I received
I Always

I
I
I
I

I

I

~--------t-----------------------------------t---------------t--------------------------~

ILOADPROCIPreliminary processing for load
I
CESDENT
IIf entry type is PC,SD,LR I
I
I module CESD
I
I
I
~--------+-----------------------------------t---------------t--------------------------~
IMATERSD 2 1Test length and request map entry I
CHAINING
IAlways
I
~--------t-----------------------------------t---------------t--------------------------~

IPROCEOM IGO to process end-of-module

I

IEWLEND

I Always

I

~--------+-----------------------------------t---------------t--------------------------~

IPSEUDOR IAssign displacements to pseudo
I
IEWLPRNT
IIf displacement is
I
I
lassigned
I
I
I registers
I
I
I
FINISHUP
IAlways
I
I
I
I
IEWLMAP
IIf displacement is
I
I
I
I
I
I assigned
I
I
I
IEWLERTN
IIf displacement is
I
I
I
I
I assigned
I
~--------+-----------------------------------t---------------t--------------------------~
IRDCHECK ICheck DECB
I
none
I
I
~--------+-----------------------------------t---------------t--------------------------~

IRDREAD IRead input using DECB information I
none
I
I
~--------t-----------------------------------t---------------t--------------------------~
IRELOREADIGo to IEWLREAD for more input
I
IEWLREAD
IAlways
I
~--------+-----------------------------------t---------------t--------------------------~
ITRANSID ITranslate input ESD ID to CESD
I
ALLOCATE
IIf new extent is required I
I address
I
IEWERROR
IIf table overflow or
I
I
I
I
I
linvalid ID occurs
I
~--------t-----------------------------------t---------------t--------------------------~
ITRANSLATIMake a translation table entry
I
TRANSID
IUnless LD entry
I
~--------+-----------------------------------t---------------t--------------------------~
IWTCHECK ICheck DECB
I
none
I
I
~--------t-----------------------------------t---------------t--------------------------~
IWTWRITE
output using DECB information I _______________
none
I __________________________ JI
L
________ IWrite
___________________________________
~

~

~

Section 3: Organization of the Loader

89

Sample Flowchart

Chart 001.

FUNCTIONAL SYMBOLS

*

SAt-1PLE FLOWCHART

*··**~1**********

*
*o

*,.

PROCESSING
BLOCK

*0

o

0

************* •• *•

• o.

0* 0"

*.

*.

B1

*.

*. ••

DECISION
••
BLOCK ."

*. *•. * . *

*****
*001**
C3**
** * *
****

*

o

o

·_··c1·-··*-*-*

.TERMINAL BLOCK

0

*

* *************** *

o

·• 1 .•
*****C3**********

****C2********* •

l_>! *::*:

*

*
**********
•• ******

MULTIPLE, USE

*

'"

OR

MODIFICATION
BLOCK

• *********** *

* **** *
~*

*'"
*

03

. '. *0

• *

---*.

SlIECIFIC

CHArtl,

SUbkOUTINE.

AS IN A

*.

*.

* *--0

*0

*.

*. , . *

0

*

•

1

Goro

***El************
*

IS NOT ON ANY

:*::*:->1

*

**D1******-

-PREPARATION'"
'"

A[~I)

THl:. TEkHINAL BLOCK IS USED TO SliOW USEt(
EN1fU AND EXIT POI.HS WHEN 'lHE PROGI;{Al'-l
BEING FLOW'CHA}{TFD IS AVAIL'",BLE. '10 AN It,',
CUSTOHbR.
IT IS ALSO USED AS P..(~ ~XI1'
CONNECTOR WtU:N 'JHE LOCATION l:;EING DRM~CHED TO

·

* USER ENTRY *
**************** *
*

BLOCK C3 IS EN'I1:'H.ED FH.Ot-l TrfIS CtiART
FROH AT LEAST ONE OTHEr< CrIAHT.

*****E3**********
*SUBUM
003A1*
*---------------*

INPUT/OUTPUT
BLOCK

*,

,

*****************

TH!:. INSTRUC'1'IObl AT SYHBOLIC LOCATION GCJTO
CALLS A sumWUT'INr: NAMED SUBNY!..
ThE
LOGIC OF SUB Nt<': IS StlOWN ON CHARI 003
STAKTING AT BLOCK 11.1.

,,

,

*****************

1<---------*****Fl**********

*
0
*---------------*

*

SUBROUTINE

*

**
o
*****************

'"

BLOCK

****F2*********

0*

F3

.*
*
*<------*0
* *************** * LI
*. *.
N

•'"

. *.

*.

USER EXIT

E
S
C
R

*. , . *

*. *.

• *. *

* c3 **
* *.** *

0*---->*

ON-PAGE EXIT CONNECTOR -C01~T[{OL

---------->

TRANSFErlS 10

BLOCK c3 ON THIS CHA.RT.

o
S

*****Gl**********
'"
* *
** ·PREDEFINED
* * PROCESS ** *'"
* *
** *'"
**
*****************

ON-PAGE
CONNECTOR

S
I
N
G

• ****H2********* *

---------->

LINE JUNCTION

*****H3**********
*
*

*---------------*:+

*V'ARIABLE RE'l'URN*<--------*

• *************** *
o

"'Jl-*- *
0

*•

•
****

**

**

*****************

1
.

:+****

*002*

* *A1*
,

OFF-PAGE CONNEC10R -CONTROL TRANSFEHS 10
BLOCK 11.1 ON CHA.KT 002.

OFF-PAGE
CONNECTOR

1
.

*****

*002-

•

lU*

* *

Charts

91

• Chart 100.

..

Loader Control Portion *POHTION NAME IS*
.:+
*
IEWLOAD

*

'"

**C4*******
FREBMAIN
LOADE.D

*

**04*******

'" FREEMAIN

PARAMETEH

'"

•*

*

LIS'!'

***********

*

j
****1::4*********

1

.*.

**
•

R}::rURN

*****"'*********

PRMSETUP

*'"
*

*.
*****F3**********
*****F4**********
.*
*. *. ygS
* SET PARAMETEH *
**SAVE Lt:NGTH OF :+*
*COUNT = LENGTH *
*. PARAME:TER . *-------->* OF LOADER *-------->*PARA~l.E TERS F'O.c\. *
*. LIST • *
* PARA!.VlETERS'"
*LOADEIJ PROGkAr-i *
*. *.• *. *
*
*
*
*
*****************
*****************

i<::---------------------------------.. ______________

*****G2**********

*IEWLOADR

200A3*

*------------ ---*

•*

LOAD PROGl;{AH *
•****** ** ***** ** ***

1

**

*:+

*

**H2*******
DELETE
PROCESSING
PORTION

***********

**
**
•

1

J2

. *. * .

. * • :+ LOADING * • *. NO :+
~*---->*
*. *.
*
. *.*
*.. *

*. SUCCESSFUL

rES

*****K2**********

*
*

92

.....

*

*

04

:+

*

*

J

'"

'"
'"

*

WAlr FOR '"
* '" TERfI
..INATION *
* OF PROBLE.M '"
* PROGRAM
'" *********** *

'"
*"

'"

**eS*******
DETACH

PROBLE~J

'" '"

PROGRA[\~

************ '"

*SAVE AREA AND*
ATTACH
'"

'"

•*

PROCESS

'"

PROGRAtvl

:*::* :->1<------------------------1

* PROCESSING *
* PORTION *
************ *

F2

j. . .

'"

LOADED

1

'"

'" *********** '"

l<------------------------

LOAD

**

*PROGHAM AkEA '"

•* * ******** ***** **•

**E2*******

ATTACH

**E5*******

'" '"

****
CTRLB.TRN

******02**********
LOADER
* PROCESS! NG
**
*PORTION NAME IS*
*
IEWLOADR
*

*

EXECUTE
LOADED

PKOGRAM

*

*
*
*****************

ro

*

'"

1

*****C3**********

*.

'"

"i';"

'" *********** '"

1

. *. *.

NO

*-------->*

. '"

**B4*******

'"

***********

.*

*.

*.IEWLQADR • '"

j
*GETMAIN FOR
*SAVE AREA AND*
*
ATTACH
PARAMETER *
*
LIST
*

**A~*******

"'.

*.PORTION NAME.

•*************** •

**B2*******

IS

.*PROCESSING

**

*

'"

• Chart 200.

Initialization, I/O, Control, Allocation Processing (IEWLIOCA)
FROM
IEWLCTRL

FROM IEWLCTRL
OR IEWLOAD

...
...

...

.* •• Ai"'........
-- '"

*****A2*"'********
...
SHOW
'"
"'IDENTIFICATION ...

IEWLIOCA'"

.PROGRAM WANTED '"

IEWLO~DR

*<--------*

ENTRY POINT

I

***************

OF LOADED

..

...
'"

..

...

INFORMATION

·GETMAIN -- '"
*4K BYTES FOR ...
•
TEMPORARY'
STORAGE'"

... (INITMAIN) ...

...
...
...
SET SYSLOUT '"
'RECORD SIZE TO
'"

YES • '"

1

00

***.*C3**********

'"

MOVE SYSGEN

...

...

OPTIONS AND

...

...

..*..............
DONAMES TO
INITMAIN

..

..***03***** •••••

'"

*...

.....

•
•••• *•••

..

TSO
OPERATING

.'" ...

•

•

...
.SET

.

YES
"'-------->'"
•

TSO FLAG
INITMAIN

"'*E3.******

*
IN.

.
*
•

'"
• FREEMAIN
•

'"

.

*.

• ••••
*

......

"'..

.•

••.

*

*

··i~~:--------------::::::::j········

MNCKDDNM • "'.
G1
*..
• •••• G2* ••• *.*...
••
*.
•
•
...
USER
•• YES
.MOVE DDNAMES TO.
*.
DDNAMES
••-------->*
INITMAIN
•• PASSED . . . .

*. •

Hi

••
••

•

*

.•

·l·~::----------------------j
.~

••

PASSED

*

•*.•

F3

••

•

••

YES
*
------->.
*

•

... *.

•

*

• • **.*.**."'* •

*•

MIiMAINOK
* •••• Kl***.*.*...
• ESTABLISH AND
•
INITIALIZE
*
• COMMUNICATION'"

*

•

AREA

•

*

·······**l·**·****

••• *

->.•• B3 •*•
***.

TERM

gK~~~g

..

*. *.

•..•

• •••• F4.*.*.***.*
ALLOCATE
'"
SYSTERM OCB
'"

•*

YES

. *.• -------->:

*

DE~3~~~,R~Nb

:

..

*.

.

•
*. *.
••
*.***G4***.* •••• *
G5
.* WAS *.
...
•
.....
••
SYSLIN
... YES
•
INDICATE
*
••
PRINT
•• YES
·.CONTROL BLOCK.·-------->· INT~RNAL DATA *-------->*.
SPECIFIED .*---l
•• PASSED • •
•
MEA.

*••.••. *

...

*.

•

.* ••• *.*.*"'******

NO

.•

:::~~

'C~

*.
•
•

••.
.•
•••

••
!.:O
.201*

..

•••• *83 ••••••• **.
INITIALIZE
SYSLLN DeB

• ...

•

*
*•

*

········r······
••

• ...

J3

•' •

*.

PRINT

*.

*.

NO

'. '. SPECIFIED •••• -------~
*. ••

:.::.:->1·

1

•

*. ••

··l~~:--------------~~~~~~::J········

*.

MOVE D C B .
ADDRESSES TO •
INITMAIN

·1·:,,"',,-----::::]········

STORAGE FOR •

•

G3

MNVCGTMN
MAIN STORAGE
•• J1* •• **..
*GETMAI.N -- •

.~o~g~ T~£~~AM

•*

1·

** ••• 82**.** •••• *

.

·····I~:~;:~g~E

••••••••••• *.....

.•
• • ••
DCBS

•. *.

•

*

-- •
TEMPORARY
'"
STORAGE
•

MNPRMSCN

F'l
F2..........
••••
•
•
.*
USER
*. YES
*
gK§§~gs
*-------->: SCAN OPTIONS :

•
•

j

*** •• £2*.* ••• **.*

'. c:--------------::::::::j········
• ••

*'"
*••••• ** ••••*

• ALLOCATE AN~
... CHAIN SAVE
•
AKEAS

• EXTRACT TSO •
•
FLAGS
...
• •

"'. ••

*•• *••••••••*

---------;;;;.;;;;-->1

•• 01*......

*.

'"

"'RECORD SIZE TO ...
•
121
•

.I.

J

...

SET SYSLDUr

.....

...
...

• •

"'.

*.
.*
.
...
"'..'"
*.• '"

...

*****Cl********..

*.

.' ."'.

"'.
IS TSO
OPERATWG

*****************

'"

El

B3

• ...

.<--------..
'"
*.

81

...

****

*****82.*********
...

•••••••••••

I

...
'"

...

•'" ****
•
B3 *--~

•• 81*****"'*

.•
• '" IS

IEWLOADR -IEWLOAD

ENTHY POINT

**:t************

.****************

ANALYZE

...
•

.***A3* •• ******

*<--------*

CONTROL

...

(Part 1 of 2)

.•
••

• •• * •

·201*

YES

• '"

:i·

.*.*
• •• *.K3.* •••• ***.

.'.

**.*.K5 ••• **.* •••
•
•
• MAKE SYSLOUT •
•
SYSLOUT DCB *--------> •• CONTROL BLOCK •• -------->.ONL~ DCB TO BE *
• •
*. PASSED .*
...
OPENED
•
K4

••

.
....
* WAS
•
INITIALIZE.
.* SYSLIN
•

*

.*.** •• *** ••••• *.

••

*.

YES

.......
*.!*. ~o

**...
*201.
... A2*

•• *

..

*****·**1*********

• ••••
*201*
• A2*

'" *...

Charts

93

• Chart 201. Initialization, I/O, Control, Allocation Processing (IEWLIOCA)

(Part 2 of 2)

*****
*201*
* A2*

** •

1

***A2**'**********
OPEN DATA

SETS

*****************

1

• '"

*.

.•,

*****
*201*
* Cl*

· '" B2

. *.
IS

SYSLOUT

*.

OPEN

"'.

MNALQCPR

*****B3**********

• '"

*IEWBUFFR

203A1*

PRINTOPT

*****B4**********
*IEWLPRNT

*****85**********

207A2*

*IEWLPRNT

*ALLOCATION FOR'"

'"

'"

'"

SYSLOUT
'"
*****************

HEADING

'"

'"

*****************'"

OPEN SYSLIN

DATA SET

*****************

MNMAPHDG

*****C2**********

*'"
:
*

'" ALLOCATE ONE

j-------------------------------------------*.

J.'.

l

1
*

***** *

*IEWLPRNT 207A2*
*---------------*
-----*
PRINT MAP
*
HEADING
*
*
*****************

***** *

MNALOCRD

****"'E3**********
*IEWBUFFR 203Al*

.I.

.....

. ............... .

*****G2**********
*IEWLRELO 300A.1*
*---------------*
* OBJECT MODULE *
*
PROCESSOR
*

.

MNBI TMAP

*---------------*

*****F2**********
F3
*.
*****F4**********
*lEWPRIME 204A3*
.* IS
*0
*IEWLODE
4002\.1*
*---------------*
NO • * INPUT A *. YES
*---------------'*
* OBJECT MODULE *<--------*a
LOAD
a *-------->* LOAD MODOLE;
*
BUFFER
*
*. MODULE • *
*
PROC}:!SSOR
*
*INITIALIZATION *
'" a
•*
*
*

... ::::::::!........

*
***** *

-->* DIAGNOSTIC
*
*
DIRECTORY
'*
*
PROCESSOR
*
*****************

*ALLOCATION FOR *
*
SYSLIN
*
***'*********'*****

_ro~"

****
*'" E~ *--1
*****E5**********
*IEWBTMAP 50611..1*

*---------------*
*BUFFER -- DEeB *

.

~""", j

***FS************
CLOSE Df\TA
SETS

*****************

j
*

**G5*******
*E't<.EEr-lAIN
,.. STORAGE NOT

--* *

*

*****************

LOADED
* PROGHAh *
***********

a

*0

*. * . . * *
*.. *
a

:->1*
,

YES

*

*.

*.

NO

CONDITION 0 *--*0 CODE> 4 0 *
*0
::: .
0

*

*

r~s

*****JS**********
* F'J:{EE LOADED
'" PHOGkAM AKE.A

,

*****************

1

. *.
. *0
K2
*.
K3
*0
*****K4**********
*.
0*
*.
"'IEWLIDEN bOOA1*
*
LOADER
*.
YES
*
IS
*a YES
*---------------*
•
*. INVOKED BY • *-------->*.
EXECUTION • *-------->*IDENTIFy LOADED*----*. IEWLOAD •
*0 SCHEDULED. '*
*
PROGRAM
*
*a
a*
*a
0*
*
*
* •• *
*. 0 *
*****************
* NO
NO
•*

&

*

****
->** E5 **
* **** *

.'. *c

·
·

*---------------*

*SECONDARY INPUT*
*
AND FINAL
*
*
PROCESSOR
*
*****************

l

tiS

*.

****

**

1

0*

*****J2**********
*IEW'ACALL SOOA1*

94

NEEDED BY

1<--------------------------------------------------

• *.
H2
*. *a
*"'**
a*
*
*
NO. * END OF
*.
* E3 *<----*.
SYSLIN
a*

: *:;*

a

,,·:::··············:::::::::::::::::··1 .....J.:::. .

'"

.

*.

. * MAP •. ••
*. SPECIFII:;D.
* *
*.
0*
*•• *

• * IS
*0
•*
t.
*IEWERROR 50SA3*
YES a * SYSLIN AN *0 NO
•*
IS
*a NO
*---------------*
___ to INTERNAL DATA. *-------->*. SYSLIN OPEN. *-------->* IEW1024 -'"
*a
AREA
a*
*.
.*
* FAULTY DDNAME *
*.
•*
*.
0*
*
'"
* •• *
* • • '"
********"'********
YES
***'"
****
** E3 **->
->'"* J2 *
*

***** *

cs

• "'.

NO • '"

*****************

t-mEOCRET

'"

1

NO

'"
'" -------->:
Bu§~~~ob~R
*
'"

SPECIFIED

'"
'"
*****************

****

***Cl********'****

207A2*

*---------------*
*---------------*
*---------------*
.*-------->*BUFFER -- OEeB *-------->* PRINT LOADER *-------->* PRINT OPTIONS '"
YES

t.

* •. * • '"

~~g: *->1'

1

*. *.

*

l

*****
***** *

->* E5 **

l<'"
, ****K:'"J********* ,

·

HETUd.N

***************

• Chart 202.

DCB Exit Routine (OPENEXIT)

··

·*"''''A3''''''*'''*****

'"

OPENEXIT

EXPRINT

*****B2**********

'" FORCE RECORD
'" LENGTH=81 OR

'"
'"

YES.

:Fo~~kTf Fka~DASA:<--------*'

*.. '"
*.

'" PRINT CONTROL '"

B3

*.

*. *.

SYSLOUT • ",. '"
'" •

*****************

I

.*.

..
'"

***************

• '"

*.. '"

ro

el

. "'. *.

0"" '"
"'.

SYSTERM

t,..

*
1

*.. '"

*****C4**********

YES
:r~~C~Ri~~ ~~~t,!
.*-------->*REC LE,NG'l'H=81, *-------->*.

*. *.

..0.

:

B~~§¥~~;hl:

cS

SPECIFI~D

*.*~Y USE~*.*

*****************

D3

.*.

1*

EXUNDEF

*.

***.*D4**********

.*
*. *. YES
'"
I~
"'FORCE NUMBER
*. *. UNDh:C'INED.
FORfvlA'I'
.. *-------->*
CHANNEL
'"
'"
PROGRAM3=2
o '"

I

*..*
* •• *
* NO

*
*
*****************

1

.*.

EXLRZCL

****
*
*
->* J3 *
*
*
****

.*.

*****E1**********
E2
*.
E3
*.
*
*
0*
*.
.*
*.
*FORCE LENGTH TO*
NO • *
RECORD
*.
YES. *
IS
* 80 E'OR SYSLIN *<--------*. LENGTH
0*<--------*.
FORMAT

*

OR SYSLIB

*

*. SPECIFIED. *
** ••
..
*
*

*******************

L_______________________ I
>

*.

II

FIXED

**'••
..
*
*

•

.*

D~

.*.

NO

:*::~

YtS

****
'"

*.

*.
*

• '"
SAME AS
"'. l{EC()HD SIZE •
"'..

*---1
YES

*..*
*. 0 *
.
* NO
****
**** *
*
*
** J3*
->* Kl **
*
*
* ****
****

l

*.
•*
*

1

YES

NO

. *.

*****Fl**********
F2
*0
*
*
0*
*.
*
*
NO 0*
BUFNO
*.
*' FORCE BUFNO=2 *<--------*.
GREATER
• *'
*. THAN 1 • *
**
**
*0'*
*****************
*0 • *

.*
*0

.*

F3

. *.

*0

*. *0

IS
FO}{MAl'
VARIABLE, •

*. * . . * *

•

* •• *

l--------------~~~~;----->1
*

'"

OFt

-*---1

*.. '"

NO

EXLIN

. *. t.

. *' '" BLKSIZ~ '" *.

YES

*1

"'XI' 'FIX

.c

*****G2**********
*
*
*FORCE NUMBER OF*
*
CHANNEL
*
*PROGKAMS=BUFNO *
*
*
*****************

"

*****F4**********
*IEWhRROR 30SA3*
YES
*---------------*
*-------->*' IEW1043 -*
*
ERROtt
*
* (PEH1"lAllENT) *
*****************

j

NO

*****G3**********
*
*
*FOHlE FORr".AT 10*
-----*
FIxED
*
*
*
*
*
*****************

1

. '. *.

*

*

*

****G4*********
rt~TU~N

***************

*
*

*

*

*****113**********
0* • * BLKSIZE * *. NO
* FOke£:.. LJLY-SIZE **
*. SPECIFIEU • *-------->*
10 kLCGR.D
*
H2

*.

*. * •• * *

i

.*

*
*

:'::*:_>j

YES

V

*****Jl**********
:+

*KOUt'lO BLOCK '10
NEXT HIGtfFR
INTEGRAL

*

:+

*

*.
J2
*.
* IS >1<. *~
• * BLOCK ~N

EXTl{NhCK
I-.iO

*<--------*.

*
>I<

*****************

:* *::* :->1
•

IN'I'EGRAL OF •

*.

** *:f.
*****.J3**********

I' XZERO

0

•

L~ECL.*

*. * •• * *

'lES

IEWI012 --

i:.l2 KU ,jUFNO .iN
TH~

*
'I'

_lC';~

*******************

*

:~~~~~~~~--~~~~~:

*

**

*-------->*
A
*

****
v
*****Kl**********

.

Lt,l:JGTti

****:f.************

.

*-------------------------------

*INVALID BLKS!ZE*

*****************

·*•

V

****K3*********
1-<1 dJkt-;

.*

********:t.******

Charts

95

• Chart 203.

Buffer Allocation Routine (IEWBUFFR)

FROM
IEWLIOCA

····Al·········

• IEWBUFFR ••
•••••••••••••••• •

•

j

.*. *.

~-

.

AND DECS'S

*.
. *. *.
. •.
•*PICK
•••• 83UP•• POINTER.
*•••• **.
B4
... FOR *. *. NO
. *B2 At~'Y*. *.
.. * PREV *.
...85THIS *. *.
••
.* PREVIOUS *. YES
•
TO THE READ •
.*ALLQCATION *. YES
• *ALLOCATI ON *. YES
*.
CHAIN
*-------->*. FOR LOAD .*-------->*. FOR LOAD .*--*. SYSLOUT .* .*-------->*. *.ALLOCATION.* .*-------->*• OECS
(CMRDECPTI.
*. MODULE .*
*. MODULE .*
*. *... *...
**..... *. *
•
*
**....
. '.
**...
..
" *
'" *
* YES
*NO
"'NO
*NO
81

*................

DEALFIXD

1 I~~~I~:~:

.*e4.......

*

...

USE OEca

•

*CHAIN TO FREE.

OECB I 5 AND.
BUFFERS

*

*

**"''''* •••••• ' ' •

------~------------------------------------------->l
ALOCFIXD

CHKFORMT

*.03.*.****
* ALLOCATE •
... DECS'S''''

"'.*"'*E2***."'*****

•'"

*

'"

*

·····r····
= N P

.*

.........

E3

•••

*.

FREE RLD

•

...

**•••••••••• *

*

•

*.

•• F~Dij£~D •••• <----------------

* . . ..

.... ~ES

•

ALOCUNDF

*.

·f"

1

**84*******

'"

'"

STORE POINTER'"
YES .'"
FOR..
• TO DECS CHAIN *<--------"'.
SYSLOUT.'"
* IN CMWDECPT *
*.
•*

* ALLOCATE
'"
'" RLD BUFFER
'"
*AND 2 DECS ' S *

*.*.*F3**********
*MOVE 'DCSSLKSI'*
•
TO
*
'" COMMUNICATION *

*****F4**********
• STORE POINTER.
* TO RLDSUF IN *
• COMMUNICATION '"

"'.. *

'AREA ·~g~~I~~I::FS~3~=.·<--------··

•

•••

1iiit~iij~~

.*C5******.

*

····r···

•

•

'AREA :*;:*:

****
* G1 **

*

'"

t.

::~~~

NO

*PICK UP ADDRESS*

*

RETURN

i

*

*END-OF-FILE AND*
* END-QF-CONC ...

··

I

RDINCORE
• *.
• *0
*. *0
B4
*. *.
B5
*. *0
0*
.*
.*
.*
*. YES
0*
FIRST
*. NO
.*
*. YFS
*. INTERNAL
• *-------->*.
RECORD
• *-------->* 0 VARIA.BLE
0*---1
*. *
DA.TA AREA. *
*0
.*
*. FORMAT • *
0'*
*.
0*
*• . *
*.. *
*..
*.. *

***·*Bl**********
...
SET BIT IN
...
...

.

****A3*********

•...
EODAD
*
• *************** *

****

'"

*
•
****

*.

l---------------'~·::~~~s:~:~::·"~--------------l

·· ..
·
****

*

E1 *--1
****
*****E1**********
*USE COUNT FIELD*
•*TO
*
DEBLOCK NEXT*
*
RECORD
*
*****************

.

:•*;~* :->1
•

.*

. *E2

*. t .

. *.

*.

NEW

RDl'Xr

*. t .

BLOCK

i

NEEDED

**.
•..**

.*

NO

• *---

....*****E3**********
..
STORE LENGTH '"
*

AND ADDRESS

I

aOUNDEFN

+

*<--------*.

*.

FOR RECORD

*0

*
INTO DECB
.. TXT ONLY
'"******************'

YES

•

. *E4TES'],*. *.
.* REGISTER *.

i

TYPE

**.
. ..**

R~D

.*

•

-

*****E5**********
..'" STORE
LENGl'H
..
AND ADDRESS *

*-------->*
rXl'/RLD

INTO OECB]'O

I

READ TEXT

..

'"

*****************'"

ONLY

****

. *. *.
Fl
•*
*0
*
AT END
*.
---*. OF DATA SE'l' • *
*~
~*
*.
*•. * . *

***F2************
READ NEXT

:**:~* :->1*
*
****

RDII1C1

•*
*0

0*

Gl

•

*0

VARIA.8LE

i

*****************

*.
0

CHECK NE,XT
BUFFER FOR

NO

*-----

COMPLE'ILION

0

0

*****************

RECORD

*****Jl**********
* SET FLAGS IN *
* IEWLDCOM
..
INDICATING
* END-OFFI LE & **
* END-OF-CONC *
*****************

-->*

*****~1**********

INTBRNAL

*

AREA FLAG *----*
OFF
*
*****************
•
*

98

**

STORE NEW

**
*
*

*******************

I

****J2*********

*
RETURN
**
• *************** *

-->*

*
*

****H3*********
RE'l'URN

***************

*

RLD

***F5************

*

I

COMPLETION

*****************

I

***GS************
'" READ THE RLD

HECORD

*****************

I

1

*'"

•

THE TEXT '"
RECORD

HEAD

*****************

***G4************
CHECK FOR

j

*****H2**********

*-------->*R8COHD ADDHESS
* INTO IEW'LDCOM

*
*
*
*****************

I

*****************

1<----------

*****Hl**********
*
*SET
POINTER TO *
*

SET
•,.*DATA

I

***G3************
CHECK FOR
COMPLETION

*

INTO
BUFFER

READ

*****************

*****************

I

YES

*
*

RECOHO

***G2************

*. FORMAT *
*. *•. * *

***F4************

*

kEAD A TEXT

BUFFER

NO

*. * .

***F3************

BLOCK INTO
LI\ST EMPTIED

YES.

***H~************

****.ti4*********

•
*
*
RETUti.N
*
* ***************

CHE;CK l'HE

T.J::.XT rtt-'AD

*****************

1

. *.

*****J4**********
JS
*_
*
*
•*
*0
** INDIChTE
l'40
* ________
YES
* END-OF- *. *
DATAl
*<:
*. CONCA'],ENA1'lON.
I

'"

0

**

*.

*****************

I

**..
. .* * . *

. .".l.::" .....

****K4* ********
*
*
•
RBTU~N
*<:-------* ***************

CtiECK TH~ RLu
KEAD

* .*****************

*

• Chart 206.

Library Open Routine (IEWOPNLB)

FROM
IEiiACALL

····Al·········•

*•
•

IEiiOPNLB

•

•••••••••••••••

I

B2 . "'. *oo
••••• B3..........
• •••• B4* •••••••••
..'"
*. *. YES
. . SAVE SYSLIB . . . . . ..lNSERT LOADER' 5*...
*.
.. '"
WAS
'" EXIT ROUTINE ...
*. *. PASSED .. '" *-------->*.
SY'SLIB DCB ... -------->.ADDH.ESS~S FROM *-------->* EXIT ROUTINE ...
1\
*. PASSED ...
...
.
•
ADDRESSES
...
*. too .* ..'"
*......
. . PASSED D e B......
*•• *
•••••••••••••••••
• ••••••••••••••••. .
.. •

81 . *. *.

0

WAS

*.

.. '"
SYSLIN
YES
CONTROL BLOCK.

i
...ct............
NO

'" CLOSE SYSLIN

.i.NO

NO .. '"

DATA SET

C2
*•
. *SYSLIN
WAS
*. "' ..

---0. CONTROL BLOCK.'
*. PASSED .*

............*....

*. *.• * ..'"

rES

••••• Dl........... . . . .••••• D2*** •. *****..

...

... MOVE INTO DCB '"

... ALLOCATE DeB

'"

...

'"

...

:DDN~R~=~~~LIB:<--------:AND INITIALIZE :

...

·······r······

............•....

***£1········****

*

OPEN srSLIB
DATA SET

*************.***

1<---------------------------------------------------------------------------• o.

Fl
*.
. *• * OPEN *•*.
*. *.
.*
* •. *. *

NO

*. SUCCESSFUL • *---

rES

**********
••*****G1
SET 'LIBRARY *•
** INDICATION
OPEN'
**

·

.

*******.*********

I

*****H1**********

*IEWBUFFR 203Al*
*---------------*
* ALLOCATION
BUFFER
**
•*****************•
4

l~-------

o ****Jl ********* •

·
,..

RETURN

***************

.
,..

Charts

99

• Chart 207.

Print Routine (IEWLPRNT), Write Routine (WTWRITE), Check Routine (WTCHECK)
FROM IEiiLPRNT
OR IEWrERM

. . . r. .·
•••• A2 •••••••••

*

•

*

lEiiLPRNT

•••• A4 •••••••••

••

*

•

•

B2
-.
••
*.
• ••• S3 •••••••••
.*
IS
*. N O .
•
SPACE.<-------*,
SYSLQUT
,.-------->.
RETURN
*
•,..
*. *OPEN
.*
•
•
..*
•••••••••••••••

LINE.

•

.......1'......
,..

"
*,

.•

C1

,*,

*.

LINE
COUNT

*.

*.POSITIVE

*..*

...,,,.. "j';"

YES

.....

I

·····B4··········
•
*•
'SET WRITE FLAG
IN OECB

*
*
••••••••••••••• * ••*•

OF BUFFER

•

•

•••••••• *••••••••

..... 02 ..........

,.. PUT CONTROL . , . .
•
INTO 1 S T '
• PICK UP BASE
• CHARACTER OF •
•
LINE COUNT
•
BUFFER··

..

,..

"

••

I

• ••• Dq •••••••••

,..
•
•
,..

.

••

*•
•••••••••••••••• *
RETURN

········I:==::---------=:=:r······

·... ·E1.·····.·.·
•'STORE
•
NEii LINE'
,..
COUNT
•
•
•

..

[

" •.

85 ,

..

.. .. ..... ....
NEED

CHECKING

"

NO

•• ---

r~s

••• CS ••••••••••••

iiRITE THIS
BLOCK

········1····..··

.....01..........

WTCHECK
••••••••••••••••
••*

••• C4 ••••••••••••

*, NO
'PUT EJECT INTO'
,.-------->* 1ST CHARACTER •

,..
•

•••• AS......... .

•

J

• •••• C2 ••••••••••
•
•

.*

••

*••••••••••••••• *

,*,
BY

WTiiRITE

FROM lEiiLPRNT
OR IEiiTERM

•

CHECK OECB

•••••••••••••••••

[

••••• 05.* ••••••••

*
'TURN OFF
• FLAG IN
*

•
•

WRITE •
DECB •

..• ......[::::--•
•·••• E5·.*.····*
RETURN
*•

•

*••••••••••••••• •

••••••••••••••••••*

[

·····Pl ......... .

•*

*
*
•••••••••••••••••••

RESET CONTROL •
• CHARACTER TO
•
I SPACE l'
,..

1

.*
*.

.*

Gl , " *. *.
AT END

•. OF
*.

BLOCK

• •••• G2..........
*.

YES

.• • *-------->*•*

r

•. .•

••

*WTWRITE

. .... G3..........

207A4*.
,..
.PICK UP POLNTER-

*---------------*
WRITE THIS
BLOCK

.-------->.
*
.*
*

• ••••••••••••• *..

TO NEXT DECB

.*WTCHECK
.... G4..........
•.... Gs ......... .,..
201AS*'"
*---------------*

.SET POINTER XO ,..

.*** •• **** ••• ***.

********* ••• "' •• *.

.-------->* FIRST RECORD IN*
•.-------->*.CHECK THIS DECS.*
•
BLOCK
•
• •
.
•

• ••• **.**.* •••• *.

o

·*··*H1···.·
•••••*
•
'SET POINTER TO
'NEXT RECORD IN •
BLOCK
•
•

••••••••••••••••••*

,~,.

[<-----------------------------------------------------------

••••• J1 ••••••••••
• STORE POINTER •
'TO NEXT RECORD
• IN ·CMPUTREC· ..

*

..

•

AND CLEAR

BUFFER

•

•

•••••••••••••••••

I

••••• *•.• ••
•• ·*··K1
RETURN
•••••••••••••••• •
100

• Chart 208.

SYSTERM Routine (IEWTERM)

FROM IEWERROR
OR IEWBTMI'.P

Al •••• •••••
••••• IEWTERM
•-

-•••••••••••••••-

•

I

-·····Sl··········-••••••••••••••••••-*
-GET BOFFER MD •
• DCB POINTERS -

1

.*

.•

Cl .*. *. *.
IS

• ••••

*.

•••• S~~i~RM ••••

*.

*. .•

.•

NO

*INITIALIZE DeB.

-------->: --

~~g~~~:s,

.

•

OP POINTER'
TO CURRENT

•

•

...C3............

:-------->.

• •
•••••••••••••••••

. . J.::....

•'PICK

C2..........

• •

• OPEN SYSTERM
DATA SET

.*

•

.................

I

C4 .*. .. *0
OPE~

*.

NO

.* ....cs •••••••••••

:+

SET TERM
•
INDICATOR OFF:

•

•

.-------->•.• ~UCCESSFUL••••-------->:
*.

•••••••••••••••••

*. .•

.,.

• ••••••••••••••••

.. . ,..1.:::....
..INITIALIZE

*<------------------------------------------------------------*•

*SUFFER AND DECS*

.•

····05···.· .. ·. •

• •

•••••••••••••••

*.*.* .. "' ...... ***

•

I

.

AND..
CHAIN DECS'S •
•

*'

RETURN

•
•

·····El*····*····
.---------------.
-WTWRITE

•

2071'.4'

WRITE THIS

•

•••••• * ••••• ** •••••*
•

BLOCK

I
·
.
I
... *·Gl·*···***··
***··Fl.···.*.···
•-PICK
•
OP POINTER'
• TO NEXT DECB

•

••••••••••• * ••••••*

·-.---------------...
-WTCHECK

2071'.5'

'CHECK THIS DECB'

········l········

•

·

••••••••••
••

BUFFER

•

·······r······
•····Jl*·*······ •

-••••••••••••••• ..

RETURN

•

Charts

101

• Chart 300.

Object Module Processor (IEWLRELO)

FROM IEWLIOCA
OR IEWACALL

•····Al*********
•..
IEWLRELQ

..

**************** *
:*::*:_>[
*
•
••••

RELOREAD

*****Bl**********
*IEWLREAD

205A3*

*---------------*
-->*
..
.. GET A RECORD
,..
..
..
******.**********

..
..
..

•••• BS."'.**.* ••
Hr.;'l'URN

************ •••

..
..
*

A

1

I-:::---------------------1-:::---------------------------------------------->l

*****C4**********
*****c!)* ********
... Cl- *. *. *.
... C2" • *. *.
... C3" • *. *.
*IEWLEN'J
307A.l*
*IEWFHHOR
~o!:>p.J*
"
END-OF*. YES
...
WAS END
*. NO
•*
DUMMY
*. HO
*---------------*
:i----------------*
*... *.
Cot~CATENA.I'ION. *-------->*.
CARD
• *-------->*.
DATA. SET
• *-------->* END-OF-~ODULE *-------->*
WAt{NING
..
.*
•. RECEIVED .*
*.
.*
.. PROCLSSING"
*UEwl1A2) -- ,w*

...

I

*. ...

. ..

. . . . ..

....*

*

*

*. ...

NO

..
. . . . ENIJ CAI{D *
*****************
*****************
I

*. ...

• *oo
• *.
01
*oo
02
*.
*****03**********
*****D4**********
• * IS
*.
•*
*.
*
SE.T
*
*IEWER.ROR S.05A3*
• * RECORD AN *. NO
•*
*. YES
* END-OF-FILE, *
*---------------*
*.
OBJECr
• *-------->*. INTERNAL
• *-------->*
END-OF*-------->* IEW1141 -*---1
CARD
•*
*. DATA AREA..
• CONCATENATION.
f\
•
RECOttD NO'!
•
*.
••
*..*
*
FLAGS
*
* OBJECT CARD *
* •• *
* •• *
*******.* •• *****.
*****.***********
* YES
* NO
****

I

HEL010

.0

j

1

l_____________________________________

·
1

L:;~::*:

: *:~*:

:*::* :<-1

****
Y~:3
.. *.
.. *.
I EWLTXT
• *.
TX'l'10
••
E1
*.
E2
*. *.
*****E3*.*******.
E4
*0
E:>
*•
*.
.*
*TRANSID
309A1*
••
*.
.*
*.
• '"
TEXT
*0 YES
• * WAS MOD *oo NO
.---------------*
• * ZSD FOR *. YES
•*
T.t.XT
*.
••
RECORD
.. *-------->*.
CARD
.*-------->*TRANSLATE TEXT *-------->*..
'IEX'l
.. *-------->*.
MAkKED
•*
*.
oo.
*. RECEIVED...
'" ID TO CESD
•
*. Dl!.FINED • *
*. D1:.LETE • *
*• • *
* • • '"
'"
POINTEg
*
*0.*
*• . *
* •• *
* •• *
*"''''**************
* •• *
* •• *
•*

NO

0*

F1

• *. *..

••
RLD
*oo
RECORD
*.

..

r

*•• ** *
*****F2**********
*IEWLRLD
305A1.
****
•• YES
*
•
• *-------->*
.---->* Bl *
•*
* RLO PROCESSOR *
f\ *
•
.***

*.

··r"

o·

.---------------*
.
.

.........

.*.

G1
••
*****G2*.********
0*
*.
*IEWLESD
301A1*
•*
ESO
*o. YES
*---------------*
*.
RECORD
• *-------->*
*--*.
•*
* ESD PROCESSOR *
f\
*0
0*
*
*
* •• *
****"'************
*NO

1

. *.

Hi
*.
***.*H2*.***.****
oo*..
*I~WLEND
307Al*
END
*o. YES
*---------------*
•*
*.
CARD
• *-------->*
*--*..
• '"
• END PROCESSOR •

*.. * •• * • *

*

*

Jl

'"

*.*.****.* ••• ****

NO

J
I
*.

NO

YES ...
---*oo

•

B1

*

·······r. ····
.

*o.
*****G4*********.
G5
*.
*
SET T~XT
*
.*
*o.
*RECEIVED FOR NO*
YES • *
NO
••
* LENG'lH CSECT *<--------*.
LhNGTH
•*
•
INDICATOR
*
*0 CSEcr • *
*
*
• • • '"
*.*************.*
* •• *

l

*NO

------------------------>1

. *.

*****114******* •• *
H5
*.
*
*
.*
*•
*MOVE TEXT FROM.
YES 0*
ENOUGH
*.
*BUFFER TO AAIN *<--------*0 STOHAGE POl{ • *
'"
STORAGE
*
*. TEXT
•*
*0. *
*********** •• ****
*•• *

*.

1

*.

Kl

*

102

*.

(:~)

,*,
*. *.
*** •• K2**********
"'IEWERROR 505A3*
**.*
SYM
*. NO
.---------------*
*
*
RECORD
.*-------->. IEW1152 -*---->* B1 *
.*
*INVALID OBJECT *
*
•
*o..*
•
CARD
•
****
* •• *
.***.********.***

.. *

NO

...
*****1-'5****.****.
***.....
** SET
TEXT
*
HEC1'IVED
*
INDICATOH.
•
•
*

,*,
***.*J2***.**.***
J4
*.
*IEWLMOD
310A2*
•*
*o.
0*
MOD
•• YES
*---------------*
NO • *
HIGH
*0
*. *0 CARD
.. * .. *-------->: MOD PROCESSOR :---1<------------------------------*· *. T~~~s~gOR ••• *
*.
•*
•
*
*o.
•*
•• • *
****.*** •• **.****
*o. • *
•*

1*

NO

***** *

1*

I
*

'"
:

NO

****J5*.***** ••

*
ERROR EXlf
:
************* ••
TO IEW'£RROtt

YES

**.*.K4**********
*
*
.UPDATE HIGHEST •
*
•
• TEXT ADDRESS *---->* 81 *
*
*..
•
*
•• **
** ••••• *.**** •• **

(It:ril194J

• Chart 301.

ESD Processing Routine (IEWLESD)

FROM

I EWLRELO

ESDSTART

OR IEWLODE

*****A2**********

(Part 1 of 4)

*****A3**********

** SET 'ESD'S'"*
... ··*·A1****·····'"
...
* SAVE CURRENT .*.
* **** . .
IEWLESD
ESD 1D
*-------->*
RECEIVED'
*---->* Cl *
.'".
**-------->**
...
*
lNDICATOR
*
*
..
**************.
*
* . . .******************
****
*****************

B2

!

NO •

--*.

*****
* C1t
**

*301*

*

t

_*

. *.

el

:

*.

NOT DELETE,

OR LR..

*.SD,

.*-------->*

LOADPROC

c2

•

•

**

**-------]_v

******************

****

A

••• *

ON LOAD CHAIN

*

1

*

MODULE

*****

*302*

*

F5*

.. *

:3gj* *--&PI
****

ESD10

*

Dl

*,

*.• *

1

*

::ELIMINII.RY

PROCESSING FOR

YES

V OBJECT MODULE

.*.

*.
*****D2**********
*.
*
*
ESO
*. YES
*SET TO ER WITH *
*
TYPE WX
• *-------->*WEAK CALL FLAG *---->*

.* • * IS

*.

*
*

.SAVE ESD ENTRY

*..
• *

01 :

*_

*****B3**********
YES

•*
t.
YES
• * END OF
*.• *-------->*.
YES
*****C4*********
*
BEING
• *-------->*.
CESD
LOAD
• *-------->*
RETURN
*
*. PROCESSED. *
*.
•*
*. CtlAIN • *
*
*
*.
•*
*.. *
*..*
***************
• *IS LOAD..

*.

*.

*..*

****

*

.*.

ESD *.
*.*IS
TYPE= PC
*.

*. * • • * . *

**
**
*****************

* •• *

:*::* :->1*
****

ESD12

.*

.*

E1

.*.

IS ESD

*. *. TYPE

:*::* :->1

****
E2
.*

*.

*.

.*

YES

*-------->*.

YES

LOA.o20
*****1::3**********
*
*
*MAKE NULL CESD *
*~u~~E~~~~y. *. *-------->:
El'lTRY
*..*
*
*
* •• *
*****************

ESD15.

NULL. *'
*..*
* •• *

*

*
*

***** *

*:;g~kl

NO

*.

E1

****
*
*
* Fl *
*
*
** **

•

*.

CESD

*.

*.

~O

:-------v

*

NO

Ai

******
Eso20
Fl"*·*.

LOA010

YES
F2" '*.

:-------v

.

: G2**--1

v

* cs*
* *

*****F3**********

** MAKE PC ENTRY **
ESO *. *. YES
.* . * IS PC *- *. NO
*. *. TYPE PC • *. *-------->*. *. g~~~~~
*. *-------->:
IN CESD
*• • *
*• • *
*
*
* •• *
* •• *
*****************
*, NO
****
*
*301*
.* · * IS

*****
*302*

*****
*304*
* *b~*

*

****
ESD35
.*.
.*.
BSD40
.*.
Gl
*.
*****G2**********
G3
*.
G4
*.
•*
*.
*'IRANSID
309Al*
"*
*.
• * Ct.SD * •
• * IS ESO
*. YES
*---------------*
•*
so
*. NO
• * ENTKY FOR *. '{ES
*. TYPE LR OR .. *-------->* TRANSLATE. ESO *-------->*. DEFINED YET. *-------->*.
LD
• *-------1
*.
LD
•*
*1D TO CESD PTR *
*.
.*
*. Cr:.EATt.D • *
v
*• • *
*
*
*• • *
*. . *
*****
* •• *
*****************
* •• *
* •• *
*302*

'
l

l'

NO

1*

YES

CESDSRC~

"0

,

*:~*

ESD~O

*****Hl**********

*****H3**********
** SAVE so CESD **
: SEARCH CESO ;<----------------------------------: ENTRY ADDkhSS !
*
*
*
*
*****************
*****************

**

**

1

*****rt4**********
** £l".:AKE
LD E.1.>J'!ttY *
IN CESD A.i.W *
Ct1p-~;~Ai~ LD
*
*****"'***********

:-------v
**"'**
*302*

* ",.
* •

. *.

J1
*.
* • *. NO
MATCH
*'*. FOUND .*_*-------g
*.
**"'**
*. _* • *
*302*
* YES
* A1* L'lO-f.iATCrl
PROCLSSIim

• *· *

t

*",*

* **** f':ATCH
*303* PROCi.SSlNG
'" Al*

* *

Charts

103

ESD Processing Routine (IEWLESD)

Chart 302 •

(Part 2 of 4)

•••••

*302*
• A1.

•NO-MATCH

*-&I PROCESSING
*

NOMATCH

Ai
.. * . * IS

·

-. *. *.

ESD

*..

*****A2* ••• ******
*• MAKE SO ENTRY **

YES

so ••. *-------->:
*. . *
•

*",.,_

I

TYPE

*•• *

IN CESD

:-------~

,..

*****************

NO

Bi · *. *.

.* . *IS

*.

ESO

TYPE PR

*.

•:*

*.

· *.

*.

**
*------------------------------*
*******************

**
YES
*-------->*
.*
*
•

~~P~sgM

••

* •• *

i

NOMATLD

01

~
• *.

*.

*:*:~~

_____

*

IS ER

1

*****c3**********
* MAKE eM ENTRY *

* LENGTH AND *
•
A.DDRESS
*
*****************

*****************

*EXTENDED ENTRY *

*

•

*

MAKE ER ENTRY

1
.*.

*.

. *' * so
MARKED
*. DELETE

*.

IN CESD

*
*

*.

*****************

· *. *.
Gl

*.

IS MAP
SPECIFIED

*-*'*

ENTR~ IN
TRA.NSLArION

TABLE

,.

.

*.

*

ADDRESS FOR

*
*

*. *.

*
RELOCA'I'ION
*****************

*****F2**********

YES

!CHANGE J~R TYPE:
TO ER
*

• *-------->*

*
*

*.

**
*
*
*

MAKE

********t********

*••

*

*

*****G2**********
*IEWLMAP
308A2*

*---------------*
• *-------->*
*------------------------------YES

::~::~:*:::*~~::: j"

L:~__________________________________

*.

*. *

*

•

*

:~~;* *I<:~--------

* F5 *->

* * v
****
NEXT20
.*. *.
*****F4**********
F5
!GO TO NEXT ESO :
yEo • *' * ANY
*. *,
*
ITEM
*<--------*.
M.ORE EGO
•*
*
*
*
ITEMS • *
*
*
*..*
*

*

NO

*****05**********

**
•
*

->* F5 *

•

TYPE LD • *

*.. *
* •• *

*****E4**********
E5
*.
SET INDICATOR •
•*
*.
* TO USE LOADER *
YES • * IS ESD
ASSIGNED
*<--------*.
T~PE ER

*

*. *.

*.

•

;~g~: *->1*

*****.*****.*****

··l*~~:--------------::::::::j***-*·**

*-*' • • •

"**

l ***** **

*..*

*.

TRA.NSLA.T

**
*------------------------------>
*
*

*****************

0*

1

****

**
*
*

IN CESD

• '"

CHA.INING

*-r

*****D2**********

.*

Fl

*-~~*

NOMATER

*.

MAKE LR ENTRY

**

*****

*302*

*****C4**********
cS
*.
*
*
.*
*.
>:EXT~~gE~N~~~RY : ________ >:IN~~*~SSE~~ER ! ________ >! E2~~~NB~E~~PE ! ________ >*:* INP6~ ESO *:*:~~

*

MAKE eM

*****El**********

**

*****

*302*

NO

*'*';ES

NOMATLDl

IN CESD

*

**
.* . * IS ESD *. *. NO
*. TYPE LR OR • *-------->*
*. LD
•*
ESD TYPE *

*.

MAKE PR ENTRY

*****C2**********

.*

••

:~.

*****B2**********

*. *.

(0

.• Cl

*304*
••

*. * . . *. *

NOMATCM

****.

****

i

0

-***'*~~I~~*'****

*'i'~O
t

*301*
:+- Cl*
* *
*

YES.

*

0*

GS

*. *

•

A.NY

*•

*.

&-------*. *~~5}{~~~I~N. *' *

I

:;~i!
*

.'*. _.. *

*:r

NO

LD20

H5

YES.*

6-------*.*~

*****

*301*

','j'

*.

•

• * END

*.

I,.

OF
CESD

*. *.

.*,*

**..
. .* '"

****J5********::t.

•*
*'"
R~'I'URN
* *************** -

104

• Chart 303.
.****
*303*

ESD Processing Routine (IEWLESD)

(Part 3 of 4)

.

. .*--l

,. Ai'"

'" *

*

MATCH
~PROCESSING

'"

****
A~

'"

**** • "'.
Ai
*.
A2
*.
A3
*0
A4
*.
AS
*.
.
*
*.
.*
*.
.*
*.
.*
*.
•• IS CESD *. YES
.* IS ESO *. NO
.* IS ESO *. NO
.* IS ES~ *. NO
.* .* 1& so *. *.
*. *. TYPE so .* • *-------->*. *. TYPE SO .* • *-------->*. *. TYPE ER .* • *-------->*. *. TYPE eM .* • *-------->*.
MArtKED
ESD I'YPE
*. DELETE .* •
*..*
*..*
*..*
*..*
IS LD/LR
*.
. '"
*•• *
*•. *
*.. *
*•. *
*.. *

MATCHED

..

. *.

*.

l'

• NO

MArSDER

•

*.

MATSDCM

l_:;;gj·.

YES

...

•

*.

:*::':->1*

*

l'tIA'l.'&DLR

l'

YES

*---1
YES

NO

:'::;

****

.....

****
. *. *"'.'"
UPDATERC
*. *.
*****B4**********
*****85**********
.*
MOD
.* B3 *. *.
.
.
..
*IEWERROR :>05A3*
.. '"
CARD
*. NO
.. *
IS SO
*..*-------->*
YES
.UPDATE RELA'lIVE*
*---------------*
•• RECEIVED FOR .*-------->*.
MAHKED
RELOCATION
*<--------* IhWl102 -*
B2

• *.

A

*. MODULE.*
*..*
*•• *

*

*. DELETE .*
*..*
* •• *

YES

1
*

*

*

..

•

.*
*.

*.

*.

*302*
* OS*
* *

*

'"

DUPLICATE *
ENTRY IN '"
C~SD
..

........[........
*

*****02**********
*****D3*****.****
•
USE LONGER
*..
*
*. YES
*LENGTH AND MOST*
.. MARK NEW SD ..
• *-------->* RESTRICTIVE *---1
.*
DELETE
*.-------1
.*
BOUNDARY
v
*0.*
..
*
*
*
**** ..
*. ...
****.************
*****************
*302*
* NO
*****
* c4*

.*

D1

..,:::::............

*MAKE
* SO
*
*

*SYMBOL MArCd --*
* TYPE CONFLICT *
*****************

..~..

1
*****C3**********

ADD CSECT
*
* LENGTH TO *----.. MODULE LENGTH ..

MATCHPR

I

.. NO

.****C2*****"'****

.'.

*
CONSTANT"
*
*
***"' ...... **********

IS eESD
TYPE PR

*.

*

*

...

1

MATCHCM.

:3g~:

• *.

MATCMER

• *.

***

MAl'CMCM

• *.

• *.

• *.

E1
*.
E2
*.
E3
*.
E4
*.
r..5
*.
.*
*.
.*
*. *. NO
.*
*. *. NO
.*
*. *. NO
.* IS SO *• *. YES
• * IS CESD *. YES
.* IS ESD
.* IS ESD
.* IS ESD
.*
*.
TYPE eM
• *-------->*.
TYPE ER , • *-------->*.
TYPE CM
• ,..-------->*.
TYPE SO
• *-------->*.
MARKED
• *--*. * . . * . *
*. * . . *.•
*. * . . * . *
*. * . . * .• IS
ESD TYPE
*. *.DELETE .* • *
LD/LR
"' •. *
*.. *
*.. *
*.. *
*.. *
• NO

rES

rES

*****F2**********
*
*
SET DELINK
VALUE TO ZERO *
*
*

*'
*'

*

•****.*.***********

.. ~..

*302*

* * 05*
*

*

rES

*****F3*******"'**
*
*
* USE LONGER
*
LENGTH
*
*
*

*****F4******.***
*
,..
USE LONGER
*
*
LC~GIH
'"
*
*

********** ... *****

*****************

j

j

*

'"

*

*****G3**********

*
*
*
*
*
*****************
* SET DELINK
*
*VALUE TO INPUT *
CM ADDRESS

*
'"

•

*****F~**********

*IEWERROR 305A3*
*---------------*
* lEW1102 -*
*SYMBOL MArCH --*
TYPE CONFLICT '"
*****************

*

j<----------

*****G4**********

*

•

* FREE EXT ENDEO *
* FNTRY FOR CK *

* .*

1

o

r

*

*

*****G~**********

** SET DELI NK :+*
*VALUI!: TO Ltt/LO *
'" INPUT ADDt*.
TYPE ER
.*---------------------------------->*.
TYPE SD
• *-------->*.
TYPE C~
• *---1
*.
.*
*.
*.
.*
*.
.*
**..•.**
**.•..** .*
*:to. ..**
**....**

•*
*.

1 \]S~R
NO

*****
*304*
1\.1*
* '"

*

'"

1

TYPE

1* YES

YES

*****
*302*
05*
* *

*

*

1*

Y~S

! *:::
****!

*****K4****"*****
*
*
*MARK so DELETl!. *
*
*

*
*****************

*****K5*******"'**
*lEWERROR 305A3*
*---------------*
IEW1102 -*
*SYMBOL MArCH --*
TYPE CONFLICT *
******"'**********

->* B4 **

->** 84 '"'"

*
*

'"

l *....

'" *"'*. *

*
*

l ....

* **** '"

Charts

105

Chart 304.

ESD Processing Routine (IEWLESD)

•••••

.

• ••• *

*304*
• Ai.
o

*304 •
.. A2*

.

. ..

i

(Part 4 of 4)

0

I

CESD TYPE

,',IS ER
MATERSDl
~
•• ***A3******"'...
*.*.*A4*********.
... Al t. *.
'•" ••• *A2*.****.*.*..
*IEWLEI<.'l.'N 3 0 b A l . "
.* IS ESO *. YES
.. lvlAKE so ENTRY"
*---------------*
.TAKE !::.NTRY OFF *
*.
IN CESD
*-------->*RLD R.~LOCATION *-------->*
*. TYPE SD . .. • *-------->*..
.
. . . PROCl!.SSOR"
* ER CHAIN
*..t
'"
....
....
*
t . ••
.*.**************
********* ••• *.*"'*
••• *.*.**********

MATCHER

t-

·
1
.*.

pg~:-->l

NO

81

.* • * IS

t.

*.

*.

ESO

TYPE ER

*.

f.lATERER

*. *.

.*

"

0'

•*

YES

62

.* IS
.t

.. *-------->*.

.*. *.

MARKED
*. DELINK

*..*

~O

"

C2

*****B3**********

*.
CESD t.
• '"

YES

...SET

..
OFF"

DELINK

• *-------->*AND CLl:!..Ak FIELD.
*
...

*

'"

C:--------------::::::]········

,',

*.

*****C3**********
SET WEAK CALL'"•
FLAG OFF IN
CESO

**
.'" . * IS ESO *. *. NO
*. MARKED WEAK • "'-------->*
"'oo CALL
•*
*
*.
.*
*

·'r~~::_____________:::::::T""'"
, 0,

D2
*.
.*IS ESD *.

.*
"'oo
*.

MARKED

NEVER

CALL

*. *•• '" . *

*.

.'"

•

MATERLR

'"

..

****
MATERcr1
*****E2**********
**EXTENDED
MAKE CM
'"
ENTRY'"

.. *.

*

'" MARK ER ENTRY

*

*
*

IN CESO NEVER

CALL

'"
'"
*****************
****
*302*

l

->*

*

C5

*

"1*·

UPDATE
ACCUM.ULATIVE
L~NGTH.

*****04**********
*I~WL~~P
308A2*
*---------------*

*

•

FORMAT MAP
ENT~Y

*

****
*****E3**********
'" [4AKE Cf.'l ENTRY *

I

*****G1**********
*IEWLERTN
306A1*
*KLD RELOCATION *

*---------------.

*

•

*****************0

I

*****81**********

0IEWLMAP
308A2'
*--.------------*
* FORMAT MAP *
ENTRY
*
•******************•

AA~~" 1

·•

<------ --- -- -- -- -- -- -- -- - -- --- --------- -- - -- -- -- ----- ------- -- ---- -- ------ ---

.•

*****Jl****·*·***

OT~KE

•
o

ER

ENTRY OFF 0
CH~IN
•
•

***** ********.**.

!

*****
*302*
'" oe4*
•

•

106

•

*

'"
*
*****************

1

PROCESSOR

'"

*

.......'l'::::::::-----------------

*****************

•

**
*

l'iATEHSD4

•**"'.*F1"'***"'*****
* MAKE LR ENTRY ••
*
•• IN CESO ••*

~.~~,

*******,..*********

*****C4*.***.****

**
*
*
*

'" YES

ENTERLR

~J::S

M~TEHSD3

*.
*. *. NO
ESO
* IN CESO AND *
*. "'.TYPE LRLD OR .. * .. "'-------->*
AND ENTER
*-------->* EN'lER ADDRESS *
ESO TYPE * LENGTH AND
'"
* OF EXT ENDED *
*.
.*
IS CM
*
ADDRESS
*
*
ENTRY
'"
*.. *
*****************
*****************

.*

. *E1
IS

NO

C5

*****03**********
*
'"

*-------->*

l->*****
*302*
*

•

Y~S

'"

**** ."'.
B4
*.
*****85*******." •
*. *. NO
..
'"
.* .* IS
*&~T ·~O L~N6TH'*
*. LENGTH ON • *-------->* INDICATOtiS ,..
*. ESO CAHO • '"
*
*
*..*
*
..

MATE!* BNTR':J: TO 02..1:. *
*~
El<
•*
*LOA.0ER-ASSIGNhD*
*.
.*
*
ADDRESS
*

****h1··*****·*

·
·:*::* :->l
•

*

IEWLRLD

***************

****
RLD10

.*

..

Bl

*.

.

-* *--t
- - ·*.
.'"

FROM IEWLRELO
OR IEWLODE

*. *.

ANY
*.• *-------->*
NO
'"
*..:+t. RLD'S
TO
PROCESS .*
:+

*..*
*... *

*. i~~:--------------:~::~~]******-*
v

RL049

RLD19

****B2*********
RETURN

'"

'"

***************

· *.

B3 I R'*. *4
*****L~**********
• *IS
*lEWL.!::.R.TN
30bPl*
****
• *POINTING TO*. YES
*---------------*
*
*
*. SO, PC, OR • *-------->*!{LD RELOCA.'IION *---->* G3 *

*

*..

LH

*..*
*.. *

el

.-. *.

RLD70

.*SPECIAL* ..
RLD FOR *. YES

*. *.

*.

ENTRY
POINT

*... *

.*

.. :+ ..

NO

:

•

c3

*.

rtLD30

..

C{v\

*.

*

*

03'*·*

D4'

L~"
'*.

.*IS 'R' * .
. *.* IS 'R' *. *. UO
,*POltJTING 1'0*.
*. f'OIN1'ING TO • *-------->*.
EH FKOM
•*

*.

*•. *
* YES

*****************

****

..
*. YES
'"
TO • *-------->*

o

*****01**********
D2 *. *0
*TRP..NSID
309Al*
.. *
*---------------*
.*
VALID
* . NO
:+ TRANSLATE' p' * ________ >*. 1 pi POINTER. *__ _
* PTR TO eESO *
*.
.*
*
ADDR
*
...... *

*

*****C4**********
*****cs**********
*
*lEHLE.RTN
306Al*
SET DE.LINK
*
*---------------*
INDICATOH
*-------->*.t<.LD ttl!.LOCA1ION *
*
*
'* PROCESSOH *
*
*
*******************
*****************

*.

*. * . . * . *

*

*

PROCESSOl<

*
*
*****************

r

*::*!
****

·-.*.

· * .:+ IS IRI
*. POINTING

*---1

1
*

*

*

ro

rES

.*

•

*.

PR

.*
* .. *

•

*

:t.

rES

LR

**....'" *
*

•

*

NO

f;------------------------J

E1

.*. *.

• * .. * eSEeT

*. *0

RLD60

*. *.

*****E2**********
*
.UPDATE
TO NEXT *
*

YES

*****E3**********
*
Sl:.'I PR
**•
INOICA'I'OH.

.*-------->*
'R' - 'p'
.. *
*
POINTER
**<-- "
*. * •• *. '"
*******************
MARKED
DELETE

l->!

1
*

Fi

NO

.-. *.

*

.* . *RLD FOR *. *.
*. *ACCUMULATIVE.
. REGISTER • *
*. * ... * . '"

:->1*

*
*
*****************

l

****
Bl :

****

<- ------- --------- ---- --- - -- - - --- - - - - --- -- - - -------

*

RL080
*****F3**********
*
*
*CHAIN
RLD TABLE*
* ENTRY TO CESD *

*---1
*::*:
YES

*

: *::*
NO
:
*
*
****
****
. *.
*****G1**********
*TRANSID
309Al*
.* G2VALID*. *. *. NO
*--------.. ------*NO
•*
* rRANSLATE 'R' *-------->*. 'R' POINTER .*--*POINTER TO CESD*
*.
.*
*
ADDR
*
*..*
*****************
* •• '"

:*::* :->1

YES

:*::*:->1

* **** *
RLD50
.* .
G3
*.
.*
*.
NO • *
*.
<----*. CONTINUATION

.*.
ALLOCATE
H1
*.
*****H2********"'*
*.
*
• '"
.. * FREE
*. NO
* GET AN RLD *'"
*. RLD TABLE .*-------->* TABLE ENTRY *

RLD48

ENTRY

. '"

*.

•*

*
*

*•. *

*·1*~~::-------------::::::::j******.*
*.
..

.*---1

YES

4

*

*****H3**********

*****Ji**********
J2
*.
** MAKE TABLE **
.* . * RLD FOR *. *. NO
* ENTRY FOR RLD *-------->*.ACCUMULATIVE
*
*
*.REGISTER .*
*******************
** ••
..
*
*

*

.*

•*UPDATE TO NEXT **
* FA FIELD
*
•
*
*
*
*****************

*

1

.*

rES

J

RLD40****

*.

*.

• YES

<______________________

*..

*

ENTRY

*
*
*****************

:

*:;* :

RLD100
*****K2**********
*CHAIN RLD TABLE*
****
* ENTRY TO
*
*
*
* ACCUMULATIVE *---->* G3 *
*REGISTER CHAIN *
*
*
•******************

1-.

·

*.

*4

****J4*********

*..*-------->*
NO
*
*
RETURN
*
*. *
PROCESS • *
**************** *
..*
* .•
*
* YES
****
*
* H1 **

·*
*.

* **** *

.*

J3

HORE
RLD'S TO

l

->*

****

Charts

107

• Chart 306.

Address Constant Relocation Routine (IEWLERTN)
FROM IEWLESD.

n=~k£L

OR IEWLODE

···"'At"'····"'' '··•

•

IEWLERTN
*
•'" ••••••
** •• ** ••• •

:*::*:_>[
•

****

•

• *.
' •
.
*
*.
****B2.********
END OF
*... *-------->*
YES
'"
*...
*..* RLD
CHAIN
RETURN
*.
.*
...
..
*. *.. *. '"
*****.*.*******

ERRTH

Bl

(0

. *.

. '" Cl *. *.
.* ADCON *.

*. *.LENGTH
=
BYTES

2

*..*
*... '"

..'" C2
.* IS

YES

.* .*-------->*. *.

. *. *.

RLO
FOR PR

*..*
*... '"

[<::______________________

ER10

j

.****C3********* •

*.

*IEWERROR

505A3*

*. NO
*---------------*
IEW1112 -*------------------------------.* .*-------->*.INVALID
2-BYTE *

..
ADCON
...
*** ••• ***********

YES

•*****01**********
•
• MOVE ADCON TO •
•
WORK AREA
••'"
••
****** •• ****.*.*.

El

1

.'.

.* .* IS

*o.

ER60

*. *. YES

*****E2 ••• *******

*****E3**********

•• ***E4*.********

'"
"'..
.SUBTRACT
DELINK." ' . . ."'MOVE AOCON BACK'"'"
• SET OELINK ''""
DELINKING .*-------->* VALUE FROM *-------->*
TO TEXT
*-------->. INDICATOR OFF.
"'o. NEEDED .*
'"
ADCON
*
*
"
'
.
*
*o.
.. *
•

,::c

YES ••

---"'..

*.

...

*o.

*.

••

"'o.

ISRLD

FOR PR

*o. :to.

. . . . . . . . . . . . . . . . . . ·······r··. ·

(0

o.*
••

"'o... •
...

'"
•
•

•

•••• F4 ••• *** •• *
RETUH.N

** •• *.* ••• ***"'*

'"
•
•

ER40
Gl .'. *o.
G2 .'. *o.
*** •• G3 •••••••• **
o.*
*o.
o.* USE *oo
'" USE RE IVE •
• * BRANCH
*o. NO
• * LOADER- *o. NO
'"
RELO
ON *
*oo TYPE RLD
• *-------->"'.
ASSIGNED
• *-------->.
VAL
•
*o.
•*
*o. ADDRESS. *
* dELO
ON •
• o.
o..
.o.o.
'
"
*
FA
'"
*o. o.*
*o. o.'"
.*********.* •••• *

::::------'1 ,.,

1 '"

".,

• **.*al* •• *****.*
'"
USE LOADER•
•
ASSIGNED
*

.1.

*****H2****.*****
H3
.o.
***.*H4 ••••••• *••
* USE LOADER- •
.* DOES *o.
•
•
•
ASSIGNED.
o.*
RLO
*. YES
* COMPLEMENT
'"
'"
ADDRESS A S .
•
ADDRESS AS
*-------->*o. INDICATE • *-------->* RELOCATION *
• ADCON VALUE •
• RELOCATION
•
'.SUBTRACT . '
FACTOR'
*
••
FACTOR
*
"'o.o..
*

....... ~[:......
•• J4 ••
•

****

'"

· ·1'~~:--------------::::::] ........

.................
ER50

ER20

*•••• J3** •• ****.*
*
.
'ADD RELOCATION
•

*****J4.** •••• **.
"'****JS •• **.** •••
'"
" ' .• FREE THE RLD •'"
'MOVE
ADCON BACK'

'FACTOR TO ADCON.-------->.

*

*

.................
*

VALUE

*

TO TEXT

.-------->.*

:'l·
J:'i················**
A

'"

TABLE ENrRY

........[..
'"

•

•
'"
*.*****

** ••

·····K5*·········
•'UPDATE TO NEXT ••
*RLD TABLE ENTRY*
••
••
••• *.*.** ••••••• *
***.
->.• Bl •

l•

108

."'**

•
•

Chart 307.

End Processing Routine (IEWLEND)

FROM IEWLRELO
OR IEWLODE

"' •• "'A1*"'''''''.''''''·. *
'"
:

NO

IEWLEND
:
***************

'"

B1"
• '"

*.

.*

"'.

*. *.

AT END

*.

OF MODOLE

*.

l'

.*

*•. '"

"'.

. '"

•

YES

•

*---------------------------------->*.

(\

IS
CSECT

*..*

l'

"'.

. '"

•

YES

'·1~~:--------------::~~~~~J""'"
*.

D1
*~
.* EP
*.
• *ADDRESS OR *. YES
NAME
• *------------------------------>
*. RECEIVED ..

*.

*. * • • * . *

*

I

*. "'.

YES

*

A

NO

B4"'

.*

*.

IS

*.

LENGTH ON

*. END

END~;***B5**********

*.

CARD • '"

•

*IEWERROR

*

*..*

*. . *

NO

:

*

*.

*~

WAS

1

• '"

*-------->*.

END CARD

PROCESSING

• ' . FOR OBJ MODULE

.~:' :->1'

****
END13

END19

*****C3**********
*
UPDATE TEXT *
*
POINTER BY
*
CUMULATIVE
LENGTH

YES

*

*****C4**********

~05A3*

'" ---------------*
IEW1082 -'"
*'*" LENGTH
NOr
SPECIFI~D
*

j

*****************

*****C5**********

*
UPDATE TEXT . . . .
..
*
POINTER BY
*
*
UPDATE TF.XT *
*
LARGER OF
*
*POINTER TO LAST*
* CUMULATIVE OR *
* TEXT RECEIVED *
*END CARD LENGTH*
*
*

....,. '[':~~~~~~~--------- ~ ~~~~~~~I~~~~~~~~_ --- ---~~::::~~j"" .,.
*****D3**********
*
UPDATE TEXT *
*
POINTER TO
*
* DOUBLE WORD *
*
BOUNDARY
*

*******************

1

NO

E N D 2 5 . *.
E3
*.
•*
*.
****l!.4*********
a*
IS
*. NO
.*
IS
*. NO
.*
SPACE
*. YES
*
*
*. ENTRY 10 ON .. *-------->*.
ENTRY
• *---->
*.
EXCEEDED
• *-------->*
FHROR EXIT
*
*.END CARD .*
*.SYMBOLIC .*
*.
.*
*
*
*..*
*..*
*..*
***************

ENDE.NTRY
0*

..

El

*.

*.

'NO-LENGTH'

*.

NO

.*

•

.*

*.. '"

Cl
*.
*****C2**********
*IEWER}{OR 505A3*
a*
ANY
*a YES
*---------------*
*. ENTRIES ON a*-------->*
IEW1132 -*. LD CHAIN. *
*
INVALID ID
*.
~ *
*
*

ENDEPCHK

*

. '.

:t • • '"

*
'"
'"
****
* C4 '"
I END-OF-MODU~E*** '"
V (OBJECT OR LOAD)
B3" *. ~~OCESSING
EN010

END LNG

Ali

****

'" B3 '"

'"

[

. '"

0
r--*·*·RE~~~~ED
*.
.* 0. .-----------------1

****
'"

a '"

*.

ENDSYM.

*.

•*

E2

i

YES

Fi

*.

"j';'

*..*

*

*

*

SET ENTRY
A.DDRESS EQUAL
TO ZERO

***
*
*

<-- --------

*****H1**********

**

SAVE ENTRY
POINT ADDRESS

NAME

**
*
*

*

*

········l········
G2

**

*
*
*'"*******************

I

*****Jl**********

*.

*. *. l'lO
. * .*
IS
ENTRY POINT • *---->

*.

*. SD

OR LR •

*.. *

*

*'l*'~ES

********[*********

END100

SAVE SYMBOLIC

*

*****Gl**********

*

**

ENDTRCLR

*****F2**********

**

i

*. . *

YES

*.
IS
ENTRY
*. YES
*a ADDRESS ON • *--*.END CARD .*

.* . *

*. *.

*... *

*... *

.i.

*.

TO lE.WERROR

NO

(IEW1194)

*****F3**********

**
*

*
*

!. . . ..

CLEAR
TRANSLATION
TABLE

........

*

***
*

*****G3**********

*

FOR
**INI'IIALIZE
NEX'l' ~ODOLE
*
*

**
*
*
*

*****************

ENDEPADR

*****H2**********

..*
*
*

*

SAVE ENTRY
*
POINT ADDRESS *-----

*
*
*
"'****************

V

•
*

****H3*********
RETURN

*
*

• *************** *

*"'***J2**********

*
* IEWLRLD 30 SAl *
*
*---------------*
*-------->*
*
* PROCESS RLD '"*
..******************
*******************

..
*CREATE RLD FOR
* ENTRY POINT
*
A.DDRESS

ENDADDR
*****Kl**********

**

1

K2

.*.

*.

*****K3**********

**
.*
*.
*IEW~RRGR
~05A3*
YES. *
rlAS EP
*.• *-------->*
NO
*---------------*
*<--------*.
ESD BEEN
U:Wl132 -*
*
*. RECEIVED. *
INVA.LID Il)
*******************
** ..
.*
.. *
*****************

*
..

SAVE ENTRY

POINT CESD
ADDHESS

..1.,
*

****
83

****

*

'

1
. ,
•
*

****

*

h3 *
****

Charts

109

• Chart 308.

Map Routine (IEWLMAP)

FROM IEWLESD
OR IEWACALL

'"
..
..

****A2*********
I EWLMAP

***************

..

• '"

*-------->*.

..

.*

A3

" *.
*.

,

HAP
:+.
.sPECIFIED
•

to

NO"
.* *-------->*'"

.... "

*..*

****A4****-****
i{blUKl'l

***************

*'"

..

rES

,.

,

*****,84*******.**
.* B3 IS *. *. *0 YES
*IEWLP8NT 207A2*
*---------------*
*. *0kECOHD FULL.
*-------->*
..
•*
* PHINT LINE ..
."

*.

.*

*

"1~~:--------------:~~~~~~~j ........

C3 , " *.
.* TEXT *.

*****C4**********

*.
*. *.
.*
.*
* .• *

•"

*.

..

..

.'".

..'"

PASSED
YES
'" tif.T PRELOADED '"
'THROUGH MOD. *-------->*'l'EXT DESIGNA'IOl{*
RECORD

·
1

0'" • '"
*

a

D3

....

. .

Ii'ROM

E3

Jc3 :

****

*. *. . *. '"
*1

*****D4**********

*0 *.

AUTOMATIC
CALL
•

*****.
•

*.

l->: .***

*****************

NO

*.

*

YES

*
..

MOVE IN AUTO

....

• *-------->"'CALL DESIGNA'lOx*-------->*.

*

*
*
*
*
***"'******* •• *.**

NO

*

*

*
*
******.*****.****

MAPPC
F3

,',

*.

.**.*F4*.********

.

ro

G3

." *.
TYPE

BLANK
COMMON

*.

*0

*'"

.---

"'*.**G4**********

*.

.*

•

YES

•

MOVE Il~

*•

*
*

$BLANKCOM F'OR
NAME

*

'"

*-------->*

.*

*
*

··i:~··············::::::::j::··:-::···

**H3*******

*•

MOVE. IN

$PRIVATE FOR

'"
NAME
*
*
*************"'***

*.• *

. * IS

CONVERT

ADDRESS

•..

.
'"

*"'*"''''*.**** •

1

•*****J3**********
•
*MOVE ADDRESS TO*

··
*

Billo'FER

.
*

**.*********.****

1

****·K3····"'····*
*
•
'" UPDATE BUFFER •
* *·**K4*··***"'·'" •
•
POINTER
.-------->*
t{ETURN
*
*•
*•
'" .* •• **** ••• **** *
.********** ••• "'*'"

110

YeS

.... _--]

*. . '"
1* NO

V

:.::~

£3 •

*. ...* .*

·•

. ..

.***

a*
*.
'•"
YES
.a• * IS PCTYPE *.a.-------->*

•

..... •

l->..·......

1

""""

*. *.

*• MOVE IN LINK **
* PACK ARE:A
'" DESIGNA1{;R
'"
*
***"'*************

'" MOVE NAME AND '"
*TYPE Tu BUFFER •

*0

FROM

SYSLI8

***"'*E~*.*."'*"'***

*..

"'.

. *.

•

V

****"'e3***"'******

• '"

*.

D5

.->

***.* '"

MAPNAME

MAPCM

.*
• '"

*

"'.fI**

Translation Routine (TRnNSID)

chart 309 •

o

•••• Al •••••••••

*o

TRANSID

•••••••••••••••

0
0
0

\

,0,

Bl

0,

* ID ZERO
*oo
*,oot ..EQUALS
_
*oo,0 ______________________________
YES
*oo
.*
*oo

r

*oo ...

...

o

••••• el ••••••••••

***
...

*

CONVERT ID TO
TRANSLATION
CONTROL rABLE

*0

ENTRY

...

*
0
•••••••••••••••••

01

...

*.

.*

1

,0,

*oo

WAS

TRANS ERR

*oo

CONVERSION

*oo

*. *
POSSIBLE .. '"
..*

..

NO

.. '"

*-------->*.

.*

*oo

*... '"

,*,

*oo

ENTRY

*.

EXPECTED

*..*

TRBADID
••••• D3 ••••••••••
*IEWERROR

*.

.. '"

YES

YES

\"

50SA3*

*---------------*.
IEW1132 -*-------->*

.. *-------->*
1\'"

•

* ... '"

1
*

02

INVALID 1 0 . ' "

...

•••••••••••••••••

E:~

•••• 04 •••••••••
N.ETUR~J

..

...

••••••••••••••• ...

PROCESSOR
WAS CALLER.
TABLE
OVERFLOW

••
• •• El ••••• •••••
... CaLCULATE THE.
• ••• E2 •••••••••
... TRANSLATION . . . . . .
...
* CONTROL rABLE •
0
ERROR EXIT
•

·

... ENTRY ADDRESS . . . .

...

•••••• ** •••••••••

1

..••...........

...

TO IEWERROR
IIEW1204)

.. *.
Fl
*.
. * . '" EXTENT *. *. NO

*.

••

ALLOCArED
YET
••

•. *.

•

...

.•

. *.
F2
*.
.* ..'" ENTRY * . *. YES
•• -------->..
EXPECTED
•• ---->
••

YES

•

1

NO

l

ESD PROCESSOR
WAS CALLER

••••• Gl..........

CALCADDR

••
*...
• ..•

••••• G2 •• *•••••••

• CALCULATE THE • •
..
TRANSLATION
•
• A.LLOCATE AND

•

*<--------*•

rABLE ENTRY

•

ADDRESS.

•
•
•••••••••••••••••

CLEAR NEEDED
EXTgNT

•
•

•
•

•• •• *.* •• *.* •••••••

1

.. " ..
.. *. .. .. . • ..
rES
H1 ,

••

NO ...
ENTRY
---..
EXPECTED

"

••

... Jl

,

""

••
••

*.

ENTRY', NO

*.

.. *..• ..

HAVE eESD
•• ------------------------------ADDRESS .*

----------'1 '"

··***K1···*·.***.
•

RETURN

•

" ••••••••••••••• *

Charts

111

•

MOD Processing Routine (IEWLMOD)

Chart 310.

FROM IEWLRELO

·•

****A2*********

*

.•

IEWLMOD
*
***************

,
82

I-,

*•

. * • *INTERNAL *• *.

*.

DATA

*. *.

AREA

*•• *

. *. *

..

NO

*-----

rES

c2

"

,

*•

• * ESD'S *.
****C3*********
RECEIVED *. YES
*
*
FOR THIS
.*-------->*
RETURN
*
*. *.MODULE • * .*
* *************** *

.*
*.

* .• *

ro

D2

-,

,

*.

*****03**********
* STORE TEXT **
YES
* ORIGIN AND
*..
LENGTH
• *-------->*
LENGTH IN
*
*. SPECIFIED. *
* COMMUNICATION *
*..*
*
AREA
*

.. * TEXT *.
.*ORIGIN AND *.

"1~~:--------------~~::::]-- ......

.*

E2

"

,

*.

*.

****E3*********

EXTENT
*. NO
*
*..* INFORMATION
• *-------->*
*. SPECIFIED. *
*
*..*

*... *

RETURN

***************

*

*

*

rES

*******F2**********
STORE EXTENT *
INFORMATION IN *
OF
*
** CHAIN
EXTENTS
*

•*****************•

G2

.*

,

1-,

*•

HAS *.
POINT*. YES
BEEN
.*-----

• *ENTRY

*.

*. DEFINED .*

*.

*.. *

.*

ro

,

-,

*****Hl**********
H2
*.
SAVE THIS
*
.*
*.
EXTENT AS
*
YES.* IS THIS *. NO
*****H3*********
*
* DEFAULT ENTRY *<--------*.
FIRST
• *-------->*
RETURN
*
**
POINT
*
*. EXTENT .*
*
*
*
*..*
***************

*
*

········l········

.
*

.

-

-

****Jl*********
RETURN
*
***************

112

.....

•

Load Module Processing Routine (IEWLODE)

chart 400.

FROM IEiiLIOCA
OR IEWACALL

•••• Al ••••• ••••

•...

IEWLODE

*

...

*

*

~~;;:~:l:::::::---------------------------------------------,-----------------..···B1*·.*······
*

*
**
*
*** •• ***** ••• *••••

... INDICATE READ ...

• CONTROL RECORD ...

::g~* ._>j

* •• *
**

·····Cl**·**·····
'" ---------------*
*
*
*IEWLREAD

205A3*

'" READ ROUlINE

.

'"

.*... ••••••••••••• *.'"

*****
*400*

1

::g~* *->

IGN

* *
*.*.
.*.
01
*.
.*

*0

.*

AT END

YES.*

*1* *
PROCEOM

*** •• D2** •••• ** ••

*.

t.
OF MODULE
..

*. *.

.. '" ..'"

*IEWLEND
307A1*
****D3*********
''""
*-------->**---------------*...
END-OF-MODULE *-------->*
RETURN
YES

•'"

(0

*•. *

02*

PROCESSOR

*
... . . . •••• *•••••••••• *

•••• *.******.*.**

. *. *.
. *E1
•. *.
SYM OR

---*.. *.SCTR/TRANS
.....
RECORD .*
*.
.."
*•. *

A

ro

.. "
*.

.* Fl

*.

.'. *. *.

eESO
RECORD

"'.

* •• *

• '"

*****F2***** ••• **

...

.*

FINCESD

• *.
Gl
*.
.*
*.
TEST
•• ON
I CESD RCVO '
•

*.

*.

PROCRAT
••

*.

•*

*0

BIT

.•

• '"

**:t**F3**********
*IEWLESD

301Al'"

SET' eESD
'"
*---------------*
RECEIVED' BIT *-------->*
PRELIMINARY ._-'"
Olj
* INPUT CESD •
•
*
*
PtlOCESSING
*
*****************
.*******"'********

ro

.*
*.

...

*.• *-------->*
YES
'"

*

*****G2********.*
**.**G3**.*******
'"
*
*1EWLESD
301Al*
SET 'CBSD
*---------------*
RECEIVED' BIT *-- ______ >*
FII.'lISH

*-_______ >*•
'"
'"

*

OFF

*

'"

'"

PRCCl!..SSING

*

*

IUPU'l' CESD

··l~~::-------------:::::::::::::::::---------::::::::j ........

Hi

.*. *.

RLD
RECORD

*.

*"'.. .••*
•

PROCTXT

•

Jl

*. YES

••

*****H2********.*
*IEWLRLD
305Al*
*---------------*

.*-------->*
•

NO

PROCESSOR

*.

r . :,.

.*
*. *. YES
.*
*. ;~x~,gg~5RO~ *. *-------~
*.
.*
* •• **
* •• *
*401*

.*

H3

.*. *.

ALSO

*.

*-------->*.TEXT/CONT~OL

*

•** •• *********....'"

1
"'.

RLD RECORD

.*

*.

*.

RECORD • '"
*..*
*. ••
'" YES

.*

H4

.*. *.

*.

IS Tors *. NO
.*-------->*. LAST RFCORD .*--NO

.*

"'.

*. *..• 0'"

*

0*

YES

..L . L

*401*
A2.

•

*• '"

•
*
'" D2 •

* **** *

*****Kl*···**····
*IEWERROR 505A3*

*---------------*

---.
IEWl123 -•
'" INVALID INPUT *
•
RECORD
'"
**.** ********.* ••

Charts

113

Chart 401.

Load Module Text Processing Routine (LMTXT)

(Part 1 of 3)

*****
*401*
A2*

*

* *
*

1

LMTXT

*****A2**********
**GO TO START OF **

*ID/LENGTH LIST ,.

•*
**
*****************

1<-------------------------------------------------------------PleKlO
o

*

•
0:+

*. *.

B2

*.

*. *.

*. YES
*' *-------v
**0. ..**
*****
*402*
AT END

i

OF LIST.

**:~*

NO

*****C2**********
*TRANSID
309A.1*

*---------------*
ROUTINE TO
*

+

*TRANSLATE ID TO*
:+ CESD ADDRESS

'"

*****************

1

02

. *. * •

• * CESD
••

,.. *.

E~~§~§

I

*. *.

**.
••. **
YES

NO

• ",. *-------~
*****
*402*
~~'

••

• *.
DELETE
E2
*.
*****E3**********
*****E4**********
. * ENTRY *. *. YES
•
*
**
'*"
** ADD LENGTH TO *
*
*. *. MARKED
• *-------->*INDICA'I'E DELETE,*-------->*
CUMULATIVE
*--DELETE
•*
*
*
* DELET'E LENGTrl * /'I
**.•..**
*
*
*
:+
*****************
*****************

MARKDEL

ro

. *.

F2
*.
*****F3**********
*****F4**********
.*
*.
*ADD CUMULATIVE *
*
*
•*
KEEP
*. NO
* DELETE LENGTH *
* INDICATE TEXT *
*. TEXT Blr ON • *-------->* TO RELOCATION *-------->* KECEIVED AND
*.
•*
* CONSTANT FROM **
* KEEP TEXT
*.
•*
* eESD ENTRY
*
*
* •• *
*****************
*****************

i~::------------------------------------;;;;;;-----I

*****G2**********
*****G3**********
*****G4**********
*
*
*UPDATE POINTER *
*
*
*SET CUMULATIVE *
* TO AVAILABLE *
* GO TO NEXT
*
*DELETE LENGTH =*-------->*
STORAGE
*-------->* ENTRY ON LIST *--*
0
*
** (CMLSTTXT) **
*
*
*
*
*
*
*****************
*****************
*****************

114

• Chart 402 •

Load Module Text Processing Routine (LMTXT)

.****

••
***
*402*

.

.

*402*
.. A2*

.. ..

.. .

.. Al*

FINIDL
Ai

.!.

(Part 2 of 3)

1
*.............

SKIPREC

LASTXT

• ••• *A2 •• ****.***

*.

.'.
A3

*.

0"
*0
..
*
.• LAST *. *. YES
0"
ANY
*0 NO
•
MARK T H I S "
• ..
*0
TEXT TO
.*-------->* RECORD 'SKIP' *-------->*. RECORD IN ••
*0 KEEP
.. ..
..
..
A
*. MODULE .. "
*0

*0 .. "

*

..

*

..•••

1

..

*0 ...

l'

YES

RDSETUP

IDDEL

*.***B1****.*****
RELOC ..

*O'

···**··*1·········

:.::.::~1";0

*

401F3

..

. .... e3 ......... .

RDTAC

...
..
.. INDICATE READ ..

*= CONTROL COUNT.
MINUS

..

..

•
CUMULATIVE
..
.. DELETE LENGTH ..

1

1<----------

•

LMRDTXT
******D3**********
IEWLREAD
205A3*

*

.---------------*
•
*

*
**
*
*
*
*****
.************
ADD COUNT TO
.. ASSIGNED TEXT
ADDRESS

*.

*.

+.

SPACE
EXCEEDED

*.

*.

.. READ kECORDS •
..***.***********.**

1

• *.

,*

*. *.

.+

•*

•

E3

NO

*-------------------------------

I'

1

. *.

.* .* AT

*.

*.

*
.*
* ERROR EXIT
***************

*..*

*

•*

YES

*.

*.

•

F3

*.

ANY
DELETE

TEX'I' TO

*..*
*0 *':0

(lEWl194)

G3

YES •

·.~~'

l'

~

*

*

.

********l*****~~~Ess

*-*.

*****
*400*
* D2*

0*'

*. *.. YES
6~£~T~O .*'*-------Q
ALL

r

307Al*

*---------------*
* END-OF-MODULE *
PROCESSOR

. *. *

G4

*..*
*• . *

*****H3**********

*

.. INVALID INPUT *
*
HECORD
*

+

END OF

NO

*IEWLEND

INDICATOR

*****F5*********.

*lEWERROR 505A3*
*---------------*
.. IEW1123 -*

*
*
********1*********

. *. *.

* ... *

1

NO

MODULE

*• *CONTROL *. *.
*,

* INDICATORS
*
..
*
*****************

.. "

*****F4**********
*
TURN OFF
I DELETE'
**

*
*.• * YES
________ >**
.*
*

~-------*.*.RECORD IN •••

*****
*400*

*..*
* •• *

ALLDEL

*.

1

TO IEWERROR

I

READ

I<::____________________J

•*

*.

.. *. *.
E4
*****E5**********
* TURN OFF
*
.* .* END OF *. *. ~tS
.. 'DELETE' AND *
• *-------->*. FILE. ON 1ST. *-- ______ >*
REEP 'lXI"

*. *.

*..*
*•• *

ANYDEL

****Fl •• ******.

*.

END
OF MODULE

YES

*

...

..***************

*****01+*****.***

.* .*

FOR TXT AND

.CONTROL RECORDS.
..
..

** ••• *...........

E1

INDICATE
READ ONLY
TEXT

.*.*

.....
el..........
• SET READ COUNT ..
..

(::. :

.....

.. CONSTANT PLUS"
..
VALUE FROM

..

....

NO

B3
••
.."
*0
.*
ANY
*. YES
10' S FOR
.. *--*0 DELETE ...
*.
.*

• ADD CCW ADDR TO.

*REL~TlVE

---1

*0""

.

NO

* ..
*

*****
*400*

'.~V

*****
*403*
• A3*
* *

*

*

*****************

. 1 ..
****J3*********
RETURN

*

Charts

115

Chart 403.

Load Module Text Processing Routine (LMTXT)
*"'***

*403*
'" A3*

• *

•

1

*****A3**********

**GO

TO START OF *
'"
*ID/LENGTH LIST '"

•
*
•
*
*****************

:*::*:->1
• •

****
GETID

•
B3

•*. '" AT

"'. *..

*.

*.

END

I

*. *.

OF LIST .. '" ..

**.
...**

YES

*-------v
*****
*400*

'.~;'

NO

*****c3**********
*TRANSID
309Al-

*---------------*
ROUTINE TO
'"

'"

"'TRANSLATE 10 TO.
'" CESD ADDRESS

'"

*****************

,

.*
.. '"

*.

*.

D3

1-,

*.

CESD

*• *.

DELETE

.. '"

ENTRY FOR

YES

.*---

r

*. *... '" . '"
o

E3

,

" *.

• * . * TEXT IN * . *. YES
*. RIGHT PLACE • *--*. *.
.* . '"
*...
'"
• NO

MOVE LOOP

1

*****F3**********

•**

MOVE TEXT TO

ADDRESS GIVEN

'"

In CESD

*'"*

•***** **** ******* '"•'"
GETNXT

·•
·

1<----------

...•

*****G3**********

*

GO TO NEXT 10 '"

*****************

l .****.**
*

->*

83

****

116

(Part 3 of 3)

•

Chart 500.
•*

****A1*********

secondary Input Processing Routine (IEWACALL)

(Part 1 of 5)

*

I EWACALL
*
**************** *

c"~~"

I

B5 .'. *.
. *. * 2ND *. *.
-->*. *.rlALF
OF ~R
MATCH CDE. *
*.
.*
*.• *

*****81**********
,.*SET INDICA.TION **
** FOR AUTOCALL **

..

..

Cl

Yes

.*"'*

PROCESS

. *. *.

COMMON

*****c5**********

• * .... NeAL *. *. YES
*. *. SPECIFIED. * . *-------~

**....**

*

*PUT EP ADDKESS

I

*
*
*****************

*****

**:~*

NO

PROCESS

. *.
. . . D1 ANY *. *. *.
.*

COMMON

*****05**********
..
*

NO

.CHANGE ER rYPE
*
TO SO

~~~~E§~ .*.*-------~

*****
*502*

*. * .. *..'"

"TT:~:*

1

* YES

. '"

E1

. *.

*.

...
*

! IN'I'O Fg~S~RENTRY:

*502*

*
1

to ••

NO

l' :*::;

*****************

1

-*---1

*
*

*
*****************

j

TO

RESOLVE ER' S
IN LINK PACK
AREA

*.

.. *

E2

..

*. *.

GETNAME

.. *

*.

E3

•

*. *.

ER

*****E4**********

*.

*

*****E5**********

....

•

•*
NORES
*. NO
.*
1\NY
*. YES
.* MARKED
*. NO
* SEARCH CDE'"
.TAKE ENTRY OFF *
*. *. SPECIFIED .. *. *-------->*. *~~5~I~flE8~. ",. *-----A-->*· ~~~~~Kc~ktL?~ *-----A-->:QUEUE FOR NAHE :
:ER C¥~I~b' ~HAIl~:
*..*
*..*
*..*
*
* .
*
* •• *
*•• *
*****************
*****************
* •• *

.

ic":---------------------i

0'0"'"

00

• '"

*****Fl**********
*IEWOPNLB 206A1*
*---------------*
SYSLIB OPEN *
*
ROUTINE

.*

*

*****************

1

,,*

.*

Gl

. *. *.

****

. * AT

NO • *
---*0*.

:;~;:

1*YES
*.***Hl*.********
*COMPUTE SIZE OF*
*AVAILABLE AREA *
'"
FOR BLDL
*
* BETWEEN TEXT *
AND TABLES
..
************.****

•

**
*

*****************

1

c.,,'",,
*.

*.

*.

.*.*

*.*

I
I

*****F5**********
*IEWLMAP
308A2.*

*---------------*
*
•

* fVIAP PROCESSOR *

*

*

*****************

*****G5********"4.*
*IEWLE.'RTN 30bAl*

*---------------*

:RLDp~~~~~~6~ON :

:**.************:

------------------------~I~:::--~------------------j

*****H3**********
*
*

CDEER

..

*

*

*.

H4

*.

*.
*.
*
*
NO • * AT END
*.
---.MOVE TO NEXT ER*<--------*. OF ER CHAIN .*
.. *

*****************

ADDRESS LIST
ENTRY')

*.

O~u~B~

*..

• •

~L~~T~NT~6R

*. *.

*.. *

.•

* •• *

•
CDEERl
•

*

i.

J4

yes
*.

*.

YES • *
ANY
*.
-------------------------------------------*.
.*
*.UNRE.SOLVED
ERIS
.*

*.

*. . *

.*

1

00

****.
*501*
• A3*

*****
*502*
B4*

*

*

* •

*.

NO

END

(16 BYTES FOR

*****J1*******.**
DIVIDE AREA
*SIZE BY 20 FOR
*M1\XIMUM NO. OF •
* BLDL ENTRIES *

*

**:~*

..

G4

*. *.

*"* • • *.*

I

.t.

!*::* :->1*
PROCESS
COMMON

OPEN
NO
*.*~UCCESSFUL.*.*-------~

*

F4

FIRST
YES
*. HALF OF ER .*----*. MATCH CDE. *
*..*
* •• *

'*

*

.*

*

• *

Charts

117

Chart 501.

secondary Input Processing Routine (IEWACALL) (Part 2 of 5)

•••••
• 501.
* A3*
••
•

~ ifsg~nI!~· S
r-------------------------------------------------->
*.
*.

NXTER

••••• Al. ••••••••

•

A2

• ••

ENOCH. • •

AliIYENT

A3

*.
ATTEMPTED ••

•

*. ••

.*
•• AT

•• BLDL

•
•
YES ••
NO
END
YES
:MOVE TO NEXT ER:<-------- •••• FORE~HIS •••• <--------••• ?F ER CHAI~ •••

•••••••••••••••••••

*...
*•. *

** ••
..
*

1·

•

A<_:.:;.:

••••

IINCAL
YES ••

NO

.•

• BLD
• ADD

.*

•

ATTEMPT FOR

•

THIS ER

•

NO ••

> ___ *.

• •

········1·····....
••

*.

*..*

...
•

•

•••• El.........

...

ERROR EXIT.

•••••••••••••••

'"

.*

••

E2

•••

••

ENTER1

• ••••

*.

• III

•

HI

...

...
"'-------->.
1\.

E3..........
E NAME AND III

ESS OF CESO.
Y TO NEXT.

•

•

L ENTRY.

.....F3..........

AND.

.INCREMENT COUNT.

• MOVE P R E V I O U S . .
TO NEXT.

• HIGHER ENTRY

•

•
•

•

•

OF ENTRIES.

• •

•

[

·
.
·.......1'......
...
.. ..
•

GO TO NEXT.

•

IN L I S T .

• ENTRY ALREADY •

...

• •AT• • •• YES
NO ••
--- •• FIRST ENTRY .*----•• ALREADY ••
•• ••

.

•

••

••

....
....
'l:O
:.::.:
G3

•••

••

•• YES
•• MAXIMUM NO. • .--••

COUNT =

••

••

••

••••

••

F4

I/O

*.

ERROR

••

*. •DURING
BLDL
•••
*.
.•

•

••

•

• ••••

....

HAVETTR
NO ••

G4

• *.

••

.

TdIS

---.. BLDL ENTRY
••

*.

FOUND ••
...

••

··.·;u

1
..
• •••• H4 ••••••••••

••

*

MOVE TTR FOR •
.ENTRY TO CESD ,.

.SET

TTR BIT ON •

• ••••• ** •••••••••

::::::----,j
·····J4*·········
•
•
• MOVE TO NEXT
•
BLDL ENTRY

•

...
•*
•
••••••••••••••••••

.. .•.1 .. .0
.. .. .'" .'"
K4

••

••

••

AT END

OF LISTS

*.••
• YES

118

.....~

.502.

*

•A2.
•
*

FS*.........

.1EWERROR
.---------------*
•• -------->. IEW10S3 -•
••
'" PERMANENT I/O *
~OSA3.

•• YES

·<::________
1

1

••••• G2..........

••

...

BLOL

·····.1·.·.....

•
• •
•••••••••••••••••
••••••••••••••••••

H2

..E4.......

•

•••••••• [.........

.....F2..........
*.ADDRESS
NAME

••

................
j .

1.:.:

··1·· ~o

TO
IEWERROR
(IEWl194)

*. ••

I
I I .•
•

••••

:.E

...*
NAME

ADDRESS

*. *. MOVED .• ••

. . D4 . . . . . . . . . .

*.

NAME TO
PREVIOUS

III.

LAST

.INITIALIZE FOR.
• BLDL REQUEST •

IN BLDL .*

• *COMPARE*.

.•

DOBt~~
• •

02···.. *.

*..*

COMPNAME

TOOBIG

·····r·······
C4...
;ES

_________ :~I·=O

. '[.';0

TO •
LIST.

·*1*.

••
AREA..
YES..
THIS
••
••
AVAILABLE •• <--------•• FIRST ENTRY..

•• FOR BLDL .*

*.:~.

YES

• •

•..

•

D1·t:~s*.

.*502•.•.

••••• ••••••••••
* MO
RY.
III ADD
OM •

1
.....C2..........

E3 :

NO

ADRLIST

•
•
• INDICATE BLDL •

••••

ANY

-------->1*

•.• ';0

:

*. ••

*...
*.. *

III

-----------------•• NEVER CALL OR..
•• WEAK CALL..

••••

PROCESS
COMMON
t.

--------> •.• ~~~I~~tE~I~~ ••••------_V

• ••
B2
*.
•*MARKED
ER
*. • •

*.

•••

A4

.•
••

NO

•• ---

ERROR
•
•'" ••••••••••••••••

J.!~g~~~s

.

.502.

•• 84... •

• Chart 502.

Secondary Input Processing Routine (IEWACALL)

•••••
•••
IPROCESS

(Part 3 of 5)

• 502.

• A2*

MODULES

~FROM SYSL:IS

·····A2··········
•
•

·

.....
.

• GO TO START OF •

...

ER CHAIN

...

.
. . . ."
•••••••••••••••••

:*:;*:->1
••••
B2
•*
..

*t*:ROCESS COMMON

..

NEXT

• ".

ENT~I~S

*oo

*oo

*oo

.....el..........

.. MOVE TO NEXT"
.. ENTRY IN LIST

·
1
C2

.. "

..

*---------------------------------->*...

.. .....

NO .. "

.. "

*oo

TTR FOR

*oo

1"

•••••

C4..........

*oo

*....

········1········

:

..*..

"'h4 ••••

• •
•
RLD CriAIN

:to

•
•.
..:to .............

I *....

F2 •••••

"'INITIALIZE FOR.
•
END-OF-FILE
...
• •

..
••

*
.
.. *..............

)...

••••
LOAD
•• NO
MODULE
••

*.

··i·;"

***.*a2 ••••• **...

"'IEWLODE
400Al*
*---------------.
•
LOAD MODULE
•
..

*IEWPRIt-:lL 204A3.
.---------------.
OBJECT MODULE.
BUFFE.K PRIME
•
PROCeSSOR·

..
........
j........

l .•.....*
->* B2 ..

.***

.*

••

¥4

.!.

*.

ENOUGH

*.

AkEA. FOR

•. . .. *. •
CO~lMO(i

..***F5* •• ** •••••

*IEWhRkOR

•.* •• * •••••

...

•

*

...

. ....... j ....... .

~R('CJ!.SSOR.

• 1-1A.P r'KOC",Shvt< '"

•• *•• "'*.*****.*.*

*.****.**.**.***'"

l ·.....*
->*

•

82

**.*

~"'

j

*

..******.******

*.---------------**

...

OBJECT MODULE. '"

*
•• *....•

PkOGt{AM 1'00
LAR.GE

*UPDA'l'1::. POIl' •• ** ••• **
• TO AVAILABLI . . .
•
•
STOHA3'"
'"
rlr~J'Urt.'l
...
(CrlN"{TTAT)

**.**Hq •••••••• **
*IEWLt-lA.!?
30S;;.2*

•
•

~05A3.

*.... -------->.
NO
*---------------.
11 Wll94 -•

• •••• rlJ*** •••• *..
*IEwLRELO JOOA1*
*---------------*

..

'" PROC1:SbOR
• ** •• ****"'**** •• *

*

.... ".......... .. . J:::....

-------->.•

...*.•

•

•••• . .***.
•••
.

...
•
...

• •

••
••

BLE

AODri..

•• E2 ••• *."'~

•
•
..... :to.....

AVA

:• 'COMMON
g
Rs :

..
FIND THIS
LIBRARY
MODULE

*• *oo

ro

········1········
•
•

..

• Al*
..*
•• 04.*.*......'"
'"
• ASSI
NhX'I
...
...

•

~~~R¥~5tc~g~~
......

•

cs

••• *

•••••
·jOl·

•

:

:'::':->1
CO .."iMOiU

I

•••• *02 •••••
*
.
• PICK
UP TTR

..

.
...
* ..•
.. •
••••••••••••••••••

YES

DOFIND

SAVE TOP OF

........
*.
.. SKT' COMMON"
Yl'~S .. "
ANY eM
...
t
..* ALLOCA'l.'ED
*<--------*.
EN'l'Rlt:S
INDICATOR
*
*. LEFT oO. ••

*(--------*. ••THIS ENTRY •• .*
....'"
*. .•

L>!•"::":•

..

AurOCALL
*-------->*
CODE 11:11
..
IN'JICATOR'"
..
CMTOPCQ'l
..
.
. . . . . .• ••• *** ••••••••••..
•••••••••••••••••

••••••••••••••••••••. .
••••

TURN OFF'"

NO

NEXTl

..

.*
*oo .*

••..• B5 •••..•••••

•••••
...........

*oo YES

OF ER CHAIN.

*oo

B4..........

COMMON

*oo

.* AT END

..

*502*
84*

I

'*

..

"'****J4*******·**
*ll:.WLt,K'I N JObAl*
*---------------*

"'HLD rtLLOCh'lJ UIJ. '"
'"
PrtOCESSOR
..

• •• ***.******* •••
**

·

I

.
•
....
l .. ..

**.**~4.****·*.**

•

*
*

GO 'Iv
f,~'!

[~t~j<.'i

kY UN

cr-;

•******************
CrlAl.l

- >* (:;, •

*"'.*

Charts

119

Chart 503.

Secondary Input Processing Routine (IEWACALL)

(Part 4 of 5)

•••••
• 503.
A1 •
•••
ASSIGN
t

!

DISPLACEMENTS
FOR PSEUDO REGISTERS

PRCH/UN
••••• A1* •••••••••

•• SET

•

CUMULATIVE •
• LENGTH OF PRIS ...

...

TO 0

...

•*.* •••••••••••••••

j

,·····Bl·.···· •••,·

'GO TO STARr OF •
,
PR CHAIN
•

••
•
••••• *•• *.**** •• •*
FINAL CHECK FOR

---------->1
PRC2
• *0
el
*0

o. o· ANY

UNRESOLVED ERIS
C3

*0

*0

*. *.

.. *.

*.

DEB2

C4

..

*. ••

.* .* ANY *. *0 NO
.* .* ANY *. *. NO
*. *0 E~~~~ES ..... *---------------------------------->*. *. PRb~~~SED."'· *------;..-->* .•. E~~KIgN ..... *-------~
PR

NO

.* .*

i

*•
*.••
**

YES

__________

***
•• D1**********
* SUBTRA PR ...

...

•

AT'"

FA

OM.

*

......
......
********j*********

*****E1**********
,.. PR ADDRESS = *
* DIFFERENCE PLUS*
,.. CUMULATIVE
*
*
LENGTH
*

*

*

~ rES

.* 03 ANY*0 *. *. NO
*. ENTRIES ON .. *---->
* . CXD CHAIN..
*.
..'"
....

·"1'·

.rES

r

*...'"
'.

. '.

*...

*****Fl***.****.*
* STORE PR
*
• ~DDRESS INTO •
: CESD1oy~~Sl'ORE :

*****F3**********
*
*
*GO TO NEXT CXD *
---:
ENTRY'!

········1········

* .

F4

.*

.*

.*

*.
ER

•. ••

~~S

*.*:mK~~~LWI:.A~*.*---

*..*

"i';c

.................

*raWLMAP

***.*Gl*******.*.
308A2*

*.***G4******.***
.1EWERROH S03A.3*

*****************

*************.***

**---------------*
,.
~ M~P PROCESSOR *
,..
*

*---------------.
** UNRESOLVED
IEW1012 -*
~H •
,.
*

j

j:::::::::::..............

*****rll**********
*IEWLERTN 306Al*
*---------------*
*RLD RELOCATION'"
,..
ROUTINE
*

** •• *****.*********

j

*****Jl**********
GO TO NEXT
*
---*,.. ENTRY
ON PR *
CHAIN
*
*************.***

•

·

120

•

.

******rt4*******.**,.

*

GO TO

NEXT

..

•••••••••••••••••

E4
*.
.* ~R
*.
• * MARKl!.D
*. Yt. S
••
NEVER
• *----*. CALL
•*

~~:~"'T"""" r

*

..

~o

·······r······
*

·::::

04
*.
*****05**********
*IEWE,RHOR
!:>O!:>A3*
*.* NeAL *. ,.-. YI:.S
*---------------*
*0 SPECIFIED .. *-... ------>* 1l!.Wl001 -...
*.
.*
"...
WAHNINS
*
..

;ES

.****E3**********
*STORE TOTAL PR *
•
LENGTH AT
*
*• REQUES'l'ING'"
LOCATIONS
*

*****
.~04*

*•
*...
* *

Frl

*

---*•
El~TrlY
,,...
******************•

Secondary Input Processing Routine (IEWACALL)

• Chart 504.

(Part 5 of 5)

*****
*504*
'" A1'"

***

I FINAL

CHECK FOR

-& ENTRY

NOTXT

POINT

(EP)

• "'.

*****A2**********
. '" A.i *. *.
*IEWERROR 50SA3*
****A3*********
ANY
*.• *-------->*
NO
*---------------*
'"
*.• '" TEXT
IEW1093 -- NO *-------->*
RETURN
**
*. RECEIVED • '"
'" TEXT RECEIVED '"
'"
'"
*..*
'"
*
***************
* •• *
*****************

rES

DEA4

•

*.

USETXT

*****B2**********
.* 81 *. *.
*IEWERROR
505A3*
· * EP NAME *. NO
*---------------*
*. AND/OR ADDR • *-------->* IEW1161 -- NO *----"'. RECEIVED • *
'" ENTRY POINT *
*.
.*
'"
RECEIVED
'"
*.• *
*****************

rES

• '"

*.

.*

Cl

.*.

*0

NAME

USETXTl

*.

*.

YES

*****c2**********

*****C3**********

*---------------*

.USE FIRST BYTE

*IEWERROR

505A3*

*

'"
*

• *-------->* IEW1173 -- EP *-------->* OF TEXT AS
*
*. ~~CEIVE~*.*
: REC~i¥~~fmNOT :
A
ENTRY POINT !
* •• *
*****************
*****************
ONLY

(0

D1

. *. *

. *.

*•

*. *. YES
IS
*. *0ENTRY
POINT .*------------------------------AN ER • *
*. *.. *. *

i<:~------------------------------------------------

DEB3

*****E1**********
*
*COMPUTE
LENGTH **

*

OF LOADED

*

PROGRAt-1
*
******************

I

*****F1**********

**ADD ANY LENGTHS**
IN MOD *
** PASSED
RECORDS
*

*

•

*****************

I
I
I
I

***G1********

*

* CONVERT *
LENGTH TO HEX *
*
*

************ *

*****tl1**********
*IEWLPRNT 207A2*
*---------------*
PRINT TOTAL

LENGTH
*
*******************

**J1*******

**

CONVERT *
ENTRY POINT *
TO HEX
'"

* **********~ *

*****Kl**********
*IEWLPRNT 207A2*

*---------------*

*

****K2*********

'"

* PRINT ENTRY *-------->*
RETURN
..
ADDRESS
*
*
*
"'**************
*******************

charts

121

• Chart 505.

Error Log Routine (IEWERROR), Format Routine (RRSETUP)

****A3*********

•'"
*

I EWERROR

***************

I

*
*

*'"
•

*

I

******B5**********
FORM INDEX FROM*
! s~~S~~~~T~~· i'o :
* MESSAGE *

*****B3**********
*

•

"'MAKE INDICATION*

·

*

.OF MESSAGE NO.

'"
IN BITMAP
•*****************
•'"

...

'"

.PICK UP POINTER'"

TO SYSTERM

BUFFER

'"

YES.'"

.*

C3

TERM

"'. "'.

****
50SA5*

...*---------------*...
.FORMAT MESSAGE'"
...
...
****.* ••• ***."'.**

[

•*

NO .'"

---*.

• '"

*.

D3

.'. *.

SYSLOUT

OPEN

I

*****D5**********
* MOVE ANY
*
'" QUALIFYING *

*. *.

"*'•••
. . '" .*

·
*

.*

'"

.r

'" PRINT MESSAGE '"

..••• **************'"

L(~!::

*. *.
*****E4 ••• *******
.* E3
*IEWLPRNT 207A2*
. '"
ANY
*. YES
*---------------*
*. PREVIOUS • *-------->* PURGE RTN FOR '"
*. MESSAGE • '"
.PREVIOUS PRINT '"
**••
..
'
"
'
"
BUFFER
'"
'"
******"'*****"'*"'**

INTO BUFFER

.
'"

'"

I

•*****E5*********
•*
RETURN
*

i<::____________________J

RRMESSG

INFORMATION

"'******"'****"'****

ES

••• **E2**** •• ***'"
*IEWTERM
208Al*
*---------------*
'"
'"

•

******************

:*::. ::~1*· ~O

*****02**********

[

*****C5**********
*• MOVE MESSAGE *•
*CODE TO BUFFER *

*<--------*.
OPTION
.*
'"
"'.SPECIFIED.'"
...
*..*

********[.........
*RRSETUP

.'. *.

.

**"'********"'*****

1

*****C2**********

****AS"'*****"'**
•
RRSETUP
*
•
**"'***"''''**'''**'''*

***************

•

•*****F3**********
*PICK UP POINTER*•
* TO SYSLOUT *
*
BUFFER
•*******"'*****"'***
•*

[

*****G3** *****"'**
*RRSETUP
SOSAS'

·•*---------------*.•
*FORMAT MESSAGE

*

*****************

RRPRNT

[

*****H3**"'*******
'IEWLPRNT
207A2*

*---------------*
*•

PRINT MESSAGE

**

*
•
**************"'**

---------->1

.'.

J3
"'.
****"'J4****"'**"'**
SET • NO
*
• '" EXECUTION "'. NO
EXECUTION'
"'.
STILL
.*-------->* INDICATION IN *
POSSIBLE .. '"
COMMUNICATION

.*
*.

*.

RRRETURN

*

****K2*********

RRI>BORT

. '"

*'"
*

*

AREA

*
*
*

··l~~::-------------::::::::j···*····
.*.

*.
*****K4***"'******
* SET ABORT *
****KS*********
*• * ERROR *. *. YES
'" INDICATION IN *
'"
RETURN TO
*
*<--------*. SEVERITY 4 .*-------->* COMMUNICATION *-------->* HIGrlEST LEVEL *
K3

*

*
RETURN
*
*
*********"'*****

122

*.

NO •

"'.

.

*..*
*•• *

. '"

'"

AREA

*

'"
*
*****************

*

CALLER
'"
***************

• Chart 506.

o

...

o

Diagnostic Dictionary Processing Routine (IEWB'I'MAP)

****Al******··· 0
I EWBTMAP

..

••••••••••• ** ••

I

0

o
·····81······**··
.. INITIALIZE
...
0

=

• RETURN CODE

o

0*
0

o
.................
0

Cl

1

• o.

*.

*.
*.
*. *.BITSMAP
SEr IN •
.*
*.
. ..

0"

....

ANY

* ....

*---1
*;:*:
NO

1
·····01··········
*

YES

..
SET = 0
• POSITION INDEX
...
TO MESSAGE
..
TABLE

:

o

••••

0

...

. ....

..

..
.................
..

...

...

...

:*::*!->1
o

••••

..

0

...

E2 ..

*1··· .

. *. *•
.*.*.E3**........
E4
. . . . ... UPDATE INDEX .... .
.* LAST *. *.
.*
SET
*-------->*
ERROR
*-------->*. *.BIT ALREADY.
*.
... • *-------->*. . IN BIT MAP .
. . . . . INTOTABLE'"
. ...
*.
....
...
......
..
* .• *
**********.*****.
*.***.*.* •• *.****
*.. '"

BMCHKBIT

El

•

o. . '" SIT
*0

*. *.

'
l

** ••• E2*********.

*. *.

NO

...GO

TO NEXT BIT"

*.. ..

YES

: ';:'

*

*

J
*.

*.

*

****

. '.

Hi
*.
.*
*Oo
**.*
• * SYSLOOr *Oo NO
*
•
*Oo
OPEN
• *---->* E2 *
*Oo
.. *
*
*
••
•*
**.*
* •• *

l'

YES

: '::.

*.*.

!

*

**** ******'*******

*****G2**********
*****G3**********
*
*
*BMSETUP
*
•*
TERM
*. YES
*PICK OP POINTER*
*---------------*
*.
OPTION
.*-------->* TO SYSTERM
*-------->*
CONSTRUCT
*
*. SPECIFIED. *
*
BOFFER
*
* INDICATED MSG *
*..
.. *
*
*
IN BOFFER
:·::·::~l*·~O
*****************
********1*********
Gl

YES

* ****F4**********
*
.CHANGE
SEVERI'IY*'*
*
CODE TO
*
*CONDITION CODE *

*****************

.*

NO

BMRETURN

*****Fl**********
..* SAVE SEVERITY **
CODE
*
*
*
*

,.

:->1'

....
****

*---l

*

*****H3**********
*IEWTERM
208Al*
*---------------*
*
*
* PRINT MESSAGE •
* . .
**************.**

l ·....,

1

*****G4**********
*
*
* SET REG 15 = *
*CDNDITION CODE *
*
*

*

*

********j*********

*
*
*

****H4*********

*
RETURN
*
*
***************

. .

->* Hi •
****

*****Jl**********
*BMSETOP
*
*---------------*
..
CONSTRUCT
*
* INDICATED MSG *
*
IN BUFFER
*
*****************

I

*****Kl**********
*IEWLPRNT 207A2*
****
*
*
*
*---->* E2 ..
* PRINT MESSAGE *
..
*
*
*
****
*****************

*---------------*

Charts

123

Identification Routine (IEWLIDEN), Extent List Entry Routine (IDENTER)

• Chart 600.

·····Ai·········.

•
*

****A4*********

IDENTER
**
***************'" *

*
• ••••• ********** *
•

IEWLIDEN

[

[

*****B4**********
** STORE LENGTH **
*AND ADDRBSS IN *
* EXTENT LIST *
****"''''*********'''***

*****Bl**********
*
•
...

DETERMINE

NUMBER OF
EXTENTS

:+

**
*

•
*
*****************

I

C4

*****Cl**********
"'ALLOCATE
SPACE *
•
* FOR IDENrIFY *
.PARAMETER LIST

*

•*****************•

.*

01

1

. *.

*. *.

*. *.. * . *

rES

*****D2**********
*IEWERROR S05A3*

****03*********

. * EXTENTS *. YES
*---------------*
*
*
OVERLAP LOR. *-------->*
IEW1194 -*-------->*
RETURN
**
*. WORKSPACE. *
.SPACE EXCEEDED *
*
*..*
*
*
***************

*.

*.. *

*****************

ro

1

. *. *.

*****C5**********

• * LAS'! *. *. NO
0*
** GO TO NE.XI'
**
*. EXTENT
• *-------->*ENTRY IN ExrENT*
"'.
•*
*
LIST
'"

*****04**********
* SET INDICATOR *'"
**FOR
LAST ENTRY *

*
*
*"''''***'''************

*
'"
*****************

V

****D~*********

**

RE..TURN
**
* *************** *

*****E1**********

*

MOVE, PROGRAM

...

*
**
•
*
*****************
• NAME AND ENTRY
* POINT TO
.PARAMETER LIST

I

*****Fl**********

***

INITIALIZE
EXTENT LIST

•*

**
*

**

*****************

I
I

*****Gl**********

*IDENTER
600A4*
* ENTER LOADER- *
*CONSTRUCTD PROG*
*AS FIRST EXTENT*
*****************

* ---------------*

r-------------------------

*****Hl**********.
*IDMINI
601Al*
*---------------*
*BLD SYMBOL TBL *
* FOR TEST PKGS *
*FOLLOWING PROG *
*****************

v

J'.

.. .J........

"i':O

.................

. * WAS *.
*IDENTER
600A4*
• * SYMBOL
*. YES
*---------------*
*.
TABLE
.*-------->* ENTER SYMBOL *
*. BUILT • *
A
*TABLE AS SECOND*
*.
•*
*
EXTENT
*

*****Kl**********
*
*
*CONSTRUCT DUMMY*

.

*
EXTENT
*----*
*
*****************

124

. *.

*****H2**********
**H3*******
H4
*0
*IDENTER
600A4*
* IDENTIFY *
• * WAS *.
****H5*********
*---------------*
* LOADED PROG *
0* IDENTIFY *. YES
*
*
*
ENTER ANY
*-------->* TO CONTROL
*-------->*0 SUCCESSFUL .*-------->*
RETURN
*
* EXTENTS FROM *
*
PROGRAM
*
*.
•*
*
*
* MOD RECORDS *
*
*
*..*
***************
*****************
***********
* •• *

J.:

...

"i';'

........

0" ........ .

.. *
*0
*IEWERROR SOSA3*
DUPLICATE *. YES
*---------------*
PROGRAM
.*-------->* IEW1014-*. NAME
•*
*
DUPLICArE
*.
•*
* PROGRAM NAME *
[*********

.*

*.

*****K4**********
*IEWERROR 50SA3*
****KS*********
*---------------*
*
*
* IEW1224 -*-------->*
RETURN
*
*IDENTIFY FAILED*
*
*
*
***************
*
*****************

• chart 601.

Condensed Symbol Table Routine (IDMINI)

********* •
•'" ****Al
IDMINI
*

·

***************

B1

.*

I

.

. *. * •

. *IS THIS..
A

*0

NO:+

****B2*********

:+

*. TIME-SHARING .. *-------->*
RETURN
*
*. TASK .. :+
'"
:+
***************
*. *0

.:+

.*

rES

·

.

*****Cl***~******

*FIND CESD TYPES*

**
•******************
*

WANTED IN

'" SYMBOL TABLE

--------->[

*****01**********
'" PICK UP CHAIN :+
.OF CESD ENI'RIES.
*FOR 1\ TYPE FROr-'l*

'" COMMUNICATION :+

:+

AREA

:+

*****************

",.!~::-------------------;;:::::--------.-----:::::::::::::::::---------::::::::1

....... .

• '" EN1'HY "'.
*
*
. * • :+ END OF *.. "'. NO
.:+ OVERLAPS
*. NO
* MOV~"; E,NTRY 1'0 *'*
'" GO TO NEXT **
*. ENTRIES IN • *-------->*. LOADER
.. *-------->* Sy .... BOL TABLE
*-------->*.c:;NTRy IN SYMBOL.
*. CHAIN .. '"
*. WDKKSPACE. *
:+
:+
*
'l'A.BLE
*
*..*
*0.*
'"
*
*
*...
*...
*****************
*****************

I

YES

. YES

.'. *.
F!
*. *ANOTHER *. * .
---*. CESD TYPE .*
*. WANTED • *
"'. *.. *.'"
YES •

ro

*****G!**********
* SET INDIC~TOR *
****G2*********
* IN COHMUNI*
..
* CATION AREA *-------->*
f{E,l'URN
*
*SHOWING SYMBOL *
*
*
* TABLE BUILT *
***************
*****************

Charts

125

SECTION 4:

MICROFICHE DIRECTORY

The microfiche directory is designed to help you find named areas of code in the
program ~isting, which is contained on microfiche cards at your installation.
Microfiche cards are filed in alphameric order by object module name. If you wish
to locate a control section, entry point, table, or routine on microfiche, find
the name in column 1 and note the associated object module name. You can then
find the item on microfiche.

r---------T-------------T-------------T--------T---------T------------------------------,

I Name
I Description IObject Modulel CSECT IChart 1D I
Synopsis
I
~---------+-------------+-------------+--------~---------~------------------------------~
IALLOCATE IAllocation
IIEWLDREL
\IEWLRELOI-IAllocates storage for table
I
\ Routine
I
I
I
I entries
I
I
~---------+-------------+-------------+--------~---------~------------------------------~

ICMTRCTRL ITable
I I EWLDREL
IIEWLRELOI-IPointers to translation table I
\
I
I
1
I
I extents
I
~---------+-------------+-------------+--------+---------+------------------------------~
\CMTYPCHN ITable
\IEWLDREL
\IEWLRELOI-IPointers to CESD type chains I
~---------+-------------+-------------+--------+---------+------------------------------~
I COMMON
I Label
IIEWLDLIB
IIEWLLIBRI402
IAssigns addresses to common
I
~---------+-------------+-------------+--------+---------~------------------------------~
I DECB
I DSECT
I IEWLDIOC
1IEWLIOCA 1-I Model DECB
I
~---------+-------------+-------------+--------+---------~------------------------------~
IERCODES I DSECT
IIEWLDIOC
\IEWLIOCA1-\Error code definitions
\
I IEWLRELO I
1
\
\
\
\ IEWLDREL
\
\
I 1EWLDLIB
\ IEWLLIBR 1
I
I
~---------+-------------+-------------+--------~---------~------------------------------~

IFIN1SHUP \Label
IIEWLDLIB
IIEWLLIBRI-\Prints finishing messages
\
~---------+-------------+-------------t--------~---------+------------------------------~
I1EWACALL IEntry Point \IEWLDLIB
\IEWLLIBRISOO-S04 IAutomatic library call
I
I
\
\
I
I
I processing
I
~---------+-------------+-------------+--------t---------+------------------------------~
IIEWBTMAP IEntry Point IIEWLDLIB
IIEWLLIBRIS06
IDiagnostic dictionary
\
\
\
I
I
I
I processing
I
~---------+-------------+-------------+--------+---------+------------------------------~
IIEWBUFFR IBuffer alloc-IIEWLDIOC
\ IEWLIOCAI 203
IBuffer and DECB allocation
I
\ ation routine I
I
I
I routine
I
I
~---------+-------------+-------------+--------~---------+------------------------------~
I1EWERROR IEntry Point IIEWLDLIB
I IEWLLIBRI 505
IError log routine
I
~---------+-------------+-------------+--------+---------+------------------------------~
I1EWLCNVT IEntry Point I1EWLDREL
IIEWLRELOI-IBinary-Hex conversion routine I
~---------+-------------+-------------+--------+---------+------------------------------~
IIEWLCTRL IEntry Point I1EWLDCTR
IIEWLCTRLl100
ILoader control module
I

~-------------~
I
I
I
I
I
ICSECT
I
I
I
I
I
~---------+-------------+-------------+--------+---------+------------------------------~
IIEWLDCOM IDSECT
I1EWLDIOC
IIEWLIOCAt-ICommunication area
I
I
I
I IEWLDLIB
\ IEWLLIBR I
I
I
I
I
IIEWLDREL
I IEWLRELO I
I
I
~---------+-------------+-------------+--------~---------+------------------------------~
I1EWLDDEF ICSECT
I1EWLDDEF
I1EWLDDEFI-ISYSGEN option defaults
I

I

~---------+-------------+-------------t--------+---------+------------------------------~

I1EWLEND IEntry Point I I EWLDREL
l1EWLRELOl307
lEnd processing
I
~--------+-------------+-------------+--------~---------+------------------------------~
I1EWLERTN IEntry Point I1EWLDREL
I IEWLRELOI 306
IRLD, relocation routine
I
~---------+-------------+-------------t--------t---------+------------------------------~
IIEWLESD
Point I _____________
I EWLDREL
I ________
IEWLRELO) _________
301-304 IESD
record processing
L
_________ IEntry
_____________
______________________________
JI
~

~

~

~

~

(Continued)

section 4:

Microfiche Directory

127

(Continued)

r---------T-------------T-------------T--------T---------T------------------------------,
I Name
I Description 10bject Module I CSECT IChart ID I
Synopsis
I
~---------+-------------+-------------+--------t---------+------------------------------~

IIEWLIDEN IEntry Point IIEWLDIDY
~-------------~
I
I
I
I CSECT

IIEWLIDENI600
I
I
I
I

IIdentification routine
I
I

IIEWLIOCAI200-201

I Initialization, I/O, control,
land allocation processing

I
I
I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLIOCA IEntry Point

IIEWLDIOC

I

~-------------~

I

I

I

I CSECT

I

I

I

I

I
I
I

IAutomatic library call and
Iload module processing

I
I

~---------+-------------+-------------t--------+---------+------------------------------~

IIEWLLIBR ICSECT
I
I

IIEWLDLIB
I

IIEWLLIBRI-I

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLMAP

IEntry Point

IIEWLDREL

IIEWLRELOl308

ICreates map printout

I

~---------+-------------+-------------t--------+---------+------------------------------~

I I EWLMOD

IEntry Point

IIEWLDREL

I IEWLRELOI 310

IMOD record processing

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLOAD
I

IEntry Point
I

IIEWLDIOC
I

I IEWLIOCAI 200
)
I

IEntry point for loading with
I identification

I
I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLODE

IEntry Point

IIEWLDLIB

IIEWLLIBRI400-403

ILoad module processing

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLPRNT IEntry Point

IIEWLDIOC

IIEWLIOCAI207

IPrint routine

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLREAD IEntry Point

IIEWLDIOC

IIEWLIOCAI205

IRead routine

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLRELO IEntry Point

IIEWLDREL

!IEWLRELOI300

10bject module processor

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLRELO ICSECT
I
I

IIEWLDREL
I

IIEWLRELO)-I
I

10bject module, ESD, RLD, and
Imap processing

I
I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLRLD

IEntry Point

IIEWLDREL

I IEWLRELOI 305

IRLD record processing

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWLTXT

I Label

IIEWLDREL

I IEWLRELOI 300

10bject module text processing I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWOPNLB IEntry Point

IIEWLDIOC

IIEWLIOCAI206

10pens SYSLIB data set

I

~---------+-------------+-------------+--------+---------+------------------------------~

IIEWPRIME IEntry Point
I
I

IIEWLDIOC
I

IIEWLIOCAI204
I
I

10bject module buffer prime
I routine

I
I

IIEWTERM

IIEWLDIOC

lIEWLIOCAI208

ISYSTERM routine

I

~---------+-------------+-------------+--------+---------+------------------------------~

IEntry Point

~---------+-------------+-------------+--------+---------+------------------------------~

IINITMAIN IDSECT
I1EWLDIOC
IIEWL10CAI-I Initial work area
I
~---------+-------------+-------------+--------+---------+------------------------------~
ILMTXT
I Label
I1EWLDLIB
~IEWLLIBRI401-403
ILoad module text processing
I

~---------+-------------+-------------+--------+---------+------------------------------~

IMODELDCB ILabel

I1EWLDIOC

IIEWL10CAI--

IModel DCB for SYSLIN, SYSLIB

I

~---------+-------------+-------------+--------+---------+------------------------------~

10PENEXIT IEntry Point

I1EWLDIOC

IIEWLIOCAI202

IDCB exit routine

I

~---------+-------------+-------------+--------+---------+------------------------------~

IPSEUDOR

I Label

I1EWLDLIB

IIEWLL1BRI503

IProcesses pseudo registers

I

~---------+-------------+-------------+--------+---------+------------------------------~

ISYNAD

IEntry Point

I1EWLDIOC

IIEWLIOCAI--

ISYNAD routine

I

~---------+-------------+-------------+--------+---------+------------------------------~

ITRANSID IEntry Point I1EWLDREL
IIEWLRELOl309
ITranslates ESD 1D to CESD
I
address
I_________ I _____________ I _____________ I ________ I _________ I ______________________________
L
JI
~

128

~

~

~

~

SECTION 5:

DATA AREA LAYOUTS

This section provides detailed layouts of internal data areas used during Loader
processing. The tables are described in alphabetic order.
Also included in this section is a summary of table use and construction (Table
7).

Table

7.

Table Construction and Usage

r------------------------------T--------------------,-----------------------------------,
I
Table
I
Built by
I
Used and/or Modified by
I
~------------------------------+--------------------+-----------------------------------~

I

I

Address list

IEWACALL

I

I

*

t------------------------------t--------------------t-----------------------------------~

I

I

BLDL list

IEWACALL

I

I

*

~------------------------------+--------------------+-----------------------------------~

I
!

CESD control table
(CMTYPCHN)

I
I

IEWLESD

!
I

IEWACALL, IEWLESD

I
I

t------------------------------f--------------------f-----------------------------------~
I CESD table
I
IEWLESD
1 IEWACALL, IEWLERTN, IEWLESD,
I

I

I

I

IEWLRLD, IEWLTXT, LMTXT

I

t------------------------------f--------------------+-----------------------------------~

I

Condensed symbol table

I

IEWLIDEN

1 TSO test facilities

I

~------------------------------+--------------------t-----------------------------------~

I

1

Extent chain

IEWLMOD

I

I

IEWLIDEN

r------------------------------f--------------------f-----------------------------------~

I

IDENTIFY parameter list

I

IEWLIDEN

I

IDENTIFY macro instruction

I

r------------------------------t--------------------t-----------------------------------~

I

I

IEWLDCOM

IEWLIOCA

I

I

**

t------------------------------+--------------------f-----------------------------------~

I

I

INITMAIN

IEWLIOCA

I

I

*

r------------------------------+--------------------t-----------------------------------~

I

1

RLD table

IEWLRLD

I

IEWACALL, IEWLERTN, IEWLRLD

I

t------------------------------t--------------------+-----------------------------------~

1 Translation table

I

1

I

IEWLESD

1

I

IEWACALL, IEWLESD, IEWLRLD,
IEWLTXT, LMTXT, TRANSID

I

I

r------------------------------~--------------------~-----------------------------------~

I *Built and processed entirely within one routine.

I

1**Major
communication area throughout Loader processing.
L_______________________________________________________________________________________
JI

Address List
Bui It by the Secondary Input Processor

C ESD entry address (4 bytes each entry)

The entries in this list are in one-to-one
correspondence with the BLDL list entries.
The Loader stores the address from the BLDL
entry in the address list before issuing the
BLDL macro instruction

Figure 17.

Address List
Section 5:

Data Area Layouts

129

BLDL List
Built by Secondary Input Processor

4-11
(entry FF)
0(

Not u sed by the Loader

Name field (8 bytes)

CESD address/TTR
Originally contains the CESD address
of an ER. (4 bytes) If the name was
found in the SYSLIB directory, BLDL
replaces the CESD address with TTR.
(bytes 12-14)
TT - relative track number
R - block number on the track

Length (2 bytes)

LL - length of each entry in the BLDL
list (16 bytes in the Loader)

Number (2 bytes)
FF - total number of entries in the BLDL list

Figure 18.

BLDL List

CESD Control Table (CMTYPCHN)
Bui It by the ESD Processor

CESD type chain pointer (4 bytes each entry)
The pointers, PO-P7' are listed in the
following order by type: SD,
LD, ER, LR, PC, CM, PR,
NULL
Note: The CESD control table is defined in the communications
area (IEWLDCOM).

Figure 19.

130

CESD Control Table (CMTYPCHN)

each entry
16 bytes

CESD Table Entry
Built by the ESD processor

4-11

Use depends on entry type
Type LD - ESD ID for SD; preliminary use only (bytes 18-19)
Type PR - boundary alignment (byte 16) and length (bytes 18-19)
Alignments
7 - doubleword
3 - fullword
1 - halfword
0- byte
Types SD, PC, LR, CM - relative relocation constant
Type ER - 0; if ER was created from an LR - input address
Type CM - address of extended portion of entry

Address/displacement field (3 bytes)
Types SD, Pt:, LR, CM - Loader- assigned address
Types CM, PR, ER - address of RLD entry chain (0, if no RLDs)
Type PR - displacement within DSECT
Type LD - input address (preliminary use only)
Flags/type field (1 byte)

F F FF F TTT;

Section definition (SD) - XOXOO 000
Label definition (LD) - OXOOO 001
External reference (ER) - XXXXX 010
Label reference (LR)
Pri vale code (PC)
Common (CM)
Pseudo register (PR)

- XoooO
- 00000
- 00000
- 00000

011
100
101
110

FI_5 are flags, TI-3 indicate type
Fl-"delete", F3-"no length"
F2-"LD processed"
Fl-"delete," Fr"weak call," F3-"BLDL tried,"
F4-"TTR found," F5-"never call"
Fl-"de lete"

Namefield (8 bytes)
8 character symbolic name or blanks for blank common
and private code (unused for extended portion of CM entry)
Cha i n address (4 bytes)
Pointer to next entry on CESD type chain; if end of chain, O.
(unused for extended portion of CM entry)

Figure 20.

CESD Entry

Section 5:

Data Area Layouts

131

Condensed Symbol Table Entry
Buil t by the Identification Processor

I

9-11

0-7

I

IL------Address - Assigned address of this
symbol (3 bytes),
~----

Type - (1 byte)
--Section definition (SO) xxxxx 000
Common (CM)
xxxxx 101

' - - - - - - - - - - - - Symbol - The 8-character external name (8 bytes),

• Figure 21.

Condensed Symbol Table Entry

Contents Directory Entry
(Only the fields used by the Looder ore described.)

8-15

Address of
entry point
of module
(3 bytes)
Name of module in the link pack area
(8 bytes)

Address of the next CDE in the queue
(3 bytes)

Figure 22.

132

Contents Directory Entry (CDE)

Data Event Control Block
Built by I/o, Control, and Allocation Processor

~I

Standard DECB

I

0-3

8-11

j

12-15

I

16-19

Added by the
Loader

J

20-23

L

J
DECDECPT (4 bytes)
address of next DECB (4 bytes)

'---- DECIOBPT (4 bytes)
address of the I/O block

-

DECAREA (4 bytes)
address of the read/write
area for the data

' - - DECDCBAD (4 bytes)
address of the DCB for the read/write data set

'------- DECLNGTH (2 bytes)
length of the data to read/write

L--

DECTYPE (2 bytes)
type of the VO macro instruction and options

"----- DECSDECB (4 bytes)
event control block

Figure 23.

Data Event Control Block (DECB)

Extent Chain Entry
Built by the MOD Processor

I

0-3

I

4-7

I

8-11

I

IL-----Length - Length of the extent (4 bytes).
L-_ _ _ _ _

L-_ _ _ _ _

• Figure 24.

Address - Address of the extent derived from
the MOD record (4 bytes).

Chain Address - Address of the next entry on the extent
chain; if end of chain, zero (4 bytes).

Extent Chain Entry
Section 5:

Data Area Layouts

133

IDENTIFY Parameter List

Built by the Identification Processor

Address of entry point of program to be identified

Program name - the 8-character symbolic name

Length, in bytes, of extent list

Number of extents described in this list

Length of extent 1 (Loader-oonstructed program)

Length of extent 2 (Condensed symbol table)

,

~~

Extent
List

Length of extent n *

Address of extent 1 (Loader-constructed program)

Address of extent 2 (Condensed symbol table)

.

1

!.

Address of extent n

I

1~·~----------------------------------------4bytes----------------------------------------~.~I
*A hex '80' in the high-order byte signifies the last length.

• Figure 25.

134

IDENTIFY Parameter List

IEWLDCOM DSECT

- Communication Area

Hex

Dec

0

0

8

8

CMFSTSAV

CMBEGADR

10

16

CMRDCBPT

CMWDCBPT

18

24

CMTDCBPT

CMRDECPT

20

32

CMWDECPT

CMGETREC

CMXDBLWD

28

40

CMPUTREC

CMTRMREC

30

48

CMNXTTXT

CMLSTTXT

38

56

CMLOWTBL

CMHITBL

40

64

CMIOLSTl

CMIOLST2
CMCORE2

48

72

CMCOREI

50

80

CMTOPCOD

CMLIBEOD

58

88

CMLlBSYN

CMLlBEXL

I
I

60

96

CMBLKSIZ

68

104

CMMAXLST

70

112

78

120

CMPRNTDD

80

128

CMLlNDD

88

136

CMLlBDD

90

144

CMTERMDD

CMMAXLNE

CMMAPLIN

CMMAINPT

98

152

CMEPNAME

160

CMPGMNM

A8

168

BO

176

CMIOFLGS

t

CMINITCM
(area common to
INITMAIN)

CMLINDCB

I

CMWLRECL

CMMAINSZ

AO

CMPRMFLG

I

unused

CMLIBDCB

I

CMFLAG3

I

CMFLAG4

unused

B8

184

CMXLCHN

CO

192

CMERllST

CMRLDCHN

C8

200

CMESDCHN

CMEPADDR

DO

208

150

336

CMBLDLPT

CMCXDPT

158

344

CMFRECOR

CMMODLNG

160

352

CMTEMPCH

CMEPCESD

168

360

CMPREVPT

CMLOADCH

170

368

CMSDCHN

CMLDCHN

178

376

CMERCHN

CMlRCHN

180

384

CMPCCHN

CMCMCHN

188

392

CMPRCHN

190

400

CMCURRID

I

198

408

CMNUMXS

\CMLlBFLG

CM81TMAP

CMTRCTRL

••
•

•

Figure 26.

t

CMTYPCHN
(CESD type chain
pointers)

t

CMNULCHN
CMLNECNT

I

CMRELFLG

CMBLDLNO
CMSTATUS

j

CMPRTCTL

I

CMWTBFCT

1 CMOPTEC~

unused

IEWLDCOM DSECT - Communication Area

Section 5:

Data Area Layouts

135

Explanation of IEWLDCOM Entries
CMXDBLWD
(CMADSON)
C~lFSTSAV

ClVlBEGADR
CIvlRDCBPT
CMWDCBPT
CIv'ITDCBPT
CJV:RDECPT
CMWDECPT
CI";GETREC
CMPUTREC
CMTRMREC
CMNXTTXT
... CMLSTI'ZT
CMLOWTBL
CMHITBL
CMIOLISTl
CMIOLIST2
CMCOREl
CMCORE2
CMTOPCOD
CMLIBEOD
CMLIBSYN
CMLIBEXL
CMBLKSIZ
CMIv'AXLNE
CMMAPLIN
CMWLRECL
CMMAXLST
CMMAINPT
CMMAINSZ
CMPRNTDD
CMLINDD
CMLIBDD
CMTERMDD
Cl1EPNAME
CMPGMNM
CMLINDCB
CMLIBDCB
CMPRMFLG

CMIOFLGS

CMFLAG3

136

Temporary doubleword for relocation alignment area
Pointer to first save area
Default entry point to module
Input DCB pointer
Output DCB pointer
SYSTERM DCB pointer
Input DECB pointer
Output DECB pointer
Input logical record pointer
output logical record pointer
SYSTERM buffer pointer
Next address to be assigned to a CSECT
.HiqJ1BS.t.- -~a-de.~-s--as-s±-g-ned- tocurren-t: CSECT
Lowest address assigned for Loader tables
Highest storage address available to Loader
Open List (DCB pointer)
Open List (DCB pointer)
Corresponds to CMNXTTXT for preloaded text
corresponds to CMLSTTXT for preloaded text
Highest text address before common allocated
EO DAD error routine pointer for passed SYSLIB
SYNAD error routine pointer for passed SYSLIB
Exit list pointer for passed SYSLIB
Blocksize of current input object module
Maximum line-count (SYSLOUT)
Length of map line
SYSLOUT record size
Maximum length of invalid options list
Variable-conditional GETMAIN address
Variable-conditional GETMAIN size
Print ddname
Primary input ddname
Library ddname
SYSTERM ddname
Entry point name
Program name
Passed SYSLIN control block pointer
Passed SYSLIB DCB pointer
Parameter flags passed from parameter list
Bit 01 - CQRES - RES/MORES
Bit 02 - CQMAP - MAP/NOMAP
Bit 04 - CQPRINT - PRINT/NOPRINT
Bit 08 - CQLET - LET/NOLET
Bit 10 - CQCALL - CALL/NOCALL
Bit 20 - CQEPNAME - Entry point name defined
Bit 40 - CQEPADDR - Entry point address defined
Bit 80 - CQTERM - TERM/NOTERM
Input - Output flags
Bit 01 - CQEOCB - End of concatenation
Bit 02 - CQEOFB - End of file
Bit 04 - CQEOFSB - End of file significance
Bit 08 - CQRECFM - Input record format O-fixed
i-undefined
Bit 08 - CQUNDEF - CQRECFM separate name in allocation for undefined
Bit 10 - CQFIXED - Fixed record format
Bit 20 - CQIGNOR - Ignore control record on load module
Bit 40 - CQIOERR - An I/O error has occurred
Assorted flags
Bit 02 - CQTS - Time-sharing environment
Bit 04 - CQPGMNM - Program name passed
Bit 08
CQPASLIN - SYSLIN control block passed
Bit 10
CQPASLIB - SYSLIB DCB passed
Bit 20
CQINCORE - Internal SYSLIN data area being processed
Bit 40
CQIDEN - Entered at IEWLOAD (identification wanted)

CMFLAG4

Assorted flags
Bit 01 - CQESDS - ESDs have been encountered
Bit 02
CQMOD - MOD card has been encountered
Bit 04 - CQNOEX - Execution not scheduled
Bit 08
CQM1N1 - Condensed Symbol Table built
Bit 10
CQMVT - MVT operating
Bit 20
CQCOMMON - Common received
Bit 40 - CQTRMOPN - SYSTERM open
Bit 80
CQ1DONE - Identification accomplished
(All of the following entries are initialized to zero)
CMXLCHN
Pointer to chain of extents
CMB1TMAP
Error bit map
CMERL1ST
Pointer to errors encountered during Open
CMRLDCHN
Free RLD entry chain (8 bytes/entry)
CMESDCHN
Free CESD chain entry chain
CMEPADDR
Entry point address to loaded program
Translate Control Table
CMTRCTRL
CMBLDLPT
BLDL pointer
CMCXDPT
Pointer to CXD addresses
CJ.V'FRECOR
Free storage chain
CMMODLNG
Length of module currently being processed
CMTEMPCHN
Pointer to load chain entry to be freed
CMEPCESD
CESD line address of the entry point name
CMPREVPT
Previous element in a chain for insert-delete
CMLOADCH
Temporary chain for ESDs in a load module
CMTYPCHN
CESD type chain pointers in order of type number
CMSDCHN
Section definition
CMLDCHN
Label definition
CMERCHN
External reference
CMLRCHN
Label reference
CMPCCHN
Private code
CMCMCHN
Common
CMPRCHN
Pseudo register
CMNULCHN
Null
CMCURR1D
ESD1D counter
CMLNECNT
Current line-count (SYSLOUT)
CMBLDLNO
Number of BLDL entries
CMWTBFCT
Horizontal byte count in print record
CMNUMXS
Number of extents
CQMAXEXT
32 - Maximum Translation Table extents
CQEXTSIZ
32 - Translation Table extent size (number of entries)
CMLIBFLG
Autocall and load module processor flags
Bit 01 - CQKEEPS - Keep some text from this record
Bit 02 - CQDELETE - Delete some text from this record
Bit 04 - CQAUTOC - Autocall is in progress
Bit 08 - CQCESDR - CESD has been received for load module
Bit 10 - CQNOTXT - Text has been received
Bit 20 - CQLPASRH - LPA resolution possible
Bit 40 - CQF1RST - First record from load module was CESD
Bit 80 - CQMFTLPA - MFT Link Pack Area
CMRELFLG
Relocation and object module processor flags
Bit 01 - CQESD - ESD routine called 1D translation routine.
Bit 02 - CQNOLNG - Length not yet received for current module
Bit 04 - CQDELINK - Delinking is required
Bit 08 - CQLIB - Resolution from SYSLIB in process
Bit 10 - CQNOEND - End card has been received
Bit 20 - CQINPUT - Input has been received
Bit 40 - CQENTRY - RLD is for entry point
Bit 80 - CQNOLNTX - Text received for "no length" CSECT
CMSTATUS
Loader status flag
Bit 01 - CQPRTOPN - Print DCB allocated
Bit 02 - CQLIBOPN - Library DCB open
Bit 04 - CQABORT - Abort loading
Bit 08 - CQREJOPT - Invalid options are to be printed
Bit 10 - CQOPNERR - Errors were encountered during Open
Bit 20 - CQRETURN - Caller to error routine must regain control
Bit 40 - CQMSGSAV - Request open-exit to save error messages
Bit 80 - CQPRTDCB - Print DCB is open
Section 5:

Data Area Layouts

137

Index for printer carriage control
count of invalid options to be printed
Size of zero initialization area
Size of communication area

CMPRTCTL
CMOPTECT
CQINTSIZ
CQCMSIZE

IEWLDDEF is a static CSECT that defines default options and DDNAMES to be used
by the Loader.
It is assembled at SYSGEN using values supplied by the LOADER
macro instruction.
During Loader execution, the default values are moved to dynamic storage
____iJNr'J'MAIJ~iL-xher-e±.hB¥_ -are-modif-ieQby--t--h-e-~a-E"a-rne-wr l:i:-s-t-vcd.--ues-pass-ed -in-terna llY.
The IEWLDDEF CSECT is described in Figure 27.

Dec
0

Hex
0

~

4 BYTES
alternate DDNAME for
SYSLOUT

8

8
alternate DDNAME for
SYSLIN

16

10
alternate DDNAME for
SYSLI B

24

18
default SIZE value

28
flags
32

20

* Bits 01-10 correspond to CMPRMFLG flags. See Figure 26.

•

Figure 27.

138

IEWLDDEF CSECT

~

INITMAIN DSECT DEFINITION
__
.~__________________________________
Dec

4by~s

______________________________________
._

Hex

[

--

INITSAVE initial save area

]

-

-

72

48

INITMAOR VC main storage address

76

4C

INITMSIZ VC main stol'age size

80

50

INITPRNT DDNAME specified for diagnostic: message data set

88

58

INITlIN DDNAME specified for primory input

96

60

INITllB DDNAME specified for auto-call library

104

68

INITTERM DDNAME specified for SYSTERM data set

}

filled by
GETMAIN

initial ized from
SYSGEN CSECT
(IEWlDDEF)

112

70

INITNAME specified name on Entry Point option

120

78

INITPGMN specified program name

128

80

INlINDCB passed SYSLIN control block painter

132

84

INllBDCB passed SYSLIB DCB painter

136

88

140

8C

INITSPIE save orea for PICA address

144

90

INITSCAN save area for SCAN pointer

148

94

INITDUM word used to save register during size processing

152

98

INITREJl end of rejected options list

156

9C

INITRMIN minimum request size for VC

160

AD

INlTRMAX maximum request size for VC Getmain

164

A4

INITGTMl VC Getmain list area

176

BO

I N I TEXTR Extract I ist area

188

BC

INITEXAD address of TSO field in TCB

192

CO

INITDBLW c:Ioubleword used for converting parm size to binary

200

C8

INITRTAB translate and test table for option sean

456

iC8

4096

1000

• Figure 28.

I

INITPARM

INFLAG3

I

INFLAG4

G~tmain

-

}

initialized
dynamically

~-'N'''",''".~.''~

F=
________

c==-----

INITMAIN DSECT Definition

Section 5:

Data Area Layouts

139

RLD Table Entry

5-7

0-3

Loader - assigned address of address constant in text (3 bytes)

Flagfield - FXXXLLST

0 byte)

FXXX - type of adcon
xOOO - A-type ode an
xOOl - V-type adcan
0010 - displacement pseudo register
0011 - accumu lative pseudo register
Note: F= 1 - use absolute relocation constant for relocation
LL

- length of adcon

01
10
11

- twa bytes
- three bytes
- four bytes

S

- direction of relocation

o

- add the relocation constant

1

- subtract the relocation constant

T

- not used by the Loader; input value is retained

Address of next entry on this RlD chain.
(4 bytes)

o if end of chain.
Figure 29.

RLD Table Entry
Translation Table Entry

Translation Control Table

L:M~~ .~.~ ol o~'~ f~ '.~ ~"cl;O"

Built by the ESD Processor
123-127

1-3

of

table. Each entry is initialized to zero. (4 bytes)
Address of CESD entry
(3 bytes)

Note: This table is defined in the communications area (IEWLDCOM)
at location CMTRCTRL.

Figure 30.

Translation Control Table

Flag
DXXXXXXX - CESD entry for ER;
X may be 0 or 1 (l byte)
A translation table extent contains
32 of these entries. The Loader can allocate
a maximum of 32 extents. When allocated,
on extent is initialized to zero.

Figure 31.

140

Translation Table

This section contains information that may be useful in diagnosing difficulties
with the Loader program. Included are: register contents at entry to routines
(Table 8), and error code definitions (Table 9), an example of a module map (Table
10), and a list of serviceability aids available with the Loader •

• Table

8.

Register Contents at Entry to Routines (Part 1 of 2)

r-------------------T-------------------------------------------------------------------,
IModule Entry Point I
Register Contents*
I
t-------------------t-------------------------------------------------------------------~

IIEWLCTRL
I
#1 - address of parameter list
I
t-------------------1-------------------------------------------------------------------~
IEWLRELO
I
I
IEWLRELO
I
#11 - address of communication area
I
IEWLESO

IEWLTXT

I

I
I
I

I
I
I
I
I
I

1
IEWLMOD

I EWLRLD

I
I
I
I
I
I
I

I EWLEND

I
I
I
I
I

I
TRANSIO
I EWLERTN

IEWLMAP
IEWLCNVT
I

I

#5
#7
#8
#11

-

10 of first ESD item other than LD
length of ESD information
address of ESD information
address of communication area

#5
#6
#7
#8
#11

-

Text 10
displacement address of text
length of text
address of text in object module buffer
address of communication area

I

I

I
I
I
I

I
I
I
I
I

#7 - length of MOD information
#8 - address of MOD information
#11 - address of communication area
#7 - length of RLD information
#8 - address of RLD information
#11 - address of communication area
#5
#6
#8
#11

-

10 of entry point Cif present)
address of entry point (if present)
address of symbolic entry point name (if present)
address of communication area

#5 - ESD ID to be translated
#11 - address of communication area

I

#1 - starting address of RLD chain
#9 - CESO entry address to be used for relocation
#11 - address of communication area

I
I
I
I
I
I
I

I

I

I

I
I
I

I
I
I
I
I
I
I
I
I
I
I
I
I

#9 - address of CESD entry to be mapped
#11 - address of communication area

I
I
I
I
I
I

I

I
I

#1 - binary quantity to be converted
#11 - address of communication area

I
I

t------------------- L -------------------------------------------------------------------~

I*All
entry points expect address of save area in ______________________________________
#13 and a return address in #14.
L ________________________________________________
JI
~

Section 6:

Diagnostic Aids

141

• Table

8.

Register Contents at Entry to Routines (Part 2 of 2)

r-------------------T-------------------------------------------------------------------,
,Module Entry Point ,
Register Contents*
,
~-------------------+-------------------------------------------------------------------~

IEWLLIBR
IEWLODE

,

IEWERROR

I EWACALL

I
I

#11 - address of communication area
#15 - address of IEWLODE

,
,

,

#11 - address of communication area
#15 - address of IEWACALL

I
I
I
J

I

-

error message code
pOinter to qualifying information (if it exists)
address of communication area
address of IEWERROR

#0
#1
#11
#15

I
IEWBTMAP

I

,

I

#11 - address of communication area
#15 - address of IEWBTMAP

,
,

,
,
,
,

I
,
I
,

,
,

I

~-------------------t-------------------------------------------------------------------~

,IEWLIOCA
'IEWLIOCA

,

J

I
I

#1 - address of parameter list
#15 - entry point address

' I
I
I

I EWLOAD

"

'OPENEXIT

,

I
I
I
I
I
I

IEWBUFFR

,
I

I EWLREAD

I
I
I
I

, # 1 - address of parameter list
I
#15 - entry point address

I
I
I
I
I
,
,
I
I
I
J

I
I
I

#1 - address of DCB
#11 - address of communication area
#12 - base address of IEWLIOCA
#10 - address of DCB
#11 - address of communication area
#15 - entry point address
K2!:_Q.!2i~£!:_~!!SL!:!2~~L!':!2Q~J:.~§.

#11 - address of communication area
#15 - entry point address

For Load
a. read
,#0 ,
b. read
#0 I
I
#1 ,
c. read
,#0 I
#1 -

,
,

,
,
,
,

,

"'IEWOPNLB
I
,
I
' I
'IEWLPRNT
I
I
I
I '

I
I

I EWTERI1

I
I

IEWPRIME

I
,

I

#11 - address of communication area
#15 - entry point address
#11 - address of communication area
#15 - entry point address
#11 - address of communication area
#15 - entry point address

,

,

I
,

I,
,

I
,

r

I
I
,
,
I
I
,
,

I
I
I
I
,

I
,
,

,,
,

I

,
I

I

I
I

I

#10 - address of DCB
I
I
#11 - address of communication area
I
I
#15 - entry point address
I
I
t-------------------f-------------------------------------------------------------------~
IIEWLIDEN
I
I
IEWLIDEN
I
#11 - address of communication area
I
I
I
I
#15 - entry point address
I
t-------------------~-------------------------------------------------------------------~
entry points expect address of save area in #13 and a return address in #14.
lI*All
_______________________________________________________________________________________
JI

142

I
I

Modules
control/RLD record
zero
text records
length of text record
address of text
text and control/RLD
compliment of length of text
address of text

I
I

Table 9 contains the Loader error codes listed in the order of their bit positions in the
error-bit map.
(The codes are also listed in DSECT ERCODES in CSECTs IEWLIOCA, IEWLRELO,
IEWLLIBR, and IEWLIDEN.)
• Table

9.

Internal Error-Code Definitions

r----------T------------------------------------------------------------------T---------,

I

I Code

I

Error

I

I

I

I Severity I

Definition

~----------+------------------------------------------------------------------t---------i
I
I
I

ERRELOl
ERENTRl
ERINPT8

Unresolved ER warning (NCAL specified)
No entry point received
Card received not an object card

I
I
I

1
1
1

I
I
I

I
I
I

~----------t------------------------------------------------------------------t---------~

I ERINPT10 I
I ERINPT2 I
I ERREL02 I
ERINPT4
ERINPT5
ERINPT7
I ERINPT9
I ERINPTl
I
I
I

I
I
I

END card missing
Length not specified
Unresolved ER error
Doubly defined ESD
Invalid 2-byte adcon
Invalid ID received
Invalid object card received
Input block size is invalid

I
I
I

I
I

I
I
I

2
2
2
2
2
2
2
2

I
I
I

I
I

I
I
I

I
I

~----------t------------------------------------------------------------------+---------i

I ERINPT3

I

ERENTR2
I ERIOUT4
I ERINPT6

I

I

I

No text received
Entry-point name received but not matched
Error on BLDL
Invalid record from load module

I
I

I

3
3
3
3

I

I
I

I

I
I

~----------+------------------------------------------------------------------+---------i

I ERIOUT3
I ERIOUTl
I

ERIOUT2

I ERSIZE2

ERSIZE3
ERIDENl
IL __________
ERIDEN2
I

I

• Table 10.

I
I

I
I

~

~

Unacceptable record format 
Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2011:07:06 21:10:55-08:00
Modify Date                     : 2011:07:06 22:12:31-07:00
Metadata Date                   : 2011:07:06 22:12:31-07:00
Producer                        : Adobe Acrobat 9.43 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:db6ea048-cdf8-4806-bc46-3c94bda470bb
Instance ID                     : uuid:844e5124-57f8-4787-99d5-2b2ebcafd012
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 157
EXIF Metadata provided by EXIF.tools

Navigation menu