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.aarch64.arch.additional_info
 
class  miasm2.arch.aarch64.arch.instruction_aarch64
 
class  miasm2.arch.aarch64.arch.mn_aarch64
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_simdreg
 
class  miasm2.arch.aarch64.arch.aarch64_simdreg_h
 
class  miasm2.arch.aarch64.arch.aarch64_simdreg_32_64
 
class  miasm2.arch.aarch64.arch.aarch64_simdreg_32_64_zero
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_isf
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_n1
 
class  miasm2.arch.aarch64.arch.aarch64_gpregz
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg0
 
class  miasm2.arch.aarch64.arch.aarch64_crreg
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg32_nodec
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg64_nodec
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg32_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg32
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg64_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg64
 
class  miasm2.arch.aarch64.arch.aarch64_gpregz32_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_gpregz32
 
class  miasm2.arch.aarch64.arch.aarch64_gpregz64_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_gpregz64
 
class  miasm2.arch.aarch64.arch.aarch64_simd08_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_simd08
 
class  miasm2.arch.aarch64.arch.aarch64_simd16_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_simd16
 
class  miasm2.arch.aarch64.arch.aarch64_simd32_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_simd32
 
class  miasm2.arch.aarch64.arch.aarch64_simd64_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_simd64
 
class  miasm2.arch.aarch64.arch.aarch64_simd128_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_simd128
 
class  miasm2.arch.aarch64.arch.aarch64_imm_32
 
class  miasm2.arch.aarch64.arch.aarch64_imm_64
 
class  miasm2.arch.aarch64.arch.aarch64_int64_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_uint64_noarg
 
class  miasm2.arch.aarch64.arch.aarch64_uint64
 
class  miasm2.arch.aarch64.arch.aarch64_imm_sf
 
class  miasm2.arch.aarch64.arch.aarch64_imm_sft
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_ext
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_ext2
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_ext2_128
 
class  miasm2.arch.aarch64.arch.aarch64_gpreg_sftimm
 
class  miasm2.arch.aarch64.arch.aarch64_imm_nsr
 
class  miasm2.arch.aarch64.arch.aarch64_pcoff
 
class  miasm2.arch.aarch64.arch.aarch64_immhip_page
 
class  miasm2.arch.aarch64.arch.aarch64_immhi_page
 
class  miasm2.arch.aarch64.arch.aarch64_imm_hw
 
class  miasm2.arch.aarch64.arch.aarch64_imm_hw_sc
 
class  miasm2.arch.aarch64.arch.aarch64_offs
 
class  miasm2.arch.aarch64.arch.aarch64_deref
 
class  miasm2.arch.aarch64.arch.aarch64_deref_size
 
class  miasm2.arch.aarch64.arch.aarch64_deref_nooff
 
class  miasm2.arch.aarch64.arch.aarch64_sf_scale
 
class  miasm2.arch.aarch64.arch.aarch64_sd_scale
 
class  miasm2.arch.aarch64.arch.aarch64_eq
 
class  miasm2.arch.aarch64.arch.aarch64_cond_arg
 
class  miasm2.arch.aarch64.arch.aarch64_cond_inv_arg
 
class  miasm2.arch.aarch64.arch.aarch64_b40
 

Namespaces

 miasm2.arch.aarch64.arch
 

Functions

def miasm2.arch.aarch64.arch.ast_id2expr32
 
def miasm2.arch.aarch64.arch.ast_int2expr32
 
def miasm2.arch.aarch64.arch.ast_id2expr64
 
def miasm2.arch.aarch64.arch.ast_int2expr64
 
def miasm2.arch.aarch64.arch.op_shift2expr
 
def miasm2.arch.aarch64.arch.op_shift2expr_slice_at
 
def miasm2.arch.aarch64.arch.op_ext_reg
 
def miasm2.arch.aarch64.arch.shift2expr
 
def miasm2.arch.aarch64.arch.shift2expr_sc
 
def miasm2.arch.aarch64.arch.extend2expr
 
def miasm2.arch.aarch64.arch.shiftext2expr
 
def miasm2.arch.aarch64.arch.ast_id2expr
 
def miasm2.arch.aarch64.arch.ast_int2expr
 
def miasm2.arch.aarch64.arch.deref2expr_nooff
 
def miasm2.arch.aarch64.arch.deref2expr_post
 
def miasm2.arch.aarch64.arch.deref2expr_pre
 
def miasm2.arch.aarch64.arch.deref2expr_pre_wb
 
def miasm2.arch.aarch64.arch.deref_ext2op
 
def miasm2.arch.aarch64.arch.aarch64op
 
def miasm2.arch.aarch64.arch.set_imm_to_size
 
def miasm2.arch.aarch64.arch.test_set_sf
 
def miasm2.arch.aarch64.arch.ror
 
def miasm2.arch.aarch64.arch.rol
 
def miasm2.arch.aarch64.arch.imm_to_imm_rot_form
 
def miasm2.arch.aarch64.arch.set_mem_off
 
def miasm2.arch.aarch64.arch.get_size
 

Variables

tuple miasm2.arch.aarch64.arch.log = logging.getLogger("aarch64dis")
 
tuple miasm2.arch.aarch64.arch.console_handler = logging.StreamHandler()
 
dictionary miasm2.arch.aarch64.arch.replace_regs
 
tuple miasm2.arch.aarch64.arch.my_var_parser32 = parse_ast(ast_id2expr32, ast_int2expr32)
 
tuple miasm2.arch.aarch64.arch.my_var_parser64 = parse_ast(ast_id2expr64, ast_int2expr64)
 
 miasm2.arch.aarch64.arch.int_or_expr = base_expr
 
 miasm2.arch.aarch64.arch.int_or_expr32 = base_expr32
 
 miasm2.arch.aarch64.arch.int_or_expr64 = base_expr64
 
dictionary miasm2.arch.aarch64.arch.shift2expr_dct = {'LSL': '<<', 'LSR': '>>', 'ASR': 'a>>', 'ROR': '>>>'}
 
list miasm2.arch.aarch64.arch.shift_str = ["LSL", "LSR", "ASR", "ROR"]
 
list miasm2.arch.aarch64.arch.shift_expr = ["<<", ">>", "a>>", '>>>']
 
tuple miasm2.arch.aarch64.arch.all_binaryop_lsl_t
 
tuple miasm2.arch.aarch64.arch.all_binaryop_shiftleft_t
 
list miasm2.arch.aarch64.arch.extend_lst = ['UXTB', 'UXTH', 'UXTW', 'UXTX', 'SXTB', 'SXTH', 'SXTW', 'SXTX']
 
list miasm2.arch.aarch64.arch.extend2_lst = ['UXTW', 'LSL', 'SXTW', 'SXTX']
 
tuple miasm2.arch.aarch64.arch.all_extend_t = literal_list(extend_lst)
 
tuple miasm2.arch.aarch64.arch.all_extend2_t = literal_list(extend2_lst)
 
tuple miasm2.arch.aarch64.arch.gpregz32_extend
 
tuple miasm2.arch.aarch64.arch.gpregz64_extend
 
tuple miasm2.arch.aarch64.arch.shift32_off
 
tuple miasm2.arch.aarch64.arch.shift64_off
 
tuple miasm2.arch.aarch64.arch.shiftimm_imm_sc
 
 miasm2.arch.aarch64.arch.shiftimm_off_sc = shiftimm_imm_sc|int_or_expr
 
tuple miasm2.arch.aarch64.arch.shift_off = (shift32_off | shift64_off)
 
tuple miasm2.arch.aarch64.arch.reg_ext_off = (gpregz32_extend | gpregz64_extend)
 
tuple miasm2.arch.aarch64.arch.gpregs_32_64 = (gpregs32_info.parser | gpregs64_info.parser)
 
tuple miasm2.arch.aarch64.arch.gpregsz_32_64 = (gpregsz32_info.parser | gpregsz64_info.parser | int_or_expr)
 
tuple miasm2.arch.aarch64.arch.simdregs
 
tuple miasm2.arch.aarch64.arch.simdregs_h = (simd32_info.parser | simd64_info.parser | simd128_info.parser)
 
tuple miasm2.arch.aarch64.arch.simdregs_h_zero
 
dictionary miasm2.arch.aarch64.arch.gpregs_info
 
dictionary miasm2.arch.aarch64.arch.gpregsz_info
 
dictionary miasm2.arch.aarch64.arch.simds_info
 
tuple miasm2.arch.aarch64.arch.my_var_parser = parse_ast(ast_id2expr, ast_int2expr)
 
tuple miasm2.arch.aarch64.arch.LBRACK = Suppress("[")
 
tuple miasm2.arch.aarch64.arch.RBRACK = Suppress("]")
 
tuple miasm2.arch.aarch64.arch.COMMA = Suppress(",")
 
tuple miasm2.arch.aarch64.arch.POSTINC = Suppress("!")
 
tuple miasm2.arch.aarch64.arch.deref_nooff
 
tuple miasm2.arch.aarch64.arch.deref_off_post
 
tuple miasm2.arch.aarch64.arch.deref_off_pre
 
tuple miasm2.arch.aarch64.arch.deref_off_pre_wb
 
tuple miasm2.arch.aarch64.arch.deref = (deref_off_post | deref_off_pre_wb | deref_off_pre | deref_nooff)
 
tuple miasm2.arch.aarch64.arch.deref_ext2
 
list miasm2.arch.aarch64.arch.CONDS
 
list miasm2.arch.aarch64.arch.CONDS_INV
 
list miasm2.arch.aarch64.arch.BRCOND = ['B.' + cond for cond in CONDS]
 
list miasm2.arch.aarch64.arch.OPTION2SIZE
 
dictionary miasm2.arch.aarch64.arch.EXT2_OP
 
tuple miasm2.arch.aarch64.arch.EXT2_OP_INV = dict([(items[1], items[0]) for items in EXT2_OP.items()])
 
dictionary miasm2.arch.aarch64.arch.UINTS = {32: uint32, 64: uint64}
 
tuple miasm2.arch.aarch64.arch.modf = bs_mod_name(l=1, fname='modf', mn_mod=['', 'S'])
 
tuple miasm2.arch.aarch64.arch.sf = bs(l=1, fname='sf', order=-1)
 
tuple miasm2.arch.aarch64.arch.shift = bs(l=2, fname='shift')
 
tuple miasm2.arch.aarch64.arch.shiftb = bs(l=1, fname='shift', order=-1)
 
tuple miasm2.arch.aarch64.arch.rn64_v = bs(l=5, cls=(aarch64_gpreg64_nodec,), fname='rn', order=-1)
 
tuple miasm2.arch.aarch64.arch.rn = bs(l=5, cls=(aarch64_gpreg,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rs = bs(l=5, cls=(aarch64_gpreg,), fname="rs")
 
tuple miasm2.arch.aarch64.arch.rm = bs(l=5, cls=(aarch64_gpreg,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rd = bs(l=5, cls=(aarch64_gpreg,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.ra = bs(l=5, cls=(aarch64_gpregz,), fname="ra")
 
tuple miasm2.arch.aarch64.arch.rt = bs(l=5, cls=(aarch64_gpregz,), fname="rt")
 
tuple miasm2.arch.aarch64.arch.rt2 = bs(l=5, cls=(aarch64_gpregz,), fname="rt2")
 
tuple miasm2.arch.aarch64.arch.rn0 = bs(l=5, cls=(aarch64_gpreg0,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rmz = bs(l=5, cls=(aarch64_gpregz,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rnz = bs(l=5, cls=(aarch64_gpregz,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rdz = bs(l=5, cls=(aarch64_gpregz,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.rn_n1 = bs(l=5, cls=(aarch64_gpreg_n1,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rm_n1 = bs(l=5, cls=(aarch64_gpreg_n1,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rn_na = bs(l=5, cls=(aarch64_gpreg_noarg,), fname="rn", order=-1)
 
tuple miasm2.arch.aarch64.arch.rn32_na = bs(l=5, cls=(aarch64_gpreg32_noarg,), fname="rn", order=-1)
 
tuple miasm2.arch.aarch64.arch.rn64_na = bs(l=5, cls=(aarch64_gpreg64_noarg,), fname="rn", order=-1)
 
tuple miasm2.arch.aarch64.arch.sd1 = bs(l=5, cls=(aarch64_simdreg_h,), fname="rt")
 
tuple miasm2.arch.aarch64.arch.sd2 = bs(l=5, cls=(aarch64_simdreg_h,), fname="rt2")
 
tuple miasm2.arch.aarch64.arch.sdn_32_64 = bs(l=5, cls=(aarch64_simdreg_32_64,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.sdd_32_64 = bs(l=5, cls=(aarch64_simdreg_32_64,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.sdm_32_64 = bs(l=5, cls=(aarch64_simdreg_32_64,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.sda_32_64 = bs(l=5, cls=(aarch64_simdreg_32_64,), fname="ra")
 
tuple miasm2.arch.aarch64.arch.sdm_32_64_zero = bs(l=5, cls=(aarch64_simdreg_32_64_zero,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.crn = bs(l=4, cls=(aarch64_crreg,), fname="crn")
 
tuple miasm2.arch.aarch64.arch.crm = bs(l=4, cls=(aarch64_crreg,), fname="crm")
 
tuple miasm2.arch.aarch64.arch.rn64 = bs(l=5, cls=(aarch64_gpreg64,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rs64 = bs(l=5, cls=(aarch64_gpreg64,), fname="rs")
 
tuple miasm2.arch.aarch64.arch.rm64 = bs(l=5, cls=(aarch64_gpreg64,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rd64 = bs(l=5, cls=(aarch64_gpreg64,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.rt64 = bs(l=5, cls=(aarch64_gpregz64,), fname="rt")
 
tuple miasm2.arch.aarch64.arch.ra64 = bs(l=5, cls=(aarch64_gpregz64,), fname="ra")
 
tuple miasm2.arch.aarch64.arch.rn32 = bs(l=5, cls=(aarch64_gpreg32,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rm32 = bs(l=5, cls=(aarch64_gpreg32,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rd32 = bs(l=5, cls=(aarch64_gpreg32,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.rs32 = bs(l=5, cls=(aarch64_gpreg32,), fname="rs")
 
tuple miasm2.arch.aarch64.arch.sd08 = bs(l=5, cls=(aarch64_simd08,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.sd16 = bs(l=5, cls=(aarch64_simd16,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.sd32 = bs(l=5, cls=(aarch64_simd32,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.sd64 = bs(l=5, cls=(aarch64_simd64,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.sd128 = bs(l=5, cls=(aarch64_simd128,), fname="rd")
 
tuple miasm2.arch.aarch64.arch.sn08 = bs(l=5, cls=(aarch64_simd08,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.sn16 = bs(l=5, cls=(aarch64_simd16,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.sn32 = bs(l=5, cls=(aarch64_simd32,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.sn64 = bs(l=5, cls=(aarch64_simd64,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.sn128 = bs(l=5, cls=(aarch64_simd128,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rt32 = bs(l=5, cls=(aarch64_gpregz32,), fname="rt")
 
tuple miasm2.arch.aarch64.arch.rt_isf = bs(l=5, cls=(aarch64_gpreg_isf,), fname="rt")
 
tuple miasm2.arch.aarch64.arch.rn64_deref = bs(l=5, cls=(aarch64_deref,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rn64_deref_sz = bs(l=5, cls=(aarch64_deref_size,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rn64_deref_sf = bs(l=5, cls=(aarch64_sf_scale,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rn64_deref_sd = bs(l=5, cls=(aarch64_sd_scale,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.rn64_deref_nooff = bs(l=5, cls=(aarch64_deref_nooff,), fname="rn")
 
tuple miasm2.arch.aarch64.arch.imm_sft_12 = bs(l=12, cls=(aarch64_imm_sft,))
 
tuple miasm2.arch.aarch64.arch.imm32_3 = bs(l=3, fname="imm")
 
tuple miasm2.arch.aarch64.arch.imm6 = bs(l=6, fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.imm3 = bs(l=3, fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.simm6 = bs(l=6, cls=(aarch64_int64_noarg, m_arg), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.simm9 = bs(l=9, cls=(aarch64_int64_noarg,), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.simm7 = bs(l=7, cls=(aarch64_int64_noarg,), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.nzcv = bs(l=4, cls=(aarch64_uint64_noarg, m_arg), fname="nzcv", order=-1)
 
tuple miasm2.arch.aarch64.arch.uimm5 = bs(l=5, cls=(aarch64_uint64_noarg, m_arg), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.uimm12 = bs(l=12, cls=(aarch64_uint64_noarg,), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.uimm16 = bs(l=16, cls=(aarch64_uint64_noarg, m_arg), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.uimm7 = bs(l=7, cls=(aarch64_uint64_noarg,), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.uimm8 = bs(l=8, cls=(aarch64_uint64,), fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.op1 = bs(l=3, cls=(aarch64_uint64, m_arg), fname="op1")
 
tuple miasm2.arch.aarch64.arch.op2 = bs(l=3, cls=(aarch64_uint64, m_arg), fname="op2")
 
tuple miasm2.arch.aarch64.arch.imm16 = bs(l=16, fname="imm", order=-1)
 
tuple miasm2.arch.aarch64.arch.immlo = bs(l=2, fname='immlo')
 
tuple miasm2.arch.aarch64.arch.immhip = bs(l=19, cls=(aarch64_immhip_page,))
 
tuple miasm2.arch.aarch64.arch.immhi = bs(l=19, cls=(aarch64_immhi_page,))
 
tuple miasm2.arch.aarch64.arch.option = bs(l=3, fname='option', order=-1)
 
tuple miasm2.arch.aarch64.arch.rm_ext = bs(l=5, cls=(aarch64_gpreg_ext,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rm_sft = bs(l=5, cls=(aarch64_gpreg_sftimm,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rm_ext2 = bs(l=5, cls=(aarch64_gpreg_ext2,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.rm_ext2_128 = bs(l=5, cls=(aarch64_gpreg_ext2_128,), fname="rm")
 
tuple miasm2.arch.aarch64.arch.imms = bs(l=6, cls=(aarch64_imm_nsr,), fname='imms')
 
tuple miasm2.arch.aarch64.arch.immr = bs(l=6, fname='immr')
 
tuple miasm2.arch.aarch64.arch.immn = bs(l=1, fname='immn')
 
tuple miasm2.arch.aarch64.arch.imm16_hw = bs(l=16, cls=(aarch64_imm_hw,), fname='imm')
 
tuple miasm2.arch.aarch64.arch.imm16_hw_sc = bs(l=16, cls=(aarch64_imm_hw_sc,), fname='imm')
 
tuple miasm2.arch.aarch64.arch.hw = bs(l=2, fname='hw')
 
tuple miasm2.arch.aarch64.arch.a_imms = bs(l=6, cls=(aarch64_imm_sf, m_arg), fname="imm1", order=-1)
 
tuple miasm2.arch.aarch64.arch.a_immr = bs(l=6, cls=(aarch64_imm_sf, m_arg), fname="imm1", order=-1)
 
dictionary miasm2.arch.aarch64.arch.adsu_name = {'ADD': 0, 'SUB': 1}
 
tuple miasm2.arch.aarch64.arch.bs_adsu_name = bs_name(l=1, name=adsu_name)
 
tuple miasm2.arch.aarch64.arch.offs19 = bs(l=19, cls=(aarch64_offs,), fname='off')
 
tuple miasm2.arch.aarch64.arch.offs26 = bs(l=26, cls=(aarch64_offs,), fname='off')
 
tuple miasm2.arch.aarch64.arch.offs14 = bs(l=14, cls=(aarch64_offs,), fname='off')
 
tuple miasm2.arch.aarch64.arch.b40 = bs(l=5, cls=(aarch64_b40,), fname='b40', order=1)
 
tuple miasm2.arch.aarch64.arch.sdsize1 = bs(l=1, fname="size")
 
tuple miasm2.arch.aarch64.arch.sdsize = bs(l=2, fname="size")
 
tuple miasm2.arch.aarch64.arch.opsize = bs(l=2, fname="size")
 
tuple miasm2.arch.aarch64.arch.sd = bs(l=5, cls=(aarch64_simdreg,), fname='sd')
 
tuple miasm2.arch.aarch64.arch.opc = bs(l=1, fname='opc', order=-1)
 
dictionary miasm2.arch.aarch64.arch.logic_name = {'AND': 0, 'ORR': 1, 'EOR': 2}
 
tuple miasm2.arch.aarch64.arch.bs_logic_name = bs_name(l=2, name=logic_name)
 
dictionary miasm2.arch.aarch64.arch.logicbf_name = {'SBFM': 0b00, 'BFM': 0b01, 'UBFM': 0b10}
 
tuple miasm2.arch.aarch64.arch.bs_logicbf_name = bs_name(l=2, name=logicbf_name)
 
tuple miasm2.arch.aarch64.arch.bcond
 
tuple miasm2.arch.aarch64.arch.cond_arg = bs(l=4, cls=(aarch64_cond_arg,), fname=cond)
 
tuple miasm2.arch.aarch64.arch.cond_inv_arg = bs(l=4, cls=(aarch64_cond_inv_arg,), fname=cond)
 
tuple miasm2.arch.aarch64.arch.post_pre = bs(l=1, order=-1, fname='postpre')
 
dictionary miasm2.arch.aarch64.arch.ccmp_name = {'CCMN': 0, 'CCMP': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ccmp_name = bs_name(l=1, name=ccmp_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_b_name = {'STRB': 0, 'LDRB': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_b_name = bs_name(l=1, name=ldst_b_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_name = {'STR': 0, 'LDR': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_name = bs_name(l=1, name=ldst_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_h_name = {'STRH': 0, 'LDRH': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_h_name = bs_name(l=1, name=ldst_h_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_tb_name = {'STTRB': 0, 'LDTRB': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_tb_name = bs_name(l=1, name=ldst_tb_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_th_name = {'STTRH': 0, 'LDTRH': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_th_name = bs_name(l=1, name=ldst_th_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_ub_name = {'STURB': 0, 'LDURB': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_ub_name = bs_name(l=1, name=ldst_ub_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_u_name = {'STUR': 0, 'LDUR': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_u_name = bs_name(l=1, name=ldst_u_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_t_name = {'STTR': 0, 'LDTR': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_st_name = bs_name(l=1, name=ldst_t_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_1u_name = {'STUR': 0b0, 'LDUR': 0b1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_1u_name = bs_name(l=1, name=ldst_1u_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_uh_name = {'STURH': 0, 'LDURH': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_uh_name = bs_name(l=1, name=ldst_uh_name)
 
dictionary miasm2.arch.aarch64.arch.ldst_sw_name = {'STRSW': 0, 'LDRSW': 1}
 
tuple miasm2.arch.aarch64.arch.bs_ldst_sw_name = bs_name(l=1, name=ldst_sw_name)
 
dictionary miasm2.arch.aarch64.arch.movwide_name = {'MOVN': 0b00, 'MOVZ': 0b10}
 
tuple miasm2.arch.aarch64.arch.bs_movwide_name = bs_name(l=2, name=movwide_name)
 
dictionary miasm2.arch.aarch64.arch.ldstp_name = {'STP': 0b0, 'LDP': 0b1}
 
tuple miasm2.arch.aarch64.arch.bs_ldstp_name = bs_name(l=1, name=ldstp_name)
 
dictionary miasm2.arch.aarch64.arch.datap0_name
 
tuple miasm2.arch.aarch64.arch.bs_datap0_name = bs_name(l=6, name=datap0_name)
 
dictionary miasm2.arch.aarch64.arch.datap1_name
 
tuple miasm2.arch.aarch64.arch.bs_datap1_name = bs_name(l=6, name=datap1_name)
 
tuple miasm2.arch.aarch64.arch.swapargs = bs_swapargs(l=1, fname="swap", mn_mod=range(1 << 1))
 
dictionary miasm2.arch.aarch64.arch.shiftr_name = {'LSL': 0b00, 'LSR': 0b01, 'ASR': 0b10, 'ROR': 0b11}
 
tuple miasm2.arch.aarch64.arch.bs_shiftr_name = bs_name(l=2, name=shiftr_name)
 
dictionary miasm2.arch.aarch64.arch.msr_name = {'MSR': 0b0, 'MRS': 0b1}
 
tuple miasm2.arch.aarch64.arch.bs_msr_name = bs_name(l=1, name=msr_name)