I read some ARM document, it saysA called routine need not preserve the values of r0-r3, IP (r12) and LR (r14)so when subroutine returns, does it mean that it will automatically restore the value of r0-r3, and r12, in the caller function? Thank you.