### Why and how to write interruptible code

The code generated by `cpik` is intrinsically interruptible. The run-time library, which is written in assembly code is also interruptible.

In order to implement a multi-priority interrupt system, low priority interrupt code must also be interruptible.

If you plan to use asm code and interruptions together, you must enforce a simple rule : the software stack pointer (`FSR0`) must always point to top of stack (ie: to the last byte pushed onto the stack). Violating this rule will lead to stack corruption and data loss when an interruption occurs. Please read the following section, which is related to this point.