What steps will reproduce the problem?
1. Execute the following Assembly line:
mov ebx, DWORD PTR SS:[EBP-14]
The negative Number -4 will be stored as 0xffffffec in op.displacement and just
added to address which will result in an address higher then 2**32.
I am using the current svn source tree.
FIX (works for me):
545a546,547
> if value == False:
> print "failed to read from %x, len: %d"%(address,size)
1503a1506
> address = address & 0xffffffff
1506a1510,1512
> print "Address: 0x%x"%address
> print "op.basereg: 0x%x"%op.basereg
> print "op.displacement: 0x%x"%op.displacement
1564c1570
<
---
> address = address & 0xffffffff
1704c1710
<
---
> address = address & 0xffffffff
1706a1713,1715
> print "Address: 0x%x"%address
> print "op.basereg: 0x%x"%op.basereg
> print "op.displacement: 0x%x"%op.displacement
1764c1773
<
---
> address = address & 0xffffffff
Be advised that the error is possibly also located in other instructions using
offsets.
Original issue reported on code.google.com by felix.ma...@rwth-aachen.de on 8 Jan 2011 at 9:44
Original issue reported on code.google.com by
felix.ma...@rwth-aachen.de
on 8 Jan 2011 at 9:44