[ARM] 함수 호출 규약
함수 호출 규약 (Calling Convention) 이란? 함수 호출 규약은 함수 호출 시 인자를 전달하는 방식, 반환 값을 처리하는 방법, 호출자의 스택 정리 방식 등을 정의하는 규칙이다.이는 운영체제와 컴파일러 언어에 따라 다양하게 호출 규약이 존재한다. ARM 어셈블리 명령에서 레지스터로 연산의 결과를 임시로 저장하는 역할을 한다.이때 각 레지스터의 역할, 순서에 대해 이해하는 것이 중요하다. 함수 호출 규약은 CPU 아키텍처(x86 , x86-64) 및 운영체제 (Windows , Linux)에 따라 다르게 적용된다. 32bit(x86)와 64비트(x86-64) 기준으로 차이점을 정리하면 다음과 같다. 32비트 (x86)64비트 (x86-64)레지스터EAX, EBX, ECX, EDX, ESI, ..