ROSE 0.11.145.147
Public Types | Public Member Functions | Public Attributes | List of all members
Rose::BinaryAnalysis::Disassembler::Mips::Decoder Class Referenceabstract

Description

Interface for disassembling a single instruction.

Each instruction (or in some cases groups of closely related instructions) will define a subclass whose operator() unparses a single instruction word and returns an SgAsmMipsInstruction. These functors are allocated and inserted into a list. When an instruction word is to be disassembled, the list is scanned to find the first entry that matches, and then its operator() is invoked. An entry matches if the instruction bits to be disassembled match the match data member after both are masked according to the mask data member. The mask and match (as a pair) are unique across all the subclass instances.

Definition at line 64 of file Disassembler/Mips.h.

#include <Rose/BinaryAnalysis/Disassembler/Mips.h>

Public Types

enum  Architecture {
  Release1 ,
  Release2 ,
  Release3 ,
  Micro
}
 
typedef Mips D
 

Public Member Functions

 Decoder (Architecture arch, unsigned match, unsigned mask)
 
virtual SgAsmMipsInstructionoperator() (rose_addr_t insn_va, const D *d, unsigned insn_bits)=0
 

Public Attributes

Architecture arch
 
unsigned match
 
unsigned mask
 

Member Typedef Documentation

◆ D

Definition at line 72 of file Disassembler/Mips.h.

Member Enumeration Documentation

◆ Architecture

enum Rose::BinaryAnalysis::Disassembler::Mips::Decoder::Architecture

Definition at line 66 of file Disassembler/Mips.h.

Constructor & Destructor Documentation

◆ Decoder()

Rose::BinaryAnalysis::Disassembler::Mips::Decoder::Decoder ( Architecture  arch,
unsigned  match,
unsigned  mask 
)
inline

Definition at line 67 of file Disassembler/Mips.h.

◆ ~Decoder()

virtual Rose::BinaryAnalysis::Disassembler::Mips::Decoder::~Decoder ( )
inlinevirtual

Definition at line 68 of file Disassembler/Mips.h.

Member Data Documentation

◆ arch

Architecture Rose::BinaryAnalysis::Disassembler::Mips::Decoder::arch

Definition at line 69 of file Disassembler/Mips.h.

◆ match

unsigned Rose::BinaryAnalysis::Disassembler::Mips::Decoder::match

Definition at line 70 of file Disassembler/Mips.h.

◆ mask

unsigned Rose::BinaryAnalysis::Disassembler::Mips::Decoder::mask

Definition at line 71 of file Disassembler/Mips.h.


The documentation for this class was generated from the following file: