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)
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 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 LOADER - Two loaders are used: 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.
* 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
MULtiply
SUBtract
DIVide
SIN
COS
ATAN
FIX-FLOAT
FLOAT-FIX
NORmalize
(Integer MULtiply and DlVide are also supplied)
* 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.