I have a macro:
#define EnterCritical() do { SP++; *(unsigned char idata *)(SP-1) = IE; EA = 0; } while (0);
Hi Andrew. Well, the problem is that I really need the SIZE optimization for the rest of the code, and I just need the SPEED optimization around this macro. Unfortunately, I don't think I can combine the two, since I can't automatically place the SAVE and RESTORE pragmas "inside" the EnterCritical() macro. Placing the pragmas directly inside my source code (e.g. in the affected function) is not an option. Since pragmas are compiler-specific, one can't pepper one's code with, say, Keil C51 pragmas and expect it to compile under, say, CodeWarrior, too (I'm talking cross-platform testing, etc.). And you can't put a pragma inside a macro ... Andrew