Miasm2
 All Classes Namespaces Files Functions Variables Typedefs Properties Macros
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
miasm2.arch.mips32.arch.mips32_soff Class Reference
+ Inheritance diagram for miasm2.arch.mips32.arch.mips32_soff:
+ Collaboration diagram for miasm2.arch.mips32.arch.mips32_soff:

Public Member Functions

def decode
 
def encode
 

Public Attributes

 expr
 
 value
 

Static Public Attributes

 parser = cpu.base_expr
 

Detailed Description

Definition at line 346 of file arch.py.

Member Function Documentation

def miasm2.arch.mips32.arch.mips32_soff_noarg.decode (   self,
  v 
)
inherited

Definition at line 322 of file arch.py.

323  def decode(self, v):
324  v = v & self.lmask
325  v <<= 2
326  v = cpu.sign_ext(v, 16+2, 32)
327  # Add pipeline offset
328  self.expr = ExprInt32(v + 4)
329  return True
def miasm2.arch.mips32.arch.mips32_soff_noarg.encode (   self)
inherited

Definition at line 330 of file arch.py.

331  def encode(self):
332  if not isinstance(self.expr, ExprInt):
333  return False
334  # Remove pipeline offset
335  v = int(self.expr.arg - 4)
336  if v & 0x80000000:
337  nv = v & ((1 << 16+2) - 1)
338  assert( v == cpu.sign_ext(nv, 16+2, 32))
339  v = nv
340  self.value = v>>2
341  return True
342 

Member Data Documentation

miasm2.arch.mips32.arch.mips32_soff_noarg.expr
inherited

Definition at line 327 of file arch.py.

miasm2.arch.mips32.arch.mips32_imm.parser = cpu.base_expr
staticinherited

Definition at line 300 of file arch.py.

miasm2.arch.mips32.arch.mips32_soff_noarg.value
inherited

Definition at line 339 of file arch.py.


The documentation for this class was generated from the following file: