Hi list,
in order to get rid of some longish preamble in my interrupt I tried to define the interrupt as '__naked' but this produced 'Bus error' during compilation. After a lot of pruning I got the code down to: unsigned char x; void test() __naked { if (x) { x = 1; } } which when compiled with parameters: SDCCFLAGS = "-Wl,-m,-s 18f4550.lkr" -mpic16 -p18f4550 --disable-warning 85 --std-sdcc99 --obanksel=3 --pno-banksel produces SIGSEGV . If I remove the __naked the problem disappears, but I'm back in square one. So this appears to be compiler bug. I tried to look for this in the list archives but I could not find anything related to that. Now I have specific questions: 1) Should I file a bug? 2) How can I circumvent this? My actual problem is that the compilers emits a lot of code like: 002C C000 FFE5 01503 MOVFF r0x00, POSTDEC1 0030 C000 FFE5 01504 MOVFF r0x01, POSTDEC1 0034 C000 FFE5 01505 MOVFF r0x02, POSTDEC1 0038 C000 FFE5 01506 MOVFF r0x03, POSTDEC1 003C C000 FFE5 01507 MOVFF r0x04, POSTDEC1 0040 C000 FFE5 01508 MOVFF r0x05, POSTDEC1 that I would like to avoid, all I want is for the compiler to allocate these are global variables used solely by the interrupt so that there is no need to save/restore them...I know 'naked' alone would not do this but it seems like a necessary step in getting there...? 3) I seem to recall some list discussion relating to PIC / inline assembly and that it does not work or something but I cannot find that discussion. Is there a problem there? br Kusti ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user