서브루틴에 뛰어들 때에, 서브루틴 프로그램이 끝난 다음 주프로그램으로 … | [생산자동화산업기사 필기] 16년 1회차 기출문제 상세 페이지
1[생산자동화산업기사 필기] 16년 1회차
서브루틴에 뛰어들 때에, 서브루틴 프로그램이 끝난 다음 주프로그램으로 되돌아올 주프로그램의 어드레스가 저장되는 장소는?
1
스택
2
데이터 레지스터
3
프로그램 카운터
4
HEAP(힙) 메모리
해설
서브루틴 종료 후 되돌아올 주프로그램의 어드레스는 스택에 저장된다.
서브루틴을 호출할 때 복귀 주소를 스택에 넣고, 서브루틴이 끝나면 꺼내어 프로그램 카운터에 되돌려 놓는다. 스택은 후입선출 구조라 중첩 호출도 처리할 수 있다.
나머지 보기는 이 용도의 저장 장소가 아니다.
- 데이터 레지스터는 연산에 쓰는 데이터를 임시로 보관하는 레지스터이다.
- 프로그램 카운터는 다음에 실행할 명령의 주소를 가리키는 레지스터이며, 복귀 주소를 보관해 두는 곳이 아니라 복귀 시 그 값으로 갱신되는 곳이다.
- 힙 메모리는 프로그램 실행 중 동적으로 할당하는 데이터 영역이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.