APCS規則介紹
1. 寄存器命名
1.1 r0到r3命名為a1到a4
-
r0 ====> a1
…
- r3 ====> a4
1.2 r4到r11命名為v1到v8
-
r4 ====> v1
…
- r11 ====> v8
1.3 r11為fp、r12為ip、r13為sp、r14為lr、r15為pc
- r11 ====> fp
- r12 ====> ip
- r13 ====> sp
- r14 ====> lr
- r15 ====> pc
2. 函數傳參
- 參數小于4個用r0-r4進行傳參
- 參數大于4個,使用棧進行傳遞
- 規定r0用來接收傳回值
3. 棧的使用規則
ARM規定,棧的使用規則為滿減棧
入棧:stmfd sp!,{r0-r12,lr}
出棧:ldmfd sp!,{r0-r12,pc}^