We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Can you tell me : If an interrupt routine using (say) registerbank 2 calls a subroutine, does the subroutine have to be specified as using registerbank 2 as well? If so, what is the best way of specifying a routine that may be called from both the foreground and an interrupt?
In C51 there is a way to tell the compiler to generate register bank independent code for a given function. Then you could call such a function from either an ISR or mainline code using the normal cautions of course. Without this, you must call functions in the same register bank. - Mark
Yes, if the registerbank is different your data will almost definately get corrupted at some point. The method i have used is to declare #pragma registerbank ( ? ) at the start of a file that then only contaians the functions for that registerbank ( including the interrupt ).
NOAREGS