**LDA - 0 - Load RAM data into accumulator****ADD - 1 - Add RAM data to accumulator****SUB - 2 - Subtract RAM data from accumulator****OUT - e - Load accumulator data into output register****HLT - f - Stop processing**

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

Commands:

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*

I decided to do this separately from the other one because it works nicely. Also it follows a set philosophy instead of "eh, I'll figure it out". This is NOT meant to be good, it's meant to work. This version is currently abandoned, but I'm leaving it up so others can look at it still

Another nonexistent ISA based chip, but this time I have a bit of experience with it. I'm also doing things a little bit differently this time around, too.

The name itself means *Modular Stack*, because that's its two big concepts. First is that it's all focused on working with a stack, and second is that it's very modular.

*yup*

*here's 10 hours of my life ill never get back*

*note: click "clr" before use*

*OP codes and Input numbers:*

*OP1 0 OP2 0 null*

*OP1 0 OP2 1 add*

*OP1 1 OP2 0 write*

*OP1 1 OP2 1 read*

number - binary equivalents

A1 A2 = B1 B2 =

0 0 = 0 | 0 0 = 0

1 0 = 1 | 1 0 = 1

0 1 = 2 | 0 1 = 2

1 1 = 3 | 1 1 = 3