miasm
Reverse engineering framework
arch.py File Reference

Classes

class  miasm.arch.mep.arch.instruction_mep
 
class  miasm.arch.mep.arch.mep_additional_info
 
class  miasm.arch.mep.arch.mn_mep
 
class  miasm.arch.mep.arch.mep_arg
 
class  miasm.arch.mep.arch.mep_reg
 
class  miasm.arch.mep.arch.mep_deref_reg
 
class  miasm.arch.mep.arch.mep_reg_sp
 
class  miasm.arch.mep.arch.mep_reg_tp
 
class  miasm.arch.mep.arch.mep_deref_reg_offset
 
class  miasm.arch.mep.arch.mep_deref_sp_offset
 
class  miasm.arch.mep.arch.mep_deref_tp_offset
 
class  miasm.arch.mep.arch.mep_copro_reg
 
class  miasm.arch.mep.arch.mep_copro_reg_split
 
class  miasm.arch.mep.arch.mep_deref_inc_reg
 
class  miasm.arch.mep.arch.mep_int32_noarg
 
class  miasm.arch.mep.arch.mep_imm
 
class  miasm.arch.mep.arch.mep_imm6
 
class  miasm.arch.mep.arch.mep_imm8
 
class  miasm.arch.mep.arch.mep_imm16
 
class  miasm.arch.mep.arch.mep_imm16_signed
 
class  miasm.arch.mep.arch.mep_target24
 
class  miasm.arch.mep.arch.mep_target24_signed
 
class  miasm.arch.mep.arch.mep_code20
 
class  miasm.arch.mep.arch.mep_code24
 
class  miasm.arch.mep.arch.mep_imm7_align4
 
class  miasm.arch.mep.arch.mep_imm5_Iiiii
 
class  miasm.arch.mep.arch.mep_disp7_align2
 
class  miasm.arch.mep.arch.mep_disp8_align2
 
class  miasm.arch.mep.arch.mep_disp8_align4
 
class  miasm.arch.mep.arch.mep_imm8_align8
 
class  miasm.arch.mep.arch.mep_disp12_align2
 
class  miasm.arch.mep.arch.mep_disp12_align2_signed
 
class  miasm.arch.mep.arch.mep_disp17
 
class  miasm.arch.mep.arch.mep_imm24
 
class  miasm.arch.mep.arch.mep_abs24
 

Namespaces

 miasm.arch.mep.arch
 

Functions

def miasm.arch.mep.arch.ExprInt2SignedString (expr, pos_fmt="%d", neg_fmt="%d", size=None, offset=0)
 
def miasm.arch.mep.arch.addop (name, fields, args=None, alias=False)
 
def miasm.arch.mep.arch.deref2expr (s, l, parse_results)
 

Variables

 miasm.arch.mep.arch.LPARENTHESIS = Literal("(")
 
 miasm.arch.mep.arch.RPARENTHESIS = Literal(")")
 
 miasm.arch.mep.arch.PLUSSIGN = Literal("+")
 
 miasm.arch.mep.arch.HEX_INTEGER = str_int_pos | str_int_neg
 
 miasm.arch.mep.arch.deref_reg_parser = Group(LPARENTHESIS + gpr_infos.parser + RPARENTHESIS).setParseAction(deref2expr)
 
 miasm.arch.mep.arch.deref_inc_reg_parser = Group(LPARENTHESIS + gpr_infos.parser + PLUSSIGN + RPARENTHESIS).setParseAction(deref2expr)
 
 miasm.arch.mep.arch.abs24_deref_parser = Group(LPARENTHESIS + HEX_INTEGER + RPARENTHESIS).setParseAction(deref2expr)
 
 miasm.arch.mep.arch.offset_deref_reg_parser = Group(HEX_INTEGER + LPARENTHESIS + gpr_infos.parser + RPARENTHESIS).setParseAction(deref2expr)
 
 miasm.arch.mep.arch.reg04
 
 miasm.arch.mep.arch.reg04_l = bs(l=4, cls=(mep_reg, ))
 
 miasm.arch.mep.arch.reg04_m = bs(l=4, cls=(mep_reg, ))
 
 miasm.arch.mep.arch.reg04_n = bs(l=4, cls=(mep_reg, ))
 
 miasm.arch.mep.arch.reg00 = bs(l=0, cls=(mep_reg, ))
 
 miasm.arch.mep.arch.reg00_sp = bs(l=0, cls=(mep_reg_sp, ))
 
 miasm.arch.mep.arch.reg00_tp = bs(l=0, cls=(mep_reg_tp, ))
 
 miasm.arch.mep.arch.reg00_deref_sp = bs(l=0, cls=(mep_deref_sp_offset, ))
 
 miasm.arch.mep.arch.reg00_deref_tp = bs(l=0, cls=(mep_deref_tp_offset, ))
 
 miasm.arch.mep.arch.reg03 = bs(l=3, cls=(mep_reg, ))
 
 miasm.arch.mep.arch.reg04_deref = bs(l=4, cls=(mep_deref_reg,))
 
 miasm.arch.mep.arch.reg04_deref_noarg = bs(l=4, fname="reg04_deref")
 
 miasm.arch.mep.arch.reg04_inc_deref = bs(l=4, cls=(mep_deref_inc_reg,))
 
 miasm.arch.mep.arch.copro_reg04 = bs(l=4, cls=(mep_copro_reg,))
 
 miasm.arch.mep.arch.copro_reg05 = bs(l=1, cls=(mep_copro_reg_split,))
 
 miasm.arch.mep.arch.copro_reg06 = bs(l=2, cls=(mep_copro_reg_split,))
 
 miasm.arch.mep.arch.disp2 = bs(l=2, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.imm2 = disp2
 
 miasm.arch.mep.arch.imm3 = bs(l=3, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.imm4 = bs(l=4, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.imm4_noarg = bs(l=4, fname="imm4")
 
 miasm.arch.mep.arch.imm4_iiii_noarg = bs(l=4, fname="imm4_iiii")
 
 miasm.arch.mep.arch.imm5 = bs(l=5, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.imm5_Iiiii = bs(l=1, cls=(mep_imm5_Iiiii, ))
 
 miasm.arch.mep.arch.imm6 = bs(l=6, cls=(mep_imm6, mep_arg))
 
 miasm.arch.mep.arch.imm6_noarg = bs(l=6, fname="imm6")
 
 miasm.arch.mep.arch.imm7 = bs(l=7, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.imm7_noarg = bs(l=7, fname="imm7")
 
 miasm.arch.mep.arch.imm7_align4 = bs(l=5, cls=(mep_imm7_align4,))
 
 miasm.arch.mep.arch.imm7_align4_noarg = bs(l=5, fname="imm7_align4")
 
 miasm.arch.mep.arch.disp7_align2 = bs(l=6, cls=(mep_disp7_align2,))
 
 miasm.arch.mep.arch.disp7_align2_noarg = bs(l=6, fname="disp7_align2")
 
 miasm.arch.mep.arch.imm8 = bs(l=8, cls=(mep_imm8, mep_arg))
 
 miasm.arch.mep.arch.imm8_noarg = bs(l=8, fname="imm8_CCCC_CCCC")
 
 miasm.arch.mep.arch.disp8 = bs(l=7, cls=(mep_disp8_align2, ))
 
 miasm.arch.mep.arch.imm8_align2 = bs(l=7, cls=(mep_disp8_align2, ))
 
 miasm.arch.mep.arch.imm8_align4 = bs(l=6, cls=(mep_disp8_align4, ))
 
 miasm.arch.mep.arch.imm8_align8 = bs(l=5, cls=(mep_imm8_align8, ))
 
 miasm.arch.mep.arch.imm12 = bs(l=12, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.disp12_signed = bs(l=11, cls=(mep_disp12_align2_signed, ))
 
 miasm.arch.mep.arch.imm16 = bs(l=16, cls=(mep_imm16, mep_arg))
 
 miasm.arch.mep.arch.imm16_signed = bs(l=16, cls=(mep_imm16_signed, mep_arg))
 
 miasm.arch.mep.arch.disp16_reg_deref = bs(l=16, cls=(mep_deref_reg_offset,))
 
 miasm.arch.mep.arch.disp17 = bs(l=16, cls=(mep_disp17, ))
 
 miasm.arch.mep.arch.imm18 = bs(l=19, cls=(mep_imm, ))
 
 miasm.arch.mep.arch.imm_code20 = bs(l=16, cls=(mep_code20, ))
 
 miasm.arch.mep.arch.imm24 = bs(l=24, cls=(mep_imm24, ))
 
 miasm.arch.mep.arch.imm_target24 = bs(l=16, cls=(mep_target24, ))
 
 miasm.arch.mep.arch.imm_target24_signed = bs(l=16, cls=(mep_target24_signed, ))
 
 miasm.arch.mep.arch.imm_code24 = bs(l=16, cls=(mep_code24, ))
 
 miasm.arch.mep.arch.abs24 = bs(l=16, cls=(mep_abs24, ))