#ifndef _INCLUDE_SOURCEPAWN_JIT_X86_OPCODE_INFO_H_ #define _INCLUDE_SOURCEPAWN_JIT_X86_OPCODE_INFO_H_ #include "..\jit_helpers.h" void Macro_PushN_Addr(JitWriter *jit, int i); void Macro_PushN_S(JitWriter *jit, int i); void Macro_PushN_C(JitWriter *jit, int i); void Macro_PushN(JitWriter *jit, int i); typedef enum { OP_NONE, /* invalid opcode */ OP_LOAD_PRI, //DONE OP_LOAD_ALT, //DONE OP_LOAD_S_PRI, //DONE OP_LOAD_S_ALT, //DONE OP_LREF_PRI, //DONE OP_LREF_ALT, //DONE OP_LREF_S_PRI, //DONE OP_LREF_S_ALT, //DONE OP_LOAD_I, //DONE OP_LODB_I, OP_CONST_PRI, //DONE OP_CONST_ALT, //DONE OP_ADDR_PRI, //DONE OP_ADDR_ALT, //DONE OP_STOR_PRI, //DONE OP_STOR_ALT, //DONE OP_STOR_S_PRI, //DONE OP_STOR_S_ALT, //DONE OP_SREF_PRI, //DONE OP_SREF_ALT, //DONE OP_SREF_S_PRI, //DONE OP_SREF_S_ALT, //DONE OP_STOR_I, //DONE OP_STRB_I, OP_LIDX, //DONE OP_LIDX_B, OP_IDXADDR, //DONE OP_IDXADDR_B, OP_ALIGN_PRI, //DONE OP_ALIGN_ALT, //DONE OP_LCTRL, OP_SCTRL, OP_MOVE_PRI, //DONE OP_MOVE_ALT, //DONE OP_XCHG, //DONE OP_PUSH_PRI, //DONE OP_PUSH_ALT, //DONE OP_PUSH_R, //DONE OP_PUSH_C, //DONE OP_PUSH, //DONE OP_PUSH_S, //DONE OP_POP_PRI, //DONE OP_POP_ALT, //DONE OP_STACK, //DONE OP_HEAP, //DONE OP_PROC, //DONE OP_RET, OP_RETN, //DONE OP_CALL, OP_CALL_PRI, OP_JUMP, //DONE OP_JREL, //DONE OP_JZER, //DONE OP_JNZ, //DONE OP_JEQ, //DONE OP_JNEQ, //DONE OP_JLESS, //DONE OP_JLEQ, //DONE OP_JGRTR, //DONE OP_JGEQ, //DONE OP_JSLESS, //DONE OP_JSLEQ, //DONE OP_JSGRTR, //DONE OP_JSGEQ, //DONE OP_SHL, //DONE OP_SHR, //DONE OP_SSHR, //DONE OP_SHL_C_PRI, //DONE OP_SHL_C_ALT, //DONE OP_SHR_C_PRI, //DONE OP_SHR_C_ALT, //DONE OP_SMUL, //DONE OP_SDIV, //DONE OP_SDIV_ALT, //DONE OP_UMUL, //DONE OP_UDIV, //DONE OP_UDIV_ALT, //DONE OP_ADD, //DONE OP_SUB, //DONE OP_SUB_ALT, //DONE OP_AND, //DONE OP_OR, //DONE OP_XOR, //DONE OP_NOT, //DONE OP_NEG, //DONE OP_INVERT, //DONE OP_ADD_C, //DONE OP_SMUL_C, //DONE OP_ZERO_PRI, //DONE OP_ZERO_ALT, //DONE OP_ZERO, //DONE OP_ZERO_S, //DONE OP_SIGN_PRI, //DONE OP_SIGN_ALT, //DONE OP_EQ, //DONE OP_NEQ, //DONE OP_LESS, //DONE OP_LEQ, //DONE OP_GRTR, //DONE OP_GEQ, //DONE OP_SLESS, //DONE OP_SLEQ, //DONE OP_SGRTR, //DONE OP_SGEQ, //DONE OP_EQ_C_PRI, //DONE OP_EQ_C_ALT, //DONE OP_INC_PRI, //DONE OP_INC_ALT, //DONE OP_INC, //DONE OP_INC_S, //DONE OP_INC_I, //DONE OP_DEC_PRI, //DONE OP_DEC_ALT, //DONE OP_DEC, //DONE OP_DEC_S, //DONE OP_DEC_I, //DONE OP_MOVS, //DONE OP_CMPS, //DONE OP_FILL, //DONE OP_HALT, //DONE OP_BOUNDS, OP_SYSREQ_PRI, OP_SYSREQ_C, OP_FILE, OP_LINE, OP_SYMBOL, OP_SRANGE, OP_JUMP_PRI, OP_SWITCH, OP_CASETBL, //DONE OP_SWAP_PRI, //DONE OP_SWAP_ALT, //DONE OP_PUSH_ADR, //DONE OP_NOP, //DONE OP_SYSREQ_N, OP_SYMTAG, OP_BREAK, OP_PUSH2_C, //DONE OP_PUSH2, //DONE OP_PUSH2_S, //DONE OP_PUSH2_ADR, //DONE OP_PUSH3_C, //DONE OP_PUSH3, //DONE OP_PUSH3_S, //DONE OP_PUSH3_ADR, //DONE OP_PUSH4_C, //DONE OP_PUSH4, //DONE OP_PUSH4_S, //DONE OP_PUSH4_ADR, //DONE OP_PUSH5_C, //DONE OP_PUSH5, //DONE OP_PUSH5_S, //DONE OP_PUSH5_ADR, //DONE OP_LOAD_BOTH, OP_LOAD_S_BOTH, OP_CONST, OP_CONST_S, /* ----- */ OP_SYSREQ_D, OP_SYSREQ_ND, /* ----- */ OP_HEAP_PRI, OP_PUSH_HEAP_C, OP_POP_HEAP_PRI, /* ----- */ OP_NUM_OPCODES } OPCODE; extern int OpAdvTable[]; #endif //_INCLUDE_SOURCEPAWN_JIT_X86_OPCODE_INFO_H_