From: johanknol Date: Thu, 8 Nov 2001 13:04:01 +0000 (+0000) Subject: some more debugging aids X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=7353d3f30f3e9b8087a90156e4f64a89c234f115;p=fw%2Fsdcc some more debugging aids git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1531 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/mcs51/gen.c b/src/mcs51/gen.c index a7779cb5..7ce9ef41 100644 --- a/src/mcs51/gen.c +++ b/src/mcs51/gen.c @@ -377,7 +377,7 @@ aopForRemat (symbol * sym) { iCode *ic = sym->rematiCode; asmop *aop = newAsmop (AOP_IMMD); - int ptr_type ; + int ptr_type=0 ; int val = 0; for (;;) @@ -2735,8 +2735,6 @@ genPlusIncr (iCode * ic) unsigned int icount; unsigned int size = getDataSize (IC_RESULT (ic)); - D(emitcode (";", "genPlusIncr")); - /* will try to generate an increment */ /* if the right side is not a literal we cannot */ @@ -2748,6 +2746,8 @@ genPlusIncr (iCode * ic) if ((icount = (unsigned int) floatFromVal (AOP (IC_RIGHT (ic))->aopu.aop_lit)) > 4) return FALSE; + D(emitcode (";", "genPlusIncr")); + /* if increment 16 bits in register */ if (sameRegs (AOP (IC_LEFT (ic)), AOP (IC_RESULT (ic))) && (size > 1) && @@ -2883,6 +2883,8 @@ outBitAcc (operand * result) static void genPlusBits (iCode * ic) { + D(emitcode (";", "genPlusBits")); + if (AOP_TYPE (IC_RESULT (ic)) == AOP_CRY) { symbol *lbl = newiTempLabel (NULL); @@ -3087,8 +3089,6 @@ genMinusDec (iCode * ic) unsigned int icount; unsigned int size = getDataSize (IC_RESULT (ic)); - D(emitcode (";", "genMinusDec")); - /* will try to generate an increment */ /* if the right side is not a literal we cannot */ @@ -3100,6 +3100,8 @@ genMinusDec (iCode * ic) if ((icount = (unsigned int) floatFromVal (AOP (IC_RIGHT (ic))->aopu.aop_lit)) > 4) return FALSE; + D(emitcode (";", "genMinusDec")); + /* if decrement 16 bits in register */ if (sameRegs (AOP (IC_LEFT (ic)), AOP (IC_RESULT (ic))) && (size > 1) && @@ -3227,6 +3229,9 @@ static void genMinusBits (iCode * ic) { symbol *lbl = newiTempLabel (NULL); + + D(emitcode (";", "genMinusBits")); + if (AOP_TYPE (IC_RESULT (ic)) == AOP_CRY) { emitcode ("mov", "c,%s", AOP (IC_LEFT (ic))->aopu.aop_dir); @@ -3256,6 +3261,8 @@ genMinus (iCode * ic) int size, offset = 0; unsigned long lit = 0L; + D(emitcode (";", "genMinus")); + aopOp (IC_LEFT (ic), ic, FALSE); aopOp (IC_RIGHT (ic), ic, FALSE); aopOp (IC_RESULT (ic), ic, TRUE); @@ -3328,6 +3335,8 @@ genMultbits (operand * left, operand * right, operand * result) { + D(emitcode (";", "genMultbits")); + emitcode ("mov", "c,%s", AOP (left)->aopu.aop_dir); emitcode ("anl", "c,%s", AOP (right)->aopu.aop_dir); outBitC (result); @@ -3346,6 +3355,8 @@ genMultOneByte (operand * left, symbol *lbl; int size=AOP_SIZE(result); + D(emitcode (";", "genMultOneByte")); + if (size<1 || size>2) { // this should never happen fprintf (stderr, "size!=1||2 (%d) in %s at line:%d \n", @@ -3448,6 +3459,8 @@ genMult (iCode * ic) operand *right = IC_RIGHT (ic); operand *result = IC_RESULT (ic); + D(emitcode (";", "genMult")); + /* assign the amsops */ aopOp (left, ic, FALSE); aopOp (right, ic, FALSE); @@ -3496,6 +3509,8 @@ genDivbits (operand * left, char *l; + D(emitcode (";", "genDivbits")); + /* the result must be bit */ emitcode ("mov", "b,%s", aopGet (AOP (right), 0, FALSE, FALSE)); l = aopGet (AOP (left), 0, FALSE, FALSE); @@ -3520,6 +3535,8 @@ genDivOneByte (operand * left, symbol *lbl; int size, offset; + D(emitcode (";", "genDivOneByte")); + size = AOP_SIZE (result) - 1; offset = 1; /* signed or unsigned */ @@ -3603,6 +3620,8 @@ genDiv (iCode * ic) operand *right = IC_RIGHT (ic); operand *result = IC_RESULT (ic); + D(emitcode (";", "genDiv")); + /* assign the amsops */ aopOp (left, ic, FALSE); aopOp (right, ic, FALSE); @@ -3644,6 +3663,8 @@ genModbits (operand * left, char *l; + D(emitcode (";", "genModbits")); + /* the result must be bit */ emitcode ("mov", "b,%s", aopGet (AOP (right), 0, FALSE, FALSE)); l = aopGet (AOP (left), 0, FALSE, FALSE); @@ -3668,6 +3689,8 @@ genModOneByte (operand * left, char *l; symbol *lbl; + D(emitcode (";", "genModOneByte")); + /* signed or unsigned */ if (SPEC_USIGN (opetype)) { @@ -3741,6 +3764,8 @@ genMod (iCode * ic) operand *right = IC_RIGHT (ic); operand *result = IC_RESULT (ic); + D(emitcode (";", "genMod")); + /* assign the amsops */ aopOp (left, ic, FALSE); aopOp (right, ic, FALSE); @@ -3782,6 +3807,8 @@ genIfxJump (iCode * ic, char *jval) symbol *tlbl = newiTempLabel (NULL); char *inst; + D(emitcode (";", "genIfxJump")); + /* if true label then we jump if condition supplied is true */ if (IC_TRUE (ic)) @@ -3818,6 +3845,8 @@ genCmp (operand * left, operand * right, int size, offset = 0; unsigned long lit = 0L; + D(emitcode (";", "genCmp")); + /* if left & right are bit variables */ if (AOP_TYPE (left) == AOP_CRY && AOP_TYPE (right) == AOP_CRY) @@ -3926,6 +3955,8 @@ genCmpGt (iCode * ic, iCode * ifx) sym_link *letype, *retype; int sign; + D(emitcode (";", "genCmpGt")); + left = IC_LEFT (ic); right = IC_RIGHT (ic); result = IC_RESULT (ic); @@ -3953,6 +3984,8 @@ genCmpLt (iCode * ic, iCode * ifx) sym_link *letype, *retype; int sign; + D(emitcode (";", "genCmpLt")); + left = IC_LEFT (ic); right = IC_RIGHT (ic); result = IC_RESULT (ic); @@ -4068,6 +4101,8 @@ genCmpEq (iCode * ic, iCode * ifx) { operand *left, *right, *result; + D(emitcode (";", "genCmpEq")); + aopOp ((left = IC_LEFT (ic)), ic, FALSE); aopOp ((right = IC_RIGHT (ic)), ic, FALSE); aopOp ((result = IC_RESULT (ic)), ic, TRUE); @@ -4289,6 +4324,8 @@ genAndOp (iCode * ic) operand *left, *right, *result; symbol *tlbl; + D(emitcode (";", "genAndOp")); + /* note here that && operations that are in an if statement are taken away by backPatchLabels only those used in arthmetic operations remain */ @@ -4329,6 +4366,8 @@ genOrOp (iCode * ic) operand *left, *right, *result; symbol *tlbl; + D(emitcode (";", "genOrOp")); + /* note here that || operations that are in an if statement are taken away by backPatchLabels only those used in arthmetic operations remain */ @@ -4438,6 +4477,8 @@ genAnd (iCode * ic, iCode * ifx) int bytelit = 0; char buffer[10]; + D(emitcode (";", "genAnd")); + aopOp ((left = IC_LEFT (ic)), ic, FALSE); aopOp ((right = IC_RIGHT (ic)), ic, FALSE); aopOp ((result = IC_RESULT (ic)), ic, TRUE); @@ -4740,6 +4781,8 @@ genOr (iCode * ic, iCode * ifx) int size, offset = 0; unsigned long lit = 0L; + D(emitcode (";", "genOr")); + aopOp ((left = IC_LEFT (ic)), ic, FALSE); aopOp ((right = IC_RIGHT (ic)), ic, FALSE); aopOp ((result = IC_RESULT (ic)), ic, TRUE);