diff options
-rw-r--r-- | sim/rx/ChangeLog | 4 | ||||
-rw-r--r-- | sim/rx/rx.c | 6 |
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: |