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
|