XEec

xEec  is an esoteric programming language designed and implemented by Paulo Jorente in October, 2015.

Language details
xEec has a set of 9 instructions. Some of them work with parameters that specify its behavior. All instructions must be separated by white spaces. xEec is not case sensitive.

xEec operates on a single Stack of 64-bit wide unsigned integers. It has an internal flag (Carry Flag) that will be set every time an arithmetic operation overflows.

Semicolons are used to start a comment. Everything after a semicolon until the end of that line is a comment that gets ignored by xEec.

If xEec encounters a jump instruction but cannot find the matching label for this jump, the program will terminate.

From here on, let us assume that the right most item of a list is the top of the stack, consequently, that’s the value the next POP instruction will discard.

So, if we have the stack: [1,2,3] and we call POP, 3 will come out, leaving [1,2] behind.

The opposite is true for PUSH: same Stack: [1,2,3], PUSH 4, stack is now: [1,2,3,4].

Hello, World!
h#10 h$! h$d h$l h$r h$o h$W h#32 h$, h$o h$l h$l h$e h$H >o o$ p jno

Cat
>l   ; start loop p    ; discards stack top - if the stack is empty, xEec just ignores the instruction i$   ; input char( and pushes it ) o$   ; output char p    ; pop char h#10 ; push 10 o$   ; output 10 = new line jnl  ; back to loop

Truth-machine
i# jzend >00 o# jn00 >end o# p

Fibonacci sequence
First 93 numbers h#1 h#1 h#1 o# h#10 o$ p >f o# h#10 o$ p ma h? jnext p t jnf

99 bottles of beer
h#99 >0000 o# jn000_ >0000_ p o# jn0_00 >000_0 p jn00_0 >00_00 p h#1 r ms t h#1 ms p h? jz00100 p o# jn001_0 >01000 p jn0000 >00100 p o# jn00_10 >_0000 p o# jn0_100 >0_000 p o# jn01110_ >1 p jn0200_0 >10_010 jz~0 >00_0 h#0 h#32 h$, h$d h$n h$u h$o h$r h$a h#32 h$t h$i h#32 h$s h$s h$a h$p h#32 h$d h$n h$a h#32 h$n h$w h$o h$d h#32 h$e h$n h$o h#32 h$e h$k h$a h$T >lt o$ p jnlt jz00_00 >0200_0 h#0 h#10 h$. h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 h$e h$r h$o h$m h#32 h$o h$n h#32 h$, h$d h$n h$u h$o h$r h$a h#32 h$t h$i h#32 h$s h$s h$a h$p h#32 h$d h$n h$a h#32 h$n h$w h$o h$d h#32 h$e h$n h$o h#32 h$e h$k h$a h$T >10_01 o$ p jn10_01 jz10_010 >0_00 h#0 h#10 h$. h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 >2211 o$ p jn2211 jz000_0 >000_ h#0 h#32 h$, h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 >1122 o$ p jn1122 jz0000_ >001_0 h#0 h#10 h$. h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 >1111 o$ p jn1111 jz01000 >00_10 h#0 h#10 h$. h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$e h$l h$t h$t h$o h$b h#32 >2121 o$ p jn2121 jz_0000 >0_100 h#0 h#32 h$, h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$e h$l h$t h$t h$o h$b h#32 >1331 o$ p jn1331 jz0_000 >01110_ h#0 h#10 h$. h$r h$e h$e h$b h#32 h$f h$o h#32 h$e h$l h$t h$t h$o h$b h#32 >1551 o$ p jn1551 jz1 >~0 h$. h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 h$9 h$9 h#32 h$, h$e h$r h$o h$m h#32 h$e h$m h$o h$s h#32 h$y h$u h$b h#32 h$d h$n h$a h#32 h$e h$r h$o h$t h$s h#32 h$e h$h h$t h#32 h$o h$t h#32 h$o h$G h#10 h$. h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 h$e h$r h$o h$m h#32 h$o h$n h#32 h$, h$l h$l h$a h$w h#32 h$e h$h h$t h#32 h$n h$o h#32 h$r h$e h$e h$b h#32 h$f h$o h#32 h$s h$e h$l h$t h$t h$o h$b h#32 h$e h$r h$o h$m h#32 h$o h$N >5115 o$ p jn5115

Odd or Even
>100 p i# jz-1 o# t h#1 ms jz2003 p >0110 h#2 r ms t h#1 ms p jz1002 h? jz2003 p jn0110 h#10 o$ p jn100 >2003 p p h#0 h#10 h$d h$d h$o h#32 h$s h$i h#32 jn0000 >1002 p p h#0 h#10 h$n h$e h$v h$e h#32 h$s h$i h#32 >0000 o$ p jn0000 jz100

Multiplication
h#42		; multipilicand h#121		; multiplier h#1 r ms r t t r >0000 ma r h#1 r ms jzout r r t jn0000 >out r o#

Division
h#0		; quotient h#3		; divisor h#319	       ; dividend >0000 r r t r r ms h? jnx000 p r h#1 ma t p jze000 jn0000 >x000 p >e000 p p o#

Rot 47
h$! h$d h$e h$v h$l h$o h$v h$n h$i h#32 h$e h$B >1 t h#32 ms h? jz4 p p r t h#127 ms h? jn4 p p r t h$O ms p h? jz5 p h$P r ms h#33 ma jn2 >5 p r h#47 ma >2 o$ p jz3 jn1 >4 p p r jn2

Minsky subtraction
h#91 h#120 >1 jz4 r h#1 r ms jn2 jz2 >2 r jz3 r h#1 r ms r jn1 jz1 >3 r h#1 ma >4 o# h#10 o$

Computational class
xEec is Turing complete. As you can see above, there is a translation of a Minsky machine.

External resources

 * xEec page – features specs (again), programs and an interpreter.