X |
Push x-coordinate value of the current cell to the data
stack. The cells on the leftmost edge of the canvas have
0 as their x-coordinate values. The cells on the
rightmost edge of the canvas have 255 as their
x-coordinate values.
|
Y |
Push y-coordinate value of the current cell to the data
stack. The cells on the bottommost edge of the canvas
have 0 as their y-coordinate values. The cells on the
topmost edge of the canvas have 255 as their y-coordinate
values.
|
T |
Push t-value of the current iteration of evaluation to the
data stack. Any code containing this command is rendered
in 256 iterations where t takes integer values from 0 to
255.
|
N |
Push 0 to the data stack. |
0-9 |
Multiply the value at the top of the stack with 10 and add
the given number to it. In other words, append digit to
the value at the top of the data stack. For example, if
the value at the top of the stack is 20, then the
command 3 changes that value to 203.
|
+ |
Pop two values from the data stack and push their sum to
the data stack.
|
- |
Pop two values from the data stack. Then subtract the
value popped first from the value popped second and push
the result to the data stack.
|
* |
Pop two values from the data stack and push their
product. |
/ |
Pop two values from the data stack. Then use the value
popped first to divide the value popped second, discard
fractional part from the result and push the integer
result to the data stack.
|
% |
Pop two values from the data stack. Then use the value
popped first to divide the value popped second, obtain a
nonnegative remainder and push the remainder to the data
stack.
|
= |
Pop two values from the data stack. If they are equal,
push 1 to the data stack. Otherwise push 0.
|
< |
Pop two values from the data stack. If the value popped
second is less than the value popped first, push 1 to the
data stack. Otherwise push 0.
|
> |
Pop two values from the data stack. If the value popped
second is greater than the value popped first, push 1 to
the data stack. Otherwise push 0.
|
! |
If the value at the top of the data stack is 0, change it
to 1. Otherwise change it to 0.
|
^ |
Pop two values from the data stack, perform bitwise XOR
operation on the values and push the result to the data
stack.
|
& |
Pop two values from the data stack, perform bitwise AND
operation on the values and push the result to the data
stack.
|
| |
Pop two values from the data stack, perform bitwise OR
operation on the values and push the result to the data
stack.
|
C |
Clip the value at the top of the data stack to the range
0-255, i.e. set it to 0 if it is less than 0 and to 255 if
it is greater than 255.
|
D |
Duplicate the value at the top of the data stack by
pushing a copy of it.
|
P |
Pop one value from the data stack. |
S |
Swap the two values at the top of the data stack. |
R |
Rotate the three values at the top of the data stack. The
third value from the top of the stack is brought to top.
The value at the top of the stack moves to the second
place from the top. The value at the second place from
the top moves to the third place from the top.
|
[ |
Pop one value from the data stack and begin loop with the
popped value as the loop counter. All code from the
command after the opening [ up to the
corresponding ] forms the body of the loop.
If the loop counter is positive, enter the loop body.
Otherwise skip the loop. The loop counter is maintained
in the loop control stack which cannot be accessed
directly by the programmer.
|
] |
Decrement the loop counter. If the counter is still
positive, jump back to the beginning of the loop body of
the current loop. Otherwise exit the loop. The loop
counter is removed from the loop control stack while
exiting the loop.
|
W |
Display current coordinate and stack in the status panel
and halt. The stack is printed from bottom to top.
|
F |
Pop one value from the top of the stack and set the frame
interval to that many number of milliseconds. The default
frame interval is 100 ms.
|
M |
Increment mode number. The default mode number is 0. In
mode 0, division by zero leads to an error. In mode 1,
division by zero leads to a black cell. In mode 2,
division by zero leads to a red cell. It is an error to
increment mode value beyond 2.
|