: subprogrma 의 호출 및 반환 작업을 통틀어 말한다.
구현하려는 언어의 Linkage 를 기반으로 프로그램을 작성해야된다.
Subprogram 호출
Subprogram 반환
실행할때 필요한 정보를 위한 공간 (= active record)


지역변수가 Stack-dynamic , 호출과 반환 부분에서
장점 : 재귀 호출을 지원한다. 메모리를 효율적으로 사용
→ Stack-dynamic local variable 을 사용하면 재귀를 지원
반환 주소 : 호출한 프로그램 다음에 실행되는 명령어를 가르킨다.
dynamic link : 호출자의 stack base를 가르킨다.

void sub(float total, int part) { // parameter 2개
int list[5];
float sum;
// 둘다 local
...
}

void fun1(float r) {
int s, t;
... <---------- 1
fun2(s);
...
}
void fun2(int x) { int y;
... <---------- 2
fun3(y);
...
}
void fun3(int q) {
... <---------- 3
}
void main() {
float p;
...
fun1(p);
,,,
}
// 실행순서 : main -> fun1(p) -> fun2(s) -> fun3(y) -> fun(4)
