Cheat Sheet
Movement
<>^v
Change Cursor Direction
/\|_#
Reflect the cursor direction
x
Change cursor directon randomly
!
Skip the next instruction, moving 2 spaces instead of 1
?
Pop 1 value of the stack, if it's 0 skip the next instruction and move forward 2 spaces.
.
Pop 2 values of the stack then move to that position.
Literals
0123456789
Push the number (0-9)
abcdef
Push the number in hexadecimal (10-15)
+-*%
Pop 2 values of the stack then perform the given operation.
,
Divide the top 2 values of the stack.
=
Pop 2 values of the stack, push 1 if they are equal and 0 otherwise
)(
Greater than, less than. Push 1 or 0 to the stack.
'"
Enable or disable string parsing mode. In string parsing mode all characters are pushed to the stack instead of executed.
Stack
:
Duplicate the top item on the stack
$
Move the top element of the stack back 1
~
Delete the top element of the stack
@
Move the top element of the stack back 2
{}
Shifts the entire stack left or right
r
Reverse the stack
l
Push the length of the stack to the stack
[
Pop N from the stack, then create a new stack containing the top N elements of the old stack.
]
Go back to the previous stack, adding all elements of the top stack back to it.
IO
n
output a number in decimal
i
read a character
Other
&
If the register is empty, pop the top element of the stack and move it to the register. Else push the value of the register to the stack.
g
Pop the top 2 elements then push the code value at that position
p
Pop a postion and a value from the stack, then write the character to that position in the code.
;
Halt