Searched Projects

Tags: SAP
0 Stars     76 Views

SAP - 1 Computer

Simple as Possible Computer
You can program the ROM to do simple operations like addition and subtraction. To run the program, set the clear input to ground. 
The ROM currently performs 5+11-6. 
Instruction OP-Code
  • LDA       -  0x
  • ADD      -  1x
  • Subtract - 2x
  • Output   -  ee
  • Halt        -  ff
5 Stars     587 Views

CPU Microprocessor

Working CPU with eight 8-bit registers and eleven commands. Instructions in the project, command list below.


LDA r - loads value from register r into accumulator
STA r - stores accumulator value in register r
CLR r - clears register r
INC r - increments the value of register r and replaces into r
DEC r - decrements the value of register r and replaces into r
COM r - stores the complement of the value in register r in the accumulator
ADD r - adds value in register r to the accumulator
SUB r - subtracts accumulator value from value in register r, replaces into accumulator
AND r - stores value of (accumulator AND r) in accumulator
IOR r - stores value of (accumulator OR r) in accumulator [inclusive or]
XOR r - stores value of (accumulator XOR r) in accumulator [exclusive or]

*Eight 8-bit registers: r must be a value between 0 and 7 and refers to the address of the register, not its contents*
3 Stars     65 Views


Yet Another Ben Eater Inspired Simple As Possible System

I'm following along with the excellent YouTube instructional series Building an 8-bit breadboard computer! by Ben Eater.

Note that he credits the book "Digital Computer Electronics" by Albert Paul Mauvino for many of the SAP (Simple As Possible) ideas.

I'm mostly keeping it the same as his computer except:

  • I decided to have an 8-bit address space rather than 4-bits. 
  • Indirect mode instructions require another register.
  • Instructions only take as many clock cycles as they need as opposed to each instruction taking the same number of cycles and shorter instructions wasting the leftover cycles.
  • I didn't implement the hex or digital multi-segment displays... man that looked tedious!
  • I ended up having to do the microcode using combinational logic rather than EEPROM as the circuitverse EEPROM currently only supports 8 address lines and I needed at least 10
  • I added 8 bit x 8 bit multiplication. This also involves a second accumulator register which is used with the primary accumulator to house the 16 bit result.