Thread View: alt.sys.pdp8
1 messages
1 total messages
Started by Douglas W. Jones,201H MLH,319335...
Fri, 13 Nov 1992 14:18
FAQ
Author: Douglas W. Jones,201H MLH,319335...
Date: Fri, 13 Nov 1992 14:18
Date: Fri, 13 Nov 1992 14:18
634 lines
29524 bytes
29524 bytes
In celebration of the new wide distribution of alt.sys.pdp8, I am reposting
the following:
===========================================================================
Frequently Asked Questions about the PDP-8
By Douglas Jones, jones@cs.uiowa.edu
(with help from many folks)
Contents
What is a PDP?
What is a PDP-8?
What is the PDP-8 instruction set?
What does PDP-8 assembly language look like?
What different PDP-8 models were made?
Where can I get a PDP-8 today?
Where can I get PDP-8 documentation?
What operating systems were written for the PDP-8?
What programming languages were supported on the PDP-8
Where can I get PDP-8 software?
Where can I get additional information?
What use is a PDP-8 today?
What is a PDP?
For over a decade, all programmable digital computers sold by
Digital Equipment Corporation were sold as Programmable Data
Processors (PDPs) instead of computers. I have DEC documentation
that actually calls them "PDPs", so this is not improper usage.
DEC's first computer, the PDP-1, had a selling price of $120,000
at a time when competing machines were selling for over $1,000,000.
Everyone (DEC's stockholders included) knew that computers were
big and expensive and needed a computer center and a large staff,
and apparently, DEC chose to avoid dealing with these stereotypes
by entirely avoiding the term "computer".
DEC built a number of different computers under the PDP label, with
a huge range of price and performance. The largest of these are
fully worthy of large computer centers with big support staffs.
Here is the list of PDP computers (and some others):
PDP-1 -- (1959) DEC's first computer, 18 bits/word.
PDP-2 -- ( ) Possibly a paper 24 bit machine, never built.
PDP-3 -- ( ) a 36 bit machine, only 1 was ever built.
PDP-4 -- ( ) 18 bits/word, little is known about it.
PDP-5 -- (1963) The ancestor of the PDP-8, 12 bits/word.
PDP-6 -- ( ) DEC's first really big computer, 36 bits/word.
PDP-7 -- ( <66) 18 bits/word, widely used for real-time control.
PDP-8 -- (1965) 12 bits/word, the smallest and cheapest PDP.
PDP-9 -- (1966) An upgrade of the PDP-7.
PDP-10 -- (1967) A large scale timesharing system, a PDP-6 upgrade.
PDP-11 -- (1970) DEC's first and only 16 bit minicomputer.
PDP-12 -- (1969) Originally known as the LINC-8/I, a PDP-8 superset.
PDP-13 -- Bad luck, there was no such machine.
PDP-14 -- ( ) A ROM-based industrial controller, not a computer!
PDP-15 -- ( ) A TTL upgrade of the PDP-9.
PDP-16 -- (1972) A module system at the register-transfer level.
DECSYSTEM-20 -- What marketroids decided to rename the PDP-10.
VAX-11/780 -- Originally the PDP-11/78 Virtual Address eXtension.
(corrections to this list are welcome, as are the dates of initial
offering for these machines.)
Today, all of the PDP machines are in DEC's corporate past, with the
exception of the PDP-11 family of minicomputers and microprocessors.
What is a PDP-8?
The PDP-8 family of minicomputers were built by Digital Equipment
corporation between 1965 and 1990 (if you include the PDP-5, the
starting date should be 1963). These machines were characterized
by a 12 bit word, with no hardware byte structure, a 4K minimum
memory configuration, and a simple but powerful instruction set.
By 1970, the PDP-8 was the best selling computer in the world, and
many models of the PDP-8 set new records as the least expensive
computer on the market. The PDP-8 has been described as the
model-T of the computer industry.
C. Gordon Bell (who later was chief architect of the PDP-11 and
who, as Vice President, oversaw the development of the VAX) says
that the basic idea of the PDP-8 was not really original with him.
He gives credit to Seymour Cray (of CDC and later Cray) for the
idea of a single-accumulator 12 bit minicomputer. Cray's CDC 160
family, sold starting around 1959, certainly was a very similar 12
bit architecture, and the peripheral processors of Cray's first
supercomputer, the CDC 6600, also look very familiar to PDP-8
programmers.
What is the PDP-8 instruction set?
The PDP-8 word size is 12 bits, and the basic memory is 4K
words. The minimal CPU contained the following visible registers:
PC - the program counter, 12 bits.
AC - the accumulator, 12 bits.
L - the link, 1 bit, commonly prefixed to AC as <L,AC>.
It is worth noting that many operations such as procedure linkage
and indexing which are usually thought of as involving registers
were done with memory on the PDP-8 family.
Instruction words are organized as follows:
_ _ _ _ _ _ _ _ _ _ _ _
|_|_|_|_|_|_|_|_|_|_|_|_|
| | | | |
| op |i|z| addr |
op - the opcode.
i - the indirect bit (0 = direct, 1 = indirect).
z - the page bit (0 = page zero, 1 = current page).
addr - the word in page.
The top 5 bits of the 12 bit program counter give the current page,
and memory addressing is also complicated by the fact that absolute
memory locations 8 through 15 are incrememted prior to use when
used for indirect addressing. These locations are called the
auto-index registers (despite the fact that they are in memory),
and they allow the formulation of very tightly coded array
operations.
The basic instructions are:
000 - AND - and operand with AC.
001 - TAD - add operand to <L,AC> (a 13 bit value).
010 - ISZ - increment operand and skip if result is zero.
011 - DCA - deposit AC in memory and clear AC.
100 - JMS - jump to subroutine.
101 - JMP - jump.
110 - IOT - input/output transfer.
111 - OPR - microcoded operations.
The ISZ and other skip instructions conditionally skip the
next instruction in sequence. The subroutine calling sequence
involves putting the return address in relative word zero of the
subroutine, with execution starting with relative word one.
Return from subroutine is done with an indirect jump through the
return address. Subroutines frequently increment their return
addresses to index through inline parameter lists or to provide
return codes by conditionally skipping the next instruction.
The IOT instruction has the following form:
_ _ _ _ _ _ _ _ _ _ _ _
|1|1|0|_|_|_|_|_|_|t|c|s|
| | | |
| | device | op |
The IOT instruction specifies one of 8 operations on one of 64
devices; typically (but not universally), each bit of the op field
evokes an operation as follows: If the s bit is set, the
instruction causes a skip if the device is ready, if the c bit is
set, the device ready status is reset and, for some devices, AC is
also cleared, and if the t bit is set, data is either ored with AC
or output from AC to the device.
IOT instructions may be used to initiate data break transfers from
block devices such as disk or tape. The term "data break" was,
for years, DEC's preferred term for cycle-stealing direct-memory-
access data transfers.
Some CPU functions are accessed only by IOT instructions. For
example, interrupt enable and disable are IOT instructions, as
are instructions controlling the optional memory management
unit that is needed to address more than 4K words.
A wide variety of operations are available through the OPR
microcoded instructions:
_ _ _ _ _ _ _ _ _ _ _ _
Group 1 |1|1|1|0|_|_|_|_|_|_|_|_|
1 - CLA - clear AC
1 - CLL - clear the L bit
1 - CMA - ones complement AC
1 - CML - complement L bit
1 - IAC - increment <L,AC>
1 0 0 - RAR - rotate <L,AC> right
0 1 0 - RAL - rotate <L,AC> left
1 0 1 - RTR - rotate <L,AC> right twice
0 1 1 - RTL - rotate <L,AC> left twice
In general, the above operations can be combined by oring the
bit patterns for the desired operations into a single instruction.
If none of the bits are set, the result is the NOP instruction.
When these operations are combined, they operate top to bottom
in the order shown above. The exception to this is that IAC cannot
be combined with the rotate operations on some models, and attempts
to combine rotate operations have different effects from one model
to another (for example, on the PDP-8/E, the rotate code 001 means
swap 6 bit bytes in the accumulator, while previous models took
this to mean something like "shift neither left nor right 2 bits").
_ _ _ _ _ _ _ _ _ _ _ _
Group 2 |1|1|1|1|_|_|_|_|_|_|_|0|
1 0 - SMA - skip on AC < 0 \
1 0 - SZA - skip on AC = 0 > or
1 0 - SNL - skip on L /= 0 /
0 0 0 1 - SKP - skip unconditionally
1 1 - SPA - skip on AC >= 0 \
1 1 - SNA - skip on AC /= 0 > and
1 1 - SZL - skip on L = 0 /
1 - CLA - clear AC
1 - OSR - or switches with AC
1 - HLT - halt
The above operations may be combined by oring them together,
except that there are two distinct incompatible groups of skip
instructions. When combined, SMA, SZA and SNL, skip if one or the
other of the indicated conditions are true, while SPA, SNA and SZL
skip if all of the indicated conditions are true (logical and).
When combined, these operate top to bottom in the order shown;
thus, the accumulator may be tested and then cleared. Setting
the halt bit in a skip instruction is a crude but useful way to
set a breakpoint for front-panel debugging. If none of the bits
are set, the result is an alternative form of no-op.
A third group of operate microinstructions (with a 1 in the least
significant bit) deals with the optional extended arithmetic
element to allow such things as hardware multiply and divide, 24
bit shift operations, and normalize. These operations involve
an additional data register, MQ or multiplier quotient, and a small
step count register. On the PDP-8/E and successors, MQ and the
instructions for loading and storing it were always present, even
when the EAE was absent, and the EAE was extended to provide a
useful variety of 24 bit arithmetic operations.
What does PDP-8 assembly language look like?
Here is an example:
START, CLA CLL / Clear everything
TAD X / Load X
AND I Y / And with the value pointed to by Y
DCA X / Store in X
HLT / Halt
X, 1 / A variable
Y, 7 / A pointer
Note that labels are terminated by a comma, and comments are
separated from the code by a slash. There are no fixed fields
or column restrictions. The "CLA CLL" instruction on the first
line is an example of the microcoding of two of the Group 1
operate instructions. CLA alone has the code 7200 (octal),
while CLL has the code 7100; combining these as "CLA CLL" produces
7300, the instruction to clear both AC and the link bit. As a
general rule, except when memory reference instructions are
involved, the assembler simply ors together the values of all
blank separated fields between the label and comment.
Indirection is indicated by the special symbol I in the operand
field, as in the third line of the example. The typical PDP-8
assembler has no explicit notation to distinguish between page zero
and current page addresses. Instead, the assembler is expected to
note the page holding the operand and automatically generate the
appropriate mode. If the operand is neither in the current page
nor page zero, some assemblers will raise an error, others will
automatically generate an indirect pointer to the off-page operand
(This feature should be avoided when it is available).
Note, in the final two lines of the example, that there is no
"define constant" pseudo-operation. Instead, where a constant
is to be assembled into memory, the constant takes the place of
the op-code field.
The PDP-8 has no immediate addressing mode, but the assemblers
provide a mechanism to allow the programmer to ignore this lack:
TAD (3) / add 3, from memory on the current page.
TAD [5] / add 5, from memory on page zero.
JMP I (LAB) / jump indirect through the address of LAB.
The assembler automatically fills the end of each page with
constants defined in this way that have been accumulated during
the assembly of that page.
Arithmetic is allowed in operand fields and constant definitions,
but expressions are evaluated in strict left-to-right order, as
shown below:
TAD X+1 / add the contents of the location after X.
TAD (X-1) / add the address of the location before X.
Other operators allowed included and (&), or (!), multiply (^) and
divide (%).
Generally, identifiers are not limited in length, but only the
first 6 characters are significant. All numeric constants are
in octal, unless a DECIMAL pseudo-op has been used to change number
base (change back with the OCTAL pseudo-op).
Other assembly language features are illustrated below:
/ Comments may stand on lines by themselves
/ Blank lines are allowed
*200 / Set the assembly origin to 200 (octal)
NL0002= CLA CLL CML RTL / Define new opcode NL0002.
NL0002 / Use new opcode (load 0002 in AC)
JMP .-1 / Jump to the previous instruction
X1= 10 / Define X1 (an auto-index register address)
TAD I X1 / Use autoindex register 1
IAC; RAL / Multiple instructions on one line
$ / End of assembly
The assembly file ends with a line containing a $ (dollar sign)
not in a comment field.
What different PDP-8 models were made?
The following basic models of the PDP-8 were sold by DEC:
MODEL DATES SALES COST TECHNOLOGY COMPATABILITY
PDP-5 63-65 Transistor Limited
PDP-8 65-68 >1000 <$100K Transistor Full
LINC-8 66-69 153 $38500 Transistor Full (1)
PDP-8/S 67? >1000? <$10K Transistor Limited and slow!
PDP-8/I 68? >2000? <$100K TTL Full
PDP-8/L 68? >2000? <$100K TTL Full (2)
PDP-12 69-71 3500 <$100K TTL Full (3)
PDP-8/E 70-78 >10K? $7390 TTL MSI Omnibus Full (4)
PDP-8/F 73-78? >10K? <$7K TTL MSI Omnibus Full (CPU from 8/E)
PDP-8/M 73-78? >10K? <$7K TTL MSI Omnibus Full (an OEM 8/F)
PDP-8/A 75-84? >10K? <$7K TTL LSI Omnibus Full (new CPU or 8/E)
VT78 78-80 > ? Microprocessor Full (Intersil IM6100)
Dm I (5)80-84 Microprocessor Full (Intersil IM6120)
Dm II 82-86 Microprocessor Full (IM6120)
Dm III 84-90 Microprocessor Full
Dm III+ 85-90 Microprocessor Full
(6)
Notes (1) The LINC-8 combined a modified PDP-8 with a Laboratory
Instrumentation Control Computer (developed at
Lincoln Labs in the early 1960s). This had a full
front panel for each, so it looked very impressive.
(2) The PDP-8/L was intended as a scaled down version of
the PDP-8/I, but eventually, a full range of
memory upgrade options were eventually sold.
(3) The PDP-12 was originally designated the LINC-8/I; it
was a follow-on to the LINC-8; it had the most
impressive standard control panel of any PDP-8.
(4) The PDP-8/E is considered by many to be the definitive
PDP-8. If the PDP-8 was the model-T of the computer
industry, perhaps the PDP-8/E was the model-A.
(5) Dm stands for DECmate.
(6) The total sales figure for the PDP-8 family is
estimated at over 300,000 machines. Over 8500
of these were sold prior to 1970.
When possible, the costs given above are for a minimal system
consisting of 4K of main memory, a console teletype, and the
minimal software needed to use the machine (FOCAL, BASIC, or a
paper-tape based assembler). Additional information on costs
and production is needed!
The above list does not include many PDP-8 variants sold by DEC
to meet the needs of various special users. For example, the
Industrial-8 was really just a PDP-8/E with a different nameplate
and color scheme. Burger King had thousands of PDP-8/M based
point-of-sale systems with no standard peripherals. In addition,
DEC made many peripheral controllers for the PDP-11 and PDP-15
that used IM6100 microprocessors.
The following PDP-8 compatible or semi-compatible machines were
made and sold by others; very little is known about many of these:
MODEL DATE MAKER, NOTES
MP-12 6? Fabritek
TPA 68? Hungarian, possibly a DEC PDP-8/L in drag
DCC-112 70-71 Digital Computer Controls
DCC-112H 71 Digital Computer Controls
6100 Sampler 7? Intersil, their IM6100 promotional kit
Intercept 7? Intersil, based on IM6100
Intercept Jr 7? Intersil, based on IM6100
SBC-8 84-88 CESI, Based on IM6120, SCSI bus
Where can I get a PDP-8 today?
The CESI machine may still be on the market, for a high price, but
generally, you can't buy a new PDP-8 anymore. There are quite a
few PDP-8 machines to be found in odd places on the used equipment
market. They were widely incorporated into products such as
computer controlled machine tools, X-ray diffraction machines, and
other industrial and lab equipment. Many of them were sold under
the EduSystem marketing program to public schools and universities,
and others were used to control laboratory instrumentation.
Reuters bought the tail end of the Omnibus based production run.
If you can't get real hardware, you can get emulators. Over the
years, many PDP-8 emulators have been written; the best of these
are indistinguishable from the real machine from a software
prespective, and on a modern high-speed RISC platform, these
frequently outperform the hardware they are emulating.
It is worth noting that the PDP-8, when it was introduced in 1965,
was about as fast as was practical with the logic technology used
at the time. The PDP-8/E was the last attempt at making a faster
PDP-8, and it was about as fast as the core memory then available
could handle without interleaving or other tricks.
Where can I get PDP-8 documentation?
The 1973 Introduction to Programming was probably DEC's definitive
manual for this family, but it is out of print, and DEC was in the
habit of printing much of their documentation on newsprint with
paperback bindings, which is to say, surviving copies tend to be
yellow and brittle.
DEC distributed huge numbers of catalogs and programming handbooks
in this inexpensive paperback format, and these circulate widely
on the second-hand market. When research laboratories and
electronics shops are being cleaned out, it is still common to
find a few dusty, yellowed copies of these books being thrown in
the trash.
Maintenance manuals are harder to find, but more valuable.
Generally, you'll need to find someone who's willing to photocopy
one of the few surviving copies. Fortunately, DEC has been
friendly to collectors, granting fairly broad letters of permission
to reprint obsolete documentation, and the network makes if fairly
easy to find someone who has the documentation you need and can
get copies.
What operating systems were written for the PDP-8?
A punched paper-tape library of stand-alone programs was commonly
used with the smallest (diskless and tapeless) configurations from
the beginning up through the late 1970's. Many paper tapes from
this library survive to the present at various sites! The minimum
configuration expected by these tapes is a CPU with 4K memory,
and a teletype ASR 33 with paper tape reader and punch.
The DECtape Library System was an early DECtape oriented save and
restore system that allowed a reel of tape to hold a directory of
named files that could be loaded and run on a 4K system.
Eventually, this supported a very limited tape-based text editor
for on-line program development. This did not use the DECtape's
block addressable character; the software was based on minimal
ports of the paper-tape based software described above.
The 4K Disk Monitor System provided slightly better facilities.
This supported on-line program development and it worked with any
device that supported 129 word blocks (DECtape, the DF32 disk, or
the RF08 disk).
MS/8 or the R-L Monitor System, developed starting in 1966 and
submitted to DECUS in 1970. This was a disk oriented system,
faster than the above, with tricks to make it run quickly on
tape based systems.
POLY BASIC, a BASIC only system submitted to DECUS and later sold
by DEC as part of its EduSystem marketing program.
P?S/8, developed starting in 1971 from an MS/8 foundation. Runs
on minimal PDP-8 configurations, supports device semi-independant
I/O and a file system on a random-access device, including DECtape.
P?S/8 runs compatably on most PDP-8 machines including DECmates,
excepting only the PDP-8/S and PDP-5. P?S/8 is still being
developed!
OS/8, developed in parallel with P?S/8, became the main PDP-8
programming environment sold by DEC. The minimum configuration
required was 8K words and a random-access device to hold the
system. For some devices, OS/8 requires 12K. There are a large
number of OS/8 versions that are not quite portable across various
subsets of the PDP-8 family.
TSS/8 was developed in 1968 as a timesharing system. It required
a minimum of 12K words of memory and a swapping device. It was
the standard operating system on the EduSystem 50 which was sold
to many small colleges and large public school systems. Each user
gets a virtual 4K PDP-8; many of the utilities users ran on these
virtual machines were only slight modifications utilities from the
Disk Monitor System.
Other timesharing systems developed for the PDP-8 include MULTI-8,
ETOS (which required special hardware), MULTOS, and OMNI-8; these
were similar to TSS/8, and by the mid 1970's, many of these were
true virtual machine operating systems in the same spirit as IBM's
VM-370. All are able to support OS/8 running on a 32K virtual
PDP-8 assigned to each user. Some could support multiple user
operating systems, others required OS/8 as the user system.
CAPS-8 was a cassette based operating system supporting PAL and
BASIC. There are OS/8 utilities to manipulate CAPS-8 cassettes,
and the file format on cassette is compatible with a PDP-11 based
system called CAPS-11.
WPS was DEC's word processing system that was widely used on the
1980's vintage machines with a special WPS keycaps replacing the
standard keycaps on the keyboard. This was written in the 1970's.
COS-310, DEC's commercial operating system for the PDP-8, supported
the DIBOL language. COS-310 was a derivative of OS/8, but with a
new text file format. It maintains only very limited compatibility
with OS/8.
What programming languages are supported on the PDP-8
The PAL family of assembly languages are as close to a standard
assembly language as can be found for the PDP-8. These produce
absolute object code and versions of PAL will run on minimally
configured machines (but with a small symbol table).
MACRO-8 was DEC's first macro assembly language for the PDP-8, but
it was never used outside the paper-tape environment. MACREL and
SABR are assembly languages that produce relocatable output.
SABR is the final pass for the ALICS II FORTRAN compiler, and
MACREL was developed in (unfulfilled) anticipation of similar use.
There was also RALF, the relocatable assembler supporting RTPS
FORTRAN, and FLAP, an alternative assembler for RTPS FORTRAN
producing absolute binary code. Both SABR and RALF/FALP are
quirky assemblers that barely handle their intended applications.
A subset of FORTRAN was supported on both the PDP-5 and the
original PDP-8. Surviving documentation describes a DEC compiler
from 1964 and a compiler written by Information Control Systems
from 1968. The latter, ALICS II FORTRAN, was originally a paper
tape based compiler, but it forms the basis of the OS/8 8K FORTRAN
compiler.
RTPS FORTRAN required 8K and a floating point processor; it had
real-time extensions and was a full implementation of FORTRAN IV
(also known as ANSI FORTRAN 66). OS/8 F4 is RTPS FORTRAN stripped
of the requirement for hardware floating point (if the hardware is
missing, it uses software emulation).
FOCAL, an interpretive language comparable to BASIC was available
on all models of the family, including the PDP-5 and PDP-8/S.
Varsions of FOCAL run under PS/8, P?S/8 and other systems.
BASIC was also available, and was widely used on PDP-8 systems
sold under the EduSystem marketing program. A paper-tape version
was available that ran in 4K, there were versions that ran under
OS/8 and TSS/8, and there was an 8K stand-alone time-sharing
version.
DIBOL was DEC's attempt at competing with COBOL in the commercial
arena. It was originally implemented under MS/8 but most versions
were sold to run under the COS operating system.
Algol was available from a fairly early date.
At least two Pascal compilers were developed for the PDP-8. One
was a Pascal-S interpreter, written in assembler, the other was a
Pascal-P compiler with a P-code interpreter written in assembler.
At least two LISP interpreters were written for the PDP-8; one
runs in 4K, the other can use up to 16K.
TECO, the text editor, is available, and is also a general purpose
language, and someone is working on a PDP-8 C.
Where can I get PDP-8 software?
DECUS, the DEC User Society, is still alive and well, and their
submission form still lists PAL-8 and FOCAL as languages in which
they accept submissions!
There is a young but growing FTPable archive of PDP-8 software at
ftp.telebit.com in directory /pub/pdp8.
Where can I get additional information?
The file WHAT-IS-A-PDP8, by Charles Lasner contains considerable
additional information; this file is included in the FTPable
archive cited above. This file gives details of every model
of the PDP-8, including the small quirks and incompatabilities
that (to be generous) allow software to determine which model it
is running on. These quirks also make it all too easy for
careless programmers to write almost portable software with very
obscure bugs.
The mailing list pdp8-lovers@ai.mit.edu reaches a number of PDP-8
owners and users, not all of whom have USENET feeds. The USENET
newsgroup alt.sys.pdp8 is fairly new, but someday, the newsgroup
and mailing list will be gatewayed to each other.
Many "archival" books have included fairly complete descriptions
of the PDP-8; among them, "Computer Architecture, Readings and
Examples" by Gordon Bell and Allen Newell is among the most
complete (and difficult to read). Considering Bell's role in the
design of the PDP-8 and the history of DEC, the description in
this book should be accurate!
What use is a PDP-8 today?
What use is a Model T today? Collectors of both come in the same
basic classes. First, there are antiquarians who keep an old one
in the garage, polished and restored to new condition but hardly
ever used. Once a year, they warm it up and use it, just to prove
that it still works, but they don't have much practical use.
In the second class are those who find old machines and soup them
up, replacing major parts to make a hotrod that only looks like
the original from the outside, or keeping the old mechanism and
putting it to uses that were never intended. Some PDP-8 owners,
for example, are building PDP-8 systems with modern SCSI disk
interfaces!
Last, there are the old folks who still use their old machines for
their intended purposes long after any sane economic analysis
would recommend such use. If it ain't broke, don't fix it, and if
it can be fixed, why bother replacing it? Both Model T Fords and
the classic PDP-8 machines are simple enough that end users can
maintain and repair them indefinitely. All you need to keep a
vintage -8 running are a stock of inexpensive silicon diodes and
a stock of 2N3639B or better, 2N3640 transistors.
Finally, the PDP-8 is such a minimal machine that it is an excellent
introduction to how computers really work. Over the years, many
students have built complete working PDP-8 systems from scratch as
lab projects, and the I/O environment on a PDP-8 is simple enough
that it is a very appropriate environment for learning operating
system programming techniques.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads