* hppa-dis.c (print_insn_hppa): Handle '#', 'd', and 'cq'.

This commit is contained in:
Jeff Law 1999-09-19 19:29:37 +00:00
parent 61dd1d313e
commit d758242c73
2 changed files with 39 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 '#', 'd', and 'cq'.
* hppa-dis.c (print_insn_hppa): Handle 'm', 'h', '='.
* hppa-dis.c (print_insn_hppa): Handle 'X' operand.

View File

@ -490,6 +490,12 @@ print_insn_hppa (memaddr, info)
(*info->fprintf_func) (info->stream, "%s ",
short_ldst_compl_names[GET_COMPL (insn)]);
break;
case 'q':
(*info->fprintf_func)
(info->stream, "%s ",
short_ldst_compl_names[(GET_FIELD (insn, 28, 28)
| GET_FIELD (insn, 29, 29))]);
break;
case 's':
(*info->fprintf_func) (info->stream, "%s ",
short_bytes_compl_names[GET_COMPL (insn)]);
@ -902,6 +908,37 @@ print_insn_hppa (memaddr, info)
float_format_names[GET_FIELD
(insn, 20, 20)]);
break;
case '#':
{
int sign = GET_FIELD (insn, 31, 31);
int imm10 = GET_FIELD (insn, 18, 27);
int disp;
if (sign)
disp = (-1 << 10) | imm10;
else
disp = imm10;
disp <<= 3;
fput_const (disp, info);
break;
}
case 'd':
{
int sign = GET_FIELD (insn, 31, 31);
int imm11 = GET_FIELD (insn, 18, 28);
int disp;
if (sign)
disp = (-1 << 11) | imm11;
else
disp = imm11;
disp <<= 2;
fput_const (disp, info);
break;
}
/* ?!? FIXME */
case '_':
case '{':