Partitioned

From Esolang
Jump to navigation Jump to search
This article 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