You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
idle wishlist of things i'd like to break for a 2.0 version of the disassembler.. yaxpeax-x86 was one of the first crates i'd published and has some poor API choices as a result.
{long,protected,real}_mode need better names
years ago i'd had the mistaken impression that you could only run 16-bit code in real mode, 32-bit in protected mode, 64-bit in long mode. the actual hardware-allowed behavior is more subtle and controlled by a few different bits. these really should just be x86_64/x86_32/x86_16 or... something, talking about the bit width of the instruction set.
multiple-register operands should be structure-style with named fields
Operand docs speak for themselves. which RegSpec is the base, or first register in the address? which is second? which RegSpec is the mask register in RegIndexBaseScaleDispMasked? this would be a little more reasonable as RegIndexBase { base: RegSpec, index: RegSpec } and so on. this will change in 2.0
instruction encoding
doesn't necessarily need a breaking change, may happen before or after 2.0, but by 2.0 i'd like to have an idea of if there need to be changes here or in yaxpeax-arch..
address the open issues re. register names and RegSpec relationships
again probably won't need breaking changes. i just want to address these wrinkles before worrying about larger breaking changes.
The text was updated successfully, but these errors were encountered:
idle wishlist of things i'd like to break for a 2.0 version of the disassembler..
yaxpeax-x86
was one of the first crates i'd published and has some poor API choices as a result.{long,protected,real}_mode
need better namesx86_64
/x86_32
/x86_16
or... something, talking about the bit width of the instruction set.Operand
docs speak for themselves. whichRegSpec
is the base, or first register in the address? which is second? whichRegSpec
is the mask register inRegIndexBaseScaleDispMasked
? this would be a little more reasonable asRegIndexBase { base: RegSpec, index: RegSpec }
and so on. this will change in 2.0yaxpeax-arch
..The text was updated successfully, but these errors were encountered: