From: kvigor Date: Thu, 2 Aug 2001 17:00:27 +0000 (+0000) Subject: fix genrshTwo bug X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=0cd5a9ae78e1742e975073530149c58d96830e72;p=fw%2Fsdcc fix genrshTwo bug git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1124 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/ds390/gen.c b/src/ds390/gen.c index 6be8ac2a..ae8b9d02 100644 --- a/src/ds390/gen.c +++ b/src/ds390/gen.c @@ -6598,7 +6598,6 @@ AccAXRsh (char *x, int shCount) #endif #ifdef BETTER_LITERAL_SHIFT -//REMOVE ME!!! /*-----------------------------------------------------------------*/ /* AccAXRshS - right shift signed a:x known count (0..7) */ /*-----------------------------------------------------------------*/ @@ -6722,7 +6721,7 @@ _loadLeftIntoAx(char **lsb, char *leftByte; _startLazyDPSEvaluation(); - if (AOP_TYPE(left) == AOP_DPTR2) + if (AOP_TYPE(left) == AOP_DPTR2) { // Get MSB in A. MOVA(aopGet(AOP(left), offl + MSB16, FALSE, FALSE, TRUE)); @@ -6820,11 +6819,11 @@ shiftR2Left2Result (operand * left, int offl, /* a:x >> shCount (x = lsb(result)) */ if (sign) { - AccAXRshS(aopGet(AOP(result), offr, FALSE, FALSE, FALSE), shCount); + AccAXRshS(lsb, shCount); } else { - AccAXRsh(aopGet(AOP(result), offr, FALSE, FALSE, FALSE), shCount); + AccAXRsh(lsb, shCount); } _storeAxResults(lsb, result, offr);