aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1998-06-24 19:04:06 +0000
committerJeff Law <law@redhat.com>1998-06-24 19:04:06 +0000
commit1c2a961d56876edf08a6b14345c219322bce5b4c (patch)
tree6d6d3d04c48a36862d70712953cfe436f271902e
parent59557be25d5f74044eab82bb2480086ebae0f43d (diff)
downloadgdb-1c2a961d56876edf08a6b14345c219322bce5b4c.zip
gdb-1c2a961d56876edf08a6b14345c219322bce5b4c.tar.gz
gdb-1c2a961d56876edf08a6b14345c219322bce5b4c.tar.bz2
* m10300-dis.c (print_insn_mn10300): 0xf7 opcode prefix specifies
4 byte instructions. (disassemble): Correctly handle FMT_D10 instructions.
-rw-r--r--opcodes/ChangeLog10
-rw-r--r--opcodes/m10300-dis.c6
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;
}