namespace GMAssetCompiler
{
	public enum eVM_Instruction
	{
		kSingleArg = 0x80,
		kDoubleArg = 0,
		kParam = 0x40,
		kBranchTarget = 0x20,
		kVAR_not_array = int.MinValue,
		kVAR_objind_over = 0x40000000,
		kVAR_objind_embed = 0x20000000,
		kVARIND_mask = 0x1FFFFFFF,
		eVMI_PUSH = 192,
		eVMI_POP = 65,
		eVMI_DUP = 130,
		eVMI_CONV = 3,
		eVMI_MUL = 4,
		eVMI_DIV = 5,
		eVMI_REM = 6,
		eVMI_MOD = 7,
		eVMI_ADD = 8,
		eVMI_SUB = 9,
		eVMI_AND = 10,
		eVMI_OR = 11,
		eVMI_XOR = 12,
		eVMI_NEG = 13,
		eVMI_NOT = 14,
		eVMI_SHL = 0xF,
		eVMI_SHR = 0x10,
		eVMI_SET_LT = 17,
		eVMI_SET_LE = 18,
		eVMI_SET_EQ = 19,
		eVMI_SET_NE = 20,
		eVMI_SET_GE = 21,
		eVMI_SET_GT = 22,
		eVMI_BRANCH = 183,
		eVMI_BTRUE = 184,
		eVMI_BFALSE = 185,
		eVMI_CALL = 218,
		eVMI_PUSHENV = 187,
		eVMI_POPENV = 188,
		eVMI_RET = 157,
		eVMI_EXIT = 158,
		eVMI_POPNULL = 159,
		eVMI_BREAK = 0xFF
	}
}
