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

Public Member Functions

def encode
 
def decode
 
def fromstring
 
def check_fbits
 
def fromstring
 

Public Attributes

 value
 
 expr
 
 fmask
 

Static Public Attributes

 parser = reg_ext_off
 
 reg_info = None
 

Detailed Description

Definition at line 886 of file arch.py.

Member Function Documentation

def miasm2.core.cpu.reg_noarg.check_fbits (   self,
  v 
)
inherited

Definition at line 666 of file cpu.py.

667  def check_fbits(self, v):
668  return v & self.fmask == self.fbits
669 
def miasm2.arch.aarch64.arch.aarch64_gpreg_ext.decode (   self,
  v 
)

Definition at line 907 of file arch.py.

908  def decode(self, v):
909  if self.parent.sf.value == 0:
910  size = 64 if self.parent.sf.value else 32
911  else:
912  size = OPTION2SIZE[self.parent.option.value]
913  reg = gpregsz_info[size].expr[v]
915  self.expr = m2_expr.ExprOp(extend_lst[self.parent.option.value],
916  reg, m2_expr.ExprInt_from(reg, self.parent.imm.value))
917  return True
def miasm2.arch.aarch64.arch.aarch64_gpreg_ext.encode (   self)

Definition at line 889 of file arch.py.

890  def encode(self):
891  if not isinstance(self.expr, m2_expr.ExprOp):
892  return False
893  if self.expr.op not in extend_lst:
894  return False
895  reg, amount = self.expr.args
896 
897  if not reg in gpregsz_info[self.expr.size].expr:
898  return False
899  self.value = gpregsz_info[self.expr.size].expr.index(reg)
900  option = extend_lst.index(self.expr.op)
901  if self.expr.size != OPTION2SIZE[option]:
902  if not test_set_sf(self.parent, self.expr.size):
903  return False
904  self.parent.option.value = option
905  self.parent.imm.value = int(amount.arg)
906  return True
def miasm2.core.cpu.m_arg.fromstring (   self,
  s,
  parser_result = None 
)
inherited

Definition at line 604 of file cpu.py.

605  def fromstring(self, s, parser_result=None):
606  if parser_result:
607  e, start, stop = parser_result[self.parser]
608  self.expr = e
609  return start, stop
610  try:
611  v, start, stop = self.parser.scanString(s).next()
612  except StopIteration:
613  return None, None
614  self.expr = v[0]
615  return start, stop
616 

+ Here is the call graph for this function:

def miasm2.core.cpu.reg_noarg.fromstring (   self,
  s,
  parser_result = None 
)
inherited

Definition at line 636 of file cpu.py.

637  def fromstring(self, s, parser_result=None):
638  if parser_result:
639  e, start, stop = parser_result[self.parser]
640  self.expr = e
641  return start, stop
642  try:
643  v, start, stop = self.parser.scanString(s).next()
644  except StopIteration:
645  return None, None
646  self.expr = v[0]
647  return start, stop

Member Data Documentation

miasm2.arch.aarch64.arch.aarch64_gpreg_ext.expr

Definition at line 914 of file arch.py.

miasm2.core.cpu.reg_noarg.fmask
inherited

Definition at line 667 of file cpu.py.

miasm2.arch.aarch64.arch.aarch64_gpreg_ext.parser = reg_ext_off
static

Definition at line 887 of file arch.py.

miasm2.core.cpu.reg_noarg.reg_info = None
staticinherited

Definition at line 633 of file cpu.py.

miasm2.arch.aarch64.arch.aarch64_gpreg_ext.value

Definition at line 898 of file arch.py.


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