instructions.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. static struct ins x86__instructions[] = {
  2. { .name = "add", .ops = &mov_ops, },
  3. { .name = "addl", .ops = &mov_ops, },
  4. { .name = "addq", .ops = &mov_ops, },
  5. { .name = "addw", .ops = &mov_ops, },
  6. { .name = "and", .ops = &mov_ops, },
  7. { .name = "bts", .ops = &mov_ops, },
  8. { .name = "call", .ops = &call_ops, },
  9. { .name = "callq", .ops = &call_ops, },
  10. { .name = "cmp", .ops = &mov_ops, },
  11. { .name = "cmpb", .ops = &mov_ops, },
  12. { .name = "cmpl", .ops = &mov_ops, },
  13. { .name = "cmpq", .ops = &mov_ops, },
  14. { .name = "cmpw", .ops = &mov_ops, },
  15. { .name = "cmpxch", .ops = &mov_ops, },
  16. { .name = "dec", .ops = &dec_ops, },
  17. { .name = "decl", .ops = &dec_ops, },
  18. { .name = "imul", .ops = &mov_ops, },
  19. { .name = "inc", .ops = &dec_ops, },
  20. { .name = "incl", .ops = &dec_ops, },
  21. { .name = "ja", .ops = &jump_ops, },
  22. { .name = "jae", .ops = &jump_ops, },
  23. { .name = "jb", .ops = &jump_ops, },
  24. { .name = "jbe", .ops = &jump_ops, },
  25. { .name = "jc", .ops = &jump_ops, },
  26. { .name = "jcxz", .ops = &jump_ops, },
  27. { .name = "je", .ops = &jump_ops, },
  28. { .name = "jecxz", .ops = &jump_ops, },
  29. { .name = "jg", .ops = &jump_ops, },
  30. { .name = "jge", .ops = &jump_ops, },
  31. { .name = "jl", .ops = &jump_ops, },
  32. { .name = "jle", .ops = &jump_ops, },
  33. { .name = "jmp", .ops = &jump_ops, },
  34. { .name = "jmpq", .ops = &jump_ops, },
  35. { .name = "jna", .ops = &jump_ops, },
  36. { .name = "jnae", .ops = &jump_ops, },
  37. { .name = "jnb", .ops = &jump_ops, },
  38. { .name = "jnbe", .ops = &jump_ops, },
  39. { .name = "jnc", .ops = &jump_ops, },
  40. { .name = "jne", .ops = &jump_ops, },
  41. { .name = "jng", .ops = &jump_ops, },
  42. { .name = "jnge", .ops = &jump_ops, },
  43. { .name = "jnl", .ops = &jump_ops, },
  44. { .name = "jnle", .ops = &jump_ops, },
  45. { .name = "jno", .ops = &jump_ops, },
  46. { .name = "jnp", .ops = &jump_ops, },
  47. { .name = "jns", .ops = &jump_ops, },
  48. { .name = "jnz", .ops = &jump_ops, },
  49. { .name = "jo", .ops = &jump_ops, },
  50. { .name = "jp", .ops = &jump_ops, },
  51. { .name = "jpe", .ops = &jump_ops, },
  52. { .name = "jpo", .ops = &jump_ops, },
  53. { .name = "jrcxz", .ops = &jump_ops, },
  54. { .name = "js", .ops = &jump_ops, },
  55. { .name = "jz", .ops = &jump_ops, },
  56. { .name = "lea", .ops = &mov_ops, },
  57. { .name = "lock", .ops = &lock_ops, },
  58. { .name = "mov", .ops = &mov_ops, },
  59. { .name = "movb", .ops = &mov_ops, },
  60. { .name = "movdqa", .ops = &mov_ops, },
  61. { .name = "movl", .ops = &mov_ops, },
  62. { .name = "movq", .ops = &mov_ops, },
  63. { .name = "movslq", .ops = &mov_ops, },
  64. { .name = "movzbl", .ops = &mov_ops, },
  65. { .name = "movzwl", .ops = &mov_ops, },
  66. { .name = "nop", .ops = &nop_ops, },
  67. { .name = "nopl", .ops = &nop_ops, },
  68. { .name = "nopw", .ops = &nop_ops, },
  69. { .name = "or", .ops = &mov_ops, },
  70. { .name = "orl", .ops = &mov_ops, },
  71. { .name = "test", .ops = &mov_ops, },
  72. { .name = "testb", .ops = &mov_ops, },
  73. { .name = "testl", .ops = &mov_ops, },
  74. { .name = "xadd", .ops = &mov_ops, },
  75. { .name = "xbeginl", .ops = &jump_ops, },
  76. { .name = "xbeginq", .ops = &jump_ops, },
  77. { .name = "retq", .ops = &ret_ops, },
  78. };