SpiderScript - Bugfixing, most bytecode runs now
[tpg/acess2.git] / Usermode / Libraries / libspiderscript.so_src / bytecode_ops.h
1 /**
2  */
3 #ifndef _BYTECODE_OPS_H_
4 #define _BYTECODE_OPS_H_
5
6 enum eBC_Ops
7 {
8         BC_OP_NOP,
9         
10         BC_OP_JUMP,
11         BC_OP_JUMPIF,
12         BC_OP_JUMPIFNOT,
13         
14         BC_OP_RETURN,   // = 4
15         BC_OP_CALLFUNCTION,
16         BC_OP_CALLMETHOD,
17         BC_OP_CREATEOBJ,        
18         
19         BC_OP_LOADVAR,  // = 8
20         BC_OP_SAVEVAR,
21
22         BC_OP_LOADINT,  // = 10
23         BC_OP_LOADREAL,
24         BC_OP_LOADSTR,
25
26         BC_OP_DUPSTACK, // = 13
27         BC_OP_DELSTACK, // 
28         BC_OP_CAST,     //
29         
30         BC_OP_ELEMENT,  // = 16
31         BC_OP_INDEX,
32
33         BC_OP_ENTERCONTEXT,     // = 18
34         BC_OP_LEAVECONTEXT,
35         BC_OP_DEFINEVAR,
36
37         // Operations
38         BC_OP_LOGICNOT, // 21
39         BC_OP_LOGICAND,
40         BC_OP_LOGICOR,
41         BC_OP_LOGICXOR,
42
43         BC_OP_BITNOT,   // 25
44         BC_OP_BITAND,
45         BC_OP_BITOR,
46         BC_OP_BITXOR,
47
48         BC_OP_BITSHIFTLEFT,     // 29
49         BC_OP_BITSHIFTRIGHT,
50         BC_OP_BITROTATELEFT,
51
52         BC_OP_NEG,      // 32
53         BC_OP_ADD,
54         BC_OP_SUBTRACT,
55         BC_OP_MULTIPLY,
56         BC_OP_DIVIDE,
57         BC_OP_MODULO,
58
59         BC_OP_EQUALS,   // 38
60         BC_OP_NOTEQUALS,
61         BC_OP_LESSTHAN,
62         BC_OP_LESSTHANOREQUAL,
63         BC_OP_GREATERTHAN,
64         BC_OP_GREATERTHANOREQUAL
65 };
66
67 #endif

UCC git Repository :: git.ucc.asn.au