Partitioned

From Esolang
Jump to navigation Jump to search
This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information.
This is still a work in progress. It may be changed in the future.

Partitioned is a WIP esoteric programming language created by Sekoia in 2021. The main limitation is ROM as each partition only contains 255 bytes, for both instructions and data. Every partition shares a single byte at address 0xFF, permitting transmission between partitions. Partitions cycle one after the other, at one instruction per cycle. A partition is formatted as a 16x16 array of bytes. Each byte is separated by a `,` and whitespace is ignored. As a rule of thumb, addresses are written as hexadecimal, instructions as binary, and data as decimal. Octal is also supported.

Instruction Set

Each instruction is five bits, followed by 3 flags. The general formatting for an instruction is `0bxxxxx_xxx` so that the 3 flags are distinct. TODO

Examples

Hello World

 0b00101_010, 0x10, 0x0F, 0b11101_001, 0x10, 0b10000_100, 1, 1, 1, 0b10000_100, 4, 1, 4, 0b01000_000, 0x00, 0b11111000
 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33

This is actually a bit more general than just "Hello World!". Any ASCII code can be inserted starting at address 0x10, until it hits a 0. The logic is as follows:

 pointer = 0x10
 LOOP: IF *pointer EQUAL TO ZERO GOTO END
 PRINT *pointer
 pointer++; // This is actually two instructions, because the code has 2 pointers instead
 GOTO LOOP
 END: RETURN
 // ASCII codes