CS 208 PDP8/E Operating Notes
A Request
Please be gentle with this machine. It spent a week at DEC in
Bloomington in 1992, and seems to be running well.
But it is old (about 40 years), and if it breaks, I'll be sad and cranky.
Startup and Vocabulary
To start the machine, you need to make sure
it's plugged in. Then flip the switch on the back of the unit.
The switch register is the row of twelve orange and yellow switches
numbered 0 to 11, front and center on the machine. These switches
represent a twelve bit binary number. A switch in the up position represents
a 1, and down represents a 0.
The indicator selector switch is the six-position rotary switch
on the front of the PDP8/E. It's a black knob, with settings like
MD, MQ, AC, etc. In what follows, I'll call it the black knob.
Examining Memory
After you have loaded a program, you'll want to examine
memory to see that you have loaded it correctly. Also, if
your program leaves some important data somewhere in memory,
you'll want to be able to look at it.
We'll use an example. Suppose memory locations 0201,0201,...,0207 contain
the numbers 1111, 2222,...,7777, and you want to take a look.
- Set the black knob to MD.
- Set the switch register to 0201.
- Push down on the Address Load key. The top row of lights should now
match the switch register.
- Push down on the Exam key.
Now it gets exciting.
The bottom row of lights should show (octal) 1111.
But the top row shows the address 0202.
The address is one ahead of the contents.
This is just the way this machine works--you'll have to get used to it. (We'll see some things later in
the course that will explain why it may have seemed natural to the designers of the PDP-8 to make
it work this way.)
- Press the Exam key again, and you'll see the address 0203, but the contents at the address 0202 (namely, 2222).
- And so on.
Loading a Program
- Set the black knob to MD.
- Set the switch register to the first address and
push the Address Load key.
- Set the switch register to the number you want to put at the
first address.
- Pull up on the Deposit key.
Note that, once again, the address is now one ahead of the contents.
- Repeat steps 3 and 4 as long as you are entering a program into
consecutive memory locations.
Running a Program
- Set the switch register to the starting address and press
the Address Load key.
- Press down on the Clear and Continue keys at the same time.
- If your program doesn't terminate, the panel lights will flicker.
If your program does end, you'll see the address one
past the address at which the program
terminated in the top row of lights, and (if the black knob is on
MD) the Halt command 7402 in the bottom row of lights.
(Again, as always, the address register is one ahead of
the contents shown in the bottom row.) If you want
to halt a wayward program, press the halt key down (then lift it up
again--nothing will run at all if you forget to restore the halt key).
Single-Stepping
Sometimes, mostly for debugging purposes, you will
want to execute your program one instruction at
a time. If you do this, you can see the order in which the
instructions are executed, and you can keep track of the
contents of memory and the Accumulator as the program progresses.
Here's how.
- Press the Single Step key down.
- Load the starting address of the program, and press
Clear/Continue.
- Look around. Set the black knob to AC, and the bottom
row of lights will display the accumulator. Set to MD to see the
next instruction to be executed. Load a memory address and hit
Exam to look at some memory location. (If you do that, make sure
to then load the next address to be executed before going on.)
- Hit Continue to step again. Do not hit Clear after starting the
program.
- When you're done, remember to lift the Single Step
key back up.