Line 1... |
Line 1... |
/* Table of opcodes for the Texas Instruments TMS320C54X
|
/* Table of opcodes for the Texas Instruments TMS320C54X
|
Copyright 1999, 2000, 2001, 2007 Free Software Foundation, Inc.
|
Copyright 1999, 2000, 2001, 2005, 2007, 2009 Free Software Foundation, Inc.
|
Contributed by Timothy Wall (twall@cygnus.com)
|
Contributed by Timothy Wall (twall@cygnus.com)
|
|
|
This file is part of the GNU opcodes library.
|
This file is part of the GNU opcodes library.
|
|
|
This library is free software; you can redistribute it and/or modify
|
This library is free software; you can redistribute it and/or modify
|
Line 229... |
Line 229... |
symbol) version is checked first (marked "SRC").
|
symbol) version is checked first (marked "SRC").
|
*/
|
*/
|
#define ZPAR 0,{OP_None}
|
#define ZPAR 0,{OP_None}
|
#define REST 0,0,ZPAR
|
#define REST 0,0,ZPAR
|
#define XREST ZPAR
|
#define XREST ZPAR
|
const template tic54x_unknown_opcode =
|
const insn_template tic54x_unknown_opcode =
|
{ "???", 1,0,0,0x0000, 0x0000, {0}, 0, REST};
|
{ "???", 1,0,0,0x0000, 0x0000, {0}, 0, REST};
|
const template tic54x_optab[] = {
|
const insn_template tic54x_optab[] = {
|
/* these must precede bc/bcd, cc/ccd to avoid misinterpretation */
|
/* these must precede bc/bcd, cc/ccd to avoid misinterpretation */
|
{ "fb", 2,1,1,0xF880, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_NR, REST},
|
{ "fb", 2,1,1,0xF880, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_NR, REST},
|
{ "fbd", 2,1,1,0xFA80, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_DELAY|FL_NR, REST},
|
{ "fbd", 2,1,1,0xFA80, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_DELAY|FL_NR, REST},
|
{ "fcall", 2,1,1,0xF980, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_NR, REST},
|
{ "fcall", 2,1,1,0xF980, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_NR, REST},
|
{ "fcalld",2,1,1,0xFB80, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_DELAY|FL_NR, REST},
|
{ "fcalld",2,1,1,0xFB80, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_DELAY|FL_NR, REST},
|
Line 463... |
Line 463... |
{ "xorm", 2,2,2,0x6A00, 0xFF00, {OP_lku,OP_Smem}, FL_NR|FL_SMR, REST},
|
{ "xorm", 2,2,2,0x6A00, 0xFF00, {OP_lku,OP_Smem}, FL_NR|FL_SMR, REST},
|
{ NULL, 0,0,0,0,0, {}, 0, REST},
|
{ NULL, 0,0,0,0,0, {}, 0, REST},
|
};
|
};
|
|
|
/* assume all parallel instructions have at least three operands */
|
/* assume all parallel instructions have at least three operands */
|
const template tic54x_paroptab[] = {
|
const insn_template tic54x_paroptab[] = {
|
{ "ld",1,1,2,0xA800, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0,
|
{ "ld",1,1,2,0xA800, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0,
|
"mac", {OP_Ymem,OPT|OP_RND},},
|
"mac", {OP_Ymem,OPT|OP_RND},},
|
{ "ld",1,1,2,0xAA00, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0,
|
{ "ld",1,1,2,0xAA00, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0,
|
"macr", {OP_Ymem,OPT|OP_RND},},
|
"macr", {OP_Ymem,OPT|OP_RND},},
|
{ "ld",1,1,2,0xAC00, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0,
|
{ "ld",1,1,2,0xAC00, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0,
|