Paper Tape System Components, from the DEC "PDP 11/20 Handbook", 1969
copy at http://research.microsoft.com/%7Egbell/Digital/DECMuseum.htm

PAPER TAPE SOFTWARE SYSTEM(PTS)

[paper tapes]

SYSTEM COMPONENTS

PTS is a compatible group of software packages designed to aid development of PDP-11 application programs. A brief description of each item with its major features is offered below with detailed programming information available in corresponding software userís manuals.

PTS FEATURES

* 4K Absolute Assembler
* Symbolic Program Editor for editing of paper tape which is string oriented
* On-Line Debugging Aid allowing rapid and accurate modification of assembled programs
* I/O Driver Routine allowing subroutine level communication with peripheral devices and double buffered input/output operation concurrent with running programs
* Floating Point Math Package using both reentrant and relocatable code
* General Utilities including loaders and dump routines

PAL11A ASSEMBLER - This two- or three-pass assembler runs on a PDP-11 with 4K words bf core memory and an ASR-33. It will also accommodate a high-speed reader/punch. Optional outputs include the absolute object code, an assembly listing containing each sdurce statement, and an indication of any errors detected in the statement. A symbol table may be alphabetically listed.

ED11 EDITOR - The PDP-11 Editor (EDll) allows the user to type identified portions of source program on the teleprinter and to make corrections or additions. This is accomplished by typing simple commands that cause the Editor to-read, print, punch out on paper tape, search, delete and/or add to the text of the program.

Use of the ED11 presupposes no special knowledge or technical skill beyond that of the operation of explicitly defined one-character commands. The commands are grouped according to function: input, positioning of the current-character location pointer, output, search (which is done by character string), insert, delete, and exchange of text portions.

ED11 uses 2,000 words of-core and requires an ASR-33 unit which includes a printer, keyboard, paper tape reader and paper tape punch. Alternatively, a KSR-33 may be used in conjunction with the high-speed paper tape reader and punch.

ODT-11 ON-LINE DEBUGGING TECHNIQUE- ODT-11 is a core resident program which allows the user to debug his binary programs at the console by running them in specific segments and checking for expected results at various points. If modification of the program is needed, the user can alter the contents of the appropriate location by "openingí! it and typing in new data.

Two versions of ODT are available, one being a subset of the other. The larger system uses 750 words of core and utilizes an ASR-33, or a KSR-33 and a high-speed paper tape punch and reader. The smaller version uses the same peripherals and 500 words of core. Up to eight breakpoints can be set using the larger .version of ODT, while one breakpoint is allowed in the smaller version.

Debugging operations alternate between commands to ODT and the running of the program to be debugged. Breakpoints are set in the userís program by ODT commands, and a command to run starts execution of the program. When a breakpoint is encountered, the program run is suspended, and the progress of its execution can be monitored and altered. This is accomplished by using commands to open memory locations of interest, as well as special registers.

An Operator may examine and change the operating priority of both ODT and the userís program, the mask and address range for searches, results of logical and arithmetic operations, the SP and PC, and the general registers. Other commands will search for values of specified bits of a word, or for references to.an address within an address range, calculate 16-bit and 8-bit offsets to an address and restart the running of the userís program at any address.

IOX input/Output Utility - Peripheral Driver IOX is a set of service routines allowing single or double buffered I/O processing on an ASR-33 and/or a high- speed paper tape reader and punch. This routine atlows the user to make simple assembly language calls specifying devices and data forms to accomplish interrupt-controlled data transfer concurrent with execution of the running program. Multiple devices can be run simultaneously.

IOX frees the user from the details of dealing directly with the device and allows development of programs which may be run under the direction of a monitor with minimum modification.

IOX also provides some degree of real-time control by allowing pser programs to be executed at priority leaIs at the completion of some device action or data transfer.

MATH PACKAGE-A number of commonly used subroutines are available to simplify programming. These routines are reentrant and relocatable to provide maximum flexibility. Arguments are treated as floating point numbers with a signed 31-bit fraction and a signed 15-bit exponent. Subroutines supplied include:

ADD
MULtiply
SUBtract
DIVide
SIN
COS
ATAN
FIX-FLOAT
FLOAT-FIX
NORmalize
(Integer MULtiply and DlVide are also supplied)

LOADER - Two loaders are used:
* A Bootstrap loader loads the ABSolute loader and jumps to it.
* ABSolute loader loads PAL-1lA output, checks for checksum errors and jumps to a user program or halts when done.

CORE DUMP ROUTINES - Routines are provided which dump specified ranges of core locations on paper tape in absolute format or on the teleprinter in octal.