We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

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;