2011년 8월 10일 수요일

Call Stack (maybe...?)

            [Activation Record of Function Foo]


+---------------------------------------------------------+
|                    Input Parameters                     | <= CCS
+---------------------------------------------------------+
|                      Return Value                       |
+---------------------------------------------------------+
|                     Local Variables                     |
+---------------------------------------------------------+
|    EBP (Base Pointer of Previous Activation Record)     |
|  Return Address (Next Command of Current Function Call) |
|                           ...                           |
+---------------------------------------------------------+
| Output Parameters (Input Parameter of Next Call Stack)  | <= NCS


                            ...


* Input Parameters: 현재 콜스택에 실제 복사된 파라미터
* Return Value: 함수 리턴시 리턴된 값의 저장 공간
* Local Variables: 현재 함수의 지역변수
* EBP Register: 이전 콜스택 시작주소의 저장 공간
* Return Address: 현재 함수 호출 후 다음 수행될 명령어 위치의 저장 공간
* Output Parameter: 다음 함수 호출 시 Input Parameters가 됨


*CCS: Current Call Stack
*NCS: Next Call Stack

댓글 없음:

댓글 쓰기