We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Datasheet
(make suggestions in the discussion page)
Datasheet is a esolang thats supposed to resemble a punched card-like data structure. Data looks like this:
0000001000......................................................
................................................................
................................................................
................................................................
................................................................
......................................QWERTYUIOPASDFGHJKLZXCVBNM
Data structure
Dots are null spaces with no data. Data is stored in a strucure called doub-dec which are double-digit decimals. The disk is 192 doub-decs and 384 decimal digits.
Formatting
Disks have their format info at doub-dec 1, which has only 1 variant right now which is format 00, which allows for the storage of 192 doub-decs.
Character set system
26 characters can be choosed from a character set consisting of:
- 1-26: QWERTYUIOPASDFGHJKLZXCVBNM
- 27: Newline
- 28-38: 1234567890
- 39-51: "é*?-_,;.:<>
Assembly language
The datasheet computer has 100 bytes of ram (00-99). There is a lack of registers because the system is primitive and is for calculation. Numbers are between 0-99 and NO INPUT
Basic thing: (aa = adress ii = immediate) also wraps happen.
- NOP (00) No-op.
- MOV A, B (01 aa ii) Changes adress A to B.
- ADD A, B (02 aa ii) Adds B to adress A.
- SUB A, B (03 aa ii) Subtracts B from adress A.
- SHR A (04 aa) Bitshifts adress A right.
- SHL A (05 aa) Bitshifts adress A left.
- JMP A (06 ii) Jumps to adress A.
- JZ A B (07 aa ii) Jumps to adress B if A is zero.
- JNZ A B (08 aa ii) Jumps to adress B if A is not zero.
- ADA A, B, C (09 aa aa aa) Adds A and B and writes result to C.
- SBA A, B, C (10 aa aa aa) Subtracts A and B and writes result to C.
- CPY A, B (11 aa aa) Copy adress A to B.
- OUT A (12 aa) Output value at A to printer.
- GRP A (13 aa) Graph value at A on grapher.