SEPL
Jump to navigation
Jump to search
SEPL(Satan's Esoteric Programming Language) is an esolang by User:ChuckEsoteric08.
Specification
Instead of ASCII characters it uses "Table". It looks like this:
ABCDEFGHIJKLMNOPQRSTUVWXYZ !@#$%^&*(){}[],.:;"'?/\=-_+|0123456789<>~`
Last two characters are newline and nothing (only used for I/O). Note that SEPL is case-insensitive, so a is A . This language stores data in a tape but also has four registers:
A and B - Accumulators
C - Code Pointer
D - Data Pointer
To have opcode it takes current character's value in Table, multiplies it by C+65 and divides it by (A+B)*32+6, taking the remainder. Note that if result of any operation is negative it would return 0.
Opcode | Instruction |
---|---|
2 | D=[D]+B |
6 | C=A*B |
8 | B=A+6 |
12 | A=[B]+[D] |
5 | [D]=A-10 |
3 | B+=[D] |
11 | C=[C+[D]] |
10 | B=Input |
4 | [D]*=[C]; Output [D]. If value of [D] is larger than 70 don't output anything |
7 | [A]=[D] |
9 | NOP |
1 | Stop |
Anything else | A+=10-[D] |
Examples
Set A to 20
I don't know how it works
122