ALL
Jump to navigation
Jump to search
ALL is esoteric programming language by User:IQBigBang. It's Assembly Like Language (ALL). It's based on a lot of instructions with hexadecimal and readable value.
Memory
Memory is cell-based. Cells are saved in 2 dimensional array 256x256. Every cell can store number from 0 to 16 777 216. Cells can be accessed using pointer. Pointer starts on 0x0 cell.
Instructions
Basic instructions
Here's list of all basic instructions:
Hexadecimal value | Instruction | Description | Shortcut |
---|---|---|---|
00 | NUL | Nullating instruction. Does nothing. | NULlate |
01 | REG [registry name] | Calls registry from current source code or from system registry directory (SRD) | REGistry |
Memory instructions
Here's list of instructions working with memory:
Hexadecimal value | Instruction | Description | Shortcut |
---|---|---|---|
10 | SVM [decimal number] | Saves decimal number to current cell | Save Value to Memory |
11 | REV | Sets current cell to zero | REmove Value |
12 | MVX | Moves current cell value to cell next to it in x direction | Move Value X |
13 | MVY | Moves current cell value to cell next to it in y direction | Move Value Y |
14 | ADD | Saves sum of current cell and cell next to it in x direction to cell next to current in y direction | ADD |
15 | SUB | Saves difference of current cell and cell next to it in x direction to cell next to current in y direction | SUBtract |
Pointer instructions
Here's list of pointer instructions:
Hexadecimal value | Instruction | Description | Shortcut |
---|---|---|---|
20 | NPO | Moves pointer to 0x0 | Nullate POinter |
21 | MOX [decimal x coordinates] | Moves pointer in x direction to entered value. | MOve X |
22 | MOY [decimal y coordinates] | Moves pointer in y direction to entered value. | MOve Y |
23 | ADX [decimal x coordinates] | Adds entered value to x coordinate of pointer. | ADd X |
24 | ADY [decimal y coordinates] | Adds entered value to y coordinate of pointer. | ADd Y |
Expression instructions
Here's list of all expression instructions:
Hexadecimal value | Instruction | Description | Shortcut |
---|---|---|---|
30 | IFE | Express code between this and next END instruction only if current cell and cell next to it in x direction are equal. | IF Equal |
31 | IFN | Express code between this and next END instruction only if current cell and cell next to it in x direction are not equal. | IF Not equal |
32 | LOP | Loops code between this and next END instructions (current cell value) times. | LOoP |
33 | END | End of expression. | END |