#include "sysdep.h"
#include <stdio.h>
+#include "libiberty.h"
#include "opcode/pj.h"
#include "disassemble.h"
char *sep = "\t";
int insn_start = addr;
const pj_opc_info_t *op = &pj_opc_info[opcode];
- int a;
+ unsigned int a;
addr++;
fprintf_fn (stream, "%s", op->u.name);
return addr - insn_start;
}
- for (a = 0; op->arg[a]; a++)
+ for (a = 0; a < ARRAY_SIZE (op->arg) && op->arg[a]; a++)
{
unsigned char data[4];
int val = 0;
val = (UNS (op->arg[0]) || ((data[0] & 0x80) == 0)) ? 0 : -1;
for (i = 0; i < size; i++)
- val = (val << 8) | (data[i] & 0xff);
+ val = ((unsigned) val << 8) | (data[i] & 0xff);
fprintf_fn (stream, "%s", sep);
if (PCREL (op->arg[a]))