* hppa-dis.c (print_insn_hppa): Handle 'm', 'h', '='.
This commit is contained in:
parent
1cf6ae6758
commit
838c65f040
2 changed files with 51 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
|||
Sun Sep 19 10:41:27 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* hppa-dis.c (print_insn_hppa): Handle 'm', 'h', '='.
|
||||
|
||||
* hppa-dis.c (print_insn_hppa): Handle 'X' operand.
|
||||
|
||||
* hppa-dis.c (print_insn_hppa): Handle 'B' operand.
|
||||
|
|
|
@ -902,6 +902,55 @@ print_insn_hppa (memaddr, info)
|
|||
float_format_names[GET_FIELD
|
||||
(insn, 20, 20)]);
|
||||
break;
|
||||
/* ?!? FIXME */
|
||||
case '_':
|
||||
case '{':
|
||||
fputs_filtered ("Disassembler botch.\n", info);
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
{
|
||||
int y = GET_FIELD (insn, 16, 18);
|
||||
|
||||
if (y != 1)
|
||||
fput_const ((y ^ 1) - 1, info);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
{
|
||||
int cbit;
|
||||
|
||||
cbit = GET_FIELD (insn, 16, 18);
|
||||
|
||||
if (cbit > 0)
|
||||
(*info->fprintf_func) (info->stream, ",%d", cbit - 1);
|
||||
break;
|
||||
}
|
||||
|
||||
case '=':
|
||||
{
|
||||
int cond = GET_FIELD (insn, 27, 31);
|
||||
|
||||
if (cond == 0)
|
||||
fputs_filtered (" ", info);
|
||||
else if (cond == 1)
|
||||
fputs_filtered ("acc ", info);
|
||||
else if (cond == 2)
|
||||
fputs_filtered ("rej ", info);
|
||||
else if (cond == 5)
|
||||
fputs_filtered ("acc8 ", info);
|
||||
else if (cond == 6)
|
||||
fputs_filtered ("rej8 ", info);
|
||||
else if (cond == 9)
|
||||
fputs_filtered ("acc6 ", info);
|
||||
else if (cond == 13)
|
||||
fputs_filtered ("acc4 ", info);
|
||||
else if (cond == 17)
|
||||
fputs_filtered ("acc2 ", info);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'X':
|
||||
(*info->print_address_func) ((memaddr + 8
|
||||
+ extract_22 (insn)),
|
||||
|
|
Loading…
Reference in a new issue