ESD TYPE 0 CARD ROUTINE - C3AA3
Function ---rhis-routine creates loader table and ESID table entries for the card-specified control section. Inl£I This routine has one entry point, location C3AA3. The routine is
entered from the ESD card analysis routine. 1. If this is the first section definition, its ESDID is proved.
2. This routine first determines whether a loader table (REFTBL)
entry has already been established for the card-specified
control section. To do this, the routine links to the REFTEL
search routine. The ESD type 0 card routine's subsequent
operation depends on whether there already is a REFTBL entry for
this control section. If there is such an entry, processing
continues with operation 5, below; if there is not, the REFTEL
search routine places the name of this control section in REFTBL, and processing continues with operation 3. 3. The routine obtains the card-specified control section length
and performs operation 4.
4. The routine links to location C2AJ1 in the lCS card routine and
returns to C3AD4 to obtain the current storage address of the
control section from the REFTBL entry, inserts the REFTBL entry
position (N -where this is the Nth REFTBL entry) in the
card-specified ESID table location, and calculates the
difference between the current address of the
control section and its card-specified (assembled) address.
This difference is the relocation factor; it is placed in the
REFTBL entry for this control section. If previous ESD's have
been waiting for this CSECT, a branch is taken to SDDEF, where
the waiting elements are processed. A flag is set in the REFTEL
entry to indicate a section definition.
5. The entry found in the REFTBL is examined to determine whether
it had been defined by a COMMON. If so, it is converted from a to a CSECT and performs operation 3.
6. If the entry had not been defined previously by an ESD type 0, processing continues at 3.
7. If the entry had been defined previously as other than COMMON, DMSLIO is called via ERROR" to print a warning message, "DUPLICATE IDENTIFIER". The entry in the ESlD table is set
negative so that the CSECT will be skipped (that is, not loaded) hy the TIT and RLD processing routines.
ESD TYPE 1 CARD ROUTINE - ENTESD
Function establishes a loader table entry for the entry point
specified on the ESD card, unless such an entry already exists. !D!II This routine is entered from the ESD card analysis routine.
2-74 IBM VM/310 System Logic and Program Determination--Volume 2
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
Previous Page Next Page