misc_instr.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <stdint.h>
  4. bool getcf(void);
  5. bool getpf(void);
  6. bool getaf(void);
  7. bool getzf(void);
  8. bool getsf(void);
  9. bool getof(void);
  10. bool test_o(void);
  11. bool test_b(void);
  12. bool test_z(void);
  13. bool test_s(void);
  14. bool test_p(void);
  15. bool test_be(void);
  16. bool test_l(void);
  17. bool test_le(void);
  18. bool test_no(void);
  19. bool test_nb(void);
  20. bool test_nz(void);
  21. bool test_ns(void);
  22. bool test_np(void);
  23. bool test_nbe(void);
  24. bool test_nl(void);
  25. bool test_nle(void);
  26. void jmp_rel16(int32_t rel16);
  27. void jmpcc16(bool condition, int32_t imm16);
  28. void jmpcc32(bool condition, int32_t imm32);
  29. void loope16(int32_t imm8s);
  30. void loopne16(int32_t imm8s);
  31. void loop16(int32_t imm8s);
  32. void jcxz16(int32_t imm8s);
  33. void loope32(int32_t imm8s);
  34. void loopne32(int32_t imm8s);
  35. void loop32(int32_t imm8s);
  36. void jcxz32(int32_t imm8s);
  37. void cmovcc16(bool condition, int32_t value, int32_t r);
  38. void cmovcc32(bool condition, int32_t value, int32_t r);
  39. int32_t get_stack_pointer(int32_t offset);
  40. void adjust_stack_reg(int32_t adjustment);
  41. void push16_ss16(int32_t imm16);
  42. void push16_ss32(int32_t imm16);
  43. void push16_ss16_mem(int32_t addr);
  44. void push16_ss32_mem(int32_t addr);
  45. void push16(int32_t imm16);
  46. void push32_ss16(int32_t imm32);
  47. void push32_ss32(int32_t imm32);
  48. void push32_ss16_mem(int32_t addr);
  49. void push32_ss32_mem(int32_t addr);
  50. void push32(int32_t imm32);
  51. int32_t pop16(void);
  52. int32_t pop32_ss16(void);
  53. int32_t pop32_ss32(void);
  54. int32_t pop32s(void);
  55. void pusha16(void);
  56. void pusha32(void);
  57. void setcc_reg(bool condition, int32_t r);
  58. void setcc_mem(bool condition, int32_t addr);
  59. void fxsave(uint32_t addr);
  60. void fxrstor(uint32_t addr);
  61. int32_t xchg8(int32_t data, int32_t r8);
  62. int32_t xchg16(int32_t data, int32_t r16);
  63. void xchg16r(int32_t r16);
  64. int32_t xchg32(int32_t data, int32_t r32);
  65. void xchg32r(int32_t r32);