I\'m new to assembly programing and I\'m programing for ARM. I\'m making a program with two subroutines: one that appends a byte info on a byte vector in memory, and one tha
The ARM ABI specifies that registers r0-r3 and r12 are to be considered volatile on function calls. Meaning that the callee does not have to restore their value. LR also changes if you use bl, because LR will then contain the return address for the called function.
More information can be found on ARMs Information Center entry for the ABI or in the APCS (ARM Procedure Call Standard) document.