天天看點

三星soc平台Exynos4412平台裸機開發介紹(四)之APCS規則介紹APCS規則介紹

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