aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/rx/ChangeLog4
-rw-r--r--sim/rx/rx.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog
index 8f103df..67b8958 100644
--- a/sim/rx/ChangeLog
+++ b/sim/rx/ChangeLog
@@ -1,3 +1,7 @@
+2009-11-30 DJ Delorie <dj@redhat.com>
+
+ * rx/rx.c (decode_opcode): fix SWHILE logic.
+
2009-10-27 DJ Delorie <dj@redhat.com>
Kevin Buettner <kevinb@redhat.com>
diff --git a/sim/rx/rx.c b/sim/rx/rx.c
index 888aa86..68329e2 100644
--- a/sim/rx/rx.c
+++ b/sim/rx/rx.c
@@ -1385,9 +1385,9 @@ decode_opcode ()
{
regs.r[3] --;
umb = mem_get_si (get_reg (1));
+ regs.r[1] += 4;
if (umb != uma)
break;
- regs.r[1] += 4;
}
break;
case RX_Word:
@@ -1396,9 +1396,9 @@ decode_opcode ()
{
regs.r[3] --;
umb = mem_get_hi (get_reg (1));
+ regs.r[1] += 2;
if (umb != uma)
break;
- regs.r[1] += 2;
}
break;
case RX_Byte:
@@ -1407,9 +1407,9 @@ decode_opcode ()
{
regs.r[3] --;
umb = mem_get_qi (regs.r[1]);
+ regs.r[1] += 1;
if (umb != uma)
break;
- regs.r[1] += 1;
}
break;
default: