Skip to content
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 (0x8e) should has [SREG, RFULL_M16] as its operand #45

Closed
GoogleCodeExporter opened this issue Mar 20, 2015 · 2 comments
Closed

mov (0x8e) should has [SREG, RFULL_M16] as its operand #45

GoogleCodeExporter opened this issue Mar 20, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

I'm using diStorm's disOps python script to generate an instruction database, 
and try to write a disassembler (to learn x86 instruction set better).

Currently mov (0x8e) has [SREG, RM16] as its operand. Objdump uses 32bit 
register in its decoding output.
But for lldt (0x0f 0x00 /02), which has [RM16] as its operand, objdump uses 
16bit register.

Here's a comparison of objdump's output for mov (0x8e and 0x8c) and lldt:

8e e0:   mov  %eax,%fs
8c e8:   mov %gs,%eax
0f 00 d2:    lldt %dx

When consulting the Intel Manual (vol 2b, 2011 version), the mov (0x8e) opcode 
has the same note as 0x8c.
So I guess mov (0x8e) should also have RFULL_M16 as its 2nd operand, the same 
as the 1st operand of mov (0x8c).

Original issue reported on code.google.com by cyfde...@gmail.com on 15 Mar 2012 at 10:35

@GoogleCodeExporter
Copy link
Author

Thanks, I will check it out and fix it. Keep on finding problems in the DB ;)

Original comment by distorm@gmail.com on 19 Mar 2012 at 1:44

  • Changed state: Accepted

@GoogleCodeExporter
Copy link
Author

Original comment by distorm@gmail.com on 21 Mar 2012 at 4:45

  • Changed state: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant