| 16 | |
| 17 | |
| 18 | static void PrintOperation(BNMediumLevelILOperation operation) |
| 19 | { |
| 20 | #define ENUM_PRINTER(op) \ |
| 21 | case op: \ |
| 22 | printf(#op); \ |
| 23 | break; |
| 24 | |
| 25 | switch (operation) |
| 26 | { |
| 27 | ENUM_PRINTER(MLIL_NOP) |
| 28 | ENUM_PRINTER(MLIL_SET_VAR) |
| 29 | ENUM_PRINTER(MLIL_SET_VAR_FIELD) |
| 30 | ENUM_PRINTER(MLIL_SET_VAR_SPLIT) |
| 31 | ENUM_PRINTER(MLIL_LOAD) |
| 32 | ENUM_PRINTER(MLIL_LOAD_STRUCT) |
| 33 | ENUM_PRINTER(MLIL_STORE) |
| 34 | ENUM_PRINTER(MLIL_STORE_STRUCT) |
| 35 | ENUM_PRINTER(MLIL_VAR) |
| 36 | ENUM_PRINTER(MLIL_VAR_FIELD) |
| 37 | ENUM_PRINTER(MLIL_ADDRESS_OF) |
| 38 | ENUM_PRINTER(MLIL_ADDRESS_OF_FIELD) |
| 39 | ENUM_PRINTER(MLIL_CONST) |
| 40 | ENUM_PRINTER(MLIL_CONST_DATA) |
| 41 | ENUM_PRINTER(MLIL_CONST_PTR) |
| 42 | ENUM_PRINTER(MLIL_EXTERN_PTR) |
| 43 | ENUM_PRINTER(MLIL_ADD) |
| 44 | ENUM_PRINTER(MLIL_ADC) |
| 45 | ENUM_PRINTER(MLIL_SUB) |
| 46 | ENUM_PRINTER(MLIL_SBB) |
| 47 | ENUM_PRINTER(MLIL_AND) |
| 48 | ENUM_PRINTER(MLIL_OR) |
| 49 | ENUM_PRINTER(MLIL_XOR) |
| 50 | ENUM_PRINTER(MLIL_LSL) |
| 51 | ENUM_PRINTER(MLIL_LSR) |
| 52 | ENUM_PRINTER(MLIL_ASR) |
| 53 | ENUM_PRINTER(MLIL_ROL) |
| 54 | ENUM_PRINTER(MLIL_RLC) |
| 55 | ENUM_PRINTER(MLIL_ROR) |
| 56 | ENUM_PRINTER(MLIL_RRC) |
| 57 | ENUM_PRINTER(MLIL_MUL) |
| 58 | ENUM_PRINTER(MLIL_MULU_DP) |
| 59 | ENUM_PRINTER(MLIL_MULS_DP) |
| 60 | ENUM_PRINTER(MLIL_DIVU) |
| 61 | ENUM_PRINTER(MLIL_DIVU_DP) |
| 62 | ENUM_PRINTER(MLIL_DIVS) |
| 63 | ENUM_PRINTER(MLIL_DIVS_DP) |
| 64 | ENUM_PRINTER(MLIL_MODU) |
| 65 | ENUM_PRINTER(MLIL_MODU_DP) |
| 66 | ENUM_PRINTER(MLIL_MODS) |
| 67 | ENUM_PRINTER(MLIL_MODS_DP) |
| 68 | ENUM_PRINTER(MLIL_NEG) |
| 69 | ENUM_PRINTER(MLIL_NOT) |
| 70 | ENUM_PRINTER(MLIL_SX) |
| 71 | ENUM_PRINTER(MLIL_ZX) |
| 72 | ENUM_PRINTER(MLIL_LOW_PART) |
| 73 | ENUM_PRINTER(MLIL_JUMP) |
| 74 | ENUM_PRINTER(MLIL_JUMP_TO) |
| 75 | ENUM_PRINTER(MLIL_CALL) |