* simops.c: Fix "movdm, an", "movbu dm, (an)", and "movhu dm, (an)".
authorJeff Law <law@redhat.com>
Mon, 2 Dec 1996 07:38:10 +0000 (07:38 +0000)
committerJeff Law <law@redhat.com>
Mon, 2 Dec 1996 07:38:10 +0000 (07:38 +0000)
Along with some compiler, bfd, assembler changes this fixes 90 or so
c-torture execution failures.

sim/mn10300/ChangeLog
sim/mn10300/simops.c

index cd5d1fb..8d86ab7 100644 (file)
@@ -1,5 +1,7 @@
 Sun Dec  1 16:05:42 1996  Jeffrey A Law  (law@cygnus.com)
 
+       * simops.c: Fix "movdm, an", "movbu dm, (an)", and "movhu dm, (an)".
+
        * simops.c: Fix "mov am, dn".
 
        * simops.c: Fix more bugs in "add imm,an" and
index b4e3014..07a0fb1 100644 (file)
@@ -77,7 +77,7 @@ void OP_80 ()
 /* mov dm, an */
 void OP_F1E0 ()
 {
-  State.regs[REG_A0 + (insn & 0x3)] = State.regs[REG_D0 + ((insn & 0xc) >> 3)];
+  State.regs[REG_A0 + (insn & 0x3)] = State.regs[REG_D0 + ((insn & 0xc) >> 2)];
 }
 
 /* mov am, dn */
@@ -551,8 +551,8 @@ void OP_FCA80000 ()
 /* movbu dm, (an) */
 void OP_F050 ()
 {
-  store_mem (State.regs[REG_A0 + ((insn & 0xc) >> 2)], 1,
-            State.regs[REG_D0 + (insn & 0x3)]);
+  store_mem (State.regs[REG_A0 + (insn & 0x3)], 1,
+            State.regs[REG_D0 + ((insn & 0xc) >> 2)]);
 }
 
 /* movbu dm, (d8,an) */
@@ -696,8 +696,8 @@ void OP_FCAC0000 ()
 /* movhu dm, (an) */
 void OP_F070 ()
 {
-  store_mem (State.regs[REG_A0 + ((insn & 0xc) >> 2)], 2,
-            State.regs[REG_D0 + (insn & 0x3)]);
+  store_mem (State.regs[REG_A0 + (insn & 0x3)], 2,
+            State.regs[REG_D0 + ((insn & 0xc) >> 2)]);
 }
 
 /* movhu dm, (d8,an) */