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

Class i386ImmMemOper

source code


An operand which represents the dereference (memory read/write) of a memory location associated with an immediate.

Instance Methods [hide private]
 
__init__(self, imm, tsize) source code
 
isDeref(self)
If the given operand will dereference memory, this method must return True.
source code
 
isDiscrete(self)
If the given operand can be completly resolved without an emulator, 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
 
render(self, mcanv, op, idx)
Used by the opcode class when rendering to a memory canvas.
source code
 
__eq__(self, other) source code

Inherited from Operand: __ne__, isImmed, isReg

Method Details [hide private]

isDeref(self)

source code 

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

Overrides: Operand.isDeref
(inherited documentation)

isDiscrete(self)

source code 

If the given operand can be completly resolved without an emulator, return True.

Overrides: Operand.isDiscrete
(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)

__eq__(self, other)
(Equality operator)

source code 
Overrides: Operand.__eq__