스택 프레임이란? 쉽게 말해 ESP(스택 포인터)가 아닌 EBP(베이스 포인터)레지스터를 사용해 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법을 말한다. ESP는 수시로 변하기 때문에 스택에 저장되어진 변수, 파라미터에 접근하고자 할때 ESP 값을 기준으로 하면 프로그램을 만들기 힘들고 CPU가 정확한 위치를 참고할 때 어려움이 있기 때문에 어떤 기준 시점(함수 시작)의 ESP의 값을 EBP에 저장하고 이를 함수 내에서 유지해준다면, ESP 값이 아무리 변하더라도 EBP를 기준(base)으로 안전하게 해당 함수의 변수, 파라미터, 복귀 주소에 접근할 수 있다. 이게 바로 EBP 레지스터 베이스 포인터 역할이다. // 스택 프레임의 구조 PUSH EBP ; 함수 시작(EBP를 사용하기 전에 ..