The Cortex-M3 processor supports multiple exception priorities. Even if an exception handler is currently executing, a higher-priority exception can be invoked preempting the current handler (priorities are defined as integers with smaller integers having higher priorities). It this case, the state of the preempted handler will be pushed on the main stack prior to executing the new handler. The highest priority exception is Reset (-3), which can preempt all others. The priority of most exceptions can be set under program control