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.
  1. Set the black knob to MD.
  2. Set the switch register to 0201.
  3. Push down on the Address Load key. The top row of lights should now match the switch register.
  4. 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.)
  5. Press the Exam key again, and you'll see the address 0203, but the contents at the address 0202 (namely, 2222).
  6. And so on.

Loading a Program

  1. Set the black knob to MD.
  2. Set the switch register to the first address and push the Address Load key.
  3. Set the switch register to the number you want to put at the first address.
  4. Pull up on the Deposit key. Note that, once again, the address is now one ahead of the contents.
  5. Repeat steps 3 and 4 as long as you are entering a program into consecutive memory locations.

Running a Program

  1. Set the switch register to the starting address and press the Address Load key.
  2. Press down on the Clear and Continue keys at the same time.
  3. 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.
  1. Press the Single Step key down.
  2. Load the starting address of the program, and press Clear/Continue.
  3. 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.)
  4. Hit Continue to step again. Do not hit Clear after starting the program.
  5. When you're done, remember to lift the Single Step key back up.