3 Bits, Tape

From Esolang
Jump to navigation Jump to search

3 Bits, Tape is an esolang inspired by the N bits, N bytes family.

Commands

The cells are 6 bits long.

000 NOP does nothing
001 OUT outputs cell at pointer as custom charset
010 x JMP jumps pointer forward by signed x
011 x DEC decrements byte at pointer by x
100 x WNS goes to corresponding 101 if the value at pointer is x
101 WNE goes to corresponding 100 if the value at pointer isn't x
110 x INC increments byte at pointer by x
111 TEM terminates program

Custom Charset for Programs

 012345678
0 @#%$&*()
1012345678
2-=_+[]{};
3'":<>?!/┼
4.,^ABCDEF
5GHIJKLMNO
6PQRSTUVWX
7YZ~`─│┌┐└
8┘├┤┬┴░▒▓█

Truth Machine

User input in first cell.

WP31─*┌1"/G

Decompiled:

INC 7;
INC 1;
OUT;
DEC 1;
DEC 7;
WNS 0:
 INC 7;
 INC 1;
 OUT;
 DEC 1;
 DEC 7;
WNE;

Turing-Completeness Proof

+ INC 1;
[ WNS 0;
] WNE;
> JMP 1;
< JMP -1;