miasm
Reverse engineering framework
arch.py File Reference

Classes

class  miasm.arch.x86.arch.x86_arg
 
class  miasm.arch.x86.arch.r_al
 
class  miasm.arch.x86.arch.r_ax
 
class  miasm.arch.x86.arch.r_dx
 
class  miasm.arch.x86.arch.r_eax
 
class  miasm.arch.x86.arch.r_rax
 
class  miasm.arch.x86.arch.r_cl
 
class  miasm.arch.x86.arch.group
 
class  miasm.arch.x86.arch.additional_info
 
class  miasm.arch.x86.arch.instruction_x86
 
class  miasm.arch.x86.arch.mn_x86
 
class  miasm.arch.x86.arch.bs_modname_size
 
class  miasm.arch.x86.arch.bs_modname_jecx
 
class  miasm.arch.x86.arch.bs_modname_mode
 
class  miasm.arch.x86.arch.x86_imm
 
class  miasm.arch.x86.arch.x86_imm_fix_08
 
class  miasm.arch.x86.arch.x86_08
 
class  miasm.arch.x86.arch.x86_16
 
class  miasm.arch.x86.arch.x86_32
 
class  miasm.arch.x86.arch.x86_64
 
class  miasm.arch.x86.arch.x86_08_ne
 
class  miasm.arch.x86.arch.x86_16_ne
 
class  miasm.arch.x86.arch.x86_32_ne
 
class  miasm.arch.x86.arch.x86_64_ne
 
class  miasm.arch.x86.arch.x86_s08to16
 
class  miasm.arch.x86.arch.x86_s08to32
 
class  miasm.arch.x86.arch.x86_s08to64
 
class  miasm.arch.x86.arch.x86_s32to64
 
class  miasm.arch.x86.arch.bs_eax
 
class  miasm.arch.x86.arch.bs_seg
 
class  miasm.arch.x86.arch.bs_edx
 
class  miasm.arch.x86.arch.bs_st
 
class  miasm.arch.x86.arch.bs_cs
 
class  miasm.arch.x86.arch.bs_ds
 
class  miasm.arch.x86.arch.bs_es
 
class  miasm.arch.x86.arch.bs_ss
 
class  miasm.arch.x86.arch.bs_fs
 
class  miasm.arch.x86.arch.bs_gs
 
class  miasm.arch.x86.arch.x86_reg_st
 
class  miasm.arch.x86.arch.bs_sib_scale
 
class  miasm.arch.x86.arch.bs_sib_index
 
class  miasm.arch.x86.arch.bs_sib_base
 
class  miasm.arch.x86.arch.bs_disp
 
class  miasm.arch.x86.arch.x86_rm_arg
 
class  miasm.arch.x86.arch.x86_rm_mem
 
class  miasm.arch.x86.arch.x86_rm_mem_far
 
class  miasm.arch.x86.arch.x86_rm_w8
 
class  miasm.arch.x86.arch.x86_rm_sx
 
class  miasm.arch.x86.arch.x86_rm_sxd
 
class  miasm.arch.x86.arch.x86_rm_sd
 
class  miasm.arch.x86.arch.x86_rm_wd
 
class  miasm.arch.x86.arch.x86_rm_08
 
class  miasm.arch.x86.arch.x86_rm_reg_m08
 
class  miasm.arch.x86.arch.x86_rm_reg_m16
 
class  miasm.arch.x86.arch.x86_rm_m64
 
class  miasm.arch.x86.arch.x86_rm_m80
 
class  miasm.arch.x86.arch.x86_rm_m08
 
class  miasm.arch.x86.arch.x86_rm_m16
 
class  miasm.arch.x86.arch.x86_rm_mm
 
class  miasm.arch.x86.arch.x86_rm_mm_m64
 
class  miasm.arch.x86.arch.x86_rm_xmm
 
class  miasm.arch.x86.arch.x86_rm_xmm_m32
 
class  miasm.arch.x86.arch.x86_rm_xmm_m64
 
class  miasm.arch.x86.arch.x86_rm_xmm_m128
 
class  miasm.arch.x86.arch.x86_rm_xmm_reg
 
class  miasm.arch.x86.arch.x86_rm_mm_reg
 
class  miasm.arch.x86.arch.x86_rm_bnd
 
class  miasm.arch.x86.arch.x86_rm_bnd_reg
 
class  miasm.arch.x86.arch.x86_rm_bnd_m64
 
class  miasm.arch.x86.arch.x86_rm_bnd_m128
 
class  miasm.arch.x86.arch.x86_rm_reg_noarg
 
class  miasm.arch.x86.arch.x86_rm_reg_mm
 
class  miasm.arch.x86.arch.x86_rm_reg_xmm
 
class  miasm.arch.x86.arch.x86_rm_reg_bnd
 
class  miasm.arch.x86.arch.x86_rm_reg
 
class  miasm.arch.x86.arch.x86_reg
 
class  miasm.arch.x86.arch.x86_reg_modrm
 
class  miasm.arch.x86.arch.x86_reg_noarg
 
class  miasm.arch.x86.arch.x86_rm_segm
 
class  miasm.arch.x86.arch.x86_rm_cr
 
class  miasm.arch.x86.arch.x86_rm_dr
 
class  miasm.arch.x86.arch.x86_rm_flt
 
class  miasm.arch.x86.arch.bs_fbit
 
class  miasm.arch.x86.arch.bs_cl1
 
class  miasm.arch.x86.arch.bs_cond_scale
 
class  miasm.arch.x86.arch.bs_cond_index
 
class  miasm.arch.x86.arch.bs_cond_disp
 
class  miasm.arch.x86.arch.bs_cond_imm
 
class  miasm.arch.x86.arch.bs_cond_imm64
 
class  miasm.arch.x86.arch.bs_rel_off
 
class  miasm.arch.x86.arch.bs_s08
 
class  miasm.arch.x86.arch.bs_rel_off08
 
class  miasm.arch.x86.arch.bs_moff
 
class  miasm.arch.x86.arch.bs_movoff
 
class  miasm.arch.x86.arch.bs_msegoff
 
class  miasm.arch.x86.arch.field_size
 
class  miasm.arch.x86.arch.bs_mem
 
class  miasm.arch.x86.arch.bs_reg
 
class  miasm.arch.x86.arch.bs_op_mode
 
class  miasm.arch.x86.arch.bs_ad_mode
 
class  miasm.arch.x86.arch.bs_op_mode_no64
 
class  miasm.arch.x86.arch.bs_op_mode64
 
class  miasm.arch.x86.arch.bs_op_modeno64
 

Namespaces

 miasm.arch.x86.arch
 

Functions

def miasm.arch.x86.arch.is_op_segm (expr)
 
def miasm.arch.x86.arch.is_mem_segm (expr)
 
def miasm.arch.x86.arch.cb_deref_segmoff (tokens)
 
def miasm.arch.x86.arch.cb_deref_base_expr (tokens)
 
def miasm.arch.x86.arch.cb_deref_mem (tokens)
 
def miasm.arch.x86.arch.opmode_prefix (mode)
 
def miasm.arch.x86.arch.admode_prefix (mode)
 
def miasm.arch.x86.arch.v_opmode_info (size, opmode, rex_w, stk)
 
def miasm.arch.x86.arch.v_opmode (p)
 
def miasm.arch.x86.arch.v_admode_info (size, admode)
 
def miasm.arch.x86.arch.v_admode (p)
 
def miasm.arch.x86.arch.offsize (p)
 
def miasm.arch.x86.arch.get_prefix (s)
 
def miasm.arch.x86.arch.getmodrm (c)
 
def miasm.arch.x86.arch.setmodrm (mod, re, rm)
 
def miasm.arch.x86.arch.sib (c)
 
def miasm.arch.x86.arch.gen_modrm_form ()
 
def miasm.arch.x86.arch.exprfindmod (e, o=None)
 
def miasm.arch.x86.arch.test_addr_size (ptr, size)
 
def miasm.arch.x86.arch.parse_mem (expr, parent, w8, sx=0, xmm=0, mm=0, bnd=0)
 
def miasm.arch.x86.arch.expr2modrm (expr, parent, w8, sx=0, xmm=0, mm=0, bnd=0)
 
def miasm.arch.x86.arch.modrm2expr (modrm, parent, w8, sx=0, xmm=0, mm=0, bnd=0)
 
def miasm.arch.x86.arch.sib_cond (cls, mode, v)
 
def miasm.arch.x86.arch.rmmod (r, rm_arg_x=rm_arg, modrm=mod)
 
def miasm.arch.x86.arch.addop (name, fields, args=None, alias=False)
 
def miasm.arch.x86.arch.print_size (e)
 

Variables

 miasm.arch.x86.arch.log = logging.getLogger("x86_arch")
 
 miasm.arch.x86.arch.console_handler = logging.StreamHandler()
 
list miasm.arch.x86.arch.conditional_branch
 
list miasm.arch.x86.arch.unconditional_branch = ['JMP', 'JMPF']
 
string miasm.arch.x86.arch.f_isad = "AD"
 
string miasm.arch.x86.arch.f_s08 = "S08"
 
string miasm.arch.x86.arch.f_u08 = "U08"
 
string miasm.arch.x86.arch.f_s16 = "S16"
 
string miasm.arch.x86.arch.f_u16 = "U16"
 
string miasm.arch.x86.arch.f_s32 = "S32"
 
string miasm.arch.x86.arch.f_u32 = "U32"
 
string miasm.arch.x86.arch.f_s64 = "S64"
 
string miasm.arch.x86.arch.f_u64 = "U64"
 
string miasm.arch.x86.arch.f_imm = 'IMM'
 
dictionary miasm.arch.x86.arch.f_imm2size
 
dictionary miasm.arch.x86.arch.size2gpregs
 
dictionary miasm.arch.x86.arch.replace_regs64
 
dictionary miasm.arch.x86.arch.replace_regs32
 
dictionary miasm.arch.x86.arch.replace_regs16
 
dictionary miasm.arch.x86.arch.replace_regs
 
dictionary miasm.arch.x86.arch.segm2enc = {CS: 1, SS: 2, DS: 3, ES: 4, FS: 5, GS: 6}
 
 miasm.arch.x86.arch.enc2segm = dict((value, key) for key, value in viewitems(segm2enc))
 
 miasm.arch.x86.arch.segm_info = reg_info_dct(enc2segm)
 
dictionary miasm.arch.x86.arch.enc2crx
 
 miasm.arch.x86.arch.crx_info = reg_info_dct(enc2crx)
 
dictionary miasm.arch.x86.arch.enc2drx
 
 miasm.arch.x86.arch.drx_info = reg_info_dct(enc2drx)
 
 miasm.arch.x86.arch.PLUS = Suppress("+")
 
 miasm.arch.x86.arch.MULT = Suppress("*")
 
 miasm.arch.x86.arch.COLON = Suppress(":")
 
 miasm.arch.x86.arch.LBRACK = Suppress("[")
 
 miasm.arch.x86.arch.RBRACK = Suppress("]")
 
tuple miasm.arch.x86.arch.gpreg
 
tuple miasm.arch.x86.arch.deref_mem_ad = (LBRACK + base_expr + RBRACK).setParseAction(cb_deref_base_expr)
 
tuple miasm.arch.x86.arch.deref_ptr = (base_expr + COLON + base_expr).setParseAction(cb_deref_segmoff)
 
 miasm.arch.x86.arch.PTR = Suppress('PTR')
 
 miasm.arch.x86.arch.FAR = Suppress('FAR')
 
 miasm.arch.x86.arch.BYTE = Literal('BYTE')
 
 miasm.arch.x86.arch.WORD = Literal('WORD')
 
 miasm.arch.x86.arch.DWORD = Literal('DWORD')
 
 miasm.arch.x86.arch.QWORD = Literal('QWORD')
 
 miasm.arch.x86.arch.TBYTE = Literal('TBYTE')
 
 miasm.arch.x86.arch.XMMWORD = Literal('XMMWORD')
 
dictionary miasm.arch.x86.arch.MEMPREFIX2SIZE
 
 miasm.arch.x86.arch.SIZE2MEMPREFIX = dict((value, key) for key, value in viewitems(MEMPREFIX2SIZE))
 
tuple miasm.arch.x86.arch.mem_size = (BYTE | DWORD | QWORD | WORD | TBYTE | XMMWORD)
 
tuple miasm.arch.x86.arch.deref_mem = (mem_size + PTR + Optional((base_expr + COLON))+ deref_mem_ad).setParseAction(cb_deref_mem)
 
tuple miasm.arch.x86.arch.rmarg
 
tuple miasm.arch.x86.arch.mem_far = FAR + deref_mem
 
 miasm.arch.x86.arch.cl_or_imm = r08_ecx.parser
 
dictionary miasm.arch.x86.arch.invmode = {16: 32, 32: 16}
 
list miasm.arch.x86.arch.repeat_mn
 
list miasm.arch.x86.arch.db_afs_64 = []
 
list miasm.arch.x86.arch.sib_64_s08_ebp = []
 
dictionary miasm.arch.x86.arch.SIZE2XMMREG
 
dictionary miasm.arch.x86.arch.SIZE2BNDREG
 
 miasm.arch.x86.arch.d_rex_p = bs(l=0, cls=(bs_fbit,), fname="rex_p")
 
 miasm.arch.x86.arch.d_rex_w = bs(l=0, cls=(bs_fbit,), fname="rex_w")
 
 miasm.arch.x86.arch.d_rex_r = bs(l=0, cls=(bs_fbit,), fname="rex_r")
 
 miasm.arch.x86.arch.d_rex_x = bs(l=0, cls=(bs_fbit,), fname="rex_x")
 
 miasm.arch.x86.arch.d_rex_b = bs(l=0, cls=(bs_fbit,), fname="rex_b")
 
 miasm.arch.x86.arch.d_g1 = bs(l=0, cls=(bs_fbit,), fname="g1")
 
 miasm.arch.x86.arch.d_g2 = bs(l=0, cls=(bs_fbit,), fname="g2")
 
 miasm.arch.x86.arch.d_cl1 = bs(l=1, cls=(bs_cl1,), fname="cl1")
 
 miasm.arch.x86.arch.w8 = bs(l=1, fname="w8")
 
 miasm.arch.x86.arch.se = bs(l=1, fname="se")
 
 miasm.arch.x86.arch.sx = bs(l=0, fname="sx")
 
 miasm.arch.x86.arch.sxd = bs(l=0, fname="sx")
 
 miasm.arch.x86.arch.xmmreg = bs(l=0, fname="xmmreg")
 
 miasm.arch.x86.arch.mmreg = bs(l=0, fname="mmreg")
 
 miasm.arch.x86.arch.pref_f2 = bs(l=0, fname="prefixed", default=b"\xf2")
 
 miasm.arch.x86.arch.pref_f3 = bs(l=0, fname="prefixed", default=b"\xf3")
 
 miasm.arch.x86.arch.pref_66 = bs(l=0, fname="prefixed", default=b"\x66")
 
 miasm.arch.x86.arch.no_xmm_pref = bs(l=0, fname="no_xmm_pref")
 
 miasm.arch.x86.arch.no_rex = bs(l=0, fname="no_rex")
 
 miasm.arch.x86.arch.sib_scale = bs(l=2, cls=(bs_cond_scale,), fname = "sib_scale")
 
 miasm.arch.x86.arch.sib_index = bs(l=3, cls=(bs_cond_index,), fname = "sib_index")
 
 miasm.arch.x86.arch.sib_base = bs(l=3, cls=(bs_cond_index,), fname = "sib_base")
 
 miasm.arch.x86.arch.disp = bs(l=0, cls=(bs_cond_disp,), fname = "disp")
 
 miasm.arch.x86.arch.s08 = bs(l=8, cls=(bs_s08, ))
 
 miasm.arch.x86.arch.u08 = bs(l=8, cls=(x86_08, x86_arg))
 
 miasm.arch.x86.arch.u07 = bs(l=7, cls=(x86_08, x86_arg))
 
 miasm.arch.x86.arch.u16 = bs(l=16, cls=(x86_16, x86_arg))
 
 miasm.arch.x86.arch.u32 = bs(l=32, cls=(x86_32, x86_arg))
 
 miasm.arch.x86.arch.s3264 = bs(l=32, cls=(x86_s32to64, x86_arg))
 
 miasm.arch.x86.arch.u08_3 = bs(l=0, cls=(x86_imm_fix_08, x86_arg), ival = 3)
 
 miasm.arch.x86.arch.d0 = bs("000", fname='reg')
 
 miasm.arch.x86.arch.d1 = bs("001", fname='reg')
 
 miasm.arch.x86.arch.d2 = bs("010", fname='reg')
 
 miasm.arch.x86.arch.d3 = bs("011", fname='reg')
 
 miasm.arch.x86.arch.d4 = bs("100", fname='reg')
 
 miasm.arch.x86.arch.d5 = bs("101", fname='reg')
 
 miasm.arch.x86.arch.d6 = bs("110", fname='reg')
 
 miasm.arch.x86.arch.d7 = bs("111", fname='reg')
 
 miasm.arch.x86.arch.sd = bs(l=1, fname="sd")
 
 miasm.arch.x86.arch.wd = bs(l=1, fname="wd")
 
 miasm.arch.x86.arch.stk = bs(l=0, fname="stk")
 
 miasm.arch.x86.arch.d_imm64 = bs(l=0, fname="imm64")
 
 miasm.arch.x86.arch.d_eax = bs(l=0, cls=(bs_eax, ), fname='eax')
 
 miasm.arch.x86.arch.d_edx = bs(l=0, cls=(bs_edx, ), fname='edx')
 
 miasm.arch.x86.arch.d_st = bs(l=0, cls=(x86_reg_st, ), fname='st')
 
 miasm.arch.x86.arch.d_imm = bs(l=0, cls=(bs_cond_imm,), fname="imm")
 
 miasm.arch.x86.arch.d_ax = bs(l=0, cls=(r_ax, ), fname='ax')
 
 miasm.arch.x86.arch.d_dx = bs(l=0, cls=(r_dx, ), fname='dx')
 
 miasm.arch.x86.arch.d_cl = bs(l=0, cls=(r_cl, ), fname='cl')
 
 miasm.arch.x86.arch.d_cs = bs(l=0, cls=(bs_cs, ), fname='cs')
 
 miasm.arch.x86.arch.d_ds = bs(l=0, cls=(bs_ds, ), fname='ds')
 
 miasm.arch.x86.arch.d_es = bs(l=0, cls=(bs_es, ), fname='es')
 
 miasm.arch.x86.arch.d_ss = bs(l=0, cls=(bs_ss, ), fname='ss')
 
 miasm.arch.x86.arch.d_fs = bs(l=0, cls=(bs_fs, ), fname='fs')
 
 miasm.arch.x86.arch.d_gs = bs(l=0, cls=(bs_gs, ), fname='gs')
 
 miasm.arch.x86.arch.rel_off = bs(l=0, cls=(bs_rel_off,), fname="off", order=-1)
 
 miasm.arch.x86.arch.rel_off08 = bs(l=8, cls=(bs_rel_off08,), fname="off", order=-1)
 
 miasm.arch.x86.arch.moff = bs(l=0, cls=(bs_moff,), fname="off")
 
 miasm.arch.x86.arch.msegoff = bs(l=16, cls=(bs_msegoff,), fname="mseg")
 
 miasm.arch.x86.arch.movoff = bs(l=0, cls=(bs_movoff,), fname="off")
 
 miasm.arch.x86.arch.mod = bs(l=2, fname="mod")
 
 miasm.arch.x86.arch.mod_mem = bs(l=2, cls=(bs_mem,), fname="mod")
 
 miasm.arch.x86.arch.mod_reg = bs(l=2, cls=(bs_reg,), fname="mod")
 
 miasm.arch.x86.arch.rmreg = bs(l=3, cls=(x86_rm_reg, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.reg = bs(l=3, cls=(x86_reg, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.reg_modrm = bs(l=3, cls=(x86_reg_modrm, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.regnoarg = bs(l=3, default_val="000", order=1, fname="reg")
 
 miasm.arch.x86.arch.segm = bs(l=3, cls=(x86_rm_segm, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.crreg = bs(l=3, cls=(x86_rm_cr, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.drreg = bs(l=3, cls=(x86_rm_dr, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.mm_reg = bs(l=3, cls=(x86_rm_reg_mm, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.xmm_reg = bs(l=3, cls=(x86_rm_reg_xmm, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.bnd_reg = bs(l=3, cls=(x86_rm_reg_bnd, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.fltreg = bs(l=3, cls=(x86_rm_flt, ), order =1, fname = "reg")
 
 miasm.arch.x86.arch.rm = bs(l=3, fname="rm")
 
 miasm.arch.x86.arch.rm_arg = bs(l=0, cls=(x86_rm_arg,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_w8 = bs(l=0, cls=(x86_rm_w8,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_sx = bs(l=0, cls=(x86_rm_sx,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_sxd = bs(l=0, cls=(x86_rm_sxd,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_sd = bs(l=0, cls=(x86_rm_sd,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_wd = bs(l=0, cls=(x86_rm_wd,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_08 = bs(l=0, cls=(x86_rm_08,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_reg_m08 = bs(l=0, cls=(x86_rm_reg_m08,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_reg_m16 = bs(l=0, cls=(x86_rm_reg_m16,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_m08 = bs(l=0, cls=(x86_rm_m08,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_m64 = bs(l=0, cls=(x86_rm_m64,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_m80 = bs(l=0, cls=(x86_rm_m80,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_m16 = bs(l=0, cls=(x86_rm_m16,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_mem = bs(l=0, cls=(x86_rm_mem,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_mem_far = bs(l=0, cls=(x86_rm_mem_far,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_mm = bs(l=0, cls=(x86_rm_mm,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_mm_m64 = bs(l=0, cls=(x86_rm_mm_m64,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_mm_reg = bs(l=0, cls=(x86_rm_mm_reg,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_xmm = bs(l=0, cls=(x86_rm_xmm,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_xmm_m32 = bs(l=0, cls=(x86_rm_xmm_m32,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_xmm_m64 = bs(l=0, cls=(x86_rm_xmm_m64,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_xmm_m128 = bs(l=0, cls=(x86_rm_xmm_m128,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_xmm_reg = bs(l=0, cls=(x86_rm_xmm_reg,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_bnd = bs(l=0, cls=(x86_rm_bnd,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_bnd_m64 = bs(l=0, cls=(x86_rm_bnd_m64,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_bnd_m128 = bs(l=0, cls=(x86_rm_bnd_m128,), fname='rmarg')
 
 miasm.arch.x86.arch.rm_arg_bnd_reg = bs(l=0, cls=(x86_rm_bnd_reg,), fname='rmarg')
 
 miasm.arch.x86.arch.swapargs = bs_swapargs(l=1, fname="swap", mn_mod=list(range(1 << 1)))
 
 miasm.arch.x86.arch.bs_opmode16 = bs(l=0, cls=(bs_op_mode,), mode = 16, fname="fopmode")
 
 miasm.arch.x86.arch.bs_opmode32 = bs(l=0, cls=(bs_op_mode,), mode = 32, fname="fopmode")
 
 miasm.arch.x86.arch.bs_opmode64 = bs(l=0, cls=(bs_op_mode,), mode = 64, fname="fopmode")
 
 miasm.arch.x86.arch.bs_admode16 = bs(l=0, cls=(bs_ad_mode,), mode = 16, fname="fadmode")
 
 miasm.arch.x86.arch.bs_admode32 = bs(l=0, cls=(bs_ad_mode,), mode = 32, fname="fadmode")
 
 miasm.arch.x86.arch.bs_admode64 = bs(l=0, cls=(bs_ad_mode,), mode = 64, fname="fadmode")
 
 miasm.arch.x86.arch.bs_opmode16_no64 = bs(l=0, cls=(bs_op_mode_no64,), mode = 16, fname="fopmode")
 
 miasm.arch.x86.arch.bs_opmode32_no64 = bs(l=0, cls=(bs_op_mode_no64,), mode = 32, fname="fopmode")
 
 miasm.arch.x86.arch.bs_mode64 = bs(l=0, cls=(bs_op_mode64,))
 
 miasm.arch.x86.arch.bs_modeno64 = bs(l=0, cls=(bs_op_modeno64,))
 
list miasm.arch.x86.arch.cond_list
 
 miasm.arch.x86.arch.cond = bs_mod_name(l=4, fname='cond', mn_mod=cond_list)
 
 miasm.arch.x86.arch.bintree
 MMX/SSE/AVX operations  Categories are the same than here: https://software.intel.com/sites/landingpage/IntrinsicsGuide/. More...