ROSE
0.11.124.0
|
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 and returns a SgAsmCilInstruction. These functors are allocated and inserted into a list. When an instruction 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 any of the BitPattern objects.
An instruction decoder is enabled if the disassembler's family (see DisassemblerCil constructors) bit-wise ANDed with the decoder family (see DisassemblerCil::Cil constructor) is non-zero.
Definition at line 46 of file DisassemblerCil.h.
#include <Rose/BinaryAnalysis/DisassemblerCil.h>
Public Types | |
typedef DisassemblerCil | D |
Public Member Functions | |
Cil (const std::string &name, unsigned family, const BitPattern< uint16_t > &pattern) | |
virtual SgAsmCilInstruction * | operator() (State &, const D *d, unsigned w0)=0 |
Public Attributes | |
std::string | name |
unsigned | family |
BitPattern< uint16_t > | pattern |