TheEnd

From Esolang
Jump to navigation Jump to search

TheEnd is an esoteric programming language inspired by Malbolge. It's intention is to be very, very, close to unusable, without actually being there.

Specification

Number Format

TheEnd runs on a VM based on base-11. A word has 14 base-11 digits. There are no negative numbers

Registers

There are four registers, the accumulator, the code pointer, the data register, and the index register. All of them are one word wide. There are 500 words of memory.

Instructions

Each cycle, the location code pointer is pointing at is added to the data register, the code pointer is incremented, and a instruction is executed based on data mod 121.

TheEnd instructions
Instruction Action
22 swap(Acc, data);
23 Acc += Mem[index];
39 codeptr = Acc if Acc == data; data -= Mem[index];
71 swap(index, Acc);
93 data = 11;

Formatting

A program file consists of a list of initial memory values and addresses, both in base-11 format, one per line. It should give them in this manner.

 Address:Value

It should also give initial register values in the format.

 Name(one of A, the accumulator, D, the data, I, the index, P, the code pointer):Value