aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-11-08 01:50:51 +0000
committerJohn Gilmore <gnu@cygnus>1991-11-08 01:50:51 +0000
commit1bf068b8a02f4e0f05f21cd7a305f6bc1d473767 (patch)
tree498bb3ea09d2113c56a48650c188644b731bf4dd
parentc8072296ee7a6dbf189d561ebc9524ae081392ef (diff)
downloadgdb-1bf068b8a02f4e0f05f21cd7a305f6bc1d473767.zip
gdb-1bf068b8a02f4e0f05f21cd7a305f6bc1d473767.tar.gz
gdb-1bf068b8a02f4e0f05f21cd7a305f6bc1d473767.tar.bz2
Fix decoding of mtacc, dmac, fmac. These files should really get merged
with the ones in BFD and the assembler, but c'est la vie.
-rw-r--r--gdb/ChangeLog2
-rw-r--r--gdb/am29k-opcode.h2
-rw-r--r--gdb/am29k-pinsn.c4
3 files changed, 5 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0ffcf09..a233e08 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,7 @@
Thu Nov 7 04:51:19 1991 John Gilmore (gnu at cygnus.com)
+ * am29k-pinsn.c, am29k-opcode.h: Fix decoding of mtacc, dmac, fmac.
+
* tm-*.h: Remove READ_DBX_FORMAT, COFF_FORMAT, and
READ_MIPS_FORMAT, which have been unused since BFD. Still
remaining is COFF_NO_LONG_FILE_NAMES.
diff --git a/gdb/am29k-opcode.h b/gdb/am29k-opcode.h
index 63243f4..3a32e23 100644
--- a/gdb/am29k-opcode.h
+++ b/gdb/am29k-opcode.h
@@ -194,7 +194,7 @@ static struct am29k_opcode am29k_opcodes[] =
{ "mfacc", 0xe9, "c,d,f" },
{ "mfsr", 0xc6, "c,s" },
{ "mftlb", 0xb6, "c,a" },
-{ "mtacc", 0xe8, "c,d,f" },
+{ "mtacc", 0xe8, "a,d,f" },
{ "mtsr", 0xce, "s,b" },
{ "mtsrim", 0x04, "s,x" },
{ "mttlb", 0xbe, "a,b" },
diff --git a/gdb/am29k-pinsn.c b/gdb/am29k-pinsn.c
index 4791348..d0e18fc 100644
--- a/gdb/am29k-pinsn.c
+++ b/gdb/am29k-pinsn.c
@@ -233,11 +233,11 @@ print_insn (memaddr, stream)
break;
case 'F':
- fprintf_filtered (stream, "%d", (insn0 >> 18) & 15);
+ fprintf_filtered (stream, "%d", (insn16 >> 2) & 15);
break;
case 'C':
- fprintf_filtered (stream, "%d", (insn0 >> 16) & 3);
+ fprintf_filtered (stream, "%d", insn16 & 3);
break;
default: