ROSE 0.11.145.147
Classes | Typedefs | Functions | Variables
Rose::BinaryAnalysis::Disassembler Namespace Reference

Description

Instruction decoders.

A "disassembler" in ROSE is any class capable of decoding a sequence of bytes to construct a single SgAsmInstruction AST. All decoders derive from the Disassembler::Base decoder whose most important member function is disassembleOne, which decodes one instruction from a byte sequence specified by a MemoryMap and a virtual address (VA) within the map.

Classes

class  Base
 Virtual base class for instruction disassemblers. More...
 
class  Cil
 CIL Disassembler. More...
 
class  Exception
 Exception thrown by the disassemblers. More...
 
class  Jvm
 JVM Disassembler. More...
 
class  M68k
 Disassembler for Motorola M68k-based instruction set architectures. More...
 
class  Mips
 MIPS32 instruction decoder. More...
 
class  Null
 Disassembler for nothing. More...
 
class  Powerpc
 Disassembler for the PowerPC architecture. More...
 
class  X86
 Disassembler for the x86 architecture. More...
 

Typedefs

using Aarch32Ptr = Sawyer::SharedPointer< Aarch32 >
 
using Aarch64Ptr = Sawyer::SharedPointer< Aarch64 >
 
using BasePtr = Sawyer::SharedPointer< Base >
 
using M68kPtr = Sawyer::SharedPointer< M68k >
 
using MipsPtr = Sawyer::SharedPointer< Mips >
 
using NullPtr = Sawyer::SharedPointer< Null >
 
using PowerpcPtr = Sawyer::SharedPointer< Powerpc >
 
using X86Ptr = Sawyer::SharedPointer< X86 >
 

Functions

void initDiagnostics ()
 Initializes and registers disassembler diagnostic streams.
 
const std::string & name (const BasePtr &)
 Disassembler name free function.
 

Variables

Sawyer::Message::Facility mlog
 Reference counted pointer for Intel X86 decoder.
 

Typedef Documentation

◆ Aarch32Ptr

◆ Aarch64Ptr

◆ BasePtr

◆ M68kPtr

◆ MipsPtr

◆ NullPtr

◆ PowerpcPtr

◆ X86Ptr

Function Documentation

◆ initDiagnostics()

void Rose::BinaryAnalysis::Disassembler::initDiagnostics ( )

Initializes and registers disassembler diagnostic streams.

See Diagnostics::initialize().

◆ name()

const std::string & Rose::BinaryAnalysis::Disassembler::name ( const BasePtr )

Disassembler name free function.

This is a convenient way to obtain a disassembler's name without having to include "Base.h", and is therfore useful in header files that try to include a minimal number of type definitions.

Variable Documentation

◆ mlog

Sawyer::Message::Facility Rose::BinaryAnalysis::Disassembler::mlog
extern

Reference counted pointer for Intel X86 decoder.

Disassembler diagnostic streams.