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