gnupic: SDCC Pic Port
Subject:
SDCC PIC Port
From:
Scott Dattalo ####@####.####
Date:
17 May 2002 05:25:16 -0000
Message-Id: <Pine.LNX.4.44.0205162200030.1514-100000@ruckus.brouhaha.com>
It's been a while since I've said anything about SDCC. A lot has changed.
I'm not even sure where to begin.
-- Better memory allocation... Device specific memory maps are now
supported.
-- Register banking is better supported. You can do stuff like this:
data at 0xa2 unsigned int ui_bank1_temp=0;
and you can do it with bits too:
#define BIT_AT(base,bitno) bit at ((base<<3)+bitno)
#define TRISB_ADR 0x86
BIT_AT(TRISB_ADR,0) TRISB0;
-- Multiplication is partially supported.
-- Config word is supported
#define _WDT_OFF 0x3FFB
#define _PWRTE_ON 0x3FF7
typedef unsigned int word;
word at 0x2007 CONFIG = _WDT_OFF & _PWRTE_ON;
-- pCode Peephole optimizer has been enhanced.
I've added commands to categorize instruction types. Before, the following
rule would have required 4 separate rules, but more importantly the old
way it was implemented there were certain instances when the 4 rules
failed.
replace restart {
_NOTBITSKIP_ %1
_BITSKIP_ %2
goto %3
%4: %5
%3: %6
} by {
;peep 1b - test/jump to test/skip
%1
_INVERTBITSKIP_ %2
%4: %5
%3: %6
}
-- structures are more robust.
-- bugs, bugs, and more bugs were fixed. A special thanks goes to Linas
Vepstas for numerous bug reports.
-----
I'm not sure when the next SDCC release will be. I do know that the PIC
port is rapidly maturing.
Scott