mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-15 11:56:11 +08:00
* hppa-dis.c: (print_insn_hppa): Correct 'cJ', 'cc'.
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
Sun Sep 19 10:41:27 1999 Jeffrey A Law (law@cygnus.com)
|
Sun Sep 19 10:41:27 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
* hppa-dis.c: (print_insn_hppa): Correct 'cJ', 'cc'.
|
||||||
|
|
||||||
* hppa-dis.c (extract_22): New function.
|
* hppa-dis.c (extract_22): New function.
|
||||||
|
|
||||||
* hppa-dis.c (print_insn_hppa): Handle 'J', 'K', and 'cc'.
|
* hppa-dis.c (print_insn_hppa): Handle 'J', 'K', and 'cc'.
|
||||||
|
@ -508,18 +508,6 @@ print_insn_hppa (memaddr, info)
|
|||||||
(*info->fprintf_func) (info->stream, "%s ",
|
(*info->fprintf_func) (info->stream, "%s ",
|
||||||
short_ldst_compl_names[GET_COMPL (insn)]);
|
short_ldst_compl_names[GET_COMPL (insn)]);
|
||||||
break;
|
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 'J':
|
|
||||||
if (insn & 0x4)
|
|
||||||
(*info->fprintf_func) (info->stream, ",mb ");
|
|
||||||
else
|
|
||||||
(*info->fprintf_func) (info->stream, ",ma ");
|
|
||||||
break;
|
|
||||||
case 's':
|
case 's':
|
||||||
(*info->fprintf_func) (info->stream, "%s ",
|
(*info->fprintf_func) (info->stream, "%s ",
|
||||||
short_bytes_compl_names[GET_COMPL (insn)]);
|
short_bytes_compl_names[GET_COMPL (insn)]);
|
||||||
@ -617,6 +605,62 @@ print_insn_hppa (memaddr, info)
|
|||||||
GET_FIELD (insn, 17, 18), GET_FIELD (insn, 20, 21),
|
GET_FIELD (insn, 17, 18), GET_FIELD (insn, 20, 21),
|
||||||
GET_FIELD (insn, 22, 23), GET_FIELD (insn, 24, 25));
|
GET_FIELD (insn, 22, 23), GET_FIELD (insn, 24, 25));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'q':
|
||||||
|
{
|
||||||
|
int m, a;
|
||||||
|
|
||||||
|
m = GET_FIELD (insn, 28, 28);
|
||||||
|
a = GET_FIELD (insn, 29, 29);
|
||||||
|
|
||||||
|
if (m && !a)
|
||||||
|
fputs_filtered (",ma ", info);
|
||||||
|
else if (m && a)
|
||||||
|
fputs_filtered (",mb ", info);
|
||||||
|
else
|
||||||
|
fputs_filtered (" ", info);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 'J':
|
||||||
|
{
|
||||||
|
int opcode = GET_FIELD (insn, 0, 5);
|
||||||
|
|
||||||
|
if (opcode == 0x16 || opcode == 0x1e)
|
||||||
|
{
|
||||||
|
if (GET_FIELD (insn, 29, 29) == 0)
|
||||||
|
fputs_filtered (",ma ", info);
|
||||||
|
else
|
||||||
|
fputs_filtered (",mb ", info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fputs_filtered (" ", info);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 'c':
|
||||||
|
{
|
||||||
|
int opcode = GET_FIELD (insn, 0, 5);
|
||||||
|
|
||||||
|
if (opcode == 0x13 || opcode == 0x1b)
|
||||||
|
{
|
||||||
|
if (GET_FIELD (insn, 18, 18) == 1)
|
||||||
|
fputs_filtered (",mb ", info);
|
||||||
|
else
|
||||||
|
fputs_filtered (",ma ", info);
|
||||||
|
}
|
||||||
|
else if (opcode == 0x17 || opcode == 0x1f)
|
||||||
|
{
|
||||||
|
if (GET_FIELD (insn, 31, 31) == 1)
|
||||||
|
fputs_filtered (",ma ", info);
|
||||||
|
else
|
||||||
|
fputs_filtered (",mb ", info);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fputs_filtered (" ", info);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user