forked from Vector35/arch-armv7
-
Notifications
You must be signed in to change notification settings - Fork 0
/
il.h
23 lines (18 loc) · 847 Bytes
/
il.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
#include "binaryninjaapi.h"
#include "armv7.h"
#define IL_FLAG_N 0
#define IL_FLAG_Z 2
#define IL_FLAG_C 4
#define IL_FLAG_V 6
#define IL_FLAG_Q 8
#define IL_FLAGWRITE_NONE 0
#define IL_FLAGWRITE_ALL 1
struct decomp_result;
bool GetLowLevelILForArmInstruction(BinaryNinja::Architecture* arch, uint64_t addr,
BinaryNinja::LowLevelILFunction& il, armv7::Instruction& instr, size_t addrSize);
bool GetLowLevelILForThumbInstruction(BinaryNinja::Architecture* arch,
BinaryNinja::LowLevelILFunction& il, decomp_result *instr, bool ifThenBlock = false);
void SetupThumbConditionalInstructionIL(BinaryNinja::LowLevelILFunction& il, BinaryNinja::LowLevelILLabel& trueLabel,
BinaryNinja::LowLevelILLabel& falseLabel, uint32_t cond);
BinaryNinja::ExprId GetCondition(BinaryNinja::LowLevelILFunction& il, armv7::Condition cond);