From f0bcda6af9d4a3efaaad4cd67c093c12fd357aff Mon Sep 17 00:00:00 2001 From: johanknol Date: Tue, 20 Mar 2001 20:38:34 +0000 Subject: [PATCH] fixed the bit=~bit bug git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@694 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/ds390/gen.c | 20 ++++++++++++-------- src/mcs51/gen.c | 20 ++++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/ds390/gen.c b/src/ds390/gen.c index 95361f0f..7685031f 100644 --- a/src/ds390/gen.c +++ b/src/ds390/gen.c @@ -1065,7 +1065,6 @@ static void aopPut (asmop * aop, char *s, int offset) { char *d = buffer; - symbol *lbl; if (aop->size && offset > (aop->size - 1)) { @@ -1221,17 +1220,22 @@ aopPut (asmop * aop, char *s, int offset) emitcode ("mov", "%s,c", aop->aopu.aop_dir); else { - lbl = newiTempLabel (NULL); - if (strcmp (s, "a")) { MOVA (s); } - emitcode ("clr", "c"); - emitcode ("jz", "%05d$", lbl->key + 100); - emitcode ("cpl", "c"); - emitcode ("", "%05d$:", lbl->key + 100); - emitcode ("mov", "%s,c", aop->aopu.aop_dir); +#if 0 // jwk: I am not 1000% sure + { + symbol *lbl = newiTempLabel (NULL); + emitcode ("clr", "c"); + emitcode ("jz", "%05d$", lbl->key + 100); + emitcode ("cpl", "c"); + emitcode ("", "%05d$:", lbl->key + 100); + emitcode ("mov", "%s,c", aop->aopu.aop_dir); + } +#else + emitcode ("mov", "%s,acc.0", aop->aopu.aop_dir); +#endif } } break; diff --git a/src/mcs51/gen.c b/src/mcs51/gen.c index dfdca6f5..7b208a36 100644 --- a/src/mcs51/gen.c +++ b/src/mcs51/gen.c @@ -884,7 +884,6 @@ static void aopPut (asmop * aop, char *s, int offset) { char *d = buffer; - symbol *lbl; if (aop->size && offset > (aop->size - 1)) { @@ -1039,17 +1038,22 @@ aopPut (asmop * aop, char *s, int offset) emitcode ("mov", "%s,c", aop->aopu.aop_dir); else { - lbl = newiTempLabel (NULL); - if (strcmp (s, "a")) { MOVA (s); } - emitcode ("clr", "c"); - emitcode ("jz", "%05d$", lbl->key + 100); - emitcode ("cpl", "c"); - emitcode ("", "%05d$:", lbl->key + 100); - emitcode ("mov", "%s,c", aop->aopu.aop_dir); +#if 0 // jwk: I am not 1000% sure + { + symbol *lbl = newiTempLabel (NULL); + emitcode ("clr", "c"); + emitcode ("jz", "%05d$", lbl->key + 100); + emitcode ("cpl", "c"); + emitcode ("", "%05d$:", lbl->key + 100); + emitcode ("mov", "%s,c", aop->aopu.aop_dir); + } +#else + emitcode ("mov", "%s,acc.0", aop->aopu.aop_dir); +#endif } } break; -- 2.47.2