Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

9365
557
421924


[Arm프로세서] AAPCS: Armv8: AAPCS와 관련된 레지스터와 어셈블리 명령어 분석 Armv8: 함수 호출 규약

지금까지 AAPCS와 관련된 레지스터인 SP_ELn, X30 그리고 X0-X7 레지스터에 대해 알아봤습니다. 또한 서브 루틴을 호출할 때 실행되는 어셈블리 명령어를 소개했습니다. 

이번 절에서는 어셈블리 명령어를 분석하면서 AAPCS와 관련된 레지스터가 어떻게 사용되는지 알아보겠습니다. 배운 내용을 복습하는 차원으로 AAPCS와 연관된 레지스터의 목록을 다음 표로 정리해 봅시다.  


표 7.5 Armv8 아키텍처에서 정의된 AAPCS와 연관된 레지스터

먼저 SP 레지스터에 대해 소개하고, SP 레지스터가 어떻게 바뀌는지 어셈블리 명령어 분석으로 알아보겠습니다.

Armv8 아키텍처: AAPCS(함수호출 규약)

   ❑ 스택과 관련된 명령어 
      * stp 명령어  
      * sub 명령어  
      * ldp 명령어  
   ❑ 브랜치와 복귀 명령어
      * bl 명령어  
      * RET 명령어
AAPCS와 C 코드 최적화


Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자



핑백

덧글

댓글 입력 영역