Mk-S 1.0 CPU [My First CPU]
3 Stars     121 Views    

Author: Dylan Baer

Project access type: Public

Description:

So this is the first CPU I have ever built. It's my own personal design. I know it's messy and it looks like I don't know what I'm doing, mainly because I actually don't know what I'm doing. Here's a reference of instructions:

00000 - No Operation

00001 - Addition [Sets register O to the sum of register A and register B]

00010 - Subtraction [Sets register O to the difference of register A and register B]

00011 - Increment [Sets register O to register A plus one]

00100 - Decrement [Sets register O to register A minus one]

00101 - Not [Sets register O to not register A]

00110 - And [Sets register O to register A and register B]

00111 - Or [Sets register O to register A or register B]

01000 - Shift Left [Sets register O to register A shifted left]

01001 - Shift Right Logically [Sets register O to register A shifted right logically]

01010 - Shift Right Arithmetic [Sets register O to register A shifted right arithmetically]

01011 - Greater Than [Sets register O to the truth value of register A is greater than register B.   0 = False, 1 = True]

01100 - Less Than [Sets register O to the truth value of register A is less than register B.   0 = False, 1 = True]

01101 - Is Zero [If register A is zero, register O is set to true. Otherwise, register O is set to false.   0 = False, 1 = True]


01110 - Put in Register A [Puts the input into register A]

01111 - Put in Register B [Puts the input into register B]

10000 - Clear Register A [Sets register A to zero]

10001 - Clear Register B [Sets register B to zero]

10010 - Clear Register O [Sets register O to zero]


Note: The register must be cleared before assigning it new variable.

Created: Aug 02, 2020

Updated: Jun 30, 2023


Comments

You must login before you can post a comment.

bitwidth error: 4 and 1
Posted on Dec 03 2021 at 12:51PM UTC.
+0
@noulmao I keep seeing you everywhere
Posted on Mar 29 2023 at 01:19AM UTC.
+0