Цитата(Genadi Zawidowski @ Feb 14 2013, 15:14)

Надеюсь, Вы понимаете, что это зависит от используемого соглашения о вызовах?
Я считаю, что программист может об этом не думать при создании программы, разве что для расширения кругозора.
Вот единственное, что приходит на ум, когда нужно знать, что куда занеслось при вызове.
Код
__asm void HardFault_Handler(void) {
TST LR, #4
ITE EQ
MRSEQ R0, MSP ; Main Stack was used, put MSP in R0
MRSNE R0, PSP ; Process Stack was used, put PSP in R0
LDR R0,[R0, #24] ; Get stacked PC from stack
B .
}