1 #ifndef CAPSTONE_SYSTEMZ_H 2 #define CAPSTONE_SYSTEMZ_H 3 4 /* Capstone Disassembly Engine */ 5 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2014-2015 */ 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "platform.h" 12 13 #ifdef _MSC_VER 14 #pragma warning(disable:4201) 15 #endif 16 17 /// Enums corresponding to SystemZ condition codes 18 typedef enum sysz_cc { 19 SYSZ_CC_INVALID = 0, ///< invalid CC (default) 20 21 SYSZ_CC_O, 22 SYSZ_CC_H, 23 SYSZ_CC_NLE, 24 SYSZ_CC_L, 25 SYSZ_CC_NHE, 26 SYSZ_CC_LH, 27 SYSZ_CC_NE, 28 SYSZ_CC_E, 29 SYSZ_CC_NLH, 30 SYSZ_CC_HE, 31 SYSZ_CC_NL, 32 SYSZ_CC_LE, 33 SYSZ_CC_NH, 34 SYSZ_CC_NO, 35 } sysz_cc; 36 37 /// Operand type for instruction's operands 38 typedef enum sysz_op_type { 39 SYSZ_OP_INVALID = 0, ///< = CS_OP_INVALID (Uninitialized). 40 SYSZ_OP_REG, ///< = CS_OP_REG (Register operand). 41 SYSZ_OP_IMM, ///< = CS_OP_IMM (Immediate operand). 42 SYSZ_OP_MEM, ///< = CS_OP_MEM (Memory operand). 43 SYSZ_OP_ACREG = 64, ///< Access register operand. 44 } sysz_op_type; 45 46 /// SystemZ registers 47 typedef enum sysz_reg { 48 SYSZ_REG_INVALID = 0, 49 50 SYSZ_REG_0, 51 SYSZ_REG_1, 52 SYSZ_REG_2, 53 SYSZ_REG_3, 54 SYSZ_REG_4, 55 SYSZ_REG_5, 56 SYSZ_REG_6, 57 SYSZ_REG_7, 58 SYSZ_REG_8, 59 SYSZ_REG_9, 60 SYSZ_REG_10, 61 SYSZ_REG_11, 62 SYSZ_REG_12, 63 SYSZ_REG_13, 64 SYSZ_REG_14, 65 SYSZ_REG_15, 66 SYSZ_REG_CC, 67 SYSZ_REG_F0, 68 SYSZ_REG_F1, 69 SYSZ_REG_F2, 70 SYSZ_REG_F3, 71 SYSZ_REG_F4, 72 SYSZ_REG_F5, 73 SYSZ_REG_F6, 74 SYSZ_REG_F7, 75 SYSZ_REG_F8, 76 SYSZ_REG_F9, 77 SYSZ_REG_F10, 78 SYSZ_REG_F11, 79 SYSZ_REG_F12, 80 SYSZ_REG_F13, 81 SYSZ_REG_F14, 82 SYSZ_REG_F15, 83 84 SYSZ_REG_R0L, 85 86 SYSZ_REG_ENDING, 87 } sysz_reg; 88 89 /// Instruction's operand referring to memory 90 /// This is associated with SYSZ_OP_MEM operand type above 91 typedef struct sysz_op_mem { 92 uint8_t base; ///< base register, can be safely interpreted as 93 ///< a value of type `sysz_reg`, but it is only 94 ///< one byte wide 95 uint8_t index; ///< index register, same conditions apply here 96 uint64_t length; ///< BDLAddr operand 97 int64_t disp; ///< displacement/offset value 98 } sysz_op_mem; 99 100 /// Instruction operand 101 typedef struct cs_sysz_op { 102 sysz_op_type type; ///< operand type 103 union { 104 sysz_reg reg; ///< register value for REG operand 105 int64_t imm; ///< immediate value for IMM operand 106 sysz_op_mem mem; ///< base/disp value for MEM operand 107 }; 108 } cs_sysz_op; 109 110 // Instruction structure 111 typedef struct cs_sysz { 112 sysz_cc cc; ///< Code condition 113 /// Number of operands of this instruction, 114 /// or 0 when instruction has no operand. 115 uint8_t op_count; 116 cs_sysz_op operands[6]; ///< operands for this instruction. 117 } cs_sysz; 118 119 /// SystemZ instruction 120 typedef enum sysz_insn { 121 SYSZ_INS_INVALID = 0, 122 123 SYSZ_INS_A, 124 SYSZ_INS_ADB, 125 SYSZ_INS_ADBR, 126 SYSZ_INS_AEB, 127 SYSZ_INS_AEBR, 128 SYSZ_INS_AFI, 129 SYSZ_INS_AG, 130 SYSZ_INS_AGF, 131 SYSZ_INS_AGFI, 132 SYSZ_INS_AGFR, 133 SYSZ_INS_AGHI, 134 SYSZ_INS_AGHIK, 135 SYSZ_INS_AGR, 136 SYSZ_INS_AGRK, 137 SYSZ_INS_AGSI, 138 SYSZ_INS_AH, 139 SYSZ_INS_AHI, 140 SYSZ_INS_AHIK, 141 SYSZ_INS_AHY, 142 SYSZ_INS_AIH, 143 SYSZ_INS_AL, 144 SYSZ_INS_ALC, 145 SYSZ_INS_ALCG, 146 SYSZ_INS_ALCGR, 147 SYSZ_INS_ALCR, 148 SYSZ_INS_ALFI, 149 SYSZ_INS_ALG, 150 SYSZ_INS_ALGF, 151 SYSZ_INS_ALGFI, 152 SYSZ_INS_ALGFR, 153 SYSZ_INS_ALGHSIK, 154 SYSZ_INS_ALGR, 155 SYSZ_INS_ALGRK, 156 SYSZ_INS_ALHSIK, 157 SYSZ_INS_ALR, 158 SYSZ_INS_ALRK, 159 SYSZ_INS_ALY, 160 SYSZ_INS_AR, 161 SYSZ_INS_ARK, 162 SYSZ_INS_ASI, 163 SYSZ_INS_AXBR, 164 SYSZ_INS_AY, 165 SYSZ_INS_BCR, 166 SYSZ_INS_BRC, 167 SYSZ_INS_BRCL, 168 SYSZ_INS_CGIJ, 169 SYSZ_INS_CGRJ, 170 SYSZ_INS_CIJ, 171 SYSZ_INS_CLGIJ, 172 SYSZ_INS_CLGRJ, 173 SYSZ_INS_CLIJ, 174 SYSZ_INS_CLRJ, 175 SYSZ_INS_CRJ, 176 SYSZ_INS_BER, 177 SYSZ_INS_JE, 178 SYSZ_INS_JGE, 179 SYSZ_INS_LOCE, 180 SYSZ_INS_LOCGE, 181 SYSZ_INS_LOCGRE, 182 SYSZ_INS_LOCRE, 183 SYSZ_INS_STOCE, 184 SYSZ_INS_STOCGE, 185 SYSZ_INS_BHR, 186 SYSZ_INS_BHER, 187 SYSZ_INS_JHE, 188 SYSZ_INS_JGHE, 189 SYSZ_INS_LOCHE, 190 SYSZ_INS_LOCGHE, 191 SYSZ_INS_LOCGRHE, 192 SYSZ_INS_LOCRHE, 193 SYSZ_INS_STOCHE, 194 SYSZ_INS_STOCGHE, 195 SYSZ_INS_JH, 196 SYSZ_INS_JGH, 197 SYSZ_INS_LOCH, 198 SYSZ_INS_LOCGH, 199 SYSZ_INS_LOCGRH, 200 SYSZ_INS_LOCRH, 201 SYSZ_INS_STOCH, 202 SYSZ_INS_STOCGH, 203 SYSZ_INS_CGIJNLH, 204 SYSZ_INS_CGRJNLH, 205 SYSZ_INS_CIJNLH, 206 SYSZ_INS_CLGIJNLH, 207 SYSZ_INS_CLGRJNLH, 208 SYSZ_INS_CLIJNLH, 209 SYSZ_INS_CLRJNLH, 210 SYSZ_INS_CRJNLH, 211 SYSZ_INS_CGIJE, 212 SYSZ_INS_CGRJE, 213 SYSZ_INS_CIJE, 214 SYSZ_INS_CLGIJE, 215 SYSZ_INS_CLGRJE, 216 SYSZ_INS_CLIJE, 217 SYSZ_INS_CLRJE, 218 SYSZ_INS_CRJE, 219 SYSZ_INS_CGIJNLE, 220 SYSZ_INS_CGRJNLE, 221 SYSZ_INS_CIJNLE, 222 SYSZ_INS_CLGIJNLE, 223 SYSZ_INS_CLGRJNLE, 224 SYSZ_INS_CLIJNLE, 225 SYSZ_INS_CLRJNLE, 226 SYSZ_INS_CRJNLE, 227 SYSZ_INS_CGIJH, 228 SYSZ_INS_CGRJH, 229 SYSZ_INS_CIJH, 230 SYSZ_INS_CLGIJH, 231 SYSZ_INS_CLGRJH, 232 SYSZ_INS_CLIJH, 233 SYSZ_INS_CLRJH, 234 SYSZ_INS_CRJH, 235 SYSZ_INS_CGIJNL, 236 SYSZ_INS_CGRJNL, 237 SYSZ_INS_CIJNL, 238 SYSZ_INS_CLGIJNL, 239 SYSZ_INS_CLGRJNL, 240 SYSZ_INS_CLIJNL, 241 SYSZ_INS_CLRJNL, 242 SYSZ_INS_CRJNL, 243 SYSZ_INS_CGIJHE, 244 SYSZ_INS_CGRJHE, 245 SYSZ_INS_CIJHE, 246 SYSZ_INS_CLGIJHE, 247 SYSZ_INS_CLGRJHE, 248 SYSZ_INS_CLIJHE, 249 SYSZ_INS_CLRJHE, 250 SYSZ_INS_CRJHE, 251 SYSZ_INS_CGIJNHE, 252 SYSZ_INS_CGRJNHE, 253 SYSZ_INS_CIJNHE, 254 SYSZ_INS_CLGIJNHE, 255 SYSZ_INS_CLGRJNHE, 256 SYSZ_INS_CLIJNHE, 257 SYSZ_INS_CLRJNHE, 258 SYSZ_INS_CRJNHE, 259 SYSZ_INS_CGIJL, 260 SYSZ_INS_CGRJL, 261 SYSZ_INS_CIJL, 262 SYSZ_INS_CLGIJL, 263 SYSZ_INS_CLGRJL, 264 SYSZ_INS_CLIJL, 265 SYSZ_INS_CLRJL, 266 SYSZ_INS_CRJL, 267 SYSZ_INS_CGIJNH, 268 SYSZ_INS_CGRJNH, 269 SYSZ_INS_CIJNH, 270 SYSZ_INS_CLGIJNH, 271 SYSZ_INS_CLGRJNH, 272 SYSZ_INS_CLIJNH, 273 SYSZ_INS_CLRJNH, 274 SYSZ_INS_CRJNH, 275 SYSZ_INS_CGIJLE, 276 SYSZ_INS_CGRJLE, 277 SYSZ_INS_CIJLE, 278 SYSZ_INS_CLGIJLE, 279 SYSZ_INS_CLGRJLE, 280 SYSZ_INS_CLIJLE, 281 SYSZ_INS_CLRJLE, 282 SYSZ_INS_CRJLE, 283 SYSZ_INS_CGIJNE, 284 SYSZ_INS_CGRJNE, 285 SYSZ_INS_CIJNE, 286 SYSZ_INS_CLGIJNE, 287 SYSZ_INS_CLGRJNE, 288 SYSZ_INS_CLIJNE, 289 SYSZ_INS_CLRJNE, 290 SYSZ_INS_CRJNE, 291 SYSZ_INS_CGIJLH, 292 SYSZ_INS_CGRJLH, 293 SYSZ_INS_CIJLH, 294 SYSZ_INS_CLGIJLH, 295 SYSZ_INS_CLGRJLH, 296 SYSZ_INS_CLIJLH, 297 SYSZ_INS_CLRJLH, 298 SYSZ_INS_CRJLH, 299 SYSZ_INS_BLR, 300 SYSZ_INS_BLER, 301 SYSZ_INS_JLE, 302 SYSZ_INS_JGLE, 303 SYSZ_INS_LOCLE, 304 SYSZ_INS_LOCGLE, 305 SYSZ_INS_LOCGRLE, 306 SYSZ_INS_LOCRLE, 307 SYSZ_INS_STOCLE, 308 SYSZ_INS_STOCGLE, 309 SYSZ_INS_BLHR, 310 SYSZ_INS_JLH, 311 SYSZ_INS_JGLH, 312 SYSZ_INS_LOCLH, 313 SYSZ_INS_LOCGLH, 314 SYSZ_INS_LOCGRLH, 315 SYSZ_INS_LOCRLH, 316 SYSZ_INS_STOCLH, 317 SYSZ_INS_STOCGLH, 318 SYSZ_INS_JL, 319 SYSZ_INS_JGL, 320 SYSZ_INS_LOCL, 321 SYSZ_INS_LOCGL, 322 SYSZ_INS_LOCGRL, 323 SYSZ_INS_LOCRL, 324 SYSZ_INS_LOC, 325 SYSZ_INS_LOCG, 326 SYSZ_INS_LOCGR, 327 SYSZ_INS_LOCR, 328 SYSZ_INS_STOCL, 329 SYSZ_INS_STOCGL, 330 SYSZ_INS_BNER, 331 SYSZ_INS_JNE, 332 SYSZ_INS_JGNE, 333 SYSZ_INS_LOCNE, 334 SYSZ_INS_LOCGNE, 335 SYSZ_INS_LOCGRNE, 336 SYSZ_INS_LOCRNE, 337 SYSZ_INS_STOCNE, 338 SYSZ_INS_STOCGNE, 339 SYSZ_INS_BNHR, 340 SYSZ_INS_BNHER, 341 SYSZ_INS_JNHE, 342 SYSZ_INS_JGNHE, 343 SYSZ_INS_LOCNHE, 344 SYSZ_INS_LOCGNHE, 345 SYSZ_INS_LOCGRNHE, 346 SYSZ_INS_LOCRNHE, 347 SYSZ_INS_STOCNHE, 348 SYSZ_INS_STOCGNHE, 349 SYSZ_INS_JNH, 350 SYSZ_INS_JGNH, 351 SYSZ_INS_LOCNH, 352 SYSZ_INS_LOCGNH, 353 SYSZ_INS_LOCGRNH, 354 SYSZ_INS_LOCRNH, 355 SYSZ_INS_STOCNH, 356 SYSZ_INS_STOCGNH, 357 SYSZ_INS_BNLR, 358 SYSZ_INS_BNLER, 359 SYSZ_INS_JNLE, 360 SYSZ_INS_JGNLE, 361 SYSZ_INS_LOCNLE, 362 SYSZ_INS_LOCGNLE, 363 SYSZ_INS_LOCGRNLE, 364 SYSZ_INS_LOCRNLE, 365 SYSZ_INS_STOCNLE, 366 SYSZ_INS_STOCGNLE, 367 SYSZ_INS_BNLHR, 368 SYSZ_INS_JNLH, 369 SYSZ_INS_JGNLH, 370 SYSZ_INS_LOCNLH, 371 SYSZ_INS_LOCGNLH, 372 SYSZ_INS_LOCGRNLH, 373 SYSZ_INS_LOCRNLH, 374 SYSZ_INS_STOCNLH, 375 SYSZ_INS_STOCGNLH, 376 SYSZ_INS_JNL, 377 SYSZ_INS_JGNL, 378 SYSZ_INS_LOCNL, 379 SYSZ_INS_LOCGNL, 380 SYSZ_INS_LOCGRNL, 381 SYSZ_INS_LOCRNL, 382 SYSZ_INS_STOCNL, 383 SYSZ_INS_STOCGNL, 384 SYSZ_INS_BNOR, 385 SYSZ_INS_JNO, 386 SYSZ_INS_JGNO, 387 SYSZ_INS_LOCNO, 388 SYSZ_INS_LOCGNO, 389 SYSZ_INS_LOCGRNO, 390 SYSZ_INS_LOCRNO, 391 SYSZ_INS_STOCNO, 392 SYSZ_INS_STOCGNO, 393 SYSZ_INS_BOR, 394 SYSZ_INS_JO, 395 SYSZ_INS_JGO, 396 SYSZ_INS_LOCO, 397 SYSZ_INS_LOCGO, 398 SYSZ_INS_LOCGRO, 399 SYSZ_INS_LOCRO, 400 SYSZ_INS_STOCO, 401 SYSZ_INS_STOCGO, 402 SYSZ_INS_STOC, 403 SYSZ_INS_STOCG, 404 SYSZ_INS_BASR, 405 SYSZ_INS_BR, 406 SYSZ_INS_BRAS, 407 SYSZ_INS_BRASL, 408 SYSZ_INS_J, 409 SYSZ_INS_JG, 410 SYSZ_INS_BRCT, 411 SYSZ_INS_BRCTG, 412 SYSZ_INS_C, 413 SYSZ_INS_CDB, 414 SYSZ_INS_CDBR, 415 SYSZ_INS_CDFBR, 416 SYSZ_INS_CDGBR, 417 SYSZ_INS_CDLFBR, 418 SYSZ_INS_CDLGBR, 419 SYSZ_INS_CEB, 420 SYSZ_INS_CEBR, 421 SYSZ_INS_CEFBR, 422 SYSZ_INS_CEGBR, 423 SYSZ_INS_CELFBR, 424 SYSZ_INS_CELGBR, 425 SYSZ_INS_CFDBR, 426 SYSZ_INS_CFEBR, 427 SYSZ_INS_CFI, 428 SYSZ_INS_CFXBR, 429 SYSZ_INS_CG, 430 SYSZ_INS_CGDBR, 431 SYSZ_INS_CGEBR, 432 SYSZ_INS_CGF, 433 SYSZ_INS_CGFI, 434 SYSZ_INS_CGFR, 435 SYSZ_INS_CGFRL, 436 SYSZ_INS_CGH, 437 SYSZ_INS_CGHI, 438 SYSZ_INS_CGHRL, 439 SYSZ_INS_CGHSI, 440 SYSZ_INS_CGR, 441 SYSZ_INS_CGRL, 442 SYSZ_INS_CGXBR, 443 SYSZ_INS_CH, 444 SYSZ_INS_CHF, 445 SYSZ_INS_CHHSI, 446 SYSZ_INS_CHI, 447 SYSZ_INS_CHRL, 448 SYSZ_INS_CHSI, 449 SYSZ_INS_CHY, 450 SYSZ_INS_CIH, 451 SYSZ_INS_CL, 452 SYSZ_INS_CLC, 453 SYSZ_INS_CLFDBR, 454 SYSZ_INS_CLFEBR, 455 SYSZ_INS_CLFHSI, 456 SYSZ_INS_CLFI, 457 SYSZ_INS_CLFXBR, 458 SYSZ_INS_CLG, 459 SYSZ_INS_CLGDBR, 460 SYSZ_INS_CLGEBR, 461 SYSZ_INS_CLGF, 462 SYSZ_INS_CLGFI, 463 SYSZ_INS_CLGFR, 464 SYSZ_INS_CLGFRL, 465 SYSZ_INS_CLGHRL, 466 SYSZ_INS_CLGHSI, 467 SYSZ_INS_CLGR, 468 SYSZ_INS_CLGRL, 469 SYSZ_INS_CLGXBR, 470 SYSZ_INS_CLHF, 471 SYSZ_INS_CLHHSI, 472 SYSZ_INS_CLHRL, 473 SYSZ_INS_CLI, 474 SYSZ_INS_CLIH, 475 SYSZ_INS_CLIY, 476 SYSZ_INS_CLR, 477 SYSZ_INS_CLRL, 478 SYSZ_INS_CLST, 479 SYSZ_INS_CLY, 480 SYSZ_INS_CPSDR, 481 SYSZ_INS_CR, 482 SYSZ_INS_CRL, 483 SYSZ_INS_CS, 484 SYSZ_INS_CSG, 485 SYSZ_INS_CSY, 486 SYSZ_INS_CXBR, 487 SYSZ_INS_CXFBR, 488 SYSZ_INS_CXGBR, 489 SYSZ_INS_CXLFBR, 490 SYSZ_INS_CXLGBR, 491 SYSZ_INS_CY, 492 SYSZ_INS_DDB, 493 SYSZ_INS_DDBR, 494 SYSZ_INS_DEB, 495 SYSZ_INS_DEBR, 496 SYSZ_INS_DL, 497 SYSZ_INS_DLG, 498 SYSZ_INS_DLGR, 499 SYSZ_INS_DLR, 500 SYSZ_INS_DSG, 501 SYSZ_INS_DSGF, 502 SYSZ_INS_DSGFR, 503 SYSZ_INS_DSGR, 504 SYSZ_INS_DXBR, 505 SYSZ_INS_EAR, 506 SYSZ_INS_FIDBR, 507 SYSZ_INS_FIDBRA, 508 SYSZ_INS_FIEBR, 509 SYSZ_INS_FIEBRA, 510 SYSZ_INS_FIXBR, 511 SYSZ_INS_FIXBRA, 512 SYSZ_INS_FLOGR, 513 SYSZ_INS_IC, 514 SYSZ_INS_ICY, 515 SYSZ_INS_IIHF, 516 SYSZ_INS_IIHH, 517 SYSZ_INS_IIHL, 518 SYSZ_INS_IILF, 519 SYSZ_INS_IILH, 520 SYSZ_INS_IILL, 521 SYSZ_INS_IPM, 522 SYSZ_INS_L, 523 SYSZ_INS_LA, 524 SYSZ_INS_LAA, 525 SYSZ_INS_LAAG, 526 SYSZ_INS_LAAL, 527 SYSZ_INS_LAALG, 528 SYSZ_INS_LAN, 529 SYSZ_INS_LANG, 530 SYSZ_INS_LAO, 531 SYSZ_INS_LAOG, 532 SYSZ_INS_LARL, 533 SYSZ_INS_LAX, 534 SYSZ_INS_LAXG, 535 SYSZ_INS_LAY, 536 SYSZ_INS_LB, 537 SYSZ_INS_LBH, 538 SYSZ_INS_LBR, 539 SYSZ_INS_LCDBR, 540 SYSZ_INS_LCEBR, 541 SYSZ_INS_LCGFR, 542 SYSZ_INS_LCGR, 543 SYSZ_INS_LCR, 544 SYSZ_INS_LCXBR, 545 SYSZ_INS_LD, 546 SYSZ_INS_LDEB, 547 SYSZ_INS_LDEBR, 548 SYSZ_INS_LDGR, 549 SYSZ_INS_LDR, 550 SYSZ_INS_LDXBR, 551 SYSZ_INS_LDXBRA, 552 SYSZ_INS_LDY, 553 SYSZ_INS_LE, 554 SYSZ_INS_LEDBR, 555 SYSZ_INS_LEDBRA, 556 SYSZ_INS_LER, 557 SYSZ_INS_LEXBR, 558 SYSZ_INS_LEXBRA, 559 SYSZ_INS_LEY, 560 SYSZ_INS_LFH, 561 SYSZ_INS_LG, 562 SYSZ_INS_LGB, 563 SYSZ_INS_LGBR, 564 SYSZ_INS_LGDR, 565 SYSZ_INS_LGF, 566 SYSZ_INS_LGFI, 567 SYSZ_INS_LGFR, 568 SYSZ_INS_LGFRL, 569 SYSZ_INS_LGH, 570 SYSZ_INS_LGHI, 571 SYSZ_INS_LGHR, 572 SYSZ_INS_LGHRL, 573 SYSZ_INS_LGR, 574 SYSZ_INS_LGRL, 575 SYSZ_INS_LH, 576 SYSZ_INS_LHH, 577 SYSZ_INS_LHI, 578 SYSZ_INS_LHR, 579 SYSZ_INS_LHRL, 580 SYSZ_INS_LHY, 581 SYSZ_INS_LLC, 582 SYSZ_INS_LLCH, 583 SYSZ_INS_LLCR, 584 SYSZ_INS_LLGC, 585 SYSZ_INS_LLGCR, 586 SYSZ_INS_LLGF, 587 SYSZ_INS_LLGFR, 588 SYSZ_INS_LLGFRL, 589 SYSZ_INS_LLGH, 590 SYSZ_INS_LLGHR, 591 SYSZ_INS_LLGHRL, 592 SYSZ_INS_LLH, 593 SYSZ_INS_LLHH, 594 SYSZ_INS_LLHR, 595 SYSZ_INS_LLHRL, 596 SYSZ_INS_LLIHF, 597 SYSZ_INS_LLIHH, 598 SYSZ_INS_LLIHL, 599 SYSZ_INS_LLILF, 600 SYSZ_INS_LLILH, 601 SYSZ_INS_LLILL, 602 SYSZ_INS_LMG, 603 SYSZ_INS_LNDBR, 604 SYSZ_INS_LNEBR, 605 SYSZ_INS_LNGFR, 606 SYSZ_INS_LNGR, 607 SYSZ_INS_LNR, 608 SYSZ_INS_LNXBR, 609 SYSZ_INS_LPDBR, 610 SYSZ_INS_LPEBR, 611 SYSZ_INS_LPGFR, 612 SYSZ_INS_LPGR, 613 SYSZ_INS_LPR, 614 SYSZ_INS_LPXBR, 615 SYSZ_INS_LR, 616 SYSZ_INS_LRL, 617 SYSZ_INS_LRV, 618 SYSZ_INS_LRVG, 619 SYSZ_INS_LRVGR, 620 SYSZ_INS_LRVR, 621 SYSZ_INS_LT, 622 SYSZ_INS_LTDBR, 623 SYSZ_INS_LTEBR, 624 SYSZ_INS_LTG, 625 SYSZ_INS_LTGF, 626 SYSZ_INS_LTGFR, 627 SYSZ_INS_LTGR, 628 SYSZ_INS_LTR, 629 SYSZ_INS_LTXBR, 630 SYSZ_INS_LXDB, 631 SYSZ_INS_LXDBR, 632 SYSZ_INS_LXEB, 633 SYSZ_INS_LXEBR, 634 SYSZ_INS_LXR, 635 SYSZ_INS_LY, 636 SYSZ_INS_LZDR, 637 SYSZ_INS_LZER, 638 SYSZ_INS_LZXR, 639 SYSZ_INS_MADB, 640 SYSZ_INS_MADBR, 641 SYSZ_INS_MAEB, 642 SYSZ_INS_MAEBR, 643 SYSZ_INS_MDB, 644 SYSZ_INS_MDBR, 645 SYSZ_INS_MDEB, 646 SYSZ_INS_MDEBR, 647 SYSZ_INS_MEEB, 648 SYSZ_INS_MEEBR, 649 SYSZ_INS_MGHI, 650 SYSZ_INS_MH, 651 SYSZ_INS_MHI, 652 SYSZ_INS_MHY, 653 SYSZ_INS_MLG, 654 SYSZ_INS_MLGR, 655 SYSZ_INS_MS, 656 SYSZ_INS_MSDB, 657 SYSZ_INS_MSDBR, 658 SYSZ_INS_MSEB, 659 SYSZ_INS_MSEBR, 660 SYSZ_INS_MSFI, 661 SYSZ_INS_MSG, 662 SYSZ_INS_MSGF, 663 SYSZ_INS_MSGFI, 664 SYSZ_INS_MSGFR, 665 SYSZ_INS_MSGR, 666 SYSZ_INS_MSR, 667 SYSZ_INS_MSY, 668 SYSZ_INS_MVC, 669 SYSZ_INS_MVGHI, 670 SYSZ_INS_MVHHI, 671 SYSZ_INS_MVHI, 672 SYSZ_INS_MVI, 673 SYSZ_INS_MVIY, 674 SYSZ_INS_MVST, 675 SYSZ_INS_MXBR, 676 SYSZ_INS_MXDB, 677 SYSZ_INS_MXDBR, 678 SYSZ_INS_N, 679 SYSZ_INS_NC, 680 SYSZ_INS_NG, 681 SYSZ_INS_NGR, 682 SYSZ_INS_NGRK, 683 SYSZ_INS_NI, 684 SYSZ_INS_NIHF, 685 SYSZ_INS_NIHH, 686 SYSZ_INS_NIHL, 687 SYSZ_INS_NILF, 688 SYSZ_INS_NILH, 689 SYSZ_INS_NILL, 690 SYSZ_INS_NIY, 691 SYSZ_INS_NR, 692 SYSZ_INS_NRK, 693 SYSZ_INS_NY, 694 SYSZ_INS_O, 695 SYSZ_INS_OC, 696 SYSZ_INS_OG, 697 SYSZ_INS_OGR, 698 SYSZ_INS_OGRK, 699 SYSZ_INS_OI, 700 SYSZ_INS_OIHF, 701 SYSZ_INS_OIHH, 702 SYSZ_INS_OIHL, 703 SYSZ_INS_OILF, 704 SYSZ_INS_OILH, 705 SYSZ_INS_OILL, 706 SYSZ_INS_OIY, 707 SYSZ_INS_OR, 708 SYSZ_INS_ORK, 709 SYSZ_INS_OY, 710 SYSZ_INS_PFD, 711 SYSZ_INS_PFDRL, 712 SYSZ_INS_RISBG, 713 SYSZ_INS_RISBHG, 714 SYSZ_INS_RISBLG, 715 SYSZ_INS_RLL, 716 SYSZ_INS_RLLG, 717 SYSZ_INS_RNSBG, 718 SYSZ_INS_ROSBG, 719 SYSZ_INS_RXSBG, 720 SYSZ_INS_S, 721 SYSZ_INS_SDB, 722 SYSZ_INS_SDBR, 723 SYSZ_INS_SEB, 724 SYSZ_INS_SEBR, 725 SYSZ_INS_SG, 726 SYSZ_INS_SGF, 727 SYSZ_INS_SGFR, 728 SYSZ_INS_SGR, 729 SYSZ_INS_SGRK, 730 SYSZ_INS_SH, 731 SYSZ_INS_SHY, 732 SYSZ_INS_SL, 733 SYSZ_INS_SLB, 734 SYSZ_INS_SLBG, 735 SYSZ_INS_SLBR, 736 SYSZ_INS_SLFI, 737 SYSZ_INS_SLG, 738 SYSZ_INS_SLBGR, 739 SYSZ_INS_SLGF, 740 SYSZ_INS_SLGFI, 741 SYSZ_INS_SLGFR, 742 SYSZ_INS_SLGR, 743 SYSZ_INS_SLGRK, 744 SYSZ_INS_SLL, 745 SYSZ_INS_SLLG, 746 SYSZ_INS_SLLK, 747 SYSZ_INS_SLR, 748 SYSZ_INS_SLRK, 749 SYSZ_INS_SLY, 750 SYSZ_INS_SQDB, 751 SYSZ_INS_SQDBR, 752 SYSZ_INS_SQEB, 753 SYSZ_INS_SQEBR, 754 SYSZ_INS_SQXBR, 755 SYSZ_INS_SR, 756 SYSZ_INS_SRA, 757 SYSZ_INS_SRAG, 758 SYSZ_INS_SRAK, 759 SYSZ_INS_SRK, 760 SYSZ_INS_SRL, 761 SYSZ_INS_SRLG, 762 SYSZ_INS_SRLK, 763 SYSZ_INS_SRST, 764 SYSZ_INS_ST, 765 SYSZ_INS_STC, 766 SYSZ_INS_STCH, 767 SYSZ_INS_STCY, 768 SYSZ_INS_STD, 769 SYSZ_INS_STDY, 770 SYSZ_INS_STE, 771 SYSZ_INS_STEY, 772 SYSZ_INS_STFH, 773 SYSZ_INS_STG, 774 SYSZ_INS_STGRL, 775 SYSZ_INS_STH, 776 SYSZ_INS_STHH, 777 SYSZ_INS_STHRL, 778 SYSZ_INS_STHY, 779 SYSZ_INS_STMG, 780 SYSZ_INS_STRL, 781 SYSZ_INS_STRV, 782 SYSZ_INS_STRVG, 783 SYSZ_INS_STY, 784 SYSZ_INS_SXBR, 785 SYSZ_INS_SY, 786 SYSZ_INS_TM, 787 SYSZ_INS_TMHH, 788 SYSZ_INS_TMHL, 789 SYSZ_INS_TMLH, 790 SYSZ_INS_TMLL, 791 SYSZ_INS_TMY, 792 SYSZ_INS_X, 793 SYSZ_INS_XC, 794 SYSZ_INS_XG, 795 SYSZ_INS_XGR, 796 SYSZ_INS_XGRK, 797 SYSZ_INS_XI, 798 SYSZ_INS_XIHF, 799 SYSZ_INS_XILF, 800 SYSZ_INS_XIY, 801 SYSZ_INS_XR, 802 SYSZ_INS_XRK, 803 SYSZ_INS_XY, 804 805 SYSZ_INS_ENDING, // <-- mark the end of the list of instructions 806 } sysz_insn; 807 808 /// Group of SystemZ instructions 809 typedef enum sysz_insn_group { 810 SYSZ_GRP_INVALID = 0, ///< = CS_GRP_INVALID 811 812 // Generic groups 813 // all jump instructions (conditional+direct+indirect jumps) 814 SYSZ_GRP_JUMP, ///< = CS_GRP_JUMP 815 816 // Architecture-specific groups 817 SYSZ_GRP_DISTINCTOPS = 128, 818 SYSZ_GRP_FPEXTENSION, 819 SYSZ_GRP_HIGHWORD, 820 SYSZ_GRP_INTERLOCKEDACCESS1, 821 SYSZ_GRP_LOADSTOREONCOND, 822 823 SYSZ_GRP_ENDING, // <-- mark the end of the list of groups 824 } sysz_insn_group; 825 826 #ifdef __cplusplus 827 } 828 #endif 829 830 #endif 831