* m68k-dis.c: Fix formatting.
* pj-dis.c: Likewise. * z8k-dis.c: Likewise.
This commit is contained in:
parent
ca8fca25cd
commit
ec22bddae2
@ -1,6 +1,9 @@
|
||||
2001-07-23 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* s390-dis.c: Fix formatting.
|
||||
* m68k-dis.c: Fix formatting.
|
||||
* pj-dis.c: Likewise.
|
||||
* s390-dis.c: Likewise.
|
||||
* z8k-dis.c: Likewise.
|
||||
|
||||
2001-07-21 Chris Demetriou <cgd@broadcom.com>
|
||||
|
||||
|
@ -37,7 +37,7 @@ static int
|
||||
fetch_arg PARAMS ((unsigned char *, int, int, disassemble_info *));
|
||||
|
||||
static void
|
||||
print_base PARAMS ((int, bfd_vma, disassemble_info*));
|
||||
print_base PARAMS ((int, bfd_vma, disassemble_info *));
|
||||
|
||||
static unsigned char *
|
||||
print_indexed PARAMS ((int, unsigned char *, bfd_vma, disassemble_info *));
|
||||
@ -46,24 +46,22 @@ static int
|
||||
print_insn_arg PARAMS ((const char *, unsigned char *, unsigned char *,
|
||||
bfd_vma, disassemble_info *));
|
||||
|
||||
CONST char * CONST fpcr_names[] =
|
||||
{
|
||||
CONST char * CONST fpcr_names[] = {
|
||||
"", "%fpiar", "%fpsr", "%fpiar/%fpsr", "%fpcr",
|
||||
"%fpiar/%fpcr", "%fpsr/%fpcr", "%fpiar/%fpsr/%fpcr"
|
||||
};
|
||||
};
|
||||
|
||||
static char *const reg_names[] =
|
||||
{
|
||||
static char *const reg_names[] = {
|
||||
"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7",
|
||||
"%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%fp", "%sp",
|
||||
"%ps", "%pc"
|
||||
};
|
||||
};
|
||||
|
||||
/* Sign-extend an (unsigned char). */
|
||||
#if __STDC__ == 1
|
||||
#define COERCE_SIGNED_CHAR(ch) ((signed char)(ch))
|
||||
#define COERCE_SIGNED_CHAR(ch) ((signed char) (ch))
|
||||
#else
|
||||
#define COERCE_SIGNED_CHAR(ch) ((int)(((ch) ^ 0x80) & 0xFF) - 128)
|
||||
#define COERCE_SIGNED_CHAR(ch) ((int) (((ch) ^ 0x80) & 0xFF) - 128)
|
||||
#endif
|
||||
|
||||
/* Get a 1 byte signed integer. */
|
||||
@ -107,15 +105,13 @@ static char *const reg_names[] =
|
||||
there should be a special case to handle this... */
|
||||
#define NEXTPACKED(p) \
|
||||
(p += 12, FETCH_DATA (info, p), 0.0)
|
||||
|
||||
|
||||
/* Maximum length of an instruction. */
|
||||
#define MAXLEN 22
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
struct private
|
||||
{
|
||||
struct private {
|
||||
/* Points to first byte not fetched. */
|
||||
bfd_byte *max_fetched;
|
||||
bfd_byte the_buffer[MAXLEN];
|
||||
@ -127,7 +123,7 @@ struct private
|
||||
to ADDR (exclusive) are valid. Returns 1 for success, longjmps
|
||||
on error. */
|
||||
#define FETCH_DATA(info, addr) \
|
||||
((addr) <= ((struct private *)(info->private_data))->max_fetched \
|
||||
((addr) <= ((struct private *) (info->private_data))->max_fetched \
|
||||
? 1 : fetch_data ((info), (addr)))
|
||||
|
||||
static int
|
||||
@ -156,12 +152,15 @@ fetch_data (info, addr)
|
||||
/* This function is used to print to the bit-bucket. */
|
||||
static int
|
||||
#ifdef __STDC__
|
||||
dummy_printer (FILE * file ATTRIBUTE_UNUSED,
|
||||
const char * format ATTRIBUTE_UNUSED, ...)
|
||||
dummy_printer (FILE *file ATTRIBUTE_UNUSED,
|
||||
const char *format ATTRIBUTE_UNUSED, ...)
|
||||
#else
|
||||
dummy_printer (file) FILE *file ATTRIBUTE_UNUSED;
|
||||
dummy_printer (file)
|
||||
FILE *file ATTRIBUTE_UNUSED;
|
||||
#endif
|
||||
{ return 0; }
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
dummy_print_address (vma, info)
|
||||
@ -188,7 +187,7 @@ print_insn_m68k (memaddr, info)
|
||||
struct private priv;
|
||||
bfd_byte *buffer = priv.the_buffer;
|
||||
fprintf_ftype save_printer = info->fprintf_func;
|
||||
void (*save_print_address) PARAMS((bfd_vma, struct disassemble_info*))
|
||||
void (*save_print_address) PARAMS ((bfd_vma, struct disassemble_info *))
|
||||
= info->print_address_func;
|
||||
int major_opcode;
|
||||
static int numopcodes[16];
|
||||
@ -356,7 +355,7 @@ print_insn_m68k (memaddr, info)
|
||||
{
|
||||
if (d[1] == 'l' && p - buffer < 6)
|
||||
p = buffer + 6;
|
||||
else if (p - buffer < 4 && d[1] != 'C' && d[1] != '8' )
|
||||
else if (p - buffer < 4 && d[1] != 'C' && d[1] != '8')
|
||||
p = buffer + 4;
|
||||
}
|
||||
if ((d[0] == 'L' || d[0] == 'l') && d[1] == 'w' && p - buffer < 4)
|
||||
@ -415,8 +414,8 @@ print_insn_m68k (memaddr, info)
|
||||
|
||||
save_p = p;
|
||||
info->print_address_func = dummy_print_address;
|
||||
info->fprintf_func = (fprintf_ftype)dummy_printer;
|
||||
for ( ; *d; d += 2)
|
||||
info->fprintf_func = (fprintf_ftype) dummy_printer;
|
||||
for (; *d; d += 2)
|
||||
{
|
||||
int eaten = print_insn_arg (d, buffer, p, memaddr + (p - buffer), info);
|
||||
if (eaten >= 0)
|
||||
@ -425,11 +424,11 @@ print_insn_m68k (memaddr, info)
|
||||
goto invalid;
|
||||
else
|
||||
{
|
||||
(*info->fprintf_func)(info->stream,
|
||||
/* xgettext:c-format */
|
||||
_("<internal error in opcode table: %s %s>\n"),
|
||||
best->name,
|
||||
best->args);
|
||||
(*info->fprintf_func) (info->stream,
|
||||
/* xgettext:c-format */
|
||||
_("<internal error in opcode table: %s %s>\n"),
|
||||
best->name,
|
||||
best->args);
|
||||
goto invalid;
|
||||
}
|
||||
|
||||
@ -501,7 +500,7 @@ print_insn_arg (d, buffer, p0, addr, info)
|
||||
(*info->fprintf_func)
|
||||
(info->stream,
|
||||
"%s@",
|
||||
reg_names [fetch_arg (buffer, place, 3, info) + 8]);
|
||||
reg_names[fetch_arg (buffer, place, 3, info) + 8]);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -625,7 +624,7 @@ print_insn_arg (d, buffer, p0, addr, info)
|
||||
case 'O':
|
||||
val = fetch_arg (buffer, place, 6, info);
|
||||
if (val & 0x20)
|
||||
(*info->fprintf_func) (info->stream, "%s", reg_names [val & 7]);
|
||||
(*info->fprintf_func) (info->stream, "%s", reg_names[val & 7]);
|
||||
else
|
||||
(*info->fprintf_func) (info->stream, "%d", val);
|
||||
break;
|
||||
@ -650,7 +649,7 @@ print_insn_arg (d, buffer, p0, addr, info)
|
||||
else if (place == 'C')
|
||||
{
|
||||
val = fetch_arg (buffer, place, 7, info);
|
||||
if ( val > 63 ) /* This is a signed constant. */
|
||||
if (val > 63) /* This is a signed constant. */
|
||||
val -= 128;
|
||||
(*info->fprintf_func) (info->stream, "{#%d}", val);
|
||||
}
|
||||
@ -684,7 +683,7 @@ print_insn_arg (d, buffer, p0, addr, info)
|
||||
if (place == 'b')
|
||||
disp = NEXTBYTE (p);
|
||||
else if (place == 'B')
|
||||
disp = COERCE_SIGNED_CHAR(buffer[1]);
|
||||
disp = COERCE_SIGNED_CHAR (buffer[1]);
|
||||
else if (place == 'w' || place == 'W')
|
||||
disp = NEXTWORD (p);
|
||||
else if (place == 'l' || place == 'L' || place == 'C')
|
||||
@ -818,7 +817,7 @@ print_insn_arg (d, buffer, p0, addr, info)
|
||||
|
||||
case 4:
|
||||
flt_p = 1; /* Assume it's a float... */
|
||||
switch( place )
|
||||
switch (place)
|
||||
{
|
||||
case 'b':
|
||||
val = NEXTBYTE (p);
|
||||
@ -836,25 +835,25 @@ print_insn_arg (d, buffer, p0, addr, info)
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
NEXTSINGLE(flval, p);
|
||||
NEXTSINGLE (flval, p);
|
||||
break;
|
||||
|
||||
case 'F':
|
||||
NEXTDOUBLE(flval, p);
|
||||
NEXTDOUBLE (flval, p);
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
NEXTEXTEND(flval, p);
|
||||
NEXTEXTEND (flval, p);
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
flval = NEXTPACKED(p);
|
||||
flval = NEXTPACKED (p);
|
||||
break;
|
||||
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
if ( flt_p ) /* Print a float? */
|
||||
if (flt_p) /* Print a float? */
|
||||
(*info->fprintf_func) (info->stream, "#%g", flval);
|
||||
else
|
||||
(*info->fprintf_func) (info->stream, "#%d", val);
|
||||
@ -1206,7 +1205,7 @@ print_indexed (basereg, p, addr, info)
|
||||
disassemble_info *info;
|
||||
{
|
||||
register int word;
|
||||
static char *const scales[] = {"", ":2", ":4", ":8"};
|
||||
static char *const scales[] = { "", ":2", ":4", ":8" };
|
||||
bfd_vma base_disp;
|
||||
bfd_vma outer_disp;
|
||||
char buf[40];
|
||||
|
@ -16,7 +16,6 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include "sysdep.h"
|
||||
#include "opcode/pj.h"
|
||||
@ -24,7 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
extern const pj_opc_info_t pj_opc_info[512];
|
||||
|
||||
static int get_int (memaddr, iptr, info)
|
||||
static int
|
||||
get_int (memaddr, iptr, info)
|
||||
bfd_vma memaddr;
|
||||
int *iptr;
|
||||
struct disassemble_info *info;
|
||||
@ -84,7 +84,7 @@ print_insn_pj (addr, info)
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
|
||||
fprintf_fn (stream," default: ");
|
||||
fprintf_fn (stream, " default: ");
|
||||
(*info->print_address_func) (val + insn_start, info);
|
||||
addr += 4;
|
||||
|
||||
@ -96,15 +96,16 @@ print_insn_pj (addr, info)
|
||||
goto fail;
|
||||
addr += 4;
|
||||
|
||||
while (lowval <= highval) {
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
fprintf_fn (stream," %d:[", lowval);
|
||||
(*info->print_address_func) (val + insn_start, info);
|
||||
fprintf_fn (stream," ]");
|
||||
addr += 4;
|
||||
lowval++;
|
||||
}
|
||||
while (lowval <= highval)
|
||||
{
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
fprintf_fn (stream, " %d:[", lowval);
|
||||
(*info->print_address_func) (val + insn_start, info);
|
||||
fprintf_fn (stream, " ]");
|
||||
addr += 4;
|
||||
lowval++;
|
||||
}
|
||||
return addr - insn_start;
|
||||
}
|
||||
|
||||
@ -122,26 +123,27 @@ print_insn_pj (addr, info)
|
||||
goto fail;
|
||||
addr += 4;
|
||||
|
||||
fprintf_fn (stream," default: ");
|
||||
fprintf_fn (stream, " default: ");
|
||||
(*info->print_address_func) (val + insn_start, info);
|
||||
|
||||
if ((status = get_int (addr, &count, info)))
|
||||
goto fail;
|
||||
addr += 4;
|
||||
|
||||
while (count--) {
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
addr += 4;
|
||||
fprintf_fn (stream," %d:[", val);
|
||||
while (count--)
|
||||
{
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
addr += 4;
|
||||
fprintf_fn (stream, " %d:[", val);
|
||||
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
addr += 4;
|
||||
if ((status = get_int (addr, &val, info)))
|
||||
goto fail;
|
||||
addr += 4;
|
||||
|
||||
(*info->print_address_func) (val + insn_start, info);
|
||||
fprintf_fn (stream," ]");
|
||||
}
|
||||
(*info->print_address_func) (val + insn_start, info);
|
||||
fprintf_fn (stream, " ]");
|
||||
}
|
||||
return addr - insn_start;
|
||||
}
|
||||
for (a = 0; op->arg[a]; a++)
|
||||
|
@ -26,8 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* These are all indexed by nibble number (i.e only every other entry
|
||||
of bytes is used, and every 4th entry of words). */
|
||||
unsigned char nibbles[24];
|
||||
@ -49,14 +48,13 @@ typedef struct
|
||||
unsigned long ctrl_code;
|
||||
unsigned long flags;
|
||||
unsigned long interrupts;
|
||||
}
|
||||
instr_data_s;
|
||||
} instr_data_s;
|
||||
|
||||
/* Make sure that bytes from INFO->PRIVATE_DATA->BUFFER (inclusive)
|
||||
to ADDR (exclusive) are valid. Returns 1 for success, longjmps
|
||||
on error. */
|
||||
#define FETCH_DATA(info, nibble) \
|
||||
((nibble) < ((instr_data_s *)(info->private_data))->max_fetched \
|
||||
((nibble) < ((instr_data_s *) (info->private_data))->max_fetched \
|
||||
? 1 : fetch_data ((info), (nibble)))
|
||||
|
||||
static int
|
||||
@ -105,8 +103,7 @@ fetch_data (info, nibble)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static char *codes[16] =
|
||||
{
|
||||
static char *codes[16] = {
|
||||
"f",
|
||||
"lt",
|
||||
"le",
|
||||
@ -125,8 +122,7 @@ static char *codes[16] =
|
||||
"nc/uge"
|
||||
};
|
||||
|
||||
static char *ctrl_names[8] =
|
||||
{
|
||||
static char *ctrl_names[8] = {
|
||||
"<invld>",
|
||||
"flags",
|
||||
"fcw",
|
||||
@ -325,8 +321,8 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
{
|
||||
FETCH_DATA (info, nibl_count + 4 - (nibl_count % 4));
|
||||
instr_nibl = instr_data->nibbles[nibl_count];
|
||||
instr_byte = instr_data->bytes[nibl_count&~1];
|
||||
instr_word = instr_data->words[nibl_count&~3];
|
||||
instr_byte = instr_data->bytes[nibl_count & ~1];
|
||||
instr_word = instr_data->words[nibl_count & ~3];
|
||||
|
||||
tabl_datum = z8k_table[instr_data->tabl_index].byte_info[loop];
|
||||
datum_class = tabl_datum & CLASS_MASK;
|
||||
@ -339,16 +335,20 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
{
|
||||
case ARG_DISP16:
|
||||
instr_data->displacement = instr_data->insn_start + 4 +
|
||||
(signed short)(instr_word & 0xffff);
|
||||
(signed short) (instr_word & 0xffff);
|
||||
nibl_count += 3;
|
||||
break;
|
||||
case ARG_DISP12:
|
||||
if (instr_word & 0x800) { /* neg. 12 bit displacement */
|
||||
instr_data->displacement = instr_data->insn_start + 2 -
|
||||
(signed short)((instr_word & 0xfff) | 0xf000) * 2;
|
||||
}
|
||||
else {
|
||||
instr_data->displacement = instr_data->insn_start + 2 - (instr_word & 0x0fff) * 2;
|
||||
if (instr_word & 0x800)
|
||||
{
|
||||
/* neg. 12 bit displacement */
|
||||
instr_data->displacement = instr_data->insn_start + 2
|
||||
- (signed short) ((instr_word & 0xfff) | 0xf000) * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
instr_data->displacement = instr_data->insn_start + 2
|
||||
- (instr_word & 0x0fff) * 2;
|
||||
}
|
||||
nibl_count += 2;
|
||||
break;
|
||||
@ -474,7 +474,7 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
}
|
||||
|
||||
static void
|
||||
unparse_instr (instr_data,is_segmented)
|
||||
unparse_instr (instr_data, is_segmented)
|
||||
instr_data_s *instr_data;
|
||||
int is_segmented;
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user