Miasm2
 All Classes Namespaces Files Functions Variables Typedefs Properties Macros
Classes | Namespaces | Functions | Variables
arch.py File Reference

Go to the source code of this file.

Classes

class  miasm2.arch.arm.arch.additional_info
 
class  miasm2.arch.arm.arch.instruction_arm
 
class  miasm2.arch.arm.arch.instruction_armt
 
class  miasm2.arch.arm.arch.mn_arm
 
class  miasm2.arch.arm.arch.mn_armt
 
class  miasm2.arch.arm.arch.arm_reg
 
class  miasm2.arch.arm.arch.arm_gpreg_noarg
 
class  miasm2.arch.arm.arch.arm_gpreg
 
class  miasm2.arch.arm.arch.arm_reg_wb
 
class  miasm2.arch.arm.arch.arm_psr
 
class  miasm2.arch.arm.arch.arm_cpreg
 
class  miasm2.arch.arm.arch.arm_preg
 
class  miasm2.arch.arm.arch.arm_imm
 
class  miasm2.arch.arm.arch.arm_offs
 
class  miasm2.arch.arm.arch.arm_imm8_12
 
class  miasm2.arch.arm.arch.arm_imm_4_12
 
class  miasm2.arch.arm.arch.arm_op2
 
class  miasm2.arch.arm.arch.arm_op2imm
 
class  miasm2.arch.arm.arch.arm_rlist
 
class  miasm2.arch.arm.arch.updown_b_nosp_mn
 
class  miasm2.arch.arm.arch.ppi_b_nosp_mn
 
class  miasm2.arch.arm.arch.updown_b_sp_mn
 
class  miasm2.arch.arm.arch.ppi_b_sp_mn
 
class  miasm2.arch.arm.arch.arm_reg_wb_nosp
 
class  miasm2.arch.arm.arch.arm_offs_blx
 
class  miasm2.arch.arm.arch.bs_lnk
 
class  miasm2.arch.arm.arch.mul_part_x
 
class  miasm2.arch.arm.arch.mul_part_y
 
class  miasm2.arch.arm.arch.arm_immed
 
class  miasm2.arch.arm.arch.armt2_rot_rm
 
class  miasm2.arch.arm.arch.arm_widthm1
 
class  miasm2.arch.arm.arch.arm_offreg
 
class  miasm2.arch.arm.arch.arm_offpc
 
class  miasm2.arch.arm.arch.arm_offsp
 
class  miasm2.arch.arm.arch.arm_offspc
 
class  miasm2.arch.arm.arch.arm_off8sppc
 
class  miasm2.arch.arm.arch.arm_off7
 
class  miasm2.arch.arm.arch.arm_deref
 
class  miasm2.arch.arm.arch.arm_offbw
 
class  miasm2.arch.arm.arch.arm_offh
 
class  miasm2.arch.arm.arch.armt_rlist
 
class  miasm2.arch.arm.arch.armt_rlist_pclr
 
class  miasm2.arch.arm.arch.armt_reg_wb
 
class  miasm2.arch.arm.arch.arm_gpreg_l
 
class  miasm2.arch.arm.arch.arm_gpreg_h
 
class  miasm2.arch.arm.arch.arm_gpreg_l_noarg
 
class  miasm2.arch.arm.arch.arm_sppc
 
class  miasm2.arch.arm.arch.arm_sp
 
class  miasm2.arch.arm.arch.arm_gpreg_nosppc
 
class  miasm2.arch.arm.arch.armt_gpreg_rm_shift_off
 
class  miasm2.arch.arm.arch.armt2_imm12
 
class  miasm2.arch.arm.arch.armt2_imm10l
 
class  miasm2.arch.arm.arch.armt2_imm11l
 
class  miasm2.arch.arm.arch.armt_imm5_1
 

Namespaces

 miasm2.arch.arm.arch
 

Functions

def miasm2.arch.arm.arch.tok_reg_duo
 
def miasm2.arch.arm.arch.check_bounds
 
def miasm2.arch.arm.arch.reglistparse
 
def miasm2.arch.arm.arch.op_shift2expr
 
def miasm2.arch.arm.arch.shift2expr
 
def miasm2.arch.arm.arch.ast_id2expr
 
def miasm2.arch.arm.arch.ast_int2expr
 
def miasm2.arch.arm.arch.deref2expr_nooff
 
def miasm2.arch.arm.arch.deref2expr_pre
 
def miasm2.arch.arm.arch.deref2expr_pre_mem
 
def miasm2.arch.arm.arch.deref2expr_post
 
def miasm2.arch.arm.arch.deref_wb
 
def miasm2.arch.arm.arch.parsegpreg_wb
 
def miasm2.arch.arm.arch.permut_args
 
def miasm2.arch.arm.arch.reglist2str
 
def miasm2.arch.arm.arch.armop
 
def miasm2.arch.arm.arch.armtop
 

Variables

tuple miasm2.arch.arm.arch.log = logging.getLogger("armdis")
 
tuple miasm2.arch.arm.arch.console_handler = logging.StreamHandler()
 
tuple miasm2.arch.arm.arch.reg_dum = ExprId('DumReg')
 
list miasm2.arch.arm.arch.regs_str = ['R%d' % r for r in xrange(0x10)]
 
list miasm2.arch.arm.arch.regs_expr = [ExprId(x, 32) for x in regs_str]
 
tuple miasm2.arch.arm.arch.gpregs = reg_info(regs_str, regs_expr)
 
tuple miasm2.arch.arm.arch.gpregs_pc = reg_info(regs_str[-1:], regs_expr[-1:])
 
tuple miasm2.arch.arm.arch.gpregs_sp = reg_info(regs_str[13:14], regs_expr[13:14])
 
tuple miasm2.arch.arm.arch.gpregs_nosppc
 
string miasm2.arch.arm.arch.sr_flags = "cxsf"
 
list miasm2.arch.arm.arch.cpsr_regs_str = []
 
list miasm2.arch.arm.arch.spsr_regs_str = []
 
string miasm2.arch.arm.arch.o = ""
 
list miasm2.arch.arm.arch.cpsr_regs_expr = [ExprId(x, 32) for x in cpsr_regs_str]
 
list miasm2.arch.arm.arch.spsr_regs_expr = [ExprId(x, 32) for x in spsr_regs_str]
 
tuple miasm2.arch.arm.arch.cpsr_regs = reg_info(cpsr_regs_str, cpsr_regs_expr)
 
tuple miasm2.arch.arm.arch.spsr_regs = reg_info(spsr_regs_str, spsr_regs_expr)
 
list miasm2.arch.arm.arch.cpregs_str = ['c%d' % r for r in xrange(0x10)]
 
list miasm2.arch.arm.arch.cpregs_expr = [ExprId(x) for x in cpregs_str]
 
tuple miasm2.arch.arm.arch.cp_regs = reg_info(cpregs_str, cpregs_expr)
 
list miasm2.arch.arm.arch.pregs_str = ['p%d' % r for r in xrange(0x10)]
 
list miasm2.arch.arm.arch.pregs_expr = [ExprId(x) for x in pregs_str]
 
tuple miasm2.arch.arm.arch.p_regs = reg_info(pregs_str, pregs_expr)
 
list miasm2.arch.arm.arch.conditional_branch
 
list miasm2.arch.arm.arch.unconditional_branch = ["B", "BX", "BL", "BLX"]
 
tuple miasm2.arch.arm.arch.LPARENTHESIS = Literal("(")
 
tuple miasm2.arch.arm.arch.RPARENTHESIS = Literal(")")
 
tuple miasm2.arch.arm.arch.LACC = Suppress(Literal("{"))
 
tuple miasm2.arch.arm.arch.RACC = Suppress(Literal("}"))
 
tuple miasm2.arch.arm.arch.MINUS = Suppress(Literal("-"))
 
tuple miasm2.arch.arm.arch.CIRCUNFLEX = Literal("^")
 
tuple miasm2.arch.arm.arch.int_1_31 = str_int.copy()
 
tuple miasm2.arch.arm.arch.int_1_32 = str_int.copy()
 
list miasm2.arch.arm.arch.allshifts = ['<<', '>>', 'a>>', '>>>', 'rrx']
 
list miasm2.arch.arm.arch.allshifts_armt = ['<<', '>>', 'a>>', '>>>', 'rrx']
 
dictionary miasm2.arch.arm.arch.shift2expr_dct
 
tuple miasm2.arch.arm.arch.expr2shift_dct = dict([(x[1], x[0]) for x in shift2expr_dct.items()])
 
tuple miasm2.arch.arm.arch.reg_duo
 
 miasm2.arch.arm.arch.reg_or_duo = reg_duo|gpregs.parser
 
tuple miasm2.arch.arm.arch.gpreg_list
 
tuple miasm2.arch.arm.arch.LBRACK = Suppress("[")
 
tuple miasm2.arch.arm.arch.RBRACK = Suppress("]")
 
tuple miasm2.arch.arm.arch.COMMA = Suppress(",")
 
tuple miasm2.arch.arm.arch.all_binaryop_1_31_shifts_t
 
tuple miasm2.arch.arm.arch.all_binaryop_1_32_shifts_t
 
tuple miasm2.arch.arm.arch.all_unaryop_shifts_t = literal_list(['RRX'])
 
tuple miasm2.arch.arm.arch.allshifts_t_armt
 
 miasm2.arch.arm.arch.gpreg_p = gpregs.parser
 
 miasm2.arch.arm.arch.psr_p = cpsr_regs.parser|spsr_regs.parser
 
 miasm2.arch.arm.arch.int_or_expr = base_expr
 
tuple miasm2.arch.arm.arch.my_var_parser = parse_ast(ast_id2expr, ast_int2expr)
 
tuple miasm2.arch.arm.arch.shift_off
 
tuple miasm2.arch.arm.arch.deref_nooff
 
tuple miasm2.arch.arm.arch.deref_pre
 
tuple miasm2.arch.arm.arch.deref_post
 
tuple miasm2.arch.arm.arch.deref
 
tuple miasm2.arch.arm.arch.gpregs_wb = Group(gpregs.parser + Optional('!'))
 
list miasm2.arch.arm.arch.cond_list
 
tuple miasm2.arch.arm.arch.cond_dct = dict([(x[1], x[0]) for x in enumerate(cond_list)])
 
tuple miasm2.arch.arm.arch.bm_cond = bs_mod_name(l=4, fname='cond', mn_mod=cond_list)
 
tuple miasm2.arch.arm.arch.accum = bs(l=1)
 
tuple miasm2.arch.arm.arch.scc = bs_mod_name(l=1, fname='scc', mn_mod=['', 'S'])
 
tuple miasm2.arch.arm.arch.dumscc = bs("1")
 
tuple miasm2.arch.arm.arch.rd = bs(l=4, cls=(arm_gpreg,))
 
tuple miasm2.arch.arm.arch.rdl = bs(l=4, cls=(arm_gpreg,))
 
tuple miasm2.arch.arm.arch.rn = bs(l=4, cls=(arm_gpreg,), fname="rn")
 
tuple miasm2.arch.arm.arch.rs = bs(l=4, cls=(arm_gpreg,))
 
tuple miasm2.arch.arm.arch.rm = bs(l=4, cls=(arm_gpreg,))
 
tuple miasm2.arch.arm.arch.op2 = bs(l=12, cls=(arm_op2,))
 
tuple miasm2.arch.arm.arch.lnk = bs_lnk(l=1, fname='lnk', mn_mod=['', 'L'])
 
tuple miasm2.arch.arm.arch.offs = bs(l=24, cls=(arm_offs,), fname="offs")
 
tuple miasm2.arch.arm.arch.rn_noarg = bs(l=4, cls=(arm_gpreg_noarg,), fname="rn")
 
tuple miasm2.arch.arm.arch.rm_noarg = bs(l=4, cls=(arm_gpreg_noarg,), fname="rm", order = -1)
 
tuple miasm2.arch.arm.arch.immop = bs(l=1, fname='immop')
 
tuple miasm2.arch.arm.arch.dumr = bs(l=4, default_val="0000", fname="dumr")
 
tuple miasm2.arch.arm.arch.psr = bs(l=1, fname="psr")
 
tuple miasm2.arch.arm.arch.psr_field = bs(l=4, cls=(arm_psr,))
 
tuple miasm2.arch.arm.arch.ppi = bs(l=1, fname='ppi')
 
tuple miasm2.arch.arm.arch.updown = bs(l=1, fname='updown')
 
tuple miasm2.arch.arm.arch.trb = bs_mod_name(l=1, fname='trb', mn_mod=['', 'B'])
 
tuple miasm2.arch.arm.arch.wback = bs_mod_name(l=1, fname="wback", mn_mod=['', 'T'])
 
tuple miasm2.arch.arm.arch.wback_no_t = bs(l=1, fname="wback")
 
tuple miasm2.arch.arm.arch.op2imm = bs(l=12, cls=(arm_op2imm,))
 
tuple miasm2.arch.arm.arch.updown_b_nosp = updown_b_nosp_mn(l=1, mn_mod=['D', 'I'], fname='updown')
 
tuple miasm2.arch.arm.arch.ppi_b_nosp = ppi_b_nosp_mn(l=1, mn_mod=['A', 'B'], fname='ppi')
 
tuple miasm2.arch.arm.arch.updown_b_sp = updown_b_sp_mn(l=1, mn_mod=['A', 'D'], fname='updown')
 
tuple miasm2.arch.arm.arch.ppi_b_sp = ppi_b_sp_mn(l=1, mn_mod=['F', 'E'], fname='ppi')
 
tuple miasm2.arch.arm.arch.sbit = bs(l=1, fname="sbit")
 
tuple miasm2.arch.arm.arch.rn_sp = bs("1101", cls=(arm_reg_wb,), fname='rnsp')
 
tuple miasm2.arch.arm.arch.rn_wb = bs(l=4, cls=(arm_reg_wb_nosp,), fname='rn')
 
tuple miasm2.arch.arm.arch.rlist = bs(l=16, cls=(arm_rlist,), fname='rlist')
 
tuple miasm2.arch.arm.arch.swi_i = bs(l=24, cls=(arm_imm,), fname="swi_i")
 
tuple miasm2.arch.arm.arch.opc = bs(l=4, cls=(arm_imm, m_arg), fname='opc')
 
tuple miasm2.arch.arm.arch.crn = bs(l=4, cls=(arm_cpreg,), fname='crn')
 
tuple miasm2.arch.arm.arch.crd = bs(l=4, cls=(arm_cpreg,), fname='crd')
 
tuple miasm2.arch.arm.arch.crm = bs(l=4, cls=(arm_cpreg,), fname='crm')
 
tuple miasm2.arch.arm.arch.cpnum = bs(l=4, cls=(arm_preg,), fname='cpnum')
 
tuple miasm2.arch.arm.arch.cp = bs(l=3, cls=(arm_imm, m_arg), fname='cp')
 
tuple miasm2.arch.arm.arch.imm8_12 = bs(l=8, cls=(arm_imm8_12, m_arg), fname='imm')
 
tuple miasm2.arch.arm.arch.tl = bs_mod_name(l=1, fname="tl", mn_mod=['', 'L'])
 
tuple miasm2.arch.arm.arch.cpopc = bs(l=3, cls=(arm_imm, m_arg), fname='cpopc')
 
tuple miasm2.arch.arm.arch.imm20 = bs(l=20, cls=(arm_imm, m_arg))
 
tuple miasm2.arch.arm.arch.imm4 = bs(l=4, cls=(arm_imm, m_arg))
 
tuple miasm2.arch.arm.arch.imm12 = bs(l=12, cls=(arm_imm, m_arg))
 
tuple miasm2.arch.arm.arch.imm16 = bs(l=16, cls=(arm_imm, m_arg))
 
tuple miasm2.arch.arm.arch.imm4_noarg = bs(l=4, fname="imm4")
 
tuple miasm2.arch.arm.arch.imm_4_12 = bs(l=12, cls=(arm_imm_4_12,))
 
tuple miasm2.arch.arm.arch.lowb = bs(l=1, fname='lowb')
 
tuple miasm2.arch.arm.arch.offs_blx = bs(l=24, cls=(arm_offs_blx,), fname="offs")
 
tuple miasm2.arch.arm.arch.fix_cond = bs("1111", fname="cond")
 
tuple miasm2.arch.arm.arch.mul_x = mul_part_x(l=1, fname='x', mn_mod=['B', 'T'])
 
tuple miasm2.arch.arm.arch.mul_y = mul_part_y(l=1, fname='y', mn_mod=['B', 'T'])
 
tuple miasm2.arch.arm.arch.immedH = bs(l=4, fname='immedH')
 
tuple miasm2.arch.arm.arch.immedL = bs(l=4, cls=(arm_immed, m_arg), fname='immedL')
 
tuple miasm2.arch.arm.arch.hb = bs(l=1)
 
tuple miasm2.arch.arm.arch.rot_rm = bs(l=2, cls=(armt2_rot_rm,), fname="rot_rm")
 
list miasm2.arch.arm.arch.op_list
 
dictionary miasm2.arch.arm.arch.data_mov_name = {'MOV': 13, 'MVN': 15}
 
dictionary miasm2.arch.arm.arch.data_test_name = {'TST': 8, 'TEQ': 9, 'CMP': 10, 'CMN': 11}
 
dictionary miasm2.arch.arm.arch.data_name = {}
 
tuple miasm2.arch.arm.arch.bs_data_name = bs_name(l=4, name=data_name)
 
tuple miasm2.arch.arm.arch.bs_data_mov_name = bs_name(l=4, name=data_mov_name)
 
tuple miasm2.arch.arm.arch.bs_data_test_name = bs_name(l=4, name=data_test_name)
 
dictionary miasm2.arch.arm.arch.transfer_name = {'STR': 0, 'LDR': 1}
 
tuple miasm2.arch.arm.arch.bs_transfer_name = bs_name(l=1, name=transfer_name)
 
dictionary miasm2.arch.arm.arch.transferh_name = {'STRH': 0, 'LDRH': 1}
 
tuple miasm2.arch.arm.arch.bs_transferh_name = bs_name(l=1, name=transferh_name)
 
dictionary miasm2.arch.arm.arch.transfer_ldr_name = {'LDRD': 0, 'LDRSB': 1}
 
tuple miasm2.arch.arm.arch.bs_transfer_ldr_name = bs_name(l=1, name=transfer_ldr_name)
 
dictionary miasm2.arch.arm.arch.btransfer_name = {'STM': 0, 'LDM': 1}
 
tuple miasm2.arch.arm.arch.bs_btransfer_name = bs_name(l=1, name=btransfer_name)
 
dictionary miasm2.arch.arm.arch.ctransfer_name = {'STC': 0, 'LDC': 1}
 
tuple miasm2.arch.arm.arch.bs_ctransfer_name = bs_name(l=1, name=ctransfer_name)
 
dictionary miasm2.arch.arm.arch.mr_name = {'MCR': 0, 'MRC': 1}
 
tuple miasm2.arch.arm.arch.bs_mr_name = bs_name(l=1, name=mr_name)
 
tuple miasm2.arch.arm.arch.widthm1 = bs(l=5, cls=(arm_widthm1, m_arg))
 
tuple miasm2.arch.arm.arch.lsb = bs(l=5, cls=(arm_imm, m_arg))
 
tuple miasm2.arch.arm.arch.gpregs_l = reg_info(regs_str[:8], regs_expr[:8])
 
tuple miasm2.arch.arm.arch.gpregs_h = reg_info(regs_str[8:], regs_expr[8:])
 
tuple miasm2.arch.arm.arch.gpregs_sppc
 
tuple miasm2.arch.arm.arch.deref_low
 
tuple miasm2.arch.arm.arch.deref_pc
 
tuple miasm2.arch.arm.arch.deref_sp
 
tuple miasm2.arch.arm.arch.gpregs_l_wb
 
tuple miasm2.arch.arm.arch.off5 = bs(l=5, cls=(arm_imm,), fname="off")
 
tuple miasm2.arch.arm.arch.off3 = bs(l=3, cls=(arm_imm,), fname="off")
 
tuple miasm2.arch.arm.arch.off8 = bs(l=8, cls=(arm_imm,), fname="off")
 
tuple miasm2.arch.arm.arch.off7 = bs(l=7, cls=(arm_off7,), fname="off")
 
tuple miasm2.arch.arm.arch.rnl = bs(l=3, cls=(arm_gpreg_l,), fname="rn")
 
tuple miasm2.arch.arm.arch.rsl = bs(l=3, cls=(arm_gpreg_l,), fname="rs")
 
tuple miasm2.arch.arm.arch.rml = bs(l=3, cls=(arm_gpreg_l,), fname="rm")
 
tuple miasm2.arch.arm.arch.rol = bs(l=3, cls=(arm_gpreg_l,), fname="ro")
 
tuple miasm2.arch.arm.arch.rbl = bs(l=3, cls=(arm_gpreg_l,), fname="rb")
 
tuple miasm2.arch.arm.arch.rbl_deref = bs(l=3, cls=(arm_deref,), fname="rb")
 
tuple miasm2.arch.arm.arch.dumrh = bs(l=3, default_val="000")
 
tuple miasm2.arch.arm.arch.rdh = bs(l=3, cls=(arm_gpreg_h,), fname="rd")
 
tuple miasm2.arch.arm.arch.rsh = bs(l=3, cls=(arm_gpreg_h,), fname="rs")
 
tuple miasm2.arch.arm.arch.offpc8 = bs(l=8, cls=(arm_offpc,), fname="offs")
 
tuple miasm2.arch.arm.arch.offsp8 = bs(l=8, cls=(arm_offsp,), fname="offs")
 
tuple miasm2.arch.arm.arch.rol_noarg = bs(l=3, cls=(arm_gpreg_l_noarg,), fname="off")
 
tuple miasm2.arch.arm.arch.off5bw = bs(l=5, cls=(arm_offbw,), fname="off")
 
tuple miasm2.arch.arm.arch.off5h = bs(l=5, cls=(arm_offh,), fname="off")
 
tuple miasm2.arch.arm.arch.sppc = bs(l=1, cls=(arm_sppc,))
 
tuple miasm2.arch.arm.arch.pclr = bs(l=1, fname='pclr')
 
tuple miasm2.arch.arm.arch.sp = bs(l=0, cls=(arm_sp,))
 
tuple miasm2.arch.arm.arch.off8s = bs(l=8, cls=(arm_offs,), fname="offs")
 
tuple miasm2.arch.arm.arch.trlistpclr = bs(l=8, cls=(armt_rlist_pclr,))
 
tuple miasm2.arch.arm.arch.trlist = bs(l=8, cls=(armt_rlist,), fname="trlist", order = -1)
 
tuple miasm2.arch.arm.arch.rbl_wb = bs(l=3, cls=(armt_reg_wb,), fname='rb')
 
tuple miasm2.arch.arm.arch.offs8 = bs(l=8, cls=(arm_offspc,), fname="offs")
 
tuple miasm2.arch.arm.arch.offs11 = bs(l=11, cls=(arm_offspc,), fname="offs")
 
tuple miasm2.arch.arm.arch.hl = bs(l=1, prio=default_prio + 1, fname='hl')
 
tuple miasm2.arch.arm.arch.off8sppc = bs(l=8, cls=(arm_off8sppc,), fname="off")
 
tuple miasm2.arch.arm.arch.imm8_d1 = bs(l=8, default_val="00000001")
 
tuple miasm2.arch.arm.arch.imm8 = bs(l=8, cls=(arm_imm,), default_val = "00000001")
 
dictionary miasm2.arch.arm.arch.mshift_name = {'LSLS': 0, 'LSRS': 1, 'ASRS': 2}
 
tuple miasm2.arch.arm.arch.bs_mshift_name = bs_name(l=2, name=mshift_name)
 
dictionary miasm2.arch.arm.arch.addsub_name = {'ADDS': 0, 'SUBS': 1}
 
tuple miasm2.arch.arm.arch.bs_addsub_name = bs_name(l=1, name=addsub_name)
 
dictionary miasm2.arch.arm.arch.mov_cmp_add_sub_name = {'MOVS': 0, 'CMP': 1, 'ADDS': 2, 'SUBS': 3}
 
tuple miasm2.arch.arm.arch.bs_mov_cmp_add_sub_name = bs_name(l=2, name=mov_cmp_add_sub_name)
 
dictionary miasm2.arch.arm.arch.alu_name
 
tuple miasm2.arch.arm.arch.bs_alu_name = bs_name(l=4, name=alu_name)
 
dictionary miasm2.arch.arm.arch.hiregop_name = {'ADDS': 0, 'CMP': 1, 'MOV': 2}
 
tuple miasm2.arch.arm.arch.bs_hiregop_name = bs_name(l=2, name=hiregop_name)
 
dictionary miasm2.arch.arm.arch.ldr_str_name = {'STR': 0, 'LDR': 1}
 
tuple miasm2.arch.arm.arch.bs_ldr_str_name = bs_name(l=1, name=ldr_str_name)
 
dictionary miasm2.arch.arm.arch.ldrh_strh_name = {'STRH': 0, 'LDRH': 1}
 
tuple miasm2.arch.arm.arch.bs_ldrh_strh_name = bs_name(l=1, name=ldrh_strh_name)
 
dictionary miasm2.arch.arm.arch.ldstsp_name = {'STR': 0, 'LDR': 1}
 
tuple miasm2.arch.arm.arch.bs_ldstsp_name = bs_name(l=1, name=ldstsp_name)
 
dictionary miasm2.arch.arm.arch.addsubsp_name = {'ADD': 0, 'SUB': 1}
 
tuple miasm2.arch.arm.arch.bs_addsubsp_name = bs_name(l=1, name=addsubsp_name)
 
dictionary miasm2.arch.arm.arch.pushpop_name = {'PUSH': 0, 'POP': 1}
 
tuple miasm2.arch.arm.arch.bs_pushpop_name = bs_name(l=1, name=pushpop_name, fname='pp')
 
dictionary miasm2.arch.arm.arch.tbtransfer_name = {'STMIA': 0, 'LDMIA': 1}
 
tuple miasm2.arch.arm.arch.bs_tbtransfer_name = bs_name(l=1, name=tbtransfer_name)
 
dictionary miasm2.arch.arm.arch.br_name
 
tuple miasm2.arch.arm.arch.bs_br_name = bs_name(l=4, name=br_name)
 
tuple miasm2.arch.arm.arch.armt_gpreg_shift_off
 
tuple miasm2.arch.arm.arch.rn_nosppc = bs(l=4, cls=(arm_gpreg_nosppc,), fname="rn")
 
tuple miasm2.arch.arm.arch.rd_nosppc = bs(l=4, cls=(arm_gpreg_nosppc,), fname="rd")
 
tuple miasm2.arch.arm.arch.rm_sh = bs(l=4, cls=(armt_gpreg_rm_shift_off,), fname="rm")
 
tuple miasm2.arch.arm.arch.imm12_1 = bs(l=1, fname="imm12_1", order=1)
 
tuple miasm2.arch.arm.arch.imm12_3 = bs(l=3, fname="imm12_3", order=1)
 
tuple miasm2.arch.arm.arch.imm12_8 = bs(l=8, cls=(armt2_imm12,), fname="imm", order=2)
 
tuple miasm2.arch.arm.arch.imm5_3 = bs(l=3, fname="imm5_3")
 
tuple miasm2.arch.arm.arch.imm5_2 = bs(l=2, fname="imm5_2")
 
tuple miasm2.arch.arm.arch.imm_stype = bs(l=2, fname="stype")
 
tuple miasm2.arch.arm.arch.imm1 = bs(l=1, fname="imm1")
 
tuple miasm2.arch.arm.arch.imm5_off = bs(l=5, cls=(armt_imm5_1,), fname="imm5_off")
 
tuple miasm2.arch.arm.arch.tsign = bs(l=1, fname="sign")
 
tuple miasm2.arch.arm.arch.tj1 = bs(l=1, fname="j1")
 
tuple miasm2.arch.arm.arch.tj2 = bs(l=1, fname="j2")
 
tuple miasm2.arch.arm.arch.timm10H = bs(l=10, fname="imm10h")
 
tuple miasm2.arch.arm.arch.timm10L = bs(l=10, cls=(armt2_imm10l,), fname="imm10l")
 
tuple miasm2.arch.arm.arch.timm11L = bs(l=11, cls=(armt2_imm11l,), fname="imm11l")