From f755980a995bbe0d90a729abf483d8d70f41a0f4 Mon Sep 17 00:00:00 2001 From: sdattalo Date: Fri, 31 May 2002 05:55:29 +0000 Subject: [PATCH] PIC aopput was using #00 as a register name. git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2020 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/pic/gen.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/pic/gen.c b/src/pic/gen.c index 71f087db..975ead83 100644 --- a/src/pic/gen.c +++ b/src/pic/gen.c @@ -1434,13 +1434,16 @@ void aopPut (asmop *aop, char *s, int offset) else */ - if(strcmp(s,"W")) + if(strcmp(s,"W")==0 ) pic14_emitcode("movf","%s,w ; %d",s,__LINE__); pic14_emitcode("movwf","%s", aop->aopu.aop_reg[offset]->name); - if(strcmp(s,"W")) { + if(strcmp(s,zero)==0) { + emitpcode(POC_CLRF,popGet(aop,offset)); + + } else if(strcmp(s,"W")==0) { pCodeOp *pcop = Safe_calloc(1,sizeof(pCodeOpReg) ); pcop->type = PO_GPR_REGISTER; @@ -1450,9 +1453,13 @@ void aopPut (asmop *aop, char *s, int offset) DEBUGpic14_emitcode(";","%d",__LINE__); pcop->name = Safe_strdup(s); emitpcode(POC_MOVFW,pcop); + emitpcode(POC_MOVWF,popGet(aop,offset)); + } else if(strcmp(s,one)==0) { + emitpcode(POC_CLRF,popGet(aop,offset)); + emitpcode(POC_INCF,popGet(aop,offset)); + } else { + emitpcode(POC_MOVWF,popGet(aop,offset)); } - emitpcode(POC_MOVWF,popGet(aop,offset)); - } break; -- 2.47.2