함수 호출 규약
·
STUDY/CS
호출 및 반환에 대한 약속 함수를 호출할 경우 반환된 이후를 위해서 호출자(Caller)의 상태(Stack Frame)와 반환주소(Return Address)를 저장해야한다.(원래 흐름으로 돌아와야하니까!)또한 호출자는 피호출자(Callee)가 요구하는 인자를 전달하고, 피호출자의 실행이 종료될 때 반환 값`을 전달받아야한다. 보통은 코드에 호출 규약을 명시하지 않는다면, 컴파일러가 지원하는 호출 규약 중 CPU 아키텍처에 적합한 것을 자동으로 선택한다.컴파일러의 도움 없이 직접 어셈블리 코드를 작성하거나, 어셈블리어 코드를 읽으려면 함수 호출 규약을 알 필요가 있다.(아키텍처/컴파일러 따라 함수 호출 규약 달라지기 때문) *x86 아키텍처는 레지스터로 피호출자 인자를 전달하기에는 레지스터 수가 적..