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