Alexis Engelke
b817713ae8
decode: Store operand size logarithmic
2022-11-25 14:34:22 +01:00
Alexis Engelke
2fd83903cf
meson,parseinstrs: Make decode and encode optional
2022-02-20 17:15:21 +01:00
Alexis Engelke
d67eb93148
general: Improve documentation
2021-04-02 11:31:28 +02: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
64a9984fa0
format: Add function fdi_name
2020-12-12 16:24:17 +01:00
Alexis Engelke
9b6caeb2ae
parseinstrs: Write mnemonics to separate file
2020-07-04 14:35:51 +02:00
Alexis Engelke
9556d34a8a
fadec: Deprecate address parameter of fd_decode
2020-06-27 19:01:26 +02:00
Alexis Engelke
bacfecfead
fadec: Allow 64-bit decoding on 32-bit platforms
2020-06-27 17:33:58 +02:00
Alexis Engelke
8445060ad9
fadec: Make memory displacement 64-bit large
...
While for almost all instructions the memory address displacement is
sign-extended 32-bits (like for immediate operands), there is a single
case where this is not true: the FD/TD mov encoding allows for a 64-bit
memory address to be specified.
2020-06-25 21:04:10 +02:00
Alexis Engelke
c3df15e19b
api: Store index register in operand struct
...
Combined with some reordering of the struct fields, this reduces the
size of an FdInstr from 56 bytes to 48 bytes.
2020-06-14 13:36:01 +02:00
Alexis Engelke
7a364fcada
api: Drop unused internal FD_FLAG_REX
2020-05-17 11:14:52 +02:00
Alexis Engelke
afc574503f
Decode jump targets as offset if address is NULL
...
Addresses relative to the actual address of the instruction are decoded
as new offset operand, where the RIP has to be added to obtain the real
value. For backwards compatibility, the new behavior is only exposed if
the address of the instruction is specified as zero.
2020-03-07 14:30:07 +01:00
Alexis Engelke
889a509a5e
Update documentation for latest changes
2019-11-03 11:56:38 +01:00
Alexis Engelke
dbfcf33c33
Add more precise error codes
2019-11-02 22:31:10 +01:00
Alexis Engelke
bd6c7ceebe
Begin enforcing memory operand requirements
2019-11-02 19:21:29 +01:00
Alexis Engelke
c930fa03dc
Make header compatible with C++
2019-08-18 18:13:53 +02:00
Alexis Engelke
c59319b3bb
Rename decode tables to fadec-decode-table.inc
2019-06-16 09:45:51 +02:00
Alexis Engelke
3f278bc6cc
Store register type in decoded instruction
2019-05-05 12:53:10 +02: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
e9878785da
Replace FD_OP with FD_OT to avoid macro collision
2019-02-03 20:31:27 +01:00
Alexis Engelke
3abf29d63e
Major rework of API and improved documentation
2019-01-23 20:03:40 +01:00