| 16 | |
| 17 | |
| 18 | static void PrintOperation(BNLowLevelILOperation operation) |
| 19 | { |
| 20 | #define ENUM_PRINTER(op) \ |
| 21 | case op: \ |
| 22 | printf(#op); \ |
| 23 | break; |
| 24 | |
| 25 | switch (operation) |
| 26 | { |
| 27 | ENUM_PRINTER(LLIL_NOP) |
| 28 | ENUM_PRINTER(LLIL_SET_REG) |
| 29 | ENUM_PRINTER(LLIL_SET_REG_SPLIT) |
| 30 | ENUM_PRINTER(LLIL_SET_FLAG) |
| 31 | ENUM_PRINTER(LLIL_LOAD) |
| 32 | ENUM_PRINTER(LLIL_STORE) |
| 33 | ENUM_PRINTER(LLIL_PUSH) |
| 34 | ENUM_PRINTER(LLIL_POP) |
| 35 | ENUM_PRINTER(LLIL_REG) |
| 36 | ENUM_PRINTER(LLIL_CONST) |
| 37 | ENUM_PRINTER(LLIL_CONST_PTR) |
| 38 | ENUM_PRINTER(LLIL_EXTERN_PTR) |
| 39 | ENUM_PRINTER(LLIL_FLAG) |
| 40 | ENUM_PRINTER(LLIL_FLAG_BIT) |
| 41 | ENUM_PRINTER(LLIL_ADD) |
| 42 | ENUM_PRINTER(LLIL_ADC) |
| 43 | ENUM_PRINTER(LLIL_SUB) |
| 44 | ENUM_PRINTER(LLIL_SBB) |
| 45 | ENUM_PRINTER(LLIL_AND) |
| 46 | ENUM_PRINTER(LLIL_OR) |
| 47 | ENUM_PRINTER(LLIL_XOR) |
| 48 | ENUM_PRINTER(LLIL_LSL) |
| 49 | ENUM_PRINTER(LLIL_LSR) |
| 50 | ENUM_PRINTER(LLIL_ASR) |
| 51 | ENUM_PRINTER(LLIL_ROL) |
| 52 | ENUM_PRINTER(LLIL_RLC) |
| 53 | ENUM_PRINTER(LLIL_ROR) |
| 54 | ENUM_PRINTER(LLIL_RRC) |
| 55 | ENUM_PRINTER(LLIL_MUL) |
| 56 | ENUM_PRINTER(LLIL_MULU_DP) |
| 57 | ENUM_PRINTER(LLIL_MULS_DP) |
| 58 | ENUM_PRINTER(LLIL_DIVU) |
| 59 | ENUM_PRINTER(LLIL_DIVU_DP) |
| 60 | ENUM_PRINTER(LLIL_DIVS) |
| 61 | ENUM_PRINTER(LLIL_DIVS_DP) |
| 62 | ENUM_PRINTER(LLIL_MODU) |
| 63 | ENUM_PRINTER(LLIL_MODU_DP) |
| 64 | ENUM_PRINTER(LLIL_MODS) |
| 65 | ENUM_PRINTER(LLIL_MODS_DP) |
| 66 | ENUM_PRINTER(LLIL_NEG) |
| 67 | ENUM_PRINTER(LLIL_NOT) |
| 68 | ENUM_PRINTER(LLIL_SX) |
| 69 | ENUM_PRINTER(LLIL_ZX) |
| 70 | ENUM_PRINTER(LLIL_LOW_PART) |
| 71 | ENUM_PRINTER(LLIL_JUMP) |
| 72 | ENUM_PRINTER(LLIL_JUMP_TO) |
| 73 | ENUM_PRINTER(LLIL_CALL) |
| 74 | ENUM_PRINTER(LLIL_CALL_STACK_ADJUST) |
| 75 | ENUM_PRINTER(LLIL_TAILCALL) |