* simops.c: Fix return address computation for "call" instructions.
authorJeff Law <law@redhat.com>
Tue, 10 Jun 1997 18:32:40 +0000 (18:32 +0000)
committerJeff Law <law@redhat.com>
Tue, 10 Jun 1997 18:32:40 +0000 (18:32 +0000)
sim/mn10300/ChangeLog
sim/mn10300/simops.c

index b18be23..6a68606 100644 (file)
@@ -1,3 +1,11 @@
+Tue Jun 10 12:31:32 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * simops.c: Fix return address computation for "call" instructions.
+
+Thu May 22 01:43:11 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * interp.c (sim_open): Fix typo.
+
 Wed May 21 23:27:58 1997  Jeffrey A Law  (law@cygnus.com)
 
        * interp.c (sim_resume): Add missing case in big switch
index 8f86609..a913f4c 100644 (file)
@@ -2535,7 +2535,7 @@ void OP_CD000000 (insn, extension)
   unsigned long mask;
 
   sp = State.regs[REG_SP];
-  next_pc = State.regs[REG_PC] + 2;
+  next_pc = State.regs[REG_PC] + 5;
   State.mem[sp] = next_pc & 0xff;
   State.mem[sp+1] = (next_pc & 0xff00) >> 8;
   State.mem[sp+2] = (next_pc & 0xff0000) >> 16;
@@ -2601,7 +2601,7 @@ void OP_DD000000 (insn, extension)
   unsigned long mask;
 
   sp = State.regs[REG_SP];
-  next_pc = State.regs[REG_PC] + 2;
+  next_pc = State.regs[REG_PC] + 7;
   State.mem[sp] = next_pc & 0xff;
   State.mem[sp+1] = (next_pc & 0xff00) >> 8;
   State.mem[sp+2] = (next_pc & 0xff0000) >> 16;