I found this in the document, “DSP56F800 Family User’s Manual, Rev. 8”.
3.10 56800 Reset and Interrupt Vectors
The reset and interrupt vector map specifies the address the processor jumps to when it recognizes an interrupt or encounters a reset condition. The instruction located at this address must be a JSR instruction for an interrupt vector, or a JMP instruction for a reset vector. The interrupt vector map for a given chip is specified by all possible interrupt sources on the 56800 core, as well as from the peripherals. No Interrupt Priority Level (IPL) is specified for hardware reset or for COP reset because these conditions reset the chip. Resetting takes precedence over all other interrupts.
Oddly, though, the CW8.3 stationary created the file “DSP56F807_vector_pROM.asm which uses “jmp” in all vectors including the first two, which are the reset vectors. The code seems to run OK.
The legacy code has "jsr" in all the vectors and it seems to work OK too.
What would specifically be the difference between these two instructions?
In document "DSP56F800 Family User’s Manual, Rev. 8, pg. A-3", is table for these instructions:
=======================================================
|Mnemonic|Syntax|Parallel|Prog|Clock |SZ|L|E|U|N|Z|V|C|
| | |Moves |Word|Cycles| | | | | | | | |
|========|======|========|====|======|==|=|=|=|=|=|=| |
| | | | | | | | | | | | | |
| JMP | xxxx | ... | 2 | |--|-|-|-|-|-|-|-|
| | (Rn) | | 1 | 6+jx | | | | | | | | |
| | | | | | | | | | | | | |
|========|======|========|====|======|==|=|=|=|=|=|=| |
| | | | | | | | | | | | | |
| JSR | xxxx | ... | 2 | |--|-|-|-|-|-|-|-|
| | AA | | 1 | | | | | | | | | |
| | (Rn) | | 1 | 8+jx | | | | | | | | |
| | | | | | | | | | | | | |
=======================================================
It looks like the only difference is that JSR saves upper & lower accumulator A, is that correct?
If so, then it would seem that it is not a problem to use JSR for interrupts as long as the increased latency of saving the accumulator is not an issue for the user's code.
Does this sound reasonable?