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

Function GetCondition

arch/armv7/thumb2_disasm/il_thumb2.cpp:384–406  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

382
383
384ExprId GetCondition(LowLevelILFunction& il, uint32_t cond)
385{
386 switch (cond)
387 {
388 case armv7::COND_EQ: return il.FlagCondition(LLFC_E);
389 case armv7::COND_NE: return il.FlagCondition(LLFC_NE);
390 case armv7::COND_CS: return il.FlagCondition(LLFC_UGE);
391 case armv7::COND_CC: return il.FlagCondition(LLFC_ULT);
392 case armv7::COND_MI: return il.FlagCondition(LLFC_NEG);
393 case armv7::COND_PL: return il.FlagCondition(LLFC_POS);
394 case armv7::COND_VS: return il.FlagCondition(LLFC_O);
395 case armv7::COND_VC: return il.FlagCondition(LLFC_NO);
396 case armv7::COND_HI: return il.FlagCondition(LLFC_UGT);
397 case armv7::COND_LS: return il.FlagCondition(LLFC_ULE);
398 case armv7::COND_GE: return il.FlagCondition(LLFC_SGE);
399 case armv7::COND_LT: return il.FlagCondition(LLFC_SLT);
400 case armv7::COND_GT: return il.FlagCondition(LLFC_SGT);
401 case armv7::COND_LE: return il.FlagCondition(LLFC_SLE);
402 case armv7::COND_NONE: return il.Const(0, 1); //Always branch
403 default:
404 return il.Const(0, 0); //Never branch
405 }
406}
407
408
409static void ConditionalJump(Architecture* arch, LowLevelILFunction& il, uint32_t cond, uint32_t t, uint32_t f)

Callers 3

ConditionalJumpFunction · 0.70

Calls 2

FlagConditionMethod · 0.80
ConstMethod · 0.45

Tested by

no test coverage detected