diff --git a/arch/armv7/nvic.h b/arch/armv7/nvic.h index bb7bb159b79383622c812f0405119326b443b3a6..201adf5c3acee193b6fdf2f453095137361dc8b3 100644 --- a/arch/armv7/nvic.h +++ b/arch/armv7/nvic.h @@ -110,6 +110,11 @@ namespace arch { * @brief Saves the register before entering a isr */ static void forceinline save_register() { + /* + * generates as function pro- and epilogue: + * stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + * ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + */ asm volatile("nop":: :"r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "lr"); }