Comments
You must login before you can post a comment.
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
Delete
Are you sure you want to delete this comment?
Delete
Are you sure you want to delete this comment?