abdo computer
1 Stars     3 Views    

Author: abdo curcuit

Forked from: abdo curcuit/abdo computer

Project access type: Public

Description:

these notes are important please read them:


how to input code:

to input code please put your desired opcode into the computer on page "main", if you see that your codes are not being used properly, you are probably forgetting to turn on "ADD TO RAM" which enters your opcode into the program in the selected address, if you turn "ADD TO RAM" off later you can use the function saved at that address.


what the opcodes mean:

you probably don`t understand how my assembly works, but its actually really simple, the first 4 bits(from the left) are the functions, then the next are the first register address(unused in the manual input mode/function) then next is the second register(unused in not, input, full 1111 etc.) and the last 4 bits is where the output of the operation goes.


what the functions are:

1->not,2->and,3->or,4->xor,5->nand,6->nor,7->xnor,8->add,9->full 1111,10->left shift,11->right shift,12->input,13->copy,14->a if a>b,15->b if b>a and finally 16->sub


what the functions mean:

1. **NOT**:

   - Inverts the input value (if a bit is 1, it becomes 0, and vice versa).


2. **AND**:

   - Outputs 1 only if both inputs are 1. Otherwise, outputs 0.


3. **OR**:

   - Outputs 1 if at least one input is 1. Outputs 0 only if both inputs are 0.


4. **XOR (Exclusive OR)**:

   - Outputs 1 if the inputs are different (one is 1, the other is 0). Outputs 0 if they are the same.


5. **NAND**:

   - Outputs 0 only if both inputs are 1. Otherwise, it outputs 1 (the opposite of AND).


6. **NOR**:

   - Outputs 1 only if both inputs are 0. Otherwise, it outputs 0 (the opposite of OR).


7. **XNOR**:

   - Outputs 1 if the inputs are the same (both 1 or both 0). Outputs 0 if they are different (the opposite of XOR).


8. **ADD**:

   - Performs binary addition on the two inputs, outputting the sum,has no carry.


9. **FULL 1111**:

   - makes the register`s value 1111.


10. **LEFT SHIFT**:

    - Shifts all bits of the input to the left by one position, effectively multiplying the number by 2(discarding the most significant bit)


11. **RIGHT SHIFT**:

    - Shifts all bits of the input to the right by one position, effectively dividing the number by 2 (discarding the least significant bit).


12. **INPUT**:

    - Represents the initial data entering the circuit.


13. **COPY**:

    - Takes an input from a register and puts it in another.


14. **A IF A > B**:

    - Outputs the value of A if A is greater than B; otherwise, it outputs 0 .


15. **B IF B > A**:

    - Outputs the value of B if B is greater than A; otherwise, it outputs 0.


16. **SUB**:

    - Performs binary subtraction on the two inputs, outputting the difference and wrap if needed.

Created: Oct 26, 2024

Updated: Oct 26, 2024


Comments

You must login before you can post a comment.