opcodes/gas: blackfin: support OUTC debug insn

The disassembler has partial (but incomplete/broken) support already for
the pseudo debug insn OUTC, so let's fix it up and finish it.  And now
that the disassembler can handle it, make sure our assembler can output
it too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Michael Frysinger 2010-09-22 20:59:00 +00:00
parent 60376287eb
commit d3e228722e
2 changed files with 32 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2010-09-22 Mike Frysinger <vapier@gentoo.org>
* bfin.h: Declare pseudoChr structs/defines.
2010-09-21 Mike Frysinger <vapier@gentoo.org>
* bfin.h: Strip trailing whitespace.

View File

@ -987,6 +987,34 @@ typedef struct
PseudoDbg_Assert_code_bits, PseudoDbg_Assert_code_mask \
};
/* pseudoChr
+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |.ch............................|
+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
*/
typedef struct
{
unsigned short opcode;
int bits_ch;
int mask_ch;
int bits_code;
int mask_code;
} PseudoChr;
#define PseudoChr_opcode 0xf900
#define PseudoChr_ch_bits 0
#define PseudoChr_ch_mask 0xff
#define PseudoChr_code_bits 8
#define PseudoChr_code_mask 0xff
#define init_PseudoChr \
{ \
PseudoChr_opcode, \
PseudoChr_ch_bits, PseudoChr_ch_mask, \
PseudoChr_code_bits, PseudoChr_code_mask \
};
/* CaCTRL
+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |.a.|.op....|.reg.......|