About R12 Dose R12 really have special use in ARM?
Posted 26 November 2008 - 08:33 AM
To be more descriptive, r12 can be used by the linker in the implementation of any veneers or similar generated code. It may also be used as a general-purpose scratch register between function calls, much like r0-r3.
Note: If you use assembly code, you can ignore the AAPCS for any utility functions you may define, so you can use r12 for whatever you like in that case. You only need to ensure that the externally-visible interface to your code is compliant with AAPCS.
Posted 26 November 2008 - 09:33 AM
Note - private functions within a translation unit do not need to obey this rule, and most compilers will define an optimized calling convention for each TU local function.
This post has been edited by isogen74: 26 November 2008 - 09:35 AM