Differences/Changes from Previous Loader
KEY
Summary of main changes
KEY
- Routines withdrawn: LOAD, FINDENTRY, GETUNSATREF, LOADCOMMAND,
LOADFILE, UNLOAD, EXTENDSESSIONDIRECTORY.
- New routines/facilities: LOADPARM, DATASPACE, ALIASENTRY,
RESETLOADER, LOADEDENTRIES, LOADEDFILES, CURRENTREFS, EXECUTE, USEFOR
(all at user level). LOOKLOADED, SEARCH, LOADEP, LOADENTITY,
CASCADELOAD, MINLOAD, LOADFILE2, UNLOAD2, CURRENTLL, LOADDUMP,
BDIRLIST (at system level).
- Search order for directories altered. Subsystem base directory is now
searched before the searchdir list (but after the active dir) instead
of being searched last.
- Concept of LOADLEVEL introduced.
- Loader supports dynamic data references.
- Store mapping for FORTRAN/PASCAL etc. supported.
- PRELOADing fully supported.
- Session directory disappears, replaced by set of loader tables.
- Subsystem entries and Director system call list made shareable.
- Enhanced monitoring facilities.
- Run time parms for the loader now controlled and set by LOADPARM.
- LOADPARM(MIN) will only load those files necessary to run regardless
of what compiler parms were set.
- No limit on number of bound files which can be simultaneously loaded.
- Any reference which arises to an item which is currently loaded is
satisfied immediately.
- If a command is typed at command level then the loader will first look
for an entry point of that name. If none is found then the assumption
will be made that the command is in fact a filename and an attempt
will be made to connect it. If successful then if the file is an
object file with a main entry point then it will be entered. If the
file is a character file then OBEYJOB will be called with the filename
as a parameter. No action will be taken if neither of these
conditions apply. Following from the above then object files with
main entry points can be run by simply typing the filename which
contains the main entry, i.e. at command level RUN(PROGY) and PROGY
will have the same result.
Suggested replacement routines
KEY
The following are suggested replacement routines for the most
commonly used system routines in the old loader. Software can
interrogate the subsystem to discover which loader is running by
examining the value of UINFI(26) - a value of 0 means that the old
loader is running.
All the new loader routines except LOOKLOADED require as a parameter
the 'local loadlevel'. A call on the system function CURRENTLL,
described in the loader system interface, will give the current value of
this variable. This is the value which should be supplied unless
'permanent' loading is required, in which case the value is 0. This
topic is discussed at greater length in the 'Technical Aspects' and
'System Interface' sections.
FINDENTRY -> If only interested in material already loaded then
LOOKLOADED else SEARCH for complete search
LOAD -> LOADEP
LOADCOMMAND -> LOADEP
LOADFILE -> LOADFILE2
MODDIRFILE -> If used to modify session directory then no replacement
since no session directory, otherwise MODDIRFILE.
UNLOAD -> UNLOAD2