And here's a handy quick reference guide to get you started:
TIS-100 (Tessellated Intelligence System) Quick Reference Guide
Basic Execution Node Instruction Set
NOP NO OPERATION
MOV <SRC> <DST> MOVE <SRC> TO <DST>
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, literal (-999...999)
<DST> Refers to ACC, UP, DOWN, LEFT, RIGHT, ANY, LAST,
NIL
<LABEL> Refers to location marked by alphanumeric
label '<LABEL>:'
# Indicates a comment in source.
## Indicates program title to the debugger.
! Triggers a breakpoint when using the debugger.
Registers
All registers and ports can store an integer in the range of -999 to 999.
ACC The primary storage and computational register in
each node.
BAK BAK cannot be directly addressed (see SWP, SAV).
UP, DOWN, Each output port holds its value until read,
LEFT, RIGHT thereby behaving like an additional register.
ANY Reads to or writes from the next available port
(UP, RIGHT, DOWN, or LEFT) that is receiving or
sending a value.
LAST Maps to the last port selected by ANY. LAST maps to
NIL if ANY has not been used.
NIL As a source, NIL maps to 0. As a destination, it
has no effect.
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. Note that a defective or damaged node is automatically disabled.
Basic Execution Node (T21)
- Each node can run a subprogram with up to 15 instructions. Labels
are not considered instructions.
- When the last instruction in a node is run, execution continues
with the first. Note that this wraparound does not cost any
cycles.
Stack Memory Node (T30)
- Can hold up to 15 values.
- Supports push/pop from any connected port.
- Pop from an empty stack node will stall.
- Push to a full stack node will stall.
- Note that push/pop stalls can be recovered if another port is used
to remove/add a value from the stack.
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 write out the last output port.
List of Sample Programs Included*
TIS-100 SEGMENT MAP
00150 SELF-TEST DIAGNOSTIC
10981 SIGNAL AMPLIFIER
20176 DIFFERENTIAL CONVERTER
21340 SIGNAL COMPARATOR
22280 SIGNAL MULTIPLEXER
30647 SEQUENCE GENERATOR
31904 SEQUENCE COUNTER
32050 SIGNAL EDGE DETECTOR
33762 INTERRUPT HANDLER
40196 SIGNAL PATTERN DETECTOR
41427 SEQUENCE PEAK DETECTOR
42656 SEQUENCE REVERSER
43786 SIGNAL MULTIPLIER
50370 IMAGE TEST PATTERN 1
51781 IMAGE TEST PATTERN 2
52544 EXPOSURE MASK VIEWER
53897 HISTOGRAM VIEWER
60099 SIGNAL WINDOW FILTER
61212 SIGNAL DIVIDER
62711 SEQUENCE INDEXER
63534 SEQUENCE SORTER
70601 STORED IMAGE DECODER
TIS-NET DIRECTORY
NEXUS 00.526.6 SEQUENCE MERGER
NEXUS 01.874.8 INTERNER SERIES CALCULATOR
NEXUS 02.981.2 SEQUENCE RANGE LIMITER
NEXUS 03.176.9 SIGNAL ERROR CORRECTOR
NEXUS 04.340.5 SUBSEQUENCE EXTRACTOR
NEXUS 05.647.1 SIGNAL PRESCALER
NEXUS 06.786.0 SIGNAL AVERAGER
NEXUS 07.050.0 SUBMAXIMUM SELECTOR
NEXUS 08.633.9 DECIMAL DECOMPOSER
NEXUS 09.904.9 SEQUENCE MODE CALCULATOR
NEXUS 10.656.5 SEQUENCE NORMALIZER
NEXUS 11.711.2 IMAGE TEST PATTERN 3
NEXUS 12.534.4 IMAGE TEST PATTERN 4
NEXUS 13.370.9 SPATIAL PATH VIEWER
NEXUS 14.781.3 CHARACTER TERMINAL
NEXUS 15.897.9 BACK-REFERENCE REIFIER
NEXUS 16.212.8 DYNAMIC PATTERN DETECTOR
NEXUS 17.135.0 SEQUENCE GAP INTERPOLATOR
NEXUS 18.427.7 DECIMAL TO OCTAL CONVERTER
NEXUS 19.762.9 PROLONGED SEQUENCE SORTER
NEXUS 20.433.1 PRIME FACTOR CALCULATOR
NEXUS 21.601.6 SIGNAL EXPONENTIATOR
NEXUS 22.280.8 T20 NODE EMULATOR
NEXUS 23.727.9 T32 NODE EMULATOR
NEXUS 24.511.7 WAVE COLLAPSE SUPERVISOR
*My machine appears to have had memory damage, as most of the sample programs listed in the directories were either corrupted or erased. I've reprogramed some of them, with varying degrees of efficiency. I have included some for reference:
Back-Reference Reifer (661/9/42) |
Sequence Gap Interpolator (790/5/58) |
Prime Factor Calculator (10884/4/49) |
Signal Exponentiator (4259/6/34) |
Histogram Viewer (2173/9/59) |
Exposure Mask Viewer (808/7/50) |
Signal Multiplier (638/4/31) |
Sequence Merger (475/6/34) |
No comments:
Post a Comment