-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MOV need to be splitted to mem and nomem syntaxes #52
Comments
Good catch. However, it seems like objdump doesn't follow the syntax defined in Intel manual. The operand is either 16-bit or 64-bit, never 32-bit one, according to the manual. In 64-bit mode, the register is either 16-bit or 64-bit, depending on And there's similar issue with |
Moved to mazegen/x86reference#19 |
Right now
MOV
encoded with opcode8E
use operand typew
for its operand of addressingE
which is defined as:According to the intel docs:
When dealing with memory addressing the operand always points to
word
pointer as expected, but when dealing with register addressing, one need to specify the full register name even tho the instruction only uses the lower 16 bit of the register, thus I think the appropriate solution would be to split the syntax tomem
andnomem
attributes, when themem
one has operand typew
and thenomem
one has operand typev
because the operand size prefix can affect the register in use according to my testing on objdump which is defined as::For 64 bit mode the operand type should be
vqp
which is defined as:EDIT: clarity
The text was updated successfully, but these errors were encountered: