* h8300-dis.c (bfd_h8_disassemble): Handle "ldm.l" and "stm.l".

More disassembler fixes.  HMSE.
This commit is contained in:
Jeff Law 1996-07-11 18:59:57 +00:00
parent 52aa53362e
commit 8e9c1f74c9
2 changed files with 26 additions and 0 deletions

View File

@ -1,5 +1,7 @@
Thu Jul 11 11:58:44 1996 Jeffrey A Law (law@cygnus.com)
* h8300-dis.c (bfd_h8_disassemble): Handle "ldm.l" and "stm.l".
* h8300-dis.c (bfd_h8_disassemble): "abs" is implicitly two
if the next arg is marked with SRC_IN_DST. Gross.

View File

@ -268,6 +268,30 @@ bfd_h8_disassemble (addr, info, mode)
}
}
fprintf (stream, "%s\t", q->name);
/* Gross. Disgusting. */
if (strcmp (q->name, "ldm.l") == 0)
{
int count, high;
count = (data[1] >> 4) & 0x3;
high = data[3] & 0x7;
fprintf (stream, "@sp+,er%d-er%d", high - count, high);
return q->length;
}
if (strcmp (q->name, "stm.l") == 0)
{
int count, low;
count = (data[1] >> 4) & 0x3;
low = data[3] & 0x7;
fprintf (stream, "er%d-er%d,@-sp", low, low + count);
return q->length;
}
/* Fill in the args */
{
op_type *args = q->args.nib;