From acde2aabe3a1ebe76bf020ca62ef61c824f94b19 Mon Sep 17 00:00:00 2001 From: MaartenBrock Date: Sat, 8 Jul 2006 20:20:46 +0000 Subject: [PATCH] * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x * src/pic16/glue.c (initPointer), fixed bug 1496419 for pic16 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4280 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 +++++ device/include/mcs51/XC866.h | 26 ++++++++++++++++++++++++++ src/pic16/glue.c | 2 +- 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 88260213..42e9fb7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-07-08 Maarten Brock + + * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x + * src/pic16/glue.c (initPointer), fixed bug 1496419 for pic16 + 2006-07-06 Maarten Brock * src/hc08/gen.c (genAddrOf): fixed bug when offset on stack is >127 diff --git a/device/include/mcs51/XC866.h b/device/include/mcs51/XC866.h index acd8964a..78ba0b19 100644 --- a/device/include/mcs51/XC866.h +++ b/device/include/mcs51/XC866.h @@ -237,6 +237,31 @@ __sfr __at (0xB3) _XPAGE; // this is the name SDCC expects for this sfr // SFR bit definitions +/* P0 */ +__sbit __at (0x80) P0_0 ; +__sbit __at (0x81) P0_1 ; +__sbit __at (0x82) P0_2 ; +__sbit __at (0x83) P0_3 ; +__sbit __at (0x84) P0_4 ; +__sbit __at (0x85) P0_5 ; + +/* P1 */ +__sbit __at (0x90) P1_0 ; +__sbit __at (0x91) P1_1 ; +__sbit __at (0x92) P1_5 ; +__sbit __at (0x93) P1_6 ; +__sbit __at (0x94) P1_7 ; + +/* P2 */ +__sbit __at (0xA0) P2_0 ; +__sbit __at (0xA1) P2_1 ; +__sbit __at (0xA2) P2_2 ; +__sbit __at (0xA3) P2_3 ; +__sbit __at (0xA4) P2_4 ; +__sbit __at (0xA5) P2_5 ; +__sbit __at (0xA6) P2_6 ; +__sbit __at (0xA7) P2_7 ; + /* P3 */ __sbit __at (0xB0) P3_0 ; __sbit __at (0xB1) P3_1 ; @@ -363,6 +388,7 @@ __sbit __at (0x8E) TR1; #define RST2 0xE0 // Restore SFR page from ST2 #define SST3 0xB0 // Save SFR page to ST3 #define RST3 0xF0 // Restore SFR page from ST3 +#define noSST 0x00 // Switch page without saving #define SFR_PAGE(pg,op) pg+op diff --git a/src/pic16/glue.c b/src/pic16/glue.c index c2085e8b..53c63049 100644 --- a/src/pic16/glue.c +++ b/src/pic16/glue.c @@ -428,7 +428,7 @@ value *pic16_initPointer (initList * ilist, sym_link *toType) if (IS_AST_OP (expr) && expr->opval.op == '&') { /* address of symbol */ if (IS_AST_SYM_VALUE (expr->left)) { - val = copyValue (AST_VALUE (expr->left)); + val = AST_VALUE (expr->left); val->type = newLink (DECLARATOR); if(SPEC_SCLS (expr->left->etype) == S_CODE) { DCL_TYPE (val->type) = CPOINTER; -- 2.30.2