Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

AnalyX86Disassembler Class Reference

#include <analy_x86.h>

Inheritance diagram for AnalyX86Disassembler:

AnalyDisassembler Object List of all members.

Public Member Functions

void init (Analyser *A, int flags)
int load (ht_object_stream *f)
virtual void done ()
virtual OBJECT_ID object_id () const
virtual AddressbranchAddr (OPCODE *opcode, branch_enum_t branchtype, bool examine)
AddresscreateAddress (word segment, dword offset)
word getSegment (Address *addr)
virtual void examineOpcode (OPCODE *opcode)
virtual branch_enum_t isBranch (OPCODE *opcode)
virtual void store (ht_object_stream *f)

Public Attributes

int flags

Protected Member Functions

void createUnasm ()

Member Function Documentation

Address * AnalyX86Disassembler::branchAddr OPCODE *  opcode,
branch_enum_t  branchtype,
bool  examine
[virtual]
 

Implements AnalyDisassembler.

Definition at line 509 of file analy_x86.cc.

References acread, Analyser::addr, Analyser::addXRef(), ANALYX86DISASSEMBLER_FLAGS_SEGMENTED, assert, br_call, br_jump, br_jXX, createAddress(), Analyser::dataAccess(), x86_insn_op::farptr, flags, getSegment(), x86_insn_op::imm, taccess::indexed, x86_insn_op::mem, NULL, x86dis_insn::op, scvalid, x86_insn_op::size, taccess::size, taccess::type, x86_insn_op::type, Analyser::validAddress(), word, X86_OPTYPE_EMPTY, X86_OPTYPE_FARPTR, X86_OPTYPE_IMM, X86_OPTYPE_MEM, X86_REG_NO, xref_enum_t, xreficall, and xrefijump.

Address * AnalyX86Disassembler::createAddress word  segment,
dword  offset
 

Definition at line 461 of file analy_x86.cc.

References ANALYX86DISASSEMBLER_FLAGS_FLAT64, ANALYX86DISASSEMBLER_FLAGS_SEGMENTED, and flags.

Referenced by branchAddr(), and examineOpcode().

void AnalyX86Disassembler::createUnasm  )  [protected]
 

Definition at line 478 of file analy_x86.cc.

References ANALYX86DISASSEMBLER_FLAGS_16BIT, ANALYX86DISASSEMBLER_FLAGS_VXD_X86DIS, flags, X86_ADDRSIZE16, X86_ADDRSIZE32, X86_OPSIZE16, and X86_OPSIZE32.

Referenced by init().

void AnalyX86Disassembler::done  )  [virtual]
 

Reimplemented from AnalyDisassembler.

Definition at line 448 of file analy_x86.cc.

References AnalyDisassembler::done().

void AnalyX86Disassembler::examineOpcode OPCODE *  opcode  )  [virtual]
 

Implements AnalyDisassembler.

Definition at line 574 of file analy_x86.cc.

References acoffset, acread, Analyser::addr, Analyser::addXRef(), ANALYX86DISASSEMBLER_FLAGS_SEGMENTED, createAddress(), Analyser::dataAccess(), x86_insn_op::farptr, flags, x86_insn_op::imm, taccess::indexed, x86_insn_op::mem, x86dis_insn::name, NULL, x86dis_insn::op, scvalid, x86_insn_op::size, taccess::size, taccess::type, x86_insn_op::type, Analyser::validAddress(), X86_OPTYPE_FARPTR, X86_OPTYPE_IMM, X86_OPTYPE_MEM, X86_REG_NO, xref_enum_t, xrefoffset, xrefread, and xrefwrite.

word AnalyX86Disassembler::getSegment Address addr  ) 
 

Definition at line 494 of file analy_x86.cc.

References assert, ATOM_ADDRESS_X86_1616, ATOM_ADDRESS_X86_1632, Object::object_id(), and word.

Referenced by branchAddr().

void AnalyX86Disassembler::init Analyser A,
int  flags
 

Definition at line 429 of file analy_x86.cc.

References A, createUnasm(), flags, and Object::init().

branch_enum_t AnalyX86Disassembler::isBranch OPCODE *  opcode  )  [virtual]
 

Implements AnalyDisassembler.

Definition at line 622 of file analy_x86.cc.

References br_call, br_jump, br_jXX, br_nobranch, br_return, branch_enum_t, and x86dis_insn::name.

int AnalyX86Disassembler::load ht_object_stream f  )  [virtual]
 

loads object from object stream.

Returns:
ht_stream errorcode

Reimplemented from AnalyDisassembler.

Definition at line 439 of file analy_x86.cc.

References flags, GET_INT_HEX, and AnalyDisassembler::load().

OBJECT_ID AnalyX86Disassembler::object_id  )  const [virtual]
 

Returns:
unique object id.

Reimplemented from Object.

Definition at line 456 of file analy_x86.cc.

References ATOM_ANALY_X86.

void AnalyX86Disassembler::store ht_object_stream f  )  [virtual]
 

stores object.

Reimplemented from AnalyDisassembler.

Definition at line 641 of file analy_x86.cc.

References flags, PUT_INT_HEX, and AnalyDisassembler::store().


Member Data Documentation

int AnalyX86Disassembler::flags
 

Definition at line 108 of file analy_x86.h.

Referenced by branchAddr(), createAddress(), createUnasm(), examineOpcode(), init(), load(), and store().


The documentation for this class was generated from the following files:
Generated on Fri May 7 21:15:54 2004 by doxygen 1.3.5