ROSE  0.11.145.0
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 45 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
 

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