ROSE 0.11.145.147
Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics::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 275 of file DispatcherX86.h.

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

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics::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)
 

Member Typedef Documentation

◆ D

Definition at line 277 of file DispatcherX86.h.

◆ Ops

Definition at line 278 of file DispatcherX86.h.

◆ I

Definition at line 279 of file DispatcherX86.h.

◆ A

typedef const SgAsmExpressionPtrList& Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor::A

Definition at line 280 of file DispatcherX86.h.

Member Function Documentation

◆ process()

virtual void Rose::BinaryAnalysis::InstructionSemantics::X86::InsnProcessor::process ( const BaseSemantics::DispatcherPtr ,
SgAsmInstruction  
)
overridevirtual

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