From: Beau E. C. <be...@ha...> - 2006-05-26 07:27:23
|
Hi - I am using sdcc on XP ( compiled with cygwin ), version: sdcc -v SDCC : pic16/pic14 2.5.5 #1228 (Mar 21 2006) (MINGW32) I was investigating the --pstack-model=large option, and compiled with the following options: C:\cygwin\usr\local\bin\sdcc.exe -I . -I C:\PIC\fw\include -L C:\PIC\fw\lib -I C:\cygwin\usr\local\share\sdcc\include\pic16 -L C:\cygwin\usr\local\share\sdcc\lib\pic16 --denable-peeps --obanksel=9 --optimize-goto --optimize-df --i-code-in-asm --model-large --pstack-model=large -mpic16 -p18f2525 -D_FOSC=32000000 -D_FOSC_KHZ=32000 -c -o 18f2525-32000\process.o process.c The resulting process.lst file shows: 00260 ; .line 22; process.c void process( void ) 0000 CFDA FFE5 00261 MOVFF FSR2H, POSTDEC1 0004 CFD9 FFE5 00262 MOVFF FSR2L, POSTDEC1 0008 CFE1 FFD9 00263 MOVFF FSR1L, FSR2L 000C CFE2 FFDA 00264 MOVFF FSR1H, FSR2H 0010 C000 FFE5 00265 MOVFF r0x00, POSTDEC1 [yada,yada,yada...] 016C CFE4 F000 00497 MOVFF PREINC1, r0x00 0170 CFE4 FFDA 00498 MOVFF PREINC1, FSR2H 0174 CFE4 FFD9 00499 MOVFF PREINC1, FSR2L 0178 0012 00500 RETURN Am I crazy, but shouldn't the movffs just before the return be reversed? MOVFF PREINC1, FSR2L MOVFF PREINC1, FSR2H RETURN As I read the code, upon return the FSR2L <-> FSR2H will be swapped. -- Aloha => Beau; |
From: Vangelis R. <vr...@ot...> - 2006-05-26 22:52:47
|
----- Original Message ----- From: "Beau E. Cox" <be...@ha...> To: <sdc...@li...> Subject: [Sdcc-user] pic16 --pstack-model=large > Am I crazy, but shouldn't the movffs just before the return be > reversed? > > MOVFF PREINC1, FSR2L > MOVFF PREINC1, FSR2H > RETURN > > As I read the code, upon return the FSR2L <-> FSR2H will > be swapped. You're right. I am wondering how did this bug manage to survive until now... ANW it will be fixed at next SDCC revision (2.5.6 #4191) regards, Vangelis |
From: Beau E. C. <be...@ha...> - 2006-05-27 06:03:39
|
On Friday 26 May 2006 12:52, Vangelis Rokas wrote: > ----- Original Message ----- > From: "Beau E. Cox" <be...@ha...> > To: <sdc...@li...> > Subject: [Sdcc-user] pic16 --pstack-model=large > > > Am I crazy, but shouldn't the movffs just before the return be > > reversed? > > > > MOVFF PREINC1, FSR2L > > MOVFF PREINC1, FSR2H > > RETURN > > > > As I read the code, upon return the FSR2L <-> FSR2H will > > be swapped. > > You're right. I am wondering how did this bug manage to survive > until now... ANW it will be fixed at next SDCC revision (2.5.6 #4191) > > regards, > Vangelis YES! Now works fine in: SDCC : pic16/pic14 2.5.6 #4191 (May 26 2006) (MINGW32) Thanks for the fast fix. -- Aloha => Beau; |