1. Branches and links to REFIDR to
definition of the
find loader table entry for
text deck saved by the ESD 0 first section
routine.
2. The routine then adds the relocation factor and the address of
the ESD found in operation 1 or the address in LOCCBT if an ESD
has not yet been encountered. The sum is the current storage
address of the entry point.
3. The routine links to the REFTBL search routine to find whether
there is already a REFTBL entry for the card-specified entry
point name. If such an entry exists, the routine performs operation 4. If there is no entry, the routine performs operation 5.
4. Upon finding a REFTBL entry that has been previously defined for
the card-specified the routine then compares the
REFTBL-specified current storage address with the address
computed in operation 2. If the addresses are different, the
routine branches and links to the DMSLIO routine (duplicate
symbol warning); if the addresses are the same, the routine
tranches to location RD in the initial and resume loading
routine to read another card. Otherwise, it is assumed that the
REFTBL entry was created as a result of previously encountered
external references to the entry. The DMSLSBC routine is called
to resolve the previous external references and adjust the
REFTBL entry. The entry point name and address are printed by
calling 5. If there is no REFTBL entry for the card-specified entry point
name, the routine makes such an entry and branches to the DMSLIO routine. ESD TYPE 2 CIRD ROUTINE - C3lH1
Function routine creates the proper ESID table entry for the card-specified external name and places name's assigned address
(ORG2) in the reference table relocation factor for that name. This routine has two entry points: location C3lH1 and location ESDOO. Location C3AH1 is entered fro. the ESD card analysis routine; this
occurs when an ESD type 2 card is being processed. Location ESDOO is
entered from: The ESD card analysis routine, when the card being processed is an ESD type 2, and an absolute loading process is indicated. The ESD type 0 card routine and ESD type 1 card routine, as the
last operation in each of these routines. 1. When this routine is entered at location C3AH1, it first links
to the REFTBL search routine to determine whether there is a
REFTBL entry for the card-specified external name. If none is
found, the REFTBL search routine sets the undefined flag for the
new loader table entry. CMS Method of operation and Program Organization 2-75
2. The routine resets a possible WEAK EXTRN flag. The routine next places the REFTBL entry's position-key in the ESID table. If
the entry has already been defined by means of an ESD type 0, 1,
5, or 6, processing continues at operation 4. Otherwise, it
continues at operation 3.
3. The relocated address is placed in the RELFAC entry in the
external name's REFTBL entry.
4. The ESD type 2 card routine then determines (at location ESDOO) whether there is another entry on the ESD card. If there is
another entry, the routine branches to location CA3A1 in the ESD card analysis routine for further processing of this card;
otherwise, the routine branches to location RD in the initial
and resume loading routine.
Exits routine exits to location CA3A1 in the ESD card analysis routine
if there is another entry on the ESD card being processed, and exits to location RD in the initial and resume loading routine if the ESD card requires no further processing. ESD TYPE 4 ROUTINE - PC Function makes loader table and ESIDTAE entries for private code CSECT. The ESD Type 4 Card Routine:
1. The routine LDRSYM is called to generate a unique character
string number of the form 00000001, which is left in the
external data area NITSYM; it is greater in value than
previously generated symbol. 2. The CSECT is then processed as a normal type 0 ESD with the
above assigned name. ESD TYPES 5 AND 6 CARD ROUTINE - PRVESD AND COMESD Function This-routine creates reference table and ESIDTAE entries for common and
pseudo-register ESDs. The ESD type 5 and 6 card routine:
1. Links to ESIDINC in the ESD type 0 card routine, to update the
number of ESIDTB entries.
2. Links to the REFTBL search routine to determine whether a
reference table (REFTBL) entry has already been created. If there
is no entry, the REFTBL search routine places the name of the item in the REFTBL.
3. If the REFTBL search routine had to create an entry for the ite.,
the ESD type 5 and 6 card routine indexes it in the ESIDTB, enters
the length and alignment in the entry, indicates whether it is a PR or common, and branches to ESDOO in the ESD type 2 card routine
to determine whether the card contains additional ESD's to be
2-76 IBM VM/370 System Logic and Program Determination--Volume 2
Previous Page Next Page