Package envi :: Package archs :: Package i386 :: Module disasm :: Class i386SibOper
[hide private]
[frames] | no frames]

Class i386SibOper

source code


An operand which represents the result of reading/writting memory from the dereference (with possible displacement) from a given register.

Instance Methods [hide private]
 
__init__(self, tsize, reg=None, imm=None, index=None, scale=1, disp=0) source code
 
__eq__(self, other) source code
 
isDeref(self)
If the given operand will dereference memory, this method must return True.
source code
 
repr(self, op)
Used by the Opcode class to get a humon readable string for this operand.
source code
 
getOperValue(self, op, emu=None)
Get the current value for the operand.
source code
 
setOperValue(self, op, emu, val)
Set the current value for the operand.
source code
 
getOperAddr(self, op, emu=None)
If the operand is a "dereference" operand, this method should use the specified op/emu to resolve the address of the dereference.
source code
 
_getOperBase(self, emu=None) source code
 
render(self, mcanv, op, idx)
Used by the opcode class when rendering to a memory canvas.
source code

Inherited from Operand: __ne__, isDiscrete, isImmed, isReg

Method Details [hide private]

__eq__(self, other)
(Equality operator)

source code 
Overrides: Operand.__eq__

isDeref(self)

source code 

If the given operand will dereference memory, this method must return True.

Overrides: Operand.isDeref
(inherited documentation)

repr(self, op)

source code 

Used by the Opcode class to get a humon readable string for this operand.

Overrides: Operand.repr
(inherited documentation)

getOperValue(self, op, emu=None)

source code 

Get the current value for the operand.  If needed, use
the given emulator/workspace/trace to resolve things like
memory and registers.

NOTE: This API may be passed a None emu and should return what it can
      (or None if it can't be resolved)

Overrides: Operand.getOperValue
(inherited documentation)

setOperValue(self, op, emu, val)

source code 

Set the current value for the operand. If needed, use the given emulator/workspace/trace to assign things like memory and registers.

Overrides: Operand.setOperValue
(inherited documentation)

getOperAddr(self, op, emu=None)

source code 

If the operand is a "dereference" operand, this method should use the
specified op/emu to resolve the address of the dereference.

NOTE: This API may be passed a None emu and should return what it can
      (or None if it can't be resolved)

Overrides: Operand.getOperAddr
(inherited documentation)

render(self, mcanv, op, idx)

source code 

Used by the opcode class when rendering to a memory canvas.

Overrides: Operand.render
(inherited documentation)