#include <stdio.h>
-#include "ansidecl.h"
+#include "sysdep.h"
#include "opcode/mn10200.h"
#include "dis-asm.h"
#include "opintl.h"
(*info->memory_error_func) (status, memaddr, info);
return -1;
}
+
insn = *(unsigned char *) buffer;
/* These are one byte insns. */
(*info->memory_error_func) (status, memaddr, info);
return -1;
}
- insn |= *(unsigned char *)buffer << 8;
+ insn |= (*(unsigned char *)buffer << 8) & 0xff00;
status = (*info->read_memory_func) (memaddr + 3, buffer, 1, info);
if (status != 0)
(*info->memory_error_func) (status, memaddr, info);
return -1;
}
- insn |= *(unsigned char *)buffer;
+ insn |= (*(unsigned char *)buffer) & 0xff;
status = (*info->read_memory_func) (memaddr + 2, buffer, 1, info);
if (status != 0)
(*info->memory_error_func) (status, memaddr, info);
return -1;
}
- extension = *(unsigned char *)buffer;
+ extension = (*(unsigned char *)buffer) & 0xff;
consume = 5;
}
else
else
{
value = ((insn >> (operand->shift))
- & ((1 << operand->bits) - 1));
+ & ((1L << operand->bits) - 1L));
}
if ((operand->flags & MN10200_OPERAND_SIGNED) != 0)
(*info->print_address_func) (value, info);
else
- (*info->fprintf_func) (info->stream, "%d", value);
+ (*info->fprintf_func) (info->stream, "%ld", value);
}
/* All done. */
break;
if (!match)
{
- (*info->fprintf_func) (info->stream, _("unknown\t0x%04x"), insn);
+ (*info->fprintf_func) (info->stream, _("unknown\t0x%04lx"), insn);
}
}