X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic16%2Fgen.c;h=d2c7f0363d811bc6bd04037e712be068cd1db0eb;hb=670bb6fb5c7996b6eb0e3412f12ada73f2c2635b;hp=2e76a461853c312efecb5ce6d7aa8d6992a4105a;hpb=96286bdaf8e44243b1c4d26ecc357d15b65f087d;p=fw%2Fsdcc diff --git a/src/pic16/gen.c b/src/pic16/gen.c index 2e76a461..d2c7f036 100644 --- a/src/pic16/gen.c +++ b/src/pic16/gen.c @@ -10511,10 +10511,10 @@ static void genRightShift (iCode *ic) { /* load FSR0 with address of/from op according to is_LitOp() or if lit is 1 */ void pic16_loadFSR0(operand *op, int lit) { - if(OP_SYMBOL(op)->remat || is_LitOp( op )) { + if((IS_SYMOP(op) && OP_SYMBOL(op)->remat) || is_LitOp( op )) { pic16_emitpcode(POC_LFSR, pic16_popGetLit2(0, pic16_popGet(AOP(op), 0))); } else { - assert (!OP_SYMBOL(op)->remat); + assert (!IS_SYMOP(op) || !OP_SYMBOL(op)->remat); // set up FSR0 with address of result pic16_emitpcode(POC_MOVFF, pic16_popGet2p(pic16_popGet(AOP(op),0), pic16_popCopyReg(&pic16_pc_fsr0l))); pic16_emitpcode(POC_MOVFF, pic16_popGet2p(pic16_popGet(AOP(op),1), pic16_popCopyReg(&pic16_pc_fsr0h)));