The EDUC-8 Microcomputer

Lawrence Wilkinson

Table of Contents
1. Introduction
2. Basic architecture
Accumulator (AC)
Program Counter (PC)
Memory Buffer (MB)
Memory Address (MA)
Instruction Execution
Memory Addressing
Front Panel
Register LEDs
Instruction LEDs
Status LEDs
Entry switches
Control Switches
Instruction format
3. Physical Construction
4. Programming
Instruction Set
OPR Group
IOT Group
5. Sample programs
Counting program
Paper-tape punching program
List of Tables
1-1. Specifications
2-1. Memory Reference Instructions
2-2. OPR Instructions
2-3. IOT Instructions
List of Figures
1-1. The EDUC-8

Chapter 1. Introduction

The EDUC-8 is a TTL-based 8-bit microcomputer. It was designed by Jim Rowe and construction details were published in Electronics Australia magazine between August 1974 and January 1975. Additional peripherals were described in further articles up to August 1975.

The internal implementation is bit-serial which gives good economy of components as most data paths are only 1 bit wide. It does mean that processing is rather slow, as 24 clock cycles are required to perform one major cycle, and 2 or 3 major cycles are required per instruction.

Technically it might not be a microcomputer as it is not based on a microprocessor, but it seems to be stretching things a bit to call it a minicomputer and in any event the original articles referred to it as a 'micro-computer'.

My page for the EDUC-8 is at

Chapter 2. Basic architecture

The EDUC-8 is based on the DEC PDP-8 (which was a 12-bit machine). It has a similar instruction set and op-code layout, but because of the shorter instruction words there are fewer instruction variants and more limited addressing. In particular there is no link/carry flag.

Front Panel

The front panel contains LEDs to display register contents, instruction type and run status. It also has switches to set register and memory contents, and to start and stop program execution.

Chapter 3. Physical Construction

The EDUC-8 is constructed of 8 circuit boards:

Chapter 4. Programming

Instruction Set

For memory reference instructions, the address is computed as:

Addr = (PC AND 11110000) OR (instruction AND 00001111)

and provision for indirect addressing:

If (instruction AND 00010000) > 0 Then Addr = Mem[Addr]

Note that the PC value used here is that of the instruction itself, the increment occurs afterward.

After each instruction fetch there is an implied:

PC = PC + 1

between fetching the instruction and executing it.

All addition is modulo 256.

Chapter 5. Sample programs