next up previous
Next: F. LISP INPUT AND Up: LISP 1.5 Programmer's Manual Previous: D. THE LISP COMPILER

E. OVERLORD - THE MONITOR

Overlord is the monitor of the LISP System. It controls the handling of tapes, the reading and writing of entire core images, the historical memory of the system, and the taking of dumps.

The LISP System uses 5 tape drives. They are listed here by name together with their customary addresses.

SYSTAP         Contains the System             B7 
SYSTMP         Receives the Core Image         B3 
SYSPIT         Punched Card Input             A2 
SYSPOT         Printed Output                 A3 
SYSPPT         Punched Card Output             A4

The system tape contains a small bootstrap record with a loader, followed by a very long record that fills up almost all of the core memory of the machine.

The system is called by the two-card LISP loader which is placed in the on-line card reader. Octal corrections may be placed between the two cards of this loader. The format of these will be specified later.

The first loader card causes SYSTAP to be selected and the entire memory is immediately filled. Control then goes to a loader that reads octal correction cards until it recognizes the second loader card which is a binary transfer card to Overlord.

Overlord reads cards from the input looking for Overlord direction cards. Other cards are ignored except for the first one which is printed in the output. Overlord cards either instruct the monitor to perform some specific function or else signal that a packet of doublets for evaluation is to follow immediately.

Before any packet is read, the entire system is read out onto SYSTMP. It is written in the same format as SYSTAP, and in fact is a copy of it. After each packet, one of two things may happen. Either a complete core image is read from SYSTMP, and thus memory is restored to the condition it was in before the packet was read, or the state of memory at the finish of the packet is read out onto SYSTMP. In the latter case, all function definitions and other memory changes are preserved.

Card Format

Octal correction cards can alter up to 4 words of memory per card. Each change specifies an address (5 octal digits) and a word to be placed there (12 octal digits). The card columns to use are as follows.

        address         data word         2-6             7-18 
        20-24            25-36 
        38-42            43-54 
        56-60            61-72

Overlord cards have the Overlord direction beginning in column 8. If the card has no other field, then comments may begin in column 16. Otherwise, the other fields of the card begin in column 16 and are separated by commas. The comments may begin after the first blank past column 16.

Overlord Cards

TAPE SYSPPT, B4

The TAPE Overlord card defines the actual drives to be assigned to the tapes. The system uses five tapes designated by the names SYSTAP, SYSTMP, SYSPIT, SYSPOT, and SYSPPT. The actual tape units may range from AO through C9.

SIZE    N1, N2, N3, N4

The size card specifies the amount of storage to be allocated to binary program space, push-down, full words, and free storage in that order. The SIZE card must be used only once at the time when the system is created from a binary card deck. The fields are octal or decimal integers.

DUMP L1, L2, 0

This Overlord card causes an octal dump of memory to be printed. The first two fields are octal or decimal integers specifying the range of the dump. The third field specifies the mode. 0 mode specifies a straight dump. 1 mode specifies that if the prefix and tag areas of a word are zero, then the complements of the address and decrement are dumped instead.

TEST

Specifies that a packet is to follow and that memory is to be restored from SYSTMF after the packet has been evaluated.

TST

Same as TEST

SET

The SET card specifies that a packet is to follow and that the memory state following the evaluation of the packet is to be set onto SYSTMP If an error occurs during the evaluation of the packet, then the memory is to be restored from SYSTMP instead.

SETSET

The SETSET card is like SET except that it sets even if there has been an error.

DEBUG

This direction is like TEST except that after the doublets have been read in the entire object list is thrown away, making it impossible to do any further reading (except of numbers). This makes a considerable amount of free storage available but may cause trouble if certain atoms that are needed are not protected in some manner.

FIN

Causes the computer to halt. An end of file mark is written on SYSPOT. An end of file is written on SYSPPT only if it has been used. If the FIN card was read on-line, the computer halts after doing these things. If the FIN card came from SYSPIT, then

SYSPIT is advanced past the next end of file mark before the halt occurs.

Use of Sense Switches

1 Up - Input comes from SYSPIT Down - Input comes from the card reader

The loader cards and octal correction cards always go on-line.

3 Up - No effect Down - All output that is written onto either SYSPOT or SYSPPT will also appear on the on-line printer.

5 Up - No effect Down - Suppresses output normally written on SYSPOT and SYSPPT.

These switches are interrogated at the beginning of each record.

6 Up - The instruction STR will cause the interpreter to give error diagnostic F 5 and continue with the next doublet. Down - The instruction STR will cause control to go to Overlord immediately.

The normal terminating condition of a LISP run is an HPR 77777,7 with all bits of AC and MQ filled with ones. To return control to Overlord from this condition, push RESET then START.

After a LISP run, the reel of tape that has been mounted on the SYSTMP drive has become a system tape containing the basic system plus any changes that have been set onto it. It may be mounted on the SYSTAP drive for some future run to use definitions that have been set onto it.


next up previous
Next: F. LISP INPUT AND Up: LISP 1.5 Programmer's Manual Previous: D. THE LISP COMPILER