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}^