ROSE 0.11.145.147
|
Base class for all x86 instruction processors.
This class provides single-letter names for some types that are used in all instructions: D, I, A, and Ops for the dispatcher raw pointer, instruction pointer, argument list pointer, and RISC operators raw pointer. It also takes care of advancing the instruction pointer prior to handing the instruction to the subclass, which by the way is done via p
method (short for "process"). See examples in DispatcherX86.C – there are lots of them.
Definition at line 275 of file DispatcherX86.h.
#include <Rose/BinaryAnalysis/InstructionSemantics/DispatcherX86.h>
Public Types | |
typedef DispatcherX86 * | D |
typedef BaseSemantics::RiscOperators * | Ops |
typedef SgAsmX86Instruction * | I |
typedef const SgAsmExpressionPtrList & | A |
Public Member Functions | |
virtual void | p (D, Ops, I, A)=0 |
virtual void | process (const BaseSemantics::DispatcherPtr &, SgAsmInstruction *) override |
virtual void | assert_args (I insn, A args, size_t nargs) |
void | check_arg_width (D d, I insn, A args) |
Definition at line 277 of file DispatcherX86.h.
typedef BaseSemantics::RiscOperators* Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor::Ops |
Definition at line 278 of file DispatcherX86.h.
Definition at line 279 of file DispatcherX86.h.
typedef const SgAsmExpressionPtrList& Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor::A |
Definition at line 280 of file DispatcherX86.h.
|
overridevirtual |