#include <analy_x86.h>
Inheritance diagram for AnalyX86Disassembler:
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 Address * | branchAddr (OPCODE *opcode, branch_enum_t branchtype, bool examine) |
Address * | createAddress (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 () |
|
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. |
|
Definition at line 461 of file analy_x86.cc. References ANALYX86DISASSEMBLER_FLAGS_FLAT64, ANALYX86DISASSEMBLER_FLAGS_SEGMENTED, and flags. Referenced by branchAddr(), and examineOpcode(). |
|
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(). |
|
Reimplemented from AnalyDisassembler. Definition at line 448 of file analy_x86.cc. References AnalyDisassembler::done(). |
|
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. |
|
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(). |
|
Definition at line 429 of file analy_x86.cc. References A, createUnasm(), flags, and Object::init(). |
|
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. |
|
loads object from object stream.
Reimplemented from AnalyDisassembler. Definition at line 439 of file analy_x86.cc. References flags, GET_INT_HEX, and AnalyDisassembler::load(). |
|
Reimplemented from Object. Definition at line 456 of file analy_x86.cc. References ATOM_ANALY_X86. |
|
stores object. Reimplemented from AnalyDisassembler. Definition at line 641 of file analy_x86.cc. References flags, PUT_INT_HEX, and AnalyDisassembler::store(). |
|
Definition at line 108 of file analy_x86.h. Referenced by branchAddr(), createAddress(), createUnasm(), examineOpcode(), init(), load(), and store(). |