First and foremost, understand you make no contribution to this forum by replying to every thread with 'read the manual'. If you do not wish to answer the question, simply dont answer it. To answer the question, KEIL C has the commands (probably for good reason) : _push_ _pop_ defined in <intrins.h> Remember push/pop can SAVE or RESTORE any special function register.
A local variable often makes a good alternative to push'ing and pop'ing from C. For example:
void MyFunc (void) { // accesses slow devices U8 oldCkcon = CKCON; CKCON = SlowCkcon; // slow accesses here CKCON = oldCkcon; // normal speed }
void MyFunc (void) { // some variables // some code that runs fast { // slow access region U8 oldCkcon = CKCON; CKCON = SlowCkcon; // slow accesses here CKCON = oldCkcon; } // end of slow access // more code here that runs fast }