* hppa-dis.c (print_insn_hppa): Handle 'm', 'h', '='.

This commit is contained in:
Jeff Law 1999-09-19 18:50:17 +00:00
parent 1cf6ae6758
commit 838c65f040
2 changed files with 51 additions and 0 deletions

View File

@ -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.

View File

@ -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)),