ROSE 0.11.145.202
Unparser/Aarch32.h
1#ifndef ROSE_BinaryAnalysis_Unparser_Aarch32_H
2#define ROSE_BinaryAnalysis_Unparser_Aarch32_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_ASM_AARCH32
5
6#include <Rose/BinaryAnalysis/Architecture/Base.h>
7
8namespace Rose {
9namespace BinaryAnalysis {
10namespace Unparser {
11
12std::string unparseAarch32Mnemonic(SgAsmAarch32Instruction*);
13std::string unparseAarch32Expression(SgAsmExpression*, const LabelMap*);
14
16struct Aarch32Settings: public Settings {};
17
21class Aarch32: public Base {
22 Aarch32Settings settings_;
23
24protected:
25 explicit Aarch32(const Architecture::BaseConstPtr&, const Aarch32Settings&);
26
27public:
28 ~Aarch32();
29
30 static Ptr instance(const Architecture::BaseConstPtr&, const Aarch32Settings& = Aarch32Settings());
31
32 Ptr copy() const override;
33
34 const Aarch32Settings& settings() const override { return settings_; }
35 Aarch32Settings& settings() override { return settings_; }
36};
37
38} // namespace
39} // namespace
40} // namespace
41
42#endif
43#endif
Base class for expressions.
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.
std::map< uint64_t, std::string > LabelMap
Map from address to label.
The ROSE library.
Settings settings
Command-line settings for the rosebud tool.
void copy(const Word *src, const BitRange &srcRange, Word *dst, const BitRange &dstRange)
Copy some bits.