MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / GetCondition

Function GetCondition

arch/armv7/il.cpp:43–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41
42
43ExprId GetCondition(LowLevelILFunction& il, Condition cond)
44{
45 switch(cond)
46 {
47 case COND_EQ: return il.FlagCondition(LLFC_E);
48 case COND_NE: return il.FlagCondition(LLFC_NE);
49 case COND_CS: return il.FlagCondition(LLFC_UGE);
50 case COND_CC: return il.FlagCondition(LLFC_ULT);
51 case COND_MI: return il.FlagCondition(LLFC_NEG);
52 case COND_PL: return il.FlagCondition(LLFC_POS);
53 case COND_VS: return il.FlagCondition(LLFC_O);
54 case COND_VC: return il.FlagCondition(LLFC_NO);
55 case COND_HI: return il.FlagCondition(LLFC_UGT);
56 case COND_LS: return il.FlagCondition(LLFC_ULE);
57 case COND_GE: return il.FlagCondition(LLFC_SGE);
58 case COND_LT: return il.FlagCondition(LLFC_SLT);
59 case COND_GT: return il.FlagCondition(LLFC_SGT);
60 case COND_LE: return il.FlagCondition(LLFC_SLE);
61 case COND_NONE:
62 case COND_NONE2:
63 return il.Const(0, 1); //Always branch
64 default:
65 return il.Const(0, 0); //Never branch
66 }
67}
68
69static void ConditionalJump(Architecture* arch, LowLevelILFunction& il, Condition cond, size_t addrSize, uint64_t t, uint64_t f)
70{

Callers 4

ConditionalJumpFunction · 0.70
ConditionExecuteFunction · 0.70

Calls 2

FlagConditionMethod · 0.80
ConstMethod · 0.45

Tested by

no test coverage detected