ROSE 0.11.145.192
|
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 SgAsmMipsInstruction * | operator() (rose_addr_t insn_va, const D *d, unsigned insn_bits)=0 |
Public Attributes | |
Architecture | arch |
unsigned | match |
unsigned | mask |
Definition at line 72 of file Disassembler/Mips.h.
enum Rose::BinaryAnalysis::Disassembler::Mips::Decoder::Architecture |
Definition at line 66 of file Disassembler/Mips.h.
|
inline |
Definition at line 67 of file Disassembler/Mips.h.
|
inlinevirtual |
Definition at line 68 of file Disassembler/Mips.h.
Architecture Rose::BinaryAnalysis::Disassembler::Mips::Decoder::arch |
Definition at line 69 of file Disassembler/Mips.h.
unsigned Rose::BinaryAnalysis::Disassembler::Mips::Decoder::match |
Definition at line 70 of file Disassembler/Mips.h.
unsigned Rose::BinaryAnalysis::Disassembler::Mips::Decoder::mask |
Definition at line 71 of file Disassembler/Mips.h.