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