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.