Age | Commit message (Collapse) | Author |
|
|
|
|
|
explicitly number some OperandCode so their variants can be reused,
factor out other code which turns out to be helpful for code size and
performance reasons. reorder some arguments for read_E/read_M because it
seems to have made a small improvement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
opcode data tables made consistent. apologies for the mem::transmutes,
that's to avoid an extra load and strongly guide the compiler towards
doing a u16 load.
also fix issue where byte iter was a ref to a ref, and other small
changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fix issue where non-relevant prefixes on 0f opcodes may cause incorrect invalid decodes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
through everything
|
|
|
|
also decode operands for 0xcc and cmp al, imm8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* DisplacementI32 was never used, DisplacementU64 added to distinguish 8
and 4 byte addresses
* Added setCC instructions
* Fix sign extension bug for displacement as interpreted by E operands
* Add operand code support for a0,a1,a2,a3 movs
* Add operand code support for Ivs, Ibs
* Complete support for 0x81
* Clean up tests
|
|
|
|
|