amd64_defs.M1 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. ## Copyright (C) 2017 Jeremiah Orians
  2. ## This file is part of M2-Planet.
  3. ##
  4. ## M2-Planet is free software: you can redistribute it and/or modify
  5. ## it under the terms of the GNU General Public License as published by
  6. ## the Free Software Foundation, either version 3 of the License, or
  7. ## (at your option) any later version.
  8. ##
  9. ## M2-Planet is distributed in the hope that it will be useful,
  10. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. ## GNU General Public License for more details.
  13. ##
  14. ## You should have received a copy of the GNU General Public License
  15. ## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
  16. DEFINE ADD_IMMEDIATE_to_rax 4805
  17. DEFINE ADD_IMMEDIATE_to_rbp 4881C5
  18. DEFINE ADD_rax_to_rbx 4801C3
  19. DEFINE ADD_rbp_to_rax 4801E8
  20. DEFINE ADD_rbx_to_rax 4801D8
  21. DEFINE AND_rax_rbx 4821D8
  22. DEFINE CALL_IMMEDIATE E8
  23. DEFINE CALL_rax FFD0
  24. DEFINE CMP 4839C3
  25. DEFINE COPY_rax_to_rcx 4889C1
  26. DEFINE COPY_rax_to_rdi 4889C7
  27. DEFINE COPY_rbx_to_rax 4889D8
  28. DEFINE COPY_rbp_to_rax 4889E8
  29. DEFINE COPY_rbx_to_rdi 4889DF
  30. DEFINE COPY_rdi_to_rbp 4889FD
  31. DEFINE COPY_rsp_to_rbp 4889E5
  32. DEFINE COPY_RSP_to_RDI 4889E7
  33. DEFINE CQTO 4899
  34. DEFINE DIVIDE_rax_by_rbx_into_rax 48F7F3
  35. DEFINE DIVIDES_rax_by_rbx_into_rax 48F7FB
  36. DEFINE JUMP E9
  37. DEFINE JUMP_EQ 0F84
  38. DEFINE JUMP_NE 0F85
  39. DEFINE LOAD_BASE_ADDRESS_rax 488D85
  40. DEFINE LOAD_BYTE 0FBE00
  41. DEFINE LOAD_EFFECTIVE_ADDRESS_rax 488D8424
  42. DEFINE LOAD_EFFECTIVE_ADDRESS_rdi 488DBC24
  43. DEFINE LOAD_EFFECTIVE_ADDRESS_rdx 488D9424
  44. DEFINE LOAD_EFFECTIVE_ADDRESS_rsi 488DB424
  45. DEFINE LOAD_IMMEDIATE_r10 48C7C2
  46. DEFINE LOAD_IMMEDIATE_rax 48C7C0
  47. DEFINE LOAD_IMMEDIATE_rbx 48C7C3
  48. DEFINE LOAD_IMMEDIATE_rdi 48C7C7
  49. DEFINE LOAD_IMMEDIATE_rdx 48C7C2
  50. DEFINE LOAD_IMMEDIATE_rsi 48C7C6
  51. DEFINE LOAD_INTEGER 488B00
  52. DEFINE LOAD_INTEGER_rdi 488B3F
  53. DEFINE LOAD_INTEGER_rdx 488B12
  54. DEFINE LOAD_INTEGER_rsi 488B36
  55. DEFINE LOAD_RSP_IMMEDIATE_into_rax 488B8424
  56. DEFINE MODULUS_rax_from_rbx_into_rbx 48F7F3
  57. DEFINE MODULUSS_rax_from_rbx_into_rbx 48F7FB
  58. DEFINE MOVE_rbx_to_rax 4889D8
  59. DEFINE MOVE_rdx_to_rax 4889D0
  60. DEFINE MOVEZX 480FB6C0
  61. DEFINE MOVESX 4863C0
  62. DEFINE MULTIPLY_rax_by_rbx_into_rax 48F7EB
  63. DEFINE MULTIPLYS_rax_by_rbx_into_rax 48F7E3
  64. DEFINE NULL 0000000000000000
  65. DEFINE NOT_rax 48F7D0
  66. DEFINE OR_rax_rbx 4809D8
  67. DEFINE POP_RAX 58
  68. DEFINE POP_RBP 5D
  69. DEFINE POP_RBX 5B
  70. DEFINE POP_RDI 5F
  71. DEFINE PUSH_RAX 50
  72. DEFINE PUSH_RBP 55
  73. DEFINE PUSH_RBX 53
  74. DEFINE PUSH_RDI 57
  75. DEFINE RETURN C3
  76. DEFINE SAL_rax_Immediate8 48C1E0
  77. DEFINE SHL_rax_cl 48D3E0
  78. DEFINE SAL_rax_cl 48D3F0
  79. DEFINE SHR_rax_cl 48D3E8
  80. DEFINE SAR_rax_cl 48D3F8
  81. DEFINE SETA 0F97C0
  82. DEFINE SETAE 0F93C0
  83. DEFINE SETB 0F92C0
  84. DEFINE SETBE 0F96C0
  85. DEFINE SETE 0F94C0
  86. DEFINE SETG 0F9FC0
  87. DEFINE SETGE 0F9DC0
  88. DEFINE SETL 0F9CC0
  89. DEFINE SETLE 0F9EC0
  90. DEFINE SETNE 0F95C0
  91. DEFINE STORE_CHAR 8803
  92. DEFINE STORE_INTEGER 488903
  93. DEFINE SUBTRACT_rax_from_rbx_into_rbx 4829C3
  94. DEFINE SYSCALL 0F05
  95. DEFINE TEST 4885C0
  96. DEFINE XCHG_rax_rbx 4893
  97. DEFINE XOR_rbx_rax_into_rax 4831D8