EDA365电子论坛网

标题: ARM 32位寄存器以及使用说明 [打印本页]

作者: uperrua    时间: 2021-4-28 18:23
标题: ARM 32位寄存器以及使用说明
ARM 32位寄存器) R, s) h' O! D  v" l. I9 o. S
ARM汇编器对ARM的寄存器进行了预定义,所有的寄存器和协处理器名都是大小写敏感的.预定义的寄存器如下:

' o8 W2 D0 g2 m$ @) F; |  G& }  w9 f5 N
+ F  a# s5 q" L- ]' n; h1 H: z6 G% ^
使用说明:
3 ?# b( {' I/ o1 w. n
1、当参数少于4个时,子程序间通过寄存器R0~R3来传递参数;当参数个数多于4个时,将多余的参数通过数据栈进行传递,入栈顺序与参数顺序正好相反,子程序返回前无需恢复R0~R3的值; * K" U" w- L9 ^( Z/ J0 F
2、在子程序中,使用R4~R11保存局部变量,若使用需要入栈保存,子程序返回前需要恢复这些寄存器;R12是临时寄存器,使用不需要保存。 ' \# R4 G! x: Z( C
3、R13用作数据帧指针,记作SP;R14用作链接寄存器,记作LR,用于保存子程序返回时的地址;R15是程序计数器,记作PC。 : ?% B& B. m/ C
4、ATPCS规定堆栈是满递减堆栈FD; 9 |# Z2 ?: Y, @
5、子程序返回32位的整数,使用R0返回;返回64位整数时,使用R0返回低位,R1返回高位。
2 Q; X/ A$ B1 l6 w
" N2 l+ g/ X! l' z# o# Q

作者: youOK    时间: 2021-4-28 18:31
ARM 32位寄存器以及使用说明




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2