Optimise bit assignment
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 30 Jan 2002 12:31:36 +0000 (12:31 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 30 Jan 2002 12:31:36 +0000 (12:31 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1876 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/ds390/gen.c
src/mcs51/gen.c

index 1aa6a2fe9f401337467462bd97e9bb3c3b51e569..caab13cd3919c97a9587b398ec0d6d0cf88d0d56 100644 (file)
@@ -1385,11 +1385,8 @@ aopPut (asmop * aop, char *s, int offset)
                  MOVA (s);
                }
              {
-               symbol *lbl = newiTempLabel (NULL);
-               emitcode ("clr", "c");
-               emitcode ("jz", "!tlabel", lbl->key + 100);
-               emitcode ("cpl", "c");
-               emitcode ("", "!tlabeldef", lbl->key + 100);
+               /* set C, if a >= 1 */
+               emitcode ("add", "a,0xff");
                emitcode ("mov", "%s,c", aop->aopu.aop_dir);
              }
            }
index 09e259908d88ac44133cd9c0b21cd639db0a4b91..718a1ccab42519c177afb3b8b1505847e7052c0d 100644 (file)
@@ -1046,11 +1046,8 @@ aopPut (asmop * aop, char *s, int offset)
                  MOVA (s);
                }
              {
-               symbol *lbl = newiTempLabel (NULL);
-               emitcode ("clr", "c");
-               emitcode ("jz", "%05d$", lbl->key + 100);
-               emitcode ("cpl", "c");
-               emitcode ("", "%05d$:", lbl->key + 100);
+               /* set C, if a >= 1 */
+                emitcode ("add", "a,#0xff");
                emitcode ("mov", "%s,c", aop->aopu.aop_dir);
              }
            }