Computation Instructions



Jump
Pop a boolean from the stack. If it is true, then the next found instruction is jumped over.

Unconditionally skip the instruction on the next (adjacent) servo rail. If the next servo rail is empty, then there will be no effect.

Entry Action
This controls what the servo does when it runs over instructions.
Execute Immediately: The servo will execute the instructions it runs over. This is the default behavior.
Read to IO Stack: When the servo hits an instruction, it will be copied to the IO stack.
Write from IO Stack: When the servo enters a new tile, a value will be popped from the IO stack and written to that tile. When it runs out of instructions, it will switch its action to Ignore.
Ignore: Ignores all instructions.
Note that Entry Action will execute even when the servo is reading, writing, or ignoring.

Repeat Instruction
This pops a value off of the stack, such as instruction read via Entry Action, and saves it as the "block entry instruction". The block entry instruction whenver the servo enters a new block. If Repeat Instruction called when an empty stack, or with "Repeat Instruction" on the top of the stack, then the block entry instruction will be cleared. A servo's block entry instruction can be seen by looking through an LMP.
A typical use is to repeatedly invoke Socket Signal:
[Servo Start]
Entry Action: read to stack
Socket Signal: pulse
Entry Action: execute immediately
Repeat Instruction
Trap
Workbench.name
Jump


Furnace.name


Workbench.name
Entry Action


Furnace.name


Workbench.name
Repeat Instruction


Furnace.name