| 183 | } |
| 184 | |
| 185 | std::string typeToString(EKittyInsnTypeArm32 t) |
| 186 | { |
| 187 | #define CASE(x) \ |
| 188 | case EKittyInsnTypeArm32::x: \ |
| 189 | return #x; |
| 190 | switch (t) |
| 191 | { |
| 192 | CASE(UNKNOWN) |
| 193 | CASE(ADR) |
| 194 | CASE(ADD) |
| 195 | CASE(SUB) |
| 196 | CASE(MOV) |
| 197 | CASE(LDR) |
| 198 | CASE(STR) |
| 199 | CASE(LDRB) |
| 200 | CASE(STRB) |
| 201 | CASE(LDRH) |
| 202 | CASE(STRH) |
| 203 | CASE(LDRSH) |
| 204 | CASE(LDRSB) |
| 205 | CASE(LDR_LITERAL) |
| 206 | CASE(B) |
| 207 | CASE(BL) |
| 208 | CASE(B_COND) |
| 209 | } |
| 210 | #undef CASE |
| 211 | return "UNKNOWN"; |
| 212 | } |
| 213 | } // namespace KittyArm32 |
| 214 | |
| 215 | namespace KittyArm64 |