이론/[System 이론]

함수 프롤로그란 ?

환석이 2023. 3. 12. 17:22
함수 프롤로그

함수 프롤로그

 함수 프롤로그는 함수가 실행되기 전에 실행되는 코드 블록입니다.

프롤로그는 주로 함수의 지역 변수를 초기화하고, 함수 호출에 필요한 레지스터 값을 보관하고, 스택 프레임을 설정하는 등의 초기화 작업을 수행합니다.

 

스택 프레임 : 한 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 주소

함수 프롤로그 진행 단계

 

함수의 프롤로그는 함수 실행 준비과정으로

자신이 이제 시작할거라고 알리는 과정이다.

 

① push ebp

 

② mov ebp, esp

 

① push ebp : 함수가 종료된 후 ebp를 이전 함수의 ebp로 재설정하기 위해

스택에 이전 함수의 ebp를 push 한다.

 

② mov ebp, esp : 호출된 함수의 시작을 알리기 위해 현재 esp 값을 ebp에 복사한다.

 

 

->

 

이 두 명령을 실행하게 되면 그 이후에는 이제 함수내의 코드들이 실행되고

함수에서 선언된 지역변수 등이 저장되게 된다. 

 

 


 

출처 : https://c0mb.tistory.com/39

 

함수 호출 (프롤로그, 에필로그)

저는 이 분야의 전문가가 되기 위해 공부하는 학생입니다. 틀린내용이나 부족한 내용이 있습니다. 조언해주시면 성실하게 반영하겠습니다. 프롤로그 에필로그 프롤로그: 함수의 시작 부분에서

c0mb.tistory.com

https://sy99.tistory.com/13

 

함수의 프롤로그와 에필로그

함수의 프롤로그와 에필로그를 알아보기 전에 몇 가지를 짚고 넘어가 보자! 먼저, 스택 프레임이란? 한 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 주소, 함수에서 선언

sy99.tistory.com

-ChatGPT