- Function
Set the break vector to a user function.
- Header
- Declaration
void __fastcall__ set_brk (brk_handler func);
- Description
set_brk
allows a user program to handle breaks within the program code by letting the vector point to a user written C function. The runtime library installs a small stub that saves the registers into global variables that may be accessed (and changed) by the break handler.- Limits
- The function is only available as fastcall function, so it may only be used in presence of a prototype.
- The stub saves the zero page registers used by the C runtime and switches to a small break handler stack. This means that it is safe to execute C code, even if C code was interrupted. Be careful however not to use too many local variables, and do not enable stack checks for the handler function or any other function called from it.
- The
brk_pc
variable points to theBRK
instruction. If you want the continue with the interrupted code, you have to adjustbrk_pc
, otherwise theBRK
instruction will get executed over and over again.- Since
set_brk
installs an exit handler, it is not strictly necessary to callreset_brk
as part of the cleanup when the program terminates.- Availability
cc65
- See also
- Example
None.