# Toshiba MeP-c4 - miasm IR analysis # Guillaume Valadon from miasm2.arch.mep.sem import ir_mepb, ir_mepl from miasm2.ir.analysis import ira class ir_a_mepb(ir_mepb, ira): """MeP high level IR manipulations - Big Endian Notes: - it is mandatory for symbolic execution. """ def __init__(self, loc_db=None): ir_mepb.__init__(self, loc_db) self.ret_reg = self.arch.regs.R0 # Note: the following are abstract method and must be implemented def sizeof_char(self): "Return the size of a char in bits" return 8 def sizeof_short(self): "Return the size of a short in bits" return 16 def sizeof_int(self): "Return the size of an int in bits" return 32 def sizeof_long(self): "Return the size of a long in bits" return 32 def sizeof_pointer(self): "Return the size of a void* in bits" return 32 class ir_a_mepl(ir_mepl, ir_a_mepb): """MeP high level IR manipulations - Little Endian""" def __init__(self, loc_db=None): ir_a_mepb.__init__(self, loc_db)