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

IA64Disassembler Class Reference

#include <ia64dis.h>

Inheritance diagram for IA64Disassembler:

Disassembler Object List of all members.

Public Member Functions

 IA64Disassembler ()
virtual ~IA64Disassembler ()
virtual dis_insndecode (byte *code, int maxlen, CPU_ADDR addr)
virtual dis_insnduplicateInsn (dis_insn *disasm_insn)
virtual void getOpcodeMetrics (int &min_length, int &max_length, int &min_look_ahead, int &avg_look_ahead, int &addr_align)
virtual byte getSize (dis_insn *disasm_insn)
virtual char * getName ()
virtual bool selectNext (dis_insn *disasm_insn)
virtual char * str (dis_insn *disasm_insn, int style)
virtual char * strf (dis_insn *disasm_insn, int style, char *format)
virtual OBJECT_ID object_id () const
virtual bool validInsn (dis_insn *disasm_insn)

Protected Attributes

CPU_ADDR cpu_addr
char insnstr [256]
IA64DisInsn insn

Constructor & Destructor Documentation

IA64Disassembler::IA64Disassembler  ) 
 

Definition at line 29 of file ia64dis.cc.

IA64Disassembler::~IA64Disassembler  )  [virtual]
 

Definition at line 33 of file ia64dis.cc.


Member Function Documentation

dis_insn * IA64Disassembler::decode byte *  code,
int  maxlen,
CPU_ADDR  addr
[virtual]
 

Implements Disassembler.

Definition at line 409 of file ia64dis.cc.

References cpu_addr, IA64SlotDisInsn::data, IA64DisInsn::data, dis_insn, dword, IA64_SLOT_INVALID, IA64Templates, insn, IA64SlotDisInsn::next, QWORD_SET_HI, QWORD_SET_LO, IA64DisInsn::selected, IA64DisInsn::size, IA64DisInsn::slot, IA64Template::slot, IA64DisInsn::tmplt, IA64DisInsn::tmplt_idx, IA64SlotDisInsn::valid, and IA64DisInsn::valid.

dis_insn * IA64Disassembler::duplicateInsn dis_insn disasm_insn  )  [virtual]
 

Implements Disassembler.

Definition at line 496 of file ia64dis.cc.

References dis_insn, insn, and malloc().

char * IA64Disassembler::getName  )  [virtual]
 

Implements Disassembler.

Definition at line 517 of file ia64dis.cc.

void IA64Disassembler::getOpcodeMetrics int &  min_length,
int &  max_length,
int &  min_look_ahead,
int &  avg_look_ahead,
int &  addr_align
[virtual]
 

Implements Disassembler.

Definition at line 503 of file ia64dis.cc.

byte IA64Disassembler::getSize dis_insn disasm_insn  )  [virtual]
 

Implements Disassembler.

Definition at line 512 of file ia64dis.cc.

References byte, and dis_insn.

OBJECT_ID IA64Disassembler::object_id  )  const [virtual]
 

Returns:
unique object id.

Reimplemented from Object.

Definition at line 676 of file ia64dis.cc.

References ATOM_DISASM_IA64.

bool IA64Disassembler::selectNext dis_insn disasm_insn  )  [virtual]
 

Reimplemented from Disassembler.

Definition at line 37 of file ia64dis.cc.

References dis_insn, insn, IA64DisInsn::selected, IA64DisInsn::slot, and IA64DisInsn::valid.

char * IA64Disassembler::str dis_insn disasm_insn,
int  style
[virtual]
 

Reimplemented from Disassembler.

Definition at line 522 of file ia64dis.cc.

References dis_insn, and strf().

char * IA64Disassembler::strf dis_insn disasm_insn,
int  style,
char *  format
[virtual]
 

Implements Disassembler.

Definition at line 527 of file ia64dis.cc.

References addr_sym_func, addr_sym_func_context, dis_insn, DIS_STYLE_HIGHLIGHT, Disassembler::disable_highlighting(), e_cs_comment, e_cs_default, e_cs_number, e_cs_symbol, Disassembler::enable_highlighting(), CPU_ADDR::flat64, Disassembler::get_cs(), ht_snprintf(), IA64_OPERAND_1, IA64_OPERAND_ADDRESS, IA64_OPERAND_AR_PFS, IA64_OPERAND_AREG, IA64_OPERAND_BREG, IA64_OPERAND_EQUALS, IA64_OPERAND_FREG, IA64_OPERAND_IMM, IA64_OPERAND_IP, IA64_OPERAND_MEM_REG, IA64_OPERAND_NO, IA64_OPERAND_PRALL, IA64_OPERAND_PREG, IA64_OPERAND_PRROT, IA64_OPERAND_REG, IA64_OPERAND_REG_FILE, IA64_SLOT_B_UNIT, IA64_SLOT_F_UNIT, IA64_SLOT_I_UNIT, IA64_SLOT_INVALID, IA64_SLOT_L_UNIT, IA64_SLOT_M_UNIT, IA64_SLOT_X_UNIT, IA64Op::imm, insn, insnstr, IA64OpcodeEntry::name, NULL, IA64Op::ofs, IA64SlotDisInsn::op, IA64SlotDisInsn::opcode, IA64SlotDisInsn::qp, IA64Op::reg, IA64Op::regfile, IA64Template::slot, IA64DisInsn::tmplt, IA64Op::type, and IA64SlotDisInsn::valid.

Referenced by str().

bool IA64Disassembler::validInsn dis_insn disasm_insn  )  [virtual]
 

Implements Disassembler.

Definition at line 681 of file ia64dis.cc.

References dis_insn.


Member Data Documentation

CPU_ADDR IA64Disassembler::cpu_addr [protected]
 

Definition at line 85 of file ia64dis.h.

Referenced by decode().

IA64DisInsn IA64Disassembler::insn [protected]
 

Definition at line 87 of file ia64dis.h.

Referenced by decode(), duplicateInsn(), selectNext(), and strf().

char IA64Disassembler::insnstr[256] [protected]
 

Definition at line 86 of file ia64dis.h.

Referenced by strf().


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