NOP
Opcode |
Name |
Arguments |
00 |
NOP |
|
MOV
Opcode |
Name |
Arguments |
01 |
MOV |
reg , reg |
02 |
LOAD_NIL |
reg |
03 |
LOAD_TRUE |
reg |
04 |
LOAD_FALSE |
reg |
05 |
LOAD_UINT8 |
reg , uint8 |
06 |
LOAD_UINT16 |
reg , uint16 |
07 |
LOAD_UINT32 |
reg , uint32 |
08 |
LOAD_UINT64 |
reg , uint64 |
09 |
LOAD_INT8 |
reg , int8 |
0A |
LOAD_INT16 |
reg , int16 |
0B |
LOAD_INT32 |
reg , int32 |
0C |
LOAD_INT64 |
reg , int64 |
0D |
LOAD_CLASS |
reg , uint16 |
0E |
LOAD_CLASS_EX |
reg , uint16 , reglist |
0F |
LOAD_METHOD |
reg , symbol |
10 |
REFLECT |
reg , symbol , uint16 , uint16 |
11 |
LOAD_NUMBER |
reg , uint64 |
12 |
LOAD_STRING |
reg , uint64 , uint64 |
13 |
NEW_ARRAY |
reg , reglist |
14 |
LOAD_SELF |
reg |
15 |
GET_INSTVAR |
reg , symbol |
16 |
LOAD_HAS_BLOCK |
reg |
17 |
LOAD_ARG |
reg , uint16 |
FLOW
Opcode |
Name |
Arguments |
18 |
JMP |
int16 |
19 |
JMP_IF |
reg , int16 , int16 |
1A |
CALL |
reg , symbol , reglist |
1B |
INSTCALL |
reg , reg , symbol , reglist |
1C |
SYSCALL |
reg , uint8 , reglist |
1D |
RETURN |
reg |
OTHER
Opcode |
Name |
Arguments |
1E |
RETAIN |
reg |
1F |
RELEASE |
reg |
20 |
CAST |
reg , reg , uint16 |
21 |
SET_INSTVAR |
symbol , reg |
SPECIAL
Opcode |
Name |
Arguments |
22 |
COV |
uint16 , uint16 |
23 |
STACK_RESERVE |
uint16 |
NEW
Opcode |
Name |
Arguments |
24 |
LOAD_FLOAT |
reg , float |
25 |
LOAD_ARG_DEFAULT |
reg , uint16 , reg |
26 |
LOAD_LOCAL_BLOCK |
reg , reg |
27 |
LOAD_CURRENT_BLOCK |
reg |
28 |
BOX |
reg , reg |
29 |
UNBOX |
reg , reg |
2A |
SETBOX |
reg , reg , reg |
2B |
GET_INSTVAR_EXT |
reg , symbol , reg |
2C |
GET_CLASSVAR |
reg , symbol |
2D |
SET_CLASSVAR |
symbol , reg |
Autogenerated from src/shared/opcodes.rb
, last revised: 2024-10-08