I have implemented a C callable .asm module to be called from my main C program. Reading the "Scratch Registers" section in the Blackfin compiler manual, it looks like the L registers are not considered scratch, as opposed to the other circ-buf registers. Is this intentional? Why? If so, does this mean that I always have to clear the L registers before returning from my function to the C caller?
When writing a CALLER in asm to call a C compiled function, can I safely assume that the L regs are cleared by the compiler (if not actually preserved) when control returns to my asm function?