Hermes/Dyforge is a program written in c++ allows you to inject a dll that can analyze all processes in a program, can be used for mod and reverse engeneering
| 1 | #ifndef CAPSTONE_HPPA_H |
| 2 | #define CAPSTONE_HPPA_H |
| 3 | |
| 4 | #ifdef __cplusplus |
| 5 | extern "C" { |
| 6 | #endif |
| 7 | |
| 8 | #include "cs_operand.h" |
| 9 | #include "platform.h" |
| 10 | |
| 11 | #define NUM_HPPA_OPS 5 |
| 12 | #define HPPA_STR_MODIFIER_LEN 8 |
| 13 | #define HPPA_MAX_MODIFIERS_LEN 5 |
| 14 | |
| 15 | /// Operand type for instruction's operands |
| 16 | typedef enum hppa_op_type { |
| 17 | HPPA_OP_INVALID = CS_OP_INVALID, |
| 18 | HPPA_OP_REG = CS_OP_REG, |
| 19 | HPPA_OP_IMM = CS_OP_IMM, |
| 20 | HPPA_OP_IDX_REG = CS_OP_SPECIAL + 0, |
| 21 | HPPA_OP_DISP = CS_OP_SPECIAL + 1, |
| 22 | HPPA_OP_TARGET = CS_OP_SPECIAL + 2, |
| 23 | HPPA_OP_MEM = CS_OP_MEM, |
| 24 | } hppa_op_type; |
| 25 | |
| 26 | //> HPPA registers |
| 27 | typedef enum hppa_reg { |
| 28 | HPPA_REG_INVALID = 0, |
| 29 | |
| 30 | ///> General registers |
| 31 | HPPA_REG_GR0, |
| 32 | HPPA_REG_GR1, |
| 33 | HPPA_REG_GR2, |
| 34 | HPPA_REG_GR3, |
| 35 | HPPA_REG_GR4, |
| 36 | HPPA_REG_GR5, |
| 37 | HPPA_REG_GR6, |
| 38 | HPPA_REG_GR7, |
| 39 | HPPA_REG_GR8, |
| 40 | HPPA_REG_GR9, |
| 41 | HPPA_REG_GR10, |
| 42 | HPPA_REG_GR11, |
| 43 | HPPA_REG_GR12, |
| 44 | HPPA_REG_GR13, |
| 45 | HPPA_REG_GR14, |
| 46 | HPPA_REG_GR15, |
| 47 | HPPA_REG_GR16, |
| 48 | HPPA_REG_GR17, |
| 49 | HPPA_REG_GR18, |
| 50 | HPPA_REG_GR19, |
| 51 | HPPA_REG_GR20, |
| 52 | HPPA_REG_GR21, |
| 53 | HPPA_REG_GR22, |
| 54 | HPPA_REG_GR23, |
| 55 | HPPA_REG_GR24, |
| 56 | HPPA_REG_GR25, |
| 57 | HPPA_REG_GR26, |
| 58 | HPPA_REG_GR27, |
| 59 | HPPA_REG_GR28, |
| 60 | HPPA_REG_GR29, |
| 61 | HPPA_REG_GR30, |
| 62 | HPPA_REG_GR31, |
| 63 | |
| 64 | ///> Floating-point registers |
| 65 | HPPA_REG_FPR0, |
| 66 | HPPA_REG_FPR1, |
| 67 | HPPA_REG_FPR2, |
| 68 | HPPA_REG_FPR3, |
| 69 | HPPA_REG_FPR4, |
| 70 | HPPA_REG_FPR5, |
| 71 | HPPA_REG_FPR6, |
| 72 | HPPA_REG_FPR7, |
| 73 | HPPA_REG_FPR8, |
| 74 | HPPA_REG_FPR9, |
| 75 | HPPA_REG_FPR10, |
| 76 | HPPA_REG_FPR11, |
| 77 | HPPA_REG_FPR12, |
| 78 | HPPA_REG_FPR13, |
| 79 | HPPA_REG_FPR14, |
| 80 | HPPA_REG_FPR15, |
| 81 | HPPA_REG_FPR16, |
| 82 | HPPA_REG_FPR17, |
| 83 | HPPA_REG_FPR18, |
| 84 | HPPA_REG_FPR19, |
| 85 | HPPA_REG_FPR20, |
| 86 | HPPA_REG_FPR21, |
| 87 | HPPA_REG_FPR22, |
| 88 | HPPA_REG_FPR23, |
| 89 | HPPA_REG_FPR24, |
| 90 | HPPA_REG_FPR25, |
| 91 | HPPA_REG_FPR26, |
| 92 | HPPA_REG_FPR27, |
| 93 | HPPA_REG_FPR28, |
| 94 | HPPA_REG_FPR29, |
| 95 | HPPA_REG_FPR30, |
| 96 | HPPA_REG_FPR31, |
| 97 | |
| 98 | ///> Space registers |
| 99 | HPPA_REG_SR0, |
| 100 | HPPA_REG_SR1, |
| 101 | HPPA_REG_SR2, |
| 102 | HPPA_REG_SR3, |
| 103 | HPPA_REG_SR4, |
| 104 | HPPA_REG_SR5, |
| 105 | HPPA_REG_SR6, |
| 106 | HPPA_REG_SR7, |
| 107 | |
| 108 | ///> Control registers |
| 109 | HPPA_REG_CR0, |
| 110 | HPPA_REG_CR1, |
| 111 | HPPA_REG_CR2, |
| 112 | HPPA_REG_CR3, |
| 113 | HPPA_REG_CR4, |
| 114 | HPPA_REG_CR5, |
| 115 | HPPA_REG_CR6, |
| 116 | HPPA_REG_CR7, |
| 117 | HPPA_REG_CR8, |
| 118 | HPPA_REG_CR9, |
| 119 | HPPA_REG_CR10, |
| 120 | HPPA_REG_CR11, |
| 121 | HPPA_REG_CR12, |
| 122 | HPPA_REG_CR13, |
| 123 | HPPA_REG_CR14, |
| 124 | HPPA_REG_CR15, |
| 125 | HPPA_REG_CR16, |
| 126 | HPPA_REG_CR17, |
| 127 | HPPA_REG_CR18, |
| 128 | HPPA_REG_CR19, |
| 129 | HPPA_REG_CR20, |
| 130 | HPPA_REG_CR21, |
| 131 | HPPA_REG_CR22, |
| 132 | HPPA_REG_CR23, |
| 133 | HPPA_REG_CR24, |
| 134 | HPPA_REG_CR25, |
| 135 | HPPA_REG_CR26, |
| 136 | HPPA_REG_CR27, |
| 137 | HPPA_REG_CR28, |
| 138 | HPPA_REG_CR29, |
| 139 | HPPA_REG_CR30, |
| 140 | HPPA_REG_CR31, |
| 141 | |
| 142 | ///> Special floating point exception registers |
| 143 | HPPA_REG_FPE0, |
| 144 | HPPA_REG_FPE1, |
| 145 | HPPA_REG_FPE2, |
| 146 | HPPA_REG_FPE3, |
| 147 | HPPA_REG_FPE4, |
| 148 | HPPA_REG_FPE5, |
| 149 | HPPA_REG_FPE6, |
| 150 | HPPA_REG_FPE7, |
| 151 | HPPA_REG_FPE8, |
| 152 | HPPA_REG_FPE9, |
| 153 | HPPA_REG_FPE10, |
| 154 | HPPA_REG_FPE11, |
| 155 | HPPA_REG_FPE12, |
| 156 | HPPA_REG_FPE13, |
| 157 | HPPA_REG_FPE14, |
| 158 | HPPA_REG_FPE15, |
| 159 | HPPA_REG_FPE16, |
| 160 | HPPA_REG_FPE17, |
| 161 | HPPA_REG_FPE18, |
| 162 | HPPA_REG_FPE19, |
| 163 | HPPA_REG_FPE20, |
| 164 | HPPA_REG_FPE21, |
| 165 | HPPA_REG_FPE22, |
| 166 | HPPA_REG_FPE23, |
| 167 | HPPA_REG_FPE24, |
| 168 | HPPA_REG_FPE25, |
| 169 | HPPA_REG_FPE26, |
| 170 | HPPA_REG_FPE27, |
| 171 | HPPA_REG_FPE28, |
| 172 | HPPA_REG_FPE29, |
| 173 | HPPA_REG_FPE30, |
| 174 | HPPA_REG_FPE31, |
| 175 | |
| 176 | ///> Single-precision floating point registers |
| 177 | HPPA_REG_SP_FPR0, |
| 178 | HPPA_REG_SP_FPR1, |
| 179 | HPPA_REG_SP_FPR2, |
| 180 | HPPA_REG_SP_FPR3, |
| 181 | HPPA_REG_SP_FPR4, |
| 182 | HPPA_REG_SP_FPR5, |
| 183 | HPPA_REG_SP_FPR6, |
| 184 | HPPA_REG_SP_FPR7, |
| 185 | HPPA_REG_SP_FPR8, |
| 186 | HPPA_REG_SP_FPR9, |
| 187 | HPPA_REG_SP_FPR10, |
| 188 | HPPA_REG_SP_FPR11, |
| 189 | HPPA_REG_SP_FPR12, |
| 190 | HPPA_REG_SP_FPR13, |
| 191 | HPPA_REG_SP_FPR14, |
| 192 | HPPA_REG_SP_FPR15, |
| 193 | HPPA_REG_SP_FPR16, |
| 194 | HPPA_REG_SP_FPR17, |
| 195 | HPPA_REG_SP_FPR18, |
| 196 | HPPA_REG_SP_FPR19, |
| 197 | HPPA_REG_SP_FPR20, |
| 198 | HPPA_REG_SP_FPR21, |
| 199 | HPPA_REG_SP_FPR22, |
| 200 | HPPA_REG_SP_FPR23, |
| 201 | HPPA_REG_SP_FPR24, |
| 202 | HPPA_REG_SP_FPR25, |
| 203 | HPPA_REG_SP_FPR26, |
| 204 | HPPA_REG_SP_FPR27, |
| 205 | HPPA_REG_SP_FPR28, |
| 206 | HPPA_REG_SP_FPR29, |
| 207 | HPPA_REG_SP_FPR30, |
| 208 | HPPA_REG_SP_FPR31, |
| 209 | |
| 210 | HPPA_REG_ENDING, |
| 211 | } hppa_reg; |
| 212 | |
| 213 | /// HPPA instruction |
| 214 | typedef enum hppa_insn { |
| 215 | HPPA_INS_INVALID = 0, |
| 216 | |
| 217 | HPPA_INS_ADD, |
| 218 | HPPA_INS_ADDI, |
| 219 | HPPA_INS_ADDIO, |
| 220 | HPPA_INS_ADDIT, |
| 221 | HPPA_INS_ADDITO, |
| 222 | HPPA_INS_ADDB, |
| 223 | HPPA_INS_ADDBT, |
| 224 | HPPA_INS_ADDBF, |
| 225 | HPPA_INS_ADDIB, |
| 226 | HPPA_INS_ADDIBT, |
| 227 | HPPA_INS_ADDIBF, |
| 228 | HPPA_INS_ADDIL, |
| 229 | HPPA_INS_ADDC, |
| 230 | HPPA_INS_ADDCO, |
| 231 | HPPA_INS_ADDL, |
| 232 | HPPA_INS_ADDO, |
| 233 | HPPA_INS_AND, |
| 234 | HPPA_INS_ANDCM, |
| 235 | HPPA_INS_B, |
| 236 | HPPA_INS_BB, |
| 237 | HPPA_INS_BE, |
| 238 | HPPA_INS_BL, |
| 239 | HPPA_INS_BLE, |
| 240 | HPPA_INS_BLR, |
| 241 | HPPA_INS_BREAK, |
| 242 | HPPA_INS_BV, |
| 243 | HPPA_INS_BVB, |
| 244 | HPPA_INS_BVE, |
| 245 | HPPA_INS_CALL, |
| 246 | HPPA_INS_CLDD, |
| 247 | HPPA_INS_CLDDS, |
| 248 | HPPA_INS_CLDDX, |
| 249 | HPPA_INS_CLDW, |
| 250 | HPPA_INS_CLDWS, |
| 251 | HPPA_INS_CLDWX, |
| 252 | HPPA_INS_CLRBTS, |
| 253 | HPPA_INS_CMPB, |
| 254 | HPPA_INS_CMPCLR, |
| 255 | HPPA_INS_CMPIB, |
| 256 | HPPA_INS_CMPICLR, |
| 257 | HPPA_INS_COMB, |
| 258 | HPPA_INS_COMBT, |
| 259 | HPPA_INS_COMBF, |
| 260 | HPPA_INS_COMCLR, |
| 261 | HPPA_INS_COMIB, |
| 262 | HPPA_INS_COMIBT, |
| 263 | HPPA_INS_COMIBF, |
| 264 | HPPA_INS_COMICLR, |
| 265 | HPPA_INS_COPR, |
| 266 | HPPA_INS_COPY, |
| 267 | HPPA_INS_CSTD, |
| 268 | HPPA_INS_CSTDS, |
| 269 | HPPA_INS_CSTDX, |
| 270 | HPPA_INS_CSTW, |
| 271 | HPPA_INS_CSTWS, |
| 272 | HPPA_INS_CSTWX, |
| 273 | HPPA_INS_DCOR, |
| 274 | HPPA_INS_DEP, |
| 275 | HPPA_INS_DEPI, |
| 276 | HPPA_INS_DEPD, |
| 277 | HPPA_INS_DEPDI, |
| 278 | HPPA_INS_DEPW, |
| 279 | HPPA_INS_DEPWI, |
| 280 | HPPA_INS_DIAG, |
| 281 | HPPA_INS_DS, |
| 282 | HPPA_INS_EXTRD, |
| 283 | HPPA_INS_EXTRS, |
| 284 | HPPA_INS_EXTRU, |
| 285 | HPPA_INS_EXTRW, |
| 286 | HPPA_INS_FABS, |
| 287 | HPPA_INS_FADD, |
| 288 | HPPA_INS_FCMP, |
| 289 | HPPA_INS_FCNV, |
| 290 | HPPA_INS_FCNVFF, |
| 291 | HPPA_INS_FCNVFX, |
| 292 | HPPA_INS_FCNVFXT, |
| 293 | HPPA_INS_FCNVXF, |
| 294 | HPPA_INS_FCPY, |
| 295 | HPPA_INS_FDC, |
| 296 | HPPA_INS_FDCE, |
| 297 | HPPA_INS_FDIV, |
| 298 | HPPA_INS_FIC, |
| 299 | HPPA_INS_FICE, |
| 300 | HPPA_INS_FID, |
| 301 | HPPA_INS_FLDD, |
| 302 | HPPA_INS_FLDDS, |
| 303 | HPPA_INS_FLDDX, |
| 304 | HPPA_INS_FLDW, |
| 305 | HPPA_INS_FLDWS, |
| 306 | HPPA_INS_FLDWX, |
| 307 | HPPA_INS_FMPY, |
| 308 | HPPA_INS_FMPYADD, |
| 309 | HPPA_INS_FMPYFADD, |
| 310 | HPPA_INS_FMPYNFADD, |
| 311 | HPPA_INS_FMPYSUB, |
| 312 | HPPA_INS_FNEG, |
| 313 | HPPA_INS_FNEGABS, |
| 314 | HPPA_INS_FREM, |
| 315 | HPPA_INS_FRND, |
| 316 | HPPA_INS_FSQRT, |
| 317 | HPPA_INS_FSTD, |
| 318 | HPPA_INS_FSTDS, |
| 319 | HPPA_INS_FSTDX, |
| 320 | HPPA_INS_FSTW, |
| 321 | HPPA_INS_FSTWS, |
| 322 | HPPA_INS_FSTWX, |
| 323 | HPPA_INS_FSTQS, |
| 324 | HPPA_INS_FSTQX, |
| 325 | HPPA_INS_FSUB, |
| 326 | HPPA_INS_FTEST, |
| 327 | HPPA_INS_GATE, |
| 328 | HPPA_INS_GFR, |
| 329 | HPPA_INS_GFW, |
| 330 | HPPA_INS_GRSHDW, |
| 331 | HPPA_INS_HADD, |
| 332 | HPPA_INS_HAVG, |
| 333 | HPPA_INS_HSHL, |
| 334 | HPPA_INS_HSHLADD, |
| 335 | HPPA_INS_HSHR, |
| 336 | HPPA_INS_HSHRADD, |
| 337 | HPPA_INS_HSUB, |
| 338 | HPPA_INS_IDTLBA, |
| 339 | HPPA_INS_IDTLBP, |
| 340 | HPPA_INS_IDTLBT, |
| 341 | HPPA_INS_IDCOR, |
| 342 | HPPA_INS_IITLBA, |
| 343 | HPPA_INS_IITLBP, |
| 344 | HPPA_INS_IITLBT, |
| 345 | HPPA_INS_LCI, |
| 346 | HPPA_INS_LDB, |
| 347 | HPPA_INS_LDBS, |
| 348 | HPPA_INS_LDBX, |
| 349 | HPPA_INS_LDCD, |
| 350 | HPPA_INS_LDCW, |
| 351 | HPPA_INS_LDCWS, |
| 352 | HPPA_INS_LDCWX, |
| 353 | HPPA_INS_LDD, |
| 354 | HPPA_INS_LDDA, |
| 355 | HPPA_INS_LDH, |
| 356 | HPPA_INS_LDHS, |
| 357 | HPPA_INS_LDHX, |
| 358 | HPPA_INS_LDI, |
| 359 | HPPA_INS_LDIL, |
| 360 | HPPA_INS_LDO, |
| 361 | HPPA_INS_LDSID, |
| 362 | HPPA_INS_LDW, |
| 363 | HPPA_INS_LDWA, |
| 364 | HPPA_INS_LDWAS, |
| 365 | HPPA_INS_LDWAX, |
| 366 | HPPA_INS_LDWM, |
| 367 | HPPA_INS_LDWS, |
| 368 | HPPA_INS_LDWX, |
| 369 | HPPA_INS_LPA, |
| 370 | HPPA_INS_MFCPU, |
| 371 | HPPA_INS_MFCTL, |
| 372 | HPPA_INS_MFIA, |
| 373 | HPPA_INS_MFSP, |
| 374 | HPPA_INS_MIXH, |
| 375 | HPPA_INS_MIXW, |
| 376 | HPPA_INS_MOVB, |
| 377 | HPPA_INS_MOVIB, |
| 378 | HPPA_INS_MTCPU, |
| 379 | HPPA_INS_MTCTL, |
| 380 | HPPA_INS_MTSAR, |
| 381 | HPPA_INS_MTSARCM, |
| 382 | HPPA_INS_MTSM, |
| 383 | HPPA_INS_MTSP, |
| 384 | HPPA_INS_NOP, |
| 385 | HPPA_INS_OR, |
| 386 | HPPA_INS_PDC, |
| 387 | HPPA_INS_PDTLB, |
| 388 | HPPA_INS_PDTLBE, |
| 389 | HPPA_INS_PERMH, |
| 390 | HPPA_INS_PITLB, |
| 391 | HPPA_INS_PITLBE, |
| 392 | HPPA_INS_PMDIS, |
| 393 | HPPA_INS_PMENB, |
| 394 | HPPA_INS_POPBTS, |
| 395 | HPPA_INS_PROBE, |
| 396 | HPPA_INS_PROBEI, |
| 397 | HPPA_INS_PROBER, |
| 398 | HPPA_INS_PROBERI, |
| 399 | HPPA_INS_PROBEW, |
| 400 | HPPA_INS_PROBEWI, |
| 401 | HPPA_INS_PUSHBTS, |
| 402 | HPPA_INS_PUSHNOM, |
| 403 | HPPA_INS_RET, |
| 404 | HPPA_INS_RFI, |
| 405 | HPPA_INS_RFIR, |
| 406 | HPPA_INS_RSM, |
| 407 | HPPA_INS_SHDWGR, |
| 408 | HPPA_INS_SHLADD, |
| 409 | HPPA_INS_SH1ADD, |
| 410 | HPPA_INS_SH1ADDL, |
| 411 | HPPA_INS_SH1ADDO, |
| 412 | HPPA_INS_SH2ADD, |
| 413 | HPPA_INS_SH2ADDL, |
| 414 | HPPA_INS_SH2ADDO, |
| 415 | HPPA_INS_SH3ADD, |
| 416 | HPPA_INS_SH3ADDL, |
| 417 | HPPA_INS_SH3ADDO, |
| 418 | HPPA_INS_SHD, |
| 419 | HPPA_INS_SHRPD, |
| 420 | HPPA_INS_SHRPW, |
| 421 | HPPA_INS_SPOP0, |
| 422 | HPPA_INS_SPOP1, |
| 423 | HPPA_INS_SPOP2, |
| 424 | HPPA_INS_SPOP3, |
| 425 | HPPA_INS_SSM, |
| 426 | HPPA_INS_STB, |
| 427 | HPPA_INS_STBS, |
| 428 | HPPA_INS_STBY, |
| 429 | HPPA_INS_STBYS, |
| 430 | HPPA_INS_STD, |
| 431 | HPPA_INS_STDA, |
| 432 | HPPA_INS_STDBY, |
| 433 | HPPA_INS_STH, |
| 434 | HPPA_INS_STHS, |
| 435 | HPPA_INS_STW, |
| 436 | HPPA_INS_STWA, |
| 437 | HPPA_INS_STWAS, |
| 438 | HPPA_INS_STWS, |
| 439 | HPPA_INS_STWM, |
| 440 | HPPA_INS_SUB, |
| 441 | HPPA_INS_SUBB, |
| 442 | HPPA_INS_SUBBO, |
| 443 | HPPA_INS_SUBI, |
| 444 | HPPA_INS_SUBIO, |
| 445 | HPPA_INS_SUBO, |
| 446 | HPPA_INS_SUBT, |
| 447 | HPPA_INS_SUBTO, |
| 448 | HPPA_INS_SYNC, |
| 449 | HPPA_INS_SYNCDMA, |
| 450 | HPPA_INS_TOCDIS, |
| 451 | HPPA_INS_TOCEN, |
| 452 | HPPA_INS_UADDCM, |
| 453 | HPPA_INS_UADDCMT, |
| 454 | HPPA_INS_UXOR, |
| 455 | HPPA_INS_VDEP, |
| 456 | HPPA_INS_VDEPI, |
| 457 | HPPA_INS_VEXTRS, |
| 458 | HPPA_INS_VEXTRU, |
| 459 | HPPA_INS_VSHD, |
| 460 | HPPA_INS_XMPYU, |
| 461 | HPPA_INS_XOR, |
| 462 | HPPA_INS_ZDEP, |
| 463 | HPPA_INS_ZDEPI, |
| 464 | HPPA_INS_ZVDEP, |
| 465 | HPPA_INS_ZVDEPI, |
| 466 | |
| 467 | HPPA_INS_ENDING |
| 468 | } hppa_insn; |
| 469 | |
| 470 | /// HPPA space select operand |
| 471 | typedef struct hppa_mem { |
| 472 | hppa_reg base; |
| 473 | hppa_reg space; |
| 474 | cs_ac_type base_access; |
| 475 | } hppa_mem; |
| 476 | |
| 477 | // Instruction operand |
| 478 | typedef struct cs_hppa_op { |
| 479 | hppa_op_type type; ///< operand type |
| 480 | union { |
| 481 | hppa_reg reg; ///< register value for REG operand |
| 482 | int64_t imm; ///< immediate value for IMM operand |
| 483 | hppa_mem mem; |
| 484 | }; |
| 485 | cs_ac_type access; |
| 486 | } cs_hppa_op; |
| 487 | |
| 488 | // Instruction structure |
| 489 | typedef struct cs_hppa { |
| 490 | // Number of operands of this instruction, |
| 491 | // or 0 when instruction has no operand. |
| 492 | uint8_t op_count; |
| 493 | cs_hppa_op operands[NUM_HPPA_OPS]; ///< operands for hppa instruction. |
| 494 | } cs_hppa; |
| 495 | |
| 496 | /// HPPA modifiers type. Can be string (most of them) or int (uid, sop) |
| 497 | typedef enum hppa_modifier_type { |
| 498 | HPPA_MOD_STR = 0, |
| 499 | HPPA_MOD_INT = 1 |
| 500 | } hppa_modifier_type; |
| 501 | |
| 502 | /// hppa string/integer modifier |
| 503 | typedef struct hppa_modifier { |
| 504 | hppa_modifier_type type; |
| 505 | union { |
| 506 | char str_mod[HPPA_STR_MODIFIER_LEN]; |
| 507 | uint32_t int_mod; |
| 508 | }; |
| 509 | |
| 510 | } hppa_modifier; |
| 511 | |
| 512 | // Additional instruction info |
| 513 | typedef struct hppa_ext { |
| 514 | hppa_modifier modifiers[HPPA_MAX_MODIFIERS_LEN]; ///< instruction modifiers array |
| 515 | uint8_t mod_num; ///< number of modifiers of current instruction |
| 516 | bool b_writeble; ///< true if some load/store modifier has modify base register bit |
| 517 | bool is_alternative; ///< true if some modifier affects instruction format |
| 518 | } hppa_ext; |
| 519 | |
| 520 | // Group of HPPA instructions |
| 521 | typedef enum hppa_insn_group { |
| 522 | HPPA_GRP_INVALID = 0, ///< = CS_GRP_INVALID |
| 523 | |
| 524 | HPPA_GRP_COMPUTATION = 128, |
| 525 | HPPA_GRP_MULTIMEDIA, |
| 526 | HPPA_GRP_MEM_REF, |
| 527 | HPPA_GRP_LONG_IMM, |
| 528 | HPPA_GRP_BRANCH, |
| 529 | HPPA_GRP_SYSCTRL, |
| 530 | HPPA_GRP_ASSIST, |
| 531 | HPPA_GRP_FLOAT, |
| 532 | HPPA_GRP_PERFMON, |
| 533 | |
| 534 | HPPA_GRP_ENDING, |
| 535 | } hppa_insn_group; |
| 536 | |
| 537 | #ifdef __cplusplus |
| 538 | } |
| 539 | #endif |
| 540 | |
| 541 | #endif |
| 542 |