TwoFiftyFive

From Esolang
Jump to: navigation, search

TwoFiftyFive is an esoteric programming language by User:HereToAnnoy with only two instructions and limited memory.

Syntax

Instructions

  • Move instruction (xxyy): Sets RAM(xx) to yy. Whitespace is allowed after a move instruction.
  • Pointer instruction (*zz): Gets RAM(zz). This is stackable and can be used as the input of a move instruction.

Memory mapping

There are 256 bytes of RAM in TwoFiftyFive. In order to do computation, some indexes of RAM are memory mapped.

RAM Index Mapping
FF Instruction pointer. Incremented after every move instruction unless changed. (Only 256 instructions per program)
FE NAND Input A.
FD NAND Input B.
FC Hardwired to RAM(FE) NAND RAM(FD). Read only.
FB Stack I/O (Pushes to stack on set, pops from stack on read)
FA Program I/O (Outputs on set, inputs on read)
F9 Reserved for memory extension.

Examples

Hello, World!

FA48 FA65 FA6C FA6C FA6F FA2C FA20 FA57 FA6F FA72 FA6C FA64 FA21 FF0D

Output:

48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 (Hex)
Hello, World!                          (UTF8)

Cat program (EOF=FF)

0005 FE*FA FA*FE FD*FE FF*FC FF05

Input:

64 75 FF

Output:

64 75 FF

Computational class

TwoFiftyFive is currently almost unusable for computation until the memory extension is made (coming soon).

External resources

None.