//Intermediate compiler codes #define IC_END 0x00 #define IC_START 0x01 #define IC_NOP1 0x02 #define IC_END_EXP 0x03 #define IC_NOP2 0x04 #define IC_LABEL 0x05 #define IC_CALL_START 0x06 #define IC_CALL_END 0x07 #define IC_CALL_END2 0x08 #define IC_RETURN_VAL 0x09 #define IC_RETURN_VAL2 0x0A #define IC_IMM_U64 0x0B #define IC_IMM_F64 0x0C #define IC_STR_CONST 0x0D #define IC_ABS_ADDR 0x0E #define IC_ADDR_IMPORT 0x0F #define IC_HEAP_GLBL 0x10 #define IC_SIZEOF 0x11 #define IC_TYPE 0x12 #define IC_GET_LABEL 0x13 #define IC_RBP 0x14 #define IC_REG 0x15 #define IC_FS 0x16 #define IC_GS 0x17 #define IC_LEA 0x18 #define IC_MOV 0x19 #define IC_TO_I64 0x1A #define IC_TO_F64 0x1B #define IC_TO_BOOL 0x1C #define IC_TOUPPER 0x1D #define IC_HOLYC_TYPECAST 0x1E #define IC_ADDR 0x1F #define IC_COM 0x20 #define IC_NOT 0x21 #define IC_UNARY_MINUS 0x22 #define IC_DEREF 0x23 #define IC_DEREF_PP 0x24 #define IC_DEREF_MM 0x25 #define IC__PP 0x26 #define IC__MM 0x27 #define IC_PP_ 0x28 #define IC_MM_ 0x29 #define IC_SHL 0x2A #define IC_SHR 0x2B #define IC_SHL_CONST 0x2C #define IC_SHR_CONST 0x2D #define IC_POWER 0x2E #define IC_MUL 0x2F #define IC_DIV 0x30 #define IC_MOD 0x31 #define IC_AND 0x32 #define IC_OR 0x33 #define IC_XOR 0x34 #define IC_ADD 0x35 #define IC_SUB 0x36 #define IC_ADD_CONST 0x37 #define IC_SUB_CONST 0x38 #define IC_EQUAL_EQUAL 0x39 #define IC_NOT_EQUAL 0x3A #define IC_LESS 0x3B #define IC_GREATER 0x3C #define IC_LESS_EQUAL 0x3D #define IC_GREATER_EQUAL 0x3E #define IC_PUSH_CMP 0x3F #define IC_AND_AND 0x40 #define IC_OR_OR 0x41 #define IC_XOR_XOR 0x42 #define IC_COLON 0x43 #define IC_QUESTION 0x44 #define IC_ASSIGN 0x45 #define IC_ASSIGN_PP 0x46 #define IC_ASSIGN_MM 0x47 #define IC_SHL_EQUAL 0x48 #define IC_SHR_EQUAL 0x49 #define IC_MUL_EQUAL 0x4A #define IC_DIV_EQUAL 0x4B #define IC_MOD_EQUAL 0x4C #define IC_AND_EQUAL 0x4D #define IC_OR_EQUAL 0x4E #define IC_XOR_EQUAL 0x4F #define IC_ADD_EQUAL 0x50 #define IC_SUB_EQUAL 0x51 #define IC_JMP 0x52 #define IC_SWITCH 0x53 #define IC_NOBOUND_SWITCH 0x54 #define IC_ADD_RSP 0x55 #define IC_ADD_RSP1 0xC1 #define IC_ENTER 0x56 #define IC_PUSH_REGS 0x57 #define IC_POP_REGS 0x58 #define IC_LEAVE 0x59 #define IC_RET 0x5A #define IC_CALL 0x5B #define IC_CALL_INDIRECT 0x5C #define IC_CALL_INDIRECT2 0x5D #define IC_CALL_IMPORT 0x5E #define IC_CALL_EXTERN 0x5F #define IC_IRQ 0x60 #define IC_ASM 0x61 #define IC_CLI 0x62 #define IC_STI 0x63 #define IC_PREEMPT 0x64 #define IC_CLD 0x65 #define IC_STD 0x66 #define IC_HLT 0x67 #define IC_PUSHFD 0x68 #define IC_POPFD 0x69 #define IC_PAUSE 0x6A #define IC_CLFLUSH 0x6B #define IC_INVLPG 0x6C #define IC_WBINVD 0x6F #define IC_INVD 0x70 #define IC_IN_U8 0x71 #define IC_IN_U16 0x72 #define IC_IN_U32 0x73 #define IC_OUT_U8 0x74 #define IC_OUT_U16 0x75 #define IC_OUT_U32 0x76 #define IC_GET_RFLAGS 0x77 #define IC_SET_RFLAGS 0x78 #define IC_GET_RAX 0x79 #define IC_SET_RAX 0x7A #define IC_GET_RBP 0x7B #define IC_SET_RBP 0x7C #define IC_GET_RSP 0x7D #define IC_SET_RSP 0x7E #define IC_RIP 0x7F #define IC_RDTSC 0x80 #define IC_HPET 0x81 #define IC_BT 0x82 #define IC_BTS 0x83 #define IC_BTR 0x84 #define IC_BTC 0x85 #define IC_BEQU 0x86 #define IC_LBTS 0x87 #define IC_LBTR 0x88 #define IC_LBTC 0x89 #define IC_LBEQU 0x8A #define IC_BSF 0x8B #define IC_BSR 0x8C #define IC_QUE_INS 0x8D #define IC_QUE_INS_REV 0x8E #define IC_QUE_REM 0x8F #define IC_STRLEN 0x90 #define IC_MEMCPY 0x91 #define IC_MEMSET 0x92 #define IC_MEMSET_U16 0xC2 #define IC_MEMSET_U32 0xC3 #define IC_MEMSET_I64 0xC4 #define IC_BR_ZERO 0x93 #define IC_BR_NOT_ZERO 0x94 #define IC_BR_NOT_EQUAL 0x95 #define IC_BR_EQUAL_EQUAL 0x96 #define IC_BR_GREATER_EQUAL 0x97 #define IC_BR_LESS_EQUAL 0x98 #define IC_BR_GREATER 0x99 #define IC_BR_LESS 0x9A #define IC_BR_NOT_EQUAL2 0x9B #define IC_BR_EQUAL_EQUAL2 0x9C #define IC_BR_GREATER_EQUAL2 0x9D #define IC_BR_LESS_EQUAL2 0x9E #define IC_BR_GREATER2 0x9F #define IC_BR_LESS2 0xA0 #define IC_BR_AND_ZERO 0xA1 #define IC_BR_AND_NOT_ZERO 0xA2 #define IC_BR_AND_AND_ZERO 0xA3 #define IC_BR_AND_AND_NOT_ZERO 0xA4 #define IC_BR_OR_OR_ZERO 0xA5 #define IC_BR_OR_OR_NOT_ZERO 0xA6 #define IC_BR_BT 0xA7 #define IC_BR_BTS 0xA8 #define IC_BR_BTR 0xA9 #define IC_BR_BTC 0xAA #define IC_BR_LBTS 0xAB #define IC_BR_LBTR 0xAC #define IC_BR_LBTC 0xAD #define IC_BR_NOT_BT 0xAE #define IC_BR_NOT_BTS 0xAF #define IC_BR_NOT_BTR 0xB0 #define IC_BR_NOT_BTC 0xB1 #define IC_BR_NOT_LBTS 0xB2 #define IC_BR_NOT_LBTR 0xB3 #define IC_BR_NOT_LBTC 0xB4 #define IC_SWAP_U8 0xB5 #define IC_SWAP_U16 0xB6 #define IC_SWAP_U32 0xB7 #define IC_SWAP_I64 0xB8 #define IC_ABS_I64 0xB9 #define IC_SIGN_I64 0xBA #define IC_MIN_I64 0xBB #define IC_MIN_U64 0xBC #define IC_MAX_I64 0xBD #define IC_MAX_U64 0xBE #define IC_LIMIT_I64 0xBF #define IC_LIMIT_U64 0xC0 #define IC_NUM_ENTRIES 0xC5