I finally did it.

I made my own 8-bit CPU! With a bit of inspiration from other CircuitVerse projects and from a book called, Digital Computer Electronics.

The premade program does this: 12 + 6 - 3 + 2 (which equals 17)

program the computer by typing in the opcodes in the ROM

Opcodes: (X = address)

0X = Load X's value to Accumulator

1X = Add X's value to Accumulator

2x = Subtract X's value from Accumulator

ee = Take Accumulator's value and put it in the Output

ff = Halt/stop everything

Versions (Date format: DD/MM)

9/11 v1.0 - Finally finished it!

A simple 8-bit full adder / substractor.

S will compute the result of A + B or A - B

Use 7 bit numbers in subtraction mode (at least for B, to prevent an overflow).

**USE ON A COMPUTER**

Same as V2 exempt that there is a Jump if zero command

JO: Jumps if the ALU output is 0

And you can under stand things better!

(these instructions arent done)

A collection of binary adders with Binary, Hex, and Decimal input and output representation

A simple 8-bit arithmetic logical unit.

The following commands are implemented:

Logic Operations:

[0] 000: OR

[1] 001: NAND

[2] 010:NOR

[3] 011: AND

Arithmetic Operations:

[4] 100: ADD

[5] 101: SUB

The two's complement for subtraction is implemented with a NOT Gate and an adder (which simply adds 1 to the negated input).

A simple 8-bit arithmetic logical unit.

The following commands are implemented:

Logic Operations:

[0] 000: OR

[1] 001: NAND

[2] 010:NOR

[3] 011: AND

Arithmetic Operations:

[4] 100: ADD

[5] 101: SUB

The two's complement for subtraction uses the built in component.

Followed the instruction of the 8-Bit Computer YouTube video series by Ben Eater. I also extended it's functionalities a little bit by upgrading from 16 bytes to 256 bytes of RAM and I added a Micro Step Counter Reset (SCR) instruction signal to allow operations to finish earlier.

An attempt at utilizing memory storage to create some output based on information inputted into ROM block; output changes when ROM enable is toggled while the address input counter changes to change up the sequence of input bits to the registers.