From 1c2a961d56876edf08a6b14345c219322bce5b4c Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 24 Jun 1998 19:04:06 +0000 Subject: [PATCH] * m10300-dis.c (print_insn_mn10300): 0xf7 opcode prefix specifies 4 byte instructions. (disassemble): Correctly handle FMT_D10 instructions. --- opcodes/ChangeLog | 10 +++++++--- opcodes/m10300-dis.c | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 66af5c2..b094d08 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,15 +1,19 @@ start-sanitize-am33 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. - * mn10300-dis.c (print_insn_mn10300): 0xf9 opcode prefix specifies + * m10300-dis.c (print_insn_mn10300): 0xf9 opcode prefix specifies 3 byte instructions. (disassemble): Handle new instruction formats FMT_D6, FMT_D7, FMT_D8 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 the core chip when multiple alternatives exist. Change several am33 instructions to use IMM32_HIGH8_MEM. Fix typos in "mac" and diff --git a/opcodes/m10300-dis.c b/opcodes/m10300-dis.c index ab2fed9..b52efb3 100644 --- a/opcodes/m10300-dis.c +++ b/opcodes/m10300-dis.c @@ -145,6 +145,9 @@ print_insn_mn10300 (memaddr, info) /* These are four byte insns. */ else if ((insn & 0xff) == 0xfa + /* start-sanitize-am33 */ + || (insn & 0xff) == 0xf7 + /* end-sanitize-am33 */ || (insn & 0xff) == 0xfb) { status = (*info->read_memory_func) (memaddr, buffer, 4, info); @@ -312,7 +315,8 @@ disassemble (memaddr, info, insn, size) } /* start-sanitize-am33 */ else if (size == 4 - && op->format == FMT_D7) + && (op->format == FMT_D7 + || op->format == FMT_D10)) { extension = 0; } -- 2.7.4