EtomemoteetomemoteetomemoteetomemotE

From Esolang
Jump to navigation Jump to search

This language operates on memory by copying and flipping bits in a text file by User: A()

EtomemoteetomemoteetomemoteetomemotE
Designed by User: A()
Appeared in 2025
Computational class , Low-level, Turing complete
Reference implementation Unimplemented


Commands

Caption text
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;