PDP-8The PDP-8 was the first successful commercial minicomputer, produced by DEC in the 1960s. It was a 12-bit computer with 4096 words of memory. It had 8 instructions, and one register, the accumulator. It operated at a clock rate of 1MHz, and took 10 clocks for each instruction, so that it ran at 0.1MIPS. It was the first widely-sold computer in the DEC PDP series of computers (the PDP-5 was not originally intended to be a general-purpose computer).
The instruction set had only eight instructions:
- 000 - AND - and operand with AC.
- 001 - TAD - add operand to
(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.
- Group 1 operations:
- CLA - clear AC
- CLL - clear the L bit
- CMA - ones complement AC
- CML - complement L bit
- IAC - increment
- RAR - rotate
- RAL - rotate
- RTR - rotate
- RTL - rotate
- Group 2 operations:
- SMA - skip on AC < 0 (or group)
- SZA - skip on AC = 0 (or group)
- SNL - skip on L /= 0 (or group)
- SKP - skip unconditionally
- SPA - skip on AC >= 0 (and group)
- SNA - skip on AC /= 0 (and group)
- SZL - skip on L = 0 (and group)
- CLA - clear AC
- OSR - or switches with AC
- HLT - halt
/ adapted from example in Digital PDP-8 Handbook Series, Introduction to Programming, p5-12 *200 / set assembly origin (load address) hello, cla cll tls / tls to set printer flag. tad charac / set up index register dca ir1 / for getting characters. tad m6 / set up counter for dca count / typing characters. next, tad i ir1 / get a character. jms type / type it. isz count / done yet? jmp next / no: type another. hltExternal links:
type, 0 / type subroutine tsf jmp .-1 tls cla jmp i type charac, . / used as initial value of ir1 310 / H 305 / E 314 / L 314 / L 317 / O 254 / , 240 / 327 / W 317 / O 322 / R 314 / L 304 / D 241 / ! m6, -15 count, 0 ir1 = 10 $
- The alt.sys.pdp8 FAQ
- pdp8.net has a running PDP8 that anyone can control through a Java applet, plus a webcam to show the results
- Bernhard Baehr's slick PDP-8/E Simulator for Macintosh