X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic16%2Fpcode.c;h=52c8e8efd61596a766ca14f43c89b441f44457eb;hb=758812d261c4dab1f506a0d797ffcbab2ccb4754;hp=49ab5b1501b0785b9a6de9d613b9a2b3e4372607;hpb=bc418093a0c8d0a66fe8dee7970a6be51d0b69c8;p=fw%2Fsdcc diff --git a/src/pic16/pcode.c b/src/pic16/pcode.c index 49ab5b15..52c8e8ef 100644 --- a/src/pic16/pcode.c +++ b/src/pic16/pcode.c @@ -4069,6 +4069,30 @@ pCodeOp *pic16_newpCodeOpLit(int lit) return pcop; } +/* Allow for 12 bit literals, required for LFSR */ +pCodeOp *pic16_newpCodeOpLit12(int lit) +{ + char *s = buffer; + pCodeOp *pcop; + + + pcop = Safe_calloc(1,sizeof(pCodeOpLit) ); + pcop->type = PO_LITERAL; + + pcop->name = NULL; + //if(lit>=0) + sprintf(s,"0x%03x", ((unsigned int)lit) & 0x0fff); + //else + // sprintf(s, "%i", lit); + + if(s) + pcop->name = Safe_strdup(s); + + ((pCodeOpLit *)pcop)->lit = lit; + + return pcop; +} + /*-----------------------------------------------------------------*/ /*-----------------------------------------------------------------*/ pCodeOp *pic16_newpCodeOpLit2(int lit, pCodeOp *arg2)