1#ifndef ROSE_BinaryAnalysis_Architecture_ArmAarch32_H 
    2#define ROSE_BinaryAnalysis_Architecture_ArmAarch32_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_ASM_AARCH32 
    5#include <Rose/BinaryAnalysis/Architecture/Base.h> 
    8namespace BinaryAnalysis {
 
   46class ArmAarch32: 
public Base {
 
   71    explicit ArmAarch32(InstructionSet);                
 
   77    static Ptr instance(InstructionSet);
 
   92    RegisterDictionary::Ptr registerDictionary() 
const override;
 
   96    Alignment instructionAlignment() 
const override;
 
  101    bool isFunctionCallFast(
const std::vector<SgAsmInstruction*>&, Address *target, Address *ret) 
const override;
 
  102    bool isFunctionReturnFast(
const std::vector<SgAsmInstruction*>&) 
const override;
 
  106    Disassembler::BasePtr newInstructionDecoder() 
const override;
 
  107    Unparser::BasePtr newUnparser() 
const override;
 
  109    virtual InstructionSemantics::BaseSemantics::DispatcherPtr
 
Range of values delimited by endpoints.
 
Holds a value or nothing.
 
Base class for machine instructions.
 
std::shared_ptr< ArmAarch32 > ArmAarch32Ptr
Reference counted pointer for ArmAarch32.
 
InstructionSemantics::BaseSemantics::DispatcherPtr newInstructionDispatcher(const std::string &name, const InstructionSemantics::BaseSemantics::RiscOperatorsPtr &)
Create a new instruction dispatcher by name.
 
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.
 
Sawyer::Container::Set< Address > AddressSet
Set of addresses.
 
const char * InstructionSet(int64_t)
Convert Rose::BinaryAnalysis::Architecture::ArmAarch32::InstructionSet enum constant to a string.
 
const char * Architecture(int64_t)
Convert Rose::BinaryAnalysis::Disassembler::Mips::Decoder::Architecture enum constant to a string.