TIS-100
TIS-100 is an open-ended programming game where you solve small coding puzzles in the assembly language of a multi-processor virtual computer.
Contents
History
TIS-100 was released for Windows, OS X and Linux in June 2015 and for iOS 6.0+ in January 2016.
Programming
The TIS-100 has 12 nodes which can be virtual CPUs or stack nodes. The virtual CPU supports 13 instructions, 2 registers, 4 ports and 2 pseudo-ports:
Instruction | Description |
---|---|
NOP | do nothing |
MOV SRC,DST | copy data from SRC to DST |
SWP | exchange ACC and BAK |
SAV | copy ACC to BAK |
ADD SRC | add SRC to ACC |
SUB SRC | subtract SRC from ACC |
NEG | negate ACC (ACC = 0 - ACC) |
JMP LABEL | transfer execution to LABEL |
JEZ LABEL | transfer execution to LABEL if ACC = 0 |
JNZ LABEL | transfer execution to LABEL if ACC ≠ 0 |
JGZ LABEL | transfer execution to LABEL if ACC > 0 |
JLZ LABEL | transfer execution to LABEL if ACC < 0 |
JRO OFFSET | transfer execution to an offset relative to the current instruction |
HCF | halt and catch file (secret steam achievement command) |
Name | Description |
---|---|
ACC | the accumulator register |
BAK | temporary storage register |
NIL | equivalent to 0 |
UP | communication port to the node above |
DOWN | communication port to the node below |
LEFT | communication port to the node on the left |
RIGHT | communication port to the node on the right |
ANY | pseudo-port, communicate with the first node which is ready |
LAST | pseudo-port, communicate with the last node used by ANY |