Push/Pop 40-Bit registers


I try to find a good way to save and restore 40-Bit register values (floating point in f0-f15) during an interrupt service routine.

My audio calculations are done in 40-Bit floating point, my SPI communicates with a microcontroller.

The SPI end interrupt is nested with the SPORT interrupt, so I have to save/restore some registers used in the SPI interrupt.

My internal memory is 48Bit code in block 1 and block2/3/4 is 32-Bit data.

Simple copy instructions or puts/gets on f0-f15 (or r0-r15??) are just saving upper 32-Bit of the 40-Bit values.

For status it's simple I think with push/pop sts.

I need 2-3 registers to be stored and recalled in 40-Bit.

Any ideas or proposals?

Thank you