ROSE  0.9.11.42
x86InstructionProperties.h
1 #ifndef ROSE_BinaryAnalysis_X86InstructionProperties_H
2 #define ROSE_BinaryAnalysis_X86InstructionProperties_H
3 
4 #include <vector>
5 #include <stdint.h>
6 
8 
9 namespace Rose {
10 namespace BinaryAnalysis {
11 
12 // FIXME[Robb Matzke 2019-03-09]: these should have been members of SgAsmX86Instruction
13 bool x86InstructionIsConditionalFlagControlTransfer(SgAsmX86Instruction* inst);
14 bool x86InstructionIsConditionalFlagDataTransfer(SgAsmX86Instruction* inst);
15 bool x86InstructionIsConditionalControlTransfer(SgAsmX86Instruction* inst);
16 bool x86InstructionIsConditionalDataTransfer(SgAsmX86Instruction* inst);
17 bool x86InstructionIsPrivileged(SgAsmX86Instruction*);
18 bool x86InstructionIsFloatingPoint(SgAsmX86Instruction*);
19 
20 bool x86InstructionIsConditionalFlagBitAndByte(SgAsmX86Instruction* inst);
21 
22 bool x86InstructionIsControlTransfer(SgAsmX86Instruction* inst);
23 bool x86InstructionIsUnconditionalBranch(SgAsmX86Instruction* inst);
24 bool x86InstructionIsConditionalBranch(SgAsmX86Instruction* inst);
25 bool x86InstructionIsDataTransfer(SgAsmX86Instruction* inst);
26 
27 const char* gprToString(X86GeneralPurposeRegister n);
28 const char* segregToString(X86SegmentRegister n);
29 const char* flagToString(X86Flag n);
30 
31 } // namespace
32 } // namespace
33 
34 #endif
Main namespace for the ROSE library.
X86GeneralPurposeRegister
Intel x86 general purpose registers.
X86Flag
Intel x86 status flags.
Represents one Intel x86 machine instruction.
X86SegmentRegister
Intel x86 segment registers.