Tessellated Intelligence System
Massively parallel computer architecture comprised of non-uniformly interconnected heterogeneous nodes
Node Type T21 - Basic Execution Node
- After executing the last instruction of the program, execution automatically continues to the first instruction.
- All registers store integer values between -999 and 999 (inclusive).
- Comments start with #, text after ## is used as the title of the program.
- Labels are used for jump instructions.
| Register | Notes | |———-|——————————————————| | ACC | Accumulator register. | | BAK | Non-addressible temporary storage for values in ACC. |
| Port | Notes | |———————–|——————————————————————————————————————————–| | LEFT, RIGHT, UP, DOWN | Communication register for topologically adjacent nodes. Blocks indefinitely if used until transaction with other node occurs. | | ANY | Reads or writes a value that becomes available on ANY port. (TODO - deterministic which node reads ANY value first?) | | LAST | Refers to the port last read or written using the ANY pseudo-port. |
|NOP||pseudo-intruction converted to ADD NIL.|
||SRC is read and written to DST.|
|SWP||Exchange ACC and BAK.|
|SAV||Write ACC to BAK.|
||Add SRC to ACC, store result in ACC. (TODO - overflow behaviour?)|
||Subtract SRC from ACC, store result in ACC. (TODO - underflow behaviour?)|
|NEG||The value of ACC is arithmetically negated. Zero remains the same.|
|JMP||Transfer execution to instruction after LABEL.|
|JEZ||Transfer execution to instruction after LABEL if value of ACC is zero.|
|JNZ||Transfer execution to instruction after LABEL if value of ACC is not zero.|
|JGZ||Transfer execution to instruction after LABEL if value of ACC is greater than zero.|
|JLZ||Transfer execution to instruction after LABEL if value of ACC is less than zero.|
||Transfer execution to instruction at offset specified by SRC relative to current instruction.|
|HCF||Halt and Catch Fire (undocumented)|