From: Borut R. <bor...@si...> - 2008-03-23 07:55:26
|
I found a Q&D solution: if AOP_PCODE is set to 13 in gen.h, everything is OK. It seems that a constant is used somewhere in the code :-( . I'll commit the change for the RC2. Borut Borut Razem wrote: > It happened in the svn revision #5064, rev. #5063 was OK. > > Raphael, can you please take a look ASAP? > > Borut > > Jim Paris wrote: > >> Hi, >> >> It seems pic14 is broken in 2.8.0-rc1: >> >> $ cd /tmp >> $ echo '#include <pic/pic14regs.h>' > test.c >> $ echo 'void main() {while(!RA2);}' >> test.c >> $ sdcc/bin/sdcc --version >> SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5082 (Mar 9 2008) (UNIX) >> $ sdcc/bin/sdcc -mpic14 -p16f628a -S test.c >> $ grep -A 3 while test.asm >> ; .line 2; "test.c" void main() {while(!RA2);} >> BTFSS INDF,2 >> GOTO _00105_DS_ >> RETURN >> >> It should be testing PORTA, not INDF. >> This code was OK in 2.7.0: >> >> $ sdcc --version >> SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.7.0 #4818 (Feb 14 2008) (UNIX) >> $ sdcc -mpic14 -p16f628a -S test.c >> $ grep -A 3 while test.asm >> ; .line 2; "test.c" void main() {while(!RA2);} >> BANKSEL _PORTA_bits >> BTFSS _PORTA_bits,2 >> GOTO _00105_DS_ >> >> -jim >> |