Commit Graph

75 Commits

Author SHA1 Message Date
Alexis Engelke
8c51339c49 Add moves from/to control/debug registers 2019-11-02 17:09:41 +01:00
Alexis Engelke
9d6e357d54 Add INT1 2019-11-02 17:09:22 +01:00
Alexis Engelke
a2a28b7342 Fix immediate size for REX+66 combinations 2019-11-02 17:08:58 +01:00
Alexis Engelke
915c2296c1 Add support for far returns 2019-11-02 17:08:37 +01:00
Alexis Engelke
c4a4df458d Be more restrictive about VEX prefix combinations 2019-11-02 15:53:00 +01:00
Alexis Engelke
5613adda25 Support decoding SS segment override prefix 2019-11-02 15:52:45 +01:00
Alexis Engelke
9987f47a50 meson: Fix warning about missing warning 2019-08-18 18:16:54 +02:00
Alexis Engelke
c930fa03dc Make header compatible with C++ 2019-08-18 18:13:53 +02:00
Alexis Engelke
bb3c7a4a4f Fix alignment warnings from Clang 2019-08-18 18:13:39 +02:00
Alexis Engelke
0f2681b138 Add some API description to README 2019-06-16 10:19:08 +02:00
Alexis Engelke
69ac42c11f Fix format.c for recent file name change 2019-06-16 10:18:41 +02:00
Alexis Engelke
69691c9605 Generate pkg-config file 2019-06-16 09:48:18 +02:00
Alexis Engelke
9bdb71e6aa Install library and header files 2019-06-16 09:46:31 +02:00
Alexis Engelke
c59319b3bb Rename decode tables to fadec-decode-table.inc 2019-06-16 09:45:51 +02:00
Alexis Engelke
2933b0f106 Rename library to libfadec 2019-06-16 09:44:12 +02:00
Alexis Engelke
07709fcdd8 Fix operand ordering of MOV[LH]P[S] 2019-05-06 08:10:50 +02:00
Alexis Engelke
fba31efff0 Add Travis CI file 2019-05-05 13:10:20 +02:00
Alexis Engelke
24b79f71b6 Add missing FPU instructions 2019-05-05 12:53:29 +02:00
Alexis Engelke
3f278bc6cc Store register type in decoded instruction 2019-05-05 12:53:10 +02:00
Alexis Engelke
899278600b Refactor encoding of bit field 2019-05-05 12:26:20 +02:00
Alexis Engelke
dff78c5a86 Support VSIB encoding 2019-04-27 11:16:09 +02:00
Alexis Engelke
1b474a04ac Add support for missing AVX instructions 2019-04-27 11:10:22 +02:00
Alexis Engelke
a7d4c7be9d Minor clean-up 2019-04-27 11:09:57 +02:00
Alexis Engelke
db1ec271df Simplify macros for immediate loading 2019-04-27 08:19:33 +02:00
Alexis Engelke
1ff0e60ddc Remove unused macros 2019-04-27 08:19:03 +02:00
Alexis Engelke
000349b360 Update README 2019-02-24 17:14:41 +01:00
Alexis Engelke
f4644430b8 Update README 2019-02-24 17:13:56 +01:00
Alexis Engelke
b105c48903 Update README 2019-02-24 17:12:35 +01:00
Alexis Engelke
14c5590413 Set size of rare memory operands to zero 2019-02-24 17:11:32 +01:00
Alexis Engelke
53ca6a2f23 Drop export of VEX.L prefix
This was previously needed to distinguish VZEROALL and VZEROUPPER. As
mandatory VEX.L is now handled properly, there is no need to export this
encoding detail any longer.
2019-02-24 15:48:08 +01:00
Alexis Engelke
2dd1c99a81 Fix operand size of some SSE instructions 2019-02-24 15:46:09 +01:00
Alexis Engelke
d5d0009070 Distinguish VZEROALL and VZEROUPPER 2019-02-24 15:45:37 +01:00
Alexis Engelke
f7f0b322c7 Enforce mandatory L0/L1 in VEX prefix 2019-02-24 15:45:00 +01:00
Alexis Engelke
83988828ec Add some test cases for ModRM decoding 2019-02-24 10:10:02 +01:00
Alexis Engelke
dfd70eef39 Fix bug with VMOV[DQ] operand width in 32-bit mode 2019-02-24 10:09:18 +01:00
Alexis Engelke
9cdd35f82f Decode VEX compact escapes more precisely
The single opcode byte follows the VEX prefix immediately.
2019-02-24 10:08:41 +01:00
Alexis Engelke
b2b29239b1 Disallow LOCK prefix for non-lockable instructions 2019-02-24 09:26:23 +01:00
Alexis Engelke
89d6b5a5a7 Refactor ModRM decoding 2019-02-24 09:25:19 +01:00
Alexis Engelke
1670a52047 Fix decoding of CVTTS[SD]2SI 2019-02-23 16:33:32 +01:00
Alexis Engelke
67ae0f8de8 Store 32-bit and 64-bit data in a single table 2019-02-23 16:33:01 +01:00
Alexis Engelke
256806e4b6 Use argparse 2019-02-23 15:26:04 +01:00
Alexis Engelke
da683d850a Simplify storing of opcode to description mapping 2019-02-23 12:18:50 +01:00
Alexis Engelke
10e7a41972 Simplify handling of 32-bit and 64-bit encodings 2019-02-23 12:06:04 +01:00
Alexis Engelke
50ba38627b Store instruction description as namedtuple 2019-02-23 11:53:25 +01:00
Alexis Engelke
3fbd0ff5b5 Deduplicate tables in addition to instructions 2019-02-23 11:09:24 +01:00
Alexis Engelke
ffa28357ce Support tables with multiple roots 2019-02-23 11:04:57 +01:00
Alexis Engelke
81224d1748 Fix some FPU instruction operand sizes 2019-02-10 16:17:33 +01:00
Alexis Engelke
b328067e60 Minor update of instruction definitions 2019-02-10 10:49:22 +01:00
Alexis Engelke
dd86caa7f9 Fix RIP-relative address decoding 2019-02-03 20:31:49 +01:00
Alexis Engelke
e9878785da Replace FD_OP with FD_OT to avoid macro collision 2019-02-03 20:31:27 +01:00