1 //! \file 2 /* 3 ** Copyright (C) - Triton 4 ** 5 ** This program is under the terms of the Apache License 2.0. 6 */ 7 8 #ifndef TRITON_X86SEMANTICS_H 9 #define TRITON_X86SEMANTICS_H 10 11 #include <triton/architecture.hpp> 12 #include <triton/dllexport.hpp> 13 #include <triton/instruction.hpp> 14 #include <triton/modes.hpp> 15 #include <triton/semanticsInterface.hpp> 16 #include <triton/symbolicEngine.hpp> 17 #include <triton/taintEngine.hpp> 18 19 20 21 //! The Triton namespace 22 namespace triton { 23 /*! 24 * \addtogroup triton 25 * @{ 26 */ 27 28 //! The Architecture namespace 29 namespace arch { 30 /*! 31 * \ingroup triton 32 * \addtogroup arch 33 * @{ 34 */ 35 36 //! The x86 namespace 37 namespace x86 { 38 /*! 39 * \ingroup arch 40 * \addtogroup x86 41 * @{ 42 */ 43 44 /*! \class x86Semantics 45 \brief The x86 ISA semantics. */ 46 class x86Semantics : public SemanticsInterface { 47 private: 48 //! Architecture API 49 triton::arch::Architecture* architecture; 50 51 //! Symbolic Engine API 52 triton::engines::symbolic::SymbolicEngine* symbolicEngine; 53 54 //! Taint Engine API 55 triton::engines::taint::TaintEngine* taintEngine; 56 57 //! The Modes API 58 triton::modes::SharedModes modes; 59 60 //! The AST Context API 61 triton::ast::SharedAstContext astCtxt; 62 63 public: 64 //! Constructor. 65 TRITON_EXPORT x86Semantics(triton::arch::Architecture* architecture, 66 triton::engines::symbolic::SymbolicEngine* symbolicEngine, 67 triton::engines::taint::TaintEngine* taintEngine, 68 const triton::modes::SharedModes& modes, 69 const triton::ast::SharedAstContext& astCtxt); 70 71 //! Builds the semantics of the instruction. Returns true if the instruction is supported. 72 TRITON_EXPORT bool buildSemantics(triton::arch::Instruction& inst); 73 74 private: 75 //! Aligns the stack (add). Returns the new stack value. 76 triton::uint64 alignAddStack_s(triton::arch::Instruction& inst, triton::uint32 delta); 77 78 //! Aligns the stack (sub). Returns the new stack value. 79 triton::uint64 alignSubStack_s(triton::arch::Instruction& inst, triton::uint32 delta); 80 81 //! Clears a flag. 82 void clearFlag_s(triton::arch::Instruction& inst, const triton::arch::Register& flag, std::string comment=""); 83 84 //! Sets a flag. 85 void setFlag_s(triton::arch::Instruction& inst, const triton::arch::Register& flag, std::string comment=""); 86 87 //! Sets a register as undefined. 88 void undefined_s(triton::arch::Instruction& inst, const triton::arch::Register& reg); 89 90 //! Control flow semantics. Used to represent IP. 91 void controlFlow_s(triton::arch::Instruction& inst); 92 93 //! The AF semantics. 94 void af_s(triton::arch::Instruction& inst, 95 const triton::engines::symbolic::SharedSymbolicExpression& parent, 96 triton::arch::OperandWrapper& dst, 97 const triton::ast::SharedAbstractNode& op1, 98 const triton::ast::SharedAbstractNode& op2, 99 bool vol=false); 100 101 //! The AF semantics. 102 void afAaa_s(triton::arch::Instruction& inst, 103 const triton::engines::symbolic::SharedSymbolicExpression& parent, 104 triton::arch::OperandWrapper& dst, 105 const triton::ast::SharedAbstractNode& op1, 106 const triton::ast::SharedAbstractNode& op3, 107 bool vol=false); 108 109 //! The AF semantics. 110 void afNeg_s(triton::arch::Instruction& inst, 111 const triton::engines::symbolic::SharedSymbolicExpression& parent, 112 triton::arch::OperandWrapper& dst, 113 const triton::ast::SharedAbstractNode& op1, 114 bool vol=false); 115 116 //! The CF semantics. 117 void cfAaa_s(triton::arch::Instruction& inst, 118 const triton::engines::symbolic::SharedSymbolicExpression& parent, 119 triton::arch::OperandWrapper& dst, 120 const triton::ast::SharedAbstractNode& op1, 121 const triton::ast::SharedAbstractNode& op3, 122 bool vol=false); 123 124 //! The CF semantics. 125 void cfAdd_s(triton::arch::Instruction& inst, 126 const triton::engines::symbolic::SharedSymbolicExpression& parent, 127 triton::arch::OperandWrapper& dst, 128 const triton::ast::SharedAbstractNode& op1, 129 const triton::ast::SharedAbstractNode& op2, 130 bool vol=false); 131 132 //! The CF semantics. 133 void cfBlsi_s(triton::arch::Instruction& inst, 134 const triton::engines::symbolic::SharedSymbolicExpression& parent, 135 triton::arch::OperandWrapper& dst, 136 const triton::ast::SharedAbstractNode& op1, 137 bool vol=false); 138 139 //! The CF semantics. 140 void cfBlsmsk_s(triton::arch::Instruction& inst, 141 const triton::engines::symbolic::SharedSymbolicExpression& parent, 142 triton::arch::OperandWrapper& dst, 143 const triton::ast::SharedAbstractNode& op1, 144 bool vol=false); 145 146 //! The CF semantics. 147 void cfBlsr_s(triton::arch::Instruction& inst, 148 const triton::engines::symbolic::SharedSymbolicExpression& parent, 149 triton::arch::OperandWrapper& dst, 150 const triton::ast::SharedAbstractNode& op1, 151 bool vol=false); 152 153 //! The CF semantics. 154 void cfImul_s(triton::arch::Instruction& inst, 155 const triton::engines::symbolic::SharedSymbolicExpression& parent, 156 triton::arch::OperandWrapper& dst, 157 const triton::ast::SharedAbstractNode& op1, 158 const triton::ast::SharedAbstractNode& res, 159 bool vol=false); 160 161 //! The CF semantics. 162 void cfLzcnt_s(triton::arch::Instruction& inst, 163 const triton::engines::symbolic::SharedSymbolicExpression& parent, 164 triton::arch::OperandWrapper& src, 165 const triton::ast::SharedAbstractNode& op1, 166 bool vol=false); 167 168 //! The CF semantics. 169 void cfMul_s(triton::arch::Instruction& inst, 170 const triton::engines::symbolic::SharedSymbolicExpression& parent, 171 triton::arch::OperandWrapper& dst, 172 const triton::ast::SharedAbstractNode& op1, 173 bool vol=false); 174 175 //! The CF semantics. 176 void cfNeg_s(triton::arch::Instruction& inst, 177 const triton::engines::symbolic::SharedSymbolicExpression& parent, 178 triton::arch::OperandWrapper& dst, 179 const triton::ast::SharedAbstractNode& op1, 180 bool vol=false); 181 182 //! The CF semantics. 183 void cfPtest_s(triton::arch::Instruction& inst, 184 const triton::engines::symbolic::SharedSymbolicExpression& parent, 185 triton::arch::OperandWrapper& dst, 186 bool vol=false); 187 188 //! The CF semantics. 189 void cfRcl_s(triton::arch::Instruction& inst, 190 const triton::engines::symbolic::SharedSymbolicExpression& parent, 191 const triton::ast::SharedAbstractNode& result, 192 const triton::ast::SharedAbstractNode& op2, 193 bool vol=false); 194 195 //! The CF semantics. 196 void cfRcr_s(triton::arch::Instruction& inst, 197 const triton::engines::symbolic::SharedSymbolicExpression& parent, 198 triton::arch::OperandWrapper& dst, 199 const triton::ast::SharedAbstractNode& result, 200 const triton::ast::SharedAbstractNode& op2, 201 bool vol=false); 202 203 //! The CF semantics. 204 void cfRol_s(triton::arch::Instruction& inst, 205 const triton::engines::symbolic::SharedSymbolicExpression& parent, 206 triton::arch::OperandWrapper& dst, 207 const triton::ast::SharedAbstractNode& op2, 208 bool vol=false); 209 210 //! The CF semantics. 211 void cfRor_s(triton::arch::Instruction& inst, 212 const triton::engines::symbolic::SharedSymbolicExpression& parent, 213 triton::arch::OperandWrapper& dst, 214 const triton::ast::SharedAbstractNode& op2, 215 bool vol=false); 216 217 //! The CF semantics. 218 void cfSar_s(triton::arch::Instruction& inst, 219 const triton::engines::symbolic::SharedSymbolicExpression& parent, 220 triton::arch::OperandWrapper& dst, 221 const triton::ast::SharedAbstractNode& op1, 222 const triton::ast::SharedAbstractNode& op2, 223 bool vol=false); 224 225 //! The CF semantics. 226 void cfShl_s(triton::arch::Instruction& inst, 227 const triton::engines::symbolic::SharedSymbolicExpression& parent, 228 triton::arch::OperandWrapper& dst, 229 const triton::ast::SharedAbstractNode& op1, 230 const triton::ast::SharedAbstractNode& op2, 231 bool vol=false); 232 233 //! The CF semantics. 234 void cfShld_s(triton::arch::Instruction& inst, 235 const triton::engines::symbolic::SharedSymbolicExpression& parent, 236 triton::arch::OperandWrapper& dst, 237 const triton::ast::SharedAbstractNode& op1, 238 const triton::ast::SharedAbstractNode& op2, 239 const triton::ast::SharedAbstractNode& op3, 240 bool vol=false); 241 242 //! The CF semantics. 243 void cfShr_s(triton::arch::Instruction& inst, 244 const triton::engines::symbolic::SharedSymbolicExpression& parent, 245 triton::arch::OperandWrapper& dst, 246 const triton::ast::SharedAbstractNode& op1, 247 const triton::ast::SharedAbstractNode& op2, 248 bool vol=false); 249 250 //! The CF semantics. 251 void cfShrd_s(triton::arch::Instruction& inst, 252 const triton::engines::symbolic::SharedSymbolicExpression& parent, 253 triton::arch::OperandWrapper& dst, 254 const triton::ast::SharedAbstractNode& op1, 255 const triton::ast::SharedAbstractNode& op2, 256 const triton::ast::SharedAbstractNode& op3, 257 bool vol=false); 258 259 //! The CF semantics. 260 void cfSub_s(triton::arch::Instruction& inst, 261 const triton::engines::symbolic::SharedSymbolicExpression& parent, 262 triton::arch::OperandWrapper& dst, 263 const triton::ast::SharedAbstractNode& op1, 264 const triton::ast::SharedAbstractNode& op2, 265 bool vol=false); 266 267 //! The CF semantics. 268 void cfTzcnt_s(triton::arch::Instruction& inst, 269 const triton::engines::symbolic::SharedSymbolicExpression& parent, 270 triton::arch::OperandWrapper& src, 271 const triton::ast::SharedAbstractNode& op1, 272 bool vol=false); 273 274 //! The OF semantics. 275 void ofAdd_s(triton::arch::Instruction& inst, 276 const triton::engines::symbolic::SharedSymbolicExpression& parent, 277 triton::arch::OperandWrapper& dst, 278 const triton::ast::SharedAbstractNode& op1, 279 const triton::ast::SharedAbstractNode& op2, 280 bool vol=false); 281 282 //! The OF semantics. 283 void ofImul_s(triton::arch::Instruction& inst, 284 const triton::engines::symbolic::SharedSymbolicExpression& parent, 285 triton::arch::OperandWrapper& dst, 286 const triton::ast::SharedAbstractNode& op1, 287 const triton::ast::SharedAbstractNode& res, 288 bool vol=false); 289 290 //! The OF semantics. 291 void ofMul_s(triton::arch::Instruction& inst, 292 const triton::engines::symbolic::SharedSymbolicExpression& parent, 293 triton::arch::OperandWrapper& dst, 294 const triton::ast::SharedAbstractNode& op1, 295 bool vol=false); 296 297 //! The OF semantics. 298 void ofNeg_s(triton::arch::Instruction& inst, 299 const triton::engines::symbolic::SharedSymbolicExpression& parent, 300 triton::arch::OperandWrapper& dst, 301 const triton::ast::SharedAbstractNode& op1, 302 bool vol=false); 303 304 //! The OF semantics. 305 void ofRol_s(triton::arch::Instruction& inst, 306 const triton::engines::symbolic::SharedSymbolicExpression& parent, 307 triton::arch::OperandWrapper& dst, 308 const triton::ast::SharedAbstractNode& op2, 309 bool vol=false); 310 311 //! The OF semantics. 312 void ofRor_s(triton::arch::Instruction& inst, 313 const triton::engines::symbolic::SharedSymbolicExpression& parent, 314 triton::arch::OperandWrapper& dst, 315 const triton::ast::SharedAbstractNode& op2, 316 bool vol=false); 317 318 //! The OF semantics. 319 void ofRcr_s(triton::arch::Instruction& inst, 320 const triton::engines::symbolic::SharedSymbolicExpression& parent, 321 triton::arch::OperandWrapper& dst, 322 const triton::ast::SharedAbstractNode& op1, 323 const triton::ast::SharedAbstractNode& op2, 324 bool vol=false); 325 326 //! The OF semantics. 327 void ofSar_s(triton::arch::Instruction& inst, 328 const triton::engines::symbolic::SharedSymbolicExpression& parent, 329 triton::arch::OperandWrapper& dst, 330 const triton::ast::SharedAbstractNode& op2, 331 bool vol=false); 332 333 //! The OF semantics. 334 void ofShl_s(triton::arch::Instruction& inst, 335 const triton::engines::symbolic::SharedSymbolicExpression& parent, 336 triton::arch::OperandWrapper& dst, 337 const triton::ast::SharedAbstractNode& op1, 338 const triton::ast::SharedAbstractNode& op2, 339 bool vol=false); 340 341 //! The OF semantics. 342 void ofShld_s(triton::arch::Instruction& inst, 343 const triton::engines::symbolic::SharedSymbolicExpression& parent, 344 triton::arch::OperandWrapper& dst, 345 const triton::ast::SharedAbstractNode& op1, 346 const triton::ast::SharedAbstractNode& op2, 347 const triton::ast::SharedAbstractNode& op3, 348 bool vol=false); 349 350 //! The OF semantics. 351 void ofShr_s(triton::arch::Instruction& inst, 352 const triton::engines::symbolic::SharedSymbolicExpression& parent, 353 triton::arch::OperandWrapper& dst, 354 const triton::ast::SharedAbstractNode& op1, 355 const triton::ast::SharedAbstractNode& op2, 356 bool vol=false); 357 358 //! The OF semantics. 359 void ofShrd_s(triton::arch::Instruction& inst, 360 const triton::engines::symbolic::SharedSymbolicExpression& parent, 361 triton::arch::OperandWrapper& dst, 362 const triton::ast::SharedAbstractNode& op1, 363 const triton::ast::SharedAbstractNode& op2, 364 const triton::ast::SharedAbstractNode& op3, 365 bool vol=false); 366 367 //! The OF semantics. 368 void ofSub_s(triton::arch::Instruction& inst, 369 const triton::engines::symbolic::SharedSymbolicExpression& parent, 370 triton::arch::OperandWrapper& dst, 371 const triton::ast::SharedAbstractNode& op1, 372 const triton::ast::SharedAbstractNode& op2, 373 bool vol=false); 374 375 //! The PF semantics. 376 void pf_s(triton::arch::Instruction& inst, 377 const triton::engines::symbolic::SharedSymbolicExpression& parent, 378 triton::arch::OperandWrapper& dst, 379 bool vol=false); 380 381 //! The PF semantics. 382 void pfShl_s(triton::arch::Instruction& inst, 383 const triton::engines::symbolic::SharedSymbolicExpression& parent, 384 triton::arch::OperandWrapper& dst, 385 const triton::ast::SharedAbstractNode& op2, 386 bool vol=false); 387 388 //! The SF semantics. 389 void sf_s(triton::arch::Instruction& inst, 390 const triton::engines::symbolic::SharedSymbolicExpression& parent, 391 triton::arch::OperandWrapper& dst, 392 bool vol=false); 393 394 //! The SF semantics. 395 void sfShl_s(triton::arch::Instruction& inst, 396 const triton::engines::symbolic::SharedSymbolicExpression& parent, 397 triton::arch::OperandWrapper& dst, 398 const triton::ast::SharedAbstractNode& op2, 399 bool vol=false); 400 401 //! The SF semantics. 402 void sfShld_s(triton::arch::Instruction& inst, 403 const triton::engines::symbolic::SharedSymbolicExpression& parent, 404 triton::arch::OperandWrapper& dst, 405 const triton::ast::SharedAbstractNode& op1, 406 const triton::ast::SharedAbstractNode& op2, 407 const triton::ast::SharedAbstractNode& op3, 408 bool vol=false); 409 410 //! The SF semantics. 411 void sfShrd_s(triton::arch::Instruction& inst, 412 const triton::engines::symbolic::SharedSymbolicExpression& parent, 413 triton::arch::OperandWrapper& dst, 414 const triton::ast::SharedAbstractNode& op1, 415 const triton::ast::SharedAbstractNode& op2, 416 const triton::ast::SharedAbstractNode& op3, 417 bool vol=false); 418 419 //! The ZF semantics. 420 void zf_s(triton::arch::Instruction& inst, 421 const triton::engines::symbolic::SharedSymbolicExpression& parent, 422 triton::arch::OperandWrapper& dst, 423 bool vol=false); 424 425 //! The ZF semantics. 426 void zfBsf_s(triton::arch::Instruction& inst, 427 const triton::engines::symbolic::SharedSymbolicExpression& parent, 428 triton::arch::OperandWrapper& src, 429 const triton::ast::SharedAbstractNode& op2, 430 bool vol=false); 431 432 //! The ZF semantics. 433 void zfShl_s(triton::arch::Instruction& inst, 434 const triton::engines::symbolic::SharedSymbolicExpression& parent, 435 triton::arch::OperandWrapper& dst, 436 const triton::ast::SharedAbstractNode& op2, 437 bool vol=false); 438 439 //! The AAA semantics. 440 void aaa_s(triton::arch::Instruction& inst); 441 442 //! The AAD semantics. 443 void aad_s(triton::arch::Instruction& inst); 444 445 //! The AAM semantics. 446 void aam_s(triton::arch::Instruction& inst); 447 448 //! The AAS semantics. 449 void aas_s(triton::arch::Instruction& inst); 450 451 //! The ADC semantics. 452 void adc_s(triton::arch::Instruction& inst); 453 454 //! The ADCX semantics. 455 void adcx_s(triton::arch::Instruction& inst); 456 457 //! The ADD semantics. 458 void add_s(triton::arch::Instruction& inst); 459 460 //! The AND semantics. 461 void and_s(triton::arch::Instruction& inst); 462 463 //! The ANDN semantics. 464 void andn_s(triton::arch::Instruction& inst); 465 466 //! The ANDNPD semantics. 467 void andnpd_s(triton::arch::Instruction& inst); 468 469 //! The ANDNPS semantics. 470 void andnps_s(triton::arch::Instruction& inst); 471 472 //! The ANDPD semantics. 473 void andpd_s(triton::arch::Instruction& inst); 474 475 //! The ANDPS semantics. 476 void andps_s(triton::arch::Instruction& inst); 477 478 //! The BEXTR semantics. 479 void bextr_s(triton::arch::Instruction& inst); 480 481 //! The BLSI semantics. 482 void blsi_s(triton::arch::Instruction& inst); 483 484 //! The BLSMSK semantics. 485 void blsmsk_s(triton::arch::Instruction& inst); 486 487 //! The BLSR semantics. 488 void blsr_s(triton::arch::Instruction& inst); 489 490 //! The BSF semantics. 491 void bsf_s(triton::arch::Instruction& inst); 492 493 //! The BSR semantics. 494 void bsr_s(triton::arch::Instruction& inst); 495 496 //! The BSWAP semantics. 497 void bswap_s(triton::arch::Instruction& inst); 498 499 //! The BT semantics. 500 void bt_s(triton::arch::Instruction& inst); 501 502 //! The BTC semantics. 503 void btc_s(triton::arch::Instruction& inst); 504 505 //! The BTR semantics. 506 void btr_s(triton::arch::Instruction& inst); 507 508 //! The BTS semantics. 509 void bts_s(triton::arch::Instruction& inst); 510 511 //! The CALL semantics. 512 void call_s(triton::arch::Instruction& inst); 513 514 //! The CBW semantics. 515 void cbw_s(triton::arch::Instruction& inst); 516 517 //! The CDQ semantics. 518 void cdq_s(triton::arch::Instruction& inst); 519 520 //! The CDQE semantics. 521 void cdqe_s(triton::arch::Instruction& inst); 522 523 //! The CLC semantics. 524 void clc_s(triton::arch::Instruction& inst); 525 526 //! The CLD semantics. 527 void cld_s(triton::arch::Instruction& inst); 528 529 //! The CLFLUSH semantics. 530 void clflush_s(triton::arch::Instruction& inst); 531 532 //! The CLTS semantics. 533 void clts_s(triton::arch::Instruction& inst); 534 535 //! The CLI semantics. 536 void cli_s(triton::arch::Instruction& inst); 537 538 //! The CMC semantics. 539 void cmc_s(triton::arch::Instruction& inst); 540 541 //! The CMOVA semantics. 542 void cmova_s(triton::arch::Instruction& inst); 543 544 //! The CMOVAE semantics. 545 void cmovae_s(triton::arch::Instruction& inst); 546 547 //! The CMOVB semantics. 548 void cmovb_s(triton::arch::Instruction& inst); 549 550 //! The CMOVBE semantics. 551 void cmovbe_s(triton::arch::Instruction& inst); 552 553 //! The CMOVE semantics. 554 void cmove_s(triton::arch::Instruction& inst); 555 556 //! The CMOVG semantics. 557 void cmovg_s(triton::arch::Instruction& inst); 558 559 //! The CMOVGE semantics. 560 void cmovge_s(triton::arch::Instruction& inst); 561 562 //! The CMOVL semantics. 563 void cmovl_s(triton::arch::Instruction& inst); 564 565 //! The CMOVLE semantics. 566 void cmovle_s(triton::arch::Instruction& inst); 567 568 //! The CMOVNE semantics. 569 void cmovne_s(triton::arch::Instruction& inst); 570 571 //! The CMOVNO semantics. 572 void cmovno_s(triton::arch::Instruction& inst); 573 574 //! The CMOVNP semantics. 575 void cmovnp_s(triton::arch::Instruction& inst); 576 577 //! The CMOVNS semantics. 578 void cmovns_s(triton::arch::Instruction& inst); 579 580 //! The CMOVO semantics. 581 void cmovo_s(triton::arch::Instruction& inst); 582 583 //! The CMOVP semantics. 584 void cmovp_s(triton::arch::Instruction& inst); 585 586 //! The CMOVS semantics. 587 void cmovs_s(triton::arch::Instruction& inst); 588 589 //! The CMP semantics. 590 void cmp_s(triton::arch::Instruction& inst); 591 592 //! The CMPSB semantics. 593 void cmpsb_s(triton::arch::Instruction& inst); 594 595 //! The CMPSD semantics. 596 void cmpsd_s(triton::arch::Instruction& inst); 597 598 //! The CMPSQ semantics. 599 void cmpsq_s(triton::arch::Instruction& inst); 600 601 //! The CMPSW semantics. 602 void cmpsw_s(triton::arch::Instruction& inst); 603 604 //! The CMPXCHG semantics. 605 void cmpxchg_s(triton::arch::Instruction& inst); 606 607 //! The CMPXCHG16B semantics. 608 void cmpxchg16b_s(triton::arch::Instruction& inst); 609 610 //! The CMPXCHG8B semantics. 611 void cmpxchg8b_s(triton::arch::Instruction& inst); 612 613 //! The CPUID semantics. 614 void cpuid_s(triton::arch::Instruction& inst); 615 616 //! The CQO semantics. 617 void cqo_s(triton::arch::Instruction& inst); 618 619 //! The CWD semantics. 620 void cwd_s(triton::arch::Instruction& inst); 621 622 //! The CWDE semantics. 623 void cwde_s(triton::arch::Instruction& inst); 624 625 //! The DEC semantics. 626 void dec_s(triton::arch::Instruction& inst); 627 628 //! The DIV semantics. 629 void div_s(triton::arch::Instruction& inst); 630 631 //! The ENDBR32 semantics. 632 void endbr32_s(triton::arch::Instruction& inst); 633 634 //! The ENDBR64 semantics. 635 void endbr64_s(triton::arch::Instruction& inst); 636 637 //! The EXTRACTPS semantics. 638 void extractps_s(triton::arch::Instruction& inst); 639 640 //! The IDIV semantics. 641 void idiv_s(triton::arch::Instruction& inst); 642 643 //! The IMUL semantics. 644 void imul_s(triton::arch::Instruction& inst); 645 646 //! The INC semantics. 647 void inc_s(triton::arch::Instruction& inst); 648 649 //! The INVD semantics. 650 void invd_s(triton::arch::Instruction& inst); 651 652 //! The INVLPG semantics. 653 void invlpg_s(triton::arch::Instruction& inst); 654 655 //! The JA semantics. 656 void ja_s(triton::arch::Instruction& inst); 657 658 //! The JAE semantics. 659 void jae_s(triton::arch::Instruction& inst); 660 661 //! The JB semantics. 662 void jb_s(triton::arch::Instruction& inst); 663 664 //! The JBE semantics. 665 void jbe_s(triton::arch::Instruction& inst); 666 667 //! The JCXZ semantics. 668 void jcxz_s(triton::arch::Instruction& inst); 669 670 //! The JE semantics. 671 void je_s(triton::arch::Instruction& inst); 672 673 //! The JECXZ semantics. 674 void jecxz_s(triton::arch::Instruction& inst); 675 676 //! The JG semantics. 677 void jg_s(triton::arch::Instruction& inst); 678 679 //! The JGE semantics. 680 void jge_s(triton::arch::Instruction& inst); 681 682 //! The JL semantics. 683 void jl_s(triton::arch::Instruction& inst); 684 685 //! The JLE semantics. 686 void jle_s(triton::arch::Instruction& inst); 687 688 //! The JMP semantics. 689 void jmp_s(triton::arch::Instruction& inst); 690 691 //! The JNE semantics. 692 void jne_s(triton::arch::Instruction& inst); 693 694 //! The JNO semantics. 695 void jno_s(triton::arch::Instruction& inst); 696 697 //! The JNP semantics. 698 void jnp_s(triton::arch::Instruction& inst); 699 700 //! The JNS semantics. 701 void jns_s(triton::arch::Instruction& inst); 702 703 //! The JO semantics. 704 void jo_s(triton::arch::Instruction& inst); 705 706 //! The JP semantics. 707 void jp_s(triton::arch::Instruction& inst); 708 709 //! The JRCXZ semantics. 710 void jrcxz_s(triton::arch::Instruction& inst); 711 712 //! The JS semantics. 713 void js_s(triton::arch::Instruction& inst); 714 715 //! The LAHF semantics. 716 void lahf_s(triton::arch::Instruction& inst); 717 718 //! The LDDQU semantics. 719 void lddqu_s(triton::arch::Instruction& inst); 720 721 //! The LDMXCSR semantics. 722 void ldmxcsr_s(triton::arch::Instruction& inst); 723 724 //! The LEA semantics. 725 void lea_s(triton::arch::Instruction& inst); 726 727 //! The LEAVE semantics. 728 void leave_s(triton::arch::Instruction& inst); 729 730 //! The LFENCE semantics. 731 void lfence_s(triton::arch::Instruction& inst); 732 733 //! The LODSB semantics. 734 void lodsb_s(triton::arch::Instruction& inst); 735 736 //! The LODSD semantics. 737 void lodsd_s(triton::arch::Instruction& inst); 738 739 //! The LODSQ semantics. 740 void lodsq_s(triton::arch::Instruction& inst); 741 742 //! The LODSW semantics. 743 void lodsw_s(triton::arch::Instruction& inst); 744 745 //! The LOOP semantics. 746 void loop_s(triton::arch::Instruction& inst); 747 748 //! The LZCNT semantics. 749 void lzcnt_s(triton::arch::Instruction& inst); 750 751 //! The MFENCE semantics. 752 void mfence_s(triton::arch::Instruction& inst); 753 754 //! The MOV semantics. 755 void mov_s(triton::arch::Instruction& inst); 756 757 //! The MOVABS semantics. 758 void movabs_s(triton::arch::Instruction& inst); 759 760 //! The MOVAPD semantics. 761 void movapd_s(triton::arch::Instruction& inst); 762 763 //! The MOVAPS semantics. 764 void movaps_s(triton::arch::Instruction& inst); 765 766 //! The MOVD semantics. 767 void movd_s(triton::arch::Instruction& inst); 768 769 //! The MOVDDUP semantics. 770 void movddup_s(triton::arch::Instruction& inst); 771 772 //! The MOVDQ2Q semantics. 773 void movdq2q_s(triton::arch::Instruction& inst); 774 775 //! The MOVDQA semantics. 776 void movdqa_s(triton::arch::Instruction& inst); 777 778 //! The MOVDQU semantics. 779 void movdqu_s(triton::arch::Instruction& inst); 780 781 //! The MOVHLPS semantics. 782 void movhlps_s(triton::arch::Instruction& inst); 783 784 //! The MOVHPD semantics. 785 void movhpd_s(triton::arch::Instruction& inst); 786 787 //! The MOVHPS semantics. 788 void movhps_s(triton::arch::Instruction& inst); 789 790 //! The MOVLHPS semantics. 791 void movlhps_s(triton::arch::Instruction& inst); 792 793 //! The MOVLPD semantics. 794 void movlpd_s(triton::arch::Instruction& inst); 795 796 //! The MOVLPS semantics. 797 void movlps_s(triton::arch::Instruction& inst); 798 799 //! The MOVMSKPD semantics. 800 void movmskpd_s(triton::arch::Instruction& inst); 801 802 //! The MOVMSKPS semantics. 803 void movmskps_s(triton::arch::Instruction& inst); 804 805 //! The MOVNTDQ semantics. 806 void movntdq_s(triton::arch::Instruction& inst); 807 808 //! The MOVNTI semantics. 809 void movnti_s(triton::arch::Instruction& inst); 810 811 //! The MOVNTPD semantics. 812 void movntpd_s(triton::arch::Instruction& inst); 813 814 //! The MOVNTPS semantics. 815 void movntps_s(triton::arch::Instruction& inst); 816 817 //! The MOVNTQ semantics. 818 void movntq_s(triton::arch::Instruction& inst); 819 820 //! The MOVSHDUP semantics. 821 void movshdup_s(triton::arch::Instruction& inst); 822 823 //! The MOVSLDUP semantics. 824 void movsldup_s(triton::arch::Instruction& inst); 825 826 //! The MOVQ semantics. 827 void movq_s(triton::arch::Instruction& inst); 828 829 //! The MOVQ2DQ semantics. 830 void movq2dq_s(triton::arch::Instruction& inst); 831 832 //! The MOVSB semantics. 833 void movsb_s(triton::arch::Instruction& inst); 834 835 //! The MOVSD semantics. 836 void movsd_s(triton::arch::Instruction& inst); 837 838 //! The MOVUPD semantics. 839 void movupd_s(triton::arch::Instruction& inst); 840 841 //! The MOVUPS semantics. 842 void movups_s(triton::arch::Instruction& inst); 843 844 //! The MOVSQ semantics. 845 void movsq_s(triton::arch::Instruction& inst); 846 847 //! The MOVSW semantics. 848 void movsw_s(triton::arch::Instruction& inst); 849 850 //! The MOVSX semantics. 851 void movsx_s(triton::arch::Instruction& inst); 852 853 //! The MOVSXD semantics. 854 void movsxd_s(triton::arch::Instruction& inst); 855 856 //! The MOVZX semantics. 857 void movzx_s(triton::arch::Instruction& inst); 858 859 //! The MUL semantics. 860 void mul_s(triton::arch::Instruction& inst); 861 862 //! The MULX semantics. 863 void mulx_s(triton::arch::Instruction& inst); 864 865 //! The NEG semantics. 866 void neg_s(triton::arch::Instruction& inst); 867 868 //! The NOP semantics. 869 void nop_s(triton::arch::Instruction& inst); 870 871 //! The NOT semantics. 872 void not_s(triton::arch::Instruction& inst); 873 874 //! The OR semantics. 875 void or_s(triton::arch::Instruction& inst); 876 877 //! The ORPD semantics. 878 void orpd_s(triton::arch::Instruction& inst); 879 880 //! The ORPS semantics. 881 void orps_s(triton::arch::Instruction& inst); 882 883 //! The PADDB semantics. 884 void paddb_s(triton::arch::Instruction& inst); 885 886 //! The PADDD semantics. 887 void paddd_s(triton::arch::Instruction& inst); 888 889 //! The PADDQ semantics. 890 void paddq_s(triton::arch::Instruction& inst); 891 892 //! The PADDW semantics. 893 void paddw_s(triton::arch::Instruction& inst); 894 895 //! The PAND semantics. 896 void pand_s(triton::arch::Instruction& inst); 897 898 //! The PANDN semantics. 899 void pandn_s(triton::arch::Instruction& inst); 900 901 //! The PAUSE semantics. 902 void pause_s(triton::arch::Instruction& inst); 903 904 //! The PAVGB semantics. 905 void pavgb_s(triton::arch::Instruction& inst); 906 907 //! The PAVGW semantics. 908 void pavgw_s(triton::arch::Instruction& inst); 909 910 //! The PCMPEQB semantics. 911 void pcmpeqb_s(triton::arch::Instruction& inst); 912 913 //! The PCMPEQD semantics. 914 void pcmpeqd_s(triton::arch::Instruction& inst); 915 916 //! The PCMPEQW semantics. 917 void pcmpeqw_s(triton::arch::Instruction& inst); 918 919 //! The PCMPGTB semantics. 920 void pcmpgtb_s(triton::arch::Instruction& inst); 921 922 //! The PCMPGTD semantics. 923 void pcmpgtd_s(triton::arch::Instruction& inst); 924 925 //! The PCMPGTW semantics. 926 void pcmpgtw_s(triton::arch::Instruction& inst); 927 928 //! The PEXTRB semantics. 929 void pextrb_s(triton::arch::Instruction& inst); 930 931 //! The PEXTRD semantics. 932 void pextrd_s(triton::arch::Instruction& inst); 933 934 //! The PEXTRQ semantics. 935 void pextrq_s(triton::arch::Instruction& inst); 936 937 //! The PEXTRW semantics. 938 void pextrw_s(triton::arch::Instruction& inst); 939 940 //! The PINSRB semantics. 941 void pinsrb_s(triton::arch::Instruction& inst); 942 943 //! The PINSRD semantics. 944 void pinsrd_s(triton::arch::Instruction& inst); 945 946 //! The PINSRQ semantics. 947 void pinsrq_s(triton::arch::Instruction& inst); 948 949 //! The PINSRW semantics. 950 void pinsrw_s(triton::arch::Instruction& inst); 951 952 //! The PMAXSB semantics. 953 void pmaxsb_s(triton::arch::Instruction& inst); 954 955 //! The PMAXSD semantics. 956 void pmaxsd_s(triton::arch::Instruction& inst); 957 958 //! The PMAXSW semantics. 959 void pmaxsw_s(triton::arch::Instruction& inst); 960 961 //! The PMAXUB semantics. 962 void pmaxub_s(triton::arch::Instruction& inst); 963 964 //! The PMAXUD semantics. 965 void pmaxud_s(triton::arch::Instruction& inst); 966 967 //! The PMAXUW semantics. 968 void pmaxuw_s(triton::arch::Instruction& inst); 969 970 //! The PMINSB semantics. 971 void pminsb_s(triton::arch::Instruction& inst); 972 973 //! The PMINSD semantics. 974 void pminsd_s(triton::arch::Instruction& inst); 975 976 //! The PMINSW semantics. 977 void pminsw_s(triton::arch::Instruction& inst); 978 979 //! The PMINUB semantics. 980 void pminub_s(triton::arch::Instruction& inst); 981 982 //! The PMINUD semantics. 983 void pminud_s(triton::arch::Instruction& inst); 984 985 //! The PMINUW semantics. 986 void pminuw_s(triton::arch::Instruction& inst); 987 988 //! The PMOVMSKB semantics. 989 void pmovmskb_s(triton::arch::Instruction& inst); 990 991 //! The PMOVSXBD semantics. 992 void pmovsxbd_s(triton::arch::Instruction& inst); 993 994 //! The PMOVSXBQ semantics. 995 void pmovsxbq_s(triton::arch::Instruction& inst); 996 997 //! The PMOVSXBW semantics. 998 void pmovsxbw_s(triton::arch::Instruction& inst); 999 1000 //! The PMOVSXDQ semantics. 1001 void pmovsxdq_s(triton::arch::Instruction& inst); 1002 1003 //! The PMOVSXWD semantics. 1004 void pmovsxwd_s(triton::arch::Instruction& inst); 1005 1006 //! The PMOVSXWQ semantics. 1007 void pmovsxwq_s(triton::arch::Instruction& inst); 1008 1009 //! The PMOVZXBD semantics. 1010 void pmovzxbd_s(triton::arch::Instruction& inst); 1011 1012 //! The PMOVZXBQ semantics. 1013 void pmovzxbq_s(triton::arch::Instruction& inst); 1014 1015 //! The PMOVZXBW semantics. 1016 void pmovzxbw_s(triton::arch::Instruction& inst); 1017 1018 //! The PMOVZXDQ semantics. 1019 void pmovzxdq_s(triton::arch::Instruction& inst); 1020 1021 //! The PMOVZXWD semantics. 1022 void pmovzxwd_s(triton::arch::Instruction& inst); 1023 1024 //! The PMOVZXWQ semantics. 1025 void pmovzxwq_s(triton::arch::Instruction& inst); 1026 1027 //! The POP semantics. 1028 void pop_s(triton::arch::Instruction& inst); 1029 1030 //! The POPAL semantics. 1031 void popal_s(triton::arch::Instruction& inst); 1032 1033 //! The POPF semantics. 1034 void popf_s(triton::arch::Instruction& inst); 1035 1036 //! The POPFD semantics. 1037 void popfd_s(triton::arch::Instruction& inst); 1038 1039 //! The POPFQ semantics. 1040 void popfq_s(triton::arch::Instruction& inst); 1041 1042 //! The POR semantics. 1043 void por_s(triton::arch::Instruction& inst); 1044 1045 //! The PREFETCHx semantics. 1046 void prefetchx_s(triton::arch::Instruction& inst); 1047 1048 //! The PSHUFD semantics. 1049 void pshufd_s(triton::arch::Instruction& inst); 1050 1051 //! The PSHUFHW semantics. 1052 void pshufhw_s(triton::arch::Instruction& inst); 1053 1054 //! The PSHUFLW semantics. 1055 void pshuflw_s(triton::arch::Instruction& inst); 1056 1057 //! The PSHUFW semantics. 1058 void pshufw_s(triton::arch::Instruction& inst); 1059 1060 //! The PSLLD semantics. 1061 void pslld_s(triton::arch::Instruction& inst); 1062 1063 //! The PSLLDQ semantics. 1064 void pslldq_s(triton::arch::Instruction& inst); 1065 1066 //! The PSLLQ semantics. 1067 void psllq_s(triton::arch::Instruction& inst); 1068 1069 //! The PSLLW semantics. 1070 void psllw_s(triton::arch::Instruction& inst); 1071 1072 //! The PSRLDQ semantics. 1073 void psrldq_s(triton::arch::Instruction& inst); 1074 1075 //! The PSUBB semantics. 1076 void psubb_s(triton::arch::Instruction& inst); 1077 1078 //! The PSUBD semantics. 1079 void psubd_s(triton::arch::Instruction& inst); 1080 1081 //! The PSUBQ semantics. 1082 void psubq_s(triton::arch::Instruction& inst); 1083 1084 //! The PSUBW semantics. 1085 void psubw_s(triton::arch::Instruction& inst); 1086 1087 //! The PTEST semantics. 1088 void ptest_s(triton::arch::Instruction& inst); 1089 1090 //! The PUNPCKHBW semantics. 1091 void punpckhbw_s(triton::arch::Instruction& inst); 1092 1093 //! The PUNPCKHDQ semantics. 1094 void punpckhdq_s(triton::arch::Instruction& inst); 1095 1096 //! The PUNPCKHQDQ semantics. 1097 void punpckhqdq_s(triton::arch::Instruction& inst); 1098 1099 //! The PUNPCKHWD semantics. 1100 void punpckhwd_s(triton::arch::Instruction& inst); 1101 1102 //! The PUNPCKLBW semantics. 1103 void punpcklbw_s(triton::arch::Instruction& inst); 1104 1105 //! The PUNPCKLDQ semantics. 1106 void punpckldq_s(triton::arch::Instruction& inst); 1107 1108 //! The PUNPCKLQDQ semantics. 1109 void punpcklqdq_s(triton::arch::Instruction& inst); 1110 1111 //! The PUNPCKLWD semantics. 1112 void punpcklwd_s(triton::arch::Instruction& inst); 1113 1114 //! The PUSH semantics. 1115 void push_s(triton::arch::Instruction& inst); 1116 1117 //! The PUSHAL semantics. 1118 void pushal_s(triton::arch::Instruction& inst); 1119 1120 //! The PUSHFD semantics. 1121 void pushfd_s(triton::arch::Instruction& inst); 1122 1123 //! The PUSHFQ semantics. 1124 void pushfq_s(triton::arch::Instruction& inst); 1125 1126 //! The PXOR semantics. 1127 void pxor_s(triton::arch::Instruction& inst); 1128 1129 //! The RCL semantics. 1130 void rcl_s(triton::arch::Instruction& inst); 1131 1132 //! The RCR semantics. 1133 void rcr_s(triton::arch::Instruction& inst); 1134 1135 //! The RDTSC semantics. 1136 void rdtsc_s(triton::arch::Instruction& inst); 1137 1138 //! The RET semantics. 1139 void ret_s(triton::arch::Instruction& inst); 1140 1141 //! The ROL semantics. 1142 void rol_s(triton::arch::Instruction& inst); 1143 1144 //! The ROR semantics. 1145 void ror_s(triton::arch::Instruction& inst); 1146 1147 //! The RORX semantics. 1148 void rorx_s(triton::arch::Instruction& inst); 1149 1150 //! The SAHF semantics. 1151 void sahf_s(triton::arch::Instruction& inst); 1152 1153 //! The SAR semantics. 1154 void sar_s(triton::arch::Instruction& inst); 1155 1156 //! The SARX semantics. 1157 void sarx_s(triton::arch::Instruction& inst); 1158 1159 //! The SBB semantics. 1160 void sbb_s(triton::arch::Instruction& inst); 1161 1162 //! The SCASB semantics. 1163 void scasb_s(triton::arch::Instruction& inst); 1164 1165 //! The SCASD semantics. 1166 void scasd_s(triton::arch::Instruction& inst); 1167 1168 //! The SCASQ semantics. 1169 void scasq_s(triton::arch::Instruction& inst); 1170 1171 //! The SCASW semantics. 1172 void scasw_s(triton::arch::Instruction& inst); 1173 1174 //! The SETA semantics. 1175 void seta_s(triton::arch::Instruction& inst); 1176 1177 //! The SETAE semantics. 1178 void setae_s(triton::arch::Instruction& inst); 1179 1180 //! The SETB semantics. 1181 void setb_s(triton::arch::Instruction& inst); 1182 1183 //! The SETBE semantics. 1184 void setbe_s(triton::arch::Instruction& inst); 1185 1186 //! The SETE semantics. 1187 void sete_s(triton::arch::Instruction& inst); 1188 1189 //! The SETG: semantics. 1190 void setg_s(triton::arch::Instruction& inst); 1191 1192 //! The SETGE semantics. 1193 void setge_s(triton::arch::Instruction& inst); 1194 1195 //! The SETL semantics. 1196 void setl_s(triton::arch::Instruction& inst); 1197 1198 //! The SETLE semantics. 1199 void setle_s(triton::arch::Instruction& inst); 1200 1201 //! The SETNE semantics. 1202 void setne_s(triton::arch::Instruction& inst); 1203 1204 //! The SETNO semantics. 1205 void setno_s(triton::arch::Instruction& inst); 1206 1207 //! The SETNP semantics. 1208 void setnp_s(triton::arch::Instruction& inst); 1209 1210 //! The SETNS semantics. 1211 void setns_s(triton::arch::Instruction& inst); 1212 1213 //! The SETO semantics. 1214 void seto_s(triton::arch::Instruction& inst); 1215 1216 //! The SETP semantics. 1217 void setp_s(triton::arch::Instruction& inst); 1218 1219 //! The SETS semantics. 1220 void sets_s(triton::arch::Instruction& inst); 1221 1222 //! The SFENCE semantics. 1223 void sfence_s(triton::arch::Instruction& inst); 1224 1225 //! The SHL semantics. 1226 void shl_s(triton::arch::Instruction& inst); 1227 1228 //! The SHLD semantics. 1229 void shld_s(triton::arch::Instruction& inst); 1230 1231 //! The SHLX semantics. 1232 void shlx_s(triton::arch::Instruction& inst); 1233 1234 //! The SHR semantics. 1235 void shr_s(triton::arch::Instruction& inst); 1236 1237 //! The SHRD semantics. 1238 void shrd_s(triton::arch::Instruction& inst); 1239 1240 //! The SHRX semantics. 1241 void shrx_s(triton::arch::Instruction& inst); 1242 1243 //! The STC semantics. 1244 void stc_s(triton::arch::Instruction& inst); 1245 1246 //! The STD semantics. 1247 void std_s(triton::arch::Instruction& inst); 1248 1249 //! The STI semantics. 1250 void sti_s(triton::arch::Instruction& inst); 1251 1252 //! The STMXCSR semantics. 1253 void stmxcsr_s(triton::arch::Instruction& inst); 1254 1255 //! The STOSB semantics. 1256 void stosb_s(triton::arch::Instruction& inst); 1257 1258 //! The STOSD semantics. 1259 void stosd_s(triton::arch::Instruction& inst); 1260 1261 //! The STOSQ semantics. 1262 void stosq_s(triton::arch::Instruction& inst); 1263 1264 //! The STOSW semantics. 1265 void stosw_s(triton::arch::Instruction& inst); 1266 1267 //! The SUB semantics. 1268 void sub_s(triton::arch::Instruction& inst); 1269 1270 //! The SYSCALL semantics. 1271 void syscall_s(triton::arch::Instruction& inst); 1272 1273 //! The SYSENTER semantics. 1274 void sysenter_s(triton::arch::Instruction& inst); 1275 1276 //! The TEST semantics. 1277 void test_s(triton::arch::Instruction& inst); 1278 1279 //! The TZCNT semantics. 1280 void tzcnt_s(triton::arch::Instruction& inst); 1281 1282 //! The UNPCKHPD semantics. 1283 void unpckhpd_s(triton::arch::Instruction& inst); 1284 1285 //! The UNPCKHPS semantics. 1286 void unpckhps_s(triton::arch::Instruction& inst); 1287 1288 //! The UNPCKLPD semantics. 1289 void unpcklpd_s(triton::arch::Instruction& inst); 1290 1291 //! The UNPCKLPS semantics. 1292 void unpcklps_s(triton::arch::Instruction& inst); 1293 1294 //! The VMOVDQA semantics. 1295 void vmovdqa_s(triton::arch::Instruction& inst); 1296 1297 //! The VMOVDQU semantics. 1298 void vmovdqu_s(triton::arch::Instruction& inst); 1299 1300 //! The VPAND semantics. 1301 void vpand_s(triton::arch::Instruction& inst); 1302 1303 //! The VPMOVMSKB semantics. 1304 void vpmovmskb_s(triton::arch::Instruction& inst); 1305 1306 //! The VPANDN semantics. 1307 void vpandn_s(triton::arch::Instruction& inst); 1308 1309 //! The VPEXTRB semantics. 1310 void vpextrb_s(triton::arch::Instruction& inst); 1311 1312 //! The VPEXTRD semantics. 1313 void vpextrd_s(triton::arch::Instruction& inst); 1314 1315 //! The VPEXTRQ semantics. 1316 void vpextrq_s(triton::arch::Instruction& inst); 1317 1318 //! The VPEXTRW semantics. 1319 void vpextrw_s(triton::arch::Instruction& inst); 1320 1321 //! The VPOR semantics. 1322 void vpor_s(triton::arch::Instruction& inst); 1323 1324 //! The VPSHUFD semantics. 1325 void vpshufd_s(triton::arch::Instruction& inst); 1326 1327 //! The VPTEST semantics. 1328 void vptest_s(triton::arch::Instruction& inst); 1329 1330 //! The VPXOR semantics. 1331 void vpxor_s(triton::arch::Instruction& inst); 1332 1333 //! The WAIT semantics. 1334 void wait_s(triton::arch::Instruction& inst); 1335 1336 //! The WBINVD semantics. 1337 void wbinvd_s(triton::arch::Instruction& inst); 1338 1339 //! The XADD semantics. 1340 void xadd_s(triton::arch::Instruction& inst); 1341 1342 //! The XCHG semantics. 1343 void xchg_s(triton::arch::Instruction& inst); 1344 1345 //! The XOR semantics. 1346 void xor_s(triton::arch::Instruction& inst); 1347 1348 //! The XORPD semantics. 1349 void xorpd_s(triton::arch::Instruction& inst); 1350 1351 //! The XORPS semantics. 1352 void xorps_s(triton::arch::Instruction& inst); 1353 }; 1354 1355 /*! @} End of x86 namespace */ 1356 }; 1357 /*! @} End of arch namespace */ 1358 }; 1359 /*! @} End of triton namespace */ 1360 }; 1361 1362 #endif /* TRITON_X86SEMANTICS_H */ 1363