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

Description

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

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

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics2::X86::InsnProcessor:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics2::X86::InsnProcessor:
Collaboration graph
[legend]

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: