Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor Class Referenceabstract


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 280 of file DispatcherX86.h.

#include <Rose/BinaryAnalysis/InstructionSemantics/DispatcherX86.h>

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor:
Inheritance graph
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor:
Collaboration graph

Public Types

typedef DispatcherX86D
typedef BaseSemantics::RiscOperatorsOps
typedef SgAsmX86InstructionI
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)

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