From af388638ae837bb9c54f7b5bc5a16b5148474188 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 2 Dec 1996 07:38:10 +0000 Subject: [PATCH] * simops.c: Fix "movdm, an", "movbu dm, (an)", and "movhu dm, (an)". Along with some compiler, bfd, assembler changes this fixes 90 or so c-torture execution failures. --- sim/mn10300/ChangeLog | 2 ++ sim/mn10300/simops.c | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog index cd5d1fb1fe..8d86ab75d3 100644 --- a/sim/mn10300/ChangeLog +++ b/sim/mn10300/ChangeLog @@ -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 diff --git a/sim/mn10300/simops.c b/sim/mn10300/simops.c index b4e30143ab..07a0fb1c2a 100644 --- a/sim/mn10300/simops.c +++ b/sim/mn10300/simops.c @@ -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) */