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

Function DirFlagIf

arch/x86/il.cpp:380–401  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

378
379
380static void DirFlagIf(LowLevelILFunction& il,
381 std::function<void()> addPreTestIl,
382 std::function<void()> addDirFlagSetIl,
383 std::function<void()> addDirFlagClearIl)
384{
385 LowLevelILLabel dirFlagSet, dirFlagClear, dirFlagDone;
386
387 addPreTestIl();
388
389 il.AddInstruction(il.If(il.Flag(IL_FLAG_D), dirFlagSet, dirFlagClear));
390 il.MarkLabel(dirFlagSet);
391
392 addDirFlagSetIl();
393
394 il.AddInstruction(il.Goto(dirFlagDone));
395 il.MarkLabel(dirFlagClear);
396
397 addDirFlagClearIl();
398
399 il.AddInstruction(il.Goto(dirFlagDone));
400 il.MarkLabel(dirFlagDone);
401}
402
403
404static void Repeat(

Callers 1

Calls 5

AddInstructionMethod · 0.45
IfMethod · 0.45
FlagMethod · 0.45
MarkLabelMethod · 0.45
GotoMethod · 0.45

Tested by

no test coverage detected