TIS-100 Quick Reference Guide
TIS-100 Quick Reference Guide
NOP NO OPERATION
MOV <SRC>, <DST> MOVE <SRC> TO <DST>; COMMA IS OPTIONAL
SWP SWAP ACC AND BAK
SAV SAVE ACC TO BAK
ADD <SRC> ADD <SRC> TO ACC
SUB <SRC> SUBTRACT <SRC> FROM ACC
NEG NEGATE ACC (NEG 0 = 0)
JMP <LABEL> JUMP TO <LABEL>
JEZ <LABEL> JUMP TO <LABEL> IF ACC = 0
JNZ <LABEL> JUMP TO <LABEL> IF ACC != 0
JGZ <LABEL> JUMP TO <LABEL> IF ACC > 0
JLZ <LABEL> JUMP TO <LABEL> IF ACC < 0
JRO <SRC> JUMP TO RELATIVE OFFSET <SRC>
(A value of 0 causes an infinite loop. Both positive and negative jumps
are bounded by the node's first and last instructions.)
HCF HALT & CATCH FIRE
(Undocumented; resets the TIS-100.)
<SRC> Refers to ACC, UP, DOWN, LEFT, RIGHT, ANY, LAST, NIL, or a
literal (-999...999)
<DST> Refers to ACC, UP, DOWN, LEFT, RIGHT, ANY, LAST, or NIL
<LABEL> Refers to location marked by alphanumeric label '<LABEL>:'
Nodes
Up to 12 nodes are available per program. There are two types of nodes available on the TIS-100:
Basic Execution and Stack Memory. A defective or damaged node is automatically disabled.
Cycles
- Writes take 2 cycles. Other operations require only one cycle, assuming data is
available.
- The first "step" in a run does not count as a cycle.
- A cycle is needed to complete the last write out to an output port.
Image Console
The image console (aka visualization module) is able to display 4-color graphics on a 30 x 18
display screen. Each pixel is addressable by a (X,Y) coordinate system, with (0,0) mapping to the
upper left corner. Pixels are updated with command packets, which have the following format:
- X coordinate
- Y coordinate
- Color value 0
- ...
- Color value N
- End packet marker (any negative value)
One or more color values may be used per packet. For each color value after the initial value, X
is incremented automatically. There is no automatic wraparound.
Color values are:
- 0: Black
- 1: Dark grey
- 2: Light grey
- 3: White
- 4: Red
ANTI-TAMPER CERTIFICATION
TIS-NET DIRECTORY