Wed Feb 12 12:16:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* objdump.c (disassemble_bytes): Make output of raw instructions work better for non-standard values of bytes_per_chunk and bytes_per_line. I also fixed the spacing in the last patch.
This commit is contained in:
parent
65c89fc376
commit
0988ea9f3e
2 changed files with 33 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
|||
Wed Feb 12 12:16:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* objdump.c (disassemble_bytes): Make output of raw instructions
|
||||
work better for non-standard values of bytes_per_chunk and
|
||||
bytes_per_line.
|
||||
|
||||
Thu Feb 6 14:14:59 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
|
||||
|
||||
* objdump.c (disassemble_bytes): Added code to allow some control
|
||||
|
|
|
@ -1186,20 +1186,26 @@ disassemble_bytes (info, disassemble_fn, insns, data, start, stop, relppp,
|
|||
int k;
|
||||
if (bpc > 1 && info->display_endian == BFD_ENDIAN_LITTLE)
|
||||
{
|
||||
for (k=bpc-1; k >= 0; k--)
|
||||
printf ("%02x", (unsigned) data[j+k]);
|
||||
for (k = bpc - 1; k >= 0; k--)
|
||||
printf ("%02x", (unsigned) data[j + k]);
|
||||
putchar (' ');
|
||||
}
|
||||
else
|
||||
{
|
||||
for (k=0; k < bpc; k++)
|
||||
printf ("%02x", (unsigned) data[j+k]);
|
||||
for (k = 0; k < bpc; k++)
|
||||
printf ("%02x", (unsigned) data[j + k]);
|
||||
putchar (' ');
|
||||
}
|
||||
}
|
||||
|
||||
for (; pb < bytes_per_line; ++pb)
|
||||
printf (" ");
|
||||
for (; pb < bytes_per_line; pb += bpc)
|
||||
{
|
||||
int k;
|
||||
|
||||
for (k = 0; k < bpc; k++)
|
||||
printf (" ");
|
||||
putchar (' ');
|
||||
}
|
||||
|
||||
/* Separate raw data from instruction by extra space. */
|
||||
if (insns)
|
||||
|
@ -1230,10 +1236,22 @@ disassemble_bytes (info, disassemble_fn, insns, data, start, stop, relppp,
|
|||
pb += bytes_per_line;
|
||||
if (pb > bytes)
|
||||
pb = bytes;
|
||||
for (; j < i + pb; ++j)
|
||||
for (; j < i + pb; j += bpc)
|
||||
{
|
||||
printf ("%02x", (unsigned) data[j]);
|
||||
putchar (' ');
|
||||
int k;
|
||||
|
||||
if (bpc > 1 && info->display_endian == BFD_ENDIAN_LITTLE)
|
||||
{
|
||||
for (k = bpc - 1; k >= 0; k--)
|
||||
printf ("%02x", (unsigned) data[j + k]);
|
||||
putchar (' ');
|
||||
}
|
||||
else
|
||||
{
|
||||
for (k = 0; k < bpc; k++)
|
||||
printf ("%02x", (unsigned) data[j + k]);
|
||||
putchar (' ');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue