개요 Dreamhack 함수 호출 규약에 대해서 공부한 것을 정리한 포스트이다. 함수 호출 규약이란? 함수 호출 규약은 함수의 호출 및 반환에 대한 약속 한 함수에서 다른 함수를 호출할 때, 프로그램의 실행 흐름은 다른 함수로 이동하고, 호출한 함수가 반환하면, 다시 원래의 함수로 돌아와서 기존의 실행 흐름을 이어나간다. 그러므로 함수를 호출할 때는 반환된 이후를 위해 호출자(Caller)의 상태(Stack frame) 및 반환 주소(Return Address)를 저장해야 한다. 또한, 호출자는 피호출자(Callee)가 요구하는 인자를 전달해줘야 하며, 피호출자의 실행이 종료될 때는 반환 값을 전달받아야 한다. x86(32bit) Architecture 특징 레지스터를 통해 피호출자의 인자를 전달하기에는..