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

Function CMovFlagGroup

arch/x86/il.cpp:468–488  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

466
467
468static void CMovFlagGroup(const int64_t addr, const xed_decoded_inst_t* xedd, LowLevelILFunction& il, uint32_t flag)
469{
470 // keep the true branch but let the false branch goto doneLabel directly
471 LowLevelILLabel trueLabel, doneLabel;
472
473 il.AddInstruction(
474 il.If(
475 il.FlagGroup(flag),
476 trueLabel, doneLabel
477 )
478 );
479
480 il.MarkLabel(trueLabel);
481
482 il.AddInstruction(
483 WriteILOperand(il, xedd, addr, 0, 0,
484 ReadILOperand(il, xedd, addr, 1, 1)));
485
486 il.AddInstruction(il.Goto(doneLabel));
487 il.MarkLabel(doneLabel);
488}
489
490
491bool GetLowLevelILForInstruction(Architecture* arch, const uint64_t addr, LowLevelILFunction& il, const xed_decoded_inst_t* const xedd)

Callers 1

Calls 7

FlagGroupMethod · 0.80
WriteILOperandFunction · 0.70
ReadILOperandFunction · 0.70
AddInstructionMethod · 0.45
IfMethod · 0.45
MarkLabelMethod · 0.45
GotoMethod · 0.45

Tested by

no test coverage detected