* simops.c: Fix thinkos in last change to "inc dn".
authorJeff Law <law@redhat.com>
Fri, 6 Dec 1996 05:30:24 +0000 (05:30 +0000)
committerJeff Law <law@redhat.com>
Fri, 6 Dec 1996 05:30:24 +0000 (05:30 +0000)
sim/mn10300/ChangeLog
sim/mn10300/simops.c

index 673189174a903e1304be67744529718e90e64b89..a1e0301c60292f7d05e5f6728700f1b98f5ed461 100644 (file)
@@ -1,3 +1,7 @@
+Thu Dec  5 22:26:31 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * simops.c: Fix thinkos in last change to "inc dn".
+
 Wed Dec  4 10:57:53 1996  Jeffrey A Law  (law@cygnus.com)
 
        * simops.c: "add imm,sp" does not effect the condition codes.
index c3ecc4ec9ed39b180a3be504e9450dddaffc2931..cebd1843354de18ca874c2ae34a44f54146bef9b 100644 (file)
@@ -1424,16 +1424,18 @@ void OP_F270 ()
 void OP_40 ()
 {
   int z,n,c,v;
-  unsigned int value;
+  unsigned int value, imm, reg1;
 
-  value = State.regs[REG_D0 + ((insn & 0xc) >> 2)] + 1;
+  reg1 = State.regs[REG_D0 + ((insn & 0xc) >> 2)];
+  imm = 1;
+  value = reg1 + imm;
   State.regs[REG_D0 + ((insn & 0xc) >> 2)] = value;
 
   z = (value == 0);
   n = (value & 0x80000000);
-  c = (reg1 < reg2);
-  v = ((reg2 & 0x80000000) != (reg1 & 0x80000000)
-       && (reg2 & 0x80000000) != (value & 0x80000000));
+  c = (reg1 < imm);
+  v = ((reg1 & 0x80000000) != (imm & 0x80000000)
+       && (reg1 & 0x80000000) != (value & 0x80000000));
 
   PSW &= ~(PSW_Z | PSW_N | PSW_C | PSW_V);
   PSW |= ((z ? PSW_Z : 0) | ( n ? PSW_N : 0)