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 *));
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. */
there should be a special case to handle this... */
#define NEXTPACKED(p) \
(p += 12, FETCH_DATA (info, p), 0.0)
-
\f
/* 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];
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
/* 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)
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];
{
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)
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)
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;
}
(*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;
}
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;
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);
}
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')
case 4:
flt_p = 1; /* Assume it's a float... */
- switch( place )
+ switch (place)
{
case 'b':
val = NEXTBYTE (p);
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);
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];
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"
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;
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;
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;
}
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++)
\f
#include <setjmp.h>
\f
-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];
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
return 1;
}
-static char *codes[16] =
-{
+static char *codes[16] = {
"f",
"lt",
"le",
"nc/uge"
};
-static char *ctrl_names[8] =
-{
+static char *ctrl_names[8] = {
"<invld>",
"flags",
"fcw",
{
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;
{
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;
}
static void
-unparse_instr (instr_data,is_segmented)
+unparse_instr (instr_data, is_segmented)
instr_data_s *instr_data;
int is_segmented;
{