Closed GoogleCodeExporter closed 9 years ago
Woops, a typo. The instruction in question seems to give a operand[1] of
'-0x1', not '0x-1'. Sorry. The test case output shows this.
Original comment by vex...@gmail.com
on 22 Jul 2012 at 12:57
After speaking to a college, we think that the second mov was interpreted
signed due to the variation of mov that was used; specifically, it is a sign
extended variant.
Original comment by vex...@gmail.com
on 23 Jul 2012 at 11:32
[deleted comment]
Looking at the sample you sent, it seems you're right.
Original comment by distorm@gmail.com
on 23 Jul 2012 at 9:43
It's because the source operand is IMM32 which gets sign extended to IMM64 in
64 bits.
Original comment by distorm@gmail.com
on 24 Jul 2012 at 4:56
Cheers
So to clarify, there is no canonical representation of immediate operands in
distorm? Number representation is context specific depending upon if the
operation implies signedness?
For example 0x8000000000000000 is a large positive number if it is an operands
to a opcode implying an unsigned context otherwise it is a small negative
number.
I was expecting to see the operands in a "context insensitive" manner, as just
raw hex bytes, that's all.
Original comment by vex...@gmail.com
on 24 Jul 2012 at 5:28
Original issue reported on code.google.com by
vex...@gmail.com
on 22 Jul 2012 at 12:50Attachments: