* m10300-dis.c (print_insn_mn10300): 0xf7 opcode prefix specifies

4 byte instructions.
        (disassemble): Correctly handle FMT_D10 instructions.
This commit is contained in:
Jeff Law
1998-06-24 19:04:06 +00:00
parent 59557be25d
commit 1c2a961d56
2 changed files with 12 additions and 4 deletions

View File

@ -1,15 +1,19 @@
start-sanitize-am33 start-sanitize-am33
Wed Jun 24 09:53:06 1998 Jeffrey A Law (law@cygnus.com) Wed Jun 24 09:53:06 1998 Jeffrey A Law (law@cygnus.com)
* mn10300-opc.c (mn10300_opcodes): Fix typo in IMM24 versions of the * m10300-dis.c (print_insn_mn10300): 0xf7 opcode prefix specifies
4 byte instructions.
(disassemble): Correctly handle FMT_D10 instructions.
* m10300-opc.c (mn10300_opcodes): Fix typo in IMM24 versions of the
am33 shift instructions. am33 shift instructions.
* mn10300-dis.c (print_insn_mn10300): 0xf9 opcode prefix specifies * m10300-dis.c (print_insn_mn10300): 0xf9 opcode prefix specifies
3 byte instructions. 3 byte instructions.
(disassemble): Handle new instruction formats FMT_D6, FMT_D7, FMT_D8 (disassemble): Handle new instruction formats FMT_D6, FMT_D7, FMT_D8
FMT_D9 and FMT_D10. Handle various new opcode flags for the am33. FMT_D9 and FMT_D10. Handle various new opcode flags for the am33.
* mn10300-opc.c (IMM32_HIGH8_MEM): New operand type. * m10300-opc.c (IMM32_HIGH8_MEM): New operand type.
(mn10300_opcodes): Reorder so as to try and select opcodes from (mn10300_opcodes): Reorder so as to try and select opcodes from
the core chip when multiple alternatives exist. Change several the core chip when multiple alternatives exist. Change several
am33 instructions to use IMM32_HIGH8_MEM. Fix typos in "mac" and am33 instructions to use IMM32_HIGH8_MEM. Fix typos in "mac" and

View File

@ -145,6 +145,9 @@ print_insn_mn10300 (memaddr, info)
/* These are four byte insns. */ /* These are four byte insns. */
else if ((insn & 0xff) == 0xfa else if ((insn & 0xff) == 0xfa
/* start-sanitize-am33 */
|| (insn & 0xff) == 0xf7
/* end-sanitize-am33 */
|| (insn & 0xff) == 0xfb) || (insn & 0xff) == 0xfb)
{ {
status = (*info->read_memory_func) (memaddr, buffer, 4, info); status = (*info->read_memory_func) (memaddr, buffer, 4, info);
@ -312,7 +315,8 @@ disassemble (memaddr, info, insn, size)
} }
/* start-sanitize-am33 */ /* start-sanitize-am33 */
else if (size == 4 else if (size == 4
&& op->format == FMT_D7) && (op->format == FMT_D7
|| op->format == FMT_D10))
{ {
extension = 0; extension = 0;
} }