libdasm.c File Reference

#include <stdio.h>
#include <string.h>
#include "libdasm.h"
#include "opcode_tables.h"
Include dependency graph for libdasm.c:

Functions

__inline__ BYTE FETCH8 (BYTE *addr)
__inline__ WORD FETCH16 (BYTE *addr)
__inline__ DWORD FETCH32 (BYTE *addr)
__inline__ enum Mode MODE_CHECK_ADDR (enum Mode mode, int flags)
__inline__ enum Mode MODE_CHECK_OPERAND (enum Mode mode, int flags)
int get_real_instruction2 (BYTE *addr, int *flags)
int get_real_instruction (BYTE *addr, int *index, int *flags)
int get_operand (PINST inst, int oflags, PINSTRUCTION instruction, POPERAND op, BYTE *data, int offset, enum Mode mode, int iflags)
int get_operand_string (INSTRUCTION *inst, OPERAND *op, enum Format format, DWORD offset, char *string, int length)
int get_instruction (PINSTRUCTION inst, BYTE *addr, enum Mode mode)
int get_mnemonic_string (INSTRUCTION *inst, enum Format format, char *string, int length)
int get_operands_string (INSTRUCTION *inst, enum Format format, DWORD offset, char *string, int length)
int get_instruction_string (INSTRUCTION *inst, enum Format format, DWORD offset, char *string, int length)
int get_register_type (POPERAND op)
int get_operand_type (POPERAND op)
int get_operand_register (POPERAND op)
int get_operand_basereg (POPERAND op)
int get_operand_indexreg (POPERAND op)
int get_operand_scale (POPERAND op)
int get_operand_immediate (POPERAND op, DWORD *imm)
int get_operand_displacement (POPERAND op, DWORD *disp)
POPERAND get_source_operand (PINSTRUCTION inst)
POPERAND get_destination_operand (PINSTRUCTION inst)

Function Documentation

__inline__ WORD FETCH16 ( BYTE addr  ) 

References WORD.

Referenced by get_operand().

__inline__ DWORD FETCH32 ( BYTE addr  ) 

References DWORD.

Referenced by get_operand().

__inline__ BYTE FETCH8 ( BYTE addr  ) 

Referenced by get_operand().

POPERAND get_destination_operand ( PINSTRUCTION  inst  ) 
int get_instruction ( PINSTRUCTION  inst,
BYTE addr,
enum Mode  mode 
)
int get_instruction_string ( INSTRUCTION inst,
enum Format  format,
DWORD  offset,
char *  string,
int  length 
)

References get_mnemonic_string(), and get_operands_string().

Referenced by dasm_print_instruction().

Here is the call graph for this function:

int get_mnemonic_string ( INSTRUCTION inst,
enum Format  format,
char *  string,
int  length 
)
int get_operand ( PINST  inst,
int  oflags,
PINSTRUCTION  instruction,
POPERAND  op,
BYTE data,
int  offset,
enum Mode  mode,
int  iflags 
)
int get_operand_basereg ( POPERAND  op  ) 

References _OPERAND::basereg.

int get_operand_displacement ( POPERAND  op,
DWORD disp 
)
int get_operand_immediate ( POPERAND  op,
DWORD imm 
)
int get_operand_indexreg ( POPERAND  op  ) 

References _OPERAND::indexreg.

int get_operand_register ( POPERAND  op  ) 

References _OPERAND::reg.

int get_operand_scale ( POPERAND  op  ) 

References _OPERAND::scale.

int get_operand_string ( INSTRUCTION inst,
OPERAND op,
enum Format  format,
DWORD  offset,
char *  string,
int  length 
)
int get_operand_type ( POPERAND  op  ) 

References _OPERAND::type.

int get_operands_string ( INSTRUCTION inst,
enum Format  format,
DWORD  offset,
char *  string,
int  length 
)
int get_real_instruction ( BYTE addr,
int *  index,
int *  flags 
)
int get_real_instruction2 ( BYTE addr,
int *  flags 
)

References EXT_G6, EXT_G7, EXT_G8, EXT_G9, EXT_GC, EXT_GD, EXT_GE, and EXT_GF.

Referenced by get_instruction().

int get_register_type ( POPERAND  op  ) 
POPERAND get_source_operand ( PINSTRUCTION  inst  ) 
__inline__ enum Mode MODE_CHECK_ADDR ( enum Mode  mode,
int  flags 
)

References MASK_PREFIX_ADDR, MODE_16, and MODE_32.

Referenced by get_operand(), and get_operand_string().

__inline__ enum Mode MODE_CHECK_OPERAND ( enum Mode  mode,
int  flags 
)

Generated on Sun Jan 9 16:50:32 2011 for libemu by  doxygen 1.6.1