Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =============================================================================================================
- DATA STACK
- Instruction Mapping
- +-------+--------+-------+------+
- | op | | op | |
- +-------+--------+-------+------+ 22V10
- | 00000 | sub | 10000 | swap | +---------+
- | 00001 | or | 10001 | -rot | clk -|1 24|- vcc
- | 00010 | xor | 10010 | jz | op0 -|2 23|- addr // system address bus
- | 00011 | add | 10011 | over | op1 -|3 22|- ds6
- | 00100 | nip | 10100 | ret | op2 -|4 21|- ds4
- | 00101 | >r | 10101 | rot | op3 -|5 20|- ds2
- | 00110 | drop | 10110 | !a+ | op4 -|6 19|- ds0
- | 00111 | and | 10111 | ! | nls -|7 18|- ds1
- | 01000 | lshift | 11000 | r> | nms -|8 17|- ds3
- | 01001 | rshift | 11001 | r@ | n8 -|9 16|- ds5
- | 01010 | lrot | 11010 | @a+ | ext0 -|10 15|- data // system data bus
- | 01011 | rrot | 11011 | @b+ | ext1 -|11 14|- rs0 // top return stack element
- | 01100 | jmp | 11100 | dup | gnd -|12 13|- alu // arithmetic logic unit output
- | 01101 | not | 11101 | loop | +---------+
- | 01110 | @ | 11110 | lit |
- | 01111 | <> | 11111 | tuck |
- +-------+--------+-------+------+
- ds0 := ds0 * ((jmp+nip+dup+ret) + (loop+tuck) + and*ds1)
- + ~ds0 * (not)
- + ds1 * ((drop+!a+) + (swap+-rot+jz+over) + >r)
- + ds2 * ((rot+!))
- + nls * ((lshift+lrot)) // Only lrot for LSB
- + nms * ((rshift+rrot)) // Only rrot for MSB
- + n8 * (<>)
- + alu * ((sub+or+xor+add))
- + dat * ((@a++@b+) + (lit+@))
- + rs0 * ((r>+r@));
- ds1 := ds0 * ((r>+r@+@a++@b+) + dup + over + swap + lit + rot)
- + ds1 * ((lshift+rshift+lrot+rrot+jmp+not+@+<>) + ret + (loop+tuck))
- + ds2 * ((sub+or+xor+add+nip+>r+drop+and) + jz + -rot + !a+)
- + ds3 * (!);
- ds2 := ds0 * (-rot + tuck)
- + ds1 * ((r>+r@+@a++@b+) + dup + over + lit + rot)
- + ds2 * ((lshift+rshift+lrot+rrot+jmp+not+@+<>) + (ret+swap) + loop)
- + ds3 * ((sub+or+xor+add+nip+>r+drop+and) + jz + !a+)
- + ds4 * (!);
- dsi := ds- * ((r>+r@+@a++@b+) + (dup+tuck) + over + lit)
- + dsi * ((lshift+rshift+lrot+rrot+jmp+not+@+<>) + (ret+rot+-rot+swap) + loop)
- + ds+ * ((sub+or+xor+add+nip+>r+drop+and) + (jz+!a+))
- + ds++ * (!);
- data = ds0*/op0 + ds1*op0, enable on op4*/op3*op2*op1;
- addr = ds0, enable on !;
- // For depth extension, use the dsi equation for ds0, ds1, and ds2 as well. The dat, rs0, and alu
- // connections are no longer required, so level extension can provide ten additional elements each.
- //
- // Connect ext0 and ext1 of the deepest level to ds0 and ds1, respectively, of the top level.
- =============================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement