osprey/cygnus/opcodes/tic30-dis.c File Reference

#include <errno.h>
#include <math.h>
#include "sysdep.h"
#include "dis-asm.h"
#include "opcode/tic30.h"

Include dependency graph for tic30-dis.c:

Go to the source code of this file.

Data Types

type  instruction

Defines

#define NORMAL_INSN   1
#define PARALLEL_INSN   2
#define GET_TYPE(insn)   (insn & 0x80000000 ? insn & 0xC0000000 : insn & 0xE0000000)
#define TWO_OPERAND_1   0x00000000
#define TWO_OPERAND_2   0x40000000
#define THREE_OPERAND   0x20000000
#define PAR_STORE   0xC0000000
#define MUL_ADDS   0x80000000
#define BRANCHES   0x60000000
#define NORMAL_IDEN   0x1F800000
#define PAR_STORE_IDEN   0x3E000000
#define MUL_ADD_IDEN   0x2C000000
#define BR_IMM_IDEN   0x1F000000
#define BR_COND_IDEN   0x1C3F0000
#define AM_REGISTER   0x00000000
#define AM_DIRECT   0x00200000
#define AM_INDIRECT   0x00400000
#define AM_IMM   0x00600000
#define P_FIELD   0x03000000
#define REG_AR0   0x08
#define LDP_INSN   0x08700000

Functions/Subroutines

int get_tic30_instruction PARAMS ((unsigned long, struct instruction *))
int print_two_operand PARAMS ((disassemble_info *, unsigned long, struct instruction *))
int get_indirect_operand PARAMS ((unsigned short, int, char *))
int get_register_operand PARAMS ((unsigned char, char *))
int cnvt_tmsfloat_ieee PARAMS ((unsigned long, int, float *))
int print_insn_tic30 (bfd_vma pc, disassemble_info *info)
int get_tic30_instruction (unsigned long insn_word, struct instruction *insn)
int print_two_operand (disassemble_info *info, unsigned long insn_word, struct instruction *insn)
int print_three_operand (disassemble_info *info, unsigned long insn_word, struct instruction *insn)
int print_par_insn (disassemble_info *info, unsigned long insn_word, struct instruction *insn)
int print_branch (disassemble_info *info, unsigned long insn_word, struct instruction *insn)
int get_indirect_operand (unsigned short fragment, int size, char *buffer)
int get_register_operand (unsigned char fragment, char *buffer)
int cnvt_tmsfloat_ieee (unsigned long tmsfloat, int size, float *ieeefloat)

Variables

static unsigned int _pc


Define Documentation

#define AM_DIRECT   0x00200000

Definition at line 50 of file tic30-dis.c.

Referenced by print_three_operand(), and print_two_operand().

#define AM_IMM   0x00600000

Definition at line 52 of file tic30-dis.c.

Referenced by print_three_operand(), and print_two_operand().

#define AM_INDIRECT   0x00400000

Definition at line 51 of file tic30-dis.c.

Referenced by print_three_operand(), and print_two_operand().

#define AM_REGISTER   0x00000000

Definition at line 49 of file tic30-dis.c.

Referenced by print_three_operand(), and print_two_operand().

#define BR_COND_IDEN   0x1C3F0000

Definition at line 46 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define BR_IMM_IDEN   0x1F000000

Definition at line 45 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define BRANCHES   0x60000000

Definition at line 39 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().

#define GET_TYPE ( insn   )     (insn & 0x80000000 ? insn & 0xC0000000 : insn & 0xE0000000)

Definition at line 31 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().

#define LDP_INSN   0x08700000

Definition at line 57 of file tic30-dis.c.

Referenced by print_two_operand().

#define MUL_ADD_IDEN   0x2C000000

Definition at line 44 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define MUL_ADDS   0x80000000

Definition at line 38 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().

#define NORMAL_IDEN   0x1F800000

Definition at line 42 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define NORMAL_INSN   1

Definition at line 26 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define P_FIELD   0x03000000

Definition at line 54 of file tic30-dis.c.

Referenced by print_par_insn().

#define PAR_STORE   0xC0000000

Definition at line 37 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().

#define PAR_STORE_IDEN   0x3E000000

Definition at line 43 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define PARALLEL_INSN   2

Definition at line 27 of file tic30-dis.c.

Referenced by get_tic30_instruction().

#define REG_AR0   0x08

Definition at line 56 of file tic30-dis.c.

Referenced by print_branch(), regno_reg_class(), tic4x_print_indirect(), and tic4x_print_op().

#define THREE_OPERAND   0x20000000

Definition at line 36 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().

#define TWO_OPERAND_1   0x00000000

Definition at line 34 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().

#define TWO_OPERAND_2   0x40000000

Definition at line 35 of file tic30-dis.c.

Referenced by get_tic30_instruction(), and print_insn_tic30().


Function Documentation

int cnvt_tmsfloat_ieee ( unsigned long  tmsfloat,
int  size,
float *  ieeefloat 
)

Definition at line 660 of file tic30-dis.c.

References exp, f, long, and val.

Referenced by print_two_operand().

int get_indirect_operand ( unsigned short  fragment,
int  size,
char *  buffer 
)

int get_register_operand ( unsigned char  fragment,
char *  buffer 
)

int get_tic30_instruction ( unsigned long  insn_word,
struct instruction insn 
)

int cnvt_tmsfloat_ieee PARAMS ( (unsigned long, int, float *)   ) 

int get_register_operand PARAMS ( (unsigned char, char *)   ) 

int get_indirect_operand PARAMS ( (unsigned short, int, char *)   ) 

int print_two_operand PARAMS ( (disassemble_info *, unsigned long, struct instruction *)   ) 

int get_tic30_instruction PARAMS ( (unsigned long, struct instruction *)   ) 

int print_branch ( disassemble_info info,
unsigned long  insn_word,
struct instruction insn 
)

int print_insn_tic30 ( bfd_vma  pc,
disassemble_info info 
)

int print_par_insn ( disassemble_info info,
unsigned long  insn_word,
struct instruction insn 
)

int print_three_operand ( disassemble_info info,
unsigned long  insn_word,
struct instruction insn 
)

int print_two_operand ( disassemble_info info,
unsigned long  insn_word,
struct instruction insn 
)


Variable Documentation

unsigned int _pc [static]

Definition at line 60 of file tic30-dis.c.

Referenced by print_branch(), and print_insn_tic30().


Generated on Wed Apr 8 15:06:10 2009 for Open64 by  doxygen 1.5.6