miasm
Reverse engineering framework
miasm.arch.aarch64.sem Namespace Reference

Classes

class  aarch64info
 
class  ir_aarch64b
 
class  ir_aarch64l
 

Functions

def update_flag_zf (a)
 
def update_flag_zf_eq (a, b)
 
def update_flag_nf (arg)
 
def update_flag_zn (a)
 
def check_ops_msb (a, b, c)
 
def update_flag_add_cf (op1, op2)
 
def update_flag_add_of (op1, op2)
 
def update_flag_sub_cf (op1, op2)
 
def update_flag_sub_of (op1, op2)
 
def update_flag_arith_add_co (arg1, arg2)
 
def update_flag_arith_add_zn (arg1, arg2)
 
def update_flag_arith_sub_co (arg1, arg2)
 
def update_flag_arith_sub_zn (arg1, arg2)
 
def update_flag_zfaddwc_eq (arg1, arg2, arg3)
 
def update_flag_zfsubwc_eq (arg1, arg2, arg3)
 
def update_flag_arith_addwc_zn (arg1, arg2, arg3)
 
def update_flag_arith_subwc_zn (arg1, arg2, arg3)
 
def update_flag_addwc_cf (op1, op2, op3)
 
def update_flag_addwc_of (op1, op2, op3)
 
def update_flag_arith_addwc_co (arg1, arg2, arg3)
 
def update_flag_subwc_cf (op1, op2, op3)
 
def update_flag_subwc_of (op1, op2, op3)
 
def update_flag_arith_subwc_co (arg1, arg2, arg3)
 
def extend_arg (dst, arg)
 
def add (arg1, arg2, arg3)
 
def sub (arg1, arg2, arg3)
 
def neg (arg1, arg2)
 
def and_l (arg1, arg2, arg3)
 
def eor (arg1, arg2, arg3)
 
def eon (arg1, arg2, arg3)
 
def orr (arg1, arg2, arg3)
 
def orn (arg1, arg2, arg3)
 
def bic (arg1, arg2, arg3)
 
def bics (ir, instr, arg1, arg2, arg3)
 
def mvn (arg1, arg2)
 
def adds (ir, instr, arg1, arg2, arg3)
 
def subs (ir, instr, arg1, arg2, arg3)
 
def cmp (ir, instr, arg1, arg2)
 
def cmn (ir, instr, arg1, arg2)
 
def ands (ir, instr, arg1, arg2, arg3)
 
def tst (ir, instr, arg1, arg2)
 
def lsl (arg1, arg2, arg3)
 
def lsr (arg1, arg2, arg3)
 
def asr (arg1, arg2, arg3)
 
def mov (arg1, arg2)
 
def movk (ir, instr, arg1, arg2)
 
def movz (arg1, arg2)
 
def movn (arg1, arg2)
 
def bl (arg1)
 
def csel (arg1, arg2, arg3, arg4)
 
def ccmp (ir, instr, arg1, arg2, arg3, arg4)
 
def csinc (ir, instr, arg1, arg2, arg3, arg4)
 
def csinv (ir, instr, arg1, arg2, arg3, arg4)
 
def csneg (ir, instr, arg1, arg2, arg3, arg4)
 
def cset (ir, instr, arg1, arg2)
 
def csetm (ir, instr, arg1, arg2)
 
def get_mem_access (mem)
 
def ldr (ir, instr, arg1, arg2)
 
def ldr_size (ir, instr, arg1, arg2, size)
 
def ldrb (ir, instr, arg1, arg2)
 
def ldrh (ir, instr, arg1, arg2)
 
def ldrs_size (ir, instr, arg1, arg2, size)
 
def ldrsb (ir, instr, arg1, arg2)
 
def ldrsh (ir, instr, arg1, arg2)
 
def ldrsw (ir, instr, arg1, arg2)
 
def ldaxrb (ir, instr, arg1, arg2)
 
def stlxrb (ir, instr, arg1, arg2, arg3)
 
def l_str (ir, instr, arg1, arg2)
 
def strb (ir, instr, arg1, arg2)
 
def strh (ir, instr, arg1, arg2)
 
def stp (ir, instr, arg1, arg2, arg3)
 
def ldp (ir, instr, arg1, arg2, arg3)
 
def sbfm (ir, instr, arg1, arg2, arg3, arg4)
 
def ubfm (ir, instr, arg1, arg2, arg3, arg4)
 
def bfm (ir, instr, arg1, arg2, arg3, arg4)
 
def mrs (ir, insr, arg1, arg2, arg3, arg4, arg5, arg6)
 
def msr (ir, instr, arg1, arg2, arg3, arg4, arg5, arg6)
 
def adc (ir, instr, arg1, arg2, arg3)
 
def adcs (ir, instr, arg1, arg2, arg3)
 
def sbc (ir, instr, arg1, arg2, arg3)
 
def sbcs (ir, instr, arg1, arg2, arg3)
 
def madd (arg1, arg2, arg3, arg4)
 
def msub (arg1, arg2, arg3, arg4)
 
def udiv (arg1, arg2, arg3)
 
def sdiv (arg1, arg2, arg3)
 
def smaddl (arg1, arg2, arg3, arg4)
 
def cbz (arg1, arg2)
 
def cbnz (arg1, arg2)
 
def tbz (arg1, arg2, arg3)
 
def tbnz (arg1, arg2, arg3)
 
def b_ne (arg1)
 
def b_eq (arg1)
 
def b_ge (arg1)
 
def b_mi (arg1)
 
def b_pl (arg1)
 
def b_gt (arg1)
 
def b_cc (arg1)
 
def b_cs (arg1)
 
def b_hi (arg1)
 
def b_le (arg1)
 
def b_ls (arg1)
 
def b_lt (arg1)
 
def ret (arg1)
 
def adrp (arg1, arg2)
 
def adr (arg1, arg2)
 
def b (arg1)
 
def br (arg1)
 
def blr (arg1)
 
def nop ()
 
def rev (ir, instr, arg1, arg2)
 
def rev16 (ir, instr, arg1, arg2)
 
def extr (arg1, arg2, arg3, arg4)
 
def svc (arg1)
 
def fmov (ir, instr, arg1, arg2)
 
def fadd (ir, instr, arg1, arg2, arg3)
 
def fsub (ir, instr, arg1, arg2, arg3)
 
def fmul (ir, instr, arg1, arg2, arg3)
 
def fdiv (ir, instr, arg1, arg2, arg3)
 
def fabs (ir, instr, arg1, arg2)
 
def fmadd (ir, instr, arg1, arg2, arg3, arg4)
 
def fmsub (ir, instr, arg1, arg2, arg3, arg4)
 
def fcvt (ir, instr, arg1, arg2)
 
def scvtf (ir, instr, arg1, arg2)
 
def ucvtf (ir, instr, arg1, arg2)
 
def fcvtzs (ir, instr, arg1, arg2)
 
def fcvtzu (ir, instr, arg1, arg2)
 
def fcmpe (ir, instr, arg1, arg2)
 
def clz (ir, instr, arg1, arg2)
 
def casp (ir, instr, arg1, arg2, arg3)
 
def umaddl (arg1, arg2, arg3, arg4)
 
def umsubbl (arg1, arg2, arg3, arg4)
 
def umull (arg1, arg2, arg3)
 
def umulh (arg1, arg2, arg3)
 
def smulh (arg1, arg2, arg3)
 
def smull (arg1, arg2, arg3)
 
def get_mnemo_expr (ir, instr, *args)
 

Variables

dictionary system_regs
 
dictionary cond2expr
 
dictionary ctx
 
 sbuild = SemBuilder(ctx)
 
 mnemo_func = sbuild.functions
 

Function Documentation

◆ adc()

def miasm.arch.aarch64.sem.adc (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ adcs()

def miasm.arch.aarch64.sem.adcs (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ add()

def miasm.arch.aarch64.sem.add (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ adds()

def miasm.arch.aarch64.sem.adds (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ adr()

def miasm.arch.aarch64.sem.adr (   arg1,
  arg2 
)

◆ adrp()

def miasm.arch.aarch64.sem.adrp (   arg1,
  arg2 
)

◆ and_l()

def miasm.arch.aarch64.sem.and_l (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ ands()

def miasm.arch.aarch64.sem.ands (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ asr()

def miasm.arch.aarch64.sem.asr (   arg1,
  arg2,
  arg3 
)

◆ b()

def miasm.arch.aarch64.sem.b (   arg1)

◆ b_cc()

def miasm.arch.aarch64.sem.b_cc (   arg1)

◆ b_cs()

def miasm.arch.aarch64.sem.b_cs (   arg1)

◆ b_eq()

def miasm.arch.aarch64.sem.b_eq (   arg1)

◆ b_ge()

def miasm.arch.aarch64.sem.b_ge (   arg1)

◆ b_gt()

def miasm.arch.aarch64.sem.b_gt (   arg1)

◆ b_hi()

def miasm.arch.aarch64.sem.b_hi (   arg1)

◆ b_le()

def miasm.arch.aarch64.sem.b_le (   arg1)

◆ b_ls()

def miasm.arch.aarch64.sem.b_ls (   arg1)

◆ b_lt()

def miasm.arch.aarch64.sem.b_lt (   arg1)

◆ b_mi()

def miasm.arch.aarch64.sem.b_mi (   arg1)

◆ b_ne()

def miasm.arch.aarch64.sem.b_ne (   arg1)

◆ b_pl()

def miasm.arch.aarch64.sem.b_pl (   arg1)

◆ bfm()

def miasm.arch.aarch64.sem.bfm (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ bic()

def miasm.arch.aarch64.sem.bic (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ bics()

def miasm.arch.aarch64.sem.bics (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ bl()

def miasm.arch.aarch64.sem.bl (   arg1)

◆ blr()

def miasm.arch.aarch64.sem.blr (   arg1)

◆ br()

def miasm.arch.aarch64.sem.br (   arg1)

◆ casp()

def miasm.arch.aarch64.sem.casp (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)

◆ cbnz()

def miasm.arch.aarch64.sem.cbnz (   arg1,
  arg2 
)

◆ cbz()

def miasm.arch.aarch64.sem.cbz (   arg1,
  arg2 
)

◆ ccmp()

def miasm.arch.aarch64.sem.ccmp (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)
Here is the call graph for this function:

◆ check_ops_msb()

def miasm.arch.aarch64.sem.check_ops_msb (   a,
  b,
  c 
)

◆ clz()

def miasm.arch.aarch64.sem.clz (   ir,
  instr,
  arg1,
  arg2 
)

◆ cmn()

def miasm.arch.aarch64.sem.cmn (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ cmp()

def miasm.arch.aarch64.sem.cmp (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ csel()

def miasm.arch.aarch64.sem.csel (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ cset()

def miasm.arch.aarch64.sem.cset (   ir,
  instr,
  arg1,
  arg2 
)

◆ csetm()

def miasm.arch.aarch64.sem.csetm (   ir,
  instr,
  arg1,
  arg2 
)

◆ csinc()

def miasm.arch.aarch64.sem.csinc (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ csinv()

def miasm.arch.aarch64.sem.csinv (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ csneg()

def miasm.arch.aarch64.sem.csneg (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ eon()

def miasm.arch.aarch64.sem.eon (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ eor()

def miasm.arch.aarch64.sem.eor (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ extend_arg()

def miasm.arch.aarch64.sem.extend_arg (   dst,
  arg 
)
Here is the caller graph for this function:

◆ extr()

def miasm.arch.aarch64.sem.extr (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ fabs()

def miasm.arch.aarch64.sem.fabs (   ir,
  instr,
  arg1,
  arg2 
)
Here is the caller graph for this function:

◆ fadd()

def miasm.arch.aarch64.sem.fadd (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)

◆ fcmpe()

def miasm.arch.aarch64.sem.fcmpe (   ir,
  instr,
  arg1,
  arg2 
)

◆ fcvt()

def miasm.arch.aarch64.sem.fcvt (   ir,
  instr,
  arg1,
  arg2 
)

◆ fcvtzs()

def miasm.arch.aarch64.sem.fcvtzs (   ir,
  instr,
  arg1,
  arg2 
)

◆ fcvtzu()

def miasm.arch.aarch64.sem.fcvtzu (   ir,
  instr,
  arg1,
  arg2 
)

◆ fdiv()

def miasm.arch.aarch64.sem.fdiv (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)

◆ fmadd()

def miasm.arch.aarch64.sem.fmadd (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ fmov()

def miasm.arch.aarch64.sem.fmov (   ir,
  instr,
  arg1,
  arg2 
)

◆ fmsub()

def miasm.arch.aarch64.sem.fmsub (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ fmul()

def miasm.arch.aarch64.sem.fmul (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)

◆ fsub()

def miasm.arch.aarch64.sem.fsub (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)

◆ get_mem_access()

def miasm.arch.aarch64.sem.get_mem_access (   mem)
Here is the caller graph for this function:

◆ get_mnemo_expr()

def miasm.arch.aarch64.sem.get_mnemo_expr (   ir,
  instr,
args 
)
Here is the caller graph for this function:

◆ l_str()

def miasm.arch.aarch64.sem.l_str (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ldaxrb()

def miasm.arch.aarch64.sem.ldaxrb (   ir,
  instr,
  arg1,
  arg2 
)

◆ ldp()

def miasm.arch.aarch64.sem.ldp (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ ldr()

def miasm.arch.aarch64.sem.ldr (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ldr_size()

def miasm.arch.aarch64.sem.ldr_size (   ir,
  instr,
  arg1,
  arg2,
  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ldrb()

def miasm.arch.aarch64.sem.ldrb (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ldrh()

def miasm.arch.aarch64.sem.ldrh (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ldrs_size()

def miasm.arch.aarch64.sem.ldrs_size (   ir,
  instr,
  arg1,
  arg2,
  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ldrsb()

def miasm.arch.aarch64.sem.ldrsb (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ldrsh()

def miasm.arch.aarch64.sem.ldrsh (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ldrsw()

def miasm.arch.aarch64.sem.ldrsw (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ lsl()

def miasm.arch.aarch64.sem.lsl (   arg1,
  arg2,
  arg3 
)

◆ lsr()

def miasm.arch.aarch64.sem.lsr (   arg1,
  arg2,
  arg3 
)

◆ madd()

def miasm.arch.aarch64.sem.madd (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ mov()

def miasm.arch.aarch64.sem.mov (   arg1,
  arg2 
)

◆ movk()

def miasm.arch.aarch64.sem.movk (   ir,
  instr,
  arg1,
  arg2 
)

◆ movn()

def miasm.arch.aarch64.sem.movn (   arg1,
  arg2 
)

◆ movz()

def miasm.arch.aarch64.sem.movz (   arg1,
  arg2 
)

◆ mrs()

def miasm.arch.aarch64.sem.mrs (   ir,
  insr,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)

◆ msr()

def miasm.arch.aarch64.sem.msr (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)

◆ msub()

def miasm.arch.aarch64.sem.msub (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ mvn()

def miasm.arch.aarch64.sem.mvn (   arg1,
  arg2 
)
Here is the call graph for this function:

◆ neg()

def miasm.arch.aarch64.sem.neg (   arg1,
  arg2 
)

◆ nop()

def miasm.arch.aarch64.sem.nop ( )
Do nothing

◆ orn()

def miasm.arch.aarch64.sem.orn (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ orr()

def miasm.arch.aarch64.sem.orr (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ ret()

def miasm.arch.aarch64.sem.ret (   arg1)
Here is the caller graph for this function:

◆ rev()

def miasm.arch.aarch64.sem.rev (   ir,
  instr,
  arg1,
  arg2 
)

◆ rev16()

def miasm.arch.aarch64.sem.rev16 (   ir,
  instr,
  arg1,
  arg2 
)

◆ sbc()

def miasm.arch.aarch64.sem.sbc (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ sbcs()

def miasm.arch.aarch64.sem.sbcs (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ sbfm()

def miasm.arch.aarch64.sem.sbfm (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ scvtf()

def miasm.arch.aarch64.sem.scvtf (   ir,
  instr,
  arg1,
  arg2 
)

◆ sdiv()

def miasm.arch.aarch64.sem.sdiv (   arg1,
  arg2,
  arg3 
)

◆ smaddl()

def miasm.arch.aarch64.sem.smaddl (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ smulh()

def miasm.arch.aarch64.sem.smulh (   arg1,
  arg2,
  arg3 
)

◆ smull()

def miasm.arch.aarch64.sem.smull (   arg1,
  arg2,
  arg3 
)

◆ stlxrb()

def miasm.arch.aarch64.sem.stlxrb (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)

◆ stp()

def miasm.arch.aarch64.sem.stp (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ strb()

def miasm.arch.aarch64.sem.strb (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ strh()

def miasm.arch.aarch64.sem.strh (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ sub()

def miasm.arch.aarch64.sem.sub (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ subs()

def miasm.arch.aarch64.sem.subs (   ir,
  instr,
  arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:

◆ svc()

def miasm.arch.aarch64.sem.svc (   arg1)

◆ tbnz()

def miasm.arch.aarch64.sem.tbnz (   arg1,
  arg2,
  arg3 
)

◆ tbz()

def miasm.arch.aarch64.sem.tbz (   arg1,
  arg2,
  arg3 
)

◆ tst()

def miasm.arch.aarch64.sem.tst (   ir,
  instr,
  arg1,
  arg2 
)
Here is the call graph for this function:

◆ ubfm()

def miasm.arch.aarch64.sem.ubfm (   ir,
  instr,
  arg1,
  arg2,
  arg3,
  arg4 
)

◆ ucvtf()

def miasm.arch.aarch64.sem.ucvtf (   ir,
  instr,
  arg1,
  arg2 
)

◆ udiv()

def miasm.arch.aarch64.sem.udiv (   arg1,
  arg2,
  arg3 
)

◆ umaddl()

def miasm.arch.aarch64.sem.umaddl (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ umsubbl()

def miasm.arch.aarch64.sem.umsubbl (   arg1,
  arg2,
  arg3,
  arg4 
)

◆ umulh()

def miasm.arch.aarch64.sem.umulh (   arg1,
  arg2,
  arg3 
)

◆ umull()

def miasm.arch.aarch64.sem.umull (   arg1,
  arg2,
  arg3 
)

◆ update_flag_add_cf()

def miasm.arch.aarch64.sem.update_flag_add_cf (   op1,
  op2 
)
Here is the caller graph for this function:

◆ update_flag_add_of()

def miasm.arch.aarch64.sem.update_flag_add_of (   op1,
  op2 
)
Here is the caller graph for this function:

◆ update_flag_addwc_cf()

def miasm.arch.aarch64.sem.update_flag_addwc_cf (   op1,
  op2,
  op3 
)
Here is the caller graph for this function:

◆ update_flag_addwc_of()

def miasm.arch.aarch64.sem.update_flag_addwc_of (   op1,
  op2,
  op3 
)
Here is the caller graph for this function:

◆ update_flag_arith_add_co()

def miasm.arch.aarch64.sem.update_flag_arith_add_co (   arg1,
  arg2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_add_zn()

def miasm.arch.aarch64.sem.update_flag_arith_add_zn (   arg1,
  arg2 
)
Compute zf and nf flags for (arg1 + arg2)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_addwc_co()

def miasm.arch.aarch64.sem.update_flag_arith_addwc_co (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_addwc_zn()

def miasm.arch.aarch64.sem.update_flag_arith_addwc_zn (   arg1,
  arg2,
  arg3 
)
Compute znp flags for (arg1 + arg2 + cf)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_sub_co()

def miasm.arch.aarch64.sem.update_flag_arith_sub_co (   arg1,
  arg2 
)
Compute cf and of flags for (arg1 - arg2)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_sub_zn()

def miasm.arch.aarch64.sem.update_flag_arith_sub_zn (   arg1,
  arg2 
)
Compute zf and nf flags for (arg1 - arg2)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_subwc_co()

def miasm.arch.aarch64.sem.update_flag_arith_subwc_co (   arg1,
  arg2,
  arg3 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_arith_subwc_zn()

def miasm.arch.aarch64.sem.update_flag_arith_subwc_zn (   arg1,
  arg2,
  arg3 
)
Compute znp flags for (arg1 - (arg2 + cf))
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_flag_nf()

def miasm.arch.aarch64.sem.update_flag_nf (   arg)
Here is the caller graph for this function:

◆ update_flag_sub_cf()

def miasm.arch.aarch64.sem.update_flag_sub_cf (   op1,
  op2 
)
Here is the caller graph for this function:

◆ update_flag_sub_of()

def miasm.arch.aarch64.sem.update_flag_sub_of (   op1,
  op2 
)
Here is the caller graph for this function:

◆ update_flag_subwc_cf()

def miasm.arch.aarch64.sem.update_flag_subwc_cf (   op1,
  op2,
  op3 
)
Here is the caller graph for this function:

◆ update_flag_subwc_of()

def miasm.arch.aarch64.sem.update_flag_subwc_of (   op1,
  op2,
  op3 
)
Here is the caller graph for this function:

◆ update_flag_zf()

def miasm.arch.aarch64.sem.update_flag_zf (   a)
Here is the caller graph for this function:

◆ update_flag_zf_eq()

def miasm.arch.aarch64.sem.update_flag_zf_eq (   a,
  b 
)
Here is the caller graph for this function:

◆ update_flag_zfaddwc_eq()

def miasm.arch.aarch64.sem.update_flag_zfaddwc_eq (   arg1,
  arg2,
  arg3 
)
Here is the caller graph for this function:

◆ update_flag_zfsubwc_eq()

def miasm.arch.aarch64.sem.update_flag_zfsubwc_eq (   arg1,
  arg2,
  arg3 
)
Here is the caller graph for this function:

◆ update_flag_zn()

def miasm.arch.aarch64.sem.update_flag_zn (   a)
Here is the call graph for this function:

Variable Documentation

◆ cond2expr

dictionary miasm.arch.aarch64.sem.cond2expr
Initial value:
1 = {'EQ': ExprOp("CC_EQ", zf),
2  'NE': ExprOp("CC_NE", zf),
3  'CS': ExprOp("CC_U>=", cf ^ ExprInt(1, 1)), # inv cf
4  'CC': ExprOp("CC_U<", cf ^ ExprInt(1, 1)), # inv cf
5  'MI': ExprOp("CC_NEG", nf),
6  'PL': ExprOp("CC_POS", nf),
7  'VS': ExprOp("CC_sOVR", of),
8  'VC': ExprOp("CC_sNOOVR", of),
9  'HI': ExprOp("CC_U>", cf ^ ExprInt(1, 1), zf), # inv cf
10  'LS': ExprOp("CC_U<=", cf ^ ExprInt(1, 1), zf), # inv cf
11  'GE': ExprOp("CC_S>=", nf, of),
12  'LT': ExprOp("CC_S<", nf, of),
13  'GT': ExprOp("CC_S>", nf, of, zf),
14  'LE': ExprOp("CC_S<=", nf, of, zf),
15  'AL': ExprInt(1, 1),
16  'NV': ExprInt(0, 1)
17  }

◆ ctx

dictionary miasm.arch.aarch64.sem.ctx
Initial value:
1 = {"PC": PC,
2  "LR": LR,
3  "nf": nf,
4  "zf": zf,
5  "cf": cf,
6  "of": of,
7  "cond2expr": cond2expr,
8  "extend_arg": extend_arg,
9  "ExprId":ExprId,
10  "exception_flags": exception_flags,
11  "interrupt_num": interrupt_num,
12  "EXCEPT_DIV_BY_ZERO": EXCEPT_DIV_BY_ZERO,
13  "EXCEPT_INT_XX": EXCEPT_INT_XX,
14  }

◆ mnemo_func

miasm.arch.aarch64.sem.mnemo_func = sbuild.functions

◆ sbuild

miasm.arch.aarch64.sem.sbuild = SemBuilder(ctx)

◆ system_regs

dictionary miasm.arch.aarch64.sem.system_regs