Alexis Engelke
|
84645afaac
|
README: Add API for encoder
|
2021-01-03 21:23:24 +01:00 |
|
Alexis Engelke
|
aefab34927
|
README: Update and include encoder
|
2021-01-03 21:19:36 +01:00 |
|
Alexis Engelke
|
44808e7b1a
|
format: Format instructions with Intel syntax
|
2021-01-03 21:18:57 +01:00 |
|
Alexis Engelke
|
d8c7ee94b7
|
instrs: Minor fixes to operand sizes
|
2021-01-03 20:08:34 +01:00 |
|
Alexis Engelke
|
d2bf961b77
|
instrs: Properly handle PUSH/POP of SEG registers
|
2021-01-03 20:08:34 +01:00 |
|
Alexis Engelke
|
3a3a284f6f
|
parseinstrs: Improve performance
|
2021-01-03 20:08:34 +01:00 |
|
Alexis Engelke
|
5a77c0e6eb
|
parseinstrs: Use suffix tree to reduce mnem size
This brings slight size improvements, although due to SSE/MMX
instruction name prefixes, benefits are rather small (~50 bytes).
|
2021-01-03 20:08:30 +01:00 |
|
Alexis Engelke
|
e82c9e20db
|
build: Simplify
|
2021-01-02 16:27:28 +01:00 |
|
Alexis Engelke
|
90cce987f0
|
decode: Remove use of ARCH_* macros
|
2021-01-02 16:25:25 +01:00 |
|
Alexis Engelke
|
64a9984fa0
|
format: Add function fdi_name
|
2020-12-12 16:24:17 +01:00 |
|
Alexis Engelke
|
305eb9d568
|
decode: Inline ModRM decoding
This is a preparation for further changes to that routine.
|
2020-11-29 13:34:16 +01:00 |
|
Alexis Engelke
|
aa1a39bd9d
|
instrs: Check SREG validity using modreg table
|
2020-11-29 11:56:08 +01:00 |
|
Alexis Engelke
|
13e7e27640
|
decode: Minor non-functional changes
|
2020-11-29 10:03:11 +01:00 |
|
Alexis Engelke
|
7ab5a18cb0
|
instrs: Fix naming of some FMA instructions
|
2020-11-28 13:54:51 +01:00 |
|
Alexis Engelke
|
8976c7141a
|
decode: Fix erroneous decoding of high-byte regs
|
2020-11-28 13:54:19 +01:00 |
|
Alexis Engelke
|
757acf18c3
|
decode: Minor performance improvements
|
2020-11-27 09:07:52 +01:00 |
|
Alexis Engelke
|
fd80706f54
|
decode: Store instruction descriptors separately
|
2020-11-22 22:27:43 +01:00 |
|
Alexis Engelke
|
bb8510d77f
|
decode: Ignore ES/CS/SS/DS override in 64-bit mode
|
2020-11-22 20:59:13 +01:00 |
|
Alexis Engelke
|
8ab9f641b8
|
instrs: Add TSXLDTRK, AVX_VNNI, HRESET, and UINTR
|
2020-11-22 17:36:12 +01:00 |
|
Alexis Engelke
|
f4215d4260
|
decode: Remove PrefixSet enum
|
2020-11-22 16:02:35 +01:00 |
|
Alexis Engelke
|
ad1f1e39c3
|
decode: Minor non-functional changes
|
2020-11-22 15:14:57 +01:00 |
|
Alexis Engelke
|
6fe5500444
|
instrs: Force RIP access to 64-bit and fix XBEGIN
|
2020-11-22 15:13:52 +01:00 |
|
Alexis Engelke
|
f9bba6289e
|
instrs: Annotate only-mem and only-reg in opcode
|
2020-11-22 11:34:55 +01:00 |
|
Alexis Engelke
|
bbc3b34f71
|
decode: Fix VEX + REX + legacy combinations
|
2020-11-21 15:43:51 +01:00 |
|
Alexis Engelke
|
7f0bd4de8b
|
decode: Fix combinations of VEX with legacy prefix
|
2020-11-21 14:59:25 +01:00 |
|
Alexis Engelke
|
318fdc50eb
|
decode: Replace table walk macro with function
|
2020-11-17 10:43:08 +01:00 |
|
Alexis Engelke
|
95070908d0
|
tests/decode: Add more test cases
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
58464d6fa1
|
decode: Fix ignoring VEX.B in 32-bit mode
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
62b0420147
|
parseinstr: Simplify opcode naming scheme
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
9df6ac1788
|
decode: Replace T8+T72 with T16+T8E for R/M value
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
7d7e72746e
|
parseinstr: Split escape and opcode
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
01e1587c5c
|
decode: Move prefix before other opcode extensions
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
2e7e396325
|
decode: Remove TABLE_PREFIX_REP and use NFx prefix
|
2020-11-09 09:47:36 +01:00 |
|
Alexis Engelke
|
69ce124354
|
encode: Add library for x86-64 encoding
|
2020-11-09 09:46:38 +01:00 |
|
Alexis Engelke
|
4e95c8d152
|
instrs: Several operand size and AVX-related fixes
|
2020-07-05 14:59:24 +02:00 |
|
Alexis Engelke
|
9d7aeb2b61
|
instrs: Replace LIG attribute with LIG specifier
|
2020-07-05 14:57:22 +02:00 |
|
Alexis Engelke
|
468eeaa249
|
parseinstrs: Create a separate class for parsed opcode
|
2020-07-05 14:57:22 +02:00 |
|
Alexis Engelke
|
9b6caeb2ae
|
parseinstrs: Write mnemonics to separate file
|
2020-07-04 14:35:51 +02:00 |
|
Alexis Engelke
|
dc668691d8
|
instrs: Specify segment register size
|
2020-07-04 14:25:22 +02:00 |
|
Alexis Engelke
|
0da46cba98
|
instrs: Add missing VEXLIG for compares
|
2020-07-04 14:25:20 +02:00 |
|
Alexis Engelke
|
c9333ac2c9
|
instrs: Enforce memory for VSIB encodings
|
2020-07-04 14:24:59 +02:00 |
|
Alexis Engelke
|
141680e77c
|
instrs: Remove MUSTMEM, encode in operands
|
2020-07-04 14:24:56 +02:00 |
|
Alexis Engelke
|
da4ad137d8
|
instrs: Remove redundant IMM_8
|
2020-07-04 08:55:51 +02:00 |
|
Alexis Engelke
|
854082a156
|
instrs: Remove invalid SIZE_8 markers
|
2020-07-02 08:39:51 +02:00 |
|
Alexis Engelke
|
7ee9320840
|
decode: Add second fixed operand size
|
2020-06-30 22:07:18 +02:00 |
|
Alexis Engelke
|
08490d4503
|
parseinstrs: Simplify opkind lookup
|
2020-06-30 21:02:31 +02:00 |
|
Alexis Engelke
|
e7b5982ba9
|
tests/decode: Add CRC32 and MOVBE test cases
|
2020-06-27 19:01:26 +02:00 |
|
Alexis Engelke
|
ab27ea6338
|
tests/decode: Print architecture mode on failure
|
2020-06-27 19:01:26 +02:00 |
|
Alexis Engelke
|
ceea786c7f
|
tests/decode: Rewrite in C, speed-up is >100x
|
2020-06-27 19:01:26 +02:00 |
|
Alexis Engelke
|
9556d34a8a
|
fadec: Deprecate address parameter of fd_decode
|
2020-06-27 19:01:26 +02:00 |
|