d1ffe7e45e

From Esolang
Jump to navigation Jump to search

d1ffe7e45e is an esoteric programming language designed by User:Madk. Execution of commands is based on the numerical difference between the current hexadecimal number and the previous. This makes loops tricky but not at all impossible. Its command set is an expansion of brainfuck.

Commands

The first command of the program executed is assumed to be preceded by a 0.

## numerical difference between current command and previous
------------------------------------------------------------
00 move memory pointer left
01 move memory pointer right
02 increment the cell under the memory pointer
03 decrement the cell under the memory pointer
04 take a number as input and store the value in this memory cell
05 output this memory cell as a value
06 output this memory cell as a character
07 [
08 ]
09 rotate the bits of the cell under the memory pointer left once (do this 7 times to rotate right once)
10 jump forward eight instructions
11 jump backward eight instructions
12 reverse program flow
13 also [
14 also ]
15 nop
/ begin/end comment

Two nops in a row terminate the program. When the end of a program's code is reached it does not terminate, rather it wraps back to the beginning.

Examples

Equivalent of brainfuck [-]

745666e

Translates to:

[->><<]

Cat-like program (outputs the character for a given character code):

4a86420

Translates (roughly) to:

,.+++++

Computational class

Although d1ffe7e45e has all the commands that brainfuck does, the language may or may not be able to achieve an Arbitrary effect at an arbitrary point so it is difficult to determine whether or not it is Turing-complete. However, the author speculates that moving the memory pointer left and back right repeatedly or incrementing and decrementing the current cell repeatedly (and therefore changing the current command number without any effect on the program's state) addresses this issue.

External resources