DRL RESTOR (octal 25) - overlay-load a subsystem.
Usage:
drl restor
ascii 1,name
zero loc,0 or non-0
zero tra,0
Where:
- name
- is the ASCII name by which the subsystem is identified
in its program descriptor.
- loc
- is the address at which to load the subsystem.
If the lower half of this parameter is zero, the subsystem
location 0 is loaded at "loc".
If the lower half is non-zero, the subsystem is loaded with
the initial load address of the subsystem at "loc".
- tra
- is the location of the next instruction to be executed.
If "tra" is zero, the entry address is taken from the program descriptor.
Description:
DRL RESTOR will load a subsystem or the contents of a permanent file as an
extension or overlay of the calling subsystem (see also "expl drl drlsav").
When the lower portion of the word containing "loc" is non-zero, the user
is indicating that the data area affixed by the loader is to be relinquished.
This allows such things as floatable libraries to be loaded without
wasting space.
Upon return from this DRL, the A-register contains the number of
words loaded, and the upper half of the Q register contains
the entry point as found on the file.
When overlaying or loading a permanent file or a program from a
multi-program permanent file, the following calling sequence is required.
drl restor
zero nameptr,0 or 1
zero loc,0 or non-0
zero tra,bufloc
where:
- nameptr
- points to three words of memory.
The first two words contain an ASCII file name of 1-8 characters.
If the value 1 follows "nameptr", the third word contains a BCD
program name of 1-6 characters; if 0 is specified, the third word is ignored.
- loc
- tells where to start loading the file.
If the lower half of the parameter is zero, location 0 of
the program on a permanent file will be loaded at "loc".
If both "loc" and the lower half are zero, the subsystem
will be loaded according to the program control block initial load address.
If the lower half is non-zero, the initial load address of
the file will be loaded at "loc".
- tra
- is as above.
- bufloc
- is the location of a 64-word buffer when a program from a
multi-program file is to be restored.
This is the case when the form "nameptr,1" is used.
Copyright © 2000, Thinkage Ltd.