Paae of GC20-1819-2 As Updated April 1, 1981 by TNL GN25-0826 NAME: A NAME statement causes the TXTLIB command to create the directory for the member using the specified name. Thereafter, when you want
to load that member into storage or delete it from the TXTLIB you must
refer it by the name specified on the NAME statement. Note that the
name on the NAME statement should be the same as the name that is on the
CSECT or ENTRY statement. If the names are different, the text deck
(which lets its name from the statement) and the loader tables
(which qet set UP according to the name on the CSECT or ENTRY statement)
will not match. Under these circumstances any external references using
the nale from the statement will be resolved as zero's. The
results, of course, are unpredictable. (For further information, see
the topic "Resolvinq External References.") rf vou use an ENTRY statement, the entry point you specify is vali1ated and checked for a duplicate. If the entry point name is valid
and there are no duplicates in the TEXT file; the entry name is written
in the LDT card. Otherwise, an error message is issued. When this
member is loaded, execution begins at the entry point specified. (See the "Determining Program Entry An entry is created in the directory for the ALIAS name you
specify. maximum of 16 alias names can be used in a single text deck. You mav the sinale member and it by referring to the alias
name, but vou cannot use the alias name as the object of V-type address
constant (VCO\!), because the address of the member cannot be resolved. Information you specify on the SETSSI card is written in bytes
26 throlqh 33 of LDT card.
All other OS linkaqe editor control statements are iqnored by the TITLIB =ommand and written into the TXTLIB member. When you attempt to
load the member, the CMS loader flags these cards as invalid. RESOLVING EXTERNAL REFERENCES
There is no real linkage editor in CMS; the link-edit function, that of locatinq external references and loading additional object modules into
storage, is performed by the CMS loader. The CMS loader loads files
into storage as a result of a LOAD or INCLUDE command, or when you issue
a dynamic load request from a program (using the OS macros LINK,
or XC'IL). When a file is loaded, the loader checks for unresolved references;
if there are any, the loader searches your disks for TEXT files with
filenames that match the external entry name. When it finds a match, it
loads the TEXT file into storaae. If a TEXT file is not found, the
loader any available TXTLIBs for members that match; if a match
is founj, it loads the member.
If there are still unresolved references, for if you load a orogram that calls routines PFINT and ANALYZE but the loader cannot locate them, you receive the messaqe: THE NAMES ARE UNDEFINED: PRINT CMS User's Guide
Paqe of GC20-1819-2 As Updated April 1, 1981 by TNL GN2S-0826 You can issue the INCLUDE command to load additional TEXT files or
TXTLIB nembers into storage so the loader can resolve any remaining references. For example, if you did not identify the TXTLIB that the routines you want to call, you may enter the GLOBAL command followej bv the INCLUDE command: txtlib newlib include print analyze (start
This situation miqht also occur if you have TEXT files with filenames
that are different from the CSECT names; you must explicitly issue LOAD and INCLUDE commands for these files.
section 8. Developing os Programs Under :!S 146.1
Previous Page Next Page