7. The routine then coaputes the arithaetic value (symbol address
or expression value) that aust be placed in storage at the
address calculated in operation 6, above, and places that value
at the indicated address. If the value is undefined, the
routine branches to location DftSLSBB, where the constant is
added to a string of constants that are to be defined later.
8. The routine again decrements the byte count of information on
the RLD card and tests the result for zero. If the result is
zero, go to operation 2; otherwise, processing continues in this
routine.
9. The routine next checks the continuation flag, a part of the
data placed on the RLD card by the assembler. If the flag is
on, the routine repeats its processing for a new address only;
the processing is repeated froa operation 4. If the flag is
off, the routine repeats its processing for a new syabol; the
processing is repeated from operation 2. This routine exits to location RD in the initial and resume loading
routine. END CARD ROUTINE - C6AA1
Function saves the END card address under certain circumstances,
and initializes the loader to load another control segment. !Btry This routine has one entry point, location C6AA1. The routine is
entered from the RLD card routine.
1. This routine begins its operation with
the card being processed is not an
branches to the LDT card routine;
continues in this routine.
a test of card type. If
END card, the routine
otherwise, processing 2. The routine then determines whether the END card contains an
address. If the card contains no address, the routine performs operation 7, below; otherwise, the routine performs operation 3.
3. The routine next checks the end-address-saved switch. If this
switch is on, an address has already been saved, and the routine
perforas operation 7. If the switch is off, the routine performs operation 4. 4. The routine deteraines whether loading is absolute or relocated.
5.
If the loading process is absolute, the routine perforas
operation 6; otherwise, the routine perforas operation 5.
The routine links to the REFADR
relocation factor, and adds this
address.
routine to obtain the current
factor to the card-specified
6. The routine stores the address (absolute or relocated) in area
BRAD, for possible use at the end-of-Ioad transfer of control to
the problem program. 2-80 IBM VM/310 System Logic and Program Determination--Voluae 2
7. Goes to location PASSTWO (in RLD routine) to process RLD cards.
8. The routine then clears the ESID table, sets the absolute load
flag on, and branches to the location specified in a general
register (see "Exits"). Exits routine exits to the location specified in a general register.
This may be either of two locations:
1. Location RD in the initial and resume loading routine. This
exit occurs when the END card routine is processing an END card.
2. The location in the LDT card routine that is specified by that
routine's linkage to the END card routine. This exit occurs when the LDT card routine entered this routine to clear the ESID table and set the absolute load flag on. CONTROL CARD ROUTINE - CTLCRD1
Function ---rbIs-routine handles the and LIBRARY control cards. This routine has one entry point, location CTLCRD1. The routine is
entered from the LDT card routine. 1. The CMS function SCAN is called to parse the card.
2. If the card is not an ENTRY or LIBRARY card, the routine
determines whether the NOINV option (no printing of invalid card images) was specified. If printing is suppressed, control
passes to RD in the initial and resume loading routine, where
another card is read. If printing is not suppressed, control
passes to the disk and type output routine (DeSLIO), where the
invalid card image is printed in the load map. If the card is a
valid control card, processing continues. ENTRY Card
----3.--If the name is already defined in REFTBL, its
address is placed in ENTADR. Otherwise, a new entry is
REFTBL, indicating an undefined external reference
resolved by later input or library search), and this
entry's address is placed in ENTADR.
REFTBL
made in
(to be
REFTBL
4. The control card is printed by calling DftSLIO via CTLCRD; it
then exits to RD. 111U!A!i! Car d
5. only nonobligatory reference LIBRARY cards are bandIed; any
others are considered invalid.
6. Each entry-point name is individually isolated and is searched
for in the REFTBL. If it has already been loaded and defined,
nothing is done and the next entry-point name is processed. Otherwise, the nonobligatory bit is set in the flag byte of the
REFTBL entry.
7. Processing continues at operation 4. Method of Operation and Program Organization 2-81
Previous Page Next Page