15.1.2.3 auto_psv, no_auto_psv

The auto_psv attribute, when combined with the interrupt, boot or secure attribute, will cause the compiler to generate additional code in the function prologue to set the psv page SFR to the correct value for accessing space(auto_psv) (or constants in the constants-in-code memory model) variables.

Use this option when using 24-bit pointers and an interrupt may occur while the psv page has been modified and the interrupt routine, or a function it calls, uses an auto_psv variable. Compare this with no_auto_psv.

The no_auto_psv attribute, when combined with the interrupt, boot or secure attribute, will cause the compiler to not generate additional code for accessing space(auto_psv) (or constants in the constants-in-code memory model) variables. Use this option if none of the conditions under auto_psv hold true.

If neither auto_psv nor no_auto_psv option is specified for an interrupt routine, the compiler will issue a warning and assume auto_psv.