EtomemoteetomemoteetomemoteetomemotE
Jump to navigation
Jump to search
This language operates on memory by copying and flipping bits in a text file by User: A()
| Designed by | User: A() |
|---|---|
| Appeared in | 2025 |
| Computational class | , Low-level, Turing complete |
| Reference implementation | Unimplemented |
Commands
| Header text | Header text |
|---|---|
| copy; | Copy bit to next bit |
| flip; | flip bit |
| flip copy; | flip copy |
| copy flip; | copy flip |
| copy if 1; | copy if last bit is 1 |
| copy if 0; | copy if last bit is 0 |
| move forwards; | move forwards |
| move backwards; | move backwards |
| jump loop: lx (==1); jump to ly; break; | jump to label if bit = 0 |
| swap; | swap |
| copy flip forward; | copy flip move forwards |
| copy 3; | copy 3 bits over |
| end; | end |
| shift forward; | shift bits forward |
| shift backward; | shift bits backward |
| zero; | 0 |
| clear; | 0 everything |
| print; | output whole text file |
| nop; | nop |
Programs
Truth-machine
input: 11111111 11111111 11111111 11111111 11111111 11111111 11111111 Code: jump loop: l1 ( == 1 ); jump to lx; # does nothing break; copy; copy; jump loop: l2 ( == 1 ); jump to l1 break;
Hello World
Input 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Code: clear; move forwards; flip bit; move forwards; move forwards; move forwards; flip bit; move forwards; move forwards; move forwards; move forwards; flip copy; move forwards; move forwards; move forwards; flip bit; move forwards; flip bit; move forwards; move forwards; flip copy; move forwards; move forwards; flip copy; move forwards; move forwards; move forwards; move forwards; move forwards; flip copy; move forwards; move forwards; flip copy; move forwards; move forwards; move forwards; move forwards; move forwards; flip copy; move forwards; move forwards; flip copy; move forwards; flip bit; move forwards; flip bit; move forwards; flip bit; move forwards; move forwards; move forwards; flip bit; move forwards; move forwards; move forwards; move forwards; move forwards; move forwards; flip bit; move forwards; flip bit; move forwards; flip copy; move forwards; flip bit; move forwards; move forwards; flip copy; move forwards; move forwards; move forwards; flip copy; move forwards; flip bit; move forwards; flip bit; move forwards; flip bit; move forwards; move forwards; flip copy; move forwards; flip bit; move forwards; move forwards; move forwards; flip bit; move forwards; move forwards; move forwards; flip bit; move forwards; move forwards; move forwards; flip bit; move forwards; move forwards; move forwards; move forwards; move forwards; flip copy; move forwards; move forwards; move forwards; move forwards; flip bit; move forwards; move forwards; print; end; Mod.txt: 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
Loops
Nested loops
clear; jump loop: l1 ( == 1); jump to lx break; nop; flip bit; jump loop: l2 ( == 1); jump to l1 break;
This was to prove that loops can be like "Gate Points" where if a condition is true then jump back to the last loop.
Jump loops #2
clear; flip bit; jump loop: l1 ( == 1); jump to l3; break; flip bit; nop; jump loop: l2 ( == 1); jump to l2 break; flip bit; jump loop: l3 ( == 1); jump to l1 break; end;
"If l1 then l3, if l3 then l2, if l2 then l1." This code will always run 2 times. You can stack these types of loops forever, showing that any code that loops n times can be created with n+1 loops (unless n=1).
Forever loop
You can make a loop that runs forever like this:
clear; jump loop: l1 ( == 1) jump to lx break; (code) flip bit; jump loop: l2 ( == 1) jump to l1 break; flip bit; jump loop: l3 ( == 1) jump to l2; break;
Tape shifter
Input: 00000000 00000000 jump loop: l1 ( == 1) jump to lx break; shift bits forward; flip bit; jump loop: l2 ( == 1) jump to l1 break; flip bit; jump loop: l3 ( == 1) jump to l2; break; end;