- if (AOP_TYPE(right) == AOP_CRY) {
- int offset = 1;
- size = AOP_SIZE(right);
-
- emitpcode(POC_CLRF, popGet(AOP(result),0,FALSE,FALSE));
- emitpcode(POC_BTFSC, popGet(AOP(right),0,FALSE,FALSE));
- emitpcode(POC_INCF, popGet(AOP(result),0,FALSE,FALSE));
-
- pic14_emitcode("clrf","%s ; %d", aopGet(AOP(result),0,FALSE,FALSE),__LINE__);
- pic14_emitcode("btfsc","(%s >> 3), (%s & 7)",
- AOP(right)->aopu.aop_dir,
- AOP(right)->aopu.aop_dir);
- pic14_emitcode("incf","%s,f", aopGet(AOP(result),0,FALSE,FALSE),__LINE__);
- while (size--) {
- pic14_emitcode("clrf","%s;%d", aopGet(AOP(result),offset,FALSE,FALSE),__LINE__);
- emitpcode(POC_CLRF, popGet(AOP(result),offset++,FALSE,FALSE));
- }
- goto release;
- }