It does not have any if statements or jump commands, but it does have quite a bit pulling for it, it can add and subtract two 8-bit numbers, increment, decrement, and complement register A, it can perform the bitwise XOR, AND, and OR operations. Finally its crown jewel, it can multiply and divide! Fist ever I believe in PT. It can take an 8-bit number(A) and divide it by a 4-bit number(B) and output the result as a 5-bit number(C). For multiplication, it can take two 4-bit numbers(A and B) and output the result as an 8-bit number (C). At the moment the primary ALU may produce obscure results on occasion, I have yet to find a 100% reliable XOR gate. It has an extended clock when performing ALU operation, and just a shorter clock the rest of the time. I intend to also include the modulus operation, it is set up for a 4-bit modulus, I just need to set up a command for it.
Now on to the processes. I can include all of the commands for manual input, but it is a long list, I will provide that later. Here is a sample program.
1. Load constant to A 2. 01001010 - Binary for 74 3. Load constant to B 4. 00000110 - Binary for 6 5. Add - C should become 1010000 - 80 Here is where it is different from other processors 6. To send C to a RAM slot - Hit REG to RAM, C, and the wanted Ram slot, we will use 0101- Ram slot 5 7. To display it, hit Display and 0101. Congratulations! Now say you want to load that into A and subtract. 8. RAM to REG, A, 0101 9. SUBTRACT 10. Display, C 11. Hit Compile and watch it do its thing there you go, you should have 74 in C now
Now there is also a Compile button for moving the command stack down faster so you don't have to wait forever. The CLK is just the indicator for when the Clock cycle hits, when the grid is green then you can put commands on.
That should be it, if you have any questions, feel free to ask here!
Revisions: 1.1 Bug fix - Fixed problem when writing from RAM to REG 1.2 Major reorganization, new display (Display partial credit to @UBERNESS) added in preparation for a GPU that is under construction 1.3 GPU has been added, the clock cycle is suspended until the graphics processing is done, it is slow for large numbers, but I had to sacrifice speed for size. 1.4 Major bug fixes
The numbers are in binary, you can see by which are sparking in the RAM or registers, if it is sparking, it is a 1 if it isn't it is a 0. I really want to make a display for it, but I have used almost all the space already, and there are 256 possible combinations for a number, so traditional decoders like the one used in the DX-4 of massey101, are impractical, way too much space.