ritualka-plang/source/ritualka-commands.txt
2023-07-17 23:04:51 +03:00

65 lines
1.6 KiB
Plaintext

==========================================
VIRTUAL MACHINE TEXT DOCUMENTATION
==========================================
INTRODUCTION
Commands coding with use 2 bytes.
COMMANDS
----------------------------
[0x00] - FUNCTIONS
----------------------------
*0x00 {MODE:1} {FUNCT_CODE:4}
MODE : 0x00 - Default; 0x1F - Cached.
Main function is 0x00 0x00 0x00 0x00 0x00 0x00.
--
*0x01 {FUNCT_CODE:4}
Ender of function
--
0xF0 {MODE:1} {FUNCT_CODE:4}
MODE : 0x00 - Not write result in stack; 0xFF - Write return result into stack
Call function.
----------------------------
[0x01] - STACK
----------------------------
0x00 {MODE:1}
MODE : 0x00 - Ignore errors if stack size is 0; 0xFF - Raising error if stack size is 0.
Remove item from stack.
--
*0x01 {SIZE:1} {DATA:(SIZE)}
Add N (256 max) bytes in stack.
--
0x02 {SIZE:1} {DATA:(SIZE)}
Edit stack data with resize stack.
--
0x03 {SIZE:1} {DATA:(SIZE)}
Edit first N bytes on needs data. If stack is overflowed, raising error.
|
Example:
0x01 0x03 0x02 0x8C 0xA1 (Replace first 2 bytes of hightly stack data on (8C A1))
----------------------------
[0x02] - HEAP CONTROL
----------------------------
----------------------------
[0x04] - SYSTEM INPUT-OUTPUT
----------------------------
----------------------------
[0x05] - CALL LIBRARIES
----------------------------
----------------------------
[0x06] - LOCAL_VARIABLES
----------------------------
0x00 {IGNORE_ERRORS:1}
IGNORE_ERRORS : 0x00 - Ignore 0xFF - Not ignore
Create new local variable (link to current sp)
--
0x01 {VARS_COUNT}
Allocate variable area
----------------------------
[0xFF] - EXTENSIONS OF COMMANDS
----------------------------