Emerald Internal Instruction Codes
----------------------------------

END                              0

NEW_INT                          1
NEW_FLOAT                        2
NEW_STRING                       3
NEW_OBJECT                       4
NEW_ARRAY                        5

PUSH_ZERO                        6
PUSH_ONE                         7
PUSH_INT1                        8
PUSH_INT2                        9
PUSH_INT4                       10
PUSH_FLOAT4                     11
PUSH_FLOAT8                     12
PUSH_STRING                     13
PUSH_ARRAY                      14
PUSH_GLOBAL                     15
PUSH_LOCAL                      16
PUSH_INDEX                      17

POP                             18

CLEAR_GLOBAL                    19
CLEAR_LOCAL                     20

ASSIGN_LOCAL                    21
ASSIGN_GLOBAL                   22
ASSIGN_INDEX                    23

MULTIPLY                        24
DIVIDE                          25
MODULUS                         26
ADD                             27
SUBTRACT                        28
LSHIFT                          29
RSHIFT                          30
AND                             31
XOR                             32
OR                              33
ONES_COMPLEMENT                 34

JUMP                            35
CAST                            36

COMPARE                         37

CALL_BUILTIN_FUNC               38
CALL_FUNC                       39

RETURN                          40


{THE FOLLOWING ARE NOT REAL
 INSTRUCTIONS, BUT RATHER ARE
 TRANSLATED INTO REAL INSTRUCTIONS
 BY THE LINKER}

TRANS_GLOBAL_VAR                75
TRANS_BUILTIN_FUNC              76
TRANS_FUNC                      77



--
