Alexis Engelke
dbf72dd282
Fix VEX+REX handling
2019-11-02 22:16:50 +01:00
Alexis Engelke
a5a15258fd
Fix another bug with REX prefix decoding
2019-11-02 21:54:39 +01:00
Alexis Engelke
df4e2725d4
Annotate several more memory-only instructions
2019-11-02 21:50:02 +01:00
Alexis Engelke
92e104d411
Finally fix moves from/to CR/DR registers
2019-11-02 21:48:36 +01:00
Alexis Engelke
96ba1a1166
Verify more register indices
2019-11-02 21:47:28 +01:00
Alexis Engelke
ab2d60da75
Reject invalid segment registers
2019-11-02 21:11:35 +01:00
Alexis Engelke
e2026b572d
Reject invalid VEX encodings
2019-11-02 21:08:34 +01:00
Alexis Engelke
bd6c7ceebe
Begin enforcing memory operand requirements
2019-11-02 19:21:29 +01:00
Alexis Engelke
32d65fbf19
Fix CR/DR move operand sizes
2019-11-02 19:20:47 +01:00
Alexis Engelke
194a7d6831
Add REP-prefix table
2019-11-02 19:01:23 +01:00
Alexis Engelke
7682541a00
Refactor opcode parsing
2019-11-02 19:00:46 +01:00
Alexis Engelke
21cea7ff23
Fix GETSEC prefix encoding
2019-11-02 19:00:11 +01:00
Alexis Engelke
5ba2859c7b
Fix ADDSUBPS encoding
2019-11-02 17:53:21 +01:00
Alexis Engelke
194b99065e
Add RSM instruction
2019-11-02 17:32:51 +01:00
Alexis Engelke
e43ec050af
Correctly handle mis-placed REX prefix
2019-11-02 17:32:40 +01:00
Alexis Engelke
d728f8f4af
Fix UD0 encoding
2019-11-02 17:10:22 +01:00
Alexis Engelke
8efc33ca4d
Add LSS/LFS/LGS instructions
2019-11-02 17:10:04 +01:00
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