aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/d10v/ChangeLog6
-rw-r--r--sim/d10v/interp.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog
index 2d640f5..0976b6a 100644
--- a/sim/d10v/ChangeLog
+++ b/sim/d10v/ChangeLog
@@ -1,3 +1,9 @@
+Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * interp.c (sim_fetch_register, sim_store_register): Fix bug where
+ updating the accumulators was overwriting other parts of the global
+ State variable.
+
Wed Oct 30 17:35:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* interp.c (bfd.h) Don't include it here any more.
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index e617eac..f4c6fe1 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -829,7 +829,7 @@ sim_fetch_register (rn, memory)
init_system();
if (rn > 34)
- WRITE_64 (memory, State.a[rn-32]);
+ WRITE_64 (memory, State.a[rn-35]);
else if (rn == 32)
WRITE_16 (memory, IMAP0);
else if (rn == 33)
@@ -849,7 +849,7 @@ sim_store_register (rn, memory)
init_system();
if (rn > 34)
- State.a[rn-32] = READ_64 (memory) & MASK40;
+ State.a[rn-35] = READ_64 (memory) & MASK40;
else if (rn == 34)
SET_DMAP( READ_16(memory) );
else if (rn == 33)